skysight-inc/HackerNews huggingface dataset:
Yes you have to couple it with an app. You can use the https://itunes.apple.com/us/app/locate-for-ibeacon/id7387090... app. Just make sure you have the same UUID you gave to the mac app in your list of registered UUIDs on the iPhone.
Before chosing a paid degree, you need to evaluate your skills as a programmer.Go to coursera.org choose a few CS classes and see if you are able to follow them. You'll know soon enough what your skills really.

What should you study? other's people code. Take a library you use everyday and see what's under the hood, trust me, that's the best way to learn practical programming.

If you're looking for theory then there is a lot of resources available online.
The correct answer is that developers do not have, and are resistant to, unionization. As individuals they'll always have very little bargaining power, and most developers are pretty easily replaceable (especially before they're hired).
Self taught programmer here.

This thread will eventually have 500 replies all telling you to learn linked lists and various sorting algorithms. Maybe you can do that, but only after you've learned about operating system fundamentals such as processes, threads and, in my opinion, pipes and the socket APIs.

You'll likely never have to implement a linked list in C in the real world, but I promise you there will be many times that your web server is erroring on connect(2).

Any company that puts a bigger emphasis on linked lists and sorting algorithms in the hiring process than on OS and networking fundamentals is a good sign to start running away.
I think a grasp of the different data structures is necessary, along with Algorithmic Complexity; it'll help you determine and avoid slow/ressource-demanding algorithms.
A combination of online courses ( Coursera, Standford CS courses ...) and a community that's eager to help ( Stackoverflow or even HN) is enough to get you going.
Distributed systems is often something self-taught programmers lack. Reading something like the course notes for http://pdos.csail.mit.edu/6.824-2013/ is useful.
I believe its more of the same. For developers that have to support all the simulation flows the largest benefit is to use something that compiles everywhere.
Well the notification is for the app. So I think it is not intuitive for the app to notify the customer to install itself. Did you understand what I am trying to explain?
> and the extreme disruption to all Americans' lives when they do occur,

I'm intrigued by this comment. Isn't it a case of swearing-in the VP and carrying on?

Does it trigger a new election?

Isn't the regular disruption to daily life when POTUS is in town ( even me as a UKian, when the office holder* comes here ) far, far greater than that?

* the power is in the office, not the person
is drill same thing?
Or the founder prefers to bootstrap it?
Why, startup quote api and Docker
Yes, that's certainly the case. I often encounter problems that can be solved elegantly using algorithms and datastructures that I learnt in university. E.g. if I were self-taught, I'd probably not recognize when to use, say viterbi decoding or Levenshtein automata. And these are things that I encounter in my day to day work.

I don't think university training is the most effective method to 'enrich' yourself. If you have discipline, reading good books on CS theory is far more effective. First, because courses are relatively slow since they tend to be paced for lowest common denominator. Second, because there is some chaff every program, especially when you assume that most people specialize to their interests fairly quickly.

The advantages of following a university program are on a different level: many employers won't hire someone without a relevant degree, since it is (for good CS programs) an indicator of knowledge and skill. Secondly, university is a good place to get to meet people, both friends and significant others.
Have you checked out the two-process method described in [0]? I used it to implement a dual-core MIPS subset with some relative ease. It was definitely better than dataflow style! Using records and enums also greatly improves ModelSim waveforms.

A project done in dataflow: https://github.com/jevinskie/aes-over-pcie/tree/master/sourc...

The MIPS project in two-process: https://github.com/jevinskie/mips--/tree/master/project4/sou...

[0]: http://www.gaisler.com/doc/vhdl2proc.pdf
Avalanche Makes For Deadliest Day in Mt. Everest's History
Verilog is more commonly used especially in the ASIC industry. VHDL is disappearing in Europe as well were it used to have some foothold. That said most chip developers are very conservative only using a subset of already limited languages like Verilog so switching between them should come easy.
Open Source Programmable Solar Battery Management System dev board
My wife owns a Pharmacy* and works 50-60 hours a week, so I guess that "founder-like" work involves a similar time investment.

* The medical sort, and here in Holland the Pharmacists require the same education as a medical doctor but specializing in pharmaceuticals not diagnosis.
For history, UVM (the Universal Verification Methodology -- gee that's original) is basically the same as OVM, which was a SystemVerilog port of eRM (aka Specman). VMM is the SystemVerilog equivalent of RVM (from Vera).

I loved working with RVM and VMM, as to me channel-based transaction (and transactor and scoreboard) programming is very natural and simple to understand. And it's the route that newer languages like Go have taken.

UVM (and all the predecessors) have gone the route of TLM (transaction-level modeling), which has no explicit channels. So many of the objects talk directly to other objects, which adds unnecessary coupling.

However, the big thing that I dislike with UVM is that it is basically Enterprise Java for SystemVerilog. They have made the API's into this cookie-cutter complex enterprise abstraction, where you have to follow the macros and recipes per the book. Everyone must use the built-in macros, and use packages and factories and sequences and agents and virtual components. And your employees start talking in UVM-speak ("oh that's in his UVC").

</rant>
So you should run away from Google?

Sorry, I couldn't help myself. I actually think you have a valid point.
Given that best hackers I've met are self-taught programmers,

And the best hackers that I have met, were among top N% of their program, finishing their degrees with honors.

To repeat a cliche: the plural of anecdote is not data.
Well for me the university knowledge which I'm (still) gaining is sometimes a good starting point to learn more on my own.
The specialised sub field of CS I'm currently into is not that wide spread and it helps to have some of the experts around to ask for advice.

As other comments said most of the techniques and technical solutions you can find around the internet or in books and the best way to learn things is to actually look at other peoples code, work with them and discuss problems.

Well structured lectures can be a shortcut into a certain topic but personally the most important skills I aquired from university were the abilities focus on my tasks and to structure and plan my work realistically.
arc4random_buf() operates in userspace (in this case; it also exists in the kernel). It is seeded from the kernel, using a sysctl.
It has been said repeatedly that those white board algo questions are pretty pointless.
Some sushi/tepanyaki chefs on HN maybe?
The interesting question I have for you is what is the most complicated code you've written? There are a lot of cases where I imagine more advanced knowledge isn't necessary. But let's be honest, that advanced knowledge didn't come about because the people who created it wanted to just twiddle their thumbs. A lot of scenarios don't call for this knowledge. Various scenarios do. Perhaps we should qualify the advice with "it's important to do this if you want to do A, but unimportant if you want to do B, and maybe useful if you want to do C."

This is an excellent read too for another reason why this stuff is interesting/useful. http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...
Ah yes, so it's my fault that groups of individuals decided to not take care of their neighborhood, right. Sorry, no, but people need to take responsibility for their own actions. And I will in no way share blame for a second generation further ruining their kids' futures because they're too short-sighted and expect the rest of us to do it for them.

We as a society can only share blame for one generation. The next one is on the parents.
std::unique_ptr is a class that wraps around a pointer for the express purpose of providing RAII semantics. How is it not a wrapper class? All you're proposing is writing a class that does what unique_ptr does only now without templates each type has to be written out by hand.

Do you not ever make use of any of the STL templates like std::vector because their implementations are hard to read? Probably not, because they are easy to use and you never have to worry about how they are implemented. Well, here is how you use my function, please tell me how I could make this function call any easier because I honestly would like to know.

auto window = sdl2::create_window("New Window", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, 0);

I wrote a short function that I can reuse with any C based Init/Destroy created resource. Now that it works I never have to think about any of the template magic that went into writing it because using it is dead simple... there aren't even any angle brackets in the call. Not a single proposed "better" solution in this thread has shown the capability of creating resources in the general manner, each one shows the creation of a concrete class which means it has to be duplicated for each type. Which defeats the point of the article.

If you worked with templates back in the day then you probably aren't too familiar with the parameter pack syntax or auto return type deduction, these are new things and yes they are bleeding edge. How is anyone suppose to understand and learn good practices for using these features if they don't make use of them and write about it for others to provide feedback on?

I wrote this article to learn about specific techniques and get feedback on them. It's C++, there's a million ways to skin a cat here... and this article was specifically to address C++14 features. That's why it wasn't titled "C++03 and SDL". I thank you for taking the time to comment but telling someone they shouldn't make use of new compiler features because you aren't familiar with them and then not providing any sort of example yourself to the proposed problem doesn't come across as constructive at all.
Naming woes 
Hey guys, I recently developed a set of tools for various applications, it mainly includes number type converter(base conversion), quadratic equation solver, among others. So, here's my question, WHAT DO I NAME THE WEBSITE AND THE SET OF TOOLS cause most nice domains have already been taken and I did thought of the domain, zathena.com, u know, like the power of Zeus in the the hands of Athena but it sounds somewhat silly, so, any suggestions!!!
It is fascinating how those who begin as "doers" and innovator can end up having their entire activity controlled by something as inactive and uninnovative as the legal system?

I wonder if it is the situation of having achieved a palpably fundamental innovation leaves someone open to thinking that the world owes them success.
You should definitely study parsers and compilers. The biggest gains for me have come from studying parser, compilers, VMs, and functional languages. The data structures and algorithms you sort of pick up along the way as you study the previously mentioned topics. For a really nice way to get started with all that stuff I highly recommend PL101 course at http://nathansuniversity.com/. It is a set of guided exercises for designing and implementing various programming languages all in your browser. That's actually how I started learning all this stuff.

If after going through the lessons from PL101 you decide that stuff is interesting to you then another book that I highly recommend is "Compiler Design: Virtual Machines": http://www.amazon.com/Compiler-Design-Machines-Reinhard-Wilh.... That one goes through various virtual machine implementations and by the end of it you'll understand precisely how pointers, stacks, arrays, etc. all work in various programming languages. Another good book is "Essentials of Programming Languages": http://www.amazon.com/Essentials-Programming-Languages-Danie... but I haven't put enough time into that one to say whether it will benefit you or not.

If the previously mentioned online resources and books are not your cup of tea then another good way to exercise your programming muscles while learning about data structures and various program organization principles is to implement a simple project like a ray tracer or a recursive descent parser in different languages. Start with a language you are fluent in and then diversify from there. This is actually how I learn programming languages and having a clear goal in sight is an excellent motivator for exploring all the new concepts in whatever language I'm learning.

Paying to learn at this point is a waste of money in my opinion. If you are comfortable learning stuff on your own then there is no shortage of resources available on the internet. All it takes is some discipline to follow through.
Thanks for those links, I didn't even knew I could find so interesting channels on YouTube! :-)
James Watt also spent much of his time and energy fighting patent battles in a hope to prevent others from entering the market. Who knows what further innovations he could have pursued if he hadn't been derailed by that greed. It looks like this is a recurring problem.
Quora and Wikipedia: Might one ever bail out the other?
> “That is, of course, the irony of the patent system. Without patent protection, a competitor can simply replicate an invention and undercut the inventor’s price — which necessarily includes all the time and expense of research and development — so the incentive to experiment and create is severely inhibited. But if innovators such as Glenn Curtiss cannot build on the progress of others without paying exorbitantly for the privilege, the incentive to continue to experiment and create is similarly inhibited.”

That's not really irony. The patent system exists (or did exist) not to benefit the inventor, but to provide a mechanism by which he may share it with other people who want to build on it. The alternative was keeping trade secrets.
This was clearly a not-too veiled slam at Apple. Joe Nocera really needs to get over it. Yes, Steve Jobs lied to him about his health. Yes, he was made to look like and idiot for repeating those lies. Yes, that was a shitty thing for Steve to do (Steve Jobs acting like an asshole to someone - woah, shocker).

But seriously, at this point you can't read anything that Joe Nocera writes without wondering what axe he is going to grind against Apple this time. He even wrote a glowing review of the universally panned "Haunted Empire", he's become so blinded by his dislike of Apple. He really needs to find a new schtick or at least present some more sophisticated nuance.

Also note, Apple isn't suing Samsung over all Tablets/SmartPhones, or all general methods of building tablets/smartPhones, but very specific elements that Samsung just ripped off, rather than inventing their own approach.

Microsoft has certainly been able to develop their own Tablets and Phone OS elements without having to blindly copy the iPhone/iPad - so it's certainly possible.
Exactly. This is exactly the problem here, Android System is going to scan your media collection in your back, and by doing so, will crash your media player and may even reboot your phone.
Do a google search on each of those topics, asking what book is most important in each, especially to a newcomer. Usually you'll find the answers on StackOverflow.

Read those. After that? Stop worrying about it. You're not inferior to a CS Major, nor are you less capable. Whatever it is you want to work on, start working on it and don't stop. Reading about algorithms and data structures and design patterns is all great, and can help you a lot- but remember, it's pointless to try and prove you're the equal to someone who has a piece of paper. Instead, make things. Make the best things. Work for a company that inspires you. Work on problems that interest you.

You'll learn what you need to along the way. You're feeling imposter syndrome, and let me tell you- you're not doing yourself any favors pushing yourself to feel that way. Learning is great, but do it for a specific purpose, not to attain some status.
Thomas Pynchon's The Crying of Lot 49: -- where ONE (deceased?) Pierce Inveraity(PI) owns most of San Narcisco, where everyone else, the passed-over Preterite, toss their composed loved letters in the waste can to communicate, and their lives become a miracle by Picard's Theorem in the Cauchy integral formula, eg, Exectrix Oedipa and the Paranoids being chased by a pathological Tony `The Jaguar' and his mafia soldier goons, till sufficiently close to the boundary shores of an artificial island in the middle of PI's artificial closed contoured lake, and withess' another miracle. Again.
Thank you for taking the time to write this out, you hit the head exactly on what I was trying to accomplish with this article. I saw an opportunity to make a reusable tool for myself while at the same time being able to work on some of the best practices I've seen for developing library code. The real payoff is in the usage code.

Your simplification of the original code is great! I like how pulling out the creation of the the resource to its own line makes the typedef and unique_ptr initialization much easier to read (as far as templates go that is, a real sticking point here today).

I have updated my article and attributed the clarification to you, thanks again for your feedback and comments!
Now if you could add a filter like this to the 'newest' page that would be really useful!

Then you would be able to see new posts, but filter them by say 5 points so that you know they were found interesting by 5 others.

It might make new posts more discoverable.
Yeah, definitely. There's definitely a market for it. I just need to work out exactly the value this tool can offer, and then strive to explicitly explain that on my sales pages. It's easy to get carried away just listing features.
Its my understanding that VHDL is limited to mostly military contractors. The rest of the world uses SystemVerilog. I think UVM is a far better methodology to learn.
Stories with, say, somewhere between 10 and 99 votes are clearly of interest to people - they are "filtered", whereas the newest page contains a lot of junk that no one has bothered to sort through. I do look at the newest page from time to time in order to "do my part", but it's different from having a look to see if there's anything new and interesting.
License finder for Node.js
High level synthesis for C is not quite there yet to be used as a replacement for Verilog or VHDL, especially for high performance hardware. Verilog and VHDL are still commonly used for hardware design.
>There are 365 days in a year (366 on leap years)

Wrong already. I do not understand this obsession to make a year exactly the length of a given number of days. They are both completely unrelated, exept in that they are units of time.

A year should be exactly one time the period of the earth moving around the sun. We just need to agree on a starting point. The day on which that starting point falls would be the last day of that year or the first day of the next (or both). And while I understand the need to group days (not sparate the year) into weeks the concept of month seems completely unnecessary. Just agree on a number of weeks on which pay is given out, rent payed,...
Uber actually picks you up. Yellow Taxi in CA regularly fails to come (once left me stranded in East Palo Alto) or the taxi dispatcher will yell at you for calling the Burlingame number instead of the San Mateo number.

There is Taxi Magic, but that app is just not as good.
The art of letting go
Finally - off-grid hacking!
If you are serious about programming and have the resources to go to a university for a CS degree program by all means do so, there is a hardly a better way to get at the same time:

A) broad overview of the existing knowledge related to computers

B) evaluation of your own skills and knowledge as compared to others and as compared to what knowledge is out there in the first place

C) high-intellectual-quality contact with other people interested in the same things

I have a CS degree via evening classes, and have been additionally self-studying Mathematics and topics in Computer Science, based on that experience I would estimate that learning a given subject to a basic decent level is at least 2-3 times slower than at the university, and will only work at all if you have any existing basis to work from and assuming you will have the motivation to learn, which also is much harder to get if you are working on your own. I probably wouldn't be able to meaningfully self-study math if I didn't take a really good discrete mathematics class at the university (in parallel with "self studying" the discrete math class at http://aduni.org/, which I think is a really great way to get started with theory).

Working this way through 20-30 subjects, as what you would get in the course of a degree, is for mostly psychological reasons close to impossible, so I think the broad basis is best gained at the university. I personally do regularly reach in my work for things I have learnt in at least 15 university courses, one week it will come handy to know what a hash join is, next week it will be helpful to understand virtual memory and another week I will use some statistics or even things I learnt in supplementary business classes. With my growing interest in mathematics in the last years, I personally really wish I had the time and resources myself to now get at least the first year of a mathematics degree, I know it would take my independent study to a new level and that it will be hard to get to this level of competence otherwise, especially I don't really have anyone to discuss things with.

In general I think people without degree tend to suffer much more often from something akin to:

http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

It's well elaborated here:

http://notch.tumblr.com/post/15782716917/coding-skill-and-th...

Those people will often claim that they are doing great without having a degree, but more often then not the gaps show up quickly if their skills are scrutinized. As we are talking of thousands of people here, there are of course exceptions, but in general it is harder to get a honest self-picture if you are not learning among other people.

Then of course you still have to do a lot of self-study during your studies and ever afterwards...
If you were profitable when paying that company car and those salaries, and your cash flow was secure in that you either had a lot of clients or long terms contracts, then yeah I agree your employees did take on zero risk.

If you were profitable from day one, I assume you run a services business?
> Having a 60% productivity (admittedly soft and cultural) limit for the week

The culture will quickly adjust productivity levels back up. This isn't something you need to bother worrying about.

The Chinese government mandates an excessive holiday total; during those holidays, businesses and schools close. But the cultural solution is that schools open and businesses work for however many nearby weekend days the official holiday legally consists of (this irritates expats no end; I'm not quite sure why). So if M-W are a holiday one week, expect to work for the preceding weekend and the saturday after.
business decisions. a broadly supported and internally consistent scripting language. a compiled language that's dominant in the broader fields that you happen to share an interest in.