Hacker News new | past | comments | ask | show | jobs | submit login
Rails is a Ghetto... [NSFW for Language] (zedshaw.com)
94 points by raju on Dec 31, 2007 | hide | past | web | favorite | 68 comments

I posted this on reddit and was surprised that no one had observed the same thing here (like, say, pg calling him out).

The arrogance contained in this rant is sad. He "almost" got his MS, he "nearly" completed a formal education, and he twice decided he was too good to be a Jr. Sysadmin at Google. What do Junior Sysadmins do at Google? They learn how to work with one of the largest distributed systems on the planet, and they become Senior Sysadmins or Production/SRE engineers. If you don't want to work at Google that's one thing, but unless you've got your own Big Idea (and no, "being homeless" does not count as a Big Idea), maybe it'd be worth the initial indignity....

Burning bridges in public is one thing, but I worry a little that he's burnt a bunch of bridges in front of him, not just behind. And the small satisfaction of a rant like this is not worth it. For perspective -- would you expect to see something like this out of Obie? Ever?

Make your own opportunities before you burn your bridges... the time for a victory rant is after you win big, not before.

The arrogance contained in this rant is sad. He "almost" got his MS, he "nearly" completed a formal education, and he twice decided he was too good to be a Jr. Sysadmin at Google.

I didn't see his rant as arrogant . . . just pretty blunt. If you actually read his technical work, it's quite clear that Zed is very good at what he does and employs practical applications of computer science in his work. It's no secret that Zed thinks there are too many bullshit "hackers" out there who don't know basic computer science, yet they think they're God because they learned Rails or Django. It looked like he was trying to highlight the irony of (no offense to anyone here) English majors turned script kiddies trying to lecture him on topics in which they are, frankly, out of their depth.

Having been in the consulting world at a major firm for a few years before starting my company, I've seen it dozens of times. They'll pay, staff, and bill out non-technical people like they're technical and vice versa. You sometimes find yourself dealing with "superiors" and "peers" that think their "IT experience" of writing Excel macros makes them computer scientists all of a sudden. The water's just too deep for a lot of these people and they'll put their feet in their mouths a thousand times before they learn it.

(Before I get flamed -- I applaud non-technical folks who are able to crossover and start their businesses using frameworks and other tools. That's truly awesome. The problem is when these people start thinking that because they learned how to change a spark plug or bolt on a turbocharger, they're suddenly automotive engineers and can design a car engine from scratch just like their buddies who work at Ford. Formally trained engineers != mechanics, no matter what the field. Hell, I remember a few months ago, someone on News.YC had the audacity to declare that Computer Science is irrelevant to web apps. That's the sort of bullshit that goes on in this field. There are people who call themselves hackers and literally have no clue what they're talking about and no reverence for the people who've built the tools that allow them to get a foot in the door.)

They learn how to work with one of the largest distributed systems on the planet, and they become Senior Sysadmins or Production/SRE engineers. If you don't want to work at Google that's one thing, but unless you've got your own Big Idea (and no, "being homeless" does not count as a Big Idea), maybe it'd be worth the initial indignity....

Meh. Any technical hiring manager who's researched what Zed's capabilities are would know that he is overqualified for that role. Why exactly should someone with twenty years of experience and Zed's skillset who also just happened to have single-handledly wrote one of the most rock solid webservers around with thousands of production deployments take some shit job just because it's Google? Honestly, they're just another company ...

Make your own opportunities before you burn your bridges... the time for a victory rant is after you win big, not before.

That's wise advice.

I generally agree with you here.

I also think that undergraduate CS degrees today, are diluted. That's not to say I have not met folks who know what they are doing with their CS degree. They are also the ones paying attention in class. For those that don't really know how to program ... they got about as much skill as a non-techie who goes off to try to do their own thing.

With regards to the English major. It was very possible that he programmed computer as a kid, tried to get a CS degree, and failing that dropped back to English. I'm not saying that this is what happened to him. I do know of a few folks at the local university it happened to. So far, they have not tried to get a programming job.

I agree.

Just to clarify, though, the point I was trying to make was not about the importance of degrees but about the importance of learning computer science rather than just, for example, "learning to code Rails" (whatever that means).


You're right, learning computer science is important to developing software.

The "English major" Zed mentioned is a friend and co-worker of mine. Zed and him has had some beef going way back.

Kevin is no script kiddy, I can guarantee you that. His 20% time project at Powerset is contributing to Rubinius. I don't know how many people here are hacking on the next generation of Ruby VMs, but I wouldn't call him a script kiddy.

I'm not calling the dude a script kiddie either. I was pointing out the more general pattern of the sentiments Zed has shown in his posts.

Kevin's obviously done a lot of useful work for the Ruby and Rails communities and I respect him on that basis the same way I respect Zed for his open source contributions.

Didn't say he was a script kiddy. I'm glad that there are people who will stick up for him.

I think you are confusing sys admins with network engineers.

Maybe I'm confusing beggars with choosers.

pg called him out? where?

I think he was lamenting the fact that pg didn't call him out.

Why would pg call him out? what does he have to do with zed or rails at all any more then Bhutto's assassination.

There's one thing that just doesn't seem right about this rant, which I think will make his whole argument fall to pieces.

Before he wrote mongrel, it seemed like he had a pretty decent working situation. After he wrote mongrel, he was jobless and nearly homeless for an extended period if time.

That just doesn't sit right with me as being truthful. How can a person, who is otherwise a qualified developer, write one of the most well-known pieces of the Rails infrastructure, but suddenly be jobless? I wrote a shitty weather app and got 3 gig offers within a day. How can you be a household name within the Rails community and not have a job?

By being an arrogant asshole? By demanding outrageous fees? By demanding outrageous control over projects? All three?

I suspect his problem is geography. I haven't lived there, but I can imagine that in NYC when you deal with Rails shops you get to talk to sleazy "MBA types" as opposed to traditional startup hubs like SV and Boston, where you typically have no problems finding cool hackers to work with.

BTW: I don't think he is an arrogant asshole, he's just just brutally honest, NYC-style. And yes, Ruby/Rails folks often smell too much like "get-rich-quick" in their blogs/posts online, so I am not surprised if they are indeed shady in real life.

If you haven't lived in NYC why is the assumption that only sleazy MBA types work there. I am tired of people bashing the startup culture here in NYC, I believe there is a healthy community of startups in NYC anything from etsy, kaltura, tumblr, buglabs, amiestreet, delicious(started in NYC), hakia, viewdle,teachthepeople,clickable, wixi, commandshift3, and more...The concentration might not be like Boston or SF, but I think people forget there are 10 million people in NYC and 2 major universities ( NYU and Columbia) which make for a large number of developers.

By way of disclosure, I make my living off of Ruby on Rails. I'm not a mover or shaker -- not on the core team, and at most, I hang out on the #rubyonrails channels. I never met Zed Shaw, but I have known of him as the creator of Mongrel. The interviews with him about Mongrel were always prefixed by the author that he talks bluntly with a lot of zingers. Guess that meant he was really foul-mouthed.

I have also read through this entire, long rant. I can't say whether he was being truthful about not having a job as a result of Mongrel though I don't doubt it. I do know a lot of the things he ranted about in the Rails community were true, from my perspective.

For example, that weird http://example.com/posts/1;edit was a very strange one. I thought that looked pretty ugly the first time I saw it. When it got finally fixed in the 1.2 and 2.0 series, the release note contained a very strange note. It said that it was "fixed" because some servers like Mongrel could not handle it, suggesting that it was a result of some brokenness on Mongrel's part.

That was very strange to me because I knew Mongrel's HTTP parser was actually generated straight from the RFC. If anything, it is probably the world's most standards-compliant HTTP implementation.

$500 for 5 minutes of work for someone of Zed's quality is pretty cheap, by my book. http://fridayreflections.typepad.com/weblog/2007/12/experien...

The 'Ezra' referenced as the creator of Merb is widely known as the go-to guy to make your Rails deployment scale.

I don't know about the cgi bug. I do know making the cookies-based session key default is really weird. http://news.ycombinator.com/item?id=81932

The stuff about the core team's herd mentality is true from what I've seen hanging out on #rubyonrails for nearly two years. You can also look at the record on the number of rejected patches on the Rails tracker. The general consensus among the folks who try contributing stuff, but not on the core team, is that if they don't use it, it is unlikely to make it in. In a lot of ways, that is similar to the way Linus Torvald's works with Linux kernel devs, with the exception that every Linux core dev has their own repo you can pull off of as an alternative to the "official" Linux kernel.

Finally, the bit about passive-aggressive behavior. That's something I see in any grouping of techies and geeks. I try to avoid it where I can, but it still gets under my skin. My tendency is to confront the issue and then be done with it. The first part of Zed's rant seems full of hate, but the boxing ring strikes me as a good idea.

A good friend of mine once explained to me about the passive-aggressiveness at the local university's lan-gamer's club. Two brothers took official positions in that student club. The older one is passive-aggressive, and the younger one is just aggressive. I perfer hanging out with the younger one. Sure, he can go beserk but at least he's honest about it :-) My friend told me the older brother was a better fit as the club president simply because he knows how use passive-aggressiveness effectively. That in a group like that with a high percentage of passive-aggressive people, these guys will not respond to any social sanctions unless it is in passive-aggressive form. Which is also why I don't really hang out with the gamer's club. Meanwhile, the younger brother is more marginalized when it comes to influencing that group.

All of this makes for a very interesting discussion when put in the context of this http://news.ycombinator.com/item?id=92792

Despite making a living off of Rails, I have not really gone out of my way to network with other Rails dev so I can't really say if the percentage of passive-aggressive devs are greater in the Rails community than without. I can say that I'm not surprised that Zed got marginalized like this, even after writing awesome code like Mongrel.

I have been hearing about Merb for a while on #rubyonrails. After reading this article, I think it is about time to take a serious look at it. I don't want to give up Ruby, but Rails has always been a means to an end.

Zed was right about the http://example.com/posts/1;edit thing. It stunk the first time I saw it. I think that DHH admitted it was a bad idea in his RailsConf keynote, but I'm not sure if I remember correctly.

But the point is that just because it was a bad idea, doesn't mean Koz is categorically a bad developer, or that he's any of the things that Zed called him. I heard him talk at RailsConf, and I have to admit that he sounded kind of like an egotist, but didn't actually know how to code all that well. But do I call him a fat fucker? No. That's taking it a little too far.

I never met Koz or interacted with him in any significant way, so I don't really have an opinion about him.

I've never met Zed. However, from the rant and from reading the interview with Zed about Mongrel a couple years back, I think Zed is being true to himself. To me, that's more important than crossing socially sanctioned lines ... even if it is name-calling.

I also know that I'm in the minority here. I value self-honesty more than appearances of professionalism or maturity. Self-honesty is extremely difficult to accomplish, if you can accomplish it at all. I get the sense that Zed prizes this as well. Won't really know unless I've met him.

> I value self-honesty more than appearances of professionalism or maturity. Self-honesty is extremely difficult to accomplish, if you can accomplish it at all.

Sure, but aren't these things orthogonal? Basic professionalism and maturity need not be excluded because of self-honesty.

They don't necessarily need to be excluded. Sometimes they are. In the Mongrel interview, it seems to me Zed has always been an in-your-face kind of a guy. Like I said though, I won't really know unless I talk with him face to face. Words are OK, but words make it easy to obfuscate any truths about yourself.

He threw a tantrum in this rant, no bones about it. But I'm not going to make a judgment on whether he was justified or not. Zed just is, this is the choice he made, these are his actions, and there will be ripples from his actions. So be it.

Why is this interesting? It's just some guy calling people names, airing personal dirty laundry on his petty little web log, and then complaining about how poor he is ("I wrote Mongrel and then my career was ruined").

I'm sure he's a smart guy, but he manages to make himself look totally unprofessional.

If the main people who control the direction of the framework which you use to make your living were acting in a shady way wouldn't YOU be interested? It's not just "personal dirty laundry" in that what the people he's talking about do, how they work, affects a lot of people.

Also, it's not just "some guy." Zed Shaw wrote Mongrel, which virtually every Ruby on Rails project uses. Without him, Rails development would likely still be a huge pain in the ass.

BTW, you should read his essay on statistics; it provides a good starting point for figuring out how to analyze the performance of your sites.

Yeah, that statistics essay is awesome. My favorite essay of his, though, is how he uses finite state machines to implement protocols. It's pretty badass.

You mean, like every intrusion detection system ever built?

Your point?

Parsing protocols with parser generators is not an original idea, despite the fact that it's one of the top 3 value propositions Zed Shaw has for Mongrel.

"Why is this interesting?"

I think you just answered your own question. ;)

Zed (and his code) is very well-known, intelligent, and important to the Rails community. Whatever you may think of his perspective or how it's been presented, he has some ostensibly valid criticism and it will certainly be interesting to see how people will react to it.

Agreed. I checked out Zed Shaw after reading the article (I did not know anything of him except that he wrote Mongrel) and was very impressed [http://www.workingwithrails.com/person/5455-zed-shaw]. He obviously is a very important, and known member of the Rails (and Ruby) community, and I am anxious to see the response the community has to his throwing in the hat.

I personally have not interacted with the rails community (but have with ruby's) so I don't have an opinion as to whether he makes any good points, but taking him at face value, I have to admit I am a little disappointed.

Again, it will be interesting to see how this turns out...

Did you see at the bottom where he says Dave Thomas' Pickaxe book killed Ruby? I gotta see that.

Sure did... That piqued my curiosity too...

(for the record I use rails) once you sift through his rants some of it is both interesting and disturbing at some points:

"(15:11:12) DHH: before fastthread we had ~400 restarts/day

(15:11:22) DHH: now we have perhaps 10

(15:11:29) Zed S.: oh nice

(15:11:33) Zed S.: and that's still fastcgi right?"

Thank God JRuby is here...

This is perhaps the most interesting part of this entire article.

DHH was referring to individual unix webserver process restarts, not server reboots.

Sure, but either way, it's your app server process going down. Not useful.

No that's not useful, but the information coming out of Zed is also not very useful. We don't even know whether the number 400 was meant to be accurate or rethorical. We don't know whether this was going on for a day, a week or a year. His rant was basically an insider thing and there's no way for anyone to judge anything from the outside, which is why I probably shouldn't even be writing these words about it...

Even if it was over a period of a year that seems like a lot.

It was a stunner for me, I must admit.

Put it in context:


I'm surprised the business even survived that long with that many restarts per day.

forgot to mention this - in defense of 37 Signals and their flagship Rails app... I've been a heavy user of Basecamp/WriteBoard for about 8 months now (we're talkin 6+ hours a day), and I've only experienced an unexpected meltdown once.

what exactly constitutes a meltdown, and are there ever expected ones?

"what exactly constitutes a meltdown"

when all you get is a 503 page

when nothing responds and it has nothing to do with your connection

"and are there ever expected ones?"

well, not expected meltdowns; more like advanced notice for maintenance - probably a deployment of a newer version of the web app

It's interesting to see the "inner-agenda" of Rails community especially for those who aren't involved. For some time many Rails bloggers are defending Rails very hard and often they poke (obsessively) other technologies.

I've always knew these people were defending Rails for consulting money.

I'm grateful for Zed's work on Mongrel, and by all accounts he's a first-rate hacker, but this rant just doesn't hold water. Though the Rails community can certainly be a bit elitist, it's also full of friendly, supportive people, and Zed doesn't produce any convincing evidence that there is a systemic problem. This looks more like an airing of personal grievances, based on a small number of encounters, and blown all out of proportion.

Though the Rails community can certainly be a bit elitist, it's also full of friendly, supportive people


I have gotten help from zed a number of times, as an early adopter of rails and mongrel. He's always been professional, extremely helpful and courteous.

I respect his contribution to rails (I am using at least 18 mongrels as we speak) and I hope the rails community will be better because of this incident.

Would you hire him?

I would. Its like Richard Branson says. You don't want to lead sheep. You want to herd cats.

I think its the job of the founder/leader to figure out how to make a team of superstars work together. We ended up changing direction a few times midway through our startup (which was acquired). If we didn't have a kickass team that could switch strategies like that overnight (we had the prototype of the newer idea ready in 1 day) we would've been dead in the water.

Zed is a talented developer and a committed open source contributor. It seems that some of the negative aspects of the community got to him and he sort of snapped...

But I suppose if you're the kind of cat who keeps IRC logs in anticipation of future sour grapes, then I think you qualify as eccentric.

That's not a bad thing, but the rant is oddly reminiscent of some of Hans Reiser's rants.

Some of us just keep our logs. If you keep the same computer for awhile, and leave the default logging on...

Indeed. With disk space cheap, there's no reason not to log everything on your personal machine(s). I have many years of mail and IM logs, not because I intend to use them against anyone, but just because it's so easy to keep them, and I might need to know something in there one day.

I thought this was more concise as a T-shirt:


My apologies for the product placement.

And I gotta say: during the course of Zed Shaw's extensive business training, did they never have a class called "What Not To Do When You Burn Out, Part I: Cussing Out Your Former Colleagues on the Open Internet?" Because, if not, I think the b-schools owe him his money back.

Sure people would contact me for their tiny little start-ups, but I'd eventually catch on that they just want to use me to implement their ideas. Their ideas were horrendously lame. I swear if someone says they're starting a social network I'm gonna beat them with the heal of my shoe.

I wonder if it had ever occurred to Zed that most software jobs involve getting paid to implement other people's horrendously lame ideas.

I don't want to be a "Ruby guy" anymore, and will probably start getting into more Python, Factor, and Lua in the coming months.

Why is it that I find myself praying this guy doesn't try to get into Haskell, OCaml, Erlang or any of the languages I hope to use?

Someone should tell him to stop taking charm lessons from TDR.

It took me 30 seconds to determine that this guy should be put on the ignore/avoid list.

I have seen his type before. There basic line is, "I am the best, everyone else is either stupid or recognizes how great I am. Are you stupid?"

Even if these types have talent, they fail to accept it in others, and thus they are very difficult to deal with. They can become better once they go through the school of hard knocks. And I thinks that this Zeb guy (was that his name?) is about to get some knocks. Maybe he will learn some humility... maybe not. Eventually he will learn, but it might take him 30 more years of pain.

From his site:

"If you haven't noticed, I'm funny and enjoy having fun. Enjoy my site, tell me if you use my projects. Don't take it too seriously though, it's all an act."

OK at least this guy probably has the ability of self-parity. It's just that I was first turned off by his seeming arrogance. But now that I look more closely, yes he is probably being picked at by the vultures...

Actually I finally took more than 30 seconds and read the whole piece and checked around a little. I am not involved in RoR, so I don't know much about his technical claims, but I think his description of the consulting business and the fate of languages is brilliant.

I have seen this type of group think and dumbing down in the research world for many years now. I suppose it has a similar form in consulting as well. The world is not kind to the truth seeking individual, especially when that individual announces their intentions. The best one can do is to be wise about what battles to fight and to accept that there will always be some waste and fraud.

The irony, if you can call it that, is that only in the Rails community could someone make a name for themselves by writing a web server in Ruby.

If I knew where Zed lived, I would send him a copy of "How to win friends and influence people".

When he gets over his God Complex he will be very successful.

Is written language ever really NSFW? Spoken language and nudity seems a little different to me.

Plenty of things, written or otherwise, are not safe for work. I don't think this is one of them though.

My apologies if I misled some of you. I was a little appalled by the language, and felt it pertinent that most of you were aware of the foul nature of the language used.

I'd say that programmers have been exposed to more foul language in their occupation than porn stars.

Zed seems to be proving his own point quite effectively with his foul-mouthed rant.

What does he mean by Facebook having CIA backing?

Briefly, it's a reference to the fact that Facebook closed a round with Accel Partners, which through its manager, Jim Breyer, et al has pretty close connections to the DoD, DARPA, and the CIA. For example, Breyer was (IIRC) the founding CEO of In-Q-Tel [1], the CIA's venture capital arm founded by Gilman Louie. Indeed, some think that Facebook is also funded by In-Q-Tel. Because In-Q-Tel makes a combination of public and secret investments, it's not the sort of thing that would get covered on TechCrunch.

If one considers the data mining and correlation Facebook obviously has in the works, one might think that the CIA is using the vast amounts of data as a staging ground for techniques being employed in the recently black bagged Total Information Awareness program [2] started by DARPA and initially headed by (I shit you not) John Poindexter [3]. One might even argue that Mark Zuckerberg is so blase about potential acquirers because, indeed, the company will never allow itself to be acquired. One would probably be derided as a conspiracy theorist, however. :)

[1] http://en.wikipedia.org/wiki/In-Q-Tel

[2] http://en.wikipedia.org/wiki/Information_Awareness_Office

[3] http://en.wikipedia.org/wiki/John_Poindexter

It's a conspiracy theory that made the digg/reddit rounds awhile back. Here's Ars Technica's take on it:


The author doesn't find the theory plausible, but does link to a DARPA paper detailing how social networking principles can allow financial transactions to be better tracked.

This guy needs to take a good step back and gain some perspective. He may be entirely right about these people (although he's the only one I've ever heard say that Dave Thomas is anything but a super-nice guy).

Being right is not the same thing as doing the right thing. Right now he looks every bit as ugly as the people he's vilifying. That's a shame.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact