skysight-inc/HackerNews huggingface dataset:
What kind of IQ tests? Math thinking? Language? Other? These tests are kinda old and don't prove anything besides the fact that the person has a certain level of intelligence but that doesn't mean they can code.
Blame mobile chipset vendors for that one.
"...a smart person eager to learn is a breeze compared to teaching problem solving to someone who memorized the reference manual."

I would guess that there is actually significant overlap between these two groups.
I agree, and I think the message is clear: we've perverted what people call "high art". To paraphrase another post I made, we've raised "art" on a pedestal behind protective glass, as something that supposedly only highly-cultured people can appreciate. We've applied this perversion to Banksy's graffiti in a very ironic way:

People want to preserve the paintings, even though they're intentionally transient. They want to cut them out of the wall, even though the environmental context is critical to the piece. They want to sell them for tons of money, even though it's been freely given in a public space, for everyone to appreciate.

In short, people want to destroy the whole artistic value of the piece in order to increase the monetary value. I guess all that remains is the meta-message that predicts this outcome.
True!

I guess I also suspect that the code for satellites and space shuttles can be kept reasonably compact. I mean, these systems are (ideally) not designed to be everything for everybody, unlike Linux or Windows or KDE or Visual Studio or Firefox or what have you.
> It is hard to argue with what is unfolding before our very eyes

What we are seeing right now (~.5B waste) is a drop in the bucket compared to waste in the US system as compared to socialized systems. We pay ~2x as much for comparable health care (per person per mean PPP-adjusted GDP/capita) [1]. That is about 250b/yr we are spending on a (more closely) free market system that keeps promising to be more efficient than its social counterparts and keeps failing to deliver, or even deliver in the same ballpark. I realize that HN is a site about code, but it's important to keep some perspective here. $500M (itself an inflated figure) is 0.2% of $250b. If it is hard to ague against $500M of waste, it surely must be nearly impossible to argue against $250b of yearly, recurring waste, no? How do you ignore these figures?!

If you're going to argue that our system makes up the difference with better outcomes, I want to see numbers. I happen to know that they don't support this argument, but I want you to do the search so that you can't dismiss my sources by assuming they were cherry-picked.

> I happen to think ... Free market decentralized healthcare ... would have been a far better approach

Of course, $250b/yr includes the cost of providing care as well as administration. Perhaps administration of a free market system is more efficient? Not when you compare the US (31% administrative overhead) to Canada (16.7%) or the UK (6%) [2], [3]. This isn't a surprising result, either: I recently listed 7 reasons why exchanges should be more efficient than current individual plans [4] and you can add the profit margin and advertising costs to that list to come up with 9 advantages a single-payer system would have over a free market health care system.

Markets are good at optimizing things that can be quantified, so perhaps a better comparison would be between medicare and private insurance (not overall administration, just the insurance part). Again, the government systems come out ahead: Medicare overhead is 3.6%, Canada's insurance-related overhead is 1.3%, and overhead among private US insurers is 11.7% [2].

> Cheaper, faster, better. All three.

[citation needed]

See [5] for a more complete overview of the pro-single-payer argument and a truckload of reputably-sourced studies and comparisons (as opposed to hand-wavey promises) to back it up.

[1] http://en.wikipedia.org/wiki/List_of_countries_by_total_heal...

[2] http://www.pnhp.org/single_payer_resources/administrative_wa...

[3] http://nhsrationing.org/tag/administrative-costs/

[4] https://news.ycombinator.com/item?id=6582753

[5] http://www.pnhp.org/facts/single-payer-resources
I prefer the term "maintainability" to "readability", and I completely agree with you there.

Reuse is an emergent property of code, though. It's very tough to engineer for reuse upfront and have that effort be successful. It's best to keep your code simple and put your effort into making it well-tested. Then, over time spot the commonalities in everyone's code, and factor out the common bits to become reusable code if everyone agrees it's worth it to do so.
Exactly. I would feel much more comfortable testing the job's requisite domain-specific knowledge directly.
What about the fact that competitors are using the OS without so much as asking Google?
> What kind of IQ tests? Math thinking? Language? Other?

Both. They're not perfect, but I'm going to be picky and look for people who can generally reason well (both mathematically and verbally).

> but that doesn't mean they can code.

That's why you pair it with work samples.

The ideal hire would be an impressive GitHub + evidence of intellect. The GitHub shows they have coding chops, while an IQ test usually means they can react quickly and learn new skills.
Thanks for saying this... it needs to be said far more often.

I wish there were a book about how to READ software. (If anyone knows of one, please speak up.)

One tip I picked up on my own over time is when you're looking at an unfamiliar project, don't read the code like a book, read it like a program. In other words, try to find main() and trace how things work from the bottom up, rather than trying to understand it based on how the authors have broken up the code into directories. I don't know yet whether this is truly good advice.
Okay, but any specific suggestions on how to do that?
Totally agree, asking math puzzles (sometimes really hard ones) to develop a copycat iphone app? Interviewing like this is really off the rails.

I really understand that a startup with scarce resource would like to do its best shot. However as discussed long ago (https://news.ycombinator.com/item?id=2385424), it is really frustrating that asking math puzzles are assumed as the best way to hire the best for the job.
I once read an article in 2010 that criticized people for saying that Apple and iOS of the 2000s is like the Microsoft and Windows of the 90s. The article pointed out that Apple IS the Apple of the 90s and Google with its Android platform will become the Windows of the 90s. I think it's happening. In a few years Android is going to be as closed sourced as Windows, probably as ubiquitous, and most likely, just as prone to security issues.

It's already kind of like windows, no? It runs on hundreds if different devices. It's often bloated by OEM software that people hate. It's prone to security wholes. It's slow and clunky unless you run it on the latest hardware. It bends over backwards for compatibility sake. It's more and more closed sourced...

Android is Mobile windows of the 90s. I hope Ubuntu Mobile will be successful.
I'm pretty sure I could get a team of about 15-20 together for half that price to build it better over the course of a year.
I think using pure black is actually more analogous to compressing your audio. Excessive compression (+ normalization) maximizes the recording's volume in the same way that using pure black as your default body text maximizes contrast; in both cases, you're losing headroom that you could have reserved for parts that need emphasis.
> I would guess that there is actually significant overlap between these two groups.

I wouldn't. Smart people get bored sitting around memorizing things. They'd rather be thinking. Purely anecdotally, the smartest people I know rarely have encyclopedic knowledge of anything.
Well, if they really enjoy the challenge (and it is challenging), then yes. But I think there's something sad about being forced into it because hiring practices are archaic elsewhere. It doesn't have to be this way.

I don't like it that so many new startups fail and I have a feeling many of these (besides lacking an idea, failure in implementation etc...) are due to a lack of other options. If you can't get hired with the skillset you have, even though it should be more than enough, it can drive you to do desperate things. Including becoming a founder.
I don't see why they couldn't be both. They're a vandal when they do it without permission on someone's property. They're an artist when they decide they're doing it out of creative expression. That doesn't necessarily mean they're automatically a good artist, but an artist nonetheless.
So interesting..especially the article you wrote about how this article has attracted 15K visitors to your site.
Thanks
I just did a prototype in Go. Python is my normal go-to language for prototyping. I concluded that for prototyping, I'm going back to Python.

My main objections were neither performance nor reliability (I don't care about either while prototyping), but developer productivity. I find there are just so many programming conveniences in Python that I wish I had in Go - list comprehensions, negative slice indexes, for- and with-statements over user-defined data types, heterogenous dictionaries, easy duck-typing. When I just want to get some ideas working to prove a concept, it's really annoying to flesh out all your types and error handling in full detail.

I do think Go would probably make a pretty nice production language, but I'm not at liberty to convert the large C++ and Java systems I work with to Go. Even if I were, I think I would prefer C or C++ because of its easy Python bindings.
I live in Phnom Penh, Cambodia.

99% of the time I have no regrets about moving here from the United States. That other 1% of the time when you are sick or require the services of the police, it's not the best place to be. My insurance plan covers an airlift to Thailand in the event of a serious emergency.
Start with a simple interview which simply checks that the person (a) has a brain; (b) is somebody you're comfortable working with.

Then do a short-term contracting gig (maybe just 1 day). If it works well, hire them.

Edit: clarify length which even the best people could do.
Well, when I saw twm for the first time, I already knew RiscOS, Atari ST GEM, Amiga Workbench, OS/2 PM, Desqview, Geoworks, Windows 3.x, Mac OS.

So I wasn't that much impressed.
I think you don't get the point. Learning a new language after you programmed for 5 years in a variety of paradigms like assembler, object-oriented, purely functional, will take you between a couple of hours and a week. But if you have NOT had those 5 years of varied programming experience, then the new language is not your problem. Learning the concepts is, and that will take time.
I agree as such. Given the the choice between someone who's really smart and can solve hard problems, but a mediocre programmer or someone who's a good programmer, but sucks at problem solving, I'd chose the first one. That being said, if you hire someone in the first category, don't expect them to be happy and competent at writing an iPhone CRUD app in two weeks after seeing Objective-C for the first time.

I think that was the thrust of the article. If you're hiring based solely on someones math and algorithm skills with zero concern about their coding skills, you cannot turn around and be angry when their coding skills aren't what you needed. It's not math vs programming as such, but more generally about tuning your interviews to finding the skills you actually need (as opposed the skills you think you need).
Isn't that the original post, which Lennart is saying is incorrectly attributing quotes and criticisms to him? I'm seeing Lennart's post as close to 12 hours after Mark's.
I mean this as a genuine question:

http://sixarm.com/

This is your company, correct? (I stalked your Github profile)

Seems like the types of problems you're solving are exactly those which require far more domain experience with Ruby/HTML5/Javascript/whatever than the ability to see the value of various graph-searching techniques.

Would you hire this guy even though he's said quite plainly that he lacks the experience with these technologies (and has difficulty picking up new ones owing to that lack of experience)?
After reading this I have a dumb question: The person behind the post is a CS major but only played a little bit with the C programming language in college — is this pretty common these days?
Given how many more votes US has than anything else, I think breaking it down would be warranted.

I'm thinking:

* San Fransisco Bay area
* Seattle/Redmond area
* Other west coast
* Boston/Cambridge
* New York
* Other east coast
* Chicago
* Ann Arbor
* Austin
* Other noncoastal
I work with Go on a daily basis (and it is my own choice), and I would like to offer a slightly different opinion than most people on this thread.

Go is reliable, fast, and its main benefits are simple concurrency, a good, well written standard library, and a blazing fast compiler. Moreover, the Go tour is very nice, and it gives enough material to any programmer to start writing short programs using http, images, channels,... in only a few hours.

This said, very often, using Go feels backwards to me. It could be because of I have personal gripes with the package management system, but I easily ignore those cosmetic things when I'm getting stuff done, so it's not.

After getting used to type systems like the one Haskell has, Go feels very primitive. Moreover, the lack of generics and support for functional programming makes my programs longer, less readable, and less friendly for teamwork. Even though I still sell Go to my friends as a replacement for most of the scripting languages they use, (Typed) Clojure and Haskell are languages that are way friendlier to me.

I would take Go over C or C++ any day, simply because it would allow me to write relatively readable programs in less time, but if the task fits within what Clojure or Haskell does right, I would not hesitate for a second.

As of today, I primarily use Go for infrastructure work, and it really shines there. I am going to replace a lot of Python code with it, and it's not necessarily for the performance, but for the ease of deployment, the reliability, the fact that Python developers can read it, and the static typing. That is to say I don't disagree with the author, but I want to provide another point of view.

The language I believe will deliver what I hoped with Go is Rust. I do not believe, however that it is ever going to reach the hype level that Go has, but it seems more promising to me.
That extreme standard used to be part and parcel of being a parent. Not that I'm saying anybody can pull it off flawlessly, but zero-tolerance is simply a way of saying they won't even make the effort.

The relationship between offenses and consequences is a major part of the learning process. And education itself isn't something to be yanked away from a kid because of a drawing. What's being taught here?
Humans have lived for nearly 200,000 years without states. States, which for their ~10,000 year history have been very ephemeral. Civilization keeps barreling on while states collapse and begin again. The forces that lead to the flux of states like internal power struggles, class conflict, and environmental destruction wouldn't exist in anarchy/communism.

Check out Clastres who argues that pre-civilization human communities had mechanisms to ward off the formation of states.
Except there's actually no such thing as "identity theft" - it's a mere figment of the credit industry's (tracking industry's) fantasy in which they're omniscient, and an attempt to slowly push the responsibility for bank fraud onto uninvolved third parties. In reality, some would-be bank fraudsters got ahold of some non-secret information.
That's why you use a language or technology that's politically unfeasible for your rapid prototypes, like Clojure or Haskell, or...for that matter...MongoDB. ;-)
Has anyone actually tried to look for health insurance using the site? It's indeed as bad as they say. It's probably the buggiest site I've ever used.

I've tried a dozen times over the span of several weeks, and get to a new impassable failure state each time. I'm literally sent to broken URL's that have variable names "?id=%applicationID%" in the URL instead of the actual value. Sometimes clicking "next" just simply refreshed the page with no new content.
By using grey for backgrounds you can still use black for shadows, as both the Sublime and Calendar examples do.

edit - grammar
He said he went to a small liberal arts school.

We definitely do C programming at my program (shell, malloc implementation, thread pool, web server, MIPS assembler/interpreter etc.). I go to Virginia Tech, a public university.
You rule!

This is such a simple solution to combat incompetent designers who think they should never use black... No more fiddling in Firebug just so I can read some text at maximum contrast. Thank you! :)
Nothing really surprising here; assuming there are alternatives for workers (even a homemaker is a serious alternative to teaching at some of the pay rates), then when you make people work long hours with poor pay and no agency, they will quit.
"I for one have no idea how to a) identify the innovations the definitively WOULDN'T have been generated by an alternative system, nor do I - b) know how to measure the costs."

Exactly. It can't be measured.

The situation is political, and the academics are right not to engage in a dialog that uses the language of market economics and 'value'. The private sector market experts are going to want to use their models and supply-demand curves to justify resource allocation to obvious industry-relevant subjects. The academics are going to use history, ethics, etc to defend breadth, freedom, and security of non-obvious inquiry.

The faculties need to take back control of the university. They're being bent over a barrel by their administrations.
I think you're still suffering from same mindset that led to the problem described in the article though. He wasn't a mediocre programmer - he was a bad programmer. If you make a lot of assumptions about people in an interview you will probably be disappointed.
Yes and good point about abstraction - I was surprised when Mark Guzdial noted that live coders don't do abstraction, but I think that's generally true during live coded music performance. I'd like to work on making abstraction more accessible to live coders, and moving away from REPLs should help.
Hiring engineers is hard, and companies haven't really figured it out yet. Even the best companies rely on puzzles and gimmicks that often have little to do with day-to-day programming.

At one company I interviewed with, I was asked to implement a queue using two stacks. At that time in my programming career, I had worked with C, C++, Obj-C, Lua, Python, JavaScript, SQL, and a handful of DSLs developing games, game development tools, and web applications. Want to know what I had never done? Written a queue using two stacks. My immediate response to the question was, "Why would you want to do that?"

If you really want to know if someone has the capacity to pull their weight as an engineer, ask them about what they've built. Even if they are fresh out of college, the best engineers will have projects they can talk about and explain. Ask how they approached/solved specific problems. Ask what they're most proud of building. Ask what was most frustrating.

Those are the kind of questions that will provide insight into a person's problem solving capabilities and offer a decent picture of what they're capable of doing.
Until bosses without a low-level IT background show up and ask you why you're not expanding their buzzword bingo options.
Perhaps there should be a phrase to mean "open source in name only." I wonder if all of this is related to Richard Stallman's dismissal of projects that claim to be open source, saying that it isn't enough unless it's "free software."
Generally speaking, high quality people won't take a short-term contracting gig. They are probably working elsewhere and don't need that level of uncertainty; they're looking for something better, not just anything.
Current college student, probably have written 5,000+ lines of C directly related to class assignments
Depends on the lighting conditions. Compared to paper reflecting indirect sunlight, computer screens are quite dim.
Consulting agency, Drupal.
Our current hiring process at my startup:

- After a first non-technical call, we ask the candidate to create a very small project based on our SDK. We send him the documentation and a very small sample. He can almost use every tools he wants to create that small project and, of course, we do not set any deadlines. It allows us to see how the candidate architecture his applications and it gives us a project to discuss during the following call.
- If all goes well, we invite the candidate on site to present our code/project and eventually brainstorm together. So that both parties can see if they can work together and the candidate has an insight about how we work, how our code looks like.

Clearly, it's far from perfect and we are often considering changing it. Imagine if every company where you are applying would ask you to create an app from scratch with their SDK? We may lose some candidates, but at least we hire only people that fit the company's culture.
Cloud Billing for Developers
Are you serious? What other commercial OS can I do a competing fork of? Don't you see that the same restrictions apply to all other consumer OSs (iOS, WP, etc) by simply being closed-source?
Not all big federal IT deployments are disasters
Small correction: "Chrome is still open source" is incorrect. Chromium is open source. Chrome is closed source.
"... it doesn't look like they're getting even a single digit number of visitors from Google."

So? What if that is not the goal?

Is it possible that some users might not type their searches in a Google-sponsored search bar or a Google-controlled browser's "omni" bar?

Is it possible that some websites might get traffic from their domain names alone, because these names are descriptive? No search engine needed: Type your search into the address bar and add .com.

I believe this is called "direct navigation". Presumably, these sites generate small scale (but targeted) traffic on a site by site basis that might only be significant when aggregated across many sites. Contrast this with the immense traffic received by a search engine acting as a portal to the rest of the web, for which each site must compete... by purchasing ads or placement or "SEO" services.

Interestingly, there is no AdSense on the imposter site mentioned in the article. The only outbound links is a search form pointing to https://www.google.com. Thus this imposter site is not a landing page for Do Re Mi but for Google.
Thank you. I've been doing that by hand.
If someone fails to listen to reasonable advice, it isn't your fault. If he blamed you, he would be an idiot. He should be pissed at himself, as well as the con-artists that took his money. If anything, you should have way more credibility with him, because you were right.

I hope I'm not being too blunt, but you sound as if you have a strange case of imposter syndrome. You should give yourself more credit.
I'm sure there are a certain amount of people who have simply given up on or refuse to subject themselves to the standard interview process and will either become freelancers or get their jobs through networking.