So a female programmer walks into a bar… - <AUTHOR> https://netguru.co/blog/posts/so-a-female-programmer-walks-into-a-bar-dot-dot-dot <comment><USER3> _"you're a chick, leave this crap to REAL developers"._

I really don't understand guys who say (or think) shit like this. Honestly, it annoys me not so much because it's sexist, or misogynistic, or bigoted or whatever, but rather because it's _fucking stupid_.

I've been doing this stuff professional for around 20 years now, and I've worked with oodles of female programmers over the years, and I've _never_ seen any reason to believe that female programmers are in any way less competent than their male counterparts. None. Zero. Zilch. Nada.

It really boggles the imagination... where do these guys come up with this shit? Making crude jokes, sexually charged statements, some of these other things I can understand (that doesn't make them _right_ mind you, I'm just saying I can understand the place some of it comes from), but I can't even begin to understand a mindset of insinuating that women are less capable as developers/hackers/programmers/whatever.

To anybody who believes that women are somehow inherently inferior at coding, let me just say that you're wrong. Absolutely, totally, completely wrong. Maybe you haven't worked with enough women, or maybe you had the bad fortune to work with the wrong women, or maybe you just weren't paying attention, but it's just not true.

<comment><USER4> So at what point have you worked with enough women to be allowed to make inferences? At what point do you stop trusting what you've read on the internet and start going by your own experience?

Because thinking back over all the people I've programmed with or inherited a codebase from[1], the average female programmer was significantly worse than the average male programmer (which is not to say that I haven't also worked with some excellent female programmers, because I have). I wish that wasn't true, and I make every effort to treat every new programmer I meet with an open mind. But it is. Maybe it's just statistical bad luck, but it's reached the point where it's very hard to ignore.

[1] And in the case of one inherited codebase with a foreign name I wasn't aware of the gender until long after I'd formed my judgement, so I think I'm being reasonably objective.

<comment><USER5> _Because thinking back over all the people I 've programmed with or inherited a codebase from_

So basically, when considering a minuscule, poorly defined and poorly measured data-set, you've decided to draw broad conclusions about half the human population.

I'm not sure how great a programmer _you_ are, but I'll tell you right now that your logic skills need some work.

<comment><USER4> Broad conclusions? No, more like weak inferences. Not everything can be a formally-verified proof; a vital skill in programming (for debugging if nothing else) is the ability to make a best guess based on limited data (and to know how much weight to give such guesses).

(If there were reliable science on the subject I would of course prefer to go by that, but that's practically impossible for a question that's so politicised)

<comment><USER5> _No, more like weak inferences_

Indeed, quite weak; weak to the point of being useless. In ten years of programming, I've only worked with two developers who were comfortable with the use of regular expressions, both were women... what does that tell me about women?

Nothing.

Similarly, whatever experiences you've had with female programmers who are "worse than the average male" programmer is pretty clearly worthless (for the purpose of drawing conclusions about female programmers), especially when one considers that your definition of average is, at best, a nebulous amalgamation of your own subjective impressions.

<comment><USER4> You're right that two probably isn't enough for a significant result - <USER2> it might be, if the effect size is large enough. How large was the rest of your sample, and how big was the difference? I won't stoop to insults the way you did, but are you really not even _curious_ about these kind of differences?

<comment><USER5> _I won 't stoop to insults the way you did_

How noble of you. You're right though. I apologize for disparaging your faculties of logic, it was tongue in cheek but wholly unnecessary.

 _though it might be, if the effect size is large enough. How large was the rest of your sample, and how big was the difference?_

How can effect size be determined when we don't even know what is being measured? What is the criteria for determining the quality of a programmer? How is that criteria applied? Are there controls for education? exposure to programming as a child? years of experience? quality of experience? quality of tools available to the programmer? quality of the work environment in which we seek to evaluate the programmer's quality? It's reasonable for one to leverage professional experience in judging the skill level of colleagues, but it'd be foolish to think that those observations can be generalized across an arbitrary dimension of the programmer population (such as gender, or race, or political leaning).

 _are you really not even curious about these kind of differences?_

I guess? I'm always eager to learn more, but I don't really find the question of programmer aptitude as a function of gender very interesting since I can't identify anything unique about programming that would suggest either gender would be qualitatively predisposed to the craft.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Have you ever noticed that HN posts concerning gender discrimination tend to attract hundreds of comments?

That's not intrinsically bad. What's questionable is the quality of the comments. It seems that almost all the remarks on this page are drawn from opinion or personal anecdotes. Don't get me wrong... personal stories can be interesting and insightful; it's just that, in most discussion threads, HN tends to balance opinion with links to more objective qualitative and quantitative sources. That's what differentiates HN from sites like Facebook and Reddit.

So, there should be a barrier to participating in discussions about gender on HN. If you have personal or professional experience that qualifies you to discuss the topic, please share it. If you took the time to research the issue and present a substantial, new perspective, please share it. But if you want to chime in with a vague, unsubstantiated opinion that dozens of others have already shared, please consider using another forum. That's what makes these discussions less productive.

<comment><USER7> Why the need to explicitly police the discussion? Doesn't HN's system of up- and-down votes already accomplish that?

<comment><USER8> I still don't see downvotes. I don't really post or comment very often, but I've been reading this site almost daily for years.

Maybe they could work that in to an algorithm that gives you the downvote option..

My point is that there are many, many people who are just readers (of posts and comments) who don't feel the need to comment on everything but are perfectly capable of helping police the content. Right now, I can only upvote if I like something. There is no other option for "this is not good/helpful"

<comment><USER9> > Maybe they could work that in to an algorithm that gives you the downvote > option..

There is, actually. You need 500 karma, and you don't have that yet.

<comment><USER8> I think you misunderstood me. I meant the age of your account + your recent activity (as in, visits to the page) would account for something in the formula.

</comment></comment></comment></comment></comment><comment><USER10> Misleading title, there is no bar in this story.

But seriously, I think this is a refreshing article, considering the usual gender in tech articles here. I'd like to think that there are plenty of places a woman can work as a professional developer and not be subject to such rampant discrimination and sexual harassment that most of us find it difficult to believe.

I recommend everybody believe and act as if there are plenty of awesome companies to work at. If you find yourself at a company that sucks, for whatever reason, kick their asses to the curb and find a new one.

<comment><USER11> I was recently in an 11 week class for Machine Learning. 3 of the best students in this course were females. What was funny to me was how gender was never really an issue for anyone. Competent people are typically awestruck by smart people who are displaying brilliance. I was always cracking jokes about "well, I'm not (insert her name here), so I'll have to go look at her code before I can do that."

The big difference in treatment occurred with the lone female in the course who wasn't a good coder. Despite her having more experience than many in the class, she quickly fell behind. I witnessed a vicious cycle, in which she (probably due to the way she had been treated in the past) was ultra defensive when criticism came down, which then caused a difference in how she was criticized, which was then picked up on by her...... She complained to me about being discriminated against for her gender. While I'm very sympathetic to females in our industry who suffer at the hands of these brogrammer idiots (anytime I see anything remotely like that kind of behavior, I don't hesitate to LITERALLY GRAB the guy/guys, pull them aside, and give them a menacing rebuke), this was a case in which gender wasn't actually the issue. It was personality. And I have no doubt that gender discrimination in her past helped create this personality. Such a challenge to deal with this.

<comment><USER10> Interesting touchstone for something that I've always thought about these things, but that seems to go against the popular opinion here.

From my general experiences, I believe that the majority of what appears to be sexism, racism, etc is actually about respect, and not what the poor treatment appears to be about. When a person has self-respect and is generally respected in the peer group, these sorts of ridiculous, cruel, ad-holmium type attacks just don't happen, or vanish about as soon as they start.

When a person does not respect themselves, though, or acts in such a way as to lose respect in their group, then there's a certain type of person (mostly those brogrammer idiot types) out there that will seize upon that and attack that person with whatever they think will make them the most uncomfortable and upset. Sexism, racism, bigotry, any way that the person is different from the others, anything that they're insecure or uncomfortable with. The person doesn't really feel that way; they just use it to attack the weak. Of course, that's pretty asshole-ish behavior too, and I'm not sure that I'd call that better than actually being bigoted.

</comment></comment></comment><comment><USER12> Over 50% of this article is a job posting... I find it a little messed up to take a real issue and spin it as a hiring campaign. A footnote about the positive work environment at Netguru? Sure. But this is just plain advertising.

<comment><USER13> Even worse, the link goes to some dude who copied the blog so he could get page views instead of the author. HN posts it with a link to his page, not hers. He doesn't even talk about it, just "hey this is cool I'm gonna repost it so I get hits."

</comment></comment><comment><USER14> What a creative job advertisement.

<comment><USER15> Honestly I was expecting a little more meat in the article, and it turned out not to be primarily an article.

On the other hand, I'd love to work with female programmers more. The one I had the pleasure to work with had good insight, took care of legacy code like only a mother can, and documented every wtf line tenfold.

There might be tasks men are genetically more suited to, but women could also bring a lot to the table.

<comment><USER16> That is the most back-handed set of compliments I've seen in a while - you're doing a great job of entrenching the "HN is irredeemably sexist" image so many people already have.

<comment><USER17> This is one person who states his opinion, saying that "HN is irredeemably sexist" because of one person is irredeemably stupid.

</comment></comment></comment></comment><comment><USER18> I'd like to acknowledge the courage of Gosia to put something like this online. (Original post: [http://ineedmorehobbies.wordpress.com/2014/05/28/so- a-female...](http://ineedmorehobbies.wordpress.com/2014/05/28/so-a-female- programmer-walks-into-a-bar/) )

It frustrates and angers me knowing the article will almost certainly draw asinine comments and threats that are wholly inappropriate.

It takes a kind of bravery I'm not sure I have, and I can't tell if I do because it isn't required when I write.

The reasons it's needed aside, the signal of this blog that this is a safe place for women to work is important.

To the author, well done, and know that support is out there.

</comment><comment><USER19> I've been a professional programmer since 1997. I've worked for defense contractors, consulting companies and medical software shops. I've NEVER had a problem with my gender in the workplace. I've always been treated the same as the other developers.

Now, I can't be certain that my resume hasn't been skipped in the pile because I'm a woman. But, it's been my experience that developers on a team just want somebody who can do the work and can appreciate the good work that they do.

With so many articles posted about discrimination and sexism, it's refreshing to see others share their experience as being just one of the gang.

</comment><comment><USER20> This is a terrible PR article but we might actually need more of these.

That's basically how one changes social stigmas in a society/industry. Just make sure all cool places are doing the exact opposite of unwanted behaviour. If that's not possible, then everybody needs to fake it with PR stunts like this until everyone else believes that's the thing to do.

</comment><comment><USER21> You know that comic, from back in the 90s?

[http://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_y...](http://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_you're_a_dog)

Well, this is another point for the distributed, asynchronous programming championed by [http://asyncmanifesto.org/](http://asyncmanifesto.org/)

I would be happy to hire a woman programmer at our company provided she was awesome at the stuff we need -- Javascript, PHP, etc. In fact if someone here is reading this (man or woman) and thinks they would like to work with us on [http://github.com/EGreg/Q](http://github.com/EGreg/Q), I would be very happy to talk to you -- if you can figure out how to contact me from there.

In programming, the internet is the great equalizer. Have your work speak for itself, have your reviews speak for themselves, and this may be a faster vector for advancement than at a job.

PS: Recently I did reach out to one woman who I found on oDesk and she was busy with a project, but recommended someone else, a man. And now I'm talking to him, because she recommended well.

PPS: We do have a woman working in our company, doing sales. I really hire based simply on competence with the stuff we need and so far it's ben mostly men doing the programming.

<comment><USER22> >In programming, the internet is the great equalizer. Have your work speak for itself, have your reviews speak for themselves, and this may be a faster vector for advancement than at a job.

The problem is that it shouldn't require anonymity to get people to simply treat each other like people.

<comment><USER23> According to google/youtube anonymity positively encourages inhumane treatment? ;)

</comment></comment></comment><comment><USER24> Where was the substance to the post? The post she linked to was far more interesting:

[https://netguru.co/blog/posts/brace-no-more-going-from- java-...](https://netguru.co/blog/posts/brace-no-more-going-from-java-to-ruby- on-rails)

<comment><USER25> That article raised a frown with me. It presents some Java code, then shows the Ruby version, which ends up being much more concise. But the Java code is needlessly verbose. Here's how i'd arrange it:

        @Override
        public boolean equals(Object object) {
            if (!(object instanceof Gallery)) return false;
            Gallery other = (Gallery) object;
            return (this.gid != null || other.gid == null) && (this.gid == null || this.gid.equals(other.gid));
        }

Apart from the cast, which you need because Java has static types and Ruby doesn't, it's the same length. It's basically the same code, token for token.

Actually, the logical structure of the final line is a bit obscure to me; i'd write it:

            return this.gid != null ? this.gid.equals(other.gid) : other.gid == null;

Or, in Java 7 or later:

            return Objects.equals(this.gid, other.gid);

</comment></comment><comment><USER26> It's kinda sad that she has to call out Netguru as someplace safe for women. Honestly, I think it's just a bit of moral panic brought on by a few high profile stories. I've been in and out of a lot of organizations and never witnessed female colleagues being given a hard time. A few instances of creepy guy behavior, but I've also seen guys get bothered by creepy gay guy behavior. That's not unique to the programmer world at least.

<comment><USER9> > I've been in and out of a lot of organizations and never witnessed female > colleagues being given a hard time.

Liberally stolen from Anil Dash, consider this sentence and how it compares to yours:

> I'm an iPhone user, and I've been in and out of a lot of organizations where > I also work with Android users, and they're always complaining about bugs. I > can't ever reproduce their bugs on iOS.

</comment></comment><comment><USER27> _"you're a chick, leave this crap to REAL developers"_

Seriously, what kind of a dick says that to anybody - even if it was nothing to do with gender, it's an egregious offence.

<comment><USER28> My guess? An insecure one, who therefore is trying to build up his own self- esteem by tearing other people down.

</comment></comment><comment><USER22> >Because we have a motto that says "you're not your code" that all of us stick to and it works in many ways.

This struck a chord with me.

I work in the healthcare sector, so I deal with what is, for IT, an unusually high proportion of women. I've dealt with bad female developers, but I've also worked with absolutely great ones. Just like I've dealt with incompetent and solid male developers.

Maybe it's just my exposure and the fact that it's a normal thing for me, but gender just doesn't even register on my radar when I have to work with someone. All I care about is the ability to get the job done.

While I think the dearth of women in the tech sector is systematic on a deep enough level that it's very difficult to "solve" in any manner that won't take decades, I do find myself somewhat worried about the byproducts of tech's current insular nature. I feel that normalizing _dealing with people_ \-- diverse groups of people -- on a regular basis yields healthy benefits well beyond simply saying "we're inclusive!" It breeds openness to just plain working with people as people.

<comment><USER29> The important thing here is that despite the claims of some, there is _no_ evidence that the proportion of good to bad programmers is any different for males vs. females. Same holds true for race, sexual orientation, etc. Anyone claiming otherwise is merely displaying their own biases.

</comment></comment><comment><USER30> It's very nice to read some women have positive experiences and that some companies are able to create a discrimination-free culture. I'm happy for Gosia and it gives me some hope for the future.

What I am scared of is some people using what Gosia wrote as an argument to silence other women: "Look! Read! See? It's not bad! So shut up".

</comment><comment><USER31> I wonder how significant the importance of the long-time/early female employee was in shaping a welcoming culture. It is easy for a group of extremely like minded and homogenous (male) group to start a company and grow to a decent size before any diversity is introduced. It might prove to be a powerful strategy to consciously introduce diversity before most would start thinking about "company culture". (Obviously I don't mean this as something only white male founders should worry about, I think it could be powerful for all young companies)

</comment><comment><USER32> Shady little advert there, masquerading as news.

<comment><USER33> Right, my thoughts too.

Still good to have a positive story as well after all those awful stories of lately.

</comment></comment><comment><USER34> So a female programmer walks into a bar... and nothing of importance in relation to her gender happens. What a piece of crap article. Why is she obsessing about her gender when it clearly isn't affecting her in any way mentionable, let alone writing an article about it? Such a useless article. Doesn't surprise me a woman wrote it.

</comment><comment><USER35> It's sad that being generally decent to women is remarkable enough to be newsworthy, but it's important to highlight successes instead of failures if for no better reason than to remind the world that geek misogyny is far from universal or universally tolerated.

</comment><comment><USER36> Right now hiring women is a competitive advantage. If you're not an asshole and make sure that the work environment is sane, you get an employee who is grateful for the opportunity to do her job in a nice environment and who is more likely to advertise her job...

</comment><comment><USER37> Blogspam. Please visit original page – [http://ineedmorehobbies.wordpress.com/2014/05/28/so-a- female...](http://ineedmorehobbies.wordpress.com/2014/05/28/so-a-female- programmer-walks-into-a-bar/)

</comment><comment><USER38> Rolling my eyes the whole post. Is overly dramatic for something so mundane, and to be honest i don't even believe it.

"you're a chick, leave this crap to REAL developers".

Who say stupid thing like this on this day of age or even get dramatic when someone say that to you?. Please give yourself some pride, you are better than this.

</comment><comment><USER39> You might think this is fake, planned or otherwise staged - I get that, I would think the same. But you should see my anger when I saw what's going on with that tiny little excuse for a server, becouse nobody told me this is happening. They did not think they need to, since it's only felt natural and normal thing to do, reposting an article of one of our coworkers and going to HN with it. passenger_max_instances_per_app 4 my ass.</comment>


Show HN: Socializing the YC way - <AUTHOR> http://tiesport.com

<comment><AUTHOR> Hi everyone!

I'm submitting my project to hear from you and see what you think about it. We've developed it in Madrid (Spain) and I wanted to tested outside our city.

1) Write whatever you feel, either if you think is great or a piece of junk

2) What do you think about the texts? Are clear enough?

3) Do you feel the way startup communities socialize can be extrapolated to other sectors? (investment banking, consultancy...)

4) Suggestions, improvements, dreams, unicorns...all are welcome

This job has been made with a lot of coffee, patience, Django, Jquery, CSS and users complains

Many thanks! Cheers Pablo</comment>


Story of AI - <AUTHOR> https://medium.com/rla-academy/story-of-ai-the-prologue-87f28b466e17 <comment><AUTHOR> Summary of the prominent events or inventions that lead to the birth of AI (current). Many AI (ML/DL) practitioners don't realise the work that went into the creation of AI. We hope to shed some light on this topic.

Any feedback, would be great !</comment>


7 Teeth Gnashing Mistakes I Made With My Start Up - <AUTHOR> http://blog.lendingclub.com/2008/08/26/7-teeth-gnashing-mistakes-i-made-as-an-entrepreneur/

<comment><USER2> Loved the article. Ambivalent about the office advice. There's a false dichotomy here between "basement" and "vanity offices". A couple hundred a month will get you a couple rooms and an Internet connection. Having a single place for everyone to work that is an office, and not your house, has advantages. We find that they're worth it (and I dragged my feet for over a year on this, forcing my team to work out of the library).

<comment><USER3> Agreed. Some people can work just fine at a home office or basement. Others (like me) find that a strict separation between work and home makes both go more smoothly.

</comment></comment><comment><USER4> Another common mistake: Imagining your business will have a fairytale YouTube- style ending.

</comment><comment><AUTHOR> "Not Using Open Source" - I wish more small businesses would realize they don't need a full custom website when they shell out 5K for a site that I could do with a custom wordpress theme for a few hundred.

</comment><comment><USER5> Best list on the topic I've seen in a while!

Living through a start-up for last 5 years they are all great. Here's a couple thoughts on some of the items.

* Get book on managing people and read them

* If you dare hire friends, make sure you understand each others expectations to a 't' and check-in often.

* Spend as if you have to live on your own means

* Prove your business model early

* Dont define yourself by what your start-up is. Keep yourself intact.

</comment><comment><USER6> There's nothing wrong with raising money before you have customers at all. A lot of great businesses started out that way. You just have to be adaptable.

</comment><comment><USER7> I'm not sure I agree that starting a business with your friends is a bad idea. If things go wrong, perhaps it would be worse, though?

<comment><USER8> starting a business with friends and hiring friends are two different things.

<comment><AUTHOR> Exactly. Having a friend as a W-2 employee was a terrible experience for me. I wouldn't be opposed to starting a business with a friend though.

</comment></comment></comment><comment><USER9> Nos. 3,4 & 5 - Sounds just like the current startup I work for... Time to jump ship!

<comment><USER10> I don't know, it sounds like a sweet gig if Nos. 3,4 & 5 are the problem. I'd say start saving and keep the resume polished though. Oh, and steal your chair on the day it ends. :)

</comment></comment><comment><USER11> Can't the IRS get you for mixing personal finances with your business finances?

<comment><USER10> Mixing isn't the right word. Its more losing track of who owns what and who owes what. Then when they ask you to prove something such as if it was your business taking the deduction, or if it was your business receiving the income, not you, then you can't. And then they get you.

</comment></comment><comment><USER12>
      I wouldn't even recommend going into business with a friend.

But if the friend has a complimentary skill set, and clear expectations are set from each person, the startup with a friend as a co-founder has the highest chance of being successful.

</comment><comment><USER13> Curbing too much diversification!

<comment><USER14> What?

<comment><USER13> It is okay to diversify on napkins (concept stage) or after series A/B/C... but stick to the plan in the middle path.</comment></comment></comment>


Steve Blank says Facebook Is Killing Silicon Valley - <AUTHOR> http://finance.yahoo.com/blogs/daily-ticker/facebook-killing-silicon-valley-entrepreneur-142452787.html

<comment><AUTHOR> In the part of the video where Blodget asks Steve whether Facebook will follow a myspace/friendster trajectory or become a platform like Microsoft or Google it's interesting that instead of giving a wishy washy answer that covers the two possibilities (so he can choose later to be right on either answer) he avoids the question totally using humor to say something like "if I knew the answer I'd have your job".</comment>


The Discovery of Apache ZooKeeper's Poison Packet - <AUTHOR> http://www.pagerduty.com/blog/the-discovery-of-apache-zookeepers-poison-packet/ <comment><USER2> What strikes me about this investigation is that it clearly demonstrates the value of having access to the source code for your full stack, and also openness in the specification of how the protocols work and how everything fits together. Count the number of different software components from separate organisations that this investigation required information from:

* Apache ZooKeeper

* The Apache Curator ZooKeeper client library, originally from Netflix

* The Linux kernel

* Arguably the authors of RFC 3948, which specifies the protocol and expected behaviour of the networking components

* The Xen hypervisor

Now imagine that each of these components was closed, proprietary code from a separate organisation and you had to rely on support from each supplier to get to the bottom of the issue. It's unlikely that the customer would be able to successfully identify the issues without access to the source code. But at the same time it is unlikely that any individual supplier would be able to identify the problem as none of them can see the full picture either.

<comment><USER3> > What strikes me about this investigation is that it clearly demonstrates the > value of having access to the source code for your full stack […] Now > imagine that each of these components was closed, proprietary code from a > separate organisation

Please note that "proprietary" and "access to source code" are not exclusive. You can get source code access licenses to windows (specifically for that kind of situations) for instance (and that's been possible for decades).

<comment><USER4> I am interested in learning more about such arrangements, but the fact remains that for Foss software the license and freedom to read and change the source code is there for all from the start, no license negotiations or purchasing required.

<comment><USER3> > I am interested in learning more about such arrangements

[http://www.microsoft.com/en- us/sharedsource/default.aspx](http://www.microsoft.com/en- us/sharedsource/default.aspx)

Basically:

* be a big/huge company (10k seats under Enterprise Agreement or Select + Software Assurance)

* be a big OEM ("Top Volume", 5k internal seats)

* be an MVP in good standing

* be a governmental entity

In all cases there's an NDA to sign and you must be in an "eligible geographic market".

> the fact remains that for Foss software the license and freedom to read and > change the source code is there for all from the start, no license > negotiations or purchasing required.

Sure, but that's not really my point.

</comment></comment></comment></comment><comment><USER5> All kinds of badness here. Bug #2 really reduces the level of comfort I would have with using ZooKeeper as a tool.

First of all, the default Java policy of terminating the thread, instead of the process, when a runtime exception is not handled is fully boneheaded and the first thing you should always do in a server program is to set a default uncaught exception handler which kills the program. Much better to flame out spectacularly than to limp along with your fingers crossed hoping for the best, as this bug amply demonstrates.

On the heels of that, there's this: "Unfortunately, that means the heartbeat mechanisms would continue to run as well, deceiving the followers into thinking that the leader is healthy." Major rookie mistake here; the heartbeat should be generated by the same code (e.g. polling loop) which does the actual work, or should be conditioned on the progress of such work. There's no indication that ZooKeeper is bad enough to have a separate thread whose only responsibility is to periodically generate the heartbeat (a shockingly common implementation choice), but it is clearly not monitoring the health of the program effectively.

Suffering a kernel level bug is outside the control of a program, but this demonstrates a lack of diligence or experience in applying the appropriate safety mechanisms to construct a properly functioning component of a distributed system.

<comment><USER6> > this demonstrates a lack of diligence or experience in applying the > appropriate safety mechanisms to construct a properly functioning component > of a distributed system

That's every experience I've had with ZooKeeper – gratuitous complexity, complicated setup and deployment and too many failure modes where it silently stops working without logging anything helpful. For a system like this simplicity is a necessity, not a quaint affection.

<comment><USER7> > gratuitous complexity, complicated setup and deployment and too many failure > modes where it silently stops working without logging anything helpful

Well, it _is_ a Java program…

</comment></comment></comment><comment><USER8> I'm impressed. Not by the first 90%; that's par for the course (and why I'm a big believer in open source). No, what impresses me is the sharing of their solution. A solution, which, in their own words, is 'not a proper fix'. The engineer in me would be embarrassed by the fix but you can't fault that it works. There's a workaround, so the business perspective is any further time spent fixing this could be spent working on new features instead.

Still, I have a bunch of unanswered questions. Why not just upgrade all the hosts to Xen 4.4? Does recompiling the 3.0+ kernel without the bad 'if' in /net/ipv4/esp4.c make the problem go away? Does the problem happen if there's only one VM on a host? Of the seven AES-NI instructions, which one is faulting? How often does it fault? The final question though, is what causes it to fault?

<comment><USER9> I can answer only some of these questions. :)

Why not upgrade Xen? We run on cloud VMs, so we aren't in control of the version of Xen that's being used. Patch the kernel? Honestly, we don't have the expertise to take on that level of effort. We're hiring though. ;)

</comment></comment><comment><USER10> When I read reports like this on HN I am absolutely floored by the level of detail and quality work put into not only writing them, but by getting to the bottom (well, almost!) of the problem! Fantastic work. How do you do it? My server-side team is ~5 engineers (and 1 devops), and we struggle just to keep up with the incoming feature requests, let alone do work on improving the infrastructure, and even further, let alone have an engineering blog, or do this kind of research or work. Is there a good way to foster the culture that this is something that should be held as important?

<comment><USER8> It's easy to see the finished product and wish for that kind of time, but it's likely the culmination of several months work of several people just to debug the problem, followed by the writeup sitting in someone's todo list for several weeks, with another few weeks of review.

One way to foster this culture is to write blog posts, and close with a "We're hiring", as Pagerduty has done here.

<comment><USER9> It was indeed. We poked at this issue off and on for several months by multiple engineers before figuring it out.

</comment></comment></comment><comment><USER11> >While checksumming is a great way to detect in-flight corruption, it can also be used as a tool to detect corruption during the formation of the packet. It is the latter point that was overlooked, and this optimization has come to bite us. Lack of validation here let our mystery corruption through the gate – giving ZooKeeper bad data which it reasonably believed was protected by TCP. We claim this is a bug – intentional or not.

This would only be a false sense of security. It only tells you that there was a bug in the formation of the packet _after_ the checksum was calculated. If your failure case assumes a system can't put together a packet, how can you assume that it even makes it to the checksum calculation step correctly?

Edit: There is also another downside to enabling TCP checksumming after decryption. It eliminates the possibility of hardware TCP checksum offloading so you would be paying the performance cost of software checksumming every packet. This is why the RFC was written that way to begin with...

</comment><comment><USER12> AES-NI instructions need to use the XMM registers. My guess is that someone forgot they have to be saved/restored when AES-NI has been used.

There have been a few Xen bugs around saving/restoring state which leads to information disclosure (one VM can read values in registers from another), but another manifestation of this type of bug is corrupted registers.

<comment><USER13> Yeah. Of the bugs identified, this sounds like the most serious, but received the least attention.

</comment></comment><comment><USER14> There are a number of alternatives to ZooKeeper (etcd, Consul, etc). There are a number of systems which specifically require ZooKeeper (Kafka springs to mind).

How plausible would it be to replace hard dependencies on ZooKeeper with a dependency which could be fulfilled by any of the alternatives?

For example, could there be a standard protocol? Could someone implement the ZooKeeper protocol on top of Consul? Could we define a local client API with pluggable implementations for each alternative (like ODBC etc)?

Or are the semantics of the 'alternatives' just too different?

<comment><USER15> Oh, I'd love to have something similar, running etcd (for Kubernetes) and ZooKeeper (for the rest of the services) can be a PITA, and it feels like an unnecessary duplication of infrastructure.

</comment></comment><comment><USER16> A fantastic investigation. These are always fun to read but also scary as in how bugs at so many stacks combined together to generate a problem. So you might end up being the only one to be affected by something and if you don't have the technical expertise to figure it out then you are in a big trouble.

</comment><comment><USER17> Zombie ZooKeeper nodes that appear as healthy members of the cluster after an OOM is something that can cause major problems.

There are two quick solutions on the operational side that can be deployed to prevent this:

\- Run each zk server node with the JVM OnOutOfMemoryError flag, e.g. like this: -XX:OnOutOfMemoryError="kill -9 %p"

\- Have your monitoring detect an OOM in the zookeeper.out log, and use your supervisor to restart the failing ZK node.

ZooKeeper is designed to be fail fast, and any OOM should cause an immediate process shutdown, ofc continuing with an automatic start of a new process by whatever is supervising it.

</comment><comment><USER18> > Bug #3 – Obscure Behavior

> We claim this is a bug – intentional or not.

I like seeing this described as a bug. Bug #3 is documented behavior (there's a comment right there in the source calling it out), and it does what it's intended to do, and the relevant RFC says that it should be doing that. It's only a "bug" in the sense that the behavior is nevertheless metaphysically incorrect.

I once wrote java code doing bit shifts of arbitrary length as part of a programming contest at my school. It failed on a single test case for mysterious reasons. I eventually discovered that my algorithm was totally correct -- but I had been assuming that if you shift a 32-bit integer by 32 or more bits, you'll get zero. In fact, and this is _required_ by the java specification, you get unpredictable garbage data. More specifically, the java standard mandates that "a << b" be silently compiled to "a << (b % 32)". So I had to rewrite code like this:

        bit_pattern = bit_pattern << potentially_large_value;

into something more like this:

        // if you shift by x, Java will silently rewrite it as a shift by (x % 32)
        while( potentially_large_value > 31 ) {
          bit_pattern = bit_pattern << 31;
          potentially_large_value -= 31;
        }
        bit_pattern = bit_pattern << potentially_large_value;

I can imagine no circumstance where this would be useful or helpful in any way. Even later, I found out that the JVM bytecode for bit shifting uses a 5-bit operand, and I surmise that the standard is written the way it is to make it slightly (slightly!) simpler to compile a Java shift statement into a JVM bytecode instruction. I can't call this a bug in javac -- it's doing exactly what it's required to do! But the only way it makes sense to me to describe this is as a bug in the Java specification. If I say to do something 45 times, that should be the same thing as doing it 15 times, and then another 15 times, and then 15 more times. It shouldn't instead be the same as doing it 13 times.

<comment><USER19> The x86 shift instructions do the same, so I'd guess that's why the JVM does it that way.

<comment><USER18> Sure, the JVM can use a 5-bit value for doing shifts on 32-bit integers, there's no problem there. But why would Java compile "x << 37" to "x << 5"? If you're working raw in the JVM, there's no such concept as x << 37, because 37 requires more than 5 bits to specify. Java explicitly allows you to say x << 37, but secretly defines it to do something insane.

<comment><USER20> x % 32 === x & 31

So if they use a 5-bit number, they can just stick your second operand into that slot after it's been ANDed with 31 (which might even be implicit in how the x86 shift instructions work). To do otherwise would require them to branch (just like you did in your solution).

<comment><USER18> So what?

</comment></comment></comment></comment></comment><comment><USER21> TL;DR 4 bugs: 2 in ZK, 2 kernel. IPSec/NAT-T, AES-NI, Xen PV/HVM. A fun (7 scroll) read.

<comment><USER22> I'm not sure if it can be said that there was a bug _in_ IPSec/NAT-T. Caused by IPSec/NAT-T, maybe. But by documented and specified behaviour. As for aes- ni-intel (the module/implementation), I'm also not sure. Maybe that would have to be attributed to Xen - for being a bit careless. Agreedly an interesting read!

<comment><USER23> The IPSec/NAT-T behaviour was documented and specified, true. It is also _wrong_ for the reasons pointed out in the post.

</comment></comment></comment><comment><USER24> There are alternatives to Zookeeper. Here's our work on using a NewSQL DB (NDB) to do leader election. Instead of using ZaB as a replication protocol, it uses transactions with low TransactionInactive timeouts (5 seconds), placing a ~5 second upper bound on leader election time. The upper bound increases dynamically if the number of nodes is >100\. [http://www.jimdowling.info/sites/default/files/leader_electi...](http://www.jimdowling.info/sites/default/files/leader_election_using_newsql_db.pdf)

<comment><USER25> While there are a number of ZK alternatives (although none quite as mature or battle tested), I've found it can get pretty difficult to eschew the ZK requirement when using open source software.

Simply put, a large number of projects depend on Zookeeper (and not surprisingly large number of Apache projects like Hadoop, Kafka, Storm, Spark, Mesos).

</comment></comment><comment><USER26> Whenever I hear of deep mysterious bugs found in critical encryption systems, the conspiracy theorist in me can't help but wonder...

Did they stumble upon a very well hidden back door? This might not be the last we hear of this.

</comment><comment><USER27> Is there a CVE for this? This seems like it probably has security implications.

<comment><USER16> You mean the checksum bit right. Letting a corrupted packet pass through? Funny that it was a corrupted length value that caused the problem which I seem to recall one of the big attack vector when its intentional.

<comment><USER11> The checksum thing is not a vulnerability. If you can't trust the remote host to put the correct things in a packet, a checksum will not help you.

<comment><USER16> I was wondering for a moment if any MITM was possible at some steps. But it also happens for encrypted packet right and maybe MITM is not possible in that case. I don't really know the steps involved in creating, encrypting packets to judge the possibility.

</comment></comment></comment></comment><comment><USER28> Isn't all that addressed in Zookeeper 2: Zookeepier?

[https://www.youtube.com/watch?v=_F- RyuDLR4o](https://www.youtube.com/watch?v=_F-RyuDLR4o)</comment>


How to Migrate from TypeORM to Sequelize - <AUTHOR> https://selleo.com/blog/how-to-migrate-from-typeorm-to-sequelize <comment><AUTHOR> If you are currently working with TypeORM and want to start using Sequelize check guide how to migrate here: [https://selleo.com/blog/how-to-migrate-from- typeorm-to-seque...](https://selleo.com/blog/how-to-migrate-from-typeorm-to- sequelize)</comment>


Be your product - <AUTHOR>

Man is the best product that could be. The only problem is scalability. <comment><AUTHOR> In this case, an article can help. So I wrote one about my personal experience : [http://blog.justjam.at/post/115284081705/be-your- product](http://blog.justjam.at/post/115284081705/be-your-product)</comment>


Spotify coming to the U.S. soon. For real this time? - <AUTHOR> http://www.spotify.com/int/coming-to-the-us/

<comment><USER2> I must wonder if it will have the same great success as they did in Europe in the US. After all, the US market is fairly saturated already. Is it really different from the likes of Mog, Rdio, Rhapsody or Grooveshark?

From articles I've read, it seems that tech writers call it the "Holy Grail", then describe features that the others already have. Was it just the allure of using something that isn't available stateside? I don't even think it competes on the price point, probably being the same price as everyone else.

Or am I a blind man, missing something that everyone else sees?

[EDIT: I put in an invite request, just like most of you. If it does turn out to be pretty good, I want to see it myself.]

Disclaimer: I formally worked with Grooveshark.

</comment><comment><USER3> Discussion at <http://news.ycombinator.com/item?id=2734612>

</comment><comment><USER4> Wonder how Pandora feels about this?</comment>


The FCC puts broadband under political control - <AUTHOR> http://online.wsj.com/article/SB10001424052748704370704575228152292941636.html

<comment><USER2> Increased regulation means that would-be network providers need lawyers and lobbyists to compete.

I can't get FIOS on my block in Manhattan even though I can see Verizon HQ from my window. I'd like to give them my money and they'd like to take it, but they haven't gotten over the regulatory hurdles to run a fiber.

I am sure a small guy would love to do the same but there's no way they can get over those hurdles, if even Verizon struggles to do so. So yes, competition is de facto illegal.

Regulation is good for incumbents. Or, more accurately, it prevents them from having to work harder.

[http://clipperhouse.com/blog/post/Net-neutrality-and- preserv...](http://clipperhouse.com/blog/post/Net-neutrality-and-preserving- the-dinosaurs.aspx)

<comment><USER3> I'm in the same situation with FIOS in the heart of Seattle, but the mayor has personally told me that it has nothing to do with regulatory hurdles. The city would love to have Verizon compete with Comcast and has tried to work with them on making it happen. They aren't interested though.

<comment><USER2> Could be, but this says otherwise: <http://seattlest.com/2009/05/07/fios_con_dios.php>

<comment><USER3> I specifically asked him about those reports and he says it's BS. Dunno who is telling the truth.

</comment></comment></comment></comment><comment><USER4> _For the past decade, broadband has been classified as an "information service" and thus more lightly regulated than traditional telephone services. This has led to an explosion of new investment and Web innovation_

I'm sorry - but, what?! There's been innovation on the web because the telecom industry was deregulated?! All I can see is that the current telcos have no incentive to innovate in any way, and are gouging consumers as much as they can while the US lags behind the rest of the world in broadband speed and availability!

What this is, is a thinly veiled attempt at trying to blame the left-leaning administration for an evil communist plot - while all it's trying to do is force telcos to catch up with the rest of the world...

<comment><USER5> It's a relative comparison. Compare the gains in internet to the gains in plain old telephone service.

Incidentally, much of the rest of the world has less regulation than us. In Korea, for example, you have _competition_ between multiple internet providers (i.e., more than just Verizon and Cable). In the US, such competition is illegal.

<comment><USER6> _De facto_ illegal. In theory other companies can run wires or fiber, and most certainly they can and many do it with radio, it's just that the legal monopoly incumbents have too many advantages. Plus backhaul is very expensive in lots of places.

<comment><USER7> > In theory other companies can run wires or fiber, and most certainly they > can and many do it with radio

I thought there tended to be monopolies on wires/fiber granted by local governments (supposedly to limit the number of companies tearing up roads and the like to install new infrastructure, but more likely to create a scarce privilege they can sell)?

Radio tends to be much lower bandwidth, and can be susceptible to bad weather.

<comment><USER6> In theory I think you can go to Federal court and get these overturned, but I could of course be wrong. We're not likely to find out since the other side (ILECs, cablecos and local and state government) has so much power it's just not worth it. Who has the budget and time to play this game?

</comment></comment></comment></comment></comment><comment><USER8> It is interesting that this article doesn't mention how the United States broadband companies, despite their trillions of investments still can't offer decent speeds at decent prices. When compared to other countries it is clear that the United States needs some sort of regulation on these internet providers for the good of everyone. Hopefully this doesn't come at the expense of openess.

<comment><USER7> Well, what we really need is a competitive last mile. But the states and municipalities like selling local monopolies and Congress doesn't seem to want to smack them down (the internet is used in interstate/global commerce; it's much less of a stretch than say growing your own weed having an effect on the interstate black market), so limiting what can be done with those monopolies is a decent second choice.

</comment></comment><comment><USER9> "Mr. Genachowski has provided no evidence that the current regulatory approach is failing." Like the fact that ISPs are throttling the traffic of their customers, inspecting packets and giving preferential treatment to some in the name of "reasonable network management"? Like the fact that virtually everyone who has access to broadband at all has at most two provider choices, despite investment of "$576 billion in communications equipment and structures"? Like the fact that we lag behind other industrial nations in both speed and access to broadband, despite the "explosion of investment and Web innovation" this article attributes to light regulation?

Regulation isn't perfect. As others have pointed out, it tends to benefit the big guys, and raise barriers to entry for competition. But given that we _have_ big guys, that's going to happen anyway: oligopolies are very good at pushing out or buying up competition, entrenching the need for their services, and bullying consumers. They do so all the more aggressively if no one is watching them.

If we accept that Internet access should be provided by the Verizons, Comcasts, and AT&T's of the world, then we should accept that they should be regulated, as effectively as possible and as heavily as necessary so that this compromise doesn't give the public the short end of the stick. Whether we should accept these companies as Internet gatekeepers at all is another matter.

<comment><USER10> > If we accept that Internet access should be provided by the Verizons, > Comcasts, and AT&T's of the world

Why on Earth _would_ we ever "accept" that?

<comment><USER9> Frankly, I don't know. But it seems that we _have_ accepted that. Someone has, anyway, if the public debate is about how heavily to regulate ISPs, and not about whether we should have ISPs so big that they need a Federal-level regulator.

</comment></comment></comment><comment><USER11> Oh man this submission confused me - I use "miked" as my username on tonnes of sites, but not this one, and did a double take when I saw the name.

Good article too.

<comment><USER12> What exactly is good about it?

<comment><USER13> Because 10 years from now when there is another administration that you don't agree with and they decide to impose something like fairness rule, impose content decency restrictions, dictate which sites may be accessed from the U.S or any one of a dozen other awful things, you'll know that this week the foundation was laid for that authority.

I am in favor of the result, but this is a Faustian bargain. Broadband providers brought it on themselves by not getting their act together enough to create standards of service and instead were trying to milk the cash cow as much and as quickly as possible.

<comment><USER12> That claim is thrown out in the article, but as far I can see there's nothing to back it up. If anything it's the opposite. ISPs want to control and meter based on whatever rules they come up with (i.e. whatever increases their profits) while the government argues for neutrality. If we use the telephone industry as blueprint of what may happen, what aspects of the current policies worry you?

<comment><USER6> In other words the ends justify the means, and you are 100% sure those you like will _always_ be controlling the means.

<comment><USER12> I can't be sure of what will happen, but I can tell you that ISPs want to control it now. There's something we can do about government, but very little about corporations (when they have a monopoly).

<comment><USER6> And what gives them a monopoly? The government(s, local, state and less directly Federal).

You're saying the answer to bad government is more government....

<comment><USER12> In cases where a monopoly was given to them is because ISPs demanded it; otherwise they would not have entered the market and lot of folks would've had to go without Internet. So who's the bad guy again?

<comment><USER10> > In cases where a monopoly was given to them is because ISPs demanded it

Sweet, we can just demand things from the gov't? Who knew? BRB, need to stock up on unicorns...

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Wow...the WSJ has sunk to a new low for me.

'Autos, health care, energy, Wall Street and now telecom. Is there any American industry this Administration doesn't want to run?'

Are they joking? I know they profess to be 'free marketeers', but are you telling me that they really thought the Obama Administration should NOT have bailed out the Auto industry and forced them through pre-packaged bankruptcies? They should NOT fix the broken health care system? They should not tackle the looming energy crisis and allow wall street to run wild doing anything they want?

Sometimes, I would prefer some amount of editorial integrity. The editors at WSJ need to say no Ailes & Murdoch at least some of the time.

<comment><USER6> " _[...] are you telling me that they really thought the Obama Administration should NOT have bailed out the Auto industry and forced them through pre- packaged bankruptcies?_ "

Yes, that's _exactly_ what the editorial board of _The Wall Street Journal_ thought. Not to mention it being the first example of Obama's style of "gangster government" as Micheal Barone puts it ([http://www.washingtonexaminer.com/politics/Gangster- Governme...](http://www.washingtonexaminer.com/politics/Gangster-Government- becomes-a-long-running-series-91656284.html))

Do you seriously think Government Motors will survive without endless bailouts (or suppression of its competitors like Toyota (which has its problems, but the piling on is more than unseemly))?

The editorial board thinks ObamaCare will make the system worse and won't fix much if anything (heck, after all this fuss, _it still isn't going to cover every American citizen and legal resident_ ). That's rather different than the straw man of "should NOT fix the broken health care system".

The energy crisis has been "looming" since the early '70s. History pretty convincingly shows that the free market, e.g. Reagan removing oil and gas price controls, beats central planning hands down. I was there; if you weren't, you might want to read up on it.

I will agree that they go too far in the promotion of allowing "wall street to run wild doing anything they want", e.g. essays in support of insider trading (excepting those based on the nasty problem of it having no statutory definition) and the backdating of stock options.

But they also have all sorts of good points that are backed by evidence (we've accumulated a lot by now).

Let's put it this way: given that we're on HN and likely interested in startups: did the government's suppression of IPOs (expensing and SARBOX) help any of us? The game of venture capital that ran from the late '50s to the dot.com bust is _over_.

I've been reading the editorial page of the Journal since 1970 (sic) and I haven't noticed any significant change due to Murdoch. (Where does Alies fit into this???)

<comment><USER14> Ok...I will look past the politicking tone of the response and address the content.

Regardless of how GM turns out, the fact remains that the actions taken by the administration so far have been very beneficial to the car maker and have set it on the right course for correction. Not only has GM been able to successfully wind down or spin off ailing brands, renegotiate/get out of ridiculous labor contracts, cut down the size of the dealer network, consolidate their supply chain, but they have done so at unprecedented speed - [http://www.foxnews.com/story/0,2933,531022,00.html?FORM=ZZNR...](http://www.foxnews.com/story/0,2933,531022,00.html?FORM=ZZNR3)

So much so that it's CFO said it might post a profit this year - <http://www.nytimes.com/2010/03/18/business/18auto.html> \- Yes, I know there is probably a lot of financial shenanigans going on here...but 24 months ago, this would never have been the case (even with financial shenanigans). I would say that this is the best thing that ever happened to GM. If mgmt can revive the brand and focus on good products, in 5 - 10 years we might not even remember that GM went through this period.

Not to mention the hundreds of millions (if not billions) in highly subsidized loans and VC money the administration has given to 'electric/hybrid' companies in the auto industry - from Tesla to Fisker (<http://online.wsj.com/article/SB125383160812639013.html>) to many others in between, I would be willing to bet that the auto industry in 10 years is going to be radically different than the last 10 years, and I would probably bet that America leads the way in innovation again (after ceding it to Japan and Asia for the last 10 years).

Ok...the health care argument, yes the bill wasn't perfect...but guess what..at least he did something. The reality is the current system couldn't stay, and something had to be done. We will see what the final implementation looks like, but I am pretty sure it won't have any death panels.

I am not advocating oil & gas price controls, but the fact remains that America (and the West in general) is highly dependent on oil from relatively volatile areas of the world. Yes, people have cried wolf many times and it hasn't always borne out in 'rations', but as a result of the market doing it's thing, we have seen massive price run ups in those commodities (to almost unprecedented levels) right before major economic downturns. From the 70s, to 2000, to last year. One thing that was consistent with all recessions in those times are sky-high energy prices - [http://en.wikipedia.org/wiki/List_of_recessions_in_the_Unite...](http://en.wikipedia.org/wiki/List_of_recessions_in_the_United_States) The most recent recession was coupled with financial mayhem, so that eclipsed the high energy prices...but it doesn't take away from the fact that the US economy is highly dependent on foreign oil.

As far as I know, regulators and the government (both this one and previous ones) never tolerate/promote insider trading or the backdating of stock options. There are some economists that argue that both shouldn't matter in an 'efficient market', because it would only make the market more efficient by pricing in more information more quickly. I am not sure I agree with that, due to misaligned incentives of executives and shareholders, but that's another argument for another thread.

Re: the gov't suppressing IPOs...there are so many things wrong with this statement I don't even know where to start. For starters, a startup shouldn't be a 'vehicle' to an IPO. So the mere fact that you think the gov't 'didn't help us any' because they made the road to IPOs a bit more bumpy, I would suggest that perhaps you need to rethink why you are doing a startup in the first place. Even in 'rosier boom boom' times, driving towards an IPO without solid fundamentals is like gambling. If you have solid fundamentals (i.e. strong revenues, gross & net margins + high ROE + high growth potential) then SARBOX won't have too much of a negative impact on your IPO. Don't believe me? Look at Google. SARBOX implemented in 2002 (<http://en.wikipedia.org/wiki/Sarbanes-Oxley_Act>), Google IPOd in 2004 (<http://www.google-ipo.com/>). If you aren't familiar with the success of Google's IPO, you should probably review it. If anything, SARBOX made the industry healthier, because it weeded out the crappy startups that were relying on hype and fluff (i.e. quite frankly fraud).

Ailes is his sidekick @ News Corp and tends to have more extreme views than Murdoch does. e.g. he strongly supports Glenn Beck. Regardless of your political affiliation, I think that explains itself.

<comment><USER6> WRT Government Motors, well, of course it's beneficial in the short term at least to those two companies, but Obama is the President of the US, he's supposed to take a wider view of things. Massive global overcapacity does not suggest that propping up the worse losers is an ideal solution and the thuggish cram-downs of senior debt holders in favor of the unions sends a _terrible_ signal.

But the bottom line is how this is going to play out the in long term. It's way too early to declare success, let's see if Government Motors really recovers or instead will need more cash bailouts. If Obama's actions were a bad bet he's only delayed and worsened the pain.

On health care " _at least he did something_ " just doesn't cut it as an argument, not with the dog's breakfast the Congress passed. And death panels are inherent in government takeovers of health care. _Somebody_ , _some_ mechanism is going to determine who gets treatments and who doesn't. The U.K. has it's NICE plus the various units of the NHS make their own resource allocations.

My bottom line is that we're rich enough that the obsession with decreasing our health care outlays ("bending the cost curve") to European levels is not an imperative. We pay a lot more and we get a lot more (like clean hospital wards).

And then there's all the knock on effects, like the inevitable suppression of new drugs and therapies. But at least here there's some justice in the world, for a whole bunch of ObamaCare supporters will some day needlessly die because the program they support will abort something that would have saved them.

Anyway, again we'll see; assuming it isn't repealed wholesale in 2013 or defunded before then by a Republican Congress we'll find out if it makes things better soon enough.

As for oil and gas, when left along (i.e. not in the '70s) the market does it's thing by signaling the relative current scarcity of oil, which prompts all the players concerned to automatically adjust. And I'm much less concerned about the recent gyrations, for you can't expect to add 2.5 billion or so people to free market (PRC and India) without short and medium term discontinuities. Also don't forget about how many of those price shocks were prompted by devaluations of the US dollar, in which oil is denominated. Nixon's closing of the gold window in 1971 was after all what started the mess.

I.e. it's an issue, even a problem, but not a crisis.

And I think we'll just have to agree to disagree on "startups as a vehicle for IPOs". If you think the VC game is legitimate, if you think there are ventures that can't organically grow from an angel start (e.g. serious hardware ones), then IPO exits are necessary for healthy VC investing.

Just think of all the companies we probably wouldn't have with out VCs: Apple, Sun, any number of chip and hard disk vendors. Some worthwhile things require a _lot_ of upfront money.

Pointing out the one post SARBOX blockbuster high tech successful IPO isn't germane; I'm more concerned that there will be no future Googles because the money to build such capital expensive ventures is gone due to the termination with extreme prejudice of the potential of a high payoff at the end of private financing. VCs aren't charities.

WRT to Ailes, if you can point out how Murdoch is warping the Journal's editorial board then _maybe_ he's relevant, alhtough I gather he has bigger fish to fry, like the massive growth of Fox News. I just don't see Murdoch doing that, in practice (I read the editorial page every day) or in theory, since his objective is to have the Journal muscle in on the NYT, which is much more of a front page thing.

</comment></comment></comment></comment><comment><USER15> Hopefully a judge will throw this out too.

<comment><USER7> Why, so we can have the _only_ ISP that's allowed to serve an area filter out bittorrent and maybe charge a premium to access certain sites?

<comment><USER5> Now that the internet is under political control, the FCC might be the one banning bittorrent. Joe Biden is, after all, in the pockets of big content.

<comment><USER7> See, that doesn't make any sense. "The Internet" is _not_ being placed under any form of "political control". The _ISPs_ , the people with the last-mile pipes are becoming regulated in the same manner as the phone companies _already are_. There's no more danger of the FCC banning bittorrent than there is of them banning phone sex operators; this reclassification _DOES NOT_ give the FCC the power to ban sites/protocols/etc.

<comment><USER15> Throughout history innovation and technology progressed and then became regulated, once regulated entrenched powers used regulation to stifle competition and cement their positions. This has happened again and again. Look at the history of the ICC for a brief example.

If this was in reaction to a serious problem some might say it's justified, but as of right now we don't have any problems so lets let things progress naturally.

</comment></comment></comment></comment></comment><comment><USER7> Wow that's messed up, I guess some people don't want to comprehend the difference between "you can't say/do certain things" and "you can't interfere with people saying/doing certain things".

</comment><comment><USER16> I was glad to see this announced, but please never try to convey news via the wsj opinion section.</comment>


Latin America is seeing a cable-car boom - <AUTHOR> https://www.economist.com/news/americas/21730743-they-appeal-both-politicians-and-commuters-why-latin-america-seeing-cable-car-boom <comment><USER2> Surely the throughput of these is a bit low?

I encountered Latin American cable cars in La Paz, where they were necessary as the only viable mass transit option - the main suburb El Alto is up a very steep hill, ruling out trains or subways, and the single road is already a traffic jam of small buses.

Conversely the "Emirates air line" in London is a boondoggle, not linking useful places and surrounded by tube and bus lines.

<comment><USER3> It's about ten or twenty years too early to establish the success of the Emirates Air Line. In London it's necessary to build infrastructure well before the demand appears because otherwise it's too late to thread it through high density development.

At the south end, there's an enormous new housing development being built next to the cable car stop. The southern station is also next to the terminus for the increasingly-popular river boat service. The boat service has taken at least 20 years (and several operator bankruptcies) to get (re)established and what was once a tourist-only route is now picking up more commuters as the frequency improves.

At the northern end, the stop is close to the Excel and Custom House station, where there will be a link to Crossrail.

As you mention there are existing tube and rail stations in the area but they are heavily overloaded. The DLR is packed when there's a show at the Excel, and the Jubilee line is so full at rush hour you often have to wait for several trains.

The cable car also adds a little bit more resilience to the network, allowing options when one of few eastern rail river crossings is running badly. I've taken the cable car plus the boat to get back to Westminster from the Excel when the DLR was closed by an accident.

Once the sponsorship runs out (more than half the cost was paid for by Emirates) and it becomes fully in TfL's control - we might see if it becomes a useful, practical, transport link rather than just an occasionally useful tourist attraction.

</comment></comment><comment><USER4> This reminded me of the tramways [1] in Chiatura, Georgia (the country, not the state).

[1] [https://www.theatlantic.com/photo/2013/08/stalins-rope- roads...](https://www.theatlantic.com/photo/2013/08/stalins-rope- roads/100577/)

</comment><comment><USER5> In China they're going to move 160,000/day by maglev trains at 60 mph within Beijing.

[http://news.xinhuanet.com/english/2017-10/16/c_136684196.htm](http://news.xinhuanet.com/english/2017-10/16/c_136684196.htm)

I believe most NYC subways go between 15-30mph: [http://gothamist.com/2017/05/17/subway_rollercoaster.php](http://gothamist.com/2017/05/17/subway_rollercoaster.php)

Many people will stop commuting by cars once it's actually faster by mass transit.

<comment><USER6> I would suspect cars in NYC average a lot lower than 15-30 mph.

edit: [http://www.wnyc.org/story/traffic-speeds-slow-nyc-wants- curb...](http://www.wnyc.org/story/traffic-speeds-slow-nyc-wants-curb-car- service-growth/) says average speed was 8.5mph in 2014, and worsening. So the subway is still 2-4x as fast.

<comment><USER5> Sorry, I only provided subway speed as a comparison of speed. Getting people out of their cars and onto mass transit isn't as much of problem in Manhattan.

</comment></comment></comment><comment><USER7> _Mexicable charges seven pesos (37 cents), less than half of its break-even price

...

The jury is out on whether cable cars are worth the cost._

I'd be surprised if they can run a bus line or any other transit for less than 74 cents/trip.

<comment><USER8> They probably can't, but you can maintain roads for what most non EU nations charge in gas taxes either so I guess it's a matter of priorities.

<comment><USER9> That's the joke to me, people complain about how we are subsidizing buses and train service- _" The buses STILL don't make a profit!"_\- but when have roads for cars ever turned a profit?

<comment><USER10> In the UK Road Tax Fuel duty and VED exceed that spent on roads by 20+ Billion Pounds 15/16 FY

<comment><USER9> I guess I don't usually consider taxes to be profits, considering buses etc that do not generate enough in fares are also paid for with taxes.

<comment><USER10> we where talking about roads and most of the road traffic is cars, vans and lorries

</comment></comment></comment></comment></comment></comment><comment><USER11> HowWeGetToNext had a great (and lengthy) article on that topic: [https://howwegettonext.com/cable-cars-are-changing-the- world...](https://howwegettonext.com/cable-cars-are-changing-the- world-61f2b803c129#.a6j77j6er)

</comment><comment><USER12> Here's some schematics of Bogotá's mentioned cable car.[0] Bogotá desperately needs solutions to the cities car crowding. They've tried a lot of innovative things: closing major roads on Sunday only allow bikes and pedestrians, limiting cars in the city by license plate number. The traffic is still terrible.

Also of note, taxi associations in Bogotá have been facing off against Uber, sometimes violently.

[0] [http://gondolaproject.com/2014/10/01/bogotas-cable-cars- lear...](http://gondolaproject.com/2014/10/01/bogotas-cable-cars-learning-but- not-duplicating/)

<comment><USER13> Those innovations sound like you could be talking about São Paulo as well (they've done all those things). One of the proposals I once heard from a São Paulo city planner was for more people to telecommute. If more companies allow for remote work, the streets don't need to be (as) congested. But I'm skeptical about the long-term success of such a move.

What would work a lot better, with the current set-up, is a massive carpooling scheme, since SP transit stats show most automobile trips are single-occupant (IIRC). What would work even better than that is another city-planning 'trick' \- making as many neighborhoods as self-sufficient as possible (work/shop/commune near where you already live).

</comment></comment><comment><USER14> A cable car transit system has been proposed in Austin to help with our traffic woes:

[https://www.youtube.com/watch?v=7wXRMq6laF8](https://www.youtube.com/watch?v=7wXRMq6laF8)</comment>


JMatch: Iterable Pattern Matching - <AUTHOR> http://www.cs.cornell.edu/Projects/jmatch/

<comment><AUTHOR> For those who click the link and think "Ahhrg Java _-close-_ ", read on. This is a very advanced pattern matching system that's far more powerful than the one in O'Caml/Haskell.

Pattern matching tries to find values for the variables in a formula such that the formula produces some value. For example if we define:

        type list = Pair(int,list) | Empty

        case v of
          Pair(n, rest) -> ...
          Empty -> ...

Now the pattern matcher tries to find values for n and rest such that the expression `Pair(n,rest)` evaluates to `v`.

JMatch extends this in several ways: it lets you define your own pattern matchers, and it extends pattern matching to cases when there are _multiple_ ways of binding the variables.

If we have `lst = [1,2,3]` then the pattern `x in lst` has multiple solutions: `x=1, x=2` and `x=3`. Similarly the pattern `x in lst && y in lst && x <= y` has 6 solutions. You can iterate over the solutions of a pattern:

        foreach(x in lst && y in lst && x <= y){ ... }

In general you can have

        foreach(<boolean formula>) {...}

given that you have defined pattern matchers for calls in the boolean formula.

Iterating over the indices/values of an array:

        foreach(x == arr[i]){ print(i); print(x); }

This iterates over all values of x and i such that `x == arr[i]` is true.

 _syntax slightly simplified ( & types omitted) in examples_

Check out page 8 of [<http://www.cs.cornell.edu/Projects/jmatch/jmatch.pdf>]. It's a Lisp (sexp) pretty-printer in forward mode and an un-pretty-printer (aka parser) in backward mode!

<comment><USER2> Googling around I see Ehud Lamm got waay excited about it in 2003. <http://lambda-the-ultimate.org/classic/message5496.html>

</comment></comment><comment><USER3> For a minute I thought this was Jdate, and I rushed to downvote. Nvm.</comment>


Microsoft invented Ajax: Let's give credit where it's due (2006) - <AUTHOR> http://garrettsmith.net/blog/archives/2006/01/microsoft_inven_1.html <comment><USER2> Internet Explorer was a good browser for a long time. I switched over to IE4 after something caused Netscape to immediately crash every time I started it.

I'd avoided IE previously on purely idealogical grounds, but I was impressed by how much faster it was compared to Netscape.

The rot set in after Microsoft effectively won the Browser war (of the time at least), and updates and adherence to standards became all too rare.</comment>


Ask HN: Do karma points matter when posting on HN? - <AUTHOR> As the title says it, I am wondering whether karma points on HN actually do anything to your post's ranking.  Anyone know? <comment><USER2> Your karma does not influence your post's rankings. However, at some point it was suggested that _average_ karma influences _comment_ rankings - not sure if that's still accurate, or ever was.

</comment><comment><USER3> Only the points the post gets matters.

<comment><AUTHOR> so it's just a useless stat?

<comment><USER4> It controls if and when you can upvote or downvote comments and stories. Not just the amount, but how recently you've acquired it.</comment></comment></comment>


Ask HN: What are some of your favorite puzzles and puzzle resources? - <AUTHOR> Preferably lesser known ones, the weirder the better (mechanical puzzles, word puzzles, algorithm puzzles etc)<p>Any resource - books, websites, videos, shops... <comment><USER2> [https://alf.nu/RegexGolf](https://alf.nu/RegexGolf)

</comment><comment><USER3> Krazydad for Kenkens, including 9x9.

<comment><AUTHOR> Thank you, looks great.

Looks like a lot of them are computer generated, correct?

<comment><USER3> I'd expect most are. What I like is how readable they are, even in low light.</comment></comment></comment>


Ask HN: What should I read about turning a good product into a success? - <AUTHOR>

I see a lot of HN articles about building a good product.  That's only a fraction of the path to success.  What good articles are out there for advice on completing the rest of the journey? <comment><AUTHOR> See <http://news.ycombinator.com/item?id=2257108> about the distance between a good product and success.

</comment><comment><USER2> Not an article, but how about this book:

[http://www.amazon.com/Four-Steps-Epiphany-Steven- Blank/dp/09...](http://www.amazon.com/Four-Steps-Epiphany-Steven- Blank/dp/0976470705)

<comment><AUTHOR> Wow, impressively positive reviews. I'll have to read it.</comment></comment>


The Death of the Mobile Web has been Greatly Exaggerated - <AUTHOR> http://mikedesjardins.us/blog/2008/04/mobile-webs-death-has-been-greatly.html

<comment><USER2> Thank you, somebody needed to say this.</comment>


Vista has turned into the desktop operating system no one wants, and even MS is beginning to get it - <AUTHOR> http://www.eweek.com/article2/0,1895,2190228,00.asp

<comment><USER2> I'm missing exactly what it is about Vista that everyone hates. I've been using it since day one on my Lenovo X60 and have never had any problems. It's far more stable. Windows rot has not yet forced me to reinstall, and I've never gone even half this long without doing so on XP. And it crashes far less (though still not never).

The only driver I've been unable to find was for a very old, very cheap Logitech webcam. Everything else has been no trouble whatsoever.

I think almost all problems attributed to Vista are actually due to shoddy hardware used by budget conscious OEMs. Buy a Dell and you'll hate Vista, but then again, buy a Dell and you'll hate any OS. Buy a Lenovo and it's rather pleasant.

<comment><USER3> After much hype about any new product, customers check out new features first.

In this case, customers realized that the sidebar wasn't very special, the voice control features were iffy, and much of the software and driver CDs that came with their computers did not recognize this version of Windows and displayed error messages, or customers discovered by trial and error that they should go to each vendor's support page for the best and updated drivers.

Another thing to keep in mind is that many installations were upgrades, and not fresh installs. That also generates problems and differences.

Vista over-promised and under-delivered, but it is a good operating system.

Now, nobody cares about special features like voice recognition. They fire up their tabbed web browser and virtually ignore the environment altogether.

Yes, Microsoft has released many patches for Vista since its release. Also, nearly all software and driver downloads support Vista, while very few product pages listed Vista as a supported operating system earlier this year (and therefore hadn't been tested on Vista yet.)

But, after users install and configure their printers, file sharing, applications, and wallpaper, they don't even notice or stress about the differences between Vista and XP. I know I don't.

And why do you think Lenovo uses better hardware than Dell?

<comment><USER4> >And why do you think Lenovo uses better hardware than Dell?

I used to think that. My Thinkpad Z61m is starting to convince me otherwise though.

</comment></comment></comment><comment><USER5> My day job is as a web developer for a small PC repair shop, and this article pretty much nails it. Many custom builds are requested with XP, and a lot of customers with Vista complain about it and some have us downgrade them to XP.

I'm just glad I switched to Ubuntu.

</comment><comment><USER6> Windows XP is by now a very stable and reliable operating system. As far as I can tell (I have used Vista for about 5 minutes on a friend's machine) there isn't much that Vista offers as an upgrade to XP. Some of the UI "enhancements" are pretty much copied straight from OS X and some of the cool features that were promised for Vista were either not included (WinFS) or available for download in Windows XP.

I'm not sure why anyone would consider upgrading to Vista.

<comment><USER7> They would do so for security reasons. Vista runs apps in user mode.

<comment><USER8> "They would do so for security reasons. Vista runs apps in user mode."

That, for me, became so annoying after a few days I turned it off. (I do keep running into inexplicable instances where I am not allowed to delete or move files I created without engaging in much unintuitive file property manipulations, so the machine still seems to be boss of things.)

Vista is amazingly annoying in so many little ways. I suspect that is true of all OS, and people just become numb to them, but Vista seems keen on reminding me what "opinionated software" is all about.

So far the only thing that keeps me from replacing Vista with XP is the pre- installed Media Center software.

(I already set up the dual boot for Kubuntu, for Serious Computer Usage. :))

<comment><USER7> I believe this is mostly a problem with software that was not written with vista's user mode in mind.

</comment></comment></comment></comment><comment><USER9> I use Vista (on my MacBook) more often than OSX lately. Somehow all MacBook hardware features work (except the camera/mic). The keyboard, tab and scroll down all work fine.

Putty works better for me compare to the default xterm that shipped with OSX. The "just work" phrase doesn't seem to reflect that based on my own experience.

For development, Vista has pretty much everything while OSX has almost everything minus .NET (yes I know there's Mono but I don't need Mono, I need Microsoft .NET and its tools Express or Full-package).

I prefer Office 2007 than Office 2004 or iWork. Outlook feels my need.

At home (PC desktop) I use Media Center frequently. Front Row isn't anywhere near. Oh, I never use Front Row because it doesn't do much.

I prefer to use Windows Live Gallery than iPhoto because WLG is simpler (for me) than iPhoto.

Overall, Vista is smooth for me. My machine is a budget one; it took $450 CAD to build it. Here's the spec:

ASRock (or ASUS I forgot) mobo with built-in vid-card AMD Athlon 64 X2 dual- core 4400+ 2.30 GHz Kingston RAM 2GB DDR2 800MHz Samsung 160GB SATA2 Haupauge WinTV PVR 150

Windows Media Center detects the card with no problem at all and it fetched all cable channels. You could also watch tons of clips from MTV via Windows Media Center. While I understand the real-world situation that the author describes, there's no need to hate something that you've never tried.

</comment><comment><USER10> I am contemplating switching to a Mac because of Vista

</comment><comment><USER11> i switched back to xp from vista after 6 months of use on a quad-core 4gb ram machine, because:

\- vista took 800mb just to boot up

\- aero is slow

\- can't download torrents right on vista

\- games run slower on vista

one good thing about vista is that i moved a hard drive from an amd machine to an intel machine and it booted up like normal. great driver support.

</comment><comment><USER12> From what I understand Vista needs plenty of resources to even handle network traffic, for example. Its a sleeping tiger in the sense that MS is waiting for all the multicore cpus to really make a showing and power the OS to a new level.

<comment><USER9> MS is always like that. They always designed their OS to exploit future hardware, not current. That's why for every OS they released, it's always feel "slow" at first.</comment></comment>


Ask HN: Would you work out of a Costco shed over an open office setup? - <AUTHOR> I'm trying to think of ways to build cheap offices instead of the dreaded open office plan. My first stop was a recording both since they are basically what I am looking for but are way to expensive. Is there a way you could take a Costco shed, soundproof it, add a desk for under $500? Would you work in it?<p>For clarity, I am suggesting putting this inside an existing office space. <comment><USER2> Make streets in between, add addresses signs, allow employees to choose their paint and roof tiles.

I like it! Feels like kindergarden!

<comment><USER3> [http://www.developertown.com/](http://www.developertown.com/)

</comment></comment><comment><USER4> Pixar (used to?) have some shed-like things is their offices: [http://officesnapshots.com/photos/16765/](http://officesnapshots.com/photos/16765/)

OfficePOD is a great solution for more of a room setting: [http://officepod.co.uk/about-officepod/](http://officepod.co.uk/about- officepod/)

Framery offers an excellent phone booth to give open plan spaces a place for calls: [http://www.frameryacoustics.com/](http://www.frameryacoustics.com/)

For as many people as their are on HN that hate open office plans, it sure seems like we never hear of companies (other than Fog Creek) that actually give their employees private offices. Are there more? Or do people that hate open plan eventually find that going all-private is harder said (and more expensive) than done?

<comment><USER5> That pixar shot looks awesome!

</comment></comment><comment><USER6> I'd be happy to use a small shed as my office.

I'd probably take a dumpster over an open office plan though so take that for what it's worth.

</comment><comment><USER7> That sounds like a very expensive way to create workspaces.

What's wrong with the traditional stud wall, packed with insulation, and finished with plasterboard / drywall?

<comment><USER8> No permits required, can be disassembled and moved to another location more easily. They do have industrial versions of these "portable" offices that you can buy but they cost significantly more than a garden shed.

<comment><USER9> Ask the fire marshal about permits.

<comment><USER8> I believe that if it's classified as "furniture" then it doesn't need to be permitted. For example, this is just a bigger version of a wardrobe in your office.

<comment><USER9> A fire marshal will typically listen politely to your beliefs [when not actively engaged in an emergency] then will keep you from putting people's lives at risk via such nonsense. Depending on your and their demeanor, you may get grandfatherly tones of wisdom; you may get bureaucratic handoff to the building department for their approval; or even a flat out "not in this town".

Seismic, egress, accessibility, sprinkler coverage, cumbustability, flame spread, smoke developed, UL listing etc. all come into play because people's niave intuition does not conform to actual life safety hazards, and it's not so much for the sake of styming your personal pursuit of a Darwin award as to prevent the answer to your implicit question "What could possibly go wrong?" from being answered via unfortunate events that result in other people dying.

</comment></comment></comment></comment></comment><comment><USER10> Possibly. Lots more detail needed in a deployment plan.(lights/heating/cooling are just a some of the issues that would need solutions) While I can't find it now - I recall an article of a company that had individual work "offices" on wheels, that had dry-erase board for the exposed surfaces. Someone could become part of a given team by moving their personal office to the team area, and plugging in locally for power/connectivity/etc. I think it cost more than $500 - but at the time I though it was a very unique approach to making any open space (cheap unfinished warehouse?) into a "teamspace" with individual offices.

<comment><USER11> Are you thinking of the Valve mobile desks? See point #3 here: [http://www.forevergeek.com/2012/04/10-things-learned-from- va...](http://www.forevergeek.com/2012/04/10-things-learned-from-valves- employee-handbook/)

<comment><USER10> No, these were actual office type enclosures affording some privacy, as well as plenty of surface for note taking. The spirit of point #3 was made so you could move _everything with you - desk, shelves, chair, etc.

</comment></comment></comment><comment><USER12> The thing I hate about an open office setup is the noise.

The Costco shed wouldn't help with noise.

So no.

</comment><comment><USER13> like one of these? [http://costcocouple.com/wp- content/uploads/2014/03/Lifetime-...](http://costcocouple.com/wp- content/uploads/2014/03/Lifetime-Products-Resin-Outdoor-Storage-Shed- Costco-1.jpg)

might have to add extra light inside since it gets darker. Also it might be too small for some people

<comment><USER14> I would LOVE to have one of those in my back yard with a desk in it. Just run a cord out for a lamp... and good to go.

In an office space I would feel like I have a fake castle too. (Also a fan of this)

</comment></comment><comment><USER15> This has already been done. Pixar used to have something similar - i think they used wooden toolsheds to make office spaces that could be made private.

</comment><comment><USER16> If it could be modified in such a way to provide good lighting and airflow, definitely.

</comment><comment><USER17> Yeah, people have done this before. Works surprisingly well.

</comment><comment><USER18> An office with no power, electricity, or plumbing?

<comment><AUTHOR> No it would be a shed inside an office space.

</comment></comment><comment><USER19> No thanks, I want natural light.

</comment><comment><USER20> Almost certainly.</comment>