skysight-inc/HackerNews huggingface dataset:
To me the main failure and what negates the argument to me is that 95/5% population. Yes, I agree that the US makes up a small percentage of the global population and to think we have the best, smartest or only of anything is stupidly arrogant and extremely short sighted.

However, to assume that of the 7 billion people on the planet and the 6.7 billion that are not in the US are comparable in education, opportunity, training and ability is just not realistic either. While I agree too that greatness can't be taught necessarily, it also can't exist without education, drive and opportunity.

The problem is when you use misleading statistics to make your argument it causes intelligent people many times to negate the validity of the entire argument. While I don't have a problem with h1b's overall, I do have an issue when startup's and other companies argue they can't find anyone in the US.

Having managed a large development team at one time and having used large numbers of H1B's, what I learned was that H1B's are far less job mobile and far more tied to the organization sponsoring their entry. Which is of course one of the core reasons companies like them. It makes competing for the same resources far cheaper and keeps wages lower overall. In most situations when demand increases and supply decreases, cost goes up across the board (e.g. salaries). In tech, the salaries don't increase as much as the cost to the lawyers to get more H1B's to help keep the pay lower.
>The technology companies are right. What the anti-immigration people don't understand is that there is a huge variation in ability between competent programmers and exceptional ones, and while you can train people to be competent, you can't train them to be exceptional.

What Paul Graham doesn't understand is hardly any of the H-1B people companies are importing are exceptional, and half of them aren't even competent. It's not even about getting enough labor to fill open positions. It's about flooding the market with low cost labor so US technical people lose market pricing power.

These companies don't even know if there's a US citizen who's qualified for the job. I mean, this kind of stuff goes on all the time:

>The contention of the DoJ in this indictment appears to be that Mr. Cvjeticanin was defrauding companies seeking to hire IT personnel, yet for all those hundreds of ads — ads that for the most part never ran and therefore could never yield job applications — nobody complained!

http://www.cringely.com/2013/07/18/so-thats-how-h-1b-visa-fr...
"American technology companies want the government to make immigration easier because they say they can't find enough programmers in the US. "

I think the question is who are the technology companies that want the government to make it easier. Is it "traditional established" companies that can't get quality programmers because anyone good is off trying to hit the lottery at a startup? Or is it the startups (trying to hit the lottery) who can't recruit?

Either way the question is if the chance of a startup working is considered mid to low (failure rate) then what happens to all of this exceptional labor down the road? The assumption that the current demand (startups) will last for a long time isn't necessarily correct.

Being in business many years (longer than PG iim and it should matter actually) I've seen plenty of cases where people make a demand assumption that later turns out to be the reason they go out of business (buy a new warehouse, expand the restaurant and so on).
If multiple proprietary software packages are talking to each other at all, there must be either an implicit or explicit specification they're talking over. And if that interaction is broken, that implies that either (1) the spec is ambiguous/wrong or (2) one or both parties are implementing the spec wrongly.

It seems to me that engineers from the relevant companies ought to be able to get together, talk over the problem and figure out which of those is the case, even if they're not looking at the same source code.

In any case, a well-defined spec/API is critical to effective integrations between pieces of software maintained by different teams, even if both components are open source.
". . . it is not up to corporations to dictate terms of citizenship at their convenience."

Of course not. But it is up to legislators to make decisions that are in the best interests of the U.S. going forward. An enlightened view of that might, as P.G. suggests, include allowing more programmers to come to U.S. To suggest that programmers are somehow analogous to fast-food workers is seriously misguided.
SaltStack or Ansible
Boy, are we diverging :)

From my experience TDD is kinda newspeak in the sense that it does not help at least in the first stages of design. From what I've managed to gleam as valuable way of working is test driven implementation. I.e. when implementing something akin to a simple datastructure I can test the interface functions as I write them which verifies the interface is not silly and that it works.

Another place where implementing tests concurrently brings value is using the tests as a form of documentation.

I would not call TDD a design methodology beyond the fact that usually implementing interfaces (and verifying it works) is good practice while speccing it.

Tests bring lots of value to a codebase beyond the fact that it sounds impressive to have a 95% coverage. From what I understand of the pathologies of software development having the TDD tagged as methodology is to allow the programmers implement tests in peace, politically shielded from the more gung ho elements of the stakeholderkin.

Summary: IMO if production code has no tests something is wrong. But I would say the most value tests bring is in verifying the algebra of the interface, protecting against breaking commits and documenting the inteded usage through examples. I would not say writing unit tests is a particularly powerfull design methodology but playing with code is, and calling what the developer is doing as 'TDD' gives the developer the mental piece to do exactly this.
What we have found from running Weekdone (https://weekdone.com/) which has options for both daily and weekly update reports I would say around 5-10% of customers opt for the daily option. For most, weekly updates via e-mail are enough - just like many rune their stand-ups weekly and not daily. Of course, we do have a real-time newsfeed which many use on mobile and web for the updates.
Hard to tell if training by SSI or so is the solution, but any kind of training would probably do way more good than bad. Sure some research code is quite difficult and not all alike your typical we/business app, but that doesn't mean universal programming principles don't apply or wouldn't make for better code. I'd also argue that pointing to the right places, in a way that sticks, i.e. with proper explanation of why those are the right places, is training.
The CEO couldn't hire 30 tomorrow morning because he wouldn't pay what they're worth, else he would have already hired them.
He used other derived data, and didn't himself perform any experiment which can be duplicated. We'll hopefully get a better understanding of neutrino mass from KATRIN [1], which will likely lead to additional insights into their speed.

1. http://en.wikipedia.org/wiki/KATRIN
As of the mid-1980s or so he believed that the government should pay programmers to do their thing.

I seem to remember he supported Hugo Chávez.
In addition to the cheap & bad / talented founders pools there's also the pool of expensive and talented workers who just want to code. I mean, I wouldn't move to the US to work for half of what you make if I'm doing the same job, right?
No- you're thinking of the railroad builders (1860's-1870's). By 1900, when the railroads were into their big boom, most of the imported construction workers had either become citizens or given birth to the next generation, who were citizens.

I guess should have clarified that I meant the engineers, brakemen, locomotive builders, and mechanics, and not the well-known Chinese and Irish immigrants who made up the workforce building west.
Fast food restaurants don't get to import the best burger-slingers from Germany.

But we don't export burgers to Germany. If we wanted to export burgers all over the world then we'd have to bring the world's best burger-slingers over here first.
Unless they start a startup. But, H1B doesn't make it easy for a startup founder to come to the US, since it requires the startup to already exist and be funded in order to go through the H1B process. So, it's a chicken and egg problem.

My co-founder is in the US on a visa that was sponsored by Google (and he still works for Google). Had that not been the case, he might still be in Australia (we probably could have made it happen had we needed to...but, he might not have had the motivation to come here without the Google job).

What I'm trying to say is that H1B does tend to lend itself to indentured servitude. Foreign workers here on a visa are less likely to seek other employers, because they have a visa to keep renewed, or they have to seek citizenship (which is a whole other pile of problems). That probably does depress the industry baseline salary.

But, my desired solution is not to reduce the number of indentured servants, but to kill the limits on their freedom to work that makes them indentured servants.
What PG is stating is broadly true.

It may be possible to eke out a few more % of programmers by teaching computing more widely.

At the moment the bunch of programmers is fairly self-selecting, and there may be many more people who may be great programmers if exposed to the possibilities.

For instance, some people who would normally become metal workers, stone masons, fine artists or mechanical engineers could make excellent programmers.
""training" is often a big part of the equation."

I think the assumption is that at the speed these companies are operating having to wait for a "trained" (assuming it's true) batch is simply to long. By that point they may be out of business.
Why you feel so lousy after a huge holiday meal
Or maybe interview them before hiring? :)
Things like this make me happy. Not all labs have the proper atmosphere for getting such improvements pushed through, so if you try and start succeeding that's marvellous.
Then why doesn't he hire them IN country X (say India, China). Only pros. No visa issues. Salaries even lower. Excellent people...
Nothing is wrong with that. Except that the Bay Area has become so ridiculously expensive, that at the end of the day, the only ones making real money there are the landlords. The landlords who were lucky to buy a piece of shit property 30 years ago for a dime and now charge you thousands for it.

Still want to drive salaries downward?
I do not believe the USA is "best in class" as far as first world countries go, but having traveled abroad to 3rd world countries things could certainly be a lot worse here.

To give an example while in Belize I was told by one of the natives that in the event of a serious emergency one would probably die because just getting to the nearest hospital would take 4 hours best case scenario, but likely longer.
You can "play" the game here: http://xefer.com/gameoflife
It will never be in the best interests of the United States to admit anyone into the country to please the desires of the stock market or of large corporations or of wealthy venture capitalists.

There is nothing, other than a modicum of education, that separates a talented software engineer from a talented fast food worker. I've seen plenty of engineers who I'd never trust with a burger or a grill.
Anybody who travels 4,000 miles to a new country to work in, and to live with people they have never met, have proven themselves to be the sort of motivated person you want to hire.
Nim, with its Pythonic syntax and native code generation via C, compares as well [1].

http://goran.krampe.se/2014/10/20/i-missed-nim/
what about the countries that are then deprived of this talent?
exactly. And he would have those 30 tomorrow morning if he increased his offer. He is struggling to fill those 30 because he managed to fill the first 70s at a price that he liked, but he is unable to do so now due to change in market condition. But he can't just increase the offer now because then he would have to increase the wage of the first 70.
Yes that is the point I'm making. That is not the point Paul Graham, Zuckerberg, or FWD.US are making. And if they aren't making that point, it's not going to be in the bill that gets passed through congress.
This concept of a "great programmer" is something I find very suspicious.

A competently trained engineer who works with distributed systems may implement a trivial fix and save her company tens of thousands of dollars in AWS bills.

Someone with a strong background in programming languages might implement a PHP -> C++ cross-compiler and double the throughput of her company's web servers.

The capability to recognize these improvements does not require some inborn spark of genius. Rather, it requires the prerequisite experience in some programming sub-field. Experience which can be learned.

Moments of rare insight do happen - "hey what if we cross-compile all this crappy PHP to C++?" - but these are a matter of random chance: get enough folks with programming language expertise working on a strictly PHP codebase and eventually someone will have the idea.

The "born programmer" is a myth. A great programmer is often a person with a high level of training in some particular sub-fields, and/or, a person who is very savvy regarding the craft of building software (i.e. "The Pragmatic Programmer").
Do you think YC startups are lying when they say they're struggling to hire? It is obviously in our best interests to hire every great programmer we come across - no matter what. If you really think that there are some great developers out there who are struggling to find a job in the US please send them my way or send them to ANY of the YC startups and they'll be hired within 2 weeks.

How long do you think it takes to teach someone to be an exceptional programmer? 5 years? 10 years?

How long has Facebook been around? How long have most small tech companies been around?

Yes, in 10-20 years after all the parents today are telling their children to get into software we'll have a glut of developers. But right now, there's obviously not enough. And the quickest way out is to relax the limits on immigration.

If the US doesn't do it, then it's a great opportunity for another attractive first-world country to take the lead. Maybe Canada will.
It would be very interesting to pair this with a very well designed minimalistic web framework, drivers for things like Redis, etc., for some VERY high-performance web backends.
Webpage: http://web.cs.wpi.edu/~jshutt/kernel.html

An implementation: http://klisp.org/

Others: http://axisofeval.blogspot.fr/2011/09/kernel-underground.htm...
I wouldn't think that a roadster is the correct vehicle for LRR tires. I had them on my 1st gen Insight and they are terrible, terrible things from a performance point of view.
Fastest Internet Ever Hits Minneapolis First
I don't think performance is the issue. A heavy static file serving workload (like a CDN) is either I/O bound or memory bound, depending on whether data set can fit in cache and the network situation.

The HMAC verification is just doing MD5/SHA1 hashes and comparing for equality, which all CPU (and really CPU, not CPU + memory, since the data is so small). It's tens of microseconds of CPU implemented in JavaScript (Table II). I'm sure it will be single digit microseconds or less implemented in C, so that's at least 100K - 1M req/s. The CPU will be negligible compared to the rest of the workload.

The performance issues with naive solutions for auth of static files are pretty different: hitting databases for auth checks, copying data through two process, context switches, etc. Those are things likely to slow down a static file serving workload.

There is some extra "complexity", but I think it's almost the simplest solution you can think of for auth, even ignoring performance. It's a lot simpler and more robust than say putting a database in the request path.

The implementation isn't as big as it may appear. There is an open source library that is less than 2K lines of C:

https://github.com/rescrv/libmacaroons/blob/master/macaroons...

What I described is probably 200 lines of C or less. Again you are just verifying an HMAC chain. And the code for hash functions is stuff that probably already appears in all web servers anyway. It's using only the simpler "first party caveats" and not the "third party caveats".
Most people consider a move to a new apartment in the same city inconvenient.

There are very few people who wouldn't consider being forced to move across continents, while giving up their rights, a highly biasing factor in the pros/cons of any decision they made.
This is so screamingly correct. Let's go see the startups hire some old COBOL (or now, VB) programmers and train them on the new stacks, before we listen to anymore of this "there's not enough programmers in the USA" garbage.
FWIW, truly exceptional programmers can always be hired under things like the O-1 visa (unless tech isn't included in "sciences" or "business"). I assume that they mean people like Linus or Bill Joy when they mean "great programmers", not somebody who can sling Javascript 20 hours a day...

Or, are all the companies looking for these rockstars looking to help them immigrate to the US, rather than spend a few years solving problems? Cuz I think they're not...
Show HN: Bzinga Games – Making Sales Fun
After reading the linked article, I am thinking of writing a bash script called 'lookBusy' that makes a machine look as though it is doing vital work.

This can then can be run on any machines that are idling but important, to reduce the chance of idiots appropriating them.
Competition in open source is much more fierce than outside of it, and that is a good thing. Imagine if your company had not been an open source company but rather a closed source company. Instead of being able to bootstrap you'd have to start with getting a large bunch of money on an idea that already has an open source equivalent. The chances that you'd fail would be roughly identical to doing it the open source way. But all your former customers would be left high and dry when you folded. That is what open source is all about, it is not about the providers, it is all about the users.

Sorry to hear you didn't make it, but your work will live on now, probably forever or as a part of some other offering, it may be small consolation to you but to me it proves the system worked.
This is true of any commodity - salaries for your talent, square feet of office space, kilowatts for your technology, you name it. It's called business. And it's not at all clear why you, I or anyone else should subordinate our own best interests, to make this guy richer.
"...you have teams as well as individual employees in companies able to manage the technology, but these tech-savvy people are never high enough in the company's hierarchy. What happens time and again is that those who have the expertise get overruled by those who don't."
Basically this proposition makes complete sense if you're an employer, and complete nonsense if you're not.

Of course the seductive argument of the bosses is that economic growth will benefit, but the post-crisis economy is proving to concentrate all returns to capital, and none to labour.

It's no wonder that those who champion it the most have nothing to worry about to feed and house their families for the rest of their lives.
"These companies don't even know if there's a US citizen who's qualified for the job"

This. I really think we're talking about different things though. Clearly, as has been proven, the H1B program is about importing cheap labor. This is a fact, like gravity. I'm sure that entrepreneurs like Paul would love to attract more excellent engineers, but our current immigration mechanisms aren't the way to do it, and really, that's not even what they're for (regardless of what their advocates say, again, based on fact).
Please read footnote [2] in Paul Graham's article. He is against the importation of low-cost programmers. He is only for the importation of exceptional programmers, regardless of where they were born.
Fix the obvious, rampant fraud first, otherwise you're dumping water into a bucket with a giant hole in the bottom. If you can't stop fraud then you can't stop more fraud when the numbers are increased.
Amazon Discounts Every James Bond Kindle EBook
I agree totally.
The level of violence for instance in your society, may be something you are used to, but others may not be inclined to make the move into such an environment.
I wonder where do you get your data for "hire someone from India for half the cost". Of all the facts thrown around - this is easily verifiable - http://www.h1bwage.com/index.php

If you ignore those employed on hourly basis, a majority of people on H1B are paid quite well. Apart from salary and benefits - add Visa processing fees for their Kids and Spouse as well (which can easily amount to > 30k+)

I think people underestimate how fortunate US is for being top destination of good programmers (and engg. in general). US has tons of companies founded by immigrants - Tesla, Bose, Sun Microsystems, Hotmail, Yahoo to just name a few.

I agree that, something ought to be done so as Services companies (Infosys, Cognizant) have limited access to H1B visa pool and process is fairer to smaller companies.
A fair point about half being a little optimistic. But even if it is just Europe we consider, that's still doubling the population of great programmers and that seems like a win, objectively.
I know all of that. I was one of them. But you got things half-right. If it were easier to companies to sponsor H1B visas, it would also mean that it would be easier for me to switch companies if I wanted.

I got a H1B outside of the quota (education/not for profit). The industry I was working was probably paying 10-15% than I could get if I got a job at a tech company, but not any lower than a startup. Every startup I interviewed was paying the same or more than the job I took. They would gladly pay whatever I asked. The problem was in dealing with the bureaucracy of immigration. Most of the fear of switching jobs would go away if foreigners knew they could be easily hired by small/medium-sized companies and startups.