skysight-inc/HackerNews huggingface dataset:
I wrote cmacro[0] and magma[1] with the goal of a augmenting C while keeping it C-like.

[0]: https://github.com/eudoxia0/cmacro
[1]: https://github.com/eudoxia0/magma
Not true. The legal landscape in some (many?) other countries gives companies much less recourse against IP violations. When you hire programmers, you typically have to give them access to a substantial portion of your code base if you want them to be productive. For overseas programmers, their country needs to have IP laws with enough teeth so you can be reasonably confident that your programmers aren't going to take your code and run. This is not an issue with call center workers.
Bitcoin 2.0 and Tokenizing the User Experience
The reason why tech companies will go through legal contortions is because they don't want to raise the salary floor. If a company can only find a great developer for $100k/yr in the US, but they can find a great developer for $50k/yr through H1B, it makes financial sense to lobby as long as the cost of lobbying is < $50k/yr. If the company is pg's example: ($100k - $50k) * 30 workers each year? Hell yeah I'm going to lobby for more foreign workers.

It's not about finding great developers. It's about finding great developers at a lower price.
Ask HN: How will immigration laws affect the freelance marketplace?
> Unlike Musk's HyperLoop, the barrier for software is not materials and resources, it's simply minds. If you're working on a crappy, bloated codebase it's because some business person likely accurately assumes that a rewrite would be risky and slow (b/c of the supply and quality of labor). <

No, the business person knows it will cost money to rewrite and simply doesn't want to commit the resources. It almost certainly has nothing to do with the supply and quality of labor.
wow, It looks very nice,

thank you very much!
Programmer's don't keep them out of jail if and when they do something that may or may not be illegal.
how many bottles of mountain dew?
Part of the reality of founding a company in the United States, and taking advantage of the freedoms and protections being in the USA offers, is that you have to work with the USA labor force.

If you don't like it- well, go international. Fast food restaurants don't get to import the best burger-slingers from Germany. Software companies have to live in the same space.

And it's complete and utter BS to suggest that there's no way we can make up for the gap in our education system. You have to invest in the society, and it takes time to train people. Railroads in the 1890's didn't suddenly wake up with a million trained workers at their disposal, and they didn't have the option of importing trained workers from the UK where railroads were booming. Part of the limits of their expansion was the need for training- and when they didn't train, they ended up with dead workers (25,000 out of a force of 1 million killed on the job in 1900 alone).

If someone wants to come to the USA on their own volition, and take their oath of citizenship- fantastic! We should all welcome them. But it is not up to corporations to dictate terms of citizenship at their convenience.
And even then, most of those who are in fact "great programmers" would probably not get offers.
I mostly agree, though if I had to choose between the model on which the code was based or the code itself, I'd prefer the model.

While it would be great and preferable to have both, isn't the code just a language/stack/programmer(s) specific interpretation of the underlying model?
>Roadster upgrade will enable non-stop travel from LA to SF -- almost 400 mile range. Details tmrw. Merry Christmas! (https://twitter.com/elonmusk/status/548269323681529856)

I think this is super awesome. The fact that range is up from 265 miles to 400 is a great accomplishment. I look forward to seeing what the Tesla team will be doing in the upcoming years.
Businesses die when they run out of money.

Paying your programmers 3-500K/year is a sure fire way to run out of money really quickly.

And while a great programmer is obviously worth it, most companies (at the early stage) have so many external factors that even a great programmer isn't enough, they need the time to iterate and find product market fit. You know the whole lean startup thing. So how do you circle that square?
You become exceptional by being curious and never satisfied. I don't think you can teach that. I mean, you can blurt it out to people all day but it takes intrinsic motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole.
How about Silicon Valley first working on actually optimizing the use of the current labor pool by letting in the REAL other 95% of programmers meaning ...

- Anyone over 40

- Anyone who doesn't fit the profile of a 25 year old white male

Until this happens in any real manner, these sort of pleas are just politics as usual for economic gain.
One thing that I don't get about the critics (especially the liberal-inclined) from H1B programs is: even if opening the gates ends up resulting in cheaper labor, what is wrong about that?

If the gates were open, the ones coming here to work for cheap won't be taking your jobs at the next startup fad. They will be working doing the things that Americans don't want to do: improving network infrastructure, doing boring TPS reports in biotech firms, basic IT, local (better) tech support, maybe modernizing your craptastical banking systems. None of the Americans that complain about H1B ever seem to realize that.

You guys seemed perfectly fine to have the Chinese building your railroads and to have the hispanics taking care of your children or to work in the kitchen of your favorite restaurant. So much so that you seem to be okay with giving amnesty every 10-20 years to undocumented immigrants. No need to worry, the status quo will not be challenged.
To me the most interesting way of framing this is in terms of the changes that'll happen to the owners of businesses.

The question of the talent of the new employees is secondary when you realize they will have to move countries in order to be tied to a specific job on penalty of getting their visa revoked.

So suddenly, you create an unlimited class of employees with no bargaining power, and can play them against your native employees. This would be bad enough, but H1B visa holders usually make 20% less than their equivalent American coworkers.
"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."

Half is extremely optimistic. China and India contain a significant portion of the world's population, and there are significant populations in those nations that have never owned a computer.

Longterm, it is likely that many of these nations will produce significantly more good people in STEM fields, since the US education system is almost laughably bad at teaching STEM and at convincing students that STEM is worth learning. If that trend of US students going into arts and humanities more than STEM fields, particularly among women and minorities, we're unlikely to see an improvement in this situation.

I'm anti-border, and I think anyone should be able to work anywhere they want. But, I think the message should have two prongs: 1. Importing talent is mandatory and has no downside for Americans (except for Americans that don't like brown people) or the American economy. 2. Educating kids in STEM fields has to improve and kids, particularly girls and people of color, need better guidance about entering these fields.

Both issues are pretty urgent, I think.
The best 3 Windows laptops of 2014
Jeez, you Pivotal guys (sorry, "pivots") sure suck down that kool aid.
What I'm not clear on is what the effect of opening the doors to programmers will be.

There would be many effects which would interact with each other. But one thing that is sadly true right now is that for an engineering manager to increase his/her hiring budget there is unlikely to be a significant quality increase. Think about what this means.

If there were more talent, then companies would be able to justify increasing budgets to build/grow a superior team. In this market if you double your budget you just get twice as many mediocre programmers or you end up getting into a bidding war for highly priced talent. Neither is good for the field as a whole.
Did you read the essay? You seem to be totally ignoring the point that excellent programmers will be paid well because they are scarce compared to "decent" programmers. The goal is not to import cut-rate talent at cut-rate prices.
Just my $0.02: I agree with all of your criticisms. Despite that, I am an immigrant programmer living in California. I couldn't find any work in Europe that was as interesting and challenging as what I do here (obviously there are good companies there, but none aligned with my interests and were hiring). I routinely turn down opportunities to interview for companies that are far more appealing propositions than anything I encountered in Europe.
Here are the H1B Top Ten visa sponsors:
1	Infosys	32,379	$76,494
2	Tata Consultancy Services	8,785	$66,113
3	Wipro	6,733	$69,953
4	Deloitte Consulting	6,165	$98,980
5	Ibm	5,839	$87,789
6	Accenture	5,099	$70,878
7	Larsen & Toubro Infotech	4,380	$59,933
8	Microsoft	3,911	$113,408
9	Hcl America	3,012	$81,376
10	Satyam Computer Services	2,249	$73,374

How many of those are America's top tech companies who are in dire need of foreign engineers? The Top 3 by far are Indian outsourcing, sorry, 'consulting' companies.

http://www.myvisajobs.com/Reports/2014-H1B-Visa-Sponsor.aspx
> It's hard not to look on US healthcare as being the worst possible product of US politics and that starts to impact the standard of living thing.

It would be nice, if there were some rough guidelines, how much more I'd need to ask salary in the US, that would cover the extra fees for insurance and health care, that I get for free in most Western European countries?
Uughh Qwant --> "Servers by Huawei" , no thanks.
Absolutely. Sure one can argue if it is a top 20 country when it comes to all those things, but it's certainly a first world country.
I'm new to HN, and would consider my self a competent developer. How does a competent developer become an exceptional one?
But, is it really necessary that all, or most, those exceptional programmers are concentrated in one country? Becasue in the end that's what is being advocated here: keep the US a technological 'super'power. Why is that needed (honest question)? How about diversity?
Programming ability (similar to other STEM abilities) are power-law distributed, rather than Gaussian [1]. From this, it follows that training has very high probability of producing competent programmers but very low probability of producing exception programmers.

[1] http://www.sciencedirect.com/science/article/pii/S1877042813...
Paul's entire argument is a strawman.

H1B isn't about hiring "great programmers". It IS about importing cheap labor. This fact has been proven many times, with actual data rather than rhetoric, yet we still find ourselves having this same argument over and over. Here's a nearly 10 year old study that lays it out:

http://www.cis.org/PayScale-H1BWages
Paul Graham is representing the startups that he's invested in - not Apple, Google and FB.

The BigCos are already big enough to have international offices to mitigate these immigration issues. A 20 person startup doesn't.
>>Fast food restaurants don't get to import the best burger-slingers from Germany. Software companies have to live in the same space.

I don't agree with this. The tech industry is beautiful & far-reaching in large part because it doesn't have the restrictions of proximity to the degree of many other industries. I would hate to see artificial limits placed on it to force the same conditions as traditional Brick and mortar businesses.
What is wrong is that cheapness is enforced by making those laborers a second class citizen- they need to stay with the company that sponsors their visa or they get kicked out of the country.

Thats also the only reason why they're cheaper. Because, by law, their employers have stripped them of the only negotiating right an employee usually has- the ability to switch jobs.

This would be unethical enough if it existed in a vacuum, but instead it exists in context of citizens trying to get jobs, lowering their value while pitting them agains the workers without rights.
I would not consider your example to be one of a "type alias". Alias usually means that the names can be used interchangeably without a difference in behavior (i.e. casting). Go actually has some built-in aliases where this is the case. "byte" is an alias for "uint8". They can be used interchangeably. Here is an example of the distinction: http://play.golang.org/p/ukYCBqFeW_
Please tell me how the startup you mention identifies great programmers.

I would not be suprised at all that they are yet another company that thinks solving trick programming questions under pressure is what makes someone great vs not great.

sorry but i call bs on your startup that cant find great programmers.
Actually, studies have shown that IS the goal. It might not be Paul's goal, personally, but generally speaking it is the goal of immigration policy for tech workers - to make labor cheap.
I've always taken the approach to decide on a new concentration to study, and then learn the languages appropriate for that. First time I did this, the concentration was databases, so I set about learning SQL and data design and relational algebra. I wanted to learn more about front end development, so I focused on JavaScript, DOM, and single page applications. Other examples abound. But having a distinct idea of an application I want to build before learning a particular language has always worked out better for me than trying to find an application after reading a language's documentation.
Uh....most railroad workers were immigrants.

I get your point but that probably wasn't the best example.
How iBwave Leveraged Niche Expertise to Build a Hugely Successful B2B Business
What you touched at the end is part of a bigger problem, I think - people who write something as inconsequential as a shopping website, or Yet Another Chat App, are not worth $150,000/year. Maybe one out of one-hundred of those folks could use their talent on something that demands a wage like that outside of the absurdity that is the Bay Area. I don't feel the talent pool will be diluted so much as your run-of-the-mill developer won't be expecting a six-figure salary coming out of college anymore.
I didn't see the comment as a personal attack. It was merely pointed out that the commenter finds papers with a sole author to be questionable.

As for "his experiment", if you actually read the article, you can see that there apparently was no experiment; rather, the paper's conjecture relies on analysis of data from other observations and experiments. So the answer is that nobody will be duplicating the experiment in question, since it does not exist.
Using the same argument we should be investing more in the groups that traditionally haven't been into programming - women and minority groups. They are already US citizens without needing a visa sponsorship.
I generally find PG very convincing, but not here. Opening up immigration would have major side effects, though probably it would help companies hire top programmers. But rather than bear that cost, would we as a society be better off if we tried to educate children better, get more kids hooked on being makers, whatever it is you believe is important?

Fundamentally, making the 95-to-5 population comparison only makes sense if the 5% is at or near maximum utilization. And it's not at all obvious that American potential talent is that heavily utilized.

As an aside, it's also not at all obvious to me that we can't teach exceptional programming, at least for some people. In fact, the idea that top programmers are vastly better than merely good programmers is also not obvious to me. Think about lifting things: Perhaps I can lift 50kg and some one else 52kg. If the task is to lift a 51kg object, the other person is infinitely better than me. But if the task is just to lift moderate weight objects, we are indistinguishable. Similarly it seems plausible that for most tasks "very good" programmers are indistinguishable from"great" ones.
Paying more will just shuffle around the exceptional programmers who are already in the US. But pg's point is that the US should be trying to attract more exceptional programmers. And the more the better, because they don't just add talent, they multiply it. (That's one thing that makes them "exceptional".) The secret sauce of Silicon Valley is not just the exceptional people, it's that they're all in the same place.
Data Elixir, Issue 15: machine learning in the real-world, tricking neural nets
Any reputable tech company (or startup) will provide health insurance and or sufficient wage so that you and your partner will be able to afford more than adequate insurance.

It's not the upper-middle class programmers that get screwed by the US' ridiculously evil and horrible health care system. It's the 99% that make less than 100K/year.
Oh, that is nice--think I'll start heading there by default (https://en.m.wikipedia.org/wiki/Main_Page).
Become a Good Programmer in Six Really Hard Steps (2011)
https://hn.algolia.com/?q=formal+methods#!/story/forever/pre...
I don't think waking someone up every night at 3am for a question/idea is 'seamless' or productive at all. Delayed email for when they wake up is what we generally deal with, but it definitely creates friction when working across large time zones.
In high school, part of the reason I chose computer programming as my future career is because I like it, and part of the reason is that I knew not a lot of other people did, or could do it well. I didn't know what the world would be like in 20 years, but I figured that was a good way of giving myself a chance at having a good job down the road.

Computer science courses in college were much tougher than in most other majors, and there were many, many nights I'd be coding away to finish a project while my friends were out partying, playing video games, etc. I like art, history, and music too, but I figured it was worth it, just a few more years and it would pay off.

Now, just as it is starting to pay off, people are trying to change the rules. I've been trying to get my 10 year old nephew interested in science and math, encouraging him, so he can make the same choices down the road if he wants to. But if the plan is to swoop in at the last minute and remove the rewards for delayed gratification, maybe I should tell him to have a blast and do whatever.

Either allow full immigration for people in any career (best option), or have the same stifling limits for all careers (distant second). Don't cherry pick who's going to have their careers dis-proportionally affected.
Automakers lock consumers into rebill programs via debt, i.e. a car loan. Tesla locks consumers into rebill via equity, i.e. a nice car, conveniently iteratively upgradeable. Thus Tesla gains capital advantage because it has no liability after disposing of a car asset, while automakers generate debt liability. For every car manufactured, automakers create a liability for themselves, while Tesla creates an automated income stream. Consequently cash flows better in Tesla than in its competitors. Relative to that of automakers, Tesla cash flow increases exponentially. Tesla is competing on a different level. The automakers will be lucky to earn a spot on Tesla's platform. At the very least, Tesla has a first-mover advantage in a surprisingly new market.
> that's widely applicable

Other than Laravel (PHP), Python and Erlang (then Elixir), there's not much to try that's applicable. You'll be pleasantly surprised to see that your Erlang implementations are orderS of magnitude smaller (codewise) than your Java implementations, with different performance hurdles. Try new dbs like Redis or new messaging primitives like ZeroMQ. Find a basic analytics package like Munin or RDDTool.

I'm disappointed by the suggestions on this list, which is an ear full of bad advice. elm, kernel, julia? At least Lua is something that you will run into as an option, from time to time. That being said, you don't need to practice it. It's easy to treat it like a dumber version of javascript and you're fine.
What can a person with 10 years of experience in a framework know that someone with 2 doesn't?
I'm not exactly sure what problem standupmail is trying to solve, or if it's artificially creating one. Sending out automatic reminders for status updates and a daily digest doesn't justify the pricing IMO, as it's something that can be done easily via automatic email reminders / calendar events.

StandupMail seems to want to replace daily standups for teams, which I don't think is a good idea.

First of all, standup meetings are essential to start the day. It's the team's huddle before heading out into the field. It's to provide updates on yesterday's play, but also to discuss briefly any topics of importance, making sure everyone's on the same page for the present day. Replacing that with a one-directional email update would hinder all that.

>INCREASE PRODUCTIVITY

I would argue that taking the time to write an email, read each other's update etc actually reduces productivity overall. It's much easier to go to a 5-10 minute standup and hear everyone's update as well as verbally provide your own update. In fact, if I need more clarification from someone's update, I'd have to interrupt that person after I've read the email, or write out more emails.

> Avoid time-consuming status meetings and interrupting the team from accomplishing their tasks.

Standups and status meetings are supposed to be brief. They usually happen at the end of day or beginning of the day where it provides a lot more value (as a wrap up or an anchor to the start of the day) than interruption (if any). If your status meetings are taking a long time, you're doing it wrong.

> NO MICROMANAGEMENT

If a regular standup = micromanagement, then how is an email reminder for standup updates not micromanaging? Keeping the team on the same page about what needs to be done is easier with a verbal standup. IMO whether there is or isn't any micromanagement in regular standups, it wont change with email updates. It's more of a team dynamic than a process/tool issue.
It looks to me like the solution to the problem is simple. Just have a "high tech visa" with no number limit, but one simple requirement: The company requesting the job needs to be offering something like 150% (or 200% or whatever makes sense) the average salary of the US workforce, or in their state.

This will ensure that the visa will only be offered for skills that are difficult to find in the USA (or the specific State). No problem of driving salaries down.
The only reasonable way to let more "great programmers" in is to let more of all kinds of programmers in.
Do you mind if I submit a javascript version!?

http://js.do/code/48519

http://js.do/code/48526 (Optimized milliseconds). :)
So we should let people come and give them more rights to switch jobs. Simply keeping people out is not the answer.
> tied to a specific job on penalty of getting their visa revoked.

This is true if you hire from third world. I am from Northern Europe, and having a visa revoked and going back to my home country would not be a threat to me. I'd just happily move back home, and find a job there.