skysight-inc/HackerNews huggingface dataset:
>there are certain areas of software engineering where a real understanding of the subject takes years of focused study.

Not many, and people who go into these areas spend those years doing that concentrated study as part of their job. The distributed systems work I did years ago for a startup made me one of 12 people in the world with that level of understanding at the time... now years later when distributed systems are "all the rage" every kid coming out of college thinks they know what they're doing but doesn't actually understand it.

>i'm 99% certain the only training left in the world

You're completely wrong. College doesn't even get close to teaching the state of the art. Graduate level can get close to the state of the art in a very narrow area, when you're working on your PhD, and sometimes this is highly relevant to the profession but often it isn't.

>software engineering is an odd exception to the rule that most jobs require credentials.

Most jobs require credentials for the same reason that most hats haze initiates, and once initiated those very same people are eager to engage in the hazing. It has nothing to do with ability, it is simply a mark of having an experience. The reality is, if you jump into a startup and spend those four years building a business, you'll have far more knowledge than you would get obtaining that credential.

>but there are areas of software engineering where self-training is impossible that are absolutely necessary when creating certain products.

I've hear this lots of times but never really any good examples. And in my experience, people with college degrees do not have the level of knowledge and expertise that I did, at the same time in my career. (e.g.: 4 years in.) Worse, I think this is getting worse, as college CS programs seem to be becoming less effective over the years.

And the really state of the art stuff- you don't get in college anyway as an undergrad and if you're a graduate student you're reading the same things that people doing it on the job are reading.
There's a big difference in how students are taught and what students are thought to think from school to school, which is mostly correlated with income bracket. It's not that our leadership structure or general society has this 'keep the poor down' mentality, it has to do with the general mentality of the teachers and the general mentality of the students.

Think of the demographics of the teachers. In low income areas, the teachers are much more likely to be people that grew up in poor income areas themselves. Generally, that also means that they will be less familiar with higher-level concepts like 'when given lined paper, write the other way.' Even if they've heard these quotes and can tell you what they mean, they are less likely to be able to answer questions like 'Why 5 paragraphs?' and 'When in real life am I going to use the Pythagoras theorem?'

In high income areas, you are much more likely to get teachers that come from high income families themselves, which means they are much more likely to have gone to a reputable school. My high school (William Fremd High School) is seated in a high income area, and actually had several teachers (2 or 3) with Oxford level degrees. Many teachers in the English department actively rejected the idea of a 5 paragraph model, and told you to write the essay 'until it was done.' Many of the teachers, having been through some level of engineering school themselves, could tell you that the Pythagoras theorem is very important to things like Architecture and mechanical engineering, and that the seemingly useless mathematics you are learning actually have very powerful real life applications.
It's not really a pattern though, is it? The row numbers are spaced closely enough that there'll be some space between people.

You might get some people who don't pick their seat but just grab the nearest patch of carpet. I doubt that would have much effect.
In 2009, Yahoo CEO Does Not Deny He Has a CS Degree, Calls Himself an Engineer
Meh...I canceled my Safari Online subscription. To me it actually helps to focus on a small number of books. Also it's just painful to read on their website, compared to reading PDFs.

Another thing: this particular sale is about freedom from DRM. Safari is a joint venture between O'Reilly and Pearson. Pearson is on that list of SOPA supporters. It also feels encumbered to me, and I don't feel like I'm supporting the authors much if I read them.

https://en.wikipedia.org/wiki/Safari_Books_Online http://www.blogworld.com/2011/12/22/a-huge-list-of-companies...

I think it might be a good complement to buying eBooks but I don't think I'd read more than a couple chapters without getting it in a format that I can read without being logged into their website.
Thank you!

Today for Mac users we support Chrome and Safari. We are working on fixing the Firefox MAC (works fine in FF on a PC) issue & then later down the road get it working in IE.
my 2-cents: I actually think Nokia could be on the up. Most companies like this have a problem with their departments lacking communication, or lack guardians that ensure each aspect is unified and works properly - and Nokia may never have this; however if they stick to the platform and strive for better quality on delivery and innovation it could work out alright.

I thought Nokia were going to bite the dust, but then I remembered consumers are fickle... if Nokia release something that looks sexy, and works well, they will be back oki. As long as they keep symbian going for the low-fi robust cheap phone market (that is still at large).

Also I really appreciate the insight on Tomi from nl... thanks!
Nike Challenges Customers to Design Their Own Virtual Green Athletic Wear
It doesn't feel like I'm learning, it feels like a typical high school quiz. You present information (without ever ensuring I've learned it) and then check if I've "learned" it with a simple input that requires no thought.

Compare it to the codecademy courses, they introduce you to concepts, explain them and then ask you to perform a task based on what you've learned, whereas with yours it shows a bunch of information and doesn't ever explain what it is or why/how it works.

For example the first 2 exercises (labelled #1 and #2) ask me to modify CSS properties, but then on the 3rd you start teaching how to write HTML and CSS. Surely the 3rd should come first, because without understanding what css is how does changing values help teach me anything?

The interface isn't too bad though, so it's a reasonable start, good luck :)
This is a problem of definition more than anything else. I feel more comfortable thinking of Computer Science as the Math used to study algorithms and processes. The rest, although based on Math and the scientific process, looks more like Engineering to me.
Except many exist today, and there mostly populated by the middle class with ridiculously low levels of poor people. Like 1% on free school meals and majority were tutored for the entry test? Most poor people can't afford tutors.

With stats like that, they REINFORCE class structure, not break it.

And do poor people want to pay for the education of the elites? Which is what current grammars effectivly do.
Ask HN: How to choose a license on GitHub?
I have a plugin up on GitHub and someone asked me for a license.txt file, which is fine, I can toss one up, but not sure on what to put in. I looked at some samples but they are all quite different.

Basically I want to make it completely free to use for whatever purpose, commercial or otherwise, only thing I ask for is credit, so they can't say they built it, in their license somewhere it would have to say "build on yadda ydadda".
Here's a clever idea I just thought of. The airline could keep the overhead bins locked while everyone boards. So everyone just comes in and sits down, keeping their belongings on their lap. (It seems like that would be a lot faster)

Then once the plane starts taxi-ing the overhead bins unlock and people can put away their belongings (since you have to wait at least ten+ minutes to taxi and take-off it seems like this wouldn't cause a slowdown.)
Plus you'd get an extra efficiency because the person in the aisle can load the bags for everyone in his row.

Should I patent this ... :-/
While I don't disagree with the point, we are actually not declaring war on content creators, but on content rights-holders. I'm just guessing, but I would suppose that the majority of cases in which DRM was applied to a product was done so by a middle-man, e.g., Sony Records, not Lady Gaga.

Showing more of my ignorance on the subject, does anyone know if the content-producers are even consulted on whether or not their copyrighted works get DRM or not?
This is incorrect. It is unlikely the average individual will work more than forty hours, so the opportunity cost is realistically the difference: 10 hours. At 7.25 an hour, pre-tax annual that's a mere $4k, for a four year degree that's $16K. Out of undergrad I went from a possible annual income of $20K (qualified for nothing but waiting tables) to $50K. The opportunity costs were paid for in the first six months.
Actually, the behavior is a combination of undefined and implementation defined. To the extent that it's implementation defined, it may still result in nasal demons, but they have to be documented nasal demons.

Point is, it's strictly non-portable according to the standard, but when done carefully is unlikely to break on a general-purpose architecture.

This is from C99, I don't have a copy of C11:

6.3.2.3 Pointers

[...]

5) An integer may be converted to any pointer type. Except as previously specified, the result is implementation-defined, might not be correctly aligned, might not point to an entity of the referenced type, and might be a trap representation.[56])

6) Any pointer type may be converted to an integer type. Except as previously specified, the result is implementation-defined. If the result cannot be represented in the integer type, the behavior is undefined. The result need not be in the range of values of any integer type.

[...]

And footnote [56]: The mapping functions for converting a pointer to an integer or an integer to a pointer are intended to be consistent with the addressing structure of the execution environment.
What are you talking about? libevent invented everything Node.js uses and Python's Twisted had and has everything Node.js could dream of.

Node.js is just a reinvention of old technologies in Javascript.

Edit: Removed flame about Javascript because I don't want to have this debate again.
1. I don't make the hiring decisions at most companies. Fact is, at most companies outside of the HN-SV-tech startup world, a degree shows that you're competent, and you're facing an uphill battle without one.

2. College exposes you to subjects that you normally wouldn't be exposed to. Being an engineer is a respectable profession, but if you've never actually tried other subjects, how could you know if it's the right career for you? Or for that matter, how would you be exposed to some of the best things in life, like literature and art? Sure, you could just go to the library, but quite frankly, most people don't know what they don't know. College isn't going to make you into a Renaissance man, but a few years of courses in various subjects will help you develop into a more well-rounded person.

3. I agree that outside-the-classroom experience is essential, but working at a random startup company isn't going to expose you to anything except running a business and the narrow niche it occupies. Great stuff for learning about entrepreneurship, but useless when it comes to basically anything else. You aren't going to learn about humanism or the philosophy of science at your web 2.0 app startup.

4. You'd have a degree, which shows a baseline of competence and is required for advancement in many companies.

5. Starting a business is better than working at a little startup, in my opinion. And there's no reason why you can't do one or both while in school.

6. Not arguing with you about grades, but that's missing the point. College shouldn't be about getting good grades, it should be about broadening your experience of life. If you spent 4 years locked in a room studying engineering, then yes, you'd be better off not going.
Actually, I think information theory is the only branch of science that has something genuinely useful to say about computers. Unfortunately, it has few people working on it in the context of computer systems. The world is dying for useful models of (real) CPUs and complex networks based on information theory, but that's not really happening. Computer "scientists" rather spend their time building example systems that no one will ever use, or creating theoretical models that have no connection to reality. No idea what the purpose of either is.
At my last company I had 20 days vacation and about to transition to 25 days. However, work was so busy that I had to plan and request my vacations 3-6 mos in advance. I now have less vacation but more freedom to take it when i want.

If one really wants to maximize free time contract work is where its at.
And if those functional languages are Turing complete, then they are equivalent to all other Turing complete languages, and thus the C-H isomorphism would hold for all Turing complete languages.
The GNU license?

http://www.gnu.org/licenses/gpl.html
RubyMotion pros and cons
I, also an author, 100% agree with this. Also, the royalties that authors receive (roughly 10% of what the publisher receives after the retailer has taken their large, say 50%, part of the cover price) is tiny.

When you consider the months of work to write a book and divide by the return it's not hard to see why authors have a hard time getting upset about 'lost royalties'.
Not sure about Europe. After having dealt with unions in the US for quite some time my general opinion of the average unionized worker is not very kind: lazy, non-productive, selfish, self-important, over-paid, unfairly protected, de-humanized, and more.

Of course, this is a gross over-simplification and a generalization that is not fair to a lot of people. There are good unionized workers.

I'll give you an example: Las Vegas Convention Center. Doing some work at night setting up computers, etc. The crew that installs the carpets comes in. Their job is, quite literally, to roll out the carpeting. I watched as this unfolded. Every hour or so a supervisor would roll around on a little electric cart and would tell people that they had to take a break. The workers would lay down on the carpet and go to sleep. This ballet continued for hours. The work that could have been done in three hours too six, if not more. I asked one of them how much they made. She, very proudly replied: $45 per hour plus benefits and a pension plan. My jaw dropped.

Then there are the stories of the security guards making $150K a year to sit on a chair by a door. And the stories of the union worker refusing to lend a hand because the task is not in their union contract.

Anyhow, the issue, as I see it, is that unions have resulted in hordes of people that are devoid of any real drive to succeed and move forward in life. In unions there are few incentives to be better at what you do. In a lot of union contracts you just can't be fired. I mean, take the examples of (unionized) teachers sexually assaulting students. They don't get fired, they are transfered and "hidden" in another job. There was a recent case of a (unionized) teacher who was feeding his students cookies with semen on on top. That's beyond sick. And, as I understand it, the guy was not fired and will enjoy his 80% pension for the rest of his life.

Anyhow, I don't want to go off on that tangent, but I've just seen too many examples where unions are just destroying drive, innovation and competitiveness in this country. It's a damn shame.
"If you're an engineer, and you drop out and you work for 4-6 years, nobody is ever going to care, or probably know, that you don't have a degree."

That's simply not true. Your co-workers and colleagues may not know or care. Your boss and her boss may not know or care. (Although to be candid I suspect more of them both know and are at least a little influenced by it than you seem to think.) But if you're working in a large enough organization (and "large enough" is getting smaller all the time), at the very least someone in the HR department is going to both know and care. You may not qualify for a given job or promotion. You may not get paid as much as you otherwise would. You stand a moderately good chance of being caught if you try to lie about it. (Background checks-as-a-service are out there and getting cheaper just like everything else.)
True danger is serious business. Approaching an unexploded IED is dangerous. So is going in to reactor #2 to pump out radioactive water.

There's a difference between incorrect and dangerous.
Mapping The Most Crazily Jam-Packed Places On Earth
Is it just me, or are the drawings terribly confusing? It took me a while to even determine which "point" they went along with.
If he lied, then he is a good salesman.
So, I googled 'finagle java' and all the results were terrible. There was no concise description with a short example. Nothing led me to believe 'node.js' clone in anything I saw in the first few results. In fact, the first result was this: http://engineering.twitter.com/2011/08/finagle-protocol-agno...

"Protocol-agnostic RPC System" does not sound like a node clone at all.
NB I was using the UK sense of school - high or junior school. People here generally don't refer to universities or colleges as "schools" (apart from "law school").
Java Executors combined with Guava's ListenableFutures easily turn any blocking operation to an asynchronous one.

Netty's entire model is asynchronous, and Java 7 now has AsynchronousChannels for IO which, I assume, Netty will make use of.

All in all, the JVM has a much more solid and performant foundation than anything Node can provide. The whole difference will come down to a programming style preference. I am not entirely sure why Vert.x adopted the Node style rather than the proven servlet container, as I'm sure both styles provide comparable performance. I guess each may shine under different loads/usage patterns (my guess is that Vert.x/Node can squeeze more performance from a single thread, but servlets are more scalable).
I think the difference here is that Scott Thompson was not a founder/co-founder but hired to the CEO position based on certain credentials.
We run a major site on Java, had some thread trouble years ago in the very beginning, works very well now when tuned. Threads work.

BUT: I assume people will move to backend services with REST and combining REST backend results to a page. This increases IO a lot and will kill your latency and default thread models when you do sync code. You'd need to use async IO, composeable futures to manage latency and thread count. And if you do async backend REST, why not do async JDBC etc. But there are no libraries.
Note this: "I was unbelievably slow ... we had to do this mental arithmetic ... I was struggling away to do these tests ... I was at least twice as slow as anybody else."
A Ph.D is a filter in that respect, as you have to work hard to achieve it.

And I there are many hard working shop floor workers, but they never make it to management. Just working hard on it's own does not earn you more money.
This is most welcome. Hope they continue to support this effort. We need more light weight approaches in established languages like Java.
Very true, especially as the FSF has been so instrumental in creating and encouraging the creation of free software. While the FSF have "been against" non free software they have at least helped provide the alternative. In the case of DRM, not so much.
It is true there are a class of companies, bumpkin type companies like insurance companies, for instance, who hire engineers who care a great deal about degrees. There are also bumpkin bosses who think wouldn't interview someone who doesn't have a degree.

You know what? Those same companies and bosses are so caught up in their prejudice that when they see my resume, they never notice I don't have a degree! They still hire me.

The idea you need a "degree from a good college" is silliness.

Here's the thing. Kids aren't ready for the realities of the world. So a 12 year old who brings you their drawing-- even if its crappy- you're going to tell them its great.

All thru out their lives you want to encourage them to do well, so you tell them to get good grades so that they can go to a good college and then to get good grades at their college so they can get a good job.

That first year out of school, how you do in college does affect what kind of jobs you get offered.

But college has not taught you to be a professional. College is the last of the nurseries. When you get your job, you're in the real world. Colleges let you live in dorms and let you make more mistakes but it is still a coddling environment.

When you're in college you have no idea-- because this is your life and its been your life your whole life-- what the difference is between college and the real world.

Everything you're saying there is the assumption of an unspoken privilege. I'm telling you that privilege doesn't exist in the real world. IF you hustle and can sell yourself and have good skills, these things are far more deterministic of how far you go and what you earn than having a degree, let alone what college you went to for that degree.
Surely airlines can just do this empirically rather than rely on simulations. Why not just A/B test a bunch of different boarding methods on different flights and time what works the best?
I guess that's none of your business.
Check out http://www.opensource.org/licenses/category. You can probably find something you like in the "License that are popular and widely used or with strong communities" section.

The basic requirements that you described are probably met by either Apache2 or BSD. Others like GPL meet your requirements but add other requirements as well (eg derivative works must be open as well).

Often times licensing can become a religious debate. Read the major ones and choose the one that is best for you.
Like what meaningful solution? Pre-digital DRM was essentially the difficulty of copying, and that is no longer "difficult", and you can't undo that because DRM on media people care about will be broken.
also look at http://vibed.org/
Galaxy S3: Did Samsung just out-iPhone Apple?
(as a side note, what do you think REST PUT calls over HTTP on Node are?)

Finagle is about composing async IO calls, e.g. here

http://twitter.github.com/scala_school/finagle.html

This works much better in Scala, as Java is not very good at composing Futures. It needs a lot of boiler plate code as it lacks noise free closures.
This reminded me of Sudhir Venkatesh's book "Gang Leader For A Day", parts of which were described in Freakonomics. Some of his findings included an organized corporate structure of a big gang, a gang member with an econ degree who wanted to put his education to use, etc. Pretty interesting read.

http://www.amazon.com/Gang-Leader-Day-Sociologist-Streets/dp...
Rich Hickey: Persistent Data Structures and Managed References
[DRM] can't simply be "abolished" without some suitable
alternative to protects both interests.

It can be and in the music industry largely has been. iTunes has no DRM. Amazon's mp3 store has no DRM. Bandcamp has no DRM.

The solution is getting rid of DRM. DRM does not prevent people intent on pirating their media from doing whatever they want. It hurts legitimate users.

The existence of DRM has nothing to do with preserving the freedom of content creators. Your presentation of it as something that does is naive. It exists to protect the interests and power of media publishers. The publishers--not the creators--are the ones making the choices about DRM. Its use is an attempt to prop up outdated business models, because that's easier--and, in the short term, safer--than change.