skysight-inc/HackerNews huggingface dataset:
I would agree that four years is an optimistic timetable to learn everything here to the degree that you would want to.

I also disagree on the relative ranking and importance of the items, but I don't feel experienced enough to really argue with them on the basis of my knowing better. Maybe in a few years.

I think a few of the points could be expanded. For example 'Robotics' gives the wrong impression and I'd say that you can get a lot of conceptual bang for your buck just from understanding the operation of basic electronics components like capacitors. It's not necessarily 'computer science' in the strict definition but being able to get an idea of how electronics and hardware items work is frankly more powerful than some of the items on this list like being able to make pretty visualizations.

Moreover, in that long list of cool languages, not a single one was a scripting language like Ruby, Perl or Python. Having one of these in your toolkit is pretty much essential and it feels like a glaring omission.
Changelog: https://github.com/iojs/io.js/blob/7c89c4c7acdaa2035ec42195a...
My point is just that there are huge number of biological corner cases that are skipped. It was just another example.

> and I think that a you-don't-need-to-know approach to teaching science is part of the problem

I agree actually, yet it's really hard to do for biology since it's not so much a science with axioms as archeology where you just look and see what there is.

So there's no way to actually say one way or another "this is all the types". Maybe no animal like that has been found. Or maybe it could be done with another type, but no such animals exist - so do you say there is another type or not?
Lenovo Lavie Z the worlds lightest ultrabook
Prefacing this I am only 20 years old so I have some time to figure it all out but I feel like I am missing out a fair bit on not pursuing a degree in computer science. A lot of the content, especially the focus on algorithms, seems really interesting to me.

Straight out of high school I did not have the math grades for CS so I went to the American equivalent of community college and am on track to get a diploma from an IT related course thats basically going to amount to a web dev job in the future. If I decided to go that route for lets say 5 years to save some money would it be a hindrance career wise, because of a large time gap in the resume, to take the 4 years off to get a CS degree from a decent school, say Waterloo?

The biggest point of fear is that I would not be able to complete the degree and realizing it was to above my cognitive abilities.
There's a difference between demographic info being available for a school and it being on the front page of the school's site. Before clicking through your Chicago link, I tried to find a CPS school site that made demos easy to find, and came up empty. You've hotlinked to the fact sheet for a specific school to make your point, which isn't entirely fair.

I live in Oak Park, and my kids go to OPRF, which is 53/37 white/(latino|african-american). Minorities are (thankfully) overrepresented in the school. Oak Park (a/k/a/ "The People's Republic Of Oak Park") isn't conservative, and the (tiny) village is a haven for well-off white families who want to live close to the city without sending their kids to CPS schools. Lower-income families rent apartments along Austin Ave, or Section 8 houses on blocks like mine, and manage to get their kids into Oak Park schools without too much trouble.
I dislike how these articles make it seem like you need to be a super-human coming out of college. You don't. As long as you are perceptive, intelligent and can learn on the fly you'll be fine going into most entry level jobs in the industry.

As far as the list itself, it is highly debatable. Depending on your job you won't ever need to know most of this.
Extreme secrecy eroding support for Obama's trade pact
On the Evolution of Machine Learning
Every time I wake up it seems like there is a new version of iojs.
Never made it to the third movement of the Moonlight Sonata this quickly ... albeit a bit unevenly.
This was a lot more practical and hands on and engineering than most CS degrees, which are more about math. Sys admin is really IT, it isn't CS at all.
Time spent in university isn't usually seen as a gap. Most employers would admire that your chose to go back to school so you could really understand the fundamentals.
Suggested revisions:

- More on databases (including non-relational). We all need to know a lot of this for day-to-day work yet it but it barely made the list.

- More on writing clean, readable code (this isn't on anyone's list, damn it!) How to name variables appropriately, how to comment, how to not write 150-character lines, etc. Fail them if they can't produce code that other students can quickly read.

- Corporate survival skills (read your email before sending, come to meetings prepared with what you need to say, don't criticize people directly especially in front of others, etc)

- More on concurrency

- No machine learning or robotics - these are specialties without much use for the rest of us (though they are fun)

- Reduce the number of useless but interesting languages
They consider 5" screens as a phablet, which seems pretty weird: when I think of a phablet, it's something over 6", like the note series or the larger lumias, or the iPhone 6+... By their definition, pretty much all android flagships the last few years (including the galaxy s series) and the iPhone 6 are phablets, which is meaningless.
Exactly. The problem is that papers aren't worth what the rest of the world think they are. Nobody who is working on the cutting edge of a given field give a damn about the papers that are published in the field's major journals. Papers are little more than permanent records of what people talked about at some conference several months before, and through other informal channels even earlier. By the time they're published, they're already old news. They may be worth some archival value, but that's about it.

Unfortunately, the rest of the world thinks of papers as the primary method by which scientists exchange ideas. This is a myth. Sure, there some scientists (mostly in developing countries, or those coming from a different field) who rely on papers to figure out what their colleagues are up to, but if so, that's only a reason to improve real-time communication, not a reason to turn papers into real-time communication tools.
I'd like to see some supporting info on this. It's not that I don't believe you— what you say sounds plausible enough, it's just that I'd rather understand why this is so.
Vin Diesel, Le Dernier chasseur de sorcières du film de Breck Eisner
I don't see any free or open source sprites. There is nothing on the website indicating that they are free or open source. Are you asking someone to credit the creator of sprites they paid money to use? That's absurd to me. It's like wanting this guy to credit Verizon or Time Warner for the bandwidth he paid for. If Oryx sprites were open source, or free for noncommercial use, I think it would be a legitimate claim. Otherwise, not so much, because it boils down to advertising. Crediting someone else is advertising someone else, and I believe giving someone actual money automatically means they don't need to also advertise for them.
They are rel="nofollow" links. I think that makes it "okay" in the eyes of Google, but not certain.

I've yet to see a primary source where Google clearly state that they don't mind what you do with nofollow links. It's clear that Google was originally ignoring them, but some of their policies around comment spam and such do suggest that they could pass along negative value to the sites being linked. It's just not clear what circumstances trigger that.
Comes with a fully functional prolog. Sweet!
What is a good book for C++11 and beyond? I took a lot of C++ before '11 was implemented, but have been focused on other languages recently, so I feel like I'm a bit behind the modern development. The references he points to are all 10+ years old, so I strongly doubt I'll find any C++11/14 in them.
How much would the melody of any given song played on piano need to be modified before it would no longer be legally considered a cover?
> The phone runs some kind of VM which in turn runs your code.

You mean, like a browser? A hosted app would still need to be rendered by a web browser.
What the webpage doesn't do is explain why I want this over the competitors. That would be helpful.
Very happy for Angel and wish him the best for the future.. Keep on hacking!

tl;dr I am a harsh judge at Hackathons, and I think that's what we need.

But on the topic of Hackathons and YC Hacks in particular... I expected YC Hacks to be more focused on realistic, actual businesses. I was there and the finalists were mostly disappointing. Vrniture, a cool demo app, is a total non-starter as a business (and I don't think it was ever intended to be one.) The number of people who would have 3d maps of their living space is ~0. The chances of having accurate and well-textured 3d models of sufficient furniture pieces is ~0%. Apparently just getting on "YCs radar" was the intent, and that just doesn't sit well with me unless you're at http://www.stupidhackathon.com/
I agree. It seems possible that the larger screen size was driven by companies looking for numbers they could make bigger than their competition.

Its also conceivable that whatever Apple had come up with would be bought not because the consumers wanted it (i.e. big screens) but simply because they wanted to have the latest Apple "thing."

In other words, bigger screens are simply trendy, and are therefore not here to stay.
Yeah. My general objection to this article would be that for the dedicated autodidact you'll be better off taking this advice on a longer timescale and as a guide instead of a checklist you need to cross off before you're Minimally Qualified. In particular be sure to optimize the curriculum towards your interests and goals instead of prioritizing somebody elses recommendation by fiat.
A lot of very good experience here, thanks for sharing. Luckily for us (ok, not just luck), we are using ES to index Hadoop (both HDFS and YARN), and we are using MySQL Cluster as our source of truth. For HDFS, we create logging tables that store mutations to inodes and we have a program that transactionally periodically pulls mutation batches and applies to the ES. Failures means ES falls behind but we have no data loss.
For YARN, however, we just want to index recent stats - what containers are being allocated right now to which apps. So, we use the streaming Event API for MySQL Cluster (native C++ api) that we push into ES. Failures mean lost data, but we get near instaneous updates in ES, which is crucial as it is used as part of an interactive service (monitor YARN applicaion progress).
Unfortunately the latency (at least on my system) makes subtle explorations of tempo variation fairly impossible.
Now we just need io.js to merge with node. I feel like I can't use io.js for anything beyond experimentation until the inevitable happens.

Edit: Damn that was quickly downvoted. It seems the HN community is more behind io.js than it was a few months ago. I still think node and io.js using the same package manager is simply untenable so I'm just waiting for something to give before I decide to use io.js beyond experimentation.
Introducing Google+ Collections, a new way to group your posts by topic
Just like all statistics, these should be taken with a grain of salt, but I think Github's "pulse" breakdowns between Iojs and Node are pretty sobering.

Iojs: 49 authors have pushed 168 commits to master and 572 commits to all branches. On master, 8,474 files have changed and there have been 1,524,012 additions and 708,276 deletions.

Node: 30 authors have pushed 5 commits to master and 95 commits to all branches. On master, 10 files have changed and there have been 294 additions and 36 deletions.

That's for the last month.
The C++ primer (latest edition) covers C++11 concepts pretty well. http://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/032171...

Once you learn the fundamentals, read Scott Myers. (effective c++, effective modern c++)
You will regret not going later. If you have the interest, computer science can offer staggering amounts of enlightenment.
You do not need to be in college to study CS. If that is really what you want to do, you should make a point to start now.
I'm betting on Chuck (as in Yaeger)
Interesting development in the world of Google+. This is one area I have been following, somewhat. It is great to see that Google+ is in fact putting effort into developing this network instead of ditching it like they have so many other projects (and social networks.)

Personally, I don't see this feature as "revolutionary." For me, it doesn't add much value to the social network aspect of Google+. I do suppose some people might find it handy, but to me it is just one step above a "hash tag."

More big picture, this is a sign (for now) that Google+ is here to stay, and something they are investing in.

Anyone with insider knowledge have anything to say about this?
Microsoft to Kill Off Patch Tuesday
It was over 100K about 7 yrs ago when I looked into it, so unless there's been an adjustment since then...

On that note, if you want to challenge your exempt status, you must have a record of your hours that you are going to try to claim on.
KNOVVI – sharing knowledge, connecting and socialising with new friends
This is a really terrific app. In many ways is nicer than siting back and listening to music, as it makes you think more about the flow and melody of a piece. I enjoyed this very much.
I don't have insider knowledge, but I disagree that it's nice they're putting effort into it. Google+ was never about users -- it was about fear of Facebook.

I hate few products/brands as much as I hate Google+, if only because it's a bald-faced (and somewhat successful) attempt at eroding privacy for Gmail users. I don't want to see more features. I want it to die.
What is the "inevitable" you are referring to?
The HTML5 spec has two things: an XML serialization specification, and a detailed non-XML parsing specification that makes the parser safely accept the evil slash on void elements like BR and IMG. Bonus: it also accepts the alternate spelling of the name of the IMG element.

A style guide, of course, could ban using IMAGE as the name of the IMG element or any other infelicity, whether it is legal or merely tolerated.
The iPhone 6 Plus is 5.5" and the Galaxy Note maxes out at 5.7", so setting 6" as the bar for a phablet makes no sense.
I found that this was said, and more things that are helpful in the book "Soft Skills" (a manning pub).
Yes, it should use spacebar for pedal, very good idea.
Whilst it is true that there has only been one launch abort so far, if the Shuttle had a launch abort system it would have saved the seven astronauts aboard. Just mentioning this in case someone mistakes your post as arguing that launch abort systems are rarely useful.
If the question were about car batteries or electric blankets, I'd agree with you. But it's not; this is about laptop and mobile batteries, which concerns a huge percentage of HN users. That's also why this thread is so active. I'm in the 8-year club here on HN and I don't have a problem with it.
Ioq3.js is a simple port of ioquake3 to the web using Emscripten
I'm with you. I like the iPhone 5 size more than the 4s form factor, but the 6 is just too big.
It's not. It also is not quite not engineering too.

A lot of terminology and philosophy from engineering carries over to CS, but for most applications, the quality and thoroughness of real engineering does not, nor is it needed.

Computer science, or software engineering if you prefer, is a strange hybrid of a lot of things. On the pure development side, there is a lot of engineering-like stuff going on. In academia and research, there's a lot of science. And everyone is doing heaps of math. Unfortunately, English doesn't have a good word that encompasses all this, so we end up with poor terms that each only describe parts of the whole.
If you can accept plug in hybrid as electric there are tons of good options matching almost all your criteria, Audi, Mercedes, BWM, Lexus, Volvo, VW, Toyota(more than just prius) etc etc, all have plug in hybrid variants of their normal cars. All without any big stickers, that's probably why you haven't even realized that they exist out on the roads :)
Hybrids also have the benefit of always fulfilling criteria 2 and 5, which pure electric simply don't.
See Siracusa's analysis of this suggestion.

http://atp.fm/episodes/33-a-30-minute-skip-button

TL;DR: good idea, but people will forget and become shitty when their laptop isn't at 100% when they go on a trip.
Hearthstone Cards Cheat Sheets
Did I read the number wrong, or is that an absurd amount of changes (note: I haven't look at the commit myself, as I have no idea how to get all the stats from github interface)?

That's about 800000 additional lines of code for 49 developers in a months, or ~16000 LOC for each developer. Unless additions and deletions are counted on a different unit, can anyone knowledgeable explain to me how the numbers are reasonable at all?
"process.nextTick() performance has been improved by between 2-42% across the benchmark suite, notable because this is heavily used across core (Brian White)"

That is pretty amazing.
State of the News Media 2015
Absolutely agreed. Very nice, congrats!
As far as the list itself, it is highly debatable. Depending on your job you won't ever need to know most of this.

Any comprehensive list of "things to know" will include things that not everyone needs to know, but it's still important to know "of" a lot of things. That way, when you encounter a new problem, you'll be reminded of something you heard about, but don't really know, and can look it up on Wikipedia.
What is XSS and how did it affect WordPress
Very cool.

Does anyone else experience an optical illusion where it appears their screen is moving when they finish a song/leave the page?
...at the risk of bricking devices and legal threats? Sure. Both of which are concerns with some teeth for such mission critical devices as... your xbox.

Jailbroken medical devices sounds like a great way for a doctor to loose their license, a developer to end up with manslaughter charges, and patients being unable to tell their doctors about their full medical situation, lest their doctors run screaming from the impending liability lawsuit.

I think the correct answer to "let people modify their own devices" is "fix the regulations" not "intentionally weaken security in matters of potential life and death."
I can see how a list like this could develop, but unfortunately it seems to have become the academic version of a job ad that wants 20 years of experience in every tool and technology ever invented. No-one would stand a chance of coping with such a broad and deep syllabus within the time frame of a degree course, but I worry that the target audience for this list won't necessarily realise that and so the current presentation could actually discourage people from studying CS.

I think part of the problem is having so much emphasis on specific tools and standards rather than general principles and theory. Hopefully CS students do pick up some familiarity with practical examples along the way, but I don't think that should be the priority for undergraduate level CS teaching. I'm particularly wary of putting so much emphasis on "old school" tools that aren't necessarily very good by modern standards but remain popular because of momentum and ecosystem effects.

As a result of that emphasis on tools, I'd say sound theoretical foundations seem to be given less weight than they deserve. Some examples of terms that I would have liked to see on any modern undergraduate CS syllabus or reading list are "comparison sort", "halting problem", "ACID", "transaction", "distributed system", "CAP theorem", "concurrency", "deadlock", and "lock-free", as well as a lot more specifics on basic data structures and algorithms.
I grow up in a poor family in China, I know what's it's like to only eat cheap food, or choose to walk instead of bus to save money. I'm not going to make comparison though, as being poor in China is probably very different from being poor in America.

I've also met a fare share of poor people here in Canada. And most of them choose to be so, by choosing work in arts and music, spending money on parties and drinks, or not follow the worker bee lifestyle and work as little as possible. I don't look down upon them, as they seem to enjoy their chosen lifestyles. Although I have a feeling that the poor you are talking about might be different from what I see.

I've also met many poor immigrants who are not as fortunate as I am, working as taxi drivers, manual labours and/or minimum wage jobs. But most of them don't seem to be seriously stuck, as in that they could afford to move to a different city if there is no job locally.

So I'm sorry that my question smacks contempt, which is half-true (for people who don't work hard and blame others for their misfortunes). But I am also ignorant about what it's like to be poor in America. Is it really that much worse than Canada?
GearPump Real-Time Streaming Engine Using Akka (2014)
Can you look directly at the sun with a Welding Filter shade 5?
Prenda Law and the Terrible, Horrible, No Good, Very Bad Appellate Argument
What's the name of the piece (played on touch device)?
On the contrary i really like the iphone 6 plus. I was concerned with the size and at first it looked ridiculously large but it's funny how fast you get used to that. A few weeks later i look at my old 5" android phone (which i initially found to be too huge as well) and it seems tiny. Sure, the size is not the most convenient in some situations, but it's so much better in many others that i use my Laptop a lot less for casual web use. For the first time i also enjoy typing on a mobile device because of the larger keyboard and the battery will last a day no matter what i throw at it. I was very skeptical at first but would not go back now.
You're right that solar thermal is technically a type of storage system for solar. But that wasn't countenanced in the article -- wherein we're told the (availability) problem of solar can only be solved by either fossil fuel power plants or storage systems.

My point is that this is either a flawed or a disingenuous premise.

There's myriad ways we could deal with gaps in sunlight availability: nuclear fission (not a fan, but undeniably one way), biofuels (also not a fan, but ditto), reduced demand / opportunistic usage patterns (to ameliorate the effect - not easy, but disturbs me that questions about energy usage never include 'reduce' or 'adapt' in the list of considered answers), and, most importantly, a stack of renewable options that are not constrained by the vagaries of sunlight -- geothermal, wind (terrestrial and tethered), wave, tidal, and hydroelectric spring to mind.
It reminds me of Internet Explorer. Once it got "good enough", development slowed to a trickle until someone finally got fed up with it and started a new browser with a very rapid release cycle that continues today.

Node.js 0.10.0 was released on March 11, 2013. 0.12.0 was released almost 2 years later on Feb 6, 2015. By all accounts 0.12 isn't even a major change over 0.10.

The io.js team has done more in a few months than Joyent did in 2 years.

I, personally, don't care if node.js and io.js ever merge. One is clearly a superior product with a superior open source governance model.
That's why I always say that Node.js is the best server side JS framework. Pretty stable in terms of never getting updates quickly / etc.
The Wacko in the Morning Show with Wacko Bob 05/05 by the Wacko Network
> What was really lost in the libevent2 -> epoll conversion was platform independence

Did you consider libuv?