skysight-inc/HackerNews huggingface dataset:
What I write below is based on my real-life experiences.
I had a NoSQL database startup called Scalien for ~4 years.
There was a lot of competition (eg. MongoDB), most of it was opensource, so we were opensource.
This was also in line with my feelings: I'd like my work to reach as many people as possible.

You cannot sell opensource software itself directly because it's free.
What you can sell is:
1. 24/7 support
2. Enterprise/proprietary features
3. Consulting/custom development based on your product

Problem is, in this business model (called "enterprise opensource software"), you're not getting paid for writing the core software product itself. Your clients expect you (or somebody) to just do that for free.
A more nuanced problem is that those 3 types of revenues only scale linearly: if you want to support 2x as many customers, you will have to hire 2x as many support engineers. Your profit margin will not increase as you add customers.

Towards the end of my startup I had a shocking insight. Given the above revenue channels, I should have just tried to be the n+1th Hadoop vendor and screw my own product. That way _I_ don't have to invest my time to work on the core product, which doesn't get me revenue anyway. I can just concentrate on the revenue generating stuff. And Hadoop was already an established opensource project anyway.

In the end I didn't do that, because I wanted to have a product company, not a support/consulting/custom development company. And there was already Cloudera et al. The company failed.

More generally, there's no good incentive to develop a new opensource product if you want to make money off it. If you try to, you will spend a good deal of your time writing the core product for free, taking on the huge risk of first trying to make it a successful opensource project (not business). Then, if and when it becomes a successful opensource project (a big if), you will split your resources between working on the core product "for free", and the 3 channels above, which will actually make you money.

I'm not saying you can't make money. You can, but it's not fun, and it's not working on the core product.
If you also try to write the core product itself (like MongoDB), you're taking on a huge, time-consuming initial risk, unlike in SaaS where you can be lean, learn and iterate with 100 customers.

I think SaaS is a great business model, much better than software products.
It's good for opensource, too: SaaS companies opensource tons of software.
For example, I work at Prezi now, and we opensource lots that isn't the core presentation product itself:

https://github.com/prezi
There is more than immigration in the way of non-US programmers moving to the US:

1) Immigration

1) Health care

3) Living standards (some part cost of rent, some part accessible lifestyle, some part relationships and future plans, etc)

I'm a London programmer and yes immigration is an issue, but health care (for themselves and their partner) is joint #1 on that front. 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.

Most non-US programmers I know come from societies where we're happy to pay more in tax to have a more civilised society and life. You may fix immigration, but to make the US an attractive place to want to relocate to far more needs to be fixed.
This one actually struck me the opposite way. I agree with his stance on SaaSS - you have no control over your data (spyware) which is being given up, and the operator can change literally anything on the system because they own it and have final say (universal backdoor).

Microsoft's "universal backdoor" is Windows Update I'm pretty sure. And our telemetry is the spyware. And yes, you could likely attempt to alter a copy of Adobe Reader through Windows Update, but so could any installer under the sun. It's a weak, inflammatory argument to call updates a backdoor. Indeed, the argument against updates will boil down to "well it's not free so how do you know it's not doing x". Which becomes the argument that all nonfree software is/can be backdoored.
Oh please. When the server is on fire at 3am, PagerDuty wakes California employees with the same success rate. Surely you can put in your employment agreement that the reason you are paying American wages to someone in a much cheaper location is because they can be woken up at any time. The finance industry has operated this way for decades.
My Audi A6 has a Cd of 0.26. Comparing it to F1 makes no sense. They're open wheel.
The states is made up of immigrants. Why wouldn't people outside the states be similarly talented? Sure if you don't have access to education you will not have the opportunity to develop your skills, but that doesn't mean you have less raw talent.
Using Charted – A tool for automatically visualizing data
This is nothing new. The problems with work visas in the US are:

1. Cheap bodyshops consuming much of the quota; and

2. Immigration being tied to an employer.

(2) is a direct cause of (1).

For those that don't know, sponsorship for a green card basically involves two stages.

Labor Certification ("LC") is the first and most time-consuming stage. It involves "proving" you can't find a US citizen to fill the job. There is then a queue with a quota system based on country of _birth_ (not citizenship). For countries with a high number of immigrants (eg Mexico, Phillipines, India, China), the queue can be _years_ long. During that time the employee is essentially an indentured servant. Employers can and do exploit this situation.

The Department of Labor can add to this by randomly auditing a particular application, which will add a minimum of 1-2 years to the process. Sometimes this is for cause but the DoL's stated policy is to prevent petitioners from "gaming" the system so they disguise their auditing criteria by randomly selecting applications to audit.

The second stage is basically a formality: filing for adjustment of status.

So for a period of 10 years or more the employee may be in no position to leave, no position to negotiate and will quite possibly have to work under abominable conditions for substandard wages.

The LC process ostensibly has a prevailing wage determination step to ensure the employee isn't being victimized. Trust me, it's a joke.

Startups here, as a general rule, aren't the problem. These nameless bodyshops paying $50,000/year or less for a warm body to contract out to a Fortune 500 company for $500/hour are.

If you kept the current green card quotas and simply made H1B visas portable and immigration essentially automatic when your number (in the queue) is up then you'd end a lot of these problems.
Consider Our Website Monitoring Before Making Your Site More Mobile Friendly
> American technology companies want the government to make immigration easier because they say they can't find enough programmers in the US. Anti-immigration people say that instead of letting foreigners take these jobs, we should train more Americans to be programmers. Who's right?

What a biased 'framing' pile of bullshit.

Let as many programmers in as you want. Just give them the right to quit their job without deportation, and ensure they're paid the exact same wages as an American.

Thats the only honest solution to this problem. It'd make everyone happy except for the very people pushing to open immigration.
Two immediately obvious problems in this set of arguments:

1) There'd be more great programmers if they wouldn't all divide themselves amongst so many startups, the vast majority of which will fail. Some other VC's have pointed out this problem as well. Less start-ups overall would increase the amount of great programmers available, and maybe more of them would succeed.

2) PG himself has said that great programmers grew up coding. PG's own population argument misses this as the greatest populations (India / China) do not have the wealth for kids to grow up coding. As people trying to increase the diversity of programmers have pointed out, getting this type of upbringing is hard even in America if you're not a well-off (generally white) male.

There's plenty of talent here in America, but let's be honest, its harder to utilize. It's much much easier to just import talent from countries that have education systems and cultures that do better at creating programmer talent than to fix America's deficiencies.
Yeah, let's prioritize blind progress over employing local citizens.
Exactly. What those people don't understand is how much this hampers the kind of ambition and projects that can get built.

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).
The value proposition needs to be right.

So far, tech companies only propose to let people come and work, for 3 to 6 years. There is no guarantee made to the exceptional programmer that the company will apply his/her green card, and hence facilitate the actual act of immigration. Until The company applies and the application is approved, we are talking just about work visas and not about immigration.

The only reasonable way to immigrate at this moment is through family, which means come and get married to a citizen.

If you don't do that, then you are totally dependent at the whim of the sponsoring company, which might decide at some point during those 6 years that you are not exceptional anymore and hence you should pack and close down all your stuff (apartment, bank accounts, etc) within 30 days (at some point not even these 30 days were not guaranteed).

If we discuss about having talent coming in, then the discussion has to clarify what the value on the table is.
This is why I'm so bullish on virtual reality.

We don't need to physically touch each other, but occupying the same "space" has a demonstrable increase in productivity and efficiency. Fortunately that "face time" I think can be mostly resolved in a immersive virtual environment.

You also get a lot of other great benefits when working in a virtual environment (why limit yourself to one 24" screen...). For me it's a matter of when, not if knowledge workers spend most of their working day in a VR environment.
> Buying and running your own server is much more expensive than running an EC2 box for pennies per hour.

Is it really? You can get a Pentium III era server essentially for free. Suppose it uses 60 watts (0.06KW). At the national average 12.2c/KWh that's 0.732c/hour. An Amazon micro instance is 1.3c/hour. That's the "I only need one instance" rate; if you need more than one then you can get slightly newer hardware with virtualization support which makes self-hosting even more attractive.

> And even if you do end up self-hosting everything, chances are you won't be responding to security issues as quickly as a full-time team of professionals on call.

Amazon doesn't maintain your VM. When your VM is vulnerable to Heartbleed or Shellshock you still have to patch it yourself unless you've configured auto updates, which applies the same to self-hosting.

What Amazon provides is convenience. If you need about a hundred cores for twelve hours, you can buy a dozen 8-core machines on eBay, use them for twelve hours and then sell them again for about what you paid for them, but that's a huge pain compared with configuring the equivalent on EC2. EC2 isn't necessarily cheaper, it's just a lot easier, especially if you don't already have the requisite experience and don't want to learn. Which is much the same as it has always been with free vs. proprietary software.
This is fantastic, can't wait to play with this.

One piece of feedback: on mobile view of your homepage, you should do a better job exposing more of your content instead of relying on the hamburger for navigation. Just adding links after the Victor quote would be a step up.
Ask any VC, would you be willing to make a deal that grows the wider economy, but has a 99% chance of impoverishing you personally? Then ask why that is the deal he offers everyone else, and tries to get written into law...
This is an ad teaser, not an actual article.
Of course the models I mentioned are not self-contradictory, I've no idea what you mean by that.

Your statement was "If the numbers can be arbitrary in size, then you can't compare them in constant time". I was merely pointing out that this is not a true statement.
Completely agree. I don't have any desire to live in the states.
YC has a big advantage over US: they are not geographically bound to one place.

Say nothing changes in a decade. There's nothing that's fundamentally stopping YC from starting branches in SE Asia, Europe or Canada.
There's also the assumption that all these companies have a burning need for exceptional talent, which is nonsense. Most companies are not doing anything exceptional, and there'd be no reason to pay exceptional programmer wages when you could pay competent programmer wages.

99% of startups do not need someone to "invent things an ordinary programmer would never even think of." They need someone to write bog-standard uninteresting[1] Javascript/RoR/whatever for their webapp which, to be sure, might be making our lives better but isn't doing anything technically special.

To me the "handful" of consulting firms he mentions is massively downplayed. Most H1Bs, however talented, are being sucked up by those firms or by firms engaging in similar strategies, not startups. PG's goal would be just as well accomplished by focusing on the crackdown than opening the H1B gates wider - if we do that, then the usual suspects will simply and gladly suck up proportionally more.

[1]EDIT: Uninteresting is probably not quite the right word. Even well-understood, solved problems can and are really interesting to some of us. But you don't need to find them interesting to re-solve them efficiently and competently.
It absolutely does make sense. F1 cars have high Cd because they need lots of downforce. An A6 does not need as high Cd as a sports car. So if a roadster's Cd goes down then the question arises: will it affect it's aerodynamic grip or not?
Chromecast-like screen-sharing without Chromecast
The problem with the way you're conceptualizing the problem is that while no one 'deserves' anything, the real effect here will be to allow the owners of businesses to play people with no negotiating power off each other to lower their costs.

So while you don't 'deserve' any guarantees, why do you think the owner of a business 'deserves' to be able to hire a captive employee? (They're deported if they quit, and they make less money than an equivalent employee without that handicap)

If anyone with the power and podium wants to be honest about this topic, they need to champion immigration reform in terms of 1) allowing immigrants to quit or switch jobs while staying in the states. 2) Require that immigrants are paid the exact same wages as an American with the same title in the company.
Do you honestly believe USA is a first world country in terms of availability/affordability of high quality welfare, healthcare and education systems?
1. Learn how AWS or GCE works, not just with the command line tool but the APIs too. Fundamentally understand how all the offered technologies can be used together to host a platform for a business. While we still have bare metal and managed hosting, the world is moving to the cloud and your first priority should be to move with it.

2. Extend your skills into managing distributed software such as zookeeper, cassandra, etcd. In a cloud based world, machines can disappear at any time, hell entire Availability Zones can vanish because of an issue with the hosting provider. Fault tolerance is of the utmost importance. Distributed software such as zookeeper and cassandra are normally run in multiple AZs to tolerate such failure.

3. Learn about Docker and container orchestration. Like it or not, containers are the new level of abstraction and you should understand how they work. Knowing how to run a container isn't enough though, you need to understand how to run hundreds of them in an environment, which means some sort of system that handles orchestration. Look into Kubernetes, Mesos and Docker Swarm. All of these are in fairly early stages of public use - Mesos has been battle tested at Twitter for 4-5 years though).

I think these 3 things are really key for any person managing systems now and in the foreseeable future.
The kit was never sold to consumers, schools only. So there were limited numbers and not much information. This was the best I could find:

http://www.applefritter.com/content/lego-tc-logo

My memories of it are a little fuzzy. I only got to use the system for 1 year, when I was nine years old. There was no assistance, I had to open the Apple and set up the driver card myself, taught myself logo too. I spent every recess inside just to get more time on it. (The kit went to a different school every year.) Unfortunately I didn't grok algebra until the following year, so my programs were essentially simple lists of commands with no math and (at most) limit-switch logic.
The big issue I have with this essay is that, while I believe it is true that letting in exceptional foreign programmers would benefit the economy and that probably does not overly hurt many exceptional American programmers; I don't see how just opening up the H1B program would achieve that.

Instead, I believe you might get some fraction of those exceptional programmers to come to America; but you would probably get many more less-than-exceptional programmers (which pg called competent) competing with less-than-exceptional, but competent Americans (or those who could be trained to be competent).

On balance, I'm unconvinced this would help.

Potentially, instead of having a lottery, the government should just run a dutch auction for the same sized quota. If someone is truly exceptional, it would be worth paying for them. You'd also end up naturally giving American programmers a bit of a home-field advantage; because their cost would not be burdened with the additional cost of winning an auction.
Paul Graham is fighting for his side. I hope any developers here are smart enough to fight for theirs.

He's arguing that the same companies who colluded illegally to drive down the wages of the "best" programmers, now have no interest in lowering their wages when they're arguing for increased immigration. LOL.
Also: the economy is not a zero-sum game.

http://en.wikipedia.org/wiki/Lump_of_labour_fallacy

I guess it's just the fact that I've lived abroad for a while, but I see people as, well, people, and don't care too much about where they happen to have been born. I think it's unconscionable to subject law-abiding people to a life of poverty if they're willing to work.
Thanks, to both of you.

(I have some issues with the keyboard as well, but that's "old" now)
Actually we've taken this to the next level with https://teamlens.io/ - and as email may be good way of reporting your progress, it's a bit obsolete + it requires actual "answering" to it, so it (it my opinion) adds extra complecity to the whole process (it's hard to give status "in real time" or whenever you want it during the day). We'll be launching next week or so (hopefully).
I hope the qualities that make someone a great programmer aren't evenly distributed. I hope that the American education system effectively develops those qualities on average better than any other country in the world.
Hardcore Tech Stories of the Year
Instead of attacking the person who wrote a hypothesis about neutrino speed, do you know who will be duplicating his experiment?
The Grit Engine [1] and Love2D [2] are fun, useful engines that make making games easier, in Lua. Except they're slow as all get out; the only cap on the framerate is literally Lua. If you don't use spritesheeting to its maximum degree, you can't even squeeze out 60fps for a moderate size game.

[1]: http://www.gritengine.com/

[2]: https://love2d.org/
1) By training you will uncover latent great programmers.

2) By training you will raise overall education level, making life easier and more pleasant for everyone in country (any country, not only US).

Either I getting old or PG getting sloppy. His latest essays do not stand a bit of critique.
Unfortunately 'governments' and 'efficiency' don't seem to go well together.
"Small instances are low performing to the point that a $35 quad core arm or $50 atom device is competitive"

You're forgetting the "Amazon data center connectivity", "can scale up or down at will", and "someone else's problem if the hardware fails" parts. Those things are not free.
No, he's bascially saying your SaaS provider owns your data in a very specific way. If you are to compete with Salesforce, would you really keep your customer data in their CRM?
Not only are they open wheel, but they have intentional downforce that exceeds the weight of the entire car.
There'd be more great programmers if they wouldn't all divide themselves amongst so many startups

This is a silly argument that suggests that some wise arbiter ought to choose which startups get to exist. In reality, startup engineering skills are unique and involve a sense of architecture, efficiency, and often making due with insufficient time/resources. Everyone working in a startup is getting some of this experience.

great programmers grew up coding

It's 2014, many people in other nations did grow up coding. One doesn't have to ahve had a TI-994A in the house to be considered "advantaged" in this respect anymore. For the past 10 years, any browser with a js console qualifies.

The point of PG's essay is that there shouldn't be barriers. Let the startups at least have the option of hiring various engineers and let them learn from that how to best hire, rather than having to scrape the bottom of the barrel in the US.
Hackers Who Shut Down PSN and Xbox Live Now Attacking Tor
Or, perhaps, companies should become smarter about recruiting and hiring the large-but-unknown "false negatives" that are generated by their current process. Easier to implement, a competitive advantage, and you don't have to run a lobbying campaign. All you have to do is prick a few egos. Oh, wait... that's why.
The problem with employment based 2nd and 3rd priority are the per country quotas, especially for people that count against the Indian quote. The EB2 quota is currently in 2005 for Indians.

As for EB1 (alien of extraordinary ability), it isn't a terrible good fit for programmers. The rules require an alien to meet 3 of 10 categories, but many of them are either wholly inapplicable to the industry, or only cover a narrow subset of it.
Whether you agree with his stated goals/values or not, Stallman does us all a service by elucidating these issues. Because code and the constructs he talks about are "virtual" entities, it isn't readily apparent to most people what the actual consequences are of where and how and why things are done the way they are done. People often think these details don't matter, but they do. They think they don't matter largely because they don't understand how x thing leads to y consequence. Stallman does understand those relationships.

I myself struggle with the question of how I can put something out into the world such that it is freely available to theoretically anyone while also finding a way to pay my own bills. Writing code is not a big part of what I want to do. It is, in fact, probably a fairly small part of what I want to do. But it is a similar problem space. And few other people are writing anything that elucidates for me the details of why this stuff matters, how it matters, what the exact consequences are and so on. I find that very helpful in thinking through my own problem space.

So I will just briefly thank him here (not that I expect him to read this). I read a biography about him some months ago and that was a real step forward for me in my thinking through some of my own challenges. Thank you, Mr. Stallman.