Hacker News new | comments | show | ask | jobs | submit login
Zed Shaw responds to DHH's Ruby Myths (zedshaw.com)
61 points by raju 3290 days ago | hide | past | web | 58 comments | favorite

"Mom, DHH called me a stupid-head!"

"Did not!"

"Did so!"


Etc., etc.

Honestly, neither of these guys need us feeding their egos. They've contributed some decent infrastructure for web hacking, but if they want to have a he-said/she-said argument, that's their business. I personally don't want to waste any more time on their little ego-fest.

Let's turn this into a thread about Passenger, instead, since both of them seem to be blessing it as the next great thing for Rails deployment. Personally, I've been nervous about using it in production, mainly because I don't yet trust that it isn't going to interact poorly with my rewrite rules and authN/Z setup. Apache configurations can feel a bit like voodoo even when modules aren't stomping all over each other, and the interaction of Passenger with mod_rewrite, in particular, seems like it could cause breakage.

That being said, once you get the thing packaged and installed (which wasn't as easy under Debian as I'd like), it does save a lot of resources compared to a Mongrel-based deployment. I've seen a drastic reduction in RAM usage, as well as a major decrease in the number of idle database connections lying around in inactive Mongrel backends.

Personally, I've been nervous about using it in production, mainly because I don't yet trust that it isn't going to interact poorly with my rewrite rules and authN/Z setup. Apache configurations can feel a bit like voodoo even when modules aren't stomping all over each other, and the interaction of Passenger with mod_rewrite, in particular, seems like it could cause breakage.

I hear it's possible to install it on a spare box and see if it works with your rewrite rules or not. Let's call it "testing".

You've got a good suggestion, but why the snark? Did he need to be put down?

To be fair, his comment was at -2 when I replied. I assumed he was trolling.

To be slightly unfair, your strength of character is defined not by your behaviour to those who can defend themselves, but to those who look like they deserve to be put down...

I'm not attacking you, mind you, just pointing out that it's a better general principle to treat others based on what you believe is civil and acceptable rather than based on whether other people think this particular person deserves it.

As far as I know, the only reason Passenger disables mod_rewrite is because if they didn't the .htaccess file that ships with Rails would cause every request to use CGI instead of Passenger. See here for details: http://www.modrails.com/documentation/Users%20guide.html#con...

We are using Passenger + mod_rewrite where I work with no problems.

We switched to Passenger on SportSpyder.com from a mongrel + mongrelcluster + apache setup about a month ago. The installation was dead simple and it seems to work great. We do have a memory leak some where and see RAM usage go up to the point where we restart passenger once a day but its nothing that's not manageable. This is with about 150,000 page hits a day (including bots).

Also I want to say Zed was very helpful debugging problems when we were using Mongrel in the early days and I appreciate his contributions.

We used Passanger at a place I used to work. We had some quirky mod_rewrite rules, but had no bizarre side-effects.

The only reason I didn't switch to mod_passenger is that I still have nightmares from apache configuration and like the nginx config files....

I did not read DHH's post and think he was suggesting Mongrel was leaking. I see that DHH screwed up and said Mongrel (which they were using in production, just not on Basecamp) when he should have said FCGI. But Zed has taken an entire DHH post, zoomed in on one irrelevant error, and attempted to twist the entire discussion around it.

Let's settle it now:

* Mongrel wasn't leaking.

* DHH clearly appears to have misspoken.

* But DHH also clearly said the leaks were in his application code.

The rest of this post is just more-of-the-same drama from Zed.

This time, instead of bizarro rants about Ruby security, or the play-by-play of the crank calls he gets, we get to hear about how Mongrel destroyed his career and how Rails will destroy the Passenger team. I can't see how this stuff has any relevance to me, as a professional developer, at all. If you can't make time to contribute to open source projects without screwing up your career, don't do it.

True, it could have been an honest mistake. However, like I said in my comment above DHH starts off the post wondering aloud about Zed's state of mind and whether he needs help. Even if the Mongrel thing was a legitimate error the opening paragraph is an obvious cheap shot. Regardless of whether or not Zed just has an axe to grind here that kind of nonsense makes DHH look like a tool and a half if you ask me.

You are missing my point.

Zed just wrote a whole blog post about how DHH's "mythbusting" post was wrong.

As evidence, he cited a factual error in DHH's post that was not relevant to DHH's argument.

Logic seems to show how Zed was wrong. Innuendo and personality drama is all that implied DHH was wrong.

I see what you are saying now, and agree (especially as DHH has issued the correction.)

Zed may very well be paranoid, hyper-aggressive and caustic. However, you can be paranoid and on to something. The subtle forms of aggression that Zed accuses the Rails core of perpetuating are difficult to provide concrete examples for, and it seems as though he has done just in this case.. we will see how it plays out. It impacts me as a developer because this potentially diminishes DHH's credibility in my eyes, and as the Rails BDFL, this has the potential to impact how I approach the platform I use to make a living.

It impacts me as a developer because this potentially diminishes DHH's credibility in my eyes, and as the Rails BDFL, this has the potential to impact how I approach the platform I use to make a living.

Well, all the code is available, right? You should base your decisions on the design and implementation of Rails, not on one of the author's blog. This is a really scary pattern emerging that I've noticed. It seems like people want to base their infrastructure decisions on things that don't matter. "Well, I would use $foo, but the website doesn't look very nice." "$foo seems nice, but the main author can be mean." If this is how you make IT decisions, I pity you.

(A while back, someone posted to my blog a comment that read, "Because you were so mean on CPAN Ratings, I've suggested to my clients that they use PHP instead of Catalyst." That doesn't seem like a very sound way of evaluating infrastructure decisions, especially since I am not the author of Catalyst. If they want to make more work for themselves because they don't like me, all I can do is point and laugh. Clearly I'm mentally ill, though.)

"..all the code is available, right? You should base your decisions on the design and implementation of Rails, not on one of the author's blog."

I can stare at the code all I want and still be no closer to knowing how rails performs under load, or how much memory it leaks. That isn't just about the code, it's about behavioral interactions with the OS, level of traffic, other layers in the stack. To address those issues I could run a million performance evaluation experiments, or I could try to gauge how the community is doing, who's using it that is kinda in the same situation as me, and what issue's they're dealing with. And I refuse to believe you don't do the same.

He's not talking about what words DHH uses in a blog. He's talking about DHH's credibility in saying rails was production-ready. That is relevant to platform choices.

Open-source is largely a trust network. I don't mind if someone is an arrogant SOB, intolerant of n00b questions, or has an ugly website... IF I can trust their word about the code they produce, AND if they are still able to maintain an active community. There are implications about the long-term ecosystem regarding the particular project in question if the leadership falters too frequently or too severely, and the support network (community, business, labor, mindshare, et cetera) around a project is a vital aspect in making IT decisions. If you can't trust upstream providers to be clear and honest with respect to code, the future doesn't look so bright. While the proof is in the pudding, I have neither the time nor the inclination to thoroughly vet every change or release (this gets back to Open Source being a trust network.)

The blog post comment that you refer to seems to reflect a poor thought process. However, mine has a little more reasoning behind it.

It impacts me as a developer because this potentially diminishes DHH's credibility in my eyes, and as the Rails BDFL, this has the potential to impact how I approach the platform I use to make a living.

Don't let it.

Put it this way, I'm definitely no unconditional member of the DHH fan club, but his contributions to the Ruby world are streets ahead of Zed's. Whether you think Zed is great or not, none of that detracts from what DHH has done. DHH is pretty direct and a "good guy" (usually - Rails logo idiocy overlooked). DHH has not, in my experience, tended to be passive aggressive - though there are many in the Ruby and Rails pantheon who are.

I concur with tptacek's opinion above - all of his posts in this thread are on the money. On ZS's part, as interesting and amusing as these cries are, he's crying in a showman-esque way - just sit back and enjoy the show. (Don't believe me? Try: The one thing that pissed me off about the Mongrel project was how it destroyed my career path. -- Destroyed his career path? It was a semi-popular project for a minor language - get a grip.)

My qualifications to make these statements? Not as strong as those for some others, but I've been a Rails coder since 2004 and run the largest Ruby blog so I believe I've seen a lot of what's gone on.

I upmodded your post. DHH is an excellent marketer, and we all make honest mistakes -- I'd have to think long and hard about when I switched from SCGI to FCGI to Mongrel to Phusion myself. Zed is clearly inflammatory, which I think is a great detriment to the validity of some of the points he raises. Now that DHH has posted a clarification, he's maintained his credibility.

I've also gone back and re-read the original Zed rant and when he says "That’s a production application that can’t stay up for more than 4 minutes on average", it is clearly wrong (even according to the very conversation that he posted,) and he should issue the retraction, if he has not already.

If you think either DHH or Zed have a lot of credibility when it comes to subjective issues like "who's respecting who", you haven't carefully studied the record. I direct you to Zed's crazy-talk sum-up of Drew Yao's Ruby security findings:


I believe the phrase you're looking for is: Just because you're paranoid, doesn't mean people aren't out to get you.

Well, I think the interplay is a bit more nuanced than that -- in fact, it is the pattern of subtlety that is particularly at play here.

Aaron, you weren't going to use Rails anyways; you develop on a competing web stack. Stepping into the middle of a DHH vs. Zed Shaw rant is not good evangelism.

[citation needed]

I've been on rails for 3 years now. http://www.workingwithrails.com/person/7008-aaron-blohowiak

I'm looking at your Twitter stream and seeing the Sinatra code, but if I'm mistaken, I apologize.

  * Who cares?

I've noticed a pattern emerging in the Ruby community. Everyone thinks everyone else "needs help". Zed "needs help". Zed's friend "might need help".

The reason I think this is interesting, though, is because this behavior apparently rubs off on Rails users. I know someone who switched from Perl to Ruby (on Rails) a while back. He came back to the Perl community by writing his own super-great web framework. When anyone gives it any technical criticism, he immediately replies with something like "I had a friend like you. I hope you get help and get better." blood pressure rising

In conclusion, everyone that uses Rails is mentally ill :)

Now, that was a cheap shot.

Clearly, jrockway needs help.

And somehow he gets more than 9 votes up (because there must have been negative votes.)

I'm pretty sure that is a joke based on the story I relate in the comment.

But yes, I definitely need help!

My head hurts from laughing so much...


You know what I love the most about Django?

It's as easy to use as Rails, plus has no such toxic people hanging around it.

I was a Rails user for 3 years and I looked at Django seriously before settling on Merb for my current project. I wouldn't say that it's as easy to use or as powerful as Rails, but either way it seems like we should be moving beyond silly arguments like this by now and have started building the next generation of frameworks that take the good pieces from all of the current generation and build upon them.

Yay for Kansas!

That would all change were it to gain in usage.

I get the feeling that Zed is insecure about something.

"Normally I wouldn’t give a shit. Ruby on Rails is so far from my world right now that I don’t even really care. I play guitar and write with maybe some coding to pay the bills and that’s about it."

Man, Zed's too cool for Rails. He plays guitar. He doesn't care what those Rails people think. But let him post this one long rant to "clear something up"...

Aaah we all love a good soap opera :-) But seriously, apart from that Zed/DHH warfare, I do wonder what Zed's experience means for the open source business model. To be honest, I don't believe that Zed is the asshole his tone sometimes suggests and that makes me wonder why he didn't get good jobs as the creator of Mongrel. That's much more interesting than DHH's silly lie.

And Zed is by no means alone. I seem to remember that Guido Van Rossum wasn't paid for his work on Python for many many years, until 2005 actually when he was hired by google. (Of course I don't know whether he actually tried to get paid for python work) During all those years, python was one of the most popular programming languages.

In the commercial space, someone who makes something as popular as Mongrel, let alone Python, does get paid more than enough for one person. Something's very wrong with this business model.

Wow! Zed's story is consistent and potentially damning. I look forward to DHH's reply.

Yeah. The guy usually comes off as an angry lunatic but his posts are still informative. DHH, on the other hand, seems to gloss over details and his posts tend to read more like marketing materials than anything else.

Although this little feud is getting old, I'm also looking forward to DHH's response. It will be interesting to see if his comment about Mongrel was simply an oversight or a cheap shot lie. I think it shows a total lack of class on the part of DHH to publicly speculate on a blog about Zed's mental well-being so I wouldn't be the least bit surprised if it was the latter.

He may have gotten it wrong that they were running FCGI instead of Mongrels, but I never got the feeling he was blaming Mongrel for the ~400 restarts/day.

"But still an inconvenience, naturally. Nobody likes a memory leak. So I was happy when a patch emerged that fixed it and we could stop doing that. I believe the fix appeared some time in 2006. So even when Zed published his implosion at the end of 2007, this was already ancient history."

I assumed the patch he referred to was for Rails, not Mongrel. And why would Zed make such a big deal about this in the first place if it were his own software's fault?

Be more specific about why Zed's post is "damning".

Did you read both Zed's and DHH's posts? Perhaps "damning" is too strong a word in this situation, but at the very least DHH is clearly mistaken. At worst, he is a liar.

Memory leaks in Mongrel that were fixed in 2006 are the at the center of DHH's argument that RoR crashes are ancient history. Yet Zed shows that the application DHH is referring to that previously needed to be restarted 400 times a day wasn't even running on Mongrel.

It could be a slip of the tongue. It's easy to accidentally write mongrel when thinking and writing about "that guy who wrote mongrel."

It is easy and more fun to assume malice, but honest mistakes happen.

My read was that DHH was referring to leaks in the Basecamp code, not leaks in Mongrel. Was I mistaken? If so, my argument --- that Zed picked an irrelevant nit to derail DHH's argument --- pretty much falls apart.

He accuses DHH of lying, and refers to an earlier (AFAIK uncontested) recording of the conversation to demonstrate his point.

Edit: I agree 100% with jm4's elaboration down below.

You're using the word "lying" where "mistaken" would do just as well. To import the Wikipedia rule: (A)ssume (G)ood (F)aith.

That's a good point. Which is why I said that Zed accuses him of lying, and why I said that it is potentially damning, and refrained from making a judgment myself.. and why I look forward to the rebuttal.

Edit: please see http://news.ycombinator.com/item?id=365020

there... in context now.

Anything you ever type or say on the web, will come to bite you in the ass eventually.

I wonder if it's occurred to Zed that his attitude might have had something to do with his difficulty finding a job.

The original DHH post and HN discussion here - http://news.ycombinator.com/item?id=362979

...and that's why I picked Django over Ruby On Rails.

Zed wouldn't let you join his band?

That’s why they constantly pick on little guys like Giles, Obie, and myself

Who's picking on Obie Fernandez?

"To have everyone in your world using your software, but not offering you any jobs greater than a system administrator position is tough."

this kind of refutes the idea that you can make a good living by writing an open source package and selling support for it.

You can make money... if your software requires support/consulting/customization to make it work. If your software "just works", not so much.

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