skysight-inc/HackerNews huggingface dataset:
My perspective might be in a minority, because I'm an autodidact. I did go to college- and studied Physics. But it has never hurt me in getting a programming job -- in fact, I have always simply ignored any requirements listed in job listings.[0] Several times it has come out- many months or years after I was hired, and people are surprised I don't have a CS degree. Its like a prejudice- they assume that anyone competent must have gotten a CS degree.

Maybe non-autodidacts need to go to college in order to learn how to program? (But I would doubt this-- you all knew how to program long before you were freshman in college, right? I mean, hackers are born, they're not created in CS classes, right?)

On the other hand, the people I've interviewed with and worked with who were non-hackers, who went and got a CS degree, often were weak performers. Much of what's needed in the workforce is not taught in CS programs, and something about the way CS programs are taught seems to often condition people such that they have to unlearn a lot of stuff before they're fully effective in jobs.

Of course, I've known lots of good hackers with CS degrees. Hackers do tend to follow the custom and go to college and get their CS degree and arguably could be better hackers than they would have been without the CS degree (though I think its debatable whether 4 years of employment experience or the CS degree makes the better engineer- for some people its one, for others its the other.)

When I entered the work force, if not having a CS degree meant I couldn't get jobs it would have been a real issue-- but these days, its is a whole lot easier to start a company, and thus you don't need to be dependent on passing arbitrary HR requirements[1].

If you aren't playing the startup lottery (e.g.: starting an instagram like business and want thus need VC funding) it is vastly easier to start a profitable-from-day-one business now than it has ever ben.

And 4 years from now, that's not going away.

[0] This also shows how well resumes are read. Mine doesn't lie, but I put job history first. I'd usually have so many interview choices that I'd pick my top 5, do 5 interviews in a week and get 4 offers and a callback. I'm sure some companies did read my resume and didn't give me the chance to interview as a result- but that's fine- it is like a built in bozo filter from my perspective.
[1] Frankly I think the requirement for a college degree is a bit like hazing. The people before you went thru it, and so they aren't going to accept anyone who also didn't have to go thru it. It has nothing to do with skills, just a way to exclude people who are different. Lord knows that piece of paper is not proof you can program.
I use all of these programming conventions and take them with a grain of salt. To say they're stupid is stupid.

I understand there are movements behind these conventions, but I wouldn't say these conventions are stupid.
This is probably a good place to remind people that any old floppies you have sitting around have almost certainly deteriorated, and that there are people who want to recover and save them for you. http://ascii.textfiles.com/archives/3191
"Apple shipped the first ultrathin laptop."

Take a look at the Sony Vaio 505 models released before the air.
It could happen (without catastrophe/aliens) if: (a) someone discovered a pattern like the Mersenne numbers which unreliably produces primes that are much larger than Mersenne numbers, and (b) someone discovers, by hand, a proof that one of these new numbers is prime. Such a discovery would be wonderful: new mathematics that could give us insight into what primes really are.

https://en.wikipedia.org/wiki/Double_Mersenne_number might be one place to start.
The moderators on SO will say it "isn't a good fit for the software". They have no data to back this claim, but will go to great lengths to rationalize it as fundamental to the software rather than a strong shared opinion of the moderators. It is a religious thing like tabs vs spaces. There was an initial kick in one direction and the moderators came down with a strong prejudicial meme against these kinds of questions.
Swipely-pages
I found http://khanacademy.com extremely helpful when trying to catch up on the math involved in the ml-class / ai-class material.
Octogit - Giving git more tentacles
Sorry, but no.

People who know Java really well tend to not really know C++ even if they put it on their resume. Unless you count "how hard can it be" knowledge.
Same the other way around. People who know C++ really well think "how hard can it be".

Modern C++ is a very complicated beast, most people who claim to know it but do not have solid experience usually don't.
Modern Java is a huge tower of libraries and concepts, so it's the same.
So education and the availability technology will eventually result in many people with basic programming skills will result in not only computer literacy in the "I can use MS Office" sense, but in the "sure, I can hammer out a Python script to get this task automated or sift through that data" sense.

Is there some sort of disruption of (basic) programming skills coming the way blogging has disrupted journalism?
the problem is that you are, IMHO mistakenly, conflating at least thee different things: movements, the subject matter and business around them.

Movements are not about the subject matter or the business that develops around it but about people who are interested in the subject matter. Movements are about how those people interacts and go about discovering, leaning, improving and interacting.

As such stating that they are stupid is...errr..stupid and kind of shows that in this case you are doing exactly the same mistake you are (correctly) complaining about: you don't know enough about the body of knowledge called Anthropology that came before you.

also: just because you don't see the movements in sciences like physics doesn't mean they are not there. You are comparing an extremely young thing (software engineering/CS) with sciences that have been going for centuries (and more).
You need to study the history of science in order to be able to see the movements over the centuries (and it's plausible that after a few centuries movements become slower/longer)
Thanks for commenting! As mentioned elsewhere on this thread I'm not really trying to say that you need a CS degree to be a good programmer. But I think concentrating on programming vs concentrating on entrepreneurship leads to different results. And so I was thinking about the consequences of that concentration and what that could look like in a few years.

I definitely wasn't saying that this is definitely what's going to happen. In fact I really don't think I'm going to be applying for jobs in 4 years. But I thought it was an interesting scenario to write about and get people's thoughts on.
> When I flick through my textbooks from my physics degree course, they don't read as a series of cultural movements within the physics community. What is true is true.

Wrong book. Try looking at a history of science. You definitely see the same sort of behavior. A good place to start is Kuhn's The Structure of Scientific Revolutions. If anything, science is worse because the cycles are longer. As Max Planck wrote: "A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it."
Knowing data structures separates the men from the boys. If you do not understand the difference between a tree (C++ std::set for example) or a hash table (std::unordered_set) you have placed yourself at a disadvantage. You can learn these things, they are not rocket science and you don't need a CS or math degree to do so, but it's important that you do learn about them and when to use what data structure especially if you have to scale to more than you ever thought possible. Most all programming languages have containers (lists, sets, dictionaries, maps, etc.) that are backed by various data structures. So you can experiment and learn.
Dans premonition is actually one step behind. Knowing the mainstream skills of 2016 will not be enough. But you will have enough room in your inventory because the mainstream skill of 2012 will be irrelevant.

10 years ago if you learned Perl on the side it opened doors to great jobs. It's always the way that learning the up and coming not yet mainstream skill will give you an edge in employment. Data analysis is the skill for 2012. Something else will be in 2016.
24 Hour Locksmith Denver
24 Hour Locksmith Denver: A.B. LockService offers a 24/7 fast professional and insured Automotive, Resindential and Commercial Locksmith services for the entire Denver Colorado, Westminster and Broomfield area.
Or, since it's universally market forces which are responsible for this corruption, block them from being able to profit off the idea.
I was looking for a new laptop also, and I found pretty good deals for a i5 based Acer TimelineX, which I was able to add 8GB of ram and a 256GB Samsung SSD for ~$1000 total. I also run Ubuntu 12.04 on it, and documented all of the non-intuitive things you might run into[1]. Battery life has been 8-9 hours (my normal windows include Chrome, Sublime Text Editor and a terminal). I also take advantage of the HDMI port and hook up a much larger screen when I get home.

The Samsung SSD performs great, and the system boots up in what feels like maybe 5 seconds, I haven't taken a stop watch to it yet.

1: http://www.sharms.org/blog/2012/04/finding-a-great-ubuntu-li...
Most multi-skilled people i know (and i include myself) would not be happy dedicating their time and talents to a single thing. Although its not a technical limitation, i would say the reasoning makes sense to me.
If the messaging was peer-to-peer, the objections in that post wouldn't apply quite as much. Then you would connect to the NoPlainText server to download the JS client by HTTPS, and use it to encrypt the direct connections to your messaging partners. I think JS crypto could still sensibly be used for this kind of "separation of trust" problem.

For instance, I am considering a service at the moment which would involve people uploading confidential information. The uploads will be fairly large, so a lot of bandwidth will be required (optimistically assuming it gets traction.) One architecture I am considering is a small dedicated HTTPS server which provides a self-contained webpage-plus-JS program to encrypt the upload and send it for storage on Amazon S3. Then I will pull the results off Amazon and decrypt them on a machine which is not even connected to the network. The advantage to this architecture is that it will scale arbitrarily but require me to secure only relatively modest dedicated resources, despite being used for transmission of confidential information. Because it uses a dedicated HTTPS server serving a self-contained page doing all the crypto, it avoids tptacek's objections to JS crypto in the browser (E.g., the server can provide the random seed in the JS itself, HTTPS prevents MITM attacks, etc.)
I could only say one thing... Whoa!
Given a safe, flat road you can't beat a bicycle for energy efficiency and cost:

http://www.treehugger.com/bikes/whats-the-worlds-most-energy...
Math is overrated. Nobody really needs math; if you find yourself needing some math you're probably reinventing some kind of wheel. Same with algorithms.

How do you deal with huge data: you just do.
There are tools for that, and you apply those and perhaps make new tools yourself, but math and algorithms tend to never enter the equation.
This isn't going to manifest itself as more people knowing how to program, though. Easier interfaces and smarter searching, but not programming as we know it.

In 1980 you'd say that in 20 years the average office worker would be performing calculations on thousands of rows of data, generating charts, typesetting documents, creating full color presentations, doing business with clients in multiple continents and they'd wonder how people would cope with the increase in cognition required to do all that. But it's just button-pressing for most people.

In 2016 they'll say "we have a database with 4 billion data points and we need to infer customer behavior patterns from it". You'll say "Sure.", sit at a desk, click "Segment", click "Demographic: 18-21", click "Intersect", click "Products", click "Make Recommendations", click "Apply" and a discount coupon for "Justin Beiber's Comeback Tour" will be beamed directly into the eye sockets of anyone who bought canned salmon last fall.

I don't see a society where 80% programs, I see a society where 10% builds things for the other 90% and a huge part of the middle class will be automated out of existence. This, to me, is the big issue that will shape this generation and the next.
> How does Google make money?

Targeted advertising on search queries. Notably, people don't tend to ignore that quite as much.

Google is probably overvalued on their current business model too, but they don't have the reputation hit that Facebook does, and they do have the engineering talent to diversify. For instance, licensing software to build self-driving cars would also be lucrative. Google Glass would be lucrative as well.

> Talk about hand-waving. Have you actually done this?

OK, looking back, I overstated it a bit. Facebook's valuation makes sense if the entire world population were active Facebook users, but almost only then.

The most optimistic projection for Facebook's revenue is 5B for 2012, on less than 1 billion active users. Population of the Earth is just less than 7 billion. So let's magically sign almost all of them up for Facebook; that's 35B revenue, which is roughly a third of their valuation. (Well, not really--they aren't going to be as affluent as Facebook's current American and European users, so it won't be as lucrative to advertise to them.) Apple's annual revenue is about a sixth of their valuation. But Apple has a successful history of growing significantly new product categories, having introduced three in the last ten years. And Facebook doesn't have the entire world population signed up yet--presumably if they did, their valuation would rise more.

> Anyway, the burden is not on me to prove how Facebook's revenues can justify their market cap.

So it's up to me to prove a negative then?

> They are still growing, and they're control over key portions of the internet is still increasing. There is absolutely no justifiable reason to believe that their current advertising model is their endgame. Google is obviously scared shitless of them enough to completely retool their entire strategy, and they are not exactly small potatoes.

> I'm not running out to buy Facebook stock, but I think if you want to dismiss Facebook's valuation you need a stronger argument than "their current ad revenue doesn't scale".

More handwaving. Google became an advertising company twelve years ago and that's still the bulk of their business. Is Facebook somehow more likely than Google to build a new revenue stream in a shorter period of time? Are they more likely than Amazon to build new revenue streams, when Amazon has consistently and repeatedly done just that for 18 years?

There's a lot of upside open to Facebook, and nearly all that upside is priced into their stock. But there's also a lot of downside, none of which is priced in. Which is probably the defining characteristic of a bubble valuation.
Barrier to entry is going down, not up.

No one cares if you can do an algorithmic analysis on different ways of sorting to choose the most appropriate way. These days it's dynamically built into the function. Just call sort.

Educationally there's not much of a difference between a philosophy, math or computer science degree. All of them are doing the same thing - logic. Philosopher approaches it classically, mathematicians do it formally, and comp sci do it ad hoc or practically. Each has it's virtues when you design or program.
Like many, I think, I'd really like to see Pixel Qi succeed, but I've about given up believing I'm going to have a (mainstream) product that includes a PQ screen, or a PQ screen replacement kit that I can readily order and install into such a product.

I don't pretend to understand PQ's market, at this point, but if you want to (re)engage me (and, I think, many others), you need to meet the above.
"The problems we’re working on involve in-depth data analysis that require an extensive math and algorithms background."

I can see why a college sophomore would fear this response. But in my 18 years of programming, I've seen that the vast majority of software development isn't about the stuff they teach you in school. It's about design, collaboration, languages, libraries, and frameworks. It's about working around crazy cross-version incompatibilities, solving heisenbugs, and keeping everything maintainable. Math and algorithms? Feh. Not the real issue.

Let's assume the startup bubble bursts and programming jobs become scarce. There won't be any kindly interviewer at the large bureaucratic companies. There will just be a faceless HR person with a keyword-searching database saying, "No CS degree--no interview."

But personally, even if the startup bubble bursts, I don't see the demand for programmers going anywhere but up. And that entrepreneurial background will only be an asset at the smaller, more interesting companies.
To be fair to Valve, it sounds like you're talking about rank-and-yank, which is not necessarily the same thing as stack-ranking. I made the same mistake in my response: assuming that stack-ranking meant that those who come up in the bottom get PIP'd or fired. That's not strictly true. However, most stack-ranking systems end up as de facto rank-and-yank.

Objective, across-the-board incompetents are very rare. Generally, companies that are well run are going to have very few people (at lower levels) who actually should be fired. Oddly, the levels at which firing 10-30% of people make sense are the managerial levels where people almost never get fired (and if they do, they get huge severance packages that include outplacement assistance).

Most hiring mistakes are bad matching, not bad hiring. The right person was brought on and put in the wrong place. So the correct solution is to pivot: help the person find a transfer to a more appropriate team.

In very small companies, this may not be an option. If there's only 1 project, and you hire someone who's a bad fit for it, you have to fire him, because there's nowhere else to put him. But companies at that size generally don't have HR departments or company-wide stack-ranking.
Most websites are commercial, and they operate in competitive spaces. They will not consider using GPL code if it means their own site code becomes GPL-licensed.

GPL works when the people using it must contribute whatever small patches or modifications they have made, not when they have to turn over multi-million-dollar codebases worth much more (commercially) than the GPL tool in question.
I don't mind the cars. I just want them to drive themselves.
Firstly a tiny amount of people know C, C++, Java, Python & Ruby

What does it mean to "know" a language? I've been writing almost exclusively in C for 15 years, but I wouldn't say that I "know" C; at least once a month I end up needing to consult the C99 standard for some obscure point of library specification.

On the other hand, there's a lot of people who know how to write Hello World in all those languages and consider that to constitute "knowing" them. Would you hire all of them?
I can certainly understand the sentiment, but requiring a Github account still seems arbitrary and limiting. There are lots of great open-source developers who don't use git or github.

For example, I'm a ruby developer, so yes most of the open source development I do involves Github. But even I know about (and use) projects like zip-ruby [1] on Bitbucket or redmine [2] on svn.

[1] https://bitbucket.org/winebarrel/zip-ruby/wiki/Home

[2] http://www.redmine.org/
Root Xperia Arc S On Official Ice Cream Sandwich Firmware–Easy Tutorial
First of all, a person with a C/C++ skillset is not just capable of "building an app or a website". Most web devs now (and I include myself in this) don't have the requisite skillset to write the database engines, low-level graphics routines, browsers -- all the numerous layers we take for granted to print 'hello world'. And yet self-taught coders, by definition, are always learning.

I have never applied for a company coding position; I came from design and learned to code as I went; but 75% of my business now is in custom business apps. I've yet to meet a client who doesn't value the fact that I'm willing to learn what I need on the fly. Many times I take projects with the caveat that a certain amount of cash and time is probably going to be spent filling in what I don't know, and hacking around until I figure it out; and that if that becomes onerous, I'll knock some of it off the tab. I bill at $100/hr, modest by freelance coder standards, but obviously many times higher than coders on oDesk, and at least double what I'd earn in an office (if they'd hire me - which they probably wouldn't). And yet my clients end up paying less for rewrites and fixes, spend less time on the phone, and end up with a product they're happy with.

The small-to-midsized business owners who understand the value of letting me hack away, who ask what I think about how they can analyze their data, etc. get great value for their money, and I don't see a shortage of them. When I really, really don't know, I hire out to other hackers who do. I wouldn't want to hire a company composed of people who can memorize algorithms, but can't think on their feet; I'd much rather have the exact opposite, and my clients at least feel the same way. And I'll use whatever tools are at my disposal. The first time I wrote an online store, in 2001, I did it from scratch. I had NO knowledge of databases at all... I actually didn't know there was such a command as serialize(). I ended up writing a whole custom back-end in PHP that did its own serialization, flat file writing and retrieval on products, customers, orders, etc... hundreds of products in the store, thousands of customers... and that site is still running.

Companies that would rather have drones with degrees aren't companies I'd work for, and I'd argue that they aren't who successful businesses looking for software want to hire, either.
How about those jet packs that we have been promised for so long.
I built this. If there are bugs makes issues; I will fix them. I welcome suggestions and feature requests.
A More Subtle Hacker News Redesign
Did the questions check for knowledge or a piece of paper?

If former, go get some. No excuses!
If latter, find a way to print yourself one.
Isn't it fair to say, though, that all crypto is broken to some degree, and that javascript crypto lies somewhere on that that continuum? Surely AES with a 256 bit key that you've downloaded to your browser and can inspect is better than rot13?
I think its aimed at medium priority info where convenience of both parties is a factor. It seems the point is to send information that, although it could still be compromised, you will know if that happens because your recipient won't be able to access the message. So you have peace of mind that there was no silent observation of the info en route. I think if you were trying to send information that you didn't want to be compromised at all, you'd eschew the convenience of this and use proper encryption on the message (both parties PGP keys, etc).

Also, from what I understand, the system requires total trust in the provider's servers to do their job. That is no different than trusting that an anonymous email provider is doing their job (not storing logs, etc) and there's a proven market for that (I think).
Google has a "verbatim" mode that does not do this.
http://www.google.com/search?sugexp=chrome,mod=11&source...
Still, namecheap is above godaddy
Brad's Plumbing Quality Service at Reasonable Rates