skysight-inc/HackerNews huggingface dataset:
>The US has less than 5% of the world's population. Which means if the qualities that make someone a great programmer are evenly distributed, 95% of great programmers are born outside the US.

This assumption is repeated throughout the essay, but I'm not particularly convinced it's true. Why would the qualities be evenly distributed between first world countries such as the US where programming is respected and well paid vs failed states like Nigeria or the war-torn Congo?
He's like a guy in 1905 trying to get people to keep using horses.

Or perhaps he's the guy in 1905 trying to get people to keep using electric cars. In 120 years time it might turn out that he was onto something all along.
Very handy formula. I was recently in the situation of being given a bunch of polygons, each represented in a list-of-edges format and I needed to compute the outward-pointing normals for the edges. It's relatively straightforward to translate list-of-edges into list-of-vertices, but not so straightforward (to me) to ensure that the vertices are in counterclockwise order after this translation.

If you take the shoelace formula and remove the absolute value then you still get the correct area up to floating point errors, just there may be a minus sign in front of it. If there is a minus sign, reverse the order of your vertices and boom you have counterclockwise order. Computing the normals after this is routine.
"In later years his behavior became quite eccentric. According to associate B. A. Behrend, he became a recluse who was so averse to meeting people that he delivered the manuscripts of his Electrician papers to a grocery store, where the editors picked them up." --quote from OA

Does Prof. Nahin's biography mention PC Brock?

http://www.elayer.org.uk/page2.html
> And since good people like good colleagues, that means the best programmers could collect in just a few hubs. Maybe mostly in one hub.

Owner of prestige hub wants it to be more prestigous, and wants your policy support to make it happen. No where is this spelled out as a conflict of interest.

Ycombinator seems similar in many ways to the Law Firm partner/prestige system, or the university prestige system, or the scientific publisher prestige system.
I really want to believe this, but I'm not sure that I do.

Of course the tech companies want to hire people from overseas; being able to hire someone from India for half the cost but have them live in the US so there's some level of accountability/trust is a no-brainer. Huge new, cheap talent pool.

But, if I'm an entry-level, US-based programmer, what I see are floods of cheap talent, some with questionable skills, coming over to compete for my job.

On the surface it seems as simple as a conflict of interest between employees and the companies that employ them. Supply/demand.

Dig a little deeper and the argument becomes that the top programmers we're bringing over are going to start great companies. That makes sense; part of the reason the United States is so powerful is selection bias: If we create an environment the hardest-working and smartest people in the world want to come to, the end result is a lot of great companies that create enough jobs for everyone. Elon Musk isn't starting Tesla or SpaceX in South Africa (where he's from). So we create an all-star selection of the human race in one country, make laws that are favorable to people coming/staying, and the economy explodes.

What I'm not clear on is what the effect of opening the doors to programmers would be. Would truly great companies be started enough that the entire economy is shored up, or would it just dilute the talent pool to the extent that being a programmer isn't a "special" job you get paid $150,000/year for being decent at? The long-term, macro result of this would be interesting.
And the answer will be "because he was unable to make himself listenable".
I'd say it's more reminiscent of Python, sans the dollar signs.

I feel that calling it a framework is really pushing it. C is such a simple language, and things like the GNU C extensions and the macros the Linux kernel provide offer some similar semantics, particularly when dealing with linear data structures. Not to mention, when dealing with POSIX, your coding style completely changes to fit what it gives you.
Or pay them the same as American workers and allow that money have an amazing effect on the world.

Or we can continue only hiring Americans. Those $100 hoodies aren't going to buy themselves.
My gift URL isn't loading.
Recognizing other countries' education/qualification/certifications would assist, as well (once they are here). I have spoken with a few people directly that had to start over once living in the US, their previous efforts were discounted.
I think it's a bit disingenuous to not even mention cost in this article. Clearly a lot of companies are using H1-Bs to save money more than to find great programmers. Even ones that genuinely want exceptional programmers may not even have the capability to identify great programmers.
For those wondering about sources, Wikipedia has a solid article on the dates in the bible, and seem to settle on about 50 CE as the original authorship dates. [http://en.wikipedia.org/wiki/Dating_the_Bible]

Totally ignorant question, but what year is accepted as the official death for Jesus?
See http://elem.com/~btilly/ab-testing-multiple-looks/index.html for a series of responses to this article.

I never finished the series, but the second one explains why, in the real world of web tests, the issue it is concerned about is pretty close to a non-issue. (At least if you wait until you've reached a fair portion of the effort you would have been willing to put forth.)
50 States in Model S
Another great essay by Paul Graham that spells out the idiotic state of the current US immigration system in a clear manner. It is fucking unbelievable that even in the comments here there are still people complaining about foreign programmers driving salaries down or taking jobs from US citizens. Paul Graham is right and any intelligent person can see this.
>So they claim it's because they want to drive down salaries. But if you talk to startups, you find practically every one over a certain size has gone through legal contortions to get programmers into the the US, where they then paid them the same as they'd have paid an American. Why would they go to extra trouble to get programmers for the same price? The only explanation is that they're telling the truth: there are just not enough great programmers to go around.

And yet most start-ups pay programmers far less than they pay their lawyers.
If you put all the engineers at Facebook, Apple, Google into a typically-sized college football stadium, they would barely fill it. The new digital economy is not inclusive for everyone, most everyone who does not produce technology is a spectator (e.g. walking down the street swiping their phone, sitting in a bar swiping their phone v. writing apps or infrastructure software).

The reality is that the Apple/Google/Facebook level (and aspiring) companies want the H1B limit raised so that they can attract the best in the world. However, there are companies with profit-based motives. Infosys, Wipro et al. extensively abuse the H1B system and create a system of indentured servitude for, mostly, the non-Apples of the world. The companies that aren't shining stars - but like most other companies need software maintained and built to sustain their business.

Not every talented non-US Facebook employee wants to live in their home country. In some cases, the home country has rampant inflation/unemployment/bad schools/crime. America is still very much the land of opportunity, despite its flaws.

Consulting agencies almost always reach a point where they can't maintain quality and simultaneously pursue greater revenues (because they can't hire enough good people). What usually happens, sadly, is that the revenues take precedence and they start diluting the overall work quality.

You still can't beat the power of face to face human interaction unless you build something like The Matrix - where every one inside it is a hologram.
Read: We don't want to train workers or pay them a good salary. We expect them to know everything beforehand and be content with crappy wages, then wonder why the brightest kids are going into fields like medicine and high finance.
And, ageism.
Sure, sounds great.

But out of all the people that would love to immigrate to the USA, how can we possibly distinguish the "great" programmers from the merely competent (or less)?

Hiring is already an extremely difficult problem for the most sophisticated technology companies in the country. We can't possibly expect a government agency to do it well at all.
The current title has an implied if, not an iff.
The man lives a life right about one step up from a monk. $1m spread out over a lifetime of work on behalf of all of us doesn't add up to much budget per day. If he lived by the rules of some of the haters in this thread he'd be a lot richer. Those grants were because some people recognized the importance of his work and would rather have him continue on this path than to go work for some company to support himself. It seems to have worked out as planned.
One thing this could be really good for is organizing concert videos.
https://skimmablevideos.herokuapp.com/skims/show/549daa1c66f...
Online Video Gaming and Big Data
Why would the distribution of great programmers around the world assumed to be even?

Is it because of widely accessible programming resources for cheap through the internet?
Which is interesting because there is such an oversupply of lawyers in the states.
Precacheing templates with Angular Templateloader
I guess he thinks your born with the qualities of great programming. So, the meritocracy really can't exist then?
I wonder what the all up cost of getting someone an H1B visa is currently? Is this an annoying bureaucratic hurtle or a real barrier to talent entering the US?

My perception is that the cost is around $20k (lawyers/filing fees) + some uncertainty due to the lottery. Is that a barrier to a person that's worth paying $100k+?
We already have visas specifically targeted at letting in exceptional talent: the O (temporary) and E (permanent) series. Of course, the tech industry lobbying is not generally speaking around those visas, but rather H1-B. So I don't think it is entirely correct to assert that industry wants more "genius visa" types, they want more journeymen (gender-neutral; the kind of staff that are competent but not exceptional, or else they would be here on an E-series). Why ever would they spend lobbying dollars unless there was an expectation that spending $X on Congress today will save them $Y (Y > X) in wages in the future?

Don't get me wrong, I've greatly valued the talented non-US folks I've had on my teams over the years. But I'd rather we gave them an easy path to citizenship if they want to be here rather than giving more of them the opportunity to be borderline indentured servants. Then they could fully enjoy the benefits of the society they're contributing to, including labor flexibility and the ability to bargain for a fair market wage. I'm sure the free-market enthusiasts running large tech companies or venture capital firms love that idea.
Christmas Day ecommerce traffic report and trends
If someone is smart and wants to work in the US there should be no barriers to doing so. I don't deserve any job or salary if someone else can do it better or cheaper. We are all human beings in the sense of our right to fair work and wage.

Who wants to wake up in the morning and think "thank goodness some lawmaker is forcing someone smarter/better than me to live in poverty so I can have this cushy job"?

PG is right that most programmers are not all that bright. This limits the state of the art in our industry far more than most people realize.

[edit]: I can't believe this thread is getting hijacked by people who oppose PG's view on this and are downvoting comments in support of it!
Calculate the Day of the Week for Any Date Until 2099
One of the problems that the products face is that customers are going to ask, "Why can't you show me the statistics that X offers?" And if you try to say that it is statistically impossible to really offer that, they will tell you, "Well X does it, and they are smart. So you must be wrong!"

A classic example is that when Google put together Visual Website Optimizer they included a heuristic for the chance for each version to beat the control. This heuristic was statistically wrong. But since Google offered it, everyone else figured out Google's heuristic and did the same thing.
This is another interesting and massive PHP project aimed at user data security and privacy. Looks so impressive and it's a promising mail app by CERN engineers.
"I asked the CEO of a startup with about 70 programmers how many more he'd hire if he could get all the great programmers he wanted. He said "We'd hire 30 tomorrow morning."

Evidence-based policy proposal at its finest :)
That only tell how much their mentality is despicable. That a private company releases things they don't like on friday is one thing. But that an administration whose stated goal is to work for its citizens uses this kind of tactic is really low. And obviously just imagine for two seconds if they could also hide stuffs, lie, censor... ohh wait...
Hm, an article from pg I don't really agree with (even if I am benefiting from EU's open labor market).

There are plenty of 'exceptional' programmers out there with not exceptional salaries. Anybody is free to hire one. There are a couple of problems though:

- they're hard to identify
- they might be exceptional in one situation and mediocre in another situation. The fact you are doing great at company X and task Y does not guarantee you'll be a rockstar at company W and task Z.
- you don't want to pay for them. "I asked the CEO of a startup with about 70 programmers how many more he'd hire if he could get all the great programmers he wanted. He said "We'd hire 30 tomorrow morning." Well, if they're really exceptional and they worth 100x more than the others then pay them $5M/year and they're going to come to you. I know this won't happen, and the reason for that is exactly the fact that you have no clue how much they're going to worth for you. You could even pay only $500k/y to these excellent guys but no startup does that because they're not sure.

So please let's forget these stories about rockstar programmers and whatever. It's simple: if US could tap the international talent pool without restrictions then labor costs would go down by 50% OR it'd be easier to find good ones quickly at the same price, therefore one of the biggest risk factor in startups would be less of a problem. I completely support this argument, by the way. Don't dilute this debate with 10x (1000x?) programmers and companies who'd hire 30 people tomorrow morning at the market price (??) if they could find them.

*Edit: I have zero problem with downvotes but I'm genuinely interested in counterarguments, so please explain where am I wrong. :)
Ask HN: Any app/online portal to learn C++ on a 2GB Ram/16GB Flash Chromebook?
It's a nature vs nurture argument. I think Paul believes certain programmers have some innate quality that means they're magnitudes better than others. As it's innate it's not related to culture. As in you could give certain people as many opportunities and as much education as you like but they will only ever achieve mediocrity.
Some random example code from this manual:

// /CT/ It is assumed that we have
E/ DSTI the following fixed contents:
@/ D//H
A/ R//P DS ££££
:/ /C/S RS ££££
S/ :CT/ JS ////
I/ @CTI
U/ :C/S
¼/ JS/P [should be DS/P?]
D/ A/
R/ @/

That's brilliant.

P.S. OCR'ed version: http://www.computer50.org/kgill/mark1/mark1book.html#manuala...
I am always weary of a sole authored physics paper, especially in particle physics. Either he had nobody working with him, or nobody wanted their name associated with the work, both raise red flags these days.

Direct link to arxiv paper: http://arxiv.org/abs/1408.2804
It is amazing to me how the same group of people can rail against rent seekers in a thread about uber or airbandb and then turn around in a thread on immigration and act like their own rent seeking is pure and good and right. I guess it is all a matter of whose ox is being gored.
"it's easy to imagine cases where a great programmer might invent things worth 100x or even 1000x an average programmer's salary" ... yet they get paid maybe 1.5x
Study of Educational Impact of Lego LOGO Dacta (1999) [pdf]
The problem isn't the cost. Most tech companies (in SF/the Valley) at least will gladly pay the 10K in legal costs (amortized over 2-4 years, that's a small percentage of fully loaded cost). The problem is the cap. If you try to bring in a talented person then you're rolling the dice. 50% chance they get H1-B - oh and you can't apply until April 1st, and you don't find out for 2 weeks (if you expedite) or 3 months (if you don't). And if you DO get the visa then they're not allowed to start working until October 1st.

So you have to take them through the entire process before April 1st - so realistically Jan/Feb/March, and then you won't actually be able to have them in house until October. Large companies can weather that kind of delay just fine, but a 5 person startup?
... And he could, if he simply out-bid his competitors.
Shawshank Redemption is one of the most "American" of all movies, the movie Frank Capra allways wanted to make but never did.

When I first saw this movie, in theaters, in 1995 I found it highly enjoyable, with a narrative very well built, but certainly not a classic. It is very conventional and I didn't see anything revealing or innovative about it.

Now I understand that its virtues are exactly its conventionalism. Its message is the same belief that drags people to churches and self help books: "preserve and you will prevail". The storytelling is perfect: a slow and steady stream of setbacks until a liberating end. It has a Morgan Freeman voice over, what can be more reassuring than this? That voice is so reliable that the man played the role God more than one time and Nelson Mandela.

Whenever you're unsure, confused and insecure about what you think or believe "Shawshank Redemption" is the most reassuring and comforting of all movies. Not even Frank Capra could do better.
Yea, I've worked at plenty of SV startups. I hear a lot about this "chance brilliance" phenomenon as the reason for stuffing people into the same open space. Usually it just means lots of noise and interruptions where you can't concentrate on anything you are doing.

I can see this argument work when the team is like 4-5 people, but the moment you are at 15 and above, it all breaks.
People can disagree with PG (and you) and also be intelligent.

For example, me. PG is partially wrong, objectively. About the only thing his essay has correct is that there exists intelligent, very good programmers outside the US.

The collusion suit that big tech companies recently settled, the wage stagnation even in our industry, and a wide variety of other facts suggest that keeping wages low is in fact a very important goal to technology companies, and that they will do anything--including illegal collusion--to keep them low.

If anything the notion that there just aren't enough qualified (well-qualified) workers in the US to fill tech positions is at best an extraordinary claim that PG's essay fails by a wide margin to substantiate.
H1B does offer a path to citizenship, and I've never known an H1B not to at least get a greencard (some choose not to take the next citizenship step for good reasons). Contrast this to my Chinese working visa, which has no path to being a citizen (not that I would want that being a U.S. citizen).
"The US has less than 5% of the world's population. Which means if the qualities that make someone a great programmer are evenly distributed, 95% of great programmers are born outside the US"
That is some very flawed thinking right there.

If this statement about how all the great workers are not US was true then they could outsource all programming outside the US easily just like call centers. This article is just more propaganda to pay programmers the same wage as minimum wage.
Meanwhile, why don't get better at management to allow remote work? ...
...and while you can train people to be competent, you can't train them to be exceptional.

Why not?

Every exceptional programmer I've ever met was unexceptional at one time. Something happened for them to become exceptional. I personally believe that while that "something" is most often "doing", "training" is often a big part of the equation. And that training is more often than not training their beliefs as much as training their skills.

Many of the best programmers I've even known never imagined themselves being able to do what eventually became their norm. For a lot of them, all it took was the guidance of a caring mentor or trainer to see the possibilities.

Regardless of where programmers come from, I take it as a serious responsibility to help them become what they can be. Not saying "can't" is the first step.
> I've yet to actually use Cello myself since I feel like if you hack C up that much, you might as well just use something like C++, C#, Rust ....

Since the early 90's I never understood why some programmers insist in using what is basically a portable macro assembler for higher level programming.

It was already primitive when compared with the likes of Modula-2 and Turbo/Apple Pascal, not to mention all the other alternatives even higher level.
Well, he does say "if"...

I think PG's point is that some people are naturally great, regardless of their environment. So, yes, Congo or Nigeria or whatever have a bunch of guys who might have been great programmers if given the opportunity. But in less extreme cases, i.e. most of the world, those naturally gifted folks find their way into a compsci program or start hacking on an old machine and teach themselves or whatever. So even if only half of the 95% of people born with great aptitude are found in places with modern amenities and good education systems, that's still 9x more than here in the US.
> Why ever would they spend lobbying dollars unless there was an expectation that spending $X on Congress today will save them $Y (Y > X) in wages in the future?

Because those X lobbying dollars could make it possible for them to get people that allow them to create things that are much more valuable than $X (after subtracting wages) that they wouldn't have been able to create otherwise.