Prof. of employment law: 'it may be illegal for Google to punish that engineer' - <AUTHOR> https://www.cnbc.com/amp/2017/08/07/it-may-be-illegal-for-google-to-punish-engineer-over-anti-diversity-memo-commentary.html <comment><USER2> I hope that he also sues media outlets for slander. To sum things up :

      - fairness & lack of prejudice wrt minorities/women : goal
      - minorities/women % in the workforce : metric
      - diversity hiring : https://en.wikipedia.org/wiki/Campbell%27s_law because https://en.wikipedia.org/wiki/Berkson%27s_paradox .
      - without diversity hiring, differences in women vs men applicants pools, which can be explained by differences in *distributions* of interests, have no impact on distribution of skills in the workforce
      - women are talented enough so that they just need to be *attracted* (e.g. better work/life balance) rather than pity-hired

This is my takeaway from the "screed". How could it be framed as «anti- diversity», much less «alt-right» ? How could saying that «women are, _on average_ more people-oriented and men are more thing-oriented» be framed as «women are inferior, biologically incapable of coding» ? I hope that people get punished for such a dishonest character assassination !

<comment><USER3> I just finished reading it. I agree with some of the points, particularly: "Don't alienate conservatives." I consider myself left leaning. But if we are going to talk about tolerance and acceptance, then you have to attempt to do that across the board.

The entire manifesto seems like a first draft. I don't think presenting gender differences as biologically based was even necessary to support his main points. Even if on average genders exhibit different preferences, I'm still on the fence as to why.

And I can't tell which part was so offensive that people had to take time off and this guy needed to be fired.

<comment><USER2> I consider myself as leftist as possible with a functioning and informed brain. Yet I know that "left leaning" and "right leaning" are mostly biases that we use to orient ourselves in a world too complex to be fully understood. EDIT : I think that everybody should read [http://righteousmind.com/](http://righteousmind.com/) from J. Haidt.

Wrt to whether differences are biologically based or not, I'm convinced that one day, we'll look back at the Nature vs Nuture debate like we do with the Particule vs Wave debate for light. The sooner the better.

As to which part was so offensive, it's akin to wonder which spells got the witch burning at the stake. Witnessing so many smart and compassionate people join the angry mob really scared me : I have no reason to believe that I would not do the same if the right buttons were pushed.

</comment></comment></comment><comment><USER4> I can't help but agree with almost everything he said about general traits in men. They seek esteem over most everything else, and are competitive by nature. And that explains at least part of the reason they're drawn to leadership positions in companies.

Of course I'm not going to get fired for saying _that_ publicly.

<comment><USER5> Is it not possible that men are more competitive and seek leadership positions because most leadership positions are already held by men? Looking upwards and seeing people like yourself would be encouraging — it says "You can do this!" Modern society has built an image of men becoming successful, and so in a self-fulfilling prophecy the society's leadership positions are dominated by men who were told they would end up there.

I don't think there is a _natural_ (i.e. biological) imperative that drives men and women significantly differently in this regard. It seems to me to be primarily caused by societal expectations which are enforced starting from a young age.

<comment><USER6> > I don't think there is a natural (i.e. biological) imperative that drives > men and women significantly differently in this regard.

Yep, the links between testosterone and hierarchy/drive/dominance have been established for decades. Its effects can be examined between males, and across multiple species, but there's actually no natural imperative which drives men in this regard. Come on man.

<comment><USER7> You gotta understand, those _literature students_ who learned _critical theory_ know far better about these topics than _biologists_ and _psychologists_.

Of course hormones mean nothing. You think it's adrenaline making your heart beat stronger when you think you're in danger, or is it really social constructs all the way down?

There isn't such as thing as true objectivity.

We shouldn't even aim for objectivity.

War is peace.

<comment><USER5> I kind of resent the way you say "literature students" as though (1) you think it's valid to assume from my comment that I'm a literature student (I'm not) and (2) that somehow literature students in general are all the way you describe (they aren't).

Maybe in the future consider adding to the discussion constructively instead of resorting to silly (baseless) hyperbolic rhetoric.

</comment></comment></comment></comment></comment><comment><USER8> "We're told by senior leadership that what we're doing is both the morally and economically correct thing to do, but without evidence this is just veiled left ideology that can irreparably harm Google."

Seems to me that publishing a "manifesto" in a company saying the senior leadership are bozos is a reasonable grounds for firing.

<comment><USER9> Seriously! I have strong opinions about the role of women in our industry and society, as does pretty much everyone.

But ignore the gender/culture argument and replace diversity with "Foo". The stated goal of the organization is to increase Foo, from top to bottom, from HR to engineering. What do you think will happen if you publish a letter saying Foo is overrated? What will happen if you make getting Foo harder for them? What will happen if you semi-publicly argue against increasing Foo?

<comment><USER10> Actually that's not what the author of the memo advocated.

He did not say Foo was overrated, he said he supports Foo, but he questions the effectiveness of the current company methodology in increasing Foo. He thinks there are other root causes for why Foo is not as high as they want, and he proposed other ways to increase Foo.

He was doing a good job by all means, but then people categorized his point of view as anti-Foo when he was simply against the current ways of increasing Foo.

<comment><USER11> Exactly: "pro-diversity" is not necessarily incompatible with "maybe we should reconsider affirmative action-esque initiatives".

I disagree with many things in the document, but, by all accounts, the employee had no issues with a diverse workplace. I think the case he was trying to make is that maybe the lack of representation of women in programming and similar fields can't entirely be explained by sexism or discrimination or bias, and that if it's true that women are on average less interested in things like programming, then it doesn't necessarily make sense to make a commitment to, say, "double the amount of women we hire this year" (not a real example; just hypothetical). The pool for women interested in the job may just be lower in numbers even when controlling for all social and cultural factors.

Of course, the science on that is still far from conclusive (and many of the "scientific" facts he cited sound dubious), and this absolutely can't be extrapolated to suggest that female programmers who do work at Google or other companies _are_ less interested or are somehow less competent. I don't think the author tried to make that claim at all, nor did he suggest that sexism and bias _wasn 't_ an issue contributing to the gender gap or an issue that shouldn't be stamped out, but a lot of people (and the media) seemed to draw those conclusions after reading the document.

</comment></comment></comment></comment><comment><USER12> In Germany it sure as hell would be.

And since they appear to have used the willful misrepresentation of what he wrote as the reason, at least publicly, it might even be illegal in the good- ole no-worker-protections-for-U-S-A.

<comment><USER13> >And since they appear to have used the willful misrepresentation of what he wrote as the reason.

Wouldn't this help Google's case. Employers are allowed to fire at will employees for any reason, or no reason, except for specific reasons specified in law.

As far as I am aware, there is no law against fire an employee for being publicly _accused_ of engaging in political speech (or whatever other behaviour Google wants to cite). The laws are only speak to fireing in retaliation for actual conduct.

Of course, this might be one of those cases where the courts take a more holistic look and determine that the laws also protects employees accused of the behaviours, regardless of if they engaged in them. Also, while the memo was misrepresented, the misrepresentation is not so egregious as to make this a slamdunk arguement in this case, even if it were an accepted legal theory in general.

<comment><USER12> Good points.

My thinking was that they _specifically_ said CoC violations and then used misrepresentations of his writings (writings that were, AFAIK, specifically encouraged) to justify those CoC violations.

Had they just said "I no longer like your nose", that would probably have been safer, but of course not effective PR and I am pretty certain that getting rid of him was a pure PR exercise.

Heck, they might even have given him some hush money in order for that not to happen.

And yes, this is all mostly uninformed speculation :-)

</comment></comment></comment><comment><USER14> He's a professor of law...at a business school.

I'd try to evaluate the strength of his legal argument, but he does not cite...anything.

My guess: He's trolling for clients.

<comment><USER15> You may have read the version, widely circulated, with the citations stripped out. The original includes citations.

<comment><USER14> Could you point me to that?

<comment><USER16> Most of the "citations" are inline links to Wikipedia.

[https://assets.documentcloud.org/documents/3914586/Googles-I...](https://assets.documentcloud.org/documents/3914586/Googles- Ideological-Echo-Chamber.pdf)

<comment><USER14> Thanks, but I've read and written about that idiot's manifesto too many times to count at this point.

I'm looking for citations for the lawyers' analysis of employment law violations here.

</comment></comment></comment></comment></comment><comment><USER17> I am almost certain that they gave this guy a termination agreement in which he agreed not to sue Google, and in return would be given a _massive_ golden parachute. Google felt they needed him gone for business reasons. But of course they had no legitimate reason to fire him and he could sue if they did. If that's not the case, expect a lawsuit from him shortly.

<comment><USER18> If he is, as the following article says, "considering legal options," then he wasn't given an exit package. Or I suppose he could have been offered one but turned it down.

[https://www.theguardian.com/technology/2017/aug/08/google- em...](https://www.theguardian.com/technology/2017/aug/08/google-employee- fired-diversity-row-considers-legal-action-james-damore)

<comment><USER17> Oh, wow in that case if I were him I'd probably sue. This termination will sadly haunt him and he will miss out on many job opportunities because of it. Even if you disagree with what he wrote, that's a huge price to pay for trying to have a discussion around making his workplace better and what he perceives fairer.

<comment><USER19> This case isn't cut-and-dry. Much of that memo I disagreed with but generally found innocuous. However, there were notable aspects of that memo that could be argued to have created a hostile work environment for different groups were they to be forced to work with or for that engineer. It's clear that, in aggregate, he believes certain groups naturally more "fit" for the work. Now, if you're a woman who has to work with or for him, what do you feel? You likely feel that your capability is more in question, that you have to prove yourself more than the men on the team, and that this person you work next to (or for) starts out with an assumption that you're less capable.

Comments and behaviors that make a protected class feel like that, even if made as "jokes" or "facilitators of open dialogue", are not permissible.

It's not a cut-and-dry case. I wouldn't bet on a lawsuit either way, excepting the fact that Google's lawyers are probably the better lawyers in a legal tussle.

<comment><USER20> > You likely feel that your capability is more in question

I don't really understand this. It's not like female engineers at Google had never noticed how few of them there were until this memo was published. Obviously you're a deviation from the average in some way if you're one of a few X in a large group of mostly Y.

<comment><USER19> Or perhaps you're a product of tokenism, as this memo implies may often be the case.

</comment></comment></comment></comment></comment></comment><comment><USER21> I'd be surprised if there was a lawsuit. It's really easy to argue that this memo is disruptive to the workplace and Google had grounds to fire him. You can have 5 reasons that are illegal to fire someone and 1 reason that is legal and you can just justify it with that one reason.

</comment><comment><USER22> I'm surprised they didn't just move him to a worthless team and let him languish until he moved on.

Perhaps generating training data for AI-based toilet scrubbing robots.

<comment><USER4> You see the lose-lose situation they're in? The SJW are demanding his head on a pike, yet Google knew that if he sued he'd probably win.

In the end they washed their hands of him.

<comment><USER9> They'd rather deal with one lawsuit from him than the hundreds from every person who has ever worked with him that isn't a white male.

<comment><USER18> Well now, there's a reason to hire folks like me. "Dude, I'm an able-bodied middle-aged cis het white man. If you ever get tired of me, you can just show me the door. I've got no recourse. Legally speaking, this is as safe as it gets."

<comment><USER4> And if they fire you then their diversity quota actually improves.

<comment><USER18> See? See? Staying or going, I'm an asset to the company.

</comment></comment></comment></comment></comment></comment><comment><USER23> Seems like they should punish the leaker just as harshly has the engineer.

<comment><USER24> Why? I don't think it's likely that the engineer's essay of nonsense was part of the company's next world beating invention, which means publishing it isn't part of any NDAs.

<comment><USER25> Because it led too mass-hysteria and a crap load of negative press from both liberals and conservatives. Why would you want to have someone who would sink the company to get someone that they don't agree with fired as an employee?

</comment></comment></comment><comment><USER26> Part of his case may be the details of who he sent this manifesto to. If it went 'viral' inside of Google, is that his fault?

</comment><comment><USER27> If you're conservative at Google and tired of getting muzzled and want to help his case you could do the following:

1\. Go to Memegen

2\. Find a meme made by a liberal (check around the time Trump was elected) that is denigrating or demeaning towards conservatives

3\. Leak the photos and ask Google to fire them for their "harassing" views

4\. If they don't, they are selectively enforcing their own "rules"

5\. Point out their hypocrisy

<comment><USER28> What if they did that stuff on their own time, do they still deserve to be fired? Because he didn't.

<comment><USER27> Okay...so he did it on company time...I can tell you most of the memes on Memegen were probably made on company time...so let's say they were made on company time, in the spirit of fairness and reciprocity, should the anti- conservative post authors be fired as well? They might have made a lot of conservatives uncomfortable and feel like they were being harassed.

</comment></comment></comment><comment><USER29> I don't really understand how firing him is controversial.

He wrote a pathetic, juvenile manifesto that served only to reinforce and perpetuate gender stereotypes. To me, that absolutely falls under the umbrella of "creating a hostile work environment". He'd be a major liability if they _didn't_ fire him.

Companies are under no obligation to allow their employees to distribute their own ill-conceived manifestos that slam the company for its policies and promote a sexist view of the world. That's insane.

<comment><USER10> How was the memo pathetic or juvenile? He sourced all of his claims and himself has a Ph.D in Biology. What gender stereotypes did he perpetuate? In fact he specifically called against stereotypes.

It sounds like you didn't read the memo at all and only bought in coverage by fake news sites like Gizmodo.

Yes, the term Fake News actually applies here.

<comment><USER29> I did read the memo. It was extremely juvenile, and reminded me of the racist drivel that gets pushed on Facebook. Mixed into the stats he cites is a whole lot of hand waving and unsound conclusions, and it's clearly meant to push a sexist viewpoint.

<comment><USER10> Ok, can you be more specific about which parts you find to be racist or juvenile? I have read the memo as well and I have found it to be civil and well written and did not see anywhere it pushed for some kind of sexist discriminatory agenda.

Where do you think he did hand waving? Which conclusions of his do you think was unsound? Which particular statements of his you think was clearly meant to push a sexist viewpoint?</comment></comment></comment></comment>


Show HN: Gittask – Get Paid to Work on Open Source - <AUTHOR> https://gittask.com/developer

<comment><USER2> I was actually delighted to read a blog post explaining that some people actually live off gittip these days[1]. I hope that these guys can make it even easier for developers to live off of open-source work.

Note: I wish the y=10% bounty for the top x contributors could be adjustable (depending on the size of the project 10% could be a lot, you may also want to adjust x).

[1] 2014 - [https://medium.com/inside-gratipay/gittip-year- two-a220308d4...](https://medium.com/inside-gratipay/gittip-year- two-a220308d4ec9)

<comment><USER3> If you're interested in the idea of living off of open-source work you should check [http://snowdrift.coop/](http://snowdrift.coop/)

</comment></comment><comment><USER4> This is great! I've been looking for a way to actually monetize all of the skills I've learned using various open source libraries. Wonder if this could be it.

</comment><comment><USER5> I find this is a great way to honor the efforts of people who contribute to Open Source and motivate others to do so. Good job!

</comment><comment><USER6> Great way to make money doing what you're already doing!

</comment><comment><USER3> I don't understand it.</comment>


Ask HN: The Homo Universalis of Our Age? - <AUTHOR>

I have been thinking about this ever since I got into university to study Computer Science. I always was a guy that likes learning new things about a lot of different subjects and as a result I got very emotional about university: I believe it should be a place where you don't only study something so you get a degree in order to find a high paying job later but a place where you also expand your horizons, hear about new ideas and begin discovering who you are.
So, after a lot of thinking I ended up with this one question: How would you describe the Homo Universalis of our Age and what would you suggest one does to get as close to this as possible?
If you want me to put it differently, and with less words, which are the main areas of study one should pursue and which topics (books/works/etc) should one follow for each one of them? <comment><USER2> I believe you're correct in saying that university shouldn't just be about getting a high paying job. Our society suffers because our brightest people are too narrowly educated. A physician used to typically be one of the most educated people in a community; now a physician is one of the least educated persons in a community. A pre-med student simply can't risk taking a course they might not ace. Few physicians have studied philosophy, art, political science, literature beyond english 101, etc.

My advice would be to take the minimalComputer Science corses you'll need, you'll end up learning plenty if that's your chosen professeion. Beyond that take courses that expand your horizon's and thinking, You need to decide what courses those will be.

<comment><AUTHOR> Thanks, but I have already graduated. And although my thoughts about the education I received at university are not really positive for I still believe in the beauty of knowledge. That's why I am asking for suggestions on topics to dive into.</comment></comment>


Hjson, the Human JSON - <AUTHOR> http://hjson.org/

<comment><USER2> So it's basically like YAML, except it has libraries only for a handful of languages and nobody uses it.

<comment><AUTHOR> Except that a valid JSON is a valid Hjson as well.

<comment><USER2> So, you mean a valid JSON is _not_ a valid YAML? Good that YAML doesn't know that, otherwise my libraries start to reject JSONs.</comment></comment></comment>


Apple Says FBI Changed AppleID Password, Losing Access to Shooter's iPhone Data - <AUTHOR> http://www.macrumors.com/2016/02/19/apple-government-changed-apple-id-password/ <comment><USER2> So Apple is saying that syncing to iCloud is a backdoor.

I mean, they are proclaiming to the world that they really want to protect their users privacy and make secure devices, but at the same time acknowledging that the data backed up in the cloud is accessible to their engineers.

:/

<comment><AUTHOR> The phone in question was a work phone, not a personal phone. In work environments the enterprise IT tools control how the phone is administered, backed up, and the like. Which means that the company that issued the phone most likely had the key to unlock the backups.

</comment></comment><comment><AUTHOR> Title changes are purely to comply with 80 character limit, otherwise as close to the original articles' title.</comment>


Ask HN: Best Docker consultancies? - <AUTHOR> What are the best, most well-known consultancies out there for training and migration to Docker deployment architecture? Who "wrote the book" on Docker? <comment><USER2> [https://giantswarm.io/](https://giantswarm.io/) (Germany)</comment>


I need to learn javascript - <AUTHOR>

I really need to learn javascript, I've tried code academy but that didn't really make sense. Anyone have any good recommendations on learning/where to find some good resources for js? <comment><USER2> I`m using this guide as a reference and it`s been going pretty well for me. Not sure if you`ve come across this before:

[http://javascriptissexy.com/how-to-learn-javascript- properly...](http://javascriptissexy.com/how-to-learn-javascript-properly/)

There`s also a subreddit called www.reddit.com/r/learnjavascript where newbies like me can post specific questions and benefit from an interactive learning environment.

Hope this helped.

<comment><USER3> Clickable for the subreddit: <http://www.reddit.com/r/learnjavascript>

<comment><USER2> Ah, yes. Thank you.

</comment></comment></comment><comment><USER4> This post: <http://sivers.org/learn-js>

And HN thread of it: <https://news.ycombinator.com/item?id=5434627>

Might be of help.</comment>


Denver voters consider next frontier in decriminalizing drugs: magic mushrooms - <AUTHOR> https://www.latimes.com/nation/la-na-denver-magic-mushrooms-20190506-story.html <comment><USER3> If you want to see some more comments and discussion, check out this HN post from 3 months ago.

> > [https://news.ycombinator.com/item?id=19069200](https://news.ycombinator.com/item?id=19069200)

Interested in seeing what discussion emerges this time!

</comment><comment><USER4> "I'm a different guy. I'm fun to be around. Once I couldn't even cry. Now I can."

This really punched me in the feels.

It also sucks that Justin preferred not to share his last name for fear of retribution for possessing some fungus that occurs naturally in the wild.

Kinda reminds me of the veterans in the US who have been trying to lobby the VA to stop being jerks about cannabis. They say it helps with their PTSD. Currently we don't have a lot of scientific certainty on whether it actually _does_ help or not because of the lack of research. But even putting that aside, it's still kinda absurd that we dictate which naturally growing plants people are allowed to possess / cultivate / smoke / ingest / whatever.

<comment><USER5> Out of curiosity, would you say the same thing about opium poppy? (Serious question, not a gotcha; opium seems to have a much clearer harmful and addictive impact and it seems to be very difficult to prevent a substantial fraction of people from getting addicted to it when it is freely available; would you prioritize principle or practicality in the case of opium?)

<comment><USER6> A substantial fraction of people become addicted to opiates when they are _not_ freely available, too. Which begs the question... is _addiction_ the problem? Or are the problems consequences of restricted availability?

To put it another way... if heroin were legalized tomorrow, would you start shooting up? Is illegality the best (or only) way to prevent addiction? Look at tobacco. It's legal. Most people don't use it, because it's addictive and dangerous, and usage rates have dropped considerably due to social pressures and awareness campaigns.

When proposing (or defending) a solution, make sure you ask yourself if it actually solves the problem.

<comment><USER7> Is illegality even _A_ way to prevent addiction? Because most of the data in the US indicates no correlation between enforcement and addiction rates. We say we enforce drug laws for people's protection, catch them with drugs, throw them in jail and say, "see? this is what happens when you take drugs." The discussion around Denver's laws has often been on the assumption that before Colorado legalized marijuana, no one had access to marijuana. They throw around statistics with out before / after comparisons, or without full context. One famous example was a guy who drove into a parked cop car - a test confirmed that some time in the last 6 months he had smoked marijuana. Nevermind that his BAC was astronomical. Anti-marijuana headlines for days on that one.

<comment><USER8> Yes, absolutely. There is a significant population who will not do something if its illegal. Full stop.

<comment><USER7> Maybe, but there's clearly and consistently no correlation between _enforcing_ said illegality and addiction: [https://www.pewtrusts.org/en/research-and- analysis/issue-bri...](https://www.pewtrusts.org/en/research-and- analysis/issue-briefs/2018/03/more-imprisonment-does-not-reduce-state-drug- problems). In both of the specific cases mentioned in the article and my comment, it's a lower jurisdiction stopping enforcement of a higher jurisdiction's laws. Marijuana is still illegal in Colorado, but everyone knows that the TSA are the only ones enforcing it.

There's also the fact that a lot of black-market stuff only ever happens _because_ it's illegal, which is why countries that decriminalize prostitution and take a treat-instead-of-prosecute approach tend to see benefits in addition to fewer people in jail for the associated crimes. I know there are people that won't break the law, but there are also people that make beaucoup bucks breaking the law because they're good at it. Which one wins out? No idea. Not sure if there's a way to get data on that beyond the enforcement vs. addiction studies.

<comment><USER8> Look, you prefaced your comment with a question that has a simple answer. You don't like that answer because it doesn't fit your premise that the law is _never_ helpful to _anyone_. But it _is_ the answer.

There is plenty of room to discuss the effectiveness/costs of making drugs illegal and how (potential) enforcement should be handled. To whit, your response is answering an entirely different question than the one you originally posed!

 _EDIT_ Response to below. I can't understand your position. How is the data we do have even remotely relevant? Its a study about enforcement and so presupposes a population that is excluded by the very question posed...

<comment><USER7> No I don't like your answer because you have zero data to back it up and it contradicts very closely related data that we do have.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> People who know nothing about drugs always put all psychoactive substances into the same basket which is a tremendous mistake.

Psilocybin (the psychedelic compound in magic mushrooms) is non addictive, has many health benefits, and huge potential for personal growth. Much like ayahuasca, I very much doubt people would abuse magic mushrooms recreatively like they do with cocaine, or even alcohol.

<comment><USER10> You will always find people who will abuse something. Happened with alcohol, TV, internet and will happen with mushrooms. The question is whether it's more costly and damaging to prohibit something vs controlling it. I think people are slowly learning that prohibition is worse than letting some people abuse something.

If we want to make a drug illegal it should be alcohol anyway. It causes huge numbers of deaths every year. It's probably the most dangerous drug we have.

Clarification: All I m trying to say is that it's dangerous to say "there is no addiction risk in mushrooms. They are totally benign". If you say that it will be really easy for opponents to find counterexamples. Instead we should say they are not more dangerous than already legal things so there is no point in prohibiting mushrooms while other similarly harmful things are legal.

<comment><USER11> If abuse was possible perhaps we'd have the cartels selling magic mushrooms - if that's not a thing maybe (as Pollan concluded in his book about psychedelics) "place and setting make a big difference " in efficacy.

<comment><USER10> Abuse is possible with almost anything. People abuse food, cars, social media, politics and a lot of other things. I agree that mushrooms are probably not as addictive as other drugs but declaring that nobody will abuse them makes no sense.

<comment><USER12> From what I understand psilocybin is sort of like melatonin in that you get no added benefit from taking more than the dose that has the intended effect. You won't die from taking too much of either. It's easier to OD and die on water than either of those substances, and at that point, isn't the definition of abuse becoming a bit too broad?

<comment><USER10> I hear similar things about Marijuana but I have seen people who smoked way too much until their personal and professional lives suffered. One thing is physical dependency but there is also psychological dependency.

All I m trying to say is that it's dangerous to say "there is no addiction risk in mushrooms. They are totally benign". If you say that it will be really easy for opponents to find counterexamples. Instead we should say they are not more dangerous than already legal things so there is no point in prohibiting mushrooms while other similarly harmful things are legal. .

</comment></comment></comment></comment></comment></comment><comment><USER13> Fresh magic mushrooms have been effectively legal in nearby New Mexico for 14 years, since a 2005 Court of Appeals ruling. This doesn't seem to have caused an appreciable rise in magic mushroom drug culture, or problems with abuse. I would expect the same result in Denver: pretty much nothing.

Weird how taking that same fresh mushroom and sticking it in a dehydrator converts it into a felony to posses.

[https://www.abqjournal.com/news/state/apmush06-15-05.htm](https://www.abqjournal.com/news/state/apmush06-15-05.htm)

<comment><USER14> Note: I agree with the fact it shouldn't be illegal.

Main point, fucking hard to od on mushrooms when you can barely walk ;-)

</comment></comment><comment><USER15> Sidebar -

God bless the LA Times for getting the terminology correct. Keyword: "decriminalize". My temper is max'ed out on the mainstream media saying "legalize" (mainly when reporting on pot), as if Uncle Sam and the federal level laws suddenly disappeared.

For all intents and purposes "legalized" qualifies as fake news. It is intentionally misleading. And if it's negligence, that's not any better.

</comment><comment><USER16> Magic mushrooms and other entheogens have amazing potential, but also a lot of risks. Ketamine clinics are already a thing. I think a lower dose (microdose) prescription makes sense for certain people. Anything more, will probably require additional planning and supervision.

<comment><USER17> What are the risks?

<comment><USER18> It enhances the feelings you are experiencing already. If those are negative to begin with, I'd worry about people having a bad trip and hurting themselves (even inadvertently like stumbling into traffic).

</comment></comment></comment><comment><USER19> Magic mushrooms were a freely available crop of sorts when I was a student. I went picking them one day with a bunch of friends. This was enlightening.

First of all there is being outside in the countryside with a group of friends, roaming the hillside. If the pressures of assignments are getting to you this is a welcome change of scene. Particularly if there is some 'rave style' party that this expedition is in preparation for.

Next there was the challenge to one's perceptions about finding the things. Initially it looks like a hopeless task. But you find one, then you find another and soon you get to be very good at seeing the things.

From a very small age we get told that wild mushrooms are going to kill you. So how do you know that you are picking the magic ones and not the ones that will be as deadly as getting bitten by a snake?

But, you don't end up picking the wrong ones, they are all good.

Coupled with that is the other things that can get you - creepy crawlies, bugs that you can't see, that sort of stuff. Again, not a problem in reality.

There is obviously proof in the pudding, however, before getting as far as tasting some slimy mushroom brew heavily flavoured with something like Ribena you have accomplished at least three things that you can feel good about - physical exercise, having a laugh with friends and doing something that you thought was beyond you in just collecting the things.

So I think that this legalisation thing should insist on a 'trip' each time, a trip outdoors to do all of the prep. No commercialisation of the product (selling the things to people who don't do the outdoors bit). A great time can be had, and going outdoors to pick some other herbs, e.g. some rosemary or some chives, is never going to be anywhere near as fun.

Keep it recreational and spirits will be lifted. This privately - <USER2> sociable, non-recreational - partaking of the active ingredient on one's lonesome just isn't going to hit the mark in quite the same way. Might as well micro-dose alcohol at home alone (half bottle of wine with a meal, every night) if that is the approach. This is alcoholism, which contrasts with alcohol enjoyed out and about in socially engaging experiences.

I fear Denver are well meaning but going to get this wrong.

</comment><comment> village-idiot One of the interesting sociological aspects of humanity is that mountain people by and large don't want to be told what to do. It's why escaped slaves for centuries have fled to mountainous regions, and why alpine states have been among the first to reject federal rules around marijuana.

Psychologically, it appears that introverts prefer mountains and forests, while extroverts prefer plains and beaches.

</comment><comment><USER20> We should all congratulate drugs for winning the war.

</comment><comment><USER21> Great. Mushrooms have been a great influence in my life, and I recommend them to anyone with a little introspection who feels a lack of perspective in life.

</comment><comment><USER22> This is interesting. I read an article a few years ago talking about how further research into the active compounds in magic mushrooms might lead to breakthroughs in Alzheimer's and other neural degeneration diseases.

</comment><comment><USER23> I'm happy to see that the usual comments of "I remember tripping at a festival/college and it was rad!" Are being replaced by medicinal based commentary.

</comment><comment><USER24> just because the dialogue is open right now, here is something about a different drug: I would like to see the government do something about fentanyl, people across all socioeconomic classes are dying and they wouldn't be if they knew what they were consuming.

"RIP everyone has their demons" really doesn't accurately describe that "someone laced their cocaine with fentanyl"

testing kits exist, but a regulated purchase would fix this

<comment><USER25> My confusion stems from the fact that I don't know why people are lacing drugs with fentanyl. It's unclear to me because most of the stuff I see written about fentanyl talks about it like it's a poison that kills people -- why not add arsenic instead, which also kills people? As I understand it drug dealers rely on repeat business, and it seems like bad business to sell tainted goods.

<comment><USER26> It's a cheap, potent opioid which its users tend to enjoy. It is just hard to dose accurately because of the extreme potency. It's a race to the bottom: How cheap can we make the product without accidentally killing all the users?

</comment></comment></comment><comment><USER27> This has been a fascinating decade or so watching the children of the 60's make their way into positions of senior governance/policymaking.

<comment><USER28> People who were old enough to remember the 60s are older than you think. People getting into senior levels now would be closer to Generation X than Baby Boomers.

</comment></comment><comment><USER29> What is the difference between decriminalization and legalization in this context?

<comment><USER30> Decriminalization turns minor possession into basically a traffic ticket. It would still be a misdemeanor or felony to sell or possess large quantities, but it lowers the penalties again users and the priority against prosecuting them.

Legalization would most likely mean sanctioned avenues for legal sales, as well as obviously being totally legal to possess and consume at your own home, above age 21.

<comment><USER31> > but it lowers [...] the priority against prosecuting them

Does it? It turns a cost-centre for the state into a profit-centre.

Speeding tickets are handed out like candy during the safest road conditions when it's also the safest to be outside. I never see speedtraps around a sharp bend when it's dark and rainy, where they would deliver the most safety value.

<comment><USER30> Imagine how they'd be handed out if the fine was $1500 and 6 months jailtime instead of just $150.

</comment></comment></comment></comment><comment><USER3> Could this move help get mushrooms into research in Colorado? Like this recent move by Imperial College London's Centre for Psychedelics Research (not decrim, but research)

> > [https://news.ycombinator.com/item?id=19756067](https://news.ycombinator.com/item?id=19756067)

> [https://www.imperial.ac.uk/news/190994/imperial-launches- > wor...](https://www.imperial.ac.uk/news/190994/imperial-launches-worlds- > first-centre-psychedelics/)

</comment><comment><USER32> Good. Even if there were no benefits at all, there is zero constitutional justification for the government outlawing a private citizen from growing and consuming anything she or he pleases.

</comment><comment><USER33> Even if the outcomes of drug use are undesirable the criminal justice system is not the way to mitigate them.

</comment><comment><USER34> progressive societies are building high speed train networks and clean energy farms while american public is busy discussing which bathroom transgenders should use and legalizing drugs while consuming 3x more products and producing 10x more trash than world average.

<comment><USER35> Not sure what societies you're referring to. The UK is trying to figure out Brexit (still), France is dealing with the Yellow Vests, and the overall biggest political topic in the EU is restricting immigration.

America has its problems but it's not like the rest of the democratic world is earning a gold star atm either. And it's not like it gets better outside the democratic countries...</comment></comment>


What Changed My Mind About Climate Change - <AUTHOR> https://thebulwark.com/what-changed-my-mind-about-climate-change/ <comment><USER2> I'm interested in this because the Cato institute along with Koch, is one of the main reasons AGW is disputed outside of the competent scientists.

Having somebody from inside the tent walk out and say why they changed their mind is informative.

its as informative as (say) a Blockchain fanatic coming up for air and saying "nope. nothing there" or a ML person saying "nope"

I found this interesting.

Obviously, its charged. I wonder if they will flip back too, but I take it on advisement.

A public commitment/mea-culpa is actually interesting.

</comment><comment><USER3> I don't know what to say about this except: duh. If you weren't thinking about risk management, what _were_ you thinking about?

<comment><USER4> Politics and graft.

Look at California, the state claims to have climate change risks, yet when they apply for bonds, this is not listed. Politicians will bend over backwards for easy political points especially if it is for a golden goose political moment, looking at Solyndra and Tesla's buffalo plant. And if a donor gets a ton of money then win win win, still Solyndra.

The point is that you have a very sensitive issue that has politics in it that cause money to be wasted. If we are going to be honest about climate affectation then we need to be honest about solutions in the engineering profession: nuclear until fusion arrives, because renewables are not going to work from a storage perspective.

Then finally, what do we do about developing nations, if you are going to tell China "no coal plants." Explain the enforcement procedures to solve this issue, are we willing to go to war to stop a risk versus the risk of nuclear Armageddon or societal collapse?

</comment></comment><comment><USER5> Exxon correctly predicted global warming and by how much in 1982 so people still making excuses about the science are being dishonest. [https://earther.gizmodo.com/exxon- predicted-2019-s-ominous-c...](https://earther.gizmodo.com/exxon- predicted-2019-s-ominous-co2-milestone-in-1982-1834748763) Very smart people predicted correctly what was going to happen but they buried it for making money. So an article about how the calculations might still be wrong or on the high side is bullshit being spread by the same people that have been denying global warming for decades. First it was the climate is not getting warmer then it was the warming is not caused by humans now it is that the calculations are wrong and the climate wont get as warm as being predicted. Oil companies like Exxon have spent billions to fuck up the debate on climate change by different arguments to be able to sell as much oil and for as long as possible.

</comment><comment><USER6> Could those who helped flag this submission to death please add a comment about why they feel the article is inappropriate for discussion on HN? I thought it offered a good explanation for why a precautionary principle is appropriate for "nondiversifiable risks".

<comment><USER7> can't speak for the people who flagged it but for me personally - someone who made their living for many years denying climate change has now flipped to a new narrative of 'risk'. i just assume that he's shilling for the status quo in a new way i haven't got the energy to figure out - probably some sort of predatory delay or hawking a financial con.

</comment></comment><comment><USER8> I agree with most comments here on the hypocrit side of this particular person, based on their history.

Yet, I think this is a pretty good way to try to make climate change sceptics to stop being so close minded.

Not on a political level, of course, but more on daily basis discussions.

I can't count the number of time I hear / read « The earth already had warming cycle, this one is not different » from people, perhaps less educated.

Here in France, we have a protest that started 6 months ago because government wanted to add a « Green » tax on oil. The « climate change doesn't exists so there is no need » was heard several times...

</comment><comment><USER9> TLDR: Value at risk is humanity as we know it. Probability of occurrence is significantly above zero. Cost of unmitigated occurrence is >> cost of unnecessary mitigation. Therefore we should act now.

<comment><USER9> It's pretty much my view on GW from the beginning of me thinking about it.

The stakes are high, acting now and reducing our impact on the environment would be costly, but provide immediate health benefits (clean air, water ...) and reduce the long term effects of GW / reduce the probability of severe outcomes.

Never understood why this was not a standard argument.</comment></comment>


Living in Detroit's Packard Plant - <AUTHOR> http://vimeo.com/39346092

<comment><AUTHOR> If you like this, check out the whole series here:

[http://vimeo.com/thismustbe](http://vimeo.com/thismustbe)

Prime's pretty cool, too:

[http://vimeo.com/35965635](http://vimeo.com/35965635)</comment>


I just had a revelation about email encryption... - <AUTHOR>

This may be old news to some, but I've been pondering why it is so annoyingly difficult to get anyone other than my computer literate friends/acquaintances to use PGP email encryption for important transmissions. There are obvious chicken and egg arguments about why, but I think it is slightly deeper.
The situation reminds me of the earlier Renaissance period when the intellectual elite (Da Vinci et al.) devised simple encryption schemes for writing correspondance. Or the mirror writing technique...
It's always been this way; and always will be. The layman will simply never use the tools (even though they are remarkably simpler and more straightforward than they were in the 1800's) available to them because they aren't convenient and it requires an investment in learning to use those tools and the nomenclature associated with it... <comment><USER2> I disagree - you are right that convenience is the issue, but wrong to assume that will never change.

What's needed is that Alice, who knows nothing of crypto, gets mail from Bob. It's encrypted, but there is a reassuring icon of a padlock or something along with a simple plaintext message from Bob, a la 'Hi Alice - Bob here. I've decided to start encoding my email to keep it secure from prying eyes on the internet. I use a reliable free service called (something cool). You can install it in about a minute by clicking on the icon, and after that everything is automatic. If you're not sure, just give me a call and I'll confirm it's legit. your friend, Bob'.

People are _totally_ willing to install stuff and recommend it to their friends as long as it's simple and transparent in operation. Most encryption systems haven't been, because most crypto nerds are skeptical of anything that doesn't expose its functionality...whereas most ordinary people don't want to know how it works, they just want to know that it does and that it's safe. Frankly that's why I don't bother using crypto right now, my academic interest in it peaked when PGP was new and I was passing the code around and joking it was classified as a munition. but since nobody has broken into my mailbox in the last 20 years, I can't be arsed to stick public key blocks at the end of every message and have people assume I'm paranoid or, to do tech support for my relatives.

If you like crypto and think more people ought to use it (which I agree with), maybe a gmail extension would find an audience.

</comment><comment><USER3> I think it is also about the fact people already feel their email is secure enough. To get to your email a hacker would already have to break into gmail or your network (or one of the servers your email passes through).

Also email has been around a long time, but the main way of getting someones email is still break into someone account by phishing for their passwords. If the attacker logs in to gmail using your own password, encryption is not going to help (assuming you're envisioning a gmail that does automatic encryption of email and must decrypt it when you view your emails in your browser).

<comment><AUTHOR> It is less about a hacker breaking into my account and more about protecting sensitive transmissions from _all_ prying eyes; including those that are an occurrence of government subpoenas/warrants.

</comment></comment><comment><USER4> It's really not about email encryption only. None will ever do anything if the reward is not sufficient.

<comment><AUTHOR> True.</comment></comment>


Ruby - Handling 1 Million Concurrent Connections - <AUTHOR> https://github.com/slivu/1mc2 <comment><USER2> I have done this before using Java 7 async nio. The performance would drop like a brick when data received actually needed some sort of processing. How does this implementation hold up when you need to perform a O(n) operation on received data? Experiment with different sizes of n to see how the performance holds up.

<comment><USER3> Exactly. Establishing 1 million connections is pretty easy in any language that supports async io, even scripting languages. The article is super-vague about the direction of the traffic, the nature and size of the messages and how much of the application is actually written in Ruby (vs. just being a glorified wrapper around redis and other systems written in c/c++) and the amount of work actually being done by the app. 179 requests per second is hardly something to brag about while you've completely saturated 8 cpu cores.

<comment><USER4> Ruby _is_ a wrapper around c.

</comment></comment></comment><comment><USER5> I have to ask, is there even a practical purpose for this? Is there even some remote screwball application for having to have one machine handle 1,000,000 requests? One of the things I like about coming to HN is that the items on the front page are often actionable pieces of advice or clever and interesting hacks. I don't feel that "$LANG can do $LARGE_NUMBER of things" fits the bill. For example:

      C - Handling 1 Million Concurrent Connections
      Java - Handling 1 Million Concurrent Connections
      Javascript - Handling 1 Million Concurrent Connections
      Go - Handling 1 Million Concurrent Connections

If it was 10^10 connections, now we are talking about some clever hacks to get that to work.

<comment><USER6> WhatsApp had over 2 million users connected to their (Erlang) server last year.

[http://blog.whatsapp.com/index.php/2012/01/1-million-is- so-2...](http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/)

Here is the same in Erlang for reference (from a few years ago, I would be interested to see if there is a more efficient way now):

[http://www.metabrew.com/article/a-million-user-comet- applica...](http://www.metabrew.com/article/a-million-user-comet-application- with-mochiweb-part-3)

<comment><USER7> Thank you so much for that last link especially. Interesting stuff :-)

</comment></comment></comment><comment><USER8> I don't fully get the point of this benchmark. Connection handling is operating system business, so you should get similar numbers with any framework that runs on the same OS and correctly uses epoll (or an equivalent system call).

<comment><USER9> Tangent: back when I paid careful attention, all the epoll frameworks were level-triggered not edge-triggered.

</comment></comment><comment><USER10> Let's make a bit like a real world.) The test case could be like this:

A lookup. Get any reasonable big publicly available simple data-set and import it into any persistent storage (a sorted file is OK) and let a client perform a lookup for a row (preferably utf8 text ,)) then render a simple html table in response. As stupid as MVC.

or

Perform any simple lookup, but only for authenticated user (against some passwd-like file, to make it easy).

Then we could see how cool any JVM stuff or over-engineered OO ruby frameworks really are, with all that shinny graphs and smooth curves.

</comment><comment><USER11> Good job...

You can also open 1 million connections using one linux box a) increase local port range 1024 to 65535 b) setup 17 ip address. c) open from each ip address 58824 connections

<comment><USER12> What would be the point of that? The bottleneck here is not the amount of ports. TCP can handle concurrency over one single input port just fine.

The issue here is concurrency on the service software. If you have to launch a million instances to listen on a million different ports, you are doing it wrong.

<comment><USER13> An TCP connection is uniquely identified by a {local IP, remote IP, local port, remote port} tuple.

So if you are on 192.168.1.1 and want to connect to a specific port on 192.168.1.2 there aren't enough free port numbers to get 1 million connections. Thus the extending of the "ephemeral port range" (the local port number the kernel is allowed to assign) and addition of more local IPs.

<comment><USER14> Except there's no assumption here that the 1 million connections are between just two computers. Clients are spread over 50 different EC2 instances (which each have a unique address). The host does not need more ports in this scenario and the clients are using 20,000 ports (possible without altering port allocation).

<comment><USER13> This was a reply to tmartiro's thread, where he says "You can also open 1 million connections using _one_ linux box" and describes how you could do it a single instance rather than 50 separate ones; adlpz asked "what would be the point of that".

</comment></comment></comment></comment></comment><comment><USER15> tl;dr OP throws 3 libs together, wrote a few scripts, made a few measurements. Look, it can handle 1 million connections.

I like what he has done but don't know why it made HN frontpage. I'm guessing it's because it has Ruby, 1 million, and concurrent in the title.

Not bashing the author, it's good work in its own right. I'm trying to understand how stuff like this makes frontpage HN. Where's the value of this article? That Ruby can handle 1 mil connections? Am I missing something (even if it's obvious?)

I think someone mentioned better real world test cases. I agree that would be a place to start. Perhaps he could send more meaningful data to clients. Maybe market data for some stocks or something. '\0' is not very useful after all!

<comment><USER16> I'm not a genius Ruby hacker by any stretch but if EventMachine is like any other "async IO framework" in other scripting languages then it is built on libev or libevent... so Ruby isn't really handling the connections, it's handling the callbacks. Pedantic, but important to note.

<comment><USER17> > Pedantic, but important to note.

Pedantic, but "pedantic" actually idiomatically means "not important to note".

<comment><USER16> In what culture?

In my dictionary it's _"of or like a pedant"_ ; a pedant being someone who is overly concerned with minor details.

Still... noted!

<comment><USER17> If the detail is minor, it's not important.

</comment></comment></comment></comment></comment><comment><USER18> The practical purpose of this is to show that Ruby is perfectly capable of scaling to fit the needs of most companies. It kills the myth that Ruby is not capable of doing serious infrastructure work.

That is EXACTLY THE POINT of this. We use Ruby for a ton of real work, and we are sick of seeing it get pummeled on unfairly for the misconception that it is a slow language and you are guaranteed to have scaling problems if you use it. Productivity and performance are not necessarily tradeoffs, with Ruby and some good planning, you can get both.

<comment><USER19> Is "179 requests per second" really an example of scaling?

</comment></comment><comment><USER20> LOL. A couple hundred requests per second? Is that something to brag about?

What the fuck is the point of opening a million connections if it takes you 1.55 hours to process one request from each connection?

<comment><AUTHOR> mm, strange math.

179 means that while app holding and communicating to 1 million persistent connections it is still able to process 100+ standard requests per second. pretty enough to accept new clients to your online game, audio/video chat, podcast etc.

this graph shows how many requests per second app may process depending on amount of established persistent connections:

[https://raw.github.com/slivu/1mc2/master/results/requests- pe...](https://raw.github.com/slivu/1mc2/master/results/requests-per- second.png)

<comment><USER3> I don't think your original post is very clear at all. I get the same number as the post you are criticizing: 1000000/179 / 60 / 60 = 1.55 hours.

Are there other messages being processed too? Which direction are the messages going? How big are they, what do they contain, how is the data processed. Also, if you have 1 million clients how do you handle all of them arriving at around the same time? How long did it take your system to get up to 1 million connections? Also how sure are you that each micro instance is sending and receiving the messages at exactly the expected rate and is not getting overloaded. What server type are you using for your central server?

</comment></comment></comment><comment><USER21> I am excited about ec2-fleet tool. How expensive is the tests in your case?

<comment><AUTHOR> a micro instance costs 2 cents per hour, so $1 per hour for 50 instances.

<comment><USER22> what's the name of the program with CPU/memory graphs in the right-upper corner above htop on slides ##13-171?

<comment><AUTHOR> it is Gnome's System Monitor

</comment></comment></comment></comment><comment><USER23> For JRuby Streaming I have used Torquebox (JBoss) successfully.

</comment><comment><USER24> The author asserts that JRuby would consume more than 15GB of memory without providing any justification. Perhaps it would be better to actually try it rather than just making sweeping generalizations.

<comment><USER24> Here's a case study showing over 500k connections to a Java instance in 2.5GB of memory using NIO. JRuby's implementation of Ruby's IO is implemented directly atop NIO. So yeah...that 15GB assertion is nonsense.

[http://urbanairship.com/blog/2010/08/24/c500k-in-action- at-u...](http://urbanairship.com/blog/2010/08/24/c500k-in-action-at-urban- airship/)

<comment><AUTHOR> you right, sorry for pointless blaming, my bad, had to check it first. updating orignal post

</comment></comment></comment><comment><USER25> Doesn't Ruby have a limit of 1024 open file descriptors? If some method in Ruby's standard library calls 'select' internally, with the 1024 limit, what happens?

<comment><USER26> I/O is handled through EventMachine, not the normal Ruby I/O calls, and can therefore scale arbitrarily.

<comment><USER25> It is a little worrying that if some (perhaps inexperienced) developer arbitrarily calls a method that invokes Ruby's select, the process will crash mysteriously.

<comment><USER26> It won't crash. On many platforms, Ruby uses special select() hacks to extend the number of file descriptors select() can handle. On OS X it can apparently handle 10556 file descriptors. If you go over that, Ruby apparently simulates an EMFILES error.

</comment></comment></comment></comment><comment><USER27> very cool experiment

</comment><comment><USER28> _dumb question_ I thought the GC tunings, e.g. RUBY_HEAP_MIN_SLOTS, were only available in REE, rather than MRI?

<comment><AUTHOR> starting with 1.9.3 they are also available on MRI, though not sure about 2.0.0 as there GC are highly refactored/optimized.

> Starting with Ruby 1.9.3, the GC in mainstream ruby can also be tuned

[http://www.web-l.nl/posts/15-tuning-ruby-s-garbage- collector...](http://www.web-l.nl/posts/15-tuning-ruby-s-garbage-collector- with-rvm-and-passenger)

<comment><USER29> Would love to see the updated test once Ruby 2.0 is out in a few days time.

</comment></comment></comment><comment><USER30> it would be nice to compare the different ruby implementations with this test.

</comment><comment><USER30> interesting experiment!</comment>


Tom Wolfe Has Died - <AUTHOR> https://www.nytimes.com/2018/05/15/obituaries/tom-wolfe-pyrotechnic-nonfiction-writer-and-novelist-dies-at-87.html <comment><USER2> I remember discovering "The Electric Kool Aid Acid Test" in my high school library. I eventually stole it by taking out the plastic-encased metal security dingy and devoured it more. I read it over and over until the paperback fell apart. It introduced me to a world so foreign and sparkly and rusty dangerous and yet so real. RIP Tom Wolfe for bringing us into your worlds of observation and intrigue.

<comment><USER3> You denied other's the chance to do the same. You need to make amends.

<comment><USER4> wallflower has more than made amends by providing some of the best reading on Hacker News for many years.

<comment><USER5> I'm not really fussed by 'wallflowers transgression, but I find rationalizing stealing from a public library by posting in an a Gucci tech/business website a bit problematic.

<comment><USER4> Oh I agree, but was just trying to mitigate the harshness with a little good feeling. We all have enough to point fingers at ourselves about.

<comment><USER2> Thanks, dang! I appreciate all you do for this community.

</comment></comment></comment></comment></comment></comment><comment><USER6> Sad day! For, those who want to spend time at work to reminiscence here are some links I found interesting:

* "How Tom Wolfe Became … Tom Wolfe", a good profile from _Vanity Fair_ , 2015: [https://www.vanityfair.com/culture/2015/10/how-tom-wolfe-bec...](https://www.vanityfair.com/culture/2015/10/how-tom-wolfe-became-tom-wolfe)

* "Tom Wolfe", an early profile one year after the _Kool Aid Test_ had been published, from _The Harvard Crimson_ , 1969: [https://www.thecrimson.com/article/1969/5/8/tom-wolfe-pbibn-...](https://www.thecrimson.com/article/1969/5/8/tom-wolfe-pbibn-april-of-1965/)

* Photos of him in 2013 from _Paris Match_ : [https://www.gettyimages.com/event/tom-wolfe-paris-match-issu...](https://www.gettyimages.com/event/tom-wolfe-paris-match-issue-3334-166619204#writer-tom-wolfe-is-photographed-for-paris-match-on-march-29-2013-in-picture-id166413149)

* "Tom Wolfe - The Art of Fiction", from _Paris Match_ , 1991: [https://www.theparisreview.org/interviews/2226/tom-wolfe-the...](https://www.theparisreview.org/interviews/2226/tom-wolfe-the-art-of-fiction-no-123-tom-wolfe)

<comment><USER7> Thanks for these links. How did you get a free version of the Paris Review İnterview? A couple of days ago I tried to read some interviews and it won't let me without a subscription.

<comment><USER7> I see this link is locked too. İt asks for a subscription.

</comment></comment></comment><comment><USER8> Radical Chic: [http://nymag.com/news/features/46170/](http://nymag.com/news/features/46170/)

At 2 or 3 or 4 a.m., somewhere along in there, on August 25, 1966, his 48th birthday, in fact, Leonard Bernstein woke up in the dark in a state of wild alarm. That had happened before. It was one of the forms his insomnia took. So he did the usual. He got up and walked around a bit. He felt groggy. Suddenly he had a vision, an inspiration. He could see himself, Leonard Bernstein, the egregio maestro, walking out on stage in white tie and tails in front of a full orchestra. On one side of the conductor's podium is a piano. On the other is a chair with a guitar leaning against it. He sits in the chair and picks up the guitar. A guitar! One of those half-witted instruments, like the accordion, that are made for the Learn-To-Play-in-Eight-Days E-Z-Diagram 110-IQ 14-year-olds of Levittown! But there's a reason. He has an anti-war message to deliver to this great starched white-throated audience in the symphony hall. He announces to them: "I love." Just that. The effect is mortifying. All at once a Negro rises up from out of the curve of the grand piano and starts saying things like, "The audience is curiously embarrassed." Lenny tries to start again, plays some quick numbers on the piano, says, "I love. Amo, ergo sum." The Negro rises again and says, "The audience thinks he ought to get up and walk out. The audience thinks, 'I am ashamed even to nudge my neighbor.' " Finally, Lenny gets off a heartfelt anti-war speech and exits.

<comment><USER9> That's amazingly good (and long) and lots of it still seems relevant today.

</comment></comment><comment><USER10> Tom Wolfe writing on hangovers:

The telephone blasted Peter Fallow awake inside an egg with the shell peeled away and only the membranous sac holding it intact. Ah! The membranous sac was his head, and the right side of his head was on the pillow, and the yolk was as heavy as mercury, and it rolled like mercury, and it was pressing down on his right temple… If he tried to get up to answer the telephone, the yolk, the mercury, the poisoned mass, would shift and roll and rupture the sac, and his brains would fall out."

<comment><USER11> Every year, the morning after my birthday, this metaphor plagues my mind.

</comment></comment><comment><USER12> Very sad to hear. His book "From Bauhaus to Our House" changed my life, finally giving me a plausible explanation as to how we managed to create such a horrific built environment post WW2.

<comment><USER13> "The Painted Word" is also fantastic, if you liked "From Bauhaus to Our House". Similar approach.

<comment><USER12> Yes, that is a great book as well.

I think "From Bauhause to Our House" is more important because we can survive a period of terrible art: most people will simply ignore it and when it is over you can throw most of it into the dumpster easily enough.

Unfortunately we are not free to ignore the work of architects, and correcting their mistakes will take us centuries.

</comment></comment></comment><comment><USER14> Read "The Right Stuff" for the first time recently. I didn't find myself particularly invested in the Mercury astronauts' story, but Wolfe's utterly delightful prose made it hard to pull away. Loved the mantra-like phrases that his writing would circle around: climbing the ziggurat, being left behind, single-combat warriors, the titular right stuff (among many others). Coupled with the fast-talking pace and the incredibly vivid language (waters "about as clear as the eyeballs of a poisoned bass!"), it almost read like poetry at times.

Oh, and the book was _hilarious_! It's rare that I find myself laughing out loud at literature, but Wolfe's descriptions were just so absurd and clever.

If you can find a torrent, I highly recommend Michael Prichard's Books on Tape recording. The quality is low but the narration is just exceptional.

RIP.

<comment><USER15> It is a brilliant book, especially his description of what he thought those poor chimpanzee astronauts were thinking and feeling.

</comment></comment><comment><USER16> Years ago when I was living in the Bay Area, Tom Wolfe was hanging around doing research for a book on Silicon Valley. The rumour was that he left with the opinion that nothing interesting worth writing about happened there.

<comment><USER17> He wrote a pretty interesting profile of Robert Noyce, one of the co-founders of Intel

[https://web.stanford.edu/class/e145/2007_fall/materials/noyc...](https://web.stanford.edu/class/e145/2007_fall/materials/noyce.html)

<comment><USER18> Thanks for the pointer. I was unaware of 1. how important midwesterners have been to Silicon Valley, and 2. how old the Silicon Valley-Wall Street cultural divide is. Plus, just a fun read.

<comment><USER19> It was a really great read. My dad was a solid state electrical engineer working on silicon, and went to Grinnell as well for his undergrad. We are from just south of there. Nice to hear about the place

</comment></comment></comment></comment><comment><USER20> RIP. Feels like the end of an era for New Yorkers. A certain longform vigor. Jimmy Breslin on JFK's assassination. Peter Maas and Serpico. Norman Mailer running for mayor of the "51st State"

In addition to all the excellent suggestions on this page. Also check out _The Painted Word_ (1975).

Firing Line with William F. Buckley Jr.: Tom Wolfe and The Painted Word

[https://www.youtube.com/watch?v=m5NBoe5qHRE](https://www.youtube.com/watch?v=m5NBoe5qHRE)

Art of Fiction Interview with George Plimpton

[https://www.theparisreview.org/blog/2018/05/15/tom- wolfe-193...](https://www.theparisreview.org/blog/2018/05/15/tom- wolfe-1931-2018/)

</comment><comment><USER21> I have to admit, I've never read a Tom Wolfe book. Does anyone have some good recommendations?

<comment><USER22> I'd immediately recommend Bonfire of the Vanities. It perfectly captures NYC in the 80s: the racial divides, the wealth inequality, and the many ways individuals cross race and class lines. And his vivid description of how bond traders make insane amounts of money (for the time) is unforgettable.

Frankly, Bonfire is worth reading just for unforgettable lines like this one: "If a conservative is a liberal who's been mugged, a liberal is a conservative who's been arrested."

<comment><USER2> Tom Wolfe's "Bonfire of the Vanities" (Going broke on a million a year), p.137

"One breath of scandal, and not only would the Giscard scheme collapse but his very career would be finished! And what would he do then? I'm already going broke on a million a year! The appalling figures came popping up into his brain. Last year his income had been $980,000. But he had to pay out $21,000 a month for the $1.8 million loan he had to take out to buy the apartment... Of the $560,000 remaining of his income last year, $44,400 was required for the apartment's monthly maintenance fee… $18,000 for heat, utilities, insurance and repairs, $6,000 for lawn and hedge cutting, $8,000 for taxes. Entertaining at home and in restaurants had come to $37,000. This was a modest sum compared to what other people spent..."

</comment></comment></comment><comment><USER23> He was also a prolific letter writer. A very smart friend of mine was his personal trainer when he stayed in the Hamptons, and the two struck up a friendship. Wolfe corresponded with him, sending long handwritten letters. Maybe it was part of his research process, but I think he just liked people and was genuinely curious about others.

</comment><comment><USER24> I'm with Hunter S. Thompson on Wolfe:

[https://dangerousminds.net/comments/you_thieving_pile_of_alb...](https://dangerousminds.net/comments/you_thieving_pile_of_albino_warts_hunter_s._thompson_tears_tom_wolfe_a_new)

"thieving pile or albino warts"

<comment><USER25> You know that was written in jest, right? Thompson and Wolfe were great friends.

</comment></comment><comment><USER7> I write a blog in Turkish. I write about current affairs and also other subjects that interests me. Once in a while I fall into Ecclesiastes type of borderline nihilism and I say to myself "Why write at all; all is vain; all is for naught." Then I stop writing for a while. I reason that writing is academic; it is useless. It changes nothing. It is so much better to do something useful like programming or building something and selling it. But now after reading the comments here I see that Tom Wolfe's writing changed so many people's life! In a positive way. Of course, it's a different thing that one needs to write well at that level. But it seems that writing is not that useless after all.

</comment><comment><USER26> The evergreen quote I live by:

"No one becomes Tom Wolfe overnight, not even Tom Wolfe" — William Zinsser.

</comment><comment><USER27> I would fly back-and-forth between Toronto and Amsterdam on a two week schedule and I'd buy piles of books in airport kiosks, to read them on the plane because I can't sleep on a plane. Most of those books did not hang around to be read for a second time but all of Tom Wolfe's books are still here and have been read to bits. The man has a way with words that allow you to really get into the heads of the characters, they come to life in a way that very few other writers have been able to do for me.

</comment><comment><USER28> For anyone remotely interested in the sense and nonsense of modern art amd and architecture I strongly recommend Wolfe's "The Painted Word" and "From our House to Bauhaus". Both extremely funny and sharp.

</comment><comment><USER29> The Right Stuff --- one of my favorite books of all time.

</comment><comment><USER30> Can we get the metric system now?

</comment><comment><USER31> So this is one of the people thats responsible for urging journalists to be less objective? Could explain why journalistic integrity is such a mess right now. I didn't even know there was such a movement.

<comment><USER32> Where did you get this impression of Wolfe?

<comment><USER33> While I may not agree with the parent's comment, it appears he is referring to the term "New Journalism" which encourages a subjective point of view. This term was apparently "codified with its current meaning by Tom Wolfe" [0].

[0] [https://en.wikipedia.org/wiki/New_Journalism](https://en.wikipedia.org/wiki/New_Journalism)

<comment><USER34> While I really liked The Right Stuff, this is the basic problem I have with elevating it above, say, Bonfire of the Vanities. It's presented in the vein of a historical account but you're also presumably not expected to put too much faith in specific details and characterizations. Everything is subjective at some level of course but I'm not really a fan of it's factual except when things need to be colored to make a better story.

</comment></comment></comment></comment><comment><USER35> TIL Tom Wolfe was still alive.</comment>


Ask HN: EC2 network environment and UDP? (debugging a project) - <AUTHOR>

I have written a crawler for a pair of major file-sharing DHTs (Azureus/Vuze and Mojito (used by Limewire)) for a graduate-level distributed systems project, and I'm at a bit of a loss as to why it's failing only on EC2 and only for Mojito.
The crawling process is very similar to the  crawler described in http://www.eurecom.fr/util/publidownload.en.htm?id=2495 . Briefly, it works by breadth-first search: the crawler sends 8-16 find-node packets to a node it has not yet interrogated; the response to such a packet is a list of more nodes in the network. It adds the nodes that it has not yet seen to its list of nodes to crawl, and repeats the process. The scan is limited to sending 9000 packets per second, and terminates when there have been no packets sent for 30 seconds. netstat -su shows <100 UDP receive errors on the offending EC2 box.
On a local box, it sees 1,163,777 nodes, and gets responses from 300,638 of them (the difference can be attributed to stale routing table entries, NATed nodes, etc.). On EC2, where I was hoping for greater network visibility, it sees only ~200,000 nodes, and gets responses from only ~2700. It is in fact the case that EC2 seems to have greater visibility for Vuze.
I am running on two high-CPU extra-large instances, one for Vuze and one for Mojito. They are both in us-east, but different availability zones. The Vuze one has been working great for hours; I am wondering if there is some kind of EC2 global bandwidth limit or DPI that could be whitelisting the Vuze traffic but not Mojito, or perhaps some other EC2 networking quirk? Any help would be appreciated, thanks! <comment><USER2> You're not using multicast IP, are you? I've heard (a while ago) that this doesn't work at all on EC2, e.g. their routers don't support or have limited support for IGMP. If you had a protocol that mixed unicast and multicast then that may explain why some nodes aren't visible.

<comment><AUTHOR> Nope, this has nothing to do with multicast, sadly. My current solution is to just get off EC2 and run the crawler locally.

I have a DHT-layer ping utility, and observed that the failing node could not ping some peers that the successful node (crawling the other network) could, so I hypothesize that either EC2 or the file-sharing network was doing some rate limiting. The puzzling thing is that the local scanner has been running for hours without showing any signs of failure.</comment></comment>


Show HN: The note-taking app focused on the content organization – Unit - <AUTHOR> https://unit.ms/ <comment><AUTHOR> I decided to create this app because I didn't find any effective solution for collecting and organizing a big number of notes (yes, I have a lot of them). Some features: \- content is made up of independent blocks, like texts, lists, tasks, images, files etc. \- drag & drop to arrange any content \- nested hierarchy \- offline mode \- telegram messenger integration \- tags, reminders, color coding...

Currently, the app is available for iOS only. I'm actively looking for feedback. Please let me know what do you think.</comment>


Ask HN: What problems are solved best with Haskell? - <AUTHOR> <comment><USER2> I like it for compilers, decompilers, interpreters, and parsers. If you're doing one of these, it's worth using Haskell even if the rest of the company isn't using it.

F# or OCaml might also be appropriate for these.

</comment><comment><USER3> I use Haskell everywhere I would have previously used Python.</comment>


Computing at scale, or, how Google has warped my brain - <AUTHOR> http://matt-welsh.blogspot.com/2010/10/computing-at-scale-or-how-google-has.html <comment><USER2> _Forget about complex shared-memory or message passing architectures: that stuff doesn't scale, and is so incredibly brittle anyway (think about what happens to an MPI program if one core goes offline)._

MPI is not good at fault tolerance, though MPI-3 will help some. MapReduce and Sawzall are well-suited to the problems they were made for: largely independent operations on very large data sets with occasional reductions and weak synchronization. Usually disk is a significant factor and strong scalability is not especially important.

But they really can't compete with MPI for other problem domains. Claiming that MPI doesn't scale is demonstrably false, as evidenced by PDE solvers running on 200k - 300k cores (Jaguar, Jugene, etc). This is a comfortable order of magnitude larger than Google is running, and the communication requirements of those algorithms are far more demanding, with essential all- to-all communication as well as low-latency global reductions (for which Blue Gene has dedicated hardware). The need for these low-latency all-to-all operations is actually very fundamental (formally proven). The algorithms also tend to have much stricter synchronization requirements, for example, nothing can be done until everyone gets the result of a dot product, because the next operation needs to happen in a consistent subspace (though MPI has fine asynchronous support). There has been plenty of work trying to make algorithms less synchronous, but weakly synchronous algorithms almost uniformly have worse algorithmic scalability (number of iterations to solution increases by more than a constant factor). And since problem sizes are usually chosen to fit in memory, the network doesn't get a free pass due to the disk being slow.

If you care about strong scalability, MapReduce and Sawzall are probably not good choices. Similarly, if your problem domain requires low-latency all-to- all, reductions, or "ghost exchange".

<comment><USER3> _200k - 300k cores... a comfortable order of magnitude larger_

I would assume Google has well over over 20,000 cores. Or did you mean something else?

<comment><USER2> From talking with someone at Google Zurich who is involved in page-rank computations, those jobs run on ~10k to 20k cores. Of course Google has many more distributed around the world, but unless something has changed in the last few months, they are not running single jobs on more than about 20k cores.

<comment><USER3> In many ways pagerank is a special case where you need a lot of resources for a short period of time. In such cases you could use PMI but that's not the hard part of scaling for Google.

From what I have read, Google treats its global compute infrastructure in a reasonably abstract fashion. To the point where their production systems share resources across datacenters so that losing a datacenter has minimal impact. Thus, when Google people talk about "scale" they often mean getting it to work for long periods of time, efficiently, on flaky hardware, spread across the world, which PMI does not do.

<comment><USER2> You use "PMI" consistently, but I assume you mean "MPI". MPI is not a silver bullet, and if your problem can be reasonably solved with nearly asynchronous algorithms such that fault tolerance is a bigger problem than network performance, then MPI is probably not a good choice. But this is a rather narrow definition of "scale" (and much different from the standard definition over the last several decades of scientific computing), and for more tightly coupled problems, MPI can beat these alternative paradigms by huge margins.

<comment><USER3> The more cores you have the more important dealing with failure becomes. Multi CPU super computers have been dealing with these issues for a while. 2-3 CPU failures per day is fairly common and losing a rack in the middle of a job is way too common.

<comment><USER2> Yes, however the algorithms are such that failure cannot be made strictly local. For example, when solving a stiff PDE, there is unavoidable and quite complex global communication at every time step (indeed, within the nonlinear solves required in each time step). There is no hope of "continuous local checkpointing" or the like because the program state is changing to the tune of gigabytes per second per node.

The most common response is to perform global checkpoints often enough that hardware failure is not too expensive, but infrequently enough that your program performance doesn't suffer too much. Bear in mind that our jobs are not normally hitting disk heavily, so frequent checkpointing could easily cost an order of magnitude. When hardware failure occurs, the entire global job is killed and it is restarted from the last checkpoint. There are libraries (e.g. BLCR) that integrate with MPI implementations and resource managers for checkpoint, restart, and migration.

Note that it is not possible to locally reconstruct the state of the process that failed because there just isn't enough information unless you store all incoming messages, which can easily be a continuous gigabyte per second per node. Even if you had a fantastic storage system that gave you ring storage with bandwidth similar to the network, local reconstruction wouldn't do much good because the rest of the simulation could not continue until the replacement node had caught up, so the whole machine would be idle until during this time. If you have another job waiting to run, you could at least get something done, but the resource management implications of such a strategy are not a clear win.

So if hardware failure becomes so frequent that global checkpointing is too costly, the only practical recourse is to compute everything redundantly. Nobody in scientific computing is willing to pay double to avoid occasionally having to restart from the last checkpoint, so this strategy has not taken off (though there are prototype implementations).

<comment><USER3> There are three reasons why that approach tends to work well in scientific computing circles.

First off individual computational errors are rarely important. EX: Simulating galactic evolution as long all the velocity's stay reasonable each individual calculation is fairly unimportant and bounds checking is fairly inexpensive.

Second, there is a minimal time constraint, losing 30 minutes of simulation time day is a reasonable sacrifice for gaining efficiency in other areas.

Third, computational resources tend to be expensive, local, and fixed. AKA, Cray Jaguar not all those spare CPU cycles running folding at home.

However, if you're running VISA or World of Warcraft then you get a different set of optimizations.

<comment><USER2> _First off individual computational errors are rarely important._

This is completely wrong. Arithmetic errors (or memory errors) tend not to just mess up insignificant bits. If it occurs on integer data, then your program will probably seg-fault (because integers are usually indices into arrays) and if it occurs in floating point data, you are likely to either produce a tiny value (perhaps making a system singular) or a very large one. If you are solving an aerodynamic problem and compute a pressure of 10^80, then you have might as well have a supernova on the leading edge of your wing. And flipping a minor bit in a structural dynamics simulation could easily be the difference between the building standing and falling.

I would argue that data mining is actually more tolerant of such undetected errors because they are more likely to remain local and may stand out as obviously erroneous. People are unlikely to die as the result of an arithmetic error in data mining.

 _Second, there is a minimal time constraint,_

There is not usually a _real-time_ requirement, though there are exceptions, e.g. <http://spie.org/x30406.xml>, or search for "real-time PDE-constrained optimization". But by and large, we are willing to wait for restart from a checkpoint rather than sacrifice a huge amount of performance to get continual uptime. If you need guaranteed uptime, then there is no choice but to run everything redundantly, and that still won't allow you to handle a nontrivial network partition gracefully. (It's not a database, but there is something like the CAP Theorem here.)

<comment><USER3> For the most part you can keep things reasonable with bounds checking. If pressure in some area is 10x those around it then there was a mistake in the calculation. If your simulating weather patterns on earth over time, having a single square mile 10 degrees above what it should be is not going to do horrible things to the model. Clearly there are tipping points but if it's that close to a tipping point the outcome is fairly random anyway.

Anyway, if you could not do this and accuracy is important, then you really would need to double check every calculation because there is no other way to tell if you had made a mistake.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> When I was at CERN 10 years ago, the set up was similar. Instead of Macs the desktops were PCs. The code was Fortran, Perl and c++. All work was on remote Linux boxes (typically exporting a desktop over X), although physical not virtual OS instances. You'd ssh to a gateway IP and be logged into one of the hosts. All data and user accounts were stored on a distributed filesystem AFS. There was job scheduling and management middleware that'd batch process your analysis across hundreds of hosts in the datacentre.

"The cloud" has been around for a while, although implementation has changed.

<comment><USER5> Yahoo uses a similar setup. Instead of virtual hosts, the hosts here are physical machines. Search team had a dedicated lab(not sure what's happening now with search migration) and all developers would ssh to their assigned lab machines, fire up their vim/emacs and crank code.

Search team has a mixture of windows laptops, macs, linux desktops, linux laptops..and it didn't matter because everyone just ssh'd to a RHEL box and worked.

Yahoo used to be a BSD shop, then moved to linux. Search team used both Debian and RHEL in the beginning, then transitioned to RHEL fulltime.

I don't understand the obsession with RHEL. In my experience, Debian/Ubuntu will give the same benefits as RHEL sans the cost.

The rationale for moving from BSD to linux was practical. The gist was most of the vendors either do not do bsd or bsd was second class citizen. And BSD wasn't as quick as linux in catching up with esoteric hardware. But discarding Debian didn't actually make sense to me.

<comment><USER4> CERN used RH too, 6 when I was there. I believe they've now switched to Scientific Linux.

Actually I don't understand why Google would use virtualisation. Why would they split a physical box up? Making many hosts look like one, yes (is such a thing possible?), but not the other way around.

And AFS was cool: it was actually a global filesystem that many institutions used. you could cd /, ls and browse to nasa.gov amongst many thousands of others (much was protected!) (cern was mounted on /cern.ch)

<comment><USER6> _I don't understand why Google would use virtualisation. Why would they split a physical box up?_

Ease of administration. It turns out to be much easier to have ten virtual machines running one daemon each than one virtual machine running ten daemons. Fewer interactions, cleaner process boundaries (the boundary between one VM and another is pretty thick), easier debugging. Easier to swap out parts without affecting other parts. Much easier scaling. (If you need more servers for Service X, launch more VMs; if your machine needs more RAM to hold those VMs, launch the VMs on a different physical box -- the system doesn't need to be changed to support that because it's already architected to assume separate "machines" for everything.)

For more on the subject ask Ezra Zygmuntowicz or his blog and books. I stole all of this material from him.

<comment><USER7> _It turns out to be much easier to have ten virtual machines running one daemon each_

It's funny, when you needed one OS instance per network server daemon on Windows in the 90s, everyone laughed at it. Now it counts as cutting edge thought.

<comment><USER8> Everyone laughed at it because at the same time there were OSes available that could run unlimited number of daemons simultaneously.

Now it's a matter of choice for system owner. And of course all those single- daemon VMs run inside OS that lets numerous VMs run at the same time.

</comment></comment></comment></comment></comment></comment><comment><USER9> >The idea that you need a physical machine close by to get any work done is completely out the window at this point. ... I ssh into the virtual machine to do pretty much everything: edit code, fire off builds, run tests, etc. ...Wide-area network latencies are low enough that this works fine for interactive use, even when I'm at home on my cable modem.

This situation sounds fine if you're a developer and your job requires only low-bandwidth text streams between you and your physical computer. But for anyone who does anything graphical, or for anyone at home who wants to enjoy media, the bandwidth and latency are big problems.

Maybe I should just assume that because this is on HN and written on a developer's blog, context is assumed. But it sure seems like a disconnect between hard programmers and the other 99% of the population.

</comment><comment><USER10> I am reminded of a William Gibson quote: "The future is here, it's just not evenly distributed."

</comment><comment><USER11> _So, printf() is your friend. Log everything your program does, and if something seems to go wrong, scour the logs to figure it out. Disk is cheap, so better to just log everything and sort it out later if something seems to be broken. There's little hope of doing real interactive debugging in this kind of environment, and most developers don't get shell access to the machines they are running on anyway._

1985: Interactive debuggers suck. PRINT() is your friend.

1990: Interactive debuggers have matured. No one uses PRINT() any more. Debugger questions are now even part of technical interviews.

2008: Concurrent processing and cloud computing have made interactive debugging difficult.

2010: printf() is your friend again.

Developing software is getting to be like fashion. Keep those old skinny jeans and workarounds in your closet. Sooner or later, they'll be in style again.

<comment><USER12> This just tells me that we need to figure out a new way to debug concurrent/cloud processes more easily. The traditional debuggers just don't cut it anymore.

<comment><USER13> How about trying to find errors as early as possible, by for example using the type system? That will not catch everything, but it will catch quite a lot.

<comment><USER12> That's one of the trade-offs when deciding between a statically or dynamically typed language. Static typing isn't really going to help you with debugging/avoiding concurrency issues, though.

<comment><USER2> Well, the type system can be used to isolate side effects, thus ruling out large classes of concurrency bugs (especially with threads instead of separate processes or strict message passing (e.g. Erlang)). It can also prove that typing errors cannot occur, whereas with a dynamic language, it is possible for the program to be ill-typed in only certain circumstances (a function could return a different type depending on input). But yes, there are plenty of concurrency issues that are not greatly mitigated by static typing.

</comment></comment></comment></comment></comment><comment><USER14> Huh? His "dumb terminal" is a Mac laptop that will run on a single machine most less-than-Google-sized tasks...

<comment><USER6> Even if you are avoiding Google-sized tasks, there turn out to be advantages to treating your local machine as a dumb terminal.

One is that remote machines can be rented instead of being bought.

Another is that the configuration of everything becomes easier. You buy new laptops by taking them out of the box, running a handful of app installers, and moving over a SSH key or two and an encrypted password file. Your career as amateur sysadmin might just be over. (If you miss the chance to build your own Linux kernel, of course, there's plenty of work left for you as a cloud sysadmin. But cloud system admin is also usually easier, because machines in data centers come with nifty administration tools, like SANs and dashboards, that benefit from economies of scale.)

Security: When you lose the "dumb terminal" you lose no data. You do lose the keys that are on the machine, but you can revoke those. And it is much, much easier to get consistent automated backups on a datacenter box than on a laptop.

There are definite problems with the "cloud" approach, such as "who owns the data and how do you trust it is being handled properly", but the advantages are strong these days.

</comment></comment><comment> brown9-2 _I do all of my development work on a virtual Linux machine running in a datacenter somewhere -- I am not sure exactly where, not that it matters. I ssh into the virtual machine to do pretty much everything: edit code, fire off builds, run tests, etc. The systems I build are running in various datacenters and I rarely notice or care where they are physically located._

I love moments like this when you realize as a developer that the bits that are the fruit of your labor are off executing in some far off physical location you'll never know about.

</comment><comment><USER15> This guy is a total lamer!</comment>