The Myth of American Meritocracy - <AUTHOR> http://www.theamericanconservative.com/articles/the-myth-of-american-meritocracy/ <comment><USER2> For anybody that's been paying attention in the last 20 years, the collegiate funnel to success is broken in the technology/startup sector.

I'm not dismissing the role of _education_ , however. Education is vastly important. A formal education with an expensive stamp on it? Not so much.

Continuing my discussion of the startup/technology sector, there was a time when a great degree would get you into places where you worked with awesome folks doing hugely important jobs. Over time, more awesome folks and hugely important jobs existed separate from that great degree. We've now reached a point where having that great degree many times is counter-indicative of performance ability, so it becomes kind of a social club.

I hate to say it, but for run-of-the-mill high technology jobs where you interact heavily with a business customer and make some magic happen? I view deep dives in college as a warning sign that you might be validating yourself against a model that has little practical impact in the larger world.

I really hated to admit that, because I deeply love education. But dang it, I believe the tables are flipped. You are more likely to get great help in the startup/technology sector from some 20-year-old who knows everything about technology from his personal passions than you are from a 25-year-old with a Master's degree from an Ivy League institution. And in terms of organizations, it's a big red flag as far as productivity goes for those places with tight controls over collegiate applicant. Unless you're building the next LHC. Whenever I see some job that's a straight technology job that has "and a masters degree in CS" _without_ the following "or equivalent experience"? I'm thinking this isn't a place I want to be associated with. They have no idea what they are doing.

<comment><USER3> Disclaimer: I earned my BCompSci with 1st Class Honours -- ie, a miniature research degree -- last year and I am _damn_ proud of the work I did to get it.

> _You are more likely to get great help in the startup/technology sector from > some 20-year-old who knows everything about technology from his personal > passions than you are from a 25-year-old with a Master's degree from an Ivy > League institution._

This is a false dichotomy with a side order of strawman.

Here, let me play:

"You are more likely to get great help in the startup/technology sector from some 25-year-old who pursued their passion for websites and earned a Masters from a dissertation on HTTP than you are from a 20-year-old with a who reads two dozen blogs and keeps up with the tweets".

See how that works?

Whether a person has a degree or not is orthogonal to their passion for a subject. But it so happens that you don't get a top score in a research degree by just ticking the boxes or colouring between the lines. You need to be passionate about the topic.

And it so happens that this is true of _mastery of any subject_. Those who are passionate about a subject will obsessively read about it, study it, tinker with it and spend the time to deeply grok a topic because that's what they love doing.

Sometimes this happens in academia. Sometimes in industry.

<comment><USER4> So you would expect similar [technology startup] success rates between a YC participant and a BCompSci with 1st Class Honours?

It's not a question of passion, it's a question of goal orientation. My experience is that results-oriented environments (like YC) have better outcomes than status-oriented environments (anyplace that confers come thing called a "BCompSci with 1st Class Honours").

<comment><USER5> Worth noting that the "1st Class Honours" thing is just the level of a degree in some places (e.g. the UK). I can appreciate it sounds funny to some people, but then grade point averages and _summa cum laude_ sound odd to me! :-)

<comment><USER4> Starting a post with a "summa cum laude" humblebrag would be an equally strong indicator of a status orientation versus a results orientation.

EDIT: Jacques, did you notice the last line in Daniel Markham's response to your comment? It will be great to see your awesome startup.

<comment><USER3> What if I started my post with a "YC alum"?

Basically you're just arbitrarily attaching "status" and "results" labels to things.

It's an argument I can't win, because by raising my own achievements by way of disclaimer[1], I am "bragging", which is a "status orientation" on my part.

But the fact that I worked towards a measurable goal in a structured way according to a plan of my own design -- that somehow _isn't_ results-seeking behaviour?

[1] because usually, these discussions boil down to an argument between people with a degree and people without a degree -- and there's a strong correlation between the pro-degree/contra-degree camp and who has a degree.

</comment></comment></comment></comment></comment></comment><comment><USER6> The greatest trick the ruling classes in the US ever pulled was convincing everyone else, especially those who suffer the most from the current system, that they're not poor and they're not an underclass - they're temporarily embarrassed millionaires.

When I was working in Italy I would sometimes listen to a US Forces radio station on my drive in each morning, and the success story propaganda was fascinating. Every so often, there would be a completely irrelevant and disconnected sixty second summary of some lucky chap who did really well in business, with an undertone that all you needed was to work hard and you'd become a millionaire.

<comment><USER7> It's a better way of thinking than "I'm poor, I don't think I stand a chance". Even if people don't become rich or successful, they still feel better about themselves.

The "work hard and you _may_ become a millionaire" undertone is a good thing.

<comment><USER8> Is it still a good thing if it convinces the poor to not act in their self interest by not advocating for change?

OR

If we agree the american dream is fallacy then is the only purpose of it to keep the rich from being guillotined?

I'm not sure what I think of the american dream or even what it means. But I find the idea of lying to the disenfranchised so they can feel better about themselves condescending.

<comment><USER9> Socialism, or guillotines for that matter, do far less than the American dream to actually help the poor.

<comment><USER10> Source?

</comment></comment></comment></comment></comment><comment><USER3> One thing he mentions in passing is that the Ivy League process is built on looking for "future leaders".

There's not really a test for such qualities. I mean, you can try, but it's very difficult to see how someone performs in trying circumstances until you put them there.

In _Thinking, Fast and Slow_ (which I'm sure many of HNers have read), Kahneman gives an anecdote about his time working for the Israeli Defence Force. The IDF wanted a way to identify who should be put through officer training, and they turned to a team of psychologists to develop a testing program.

Kahneman and his colleagues came up with a series of scenario-based tests. Some problem would be posed to a group of soldiers ("move this log over the top of this wall"). The group would be observed and notes taken.

One thing that the psychologists watched for was spontaneous leadership. Who in the group took charge? Surely such a soldier was bound to command!

The problem is that, upon reviewing the performance of their selections, Kahneman and his colleagues found that their candidates did no better -- either in training or in the field -- than candidates chosen by other means. Simply seeing the "obvious" leadership qualities of a particular individual in a highly artificial situation is a basically useless predictor of actual outcomes.

It's satisfying noise.

<comment><USER11> _Ivy League process is built on looking for "future leaders"._

One of the problems with this of course is that the kinds of things that get you into such a school (grades, tests and extracurriculars) really have almost nothing to do with finding a leader. Even tests looking for dominant personality types (Type-A types) tend to find extroverts, not leaders. And even worse, it's been my observation that formal leadership training programs seems to churn out emotionally aloof general managers than "leaders".

 _One thing that the psychologists watched for was spontaneous leadership._

This is tough too. It ends up selecting for hardship leaders, not daily grind leaders. It's easy to start barking orders and look like you know what you are doing when there's an immediate task to accomplish and nobody else wants to. It's _very_ hard to motivate a workforce for years at a time doing grind work.

An anecdote:

When I was a youngster, I knew a kid who was one of those emergent leader types. In any group activity he instantly tried to take charge and started organizing the other kids, barking orders etc. It didn't really matter what the activity was, kickball, hide and go seek, and when we were a bit older volunteer community work like habitat for humanity type things. And there were usually a few of the kids that would follow him.

The problem was that he was also terribly annoying. When facing a complex activity, one where there was no way he knew anything about the task or how to direct it. He'd still inevitably march up and start pointing and ordering like he had been doing this task for 20 years. The parents thought that he was such a wonderful natural leader. The other kids wanted to punch him in the face. It was only because of the trouble we'd get in that we didn't do exactly that (but oh where there backroom conspiracies about how to deal with him).

Now, decades later, I look back and realize that a great deal of my problem with him was likely due to differences in Keirsey Temperaments. He was obviously a Fieldmarshal [1] (correlate to Myers-Briggs ENTJ) while I'm very strongly a Mastermind [2] (MB:INTJ). According to the theory, my personality type will assume a leadership role IFF they feel the dominant Fieldmarshal personality has fundamentally failed. Basically I'm a coup maker and there was nothing more that I wanted to do with this kid than to undermine him, usurp him and delegitimize his assumption of power. I didn't want to necessarily be his replacement, but boy oh boy did I ever want to humble him. What troubled me the most was that there was inevitably a group of kids that _would_ follow him simply _because_ he was giving the appearance of organizing things.

I've reflected on this interaction deeply in my life to expose my own flaws, but also to learn from. Even though he wasn't qualified to run things, the fact that he simply stepped up and _acted_ like he knew what he was doing was a terribly useful leadership technique. He really didn't seem to care that it was resented by his peer group, and as children I'm sure there was an element of parent pleasing to his behavior.

I've used this simple technique many times in business to organize out of control efforts that have floundered under the "emotionally aloof general manager types" mentioned before. Now that I'm aware of my Mastermind type tendencies, I can also watch out for destructive "coup" traits.

I don't know if I have a point other than to say that "leadership" is a very complex thing and that there are many many kinds of leadership we have to be aware of.

[1] - <http://en.wikipedia.org/wiki/Fieldmarshal_(role_variant)>

[2] - <http://en.wikipedia.org/wiki/Mastermind_(role_variant)>

<comment><USER12> I identify with the INTJ type as well, and I'm curious to know what destructive traits you're talking about. Also, I do somewhat identify with the description that you've given although I hate to put labels on people.

<comment><USER11> According the the Keirsey Temperament Sorter (KTS) [1], xNTJs correlate very closely to a type of Temperament called "Rationals" -- which make up about 3% of the population.

I can't remember where I did the reading, but engineering disciplines seem to have an unusually large concentration of them. All of the KTS types break down into two subtypes which are pretty much the difference between the Myers- Briggs E and I extraverts and intraverts.

All of the temperaments have strengths and weaknesses. In the case of an INTJ/Mastermind [2], there's a tendancy to ignore social costs in the pursuit of "getting shit done" (GSD). In some other readings on the type I've found descriptions that basically describe Masterminds as masters of strategy who prefer to sit in the backgroud behind a competent Field Marshall [3]. But when they feel the Field Marshall is no longer competent, the need to GSD can overwhelm them and they will attempt to assume control in order to accomplish the goal. Then once the goal is accomplished, fade into the background behind a new field marshall. Viewed negatively Masterminds are basically coup makers. And that's very rarely something to be desired. I've found that it's usually better to simply change positions and get away from under a poor leader than try and overthrow them. It _almost_ never puts one in a good light.

Of course KTS and MB both have the feel of a kind of tarot card pseudo-science hand waiving. But I've found that none of the other KTS types come as close to matching the internal thought processes I have about my temperment. It's not a perfect descriptor, but it's about 90% on the nose.

[1] - <http://en.wikipedia.org/wiki/Keirsey_Temperament_Sorter>

[2] - <http://en.wikipedia.org/wiki/Mastermind_(role_variant)>

[3] - <http://en.wikipedia.org/wiki/Fieldmarshal_(role_variant)>

<comment><USER12> >All of the temperaments...

The scary part of that paragraph is that it actually describes me accurately. Without giving too much about myself, I can say that I have been in, and utilized the situations where I've pulled strings behind the leader (this, was in school/college, but still quite scary).

Although I too consider this as hand-wavy, pseudo-y stuff I seriously think I should start looking at this and try to _know_ when I'm committing such actions.

</comment></comment></comment></comment></comment><comment><USER13> I am proud (or ashamed) to admit that I read the whole thing. The article is pretty dense and it took me a little over two hours to get through it.

Around the middle of the article, the author argues that Jewish whites are _overrepresented_ in top colleges relative to non-Jewish whites, also arguing that white Jew academic performance has declined over the past decade. He argues that in essence, Jewish whites disproportionately dominate colleges, and that both Asians and non-Jew whites are underrepresented relative to the proportions of top students that are Asian and non-Jewish white. However, much of his analysis is based on analyzing the last names of students who earned National Merit Scholarship awards (these are awards given out nationwide among nearly all high school students), a method which might work for Asian surnames (which are highly distinctive), but one that is highly flawed when trying to distinguish between a white Jewish and white non-Jewish surname. This is rather shaky ground. In the author's defense, this is probably the only source of data that he could get, given that it is difficult to find data on Jewish vs. non Jewish white scholarly performance and college admissions.

If there's any section you should skim, that's it.

The later sections of the article are particularly eye-opening: the author enters into a discussion of the personal biases that admissions officers can hold. One example is that a researcher found that participating in certain "high school activities actually reduced a student's admission chances by 60–65 percent, ...these were ROTC, 4-H Clubs, Future Farmers of America, and various similar organizations." Another interesting fact is that people (and by extension admissions officers) have a tendency to drastically over-estimate the proportion of blacks/Hispanics/Jews in the US population.

However, the article ends rather weakly; the author basically suggests that the best solution is to have top colleges select a small portion of their students by pure talent (geniuses), and then select the rest by lottery out of a pool of academically qualified applicants. To me, this seems just as unfair as the alternatives, and de-motivational for academic success.

<comment><USER14> Yah it's _very_ long- truth be told, when I first came across the talk about Jewish administrators & saw the length of the article I assumed it was written by some crank with an axe to grind. Whatever one makes of the analysis & conclusions, if you hear the author out it becomes clear that this was done in a very thoughtful & thorough manner.

For some context: The author is Ron Unz, an "activist" type & former financial software guy whose company was acquired by Moodys in the mid 00s. He's quite difficult to pin down with traditional USA political shorthand (see his other positions on social services for immigrants vs bilingual education in CA for example.) It seems that whatever subject on which he focuses, he really goes all in.

This is a pretty interesting profile of him from the late nineties: <http://www.onenation.org/9907/071999.html>

If you're familiar with Steven Colbert's SuperPAC shenanigans you might remember that someone named Trevor Potter (former FEC) was Colbert's legal advisor & "straight" counterbalance. This is what that Potter said about Unz's unsuccessful campaign finance reform initiative:

"[...] Unz's "California Voters Bill of Rights" includes voluntary spending limits accompanied by partial public financing, a ban on corporate giving to candidates, overnight Web-based disclosure, and reasonable contribution caps (e.g., $5,000 for statewide races) that should survive a court challenge. "It's far wider-reaching than McCain-Feingold," says Trevor Potter, former chairman of the Federal Election Commission

This post was provocative & definitely passed the "...anything that gratifies one's intellectual curiosity" test.

</comment></comment><comment><USER15> Why does everyone seem to ignore today's standards of living for even the poorest classes in America?

All this talk about the top 1% just sounds like envy. Why do we compare ourselves to that?

I live in a neighborhood of a thousand 3000 square foot houses with three car garages. I imagine all the people in them reading that article and shaking their fists with anger at the 1% and realizing they're all failures who will never get ahead.

I just don't get that mentality.

<comment><USER16> I, like most programmers, am comfortably in the top 5% and cannot even imaging being able to own a home like you describe at my income level. There is a good chance those people are part of the 1% themselves. It actually doesn't take that much money to get there. Though it has been sold as a domain of people making tens of thousands of dollars per hour, so I can see why some may not even realize where they stand.

<comment><USER17> _I, like most programmers, am comfortably in the top 5% and cannot even imaging being able to own a home like you describe at my income level._

Sure you can. Anyone "comfortably in the top 5%" can afford a very large home, it just might not be exactly where you'd want it to be.

You're choosing instead to devote more of your income to being close to where you work and/or living in an area with ready access to services you find valuable.

<comment><USER16> I just did a quick mortgage affordability calculation and someone who earns at the bottom end of the 5% can only afford a $300,000-400,000 home.

Even where I live, which is very rural with comparatively cheap homes, only gets you a modest sized home. You need at least $500K to even start looking at 3000 sq. feet homes with big garages unless they are complete dives.

<comment><USER15> Don't forget about dual income families.

<comment><USER17> Yes. Obviously a 3000 square foot house with a three car garage is a bit much for a single person, so I was assuming top 5% household income. Top 5% there is ~$200K/year.

I'd be interested to see which calculator and which figures randomdata was using. I have a hard time getting less than $750,000 for a "conservative" figure, assuming your debt isn't absurd and you save up for a $100K down payment (should be very manageable with $200K gross).

<comment><USER16> Fair, though not all households have multiple earners either. I think it is still quite conceivable for someone to be in the top 1% and still feel like they are failing in life.

And what about local wealth distributions? A $100K income puts you in like the top 0.5% in my community. Someone making that much here is part of a 1% group, just not at the country scale. If houses are cheap in your locality, I expect things to be similar.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> To me, these two paragraphs below were enlightening. Not only the admission is sketchy, but the study program can be as well. I wonder why other USA-ians as a community/society seem to accept this kind of favoritism. As the author repeatedly notes, here in Western Europe this is unthinkable. Time and time I am confronted with the differences between USA and Western Europe, even though we seem so close culturally. I find it fascinating. Thanks for linking the article here on HackerNews.

""" Finally, there was the case of Becca Jannol, a girl from a very affluent Jewish family near Beverly Hills, who attended the same elite prep school as Julianna, but with her parents paying the full annual tuition. Despite her every possible advantage, including test-prep courses and retaking the exam, her SAT scores were some 240 points lower on the 1600 point scale, placing her toward the bottom of the Wesleyan range, while her application essay focused on the philosophical challenges she encountered when she was suspended for illegal drug use. But she was a great favorite of her prep school counselor, who was an old college friend of the Wesleyan admissions officer, and using his discretion, he stamped her "Admit." Her dismal academic record then caused this initial decision to be overturned by a unanimous vote of the other members of the full admissions committee, but he refused to give up, and moved heaven and earth to gain her a spot, even offering to rescind the admissions of one or more already selected applicants to create a place for her. Eventually he got her shifted from the Reject category to wait-list status, after which he secretly moved her folder to the very top of the large waiting list pile.90

In the end "connections" triumphed, and she received admission to Wesleyan, although she turned it down in favor of an offer from more prestigious Cornell, which she had obtained through similar means. But at Cornell, she found herself "miserable," hating the classes and saying she "didn't see the usefulness of [her] being there." However, her poor academic ability proved no hindrance, since the same administrator who had arranged her admission also wrangled her a quick entrance into a special "honors program" he personally ran, containing just 40 of the 3500 students in her year. This exempted her from all academic graduation requirements, apparently including classes or tests, thereby allowing her to spend her four college years mostly traveling around the world while working on a so-called "special project." After graduation, she eventually took a job at her father's successful law firm, thereby realizing her obvious potential as a member of America's ruling Ivy League elite, or in her own words, as being one of "the best of the best."91

"""

</comment><comment><USER19> As some who is Jewish from the former Soviet Union, and who was denied even to take an entrance exam to a Moscow college, I am saddened to see that American educational admission process looks more and more "Soviet" nowadays. Kids are denied opportunities because of their ethnic or social background, in a supposedly free and fair country!

But this is just a tip of the iceberg. The American groupthink of political correctness, lowest common denominator, and political posturing toward various political/ethnic/religious/sexual orientation groups is rotting this country inside out.

Worse things are yet to come.

/rant over

<comment><USER10> " _American educational admission process looks more and more 'Soviet' nowadays_ "

Be careful when choosing your enemies. You become them.

</comment></comment><comment><USER20> The proposed "inner ring/outer ring" admissions solution is interesting. The inner ring of admission slots (say 20%) are filled purely on academic merit metrics (NMS, GPA, SAT score, etc), then 80% of slots are filled based on dumping everybody else who meets some much lower cut-off on those academic merits into a lottery for the remaining admissions slots.

I'm not entirely sure the author appreciates the likelihood of various strange outcomes using a purely random lottery for admissions, for example "outlier" admissions classes that heavily over-represent one racial/gender group by chance.

Another rather damning point of the article is that university admission officers may be spectactularly unqualified to actually make admissions decisions. But I have been privy to the admissions decision process at the graduate level and bucketing applicants into the "will succeed" and "will not succeed" and "who knows" bucket usually winds up with a rather sizable number in the "who knows" bucket. So maybe the critque on the admission officers should be less worrisome than presented. I think PG has made statements that one of the biggest problems with YC applicants is that there just isn't an easy way to look at many applicants and make any reasonable determination about whether or not they could create successful startups.

Anyway, this is an excellently thought-provoking article and thanks for bringing it here.

</comment><comment><USER21> The chart showing the number of Asian students at Caltech vs. the Ivy League is shocking. Caltech's numbers have risen in proportion to the number of Asian-Americans aged 18-21, but the Ivy League numbers have been flat for many years. There's no doubt that a de facto quota system exists for Asians in the Ivy League.

</comment><comment><USER22> Anyone know how big the Asian demographic is in the US? Would help in guesstimating sincerity of this (vs just a play to get their vote after losing the black and hispanic groups)

Regardless, the bigger story of the alarming anti-meritocratic direction in the US is the poor social mobility in general.

edit: WP says Asians are 5.6% of US population.

<comment><USER11> Caveat for those outside the U.S. American vernacular generally does not include people from the Indian subcontinent, the Middle East, Central Asian countries or Siberia as "Asian".

So there are lots of qualifications needed for what constitutes this number. If it is a self-selected demographic choice it may include these groups, e.g. many peoples from the Indian subcontinent refer to themselves as "Asian" even though this doesn't align with the American use of the word.

<comment><USER23> I know where you are coming from. But on paper, Asians include people from Indian subcontinent etc. See this wp link <http://en.wikipedia.org/wiki/Demographics_of_Asian_Americans>

</comment></comment></comment><comment><USER24> Some good points in here, but one thing to keep in mind:

The American right hates higher education for reasons that have nothing to do with meritocracy. Higher education takes young people away from their small often rural and suburban cultural bubbles and exposes them to a larger world. This exposure undermines the parochial teachings of fundamentalism, and tends to corrode prejudices through contact. (E.g. seeing that gay people are not monsters or twisted freaks that only want to get in your pants.) The cosmopolitan influence of universities is deeply hated and resented by social conservatives.

<comment><USER17> That must be why Harvard and Yale grads are automatically disqualified from being nominated for President by America's mainstream right-wing party.

Your comment might make sense in the bubble in which you live, but it's balderdash.

</comment></comment><comment><USER25> > The rise of a Henry Ford, from farm boy mechanic to world business tycoon, > seems virtually impossible today, as even America's most successful college > dropouts such as Bill Gates and Mark Zuckerberg often turn out to be > extremely well-connected former Harvard students.

I find the Bill Gates and Mark Zuckerberg examples poorly chosen. Silicon Valley is probably one of the few remaining industries that largely resembles a meritocracy in America. There are countless cases of people succeeding despite lacking a formal/prestigious education or having the right connections.

<comment><USER26> Can you give a few of those examples? I'm not saying you're wrong, but I do have this (possibly unwarranted) feeling that most of the supposedly unconnected people succeeding in the startup world today at least have wealthy parents allowing them to work full-time on their startup ambitions without worrying about a job.

<comment><USER27> Steve Jobs? I don't believe his adopted family was particularly wealthy.

</comment></comment></comment><comment><USER28> Wow, I'd be pissed reading this as an Asian American.

</comment><comment><USER29> While I agree with the premise of academia not really being a meritocracy, this article limited scope focusing solely on academia just comes across as thinly veiled anti-intellectualism that conservatives have been preaching forever. Why didn't the author take any time to focus on the lack of meritocracy in corporate culture or even political culture? They hate science, they hate facts, and they want to "defund the left" but destroying our institutions of higher learning and research.

</comment><comment><USER30> This is a massive over simplication, but my personal take is that the people who make it big always had a nag that they were going to be successful.

Success doesn't strike me as something that you just stumble upon. There is always work to be done, but most people just won't do it. I'm not saying most people are lazy, I just think that they decide to work on the wrong things.

Furthermore, if your determination can be deterred by an article, I wouldn't bet for you to be successful to begin with.

</comment><comment><USER31> Its much longer than I expected (I'm .25 of the way through), but so far a much higher quality read than I expected from the domain of 'the american conservative'

<comment><USER3> That was a cheap shot.

There is an intellectual foundation for many parts of conservatism; see Michael Oakeshott in particular as the leading 20th century philosopher of conservatism as a serious intellectual movement.

For the pro-market counter-case, see FA Hayek's _Why I Am Not A Conservative_ ; though I think Hayek later contradicted himself in _The Origins and Effects of Our Morals_.

</comment></comment><comment><USER32> I find it a bit curious to call Harvard's entrance exam[1] a "simple objective test of academic merit". I would call it a glorified spelling bee whose word list was handed out only to the most privileged.

[1] [http://graphics8.nytimes.com/packages/pdf/education/harvarde...](http://graphics8.nytimes.com/packages/pdf/education/harvardexam.pdf)

</comment><comment><USER33> You know what I find funny? The creator of the word meritocracy created it to parody how people think the world is mostly just. Curious no?

I was going to write more on this topic but I'm tired of it like I am with the religious. Instead I will say the following condensed sentence.

Libertarianism/conservatism/Republicans/meritocracy are merely derivations of humanity's sociopathic bias known as the just world fallacy. Furthermore most explanations in all business books, magazines and articles focusing on the people make the fundamental attribution error and are mostly bunk.

Finally once you understand the complexity of the world you live in you see how people have no fucking clue what they are taking about outside of the hard sciences.

<comment><USER34> _The creator of the word meritocracy created it to parody how people think the world is mostly just. Curious no?_

It would be if it were true. The satire you're referring to, used the word as a way to criticize how the British government of the period was selecting people into an elite ruling class based on suspect standards of intelligence and aptitude. The word itself was invented as a shorthand to refer to that process and its justifications. It was not a parody of the idea of meritocracy as it is understood today.

From wikipedia; _Meritocracy is the implementation of advancement based upon intellectual talent. Often, advancement is determined by demonstrated achievement in the field where it is implemented._

Aside from that, I'm curious, If you believe that meritocracy is indeed evidence of right-wing sociopathic behavior. What would be the Communist/Liberal/Democratic alternative? Surely you're not advocating a kakistocracy (i.e. rule by the worst).

<comment><USER33> The liberal version is paternalistic totalitarianism. You need a mix.

I'm not against meritocracy or ownership. I'm against not capping poverty and I'm against worshipping those who are lucky in life.

</comment></comment></comment><comment><USER35> I wiped my LinkedIn profile. I have no problem with them as a business, but this touches on one of the things that's been getting to me about "social" (and I will bring this around to education) over the past few years.

There's an inherent exploit/explore tradeoff in "social". Or, more to the point, are you going to _document_ social relationships or _improve_ them (in spite of the fact that there are powerful people who don't want improvements to occur)? There's a lot more money and less risk in the former, but I'm more a fan of the latter, because that's where the great companies come from. Which is why I like Meetup a lot (with its unusual focus on _growing_ the social graph) and feel more tepid about LinkedIn. They're a great company and they've executed well, but their model is still stuck in the old, broken, credential- and-resume way of doing things.

Since my colorful Google history has (against my will) been exposed to public digestion, I'll admit that what started that fracas was a document-vs.-improve debate regarding Google+ that I, unwisely and half-unintentionally, got myself caught in. (I was on the "improve" side.)

What on earth does this have to do with the Ivy League and college admissions? Well, this talk about "disrupting" education through online courses (e.g. edX, Coursera) is really about _improving_ social and knowledge graphs, and that's really exciting. Admissions officers just _document_ ; they take notes on who looked impressive at a young age. I see admissions as a less interesting problem with time. If our generation does its job, no one will give a shit about college admissions in 30 years.

<comment><USER36> that's one of the most profound comments I've read in a really long time, an upvote doesn't really seem sufficient

I wish I had thoughts that could further this comment, right now they are failing me though

tangentially related thoughts [http://www.xoxohth.com/thread.php?forum_id=2&thread_id=2...](http://www.xoxohth.com/thread.php?forum_id=2&thread_id=2087697&PHPSESSID=6103edf7a49f646e8c440bc72c04a9eb#21851580)

<comment><USER35> I don't know if it's a good thing or a bad thing that I had the courage(?) to click an xoxohth link at work.

I think people are going to be averse to having their minute-by-minute activity mined for any purpose, so I don't see that as a recruiting angle. What I do think is that there's more signal in a person's willingness to learn later in life rather than at age 20 when it's expected. I'm more impressed by the 37-year-old who picked up a machine learning course or textbook on his own and, in a year, picked up a respectable working knowledge of it. Whether he went to college is immaterial, at that point.

<comment><USER36> the branding of "hey have your minute by minute activity mined" is weak on alot of different levels

but that's not so different from alot of real world activity, showing face time at work, being 5 minutes early for meetings, that sort of thing

those sorts of little things go into your real world reputation, ie do you feel good about recommending someone for a job that's always 5 minutes late? (superficial as that may be)

part of that is why personal recommendations carry the weight they do

if taking classes with minute by minute monitoring were shown to correlated with better chances a monetary reward at the end (x% gets a job, x+y% gets a job with monitoring), that'd change the calculus for alot of people

admittedly, the branding for that is pretty weak

</comment></comment></comment></comment><comment><USER37> Damn, there should be a length warning before you start down that thing. Looks like about an hour read.

<comment><USER38> Are we so ardently lazy, so passionate about sloth that we should feel entitled to warnings that we might inadvertently devote ourselves to something? Would someone make a similar claim were they to accidentally sit down at a free, seven course dinner?</comment></comment>


Beautiful Native Libraries - <AUTHOR> http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/ <comment><USER2> This is an article I wish that every developer who writes libraries (especially for use with games) in C/C++ would read. All of the advice about cleaning up includes and exports and the whole thing is spot on, and is the sort of thing that will cause me to curse your name a thousand times if you forget it.

One minor point: if your library does file IO, let me override your file operations with my own callbacks, or at least consider providing methods that operate solely on blobs in memory (that way I can populate those blobs however I see fit)--giving me a function that takes a const char* for the filename and then does -~= _magic_ =~- is simply not okay.

<comment><USER3> > One minor point: if your library does file IO, let me override your file > operations with my own callbacks, or at least consider providing methods > that operate solely on blobs in memory (that way I can populate those blobs > however I see fit)--giving me a function that takes a const char* for the > filename and then does -~=magic=~- is simply not okay.

Not only is that an excellent reminder, it's an excellent reminder for every API in every language out there.

Though it's not necessarily fun, having to build a shim/layer over FILE* and related functions all the time.

</comment></comment><comment><USER3> > The reason for this is that Microsoft's C compiler is notoriously bad at > receiving language updates and you would otherwise be stuck with C89.

And what Armin means by "notoriously bad at receiving language updates" is that Microsoft has repeatedly and explicitly stated through Herb Stutter that it does not want C, the C90 compiler is essentially an anomaly, it will remain but it will not be updated to a more recent standard, and only the C++ subset of standards more recent than C90 would ever be supported (by the C++ compiler, if you want pure C you're out of luck)

[http://herbsutter.com/2012/05/03/reader-qa-what-about-vc- and...](http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/)

<comment><USER4> This year at build was reported that vs 2013 will have C99 support (not complete).

[http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-librar...](http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library- support-in-visual-studio-2013.aspx)

<comment><USER3> This is, as previously, support for the C standard library in its capacity as a (qualified) subset of the C++ standard library.

VS will have no more C99 support that what was previously stated by Stutter: it will support the common subset of C and C++.

<comment><USER5> [http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp- con...](http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp-conformance- roadmap.aspx) lists some non-library C99 features not in C++.

</comment></comment></comment></comment><comment><USER6>
      YL_API void yl_set_allocators(void *(*f_malloc)(size_t),
                                    void *(*f_realloc)(void *, size_t),
                                    void (*f_free)(void *));

Technically, all you need is realloc(), because realloc(ptr, 0) is _free_ and realloc(0, bytes) is _malloc_.

<comment><USER3> > realloc(ptr, 0) is free

Not quite. POSIX states:

> If size is 0, either a null pointer or a unique pointer that can be > successfully passed to free() shall be returned.

and although FreeBSD's man 3 realloc does not say _anything_ about a 0 size, OpenBSD's man 3 realloc states:

> If size is zero and ptr is not a null pointer, the object it points to is > freed and a new zero size object is returned.

And OSX's states:

> If size is zero and ptr is not NULL, a new, minimum sized object is > allocated and the original object is freed.

So a minimal implementation would need realloc and free, to account for realloc(ptr, 0) allocating.

<comment><USER6> > _Not quite. POSIX_

Nitpicking without measure is a man's greatest pleasure ;)

You are not implementing POSIX. You are providing a hook for the library users and _your library_ will call this hook with (ptr, 0) when it wants to free a memory block. You just declare that your library works that way. Also, if your library wants, it can test provided hook to see if it complies with library's expected behavior and assert/fail if it doesn't.

Think about it this way - if you are exposing a way to override realloc() calls in your library, then you _will_ have to specify what your library means when it issues realloc(ptr, 0). So it's perfectly fine to declare that it expects such call to do what free() does, in which case a single realloc hook _is_ sufficient to override all memory operations.

<comment><USER3> > Nitpicking without measure is a man's greatest pleasure ;)

Pointing out that your assertion is tragically wrong is not nitpicking.

> You are not implementing POSIX.

Of course not, you're not implementing an OS. You're _using_ POSIX.

> You are providing a hook for the library users and your library will call > this hook with (ptr, 0) when it wants to free a memory block. You just > declare that your library works that way.

This means it is not possible to pass through standard allocators to your library without your user having to know precisely how they handle the realloc case. This strikes me as a pretty significant annoyance for any user of said library.

Oh, and your library can't rely on the platform's own allocators, so the user _must_ provide an allocator for which he _must_ know how realloc precisely behaves (and possibly wrap it) regardless of spec.

> Think about it this way - if you are exposing a way to override realloc() > calls in your library, then you will have to specify what your library means > when it issues realloc(ptr, 0).

If you stick with and expect POSIX semantics, as the name of the hook would imply, you don't have to specify anything and you simplify your library user's job.

And think about it this way: if what you want is not realloc, don't call it realloc.

</comment></comment></comment></comment><comment><USER7> Ulrich Drepper wrote a good guide on shared objects a long time ago and it is more in depth and focused on linux.

[http://www.akkadia.org/drepper/dsohowto.pdf](http://www.akkadia.org/drepper/dsohowto.pdf)

</comment><comment><USER8> Great read!

I have a question to section "Exporting a C API": All methods in class Task are marked const. Yet only yl_task_is_pending in the C API takes a pointer to const. Is there a reason for that?

<comment><USER9> No, just a stupid copy paste mistake. I fixed that, thanks.

<comment><USER8> Right, that makes more sense, could have guessed that tick() shouldn't be const :)

(You missed one more detail though: In the implementation of yl_task_get_result_string, it should be AS_CTYPE now.)

Another question, different topic, about the memory allocations: In your example, why do you provide implementations for calloc and strdup instead of letting them be set as well? I do agree with your stance on (not) dealing with allocation failures in the library. But if I as a library user use (anything like) standard malloc (and NULL pointer checks after e.g. yl_*_new()) I would probably be annoyed at your implementations of calloc and strdup (which would crash somewhere in your library when malloc returns NULL).

<comment><USER9> > why do you provide implementations for calloc and strdup instead of letting > them be set as well.

For me personally it's because I never use calloc religiously. I implement calloc so that I can forward those allocators to my dependencies (like curl). I guess you have a point there.

With regards to strdup: My version changes the interface in that it's allowed to pass NULL through it in my own code. I know I did not do that in the blog post because I did not want to start a discussion about that API change :-)

<comment><USER8> Thanks for the answers. Great writeup altogether :-) test.py sounds interesting, maybe I'll look into that some time.

</comment></comment></comment></comment></comment><comment><USER10> The sad state of affairs is that so many people assume native languages (C/C++) to be so complicated when in fact it is the _environments and API_ that are commonly used with these languages that should bear the greater blame.

I'm putting together a backend webserver and frankly, there is nothing complicated about using C/C++ syntax over PHP or JavaScript. Using my own objects and data abstractions is simple. However, as soon as I need to use someone's library, that is when the complexity, confusion, and bugs begin.

I encourage anyone who wants to use system languages (for performance or academic reasons) to take the time to find a good library (libuv on which node.js is based for example). Program procedurally for a while to get a good feel for things before endlessly wrapping logic in object or functional abstractions.

Should you ever expose your API to others you'll do the world some good if you make it enjoyable for others to use. Perhaps make two abstractions: one for performance and one for simplicity.

</comment><comment><USER11> > Obviously you could just use a different compiler on Windows but that causes > a whole bunch of problems for the users of your library if they want to > compile it themselves. Requiring a tool chain that is not native to the > operating system is an easy way to alienate your developer audience.

I don't like this attitude. A lot of Windows developers like to pretend that Windows only has one compiler and therefore doesn't support C99. Not only is there MinGW GCC, there's also Pelles C and Clang which are all just as "native" as MSVC (you don't need Cygwin or MSYS to use GCC or Clang.) As long as you release a DLL and an import library, I don't think anyone will feel alienated.

</comment><comment><USER12> Really solid advice throughout.

If you're using non-POD C++ and want to allow custom allocators (wise), I would keep it simple and use placement new instead of messing about with per- class operator new. If you must you can wrap it up in little internal template functions to make it a little more palatable.

Eg:

      template <typename T>
      T *yl_new(Context *context) {
          return new(context->malloc(sizeof(T)) T();
      }

      template <typename T>
      void yl_delete(Context *context, T *object) {
          object->~T();
          context->free(object);
      }

<comment><USER9> Then you have to stop using STL containers altogether as those will just use operator new internally :(

<comment><USER12> True, but that has more to do with wanting to place the allocators on a context object. Even using custom allocators I don't think there's a way to supply a non-global context to the STL.

</comment></comment></comment><comment><USER13> If this is beautiful, I would hate to see ugly. I wish we could take the power of C++ and just start over syntactically with a brand new language.

<comment><USER14> Why is everything beautiful after Steve Jobs? It's idiotic. Elegant, whatever, but beautiful?

</comment></comment><comment><USER15> While xxx_API macroses are common, over the time I came to appreciate the .def files more. It takes a bit more effort to keep them in sync, but then you no longer need the xxx_API pattern, and you can ship both static and shared libs this way.

For C++ interface though, .def files become an unreadble mess due to the mangling, and in this case using the xxx_API is probably better choice

</comment><comment><USER16> Great post, very informative!

But why recommend changing operator new/delete by using a macro instead of privately inheriting a class that does that?

</comment><comment><USER17> Excellent article that I wish I had been able to read the first time I worked on a C library last year.

And speaking of Rust's dynamic linking support, what is the current status of Rust and shared object libraries? I think you can create them now if you include the Rust runtime. Is this correct?

<comment><USER9> Rust can be used without a runtime now, but there are some shim functions that need to be defined still. There is currently work being underway I believe to make this easier.

</comment></comment><comment><USER18> It'd be good to see a guide on creating beautiful Python binding for native C/C++ libraries.</comment>


Hudson's Lost Mario Trilogy (2010) - <AUTHOR> http://www.hardcoregaming101.net/hudsonmario/hudsonmario.htm

<comment><USER2> Wow, at first I thought these were more clones like the Korean "Super Boy" [1]. It goes to show how popular the PC-x8 computers were in Japan at the time that Nintendo would license out their principle franchise. It makes the later licensing to Philips for the CD-I make more sense in retrospect. It's worth noting that the NEC PC-88xx systems had almost 100% business uses envisioned for them and virtually no hardware support for games, but much like early Intel-PCs, ended up with a vibrant gaming community. [2] Hudson would also go on to try and compete more directly with Nintendo by partnering with NEC on the PC-Engine (known in the West as the TurboGrafx-16).

Here's some video of these 3...

1 - [http://www.hardcoregaming101.net/korea/part1/company- zemina....](http://www.hardcoregaming101.net/korea/part1/company-zemina.htm)

2 - [https://en.wikipedia.org/wiki/NEC_PC-88](https://en.wikipedia.org/wiki/NEC_PC-88)

3 - [https://www.youtube.com/watch?v=2SAIVg6-lVE#t=165](https://www.youtube.com/watch?v=2SAIVg6-lVE#t=165)

4 - [https://www.youtube.com/watch?v=dgKQd9BfKXg](https://www.youtube.com/watch?v=dgKQd9BfKXg) (features the corruption the article talks about)

5 - Here's the Sharp X1 version that features limited scrolling [https://www.youtube.com/watch?v=u2ER9g4pfuw](https://www.youtube.com/watch?v=u2ER9g4pfuw)

6 - And a reverse engineered version back to the original NES! [https://www.youtube.com/watch?v=Ggmsx7XQvNA](https://www.youtube.com/watch?v=Ggmsx7XQvNA)

</comment><comment><USER3> Wow, Super Mario Bros Special looks terrible. Very strong evidence that the main reason the NES was so successful was its easy to use hardware scrolling. Just one write to a memory mapped register and you were set (sort of).

<comment><USER4> > Wow, Super Mario Bros Special looks terrible. Very strong evidence that the > main reason the NES was so successful[...]

The article says _" Super Mario Bros. Special - PC-88, Sharp X1, Samsung SPC-1500 (1986)"_

Here's the caption for the first screenshot _" Super Mario Bros. Special (PC-88)"_

For the second _" Super Mario Bros. Special (PC-88)"_

And for the third _" Super Mario Bros. Special (PC-88)"_

Maybe one of the reasons the NES was so popular was that games were very good?

<comment><USER5> I'm missing the significance of quoting the screenshot captions. The parent post was suggesting that the NES provided a platform that made it easy to create sidescrolling games. From the article, one of the major failures of this game is the lack of decent side-scroll.

<comment><USER4> Ah, yes, sorry.

> _The big difference is that the screen doesn 't scroll smoothly, but instead > flicks across. Annoyingly you can see part of the next area, meaning the > screen flicks across before Mario reaches the edge, totally destroying any > sense of timing for precise jumps. Plus, turtle shells will bounce off of > scenery even if it's on a subsequent screen, threatening to kill > unsuspecting players. The fact the screen doesn't scroll can, in some cases, > make this appear as if turtle shells are bouncing off open space._

</comment></comment></comment></comment><comment><USER6> I owned one of these. But, if memory serves, I think it was a DOS edition. Maybe a port? It came either on a 3.5" or 5.25" floppy, and the packaging was pretty utilitarian--black text on white, if memory serves.

At the time I figured it was just some unauthorized programmer trying to make a buck on Nintendo's back. It never occurred to me that Nintendo would license the IP.

<comment><USER7> Maybe you are thinking of the "popular" DOS fraeeware, Mario? That was indeed an unauthorized programmer just having fun. [http://www.wieringsoftware.nl/mario/](http://www.wieringsoftware.nl/mario/)

Does this look familiar? [https://www.youtube.com/watch?v=r_GeVKAZT4I](https://www.youtube.com/watch?v=r_GeVKAZT4I)

<comment> T-R I think he might be referring to Mario Bros VGA - [http://www.abandonia.com/games/880/MarioBrothersVGA](http://www.abandonia.com/games/880/MarioBrothersVGA)

</comment></comment></comment><comment><USER8> I would love to check out the Punch Ball version. The original Mario Bros. game was very fun to me. It was so simple looking yet the gameplay was great and I found myself challenging friends all the time.

I'm also a fan of the Donkey Kong games where you have to jump across platforms and use trampolines, I have to find a way to check these out!

<comment><USER9> [http://emulator-zone.com/doc.php/nes/](http://emulator-zone.com/doc.php/nes/)

[http://emulator-zone.com/doc.php/arcade/mame.html](http://emulator- zone.com/doc.php/arcade/mame.html)

</comment></comment><comment><USER10> If you would like to read why Super Mario Bros. is brilliantly designed, check out Jeremy Parish's Anatomy of Games site: [http://www.anatomyofgames.com/anatomy-of-a- game/](http://www.anatomyofgames.com/anatomy-of-a-game/)

Scroll down to the bottom for the SMB entry list.

</comment><comment><USER11> They mention Punch Ball Mario Bros and say:

> Considering their constant push for multiplayer family gaming, it's baffling > Nintendo hasn't considered re-releasing this.

Considering how it was obviously integrated into SMB3 as a mini-game, it's baffling how the writer didn't mention that.

<comment> T-R The SMB3 mini-game was based on the original Mario Bros; The author describes Punch Ball as a distinct game:

> This is almost identical to the original Mario Bros, except you can't knock > enemies upside down by hitting the platform they're standing on. The only > way to defeat them is by hitting the POW block or throwing the Punch Ball > which Mario and Luigi carry around.

<comment><USER11> Was it based on the original Mario Bros? I'm talking about the mini game you can play when Luigi and Mario occupy the same space.

You can knock enemies out by hitting the platform they're on OR by hitting the POW block and there's no ball, but other than that, the enemies and level layout seem to be identical.

Since the level layout is identical (and I don't remember a POW block in the original SMB), it seems more like the mini-game is based on Punch Ball rather than the original Mario Bros.

<comment><USER12> The original Mario Bros. is distinct from Super Mario Bros. See [https://en.wikipedia.org/wiki/Mario_Bros](https://en.wikipedia.org/wiki/Mario_Bros).

<comment><USER13> I remember buying that for our Atari 2600 as a kid and being very confused that it was different than Super Mario Bros.</comment></comment></comment></comment></comment>


Overlooked No More: Pandita Ramabai, Indian Scholar, Feminist and Educator - <AUTHOR> https://www.nytimes.com/2018/11/14/obituaries/pandita-ramabai-overlooked.html <comment><USER2> FTA: "Ramabai's critique of the Hindu patriarchy and embrace of Christianity extracted a heavy price, according to her biographers: It led to her marginalization in India and her ultimate omission from mainstream history books."

Not only that, her embrace of Christianity led to her marginalization even among the feminists who do not talk about her in the same breath as the other transformational feminists, who changed Indian society in those centuries.

<comment><USER3> For many thought leaders rocking the boat has yielded consequences much worse than being overlooked by history.

</comment></comment><comment><USER4> Conversion to Christianity, or any other religion, is an assured way to get scorned in the [mostly Hindu] Indian social and political classes. Despite having enormous majority, the country has been scarred by centuries of Muslim invasions and then a British (Christian) colonial power, so its easy to see where this anxiety against conversion comes from. IMO it doesn't make sense, but it is a very emotional topic for many Indians.</comment>


Ask HN: UK Election thoughts - <AUTHOR>

I'm interested to hear what people here think about the UK election, particularly with the first televised debate last night, and the fact that only the Lib Dems oppose the Digital Economy Bill. <comment><USER2> I think their opposition of the DE Bill is likely to grab the attention of many individuals, but whether it's a last ditch attempt at false promises because they don't think that they can get into power is up in the air.

I enjoyed the first televised event and found myself ordering the candidates as follows:

      1. Nick Clegg
      2. Gordon Brown
      3. David Cameron

The Guardian is hosting an event on Monday where each of the party manifesto writers can be questioned and you can vote/nominate questions: <http://labs.38degrees.org.uk/election-debate>

<comment><AUTHOR> Thanks, I wasn't aware of the Guardian debate.</comment></comment>


Python Community in Anguish, Pain, Despair Over Web Server - <AUTHOR> http://pwpwp.blogspot.com/2009/09/python-community-in-anguish-pain.html <comment><USER2> It just seems so bizarre that there's so much worry over a company releasing some code. It's a good thing!

You can argue all you like about whether they made good technical decisions but be angry that they released some code for free is just odd.

Sometimes people re-write already existing things, sometimes it's a good idea, sometimes it's a bad idea, sometimes it seems like a good idea at the time. Sometimes it works out quite well so it doesn't matter either way :p

<comment><USER3> The misleading graph doesn't help their case, either - tests were run at 1,5,10,25,50,75, and 100. The graph mistakenly spaces them evenly apart. In reality, twisted.web died after 50, while Tornado still worked @ 100.

<comment><USER4> Also if you're planning to do any real Comet stuff, this is an extremely small-scale test. Should try with a few thousand concurrent requests to gain any real insight.

<comment><USER5> [http://antoniocangiano.com/2009/09/13/benchmarking- tornado-v...](http://antoniocangiano.com/2009/09/13/benchmarking-tornado-vs- twisted-web-vs-tornado-on-twisted/)

2000 concurrent requests

<comment><USER3> If I may reiterate, twisted.web died between 50 and 75, and that graph showing 1-100 was _very_ misleading.

</comment></comment></comment></comment></comment><comment><USER6> Author takes one quote from Terry Jones and miraculously transforms it into "anguish, pain, despair" from the Python community. From the other posts on that blog I get that he's trying to be funny, but this one follows TechCrunch's "trolling and creating drama for massive pageviews" style guide so slavishly that any humor intended just falls flat imo.

It's ridiculous how every time new software is released we must turn its position vis-a-vis existing similar software into some kind of soap opera.

Hey I know how we can make this even more dramatic. Async aside, Tornado is also a web framework. How about we get the developers of Django, CherryPy, TurboGears, etc to all castigate Friendfeed devs for not choosing their framework and adding easy async support?

Just because some software has overlap with others doesn't mean we all have to automatically pick sides. I love Twisted. I look forward to building something with Tornado. I am eager to see dlsspy's efforts at interop between them come to fruition.

At the end of the day, there is new, well-documented free software available for Python. The rest is up to the community.

<comment><USER7> FWIW, I tried to write a satire by using only real quotes, and making nothing up (because I find the whole affair completely ridiculous by itself.)

Judging by the comments left on the blog, I guess I failed.

<comment><USER8> HN isn't really into satire, unless it involves Erlang.

</comment></comment></comment><comment><USER4> The controversy surrounding this is just really funny.

I wrote my own comet webserver in Java to run Mibbit (Hopefully I'll open source it one day soon - maybe when facebook acquire me lol). It's pretty awesome IMHO, and happily handles thousands of concurrent users in a single thread, doing thousands of http requests a second, on a medium size VPS server.

Writing your own stuff makes perfect sense. Here's why I personally did it

* Comet is very important to a realtime app. I wanted to make sure I had the best server in the world for that.

* I wanted to learn the complete low level details so I could be sure that the protocol,systems,etc were best possible, and just so I know exactly what's going on under the hood. (Knowing the whole code base inside out means I can really heavily optimize)

* One of the worst situation you can ever be in IMHO, is trying to find a bug, which ends up being in some badly written 3rd party lib. If it's in your own code, it's far easier to find+fix.

* It's not that hard. It's just webserver networking etc code.

Yes there were other comet servers out there, but they all seemed pretty 'general purpose', overly complex, etc for what I wanted.

I think the take-away from the Tornado release isn't "Wow! There's a new web framework here you should use it!". It should be "If it makes sense to reinvent the wheel, you should totally reinvent the wheel."

The amount you learn in the process is invaluable in itself.

</comment><comment><USER9> I've spent the last two weeks at Python conferences in Argentina and Brazil, have been following the news from DjangoCon, and like to think I've got a pretty good pulse on the Python web community.

I'd hardly characterize the Python web community's attitude as "anguish, pain, dispair." I see a lot more excitement, curiosity, and shiny-new-toy-syndrome; I think most reasonable Pythonistas agree that Tornado is a bit net positive to Python web development.

Those on the outside tend to mistake impassioned discussions for anger, but those who've been in this community for some time know that on balance there's a pretty strong collegial atmosphere. We compete, sure, but we're also friends and the spirit's friendly. Nobody thinks they're the be-all and end-off of web development; we all recognize our software is just yet another stepping stone along the path towards something better.

</comment><comment><USER10> I had a play with Tornado over the weekend. It's fabulous. The docs are easy to follow, and they do a great job of walking through the things you need to be thinking about. I like learning a framework by following exercises and gradually memorising how to set up a basic app typing into an empty console with no notes. I'm there with tornado already. The abstractions are nice.

Twisted is already cool, and I look forward to the polished version of the Tornado-on-Twisted making it into the repository. I suspect docs modeled on the current Tornado docs will make twisted a lot easier to learn than it currently is.

</comment><comment><USER11> The state of twisted today isn't that interesting. Without knowing when they started on working on Tornado and what that state of twisted and its documentation was at that point one cannot really comment on if it was a good idea or not.

I know I've written code that years later looked like pointless reinventing of wheels, but when I started writing the code there really wasn't anything else that did what we needed. And once I had something working it was often easier to maintain it than to port it to some other library.

</comment><comment><USER12> In the Common Lisp community, we accept the writing of one's own httpd as a rite of passage. Don't fight it: RFC2616 is hard to resist.

<comment><USER13> Mmm, my first real project in Scheme was actually an HTML parser, but the spirit of it is the same. There's something enticing about an annoyingly complex spec that lets a beautiful language like Lisp shine.

But yes, I'm sure that Twisted wasn't in the shape it needed to be when FF started building this, and they've built up an alternative. That's never a bad thing.

Otherwise, there'd just be Apache... no nginx, no lighttpd, no fun!

<comment><USER14> It would be really nice if somebody could write a breakdown of these webservers for the uninitiated like myself. I'd like to know when to use which tool.

<comment><USER12> I started with a single hunchentoot instance running on SBCL on Win32 and I still hack on it about 16 hours a day. I deploy on a 30-instance hunchentoot farm with 4 lighttpds sittin on front of them.

Hunchentoot could either be a single-instance, one thread per request simpleton, or, given its flexible and well thoughtout architecture, an httpd development _framework_. The requests per second could also vary; the stock configuration is about 80r/s, but I am squeezing well over 2kr/s out of it. I have been tweaking it for the last 7 months or so and it just keeps getting better.

</comment></comment></comment></comment><comment><USER15> You don't see django folks freaking out about how tornado rewrote URL routing and wrote a new template engine (they even take some shots at django's restrictions in templating). There is probably as much overlap with django as there is with twisted, yet all the "controversy" is coming from the twisted people.

What is wrong with choice?

<comment><USER16> Nothing is wrong!

As you said there is probably _more_ overlap with django than with twisted, tornado is a full fledged framework that happens to a have (thanks god) a new async web server, and I really like the self contained nature of tornado (and the no twisted dependency), if you do want twisted there are orbited/cometd already!

All this situation is getting pretty silly IMHO, opensource is about freedom to choice, they evaluated twisted and decided it was not the right path, everyone should accept this and get along. Before twisted there was async, before django there was zope, before python there was another language, before git there was svn, before svn there was cvs and so on... that's how opensource works, competition is the path to better things and I LOVE THIS!

</comment></comment><comment><USER17> Am I mis-reading that graph or is it the case that twisted.web handles half the concurrent connections that tornado does /and/ more slowly? Is it possible that twisted performing "almost as well" as tornado might be exaggerated?

<comment><USER18> Agreed, Tornado seems to handle 100% more connections and at 50 connections offers a 15% performance improvement.

</comment></comment><comment><USER19> It's interesting how quickly people started talking about this as being a "Facebook" thing vs. a "FriendFeed" thing.

</comment><comment><USER20> I think this is a good thing, and it is a good thing seeing lots of energy poured into each of these approaches.

I wonder if the Zen of python "There is only one-- and preferably only one --obvious way to do it" might be influencing the community's feelings about another web server in python.

</comment><comment><USER21> Bullsh*t.</comment>


Tesla Released a $1,500 Surfboard That Sold Out in a Day - <AUTHOR> http://fortune.com/2018/07/29/tesla-1500-surfboard/ <comment><USER2> I think the Tesla fanboys who bought these would have spent $1500 on a coffee mug if Musk had asked them to. Would have had better margins than decorative surfboards but I guess they're optimizing for Twitter appeal instead.

</comment><comment><USER3> I'm kind of glad these appear to be targeted at collectors rather than wave riders. $1500 is a high price for a surf board, though plenty of off the rack longboards or large wave can crack the $1000 barrier.

Wonder how a Tesla board would be received in the lineup. My guess is that aside from a few localized breaks, nobody would care much. Might generate more curiosity than hostility at a lot of spots, and where it would generate hostility, well, pretty much anything that stands out is a bad idea there. You know where to keep a low profile (that said, a shiny "Tesla" board in those rare circumstances would seem like an unusually unwise way of standing out, kind of like wearing a t-shirt celebrating your tech IPO at an anti- gentrification rally).

One thing that drives me a little nuts is the very sharp pointy nose, which I consider to be a non-functional hazard done purely for cosmetics. I actually think the smooth rounded edge looks better too, kind of like the corners of an iPhone. But Tesla would hardly be the first or only violator here. And if it's for decoration on the wall, then no harm no foul.

I'm all for buying surfboards as art. It's no crime to hang them on the wall and not ride them, as far as I'm concerned, and I highly doubt a shaper is going to be bummed to get the business. But this Tesla board on my wall as art? Nah.

</comment><comment><USER4> Once again proving that customer acquisition is the main bottleneck to acquiring customers, not solution quality.

There are places that give away free stuff right now on this planet that people won't even ever feel an impulse to acquire.

But because of Elon Musk's appeal and cult-status, Tesla customers feel a strong impetus to purchase something they likely will never use. It's sole utility is being a collector's item and potentially granting access to a high net worth community through a strange quirk of biology that we call "signaling".

<comment><USER5> There are some people buying them because 'omgtekasldkjd' but I bet the vast majority of them will be doing this as these will be worth a fortune in 50 years.

Tesla is a historic company, make no mistake about that. This has very little to do with the marketing and customer acquisition.

<comment><USER4> Tesla is not the most sustainable, cost efficient form of private transport on Earth. Even among electric cars, there are a lot of other cool options out there.

Tesla made itself into a something more than a brand-- it is a life-style and a status symbol. Tesla could sell rice and people would still buy it because there seems to be a deep human desire to belong to the "it" group

</comment></comment></comment><comment><USER6> This is just an old-fashioned surfboard with Tesla esthetics. It may add some positive association to the Tesla brand. I think it would have been much more interesting if Tesla had come up with a motorized foiling surfboard.

Marine engines are another market that is ripe for electrification: most boats are relatively insensitive to the added weight of batteries.

<comment><USER7> [https://store.liftfoils.com/products/efoil](https://store.liftfoils.com/products/efoil)

</comment></comment><comment><USER8> Why? How's it going Tesla's cash crunch? If it won't, stop distracting the company, Elon

</comment><comment><USER9> Tesla slowly becoming Supreme

</comment><comment><USER10> Kook move telsa, kook move

</comment><comment><USER11> Next, Tesla whiteboards.</comment>


Facebook opening an engineering office in Seattle - <AUTHOR> http://www.facebook.com/notes/facebook-engineering/facebook-engineering-seeks-new-friends-in-seattle/386192358919 <comment><USER2> Could be that some veteran Facebook employees want to move to Washington state to avoid paying taxes on their stock.

Shortly after Google went public, a lot of old-time Googlers moved to Washington so that they could avoid paying CA taxes

<comment><USER3> The number of Googlers moving to Seattle post IPO was very very small. Most growth in our office came from local hiring. I believe the company tried to filter this out. That isn't to say there aren't one or two though...

</comment></comment><comment><USER4> I'm glad they announced this _after_ all of the privacy nonsense came out, so that I now know to avoid them on moral grounds. It's a pity too, because they're doing some pretty awesome stuff from a technical perspective.

</comment><comment><USER5> Nice byline: "Ari Steinberg, an engineering manager at Facebook, is moving to Seattle because he couldn't bear to be 800 miles away from Michael Arrington."

<comment><USER6> I spit my latte when I read that, especially because of the HN comments on that story yesterday/Monday

</comment></comment><comment><USER7> This is awesome for Seattle engineers. Even if you don't work at Facebook it should give a nice compensation bump for all good engineers in the area.

<comment><USER8> I'm glad they're staying downtown - I wish more tech companies here had the balls to do the same, instead of setting up campuses out in the boonies and forcing everyone to drive and live in disconnected suburbs (MS, Google, looking right at you guys).

<comment><USER9> Kirkland isn't a small town and I think most people prefer to live 30 minutes away from the city to avoid being stuck in traffic for an hour.

<comment><USER8> > _"I think most people prefer to live 30 minutes away from the city"_

I doubt this. A lot of my peers who work at MS loved living in the city, but had to move out to the suburbs (that they don't really like) to save on commute. Which is the point - if MS was downtown it would be reasonably commutable by just about everyone (including suburbanites in Bellevue). The reverse (putting the office in the 'burbs) makes commuting slightly simpler for suburbanites at the cost of making it nigh impossible for urban dwellers.

Personally, having grown up in a sleepy suburb not at all unlike Kirkland, I'd loathe to go back - and I know a lot of my younger peers feel the same. This is on top of all of the requisite issues with suburban lifestyles (e.g., over- reliance on cars, health concerns due to driving everywhere, sprawl, walkability in general, social homogeneity, etc).

I currently live 20 minutes away from work by bus (plus side: I get to walk home on a good day, try doing that in the suburbs), and luckily my employer is reasonably close to downtown. That's less commute than most suburban office parks demand, and all of it is "free time" (i.e., I can be doing other things than watching the road).

<comment><USER9> Well I doubt you. I know people at MS as well, and most of them prefer to live outside the city where they pay a sane amount for a nice house instead of a cramped apartment, and lower crime rates. My experience is that it is only the young 20 somethings that want a vibrant nightlife that prefer the city.

Putting the company downtown will effectively force everyone to go through the I-90 or 520 bridge which suffer from massive traffic or live in the city. City life is not for everyone.

And about the exercising, there's much less to be done downtown unless you like doing everything indoors. Walking around the street isn't very entertaining unless you are shopping or eating at restaurants. You could take the time you save from not having to commute to seattle and use it to exercise. And didn't they tell you they have trails and soccer fields at the Redmond campus?

<comment><USER8> > _"Putting the company downtown will effectively force everyone to go through > the I-90 or 520 bridge"_

Which has plenty of capacity for transit, especially the mass, rapid sort that cities on the east side are so busy trying to prevent from being built. Yeah, screw efficiency and the environment, as long as the smelly poor people can't get to our neighborhood!

It's clearly a much better solution to have everyone trying to cram down a freeway, a single occupant to each 1-ton vehicle.

Side note: it's a bit disheartening that 2 passengers qualify for the car pool lane around here.

You see a nice house, I see rows of identical houses with equally identical people in it. I see stagnation and loss of perspective, as everything the least bit unseemly and incongruous with your hard-earned socioeconomic status is blissfully hidden.

You see a cramped apartment, I see living in a neighborhood with history and soul, with something more than more rows of cookie cutter houses. Where people living in highly developed places don't pretend to be living on a "ranch", "glade", or "estate". Where there is so much life teeming around you that walking home is a treat, not a chore.

Putting it that way, no wonder the same money buys a big house in the burbs... I mean, there's gotta be something to justify all that you lose by leaving the city.

It's all perspective I am merely telling you that not as many tech workers enjoy the suburban thing as you seem to think. This goes far beyond hard- partying young types. I've met many a middle-aged or even elderly folk who like livin in the city for the same reasons.

Hell, I know some people with children that greatly prefer living in the city.

<comment><USER9> And there's also a reason why suburban living is considered a luxury. For the past thousand years, people have chosen to live in the city

 _You see a nice house, I see rows of identical houses with equally identical people in it._

I see faceless skyscrapers, I see people packed like sardines where a 2 bedroom condo costs $1 million. The uniformity of city condos far surpasses that of the suburbs. Instead of nice green shrubbery and pine trees I see cracked concrete stained with oil and skoal spit out yesterday. Broken glass bottles on the sidewalk, some foul liquid oozes down into the sewer grate with a noxious odor. Crumpled cigarette butts line are nearly as numerous as the number of people walking over them.

The streets are lined with pan-handlers and people that are too busy to give you the time of day. A walk through the city will show you soulless corporate buildings taking up so much space. Or the occasional century old abandoned building with broken windows and carelessly pulled drapes that barely attempt to hide the empty interior. And countless rows of residential skyscrapers that peer out with 1000's of identical windows.

When going to sleep, you are annoyed by the number of sirens going off at 3 AM in the morning or the idiots who are shouting outside about how drunk they are. And then you wonder why most of the people who have a choice, don't choose the city.

<comment><USER9> _For the past thousand years, people have chosen to live in the city_

Hmm HN didn't update the full sentence. It was supposed to be: For the past thousand years, people have chosen to live in the city because they needed to get a job.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> They just opened an Austin office too, I was excited until it ended up just being a sales hub.

</comment><comment><USER11> I wonder why is there so much talent in Seattle that Facebook can't afford _not_ to go? Or do some of its California people want to move north? Or does it want to raid Microsoft? Or something else altogether?

<comment><USER12> Amazon, Microsoft, and Boeing engineers looking for a change and UW grads looking for a job.

<comment><AUTHOR> There is Google too

</comment></comment></comment><comment> brown9-2 I wonder if/when they plan to do something similar on the east coast.</comment>


Warn your users when their network goes down.Make sure they don't lose anything. - <AUTHOR> http://nouincolor.com/heyoffline.js/

<comment><AUTHOR> Heyoffline.js is framework-agnostic. No need for jQuery. It's written in CoffeeScript, and compiled into JavaScript.</comment>