Zed Shaw—Holy Crap
I more or less fell into Web development. Leaving undergrad, I wanted to be a copy writer for an ad agency. Living in Chicago, there were plenty of big names to talk to, but almost no jobs. And those few jobs came with almost no pay.
Around this time my friend Chris was having success working at a dotcom start-up and got me interested. I was never a hard-core tech guy—I studied Sociology and Economics in college. But I studied HTML for a weekend, made a demo site and took an interview. Goodbye advertising, hello interwebs.
I tell you this so you understand: I’m not a brilliant coder. I have no pet language that I’ve learned inside and out, wrote books on, spoken at conferences. I can’t tell you about developing mainframe applications. I will never write my own linux kernel. I know a handful of different Web scripting languages—PHP, ColdFusion, JavaScript—and know my way around CSS and (X)HTML. I know SQL. I’ve poked around in Java. I’ve used frameworks. I used to be handy with Flash and ActionScript.
Having spent the last 3 years in a ColdFusion shop, I began to get nervous about the future of the language. I probably have more professional experience and deep knowledge in ColdFusion than any other (scripting) language, and have worked with people on pretty sophisticated applications. I started feeling that maybe it was a dead-end. ColdFusion gets more badmouthing than probably any other server-side language this side of ASP2.0. It developed an ugly reputation in the dynamic Web’s early days, and unfortunately some of the developers with 9 years experience were doing some of the same code that earned ColdFusion a bad name (spaghetti <table> mark-up, ugly inline SELECT * queries that pulled a thousand rows, etc).
Folks like Ray Camden and Sean Corfield are doing great things with the language, and keeping the community alive. But still, looking down the barrel of a career change, I got nervous.
Enter Ruby on Rails. Yep, you guessed it—everybody’s favorite fanboy framework.
My previous boss became very interested in Rails when the first screencasts came out, but we as a department had too much invested in ColdFusion to up and change horses. And frankly, I avoided RoR for the same reasons I initially avoided Incubus—it seemed like something “the kids” were into. Uber trendy, un-tested, super hyped.
Around Rails’ 1.2.3 release I finally got around to kicking the tires. And frankly, I really liked it.
Having worked with architect/developer types that love to invent their own undocumented frameworks, I found Rails’ strict adherence to convention really comfortable. Again, I’m not one of those guys that has to build something from scratch myself—I want to use the tools that already exist and make something cool or useful. And, I think I finally gave into the hype.
Flash forward 10 months: Zed Shaw, the man who wrote Rails’ major Ruby server Mongrel, unleashes this post on the world. If you’ve made it this far in the post, then you’ll probably go and read his whole entry anyway, but let me summarize in case you don’t:
- Mongrel and Rails destroyed his career
- Rails is profoundly, fundamentally unstable
- We’ve been lied to by the Rails community
- A community which (he believes) is full of jerks
- He’s ready, willing and able to smack the crap out of anyone that wants to confront him about this
Holy Crap. Let me say that again: Holy Crap.
Here’s an excerpt:
Now, DHH (David Heinemeier Hansson—the guy that essentially invented Ruby on Rails) tells me that he’s got 400 restarts a mother f***ing day. That’s 1 restart about ever 4 minutes bitches… If anyone had known Rails was that unstable they would have laughed in his face. Think about it further, this means that the creator of Rails in his flagship products could not keep them running for longer than 4 minutes on average.
Wow.
In a nutshell, the lingering doubts I’ve had about Rails (slow response, server resource usage, occassionally arcane or esoteric deployment techniques that feel a lot like ornate workarounds) may very well be true. It bothered me that, when looking for code or resources online, most of the Rails guys sites were unresponsive or—far too frequently—down. The Ruby On Rails site itself seems to be painfully slow or wholly unresponsive. And now I find myself creeping back to PHP (like this here WordPress site).
Thankfully, the sites I’ve deployed with RoR have caching in place, and essentially amount to a simple static HTML site for Apache to spew out (courtesy of this post).
Also, Zed Shaw… When someone’s riding high, you can take some of his swagger with a grain of salt. When they’re down, it becomes harder to swallow. I gotta believe that his blog is really hurting his career. I’m squeamish enough about saying what I think in this blog, and it’s milk toast in comparison. I don’t know him, but I wish him well.