skysight-inc/HackerNews huggingface dataset:
There's actually another solution for the "talent war", and it will probably be exploitable for at least 5 years. Functional programming.

First, the median programmer who actually knows FP would be at least 90th percentile in general, and a strong argument can be made for 95th. If you're using a language like Scala or Ocaml and filter out people who don't actually know them, you can usually hire 50-80% of the people you bring into the office... which keeps interview costs down.

Second, people who insist on functional programming still have a tight job market, so there hasn't been the same bidding war and salaries have only gone up 20-30% instead of 50-75%.

A good (1.8+) Java developer costs $225,000 per year... because people who get to that level of skill in Java are just rare (and Google is buying them all). You can get that same level of developer in Ocaml or Haskell (and probably a better product, because it's a better language) for about $135-150k.
Heroku’s early history: 4 home pages that made $212 million
Or row.
Cool! Will get on it.
It's definitely not isolated, and it definitely feels like censorship. A company shouldn't be deciding what we can or can't say, especially if it's not profane. They once tried to block me from posting a link to a site that was critical of facebook.
What is the point of that comparison? The purpose of HN is very different from the purpose of Facebook. On this site, comments are everything - they define the site.

Joel Spolsky gave an interesting talk on the "Cultural Anthropology of StackExchange" where he talks about the importance of keeping people out as a tool for building communities. The prime example was StackExchange vs. Yahoo Answers.
Then again, Buffett has always said he doesn't understand tech.
Anybody thinking of starting an Expensive Domains brand? Kind of like the Prada of domain names. Names don't have to be premium domain names, they'll just be absurdly expensive.
This is consistent with Facebook's established strategy. Ultimately Facebook want to make sure that you (the user) will always associate Facebook with positive emotions, not negative ones.

It's the same reason that there is no dislike button, in spite of years of requests to the contrary.

If you really look closely you will find that Facebook does not have the most advanced UI, nor does it offer the most functionality. People don't use FB for any of those reasons, even if they think they do. People use FB because FB makes them feel happy, connected, and valued among their "friends".

Allowing FB to be used to post negative comments runs contrary to these objectives and, due to the current limitations of machine interpretation of language, it is inevitable that some innocuous comments get misinterpreted along these lines.

I'm not saying that I am supportive of this practice, but I do understand why they are doing it.
Use IMG tags only for Images
I don't even know why I chose India as my comparison. It was indeed prejudice and I'm sorry for any offence caused.
That's 1984, and inspirational...
Hats aside, Emma Goldman was an anarchist not a socialist.
10 AWESOME JAVASCRIPT GAMES OF JUST 1 KB
Yep. Also fails to explain the significant decline of all the other accoutrements of the early 20th century's well-dressed man, such as the waistcoat, the tie, and the suit.

It's more of an overall long-term casualisation trend in society from the Victorian era through to today, reflected not only in clothes but also in speech and manners. It seems to me that we might have hit rock bottom in the 1990s and started clawing our way back up, but maybe that's just the circles I move in.
START LOSING WEIGHT TODAY
Thank you for the pointer! I grabbed this pdf, and (by random chance) my eyes fell upon this somewhat-related gem (on page 129):

"Ironically, pattern matching — one of the most popular features in functional programming languages — is also one of the biggest obstacles to the widespread use of efficient functional data structures. The problem is that pattern matching can only be performed on data structures whose representation is known, yet the basic software-engineering principle of abstraction tells us that the representation of non-trivial data structures should be hidden. The seductive allure of pattern matching leads many functional programmers to abandon sophisticated data structures in favor of simple, known representations such as lists, even when doing so causes an otherwise linear algorithm to explode to quadratic or even exponential time."

http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
I agree, the links stand out way too much.

The images with the numbers for the referrers look nice, but the country image numbers are a bit hard to read and it doesn't look .. good. I'm not a design person, so I'm not sure why that is. Maybe because the numbers are not in line at some parts and the black border is not equally far on all sides .. (plus the colours don't fit too well)

They're interesting numbers nevertheless! :)
DRM and the Churches of Universal Access to All Knowledge's strategic plans
Mainstream music, if definable, is a crazy beast. It is fickle, yet, predictable. Last year's top singles sound like today's top singles. The major record labels need to make money in a predictable fashion. It stifles creativity. It creates a barrier for entry.

I have been making electronic music for almost ten years. I have participated in many netlabels in that time. I like the idea of making music and letting it spread online. I have yet to achieve any level of success. I can not compete with major acts. My marketing budget is zero.

Record labels have a function. They curate music for people who do not have invested interest. I would not be happy if my music became popular. I like my little niche. I like being free of record restrictions. Some labels are amazing like Kranky. They do things differently than most, very strong aesthetic choosing.

I miss Napster's community aspects. I learned a lot from sharing on Napster. It opened my ears to music that was different from my status quo. I wish it was still around. Music as a whole would be in a different place.
New HTTP status codes
I'm not a designer either and putting the images together took way longer than it should have but thanks for the feedback!
I love this kind of analysis of social phenomenon

The kind of analysis that sounds vaguely plausible but is completely unprovable and probably wrong?
The best on-demand and music discovery radio apps for iOS
No. Men's hats were killed by sunglasses (better at keeping out the sun) and umbrellas (better at shielding from rain).

Don't me wrong, I like a good hat. But there are less exciting reasons why people stopped wearing them.
The hypervisor analogy is silly IMO, because it assumes 'hardware assisted virtualization', i.e. that the simulated matter/instructions are implemented simply by using real matter/instructions in their normal way, but in a controlled environment.

For the general case of virtualization, breaking out of the simulation would be as impossible for us as it would be for a video game character.
How can rape be misogynistic when men can be raped? I suppose it could be both misogynistic and misandric...
That's indeed an interesting perspective; I just double-checked in sane units:

Standard pressure 101 325 N/m^2 divided by standard gravity 9.80665 N/kg gives the mass of the air per area: 10 329 kg/m^2.

Divide that by an air density of 1.225 kg/m^3 to get a height of 8435 meters[1]. The Mount Everest is 8848 meters high. If the atmosphere were uniformly dense, the highest mountains would rise above it.

([1] Not in fact accurate to four digits because the constants I used aren't really constant across that height range.)
Not instantly, because google.com's glue records have a 2-day TTL.

Verisign has the ability to alter DNS glue records for .com and they have the ability to issue browser-trusted certificates, except in cases of browser cert pinning functionality or extensions (like CertPatrol) that check for certs being altered before they're nearly expired.

Registrars can instruct Verisign to alter the glue records for .com domains. Are you saying Verisign has special policies in place to double check with major companies before changing their respective glue records?
Ruby (and a few other languages) have a 'retry' keyword, which retries the block of code that had the begin/rescue around it (if this existed in C++ the try block would be executed again).

begin
processing()
rescue
retry
end

In general this is a better solution because it forces a more structured style of programming than opening up the scope of where the exception occurred and allowing it to be manipulated. Opening up the scope would be more powerful, but it would make the code harder to verify as being correct, and is open to abuses.
Hey! One of the five selected videos I co-presented! Yay! \o/
Ask HN: Does your company (or the company you work for) send letters?
Just doing a bit of research. Interested in the following bits of information:

1. Whether you own the company or are an employee

2. Rough number of employees

3. How many letters you send per month + as much info you can spare about the content

4. Country you're based in

5. As much info as you can spare about what your company does

Much appreciated :-)
My first thought was what does IBM have against hats?
The MagPi: A Magazine for Raspberry Pi Users, issue 1
I actually tried to run one of the featured projects on github: OPAcman.

This was my experience:

1. install OPA. Get surprised by the AGPL license because the main page mentions that it can be used to develop closed source apps.

2. git clone OPAcman.

3. run make, fail. Read error message (in color, with a little unicode "flag" symbol right where the error is!)

4. change makefile to use --parser classic, also fails

5. hack off score.opa because --parser classic database directives are irrevocably broken and I can't be arsed to figure out the new syntax, also patch opacman.opa with a stubbed out Score object.

6. Run make, get ocaml errors:
Error: This expression has type Bsl_init_.CR.t = QmlClosureRuntime.t
but an expression was expected of type
QmlFlatServerLib.record = ServerLib.ty_record

7. Take a look at some of the ml code generated

let _v686_const = ((Obj.magic) (((QmlFlatServerLib.unsafe_init_static) ([| (((Obj.repr) (( (* ["label" ; "ty"] ) Link_opacman_001._v5_shared_vtable)))) ; (((Obj.repr) (None))) ; (((Obj.repr) (Link_opacman_002._v226_const))) ; (((Obj.repr) (_v685_const))) |]))))
let _v687_const = ((Obj.magic) (((QmlFlatServerLib.unsafe_init_static) ([| (((Obj.repr) (( ( ["hd" ; "tl"] *) Link_opacman_001._v6_shared_vtable)))) ; (((Obj.repr) (None))) ; (((Obj.repr) (_v686_const))) ; (((Obj.repr) (Link_opacman_001._v8_const))) |]))))

8. Run AWAY.
I'm not sure this actually provides the right perspective, in the sense of a useful intuition. Taking anything from the part of the Earth we live in (essentially, the troposphere plus the upper part of the crust) and visualizing it as a sphere will make it look small, because the troposphere + upper crust is a fairly thin shell, so doesn't take up a lot of volume when visualized as a solid sphere next to the earth.
Didn't the 300 from sprint come with a bunch of crap apps (i.e. NFL mobile or whatever) installed on it?

I also had a Treo 300 (and a 180, a 600, and 750p)--so I maybe be confusing this with one of the later ones. The apps were easy enough to delete, IIRC, but there were some on there. And, as all crap apps, they were completely useless.

That said, sprint did offer unlimited data (and text) for far less than AT&T. I'm still bitter about that.
Those in English speaking countries outside the USA often consume media offerings from inside the USA. It's not beyond reason that other countries would follow the lead of USA in fashion; probably really it would be the lead of costume designers in US films. The thrall of fashion appears to overrule common sense so the use of public transport, in London say, wouldn't necessarily over rule the fashionistas deciding that "hair is the new hat" or whatever.

That said, the point should at least have been addressed.
Hi, fb engineer here. This is exactly what's going on. If you recall, there were several articles written a few months back pertaining to comment spam, and very low quality comments (ascii art or 'LOOOOOL!!!') from subscribers. This is part of an effort to curb that and has likely gone awry. It only affects subscriber -> subscribee comments.
Facebook Says Today’s Comment Limitations Are Due To Spam Filter, Not Censorship
We have spam here on HN as well. We just deal with it differently - downvoted comments are not censored, made less obvious so that the casual reader doesn't need to read them.

That is not censorship. Facebook's approach is.
Albeit about C++, Stroustrup's "D&E of the C++ programming language" has a chapter which still is timeless and valuable source about exceptions and fault-tolerance.

The model that all of a program is treated as "try" block is equivalent of treating all code as part of fault-tolerance solution. As Stroustrup puts it nicely, not all methods should be firewalls against errornous conditions, as error handling in itself adds to the complexity of the program.
I love all this talk about hours worked as if it's not a proxy for achievement - of course it is.

Will weak workers achieve great things in 6 hours or 16 hours? No.

Will over-achievers do brilliant things in 6 hours instead of 16 - depends on your definition.

Hours worked, working smart and all this BS doesn't matter. What matters is the size and complexity of the problem your working on, and how many problems you have to solve to move the needle on your goals.

So if you can do a great 30 hour week a move the needle - lucky you! Some people have to pour in 80-100 hour weeks just move the needle because what they are working on just cant be done 'smarter'.

I think the discussion needs to move from hours worked and quality of hours worked, back to quality of people : and hopefully the right people will work the right amount of time to productively deliver whats needed.
Also take in to consideration Facebook is trying to get companies to spend a lot on advertising their Facebook pages.

One way for Facebook to do this is prevent users from making "irrelevant or inappropriate" on the advertiser's page.

I have never seen a message like this before, but I rarely post comments on Facebook. I have, however, had issues with business associates spamming me. I found out firsthand just how difficult it was to unjoin a group. I also noticed that I could flag a comment as spam, it disappears, and then magically re-appears again later. These "spammers" still have their accounts.

Facebook is basically a controlled platform for spamming. Its for attractive girls to spam photographs of themselves to hundreds or thousands of males. Its for companies to blast out their messages to millions of people. There is little question that Zynga's initial growth came from saturating player's friends feeds with notices about their farm. All supported by Facebook's aggressive opt-in by default email notifications. If that isn't spam, I don't know what is.

Facebook's business model is one of figuring out how to monetize all of this noise without scaring away its users. One way you do this by making spam more relevant. The other way is by ensuring "spammers" that want to be seen fork over sizable amounts of money. This is something anyone buying in to their IPO should think a lot about.

As negative as that sounds, I like Facebook a lot. I refuse to use Google+ or any other social network. Because of Facebook I've been able to keep in touch with a lot of people who I would have never seen or heard from again in my life.

That said, I've seen a disturbing trend in my Facebook friend's list of attractive females de-activating their accounts (attractive females make or break socially connected platforms.) There is too much noise for them. And you bet, if something is "irrelevant or inappropriate" they will be the first to leave.
Bummer - at least you can feel a little like you're here by taking our survey!
NS records often change, especially in the additive, all the time. Google could do this all day every day and no one would notice. What you meant to say is that people would notice if MarkMonitor changed them without Google's permission. But that would never happen - they would certainly have Google corporate's permission before using this power. The geeks in engineering who care would hopefully object to a massive MITM surveillance system, but with their assistance is no longer required.

And that's the beauty. Herding the cats in engineering at Google and Facebook to spy on everyone is difficult. Many of them might even quit their jobs before doing such a thing. Best to wedge a soulless anti-spam group between the happy consumer company and the Internet and get the blessing of a couple of CEOs who have been told that compliance is not optional.
i like it. living outside of the us, i cant use netflix. so i dont know anything about the queue there. but finding movies through sites like rotten tomatoes or imdb is a pain, mainly because of the lack of filters. i dont get why imdb doesnt have some sort of advanced search with (multiples) filters like year, rating, genre etc, the way you do it.
It sounds more than "vaguely" plausible to me. And, given that his father was there and able to make first hand observations about the phenomenon -- a phenomenon he had some vested interest in paying attention to -- I don't know why you would assume it is probably wrong. Possibly wrong? Sure. But probably? Why would you think that?
Yeah, I guess. Good luck with your project, what's it called?
...not when you stick a few hundred of them together and train each on bootstrap samples...

(my random forest can beat up your kernel machine any day)
Do any browsers pin certs by default? I haven't heard of CertPatrol, but alerting when a cert changes well before expiration seems like good default.
Robots that fly and cooperate and play drums
I can speak from first hand experience that developer quality in East Europe is excellent. When I first went to East Europe over 10 years ago there was very little offshore hiring so the local developers were resorting to local jobs, mostly around small businesss IT - things like accounting systems, POS, etc.

Today most of the developers have a good command of English, keep up to date with the latest technology trends and have a solid classical education background in math, engineering, etc.

The huge oversupply in talent meant that a lot of the best developers ended up working in black and grey hat hacking, online fraud, etc. There is a reason why East Europe is the epicenter for these activities.

There is no reason why startups in the West should not be hiring more people out of these parts of the world. It is definitely less competitive than other traditional outsourcing centers and the quality of people and work is excellent.

If anybody is interested in hiring in this region and would like some advice or someone to act as a bridge, be it to find full time people or contractors, feel free to contact me (details in profile).
I agree about the casualisation. Especially ironic: People who wear tee-shirts to work complaining about today’s youth wearing trousers so low that their boxer shorts are hanging out. As if, you know, wearing an undershirt as outerwear in public is somehow more dignified than wearing underpants as outerwear in public.
Can you please tell me why you changed you syntax to JS-like syntax? The previous syntax was good enough, at least from my point of view.
Sure. It’s a charming kind of wrongness, like a false etymology, or an eggcorn.
I'm very curious to see (a) what sort of generative model they're using under the hood, and (b) how they do inference efficiently enough to not dedicate a cluster to each customer.
I don't understand the rationale behind the new codes.

In particular, look at the first one: 428 Precondition Required. This is essentially the server saying to the client, "You don't know how to make requests to me." What is the client supposed to do about it? Make requests that can result in the desired responses, of course, or stop making requests. But that's true of any 4xx response code. So what functionality does the new 428 code add? None that I can see.

If you click through to the RFC itself, the section on 428 says:

Responses using this status code SHOULD explain how to resubmit the
request successfully.

It then gives an example of an HTML body representing a human-readable message that explains that "If-Match" should be used. Fine, that's good. I approve. But every HTTP response comes with a body; we can already do this just fine without having code 428.

So, again, what actual functionality does the 428 response code get us? It results in a bit of new code being added to every web client, making them all just a teensy bit more complicated. But to what end?
Wikipedia says mass-produced sunglasses were introduced in the US in 1929. Umbrellas have been used to keep off rain since at least the 18th century. Both of these times are significantly earlier than the decline of the hat in America.
And one of his golden rules was (is ?) never to invest in something you don't understand. Which makes me wonder whether I should bother reading the article.
The title and story is tacitly saying that spending $500K on a domain is bad. I disagree, but I agree that they made a mistake on spending $500k for this domain, given their business plan.

Some domains are rightfully worth millions and millions.
Did you make too few sales, or not enough money per sale?

Perhaps the iPad music category is too niche, unless you can justify a high price-point.
Interesting - I wrote an article a few weeks ago exploring this very same premise: http://blog.i.saac.me/post/what-if-bittorrent-was-invented-b...

(Apologies for self quoting)

Let’s try a thought experiment. Let’s say that BitTorrent, or something like it, was invented before the phonograph. Civilisation passed straight from live music only to ubiquitous copying without ever passing through the age of controllable mass reproduction.

That is, every time some wandering minstrel composed a new melody on their lute, the entire world would be able to listen to it again whenever they wanted. Would people still describe that as “stealing music?”

I think they wouldn’t. In fact, the whole concept sounds pretty awesome, doesn’t it?

I think if we’d never passed through the copyright age we’d rightfully see BitTorrent as one of the greatest advances in history. All of human culture available for free! The only downside — and it is a big downside — is that it’s cut off the main income stream for all the people who actually produce this culture.
If you're interested in this story, there's an excellent book on the subject titled Hatless Jack: the President, the Fedora, and the Death of the Hat (http://www.amazon.com/Hatless-Jack-Neil-Steinberg/dp/1862077...) that investigates the death of the hat as a mandatory fashion accessory for American men in much more detail. Highly recommended.
I wear hats, and I am a 24 year old software developer. I love the way I look with a nice hat on, and like having something covering my head that stops a lot of the sun from shining into my eyes...
I noticed the reference to binary representations with some enthusiasm. For a variety of reasons, I find myself using HDF5 in instances where I might have chosen XML (or JSON for that matter) a few years ago.
Oddly enough, I think that men's hats may be making a resurgence among the younger generations. Granted I don't have solid data to back this up, besides a lot of people who I have seen on campus (myself included) regularly wearing hats. Many of these are black fedoras, so Notch may be slightly responsible.
Even so, paying for a proof reader or two isn't a lot to ask. Especially when they're charging more for the books.