Home MVC Storefront

Imploding Rails, Jesus DHH, and The Uncle Ben Principle

Update: I've responded to many of the comments below here I love Rails - let me just get that out of the way right now. As many who've read my blog know, I think it's the Dog's Bollucks in terms of a developer's framework. But that seems to be a problem with Rails - the focus is on rapid development only. What happens after that is up to you.

Rails is a Developer's Framework. Built by egomaniacal developers, for developers

Did I mention that I love Rails? A lot of people have suggested that if I love Rails so much, I should just become a Rails developer:

Dude if you love Rails so much, why don't you just marry it?

Good idea. The problem is that I'd like to actually STAY MARRIED and not get a divorce as soon as my server CPU pegs and my client fires me because my app won't scale. In addition the project seems to have been hijacked by a foul-mouthed prissy Dane who has a Jesus Complex. Seriously - how far can I go with this kind of inattention to things that are really, really important?

Dude, Killer Set of Unit Tests. Can I See Under the Hood?
A developer's platform is awesome in theory - the problem is that it's "too vertical" - in other words it's too specialized for one purpose. There are reasons why people don't drive around cars that were "built by mechanics, for mechanics" (we'd all end up driving around 1968 Capris) and houses that were "built by plumbers, for plumbers" (but can you imagine the dishwasher)! When I first tried Rails I remember the feeling of freedom and longing for something new. It was almost pubescent. I wanted to throw all things ASP.NET out the window, grab my Mac, and become radical like Morpheus. My wife liked the leather idea, but when I shaved my head she put a stop to the whole thing. This is what the owner of CD Baby (Derek Sivers) said about Rails when he first messed with it just two years ago:

Like a lost soul walkin’ the earth, lookin’ for spirituality, that stumbles upon the right church with the right people at the right time, I’ve found my niche with Ruby. Its little itty-bitty community attracts some brilliant “think different” types with a love for beautiful code that do this for love, not money.

He then committed to rebuilding all of CD Baby using Rails:

Since all existing code is built around some real fundamental flaws, a total rewrite is not just a necessity but very exciting. <snip> Rails expert Jeremy Kemper is doing the most work, up-front, and Tobias Luetke is on board to help too. We'll be contributing all changes back to the Rails code repository.

I gotta tell ya, after reading this I was looking for any reason I could find to jump the fence like Mike Gunderloy and become a Rails programmer. This lasted for 15 minutes until I looked across the room at my family and realized they couldn't live off beer and Cheeze Whiz as easily as me. But I must admit, I was hooked...

DHH - You Got My Back With This Stuff?
The Rails dudes are pretty damn smart. But they're also pretty damn arrogant. As DHH says:

I'm not in this world to create Rails for you. I'm in this world to create Rails for me and if you happen to like that version of Rails that I'm creating for me, than you are going to have a great time.

One of the more shocking presentations I've ever seen involves DHH telling his audience who he's writing Rails for, and why he doesn't really listen to the community when they suggest where he should take it: dhh_fu Maybe it's a language thing - those Euro guys can swear a lot. Maybe "Fuck You" means something different in Copenhagen? I'm sure that Biz Stone has an idea as to what it means (and I'm sure he's said it a few times, aimed at Denmark) - he's got a business built on top of Mr. Potty Mouth's software...

Channeling Biz
Biz, if you're Google Alert or Technorati ping sent you here - I'd love a comment... For the rest of you, Imagine you're Biz Stone, sitting on top of the Viral Masterpiece that is Twitter. An amazing little application that does so little, but make people pretty damn happy. As we all know, Twitter is having problems - Alex Payne, one of the Twitter Developers, discusses this at length (emphasis mine):

Twitter is the biggest Rails site on the net right now. Running on Rails has forced us to deal with scaling issues - issues that any growing site eventually contends with - far sooner than I think we would on another framework.The common wisdom in the Rails community .. is .. just throw more CPUs at it. The problem is that more instances of Rails ... means more requests to your database. At this point in time there’s no facility in Rails to talk to more than one database at a time. <snip> All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise. Once you hit a certain threshold of traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both.It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow. ... Ruby is slow

Ouch. Looks like Twitter is Riding Rails right off a cliff. I'll tell ya what, If I'm a savvy Web 2.0-funding VC, one of my first questions is going to be something along the lines of "So when are you guys going to get this app off Rails"? I just left Twitter today. It's annoying. That damn bird and cat screwing off in "ur serverz" is really, really annoying. To tell you the truth, I can't believe Twitter is even talking about funding right now - I'll guess one of the conditions of said funding is a move to a new platform. Hmmm.

How Does Campfire Do It?
I just watched a pretty informative interview with DHH at RailsConf in Canada. The interviewer asked some very pointed questions, and one of them is about Campfire, and how they scaled it. DHH was pretty candid (is he ever not? Emphasis mine):

...we started to do stress testing, we started running performance benchmarks and we realized that the initial setup we had was just not fast enough. Step one was adding caching in Rails. We were generating a lot of JavaScript dynamically, so we started caching that JavaScript, shoving it in into a database and then serving it out. That made a huge jump and we actually launched on that...in our case we (eventually) did feel the need to make something faster, so we looked at the Campfire application. Where was the bottleneck? Where were we having issues or issues that were going too slow? We found that bottleneck and that bottleneck was a hundred lines of Ruby code. <snip> So we chose to rewrite those hundred lines of Ruby code, to see what it would take to write it in the fastest language we can rewrite it in; we didn't rewrite it in assember, but we rewrote it in C, a fantastic language for rewriting performance bottlenecks.

Yah I rewrite a lot of stuff in C when I can't get my app to scale properly... it's so ... cushy. So your choice, when you come down to it, is to "throw more CPUs at it" or "rewrite it in C". There you have it. I wish the answer was something else but I'm guessing that if DHH were here he'd tell me to Fuck Off. In fact I'm sure of that.

What DHH Should Be Saying
The thing that I'm amazed about, as I watch these videos and statements come out of the Rails Core Team, is that they don't really care about YOUR deployment issues. In the same interview, DHH responded to the scaling question with this:

The hardest part of computer science to ever make general statements about, is performance. I think that there's nobody who can really answer your performance questions, except for you, in your particular situation, under your particular constraint, on that exact setup that you're going to use. Tons of people will claim that they can answer your scaling or performance needs and they will try to sell you a software to do that, and I think they are lying

So he's basically telling you that no one can tell you what to do but you. And if you do then you're lying to yourself. So tough shit. What he should have said:

The Core Team is committed to helping build a CGI application that will run on any server, and run in a threaded environment to maximize multi-processor servers so that the cost of running Rails can be minimized. I'm still all about me in this whole Rails thing, but now that people are using our stuff (and their businesses are depending on it), I'm beginning to see that I have some responsibility here. I can't keep telling people to fuck off. We listen to our community.

If you think I'm being a bit hard on the poor guy, you might want to take a look at his blog. He has a charming entry in April entitled "You're not on a fucking plane (and if you are, it doesn't matter)!" (there's that Potty Mouth thing again) in which he decides that offline web apps are "bizzare" and "puzzling". You see I've bought in to the whole Rails thing. So much so that I thought the ASP community would benefit from a port. I still believe that, but I'm hoping someone will send a big Hawaiian Moke after me to "Wop my jaw" if I ever act like a Potty Mouth Dane. I can't even imagine addressing my users this way. I'd really love to see this platform grow away from what makes Mr. Happy feel good.

"Ice Ahead!!" - or Why I'm NOT Picking On Rails
Some people might be thinking that I'm not being fair to a platform that I love. The truth is that I'm kind of pissed off as I watch Mr. Potty Mouth take a ground-breaking platform and "Rick James" it into narcissistic mess on the floor. This could be the thing that pricks The Bubble. Consider that Rails is the Love Child of Web 2.0 and Disillusioned Web 1.0 Developers, whole shops and corporate departments are adopting Rails as a way to push their applications into production more rapidly - what happens when they try to scale these apps and get "Twitter'd"? People get fired and turn sour as years of their lives are wasted by a platform helmed by Prince Potty Mouth. The owner of the Jazz Music site CD Baby (Derek Sivers) had this to say about Ruby just two years ago:

Like a lost soul walkin’ the earth, lookin’ for spirituality, that stumbles upon the right church with the right people at the right time, I’ve found my niche with Ruby. Its little itty-bitty community attracts some brilliant “think different” types with a love for beautiful code that do this for love, not money.

Fast-forward two years (what you and I call today):

Two years later, after various setbacks, we were less than halfway done. The entire music distribution world had changed, and we were still working on the same goddamn rewrite. I said fuckit, and we abandoned the Rails rewrite. I didn’t abandon the rewrite IDEA, though. I just asked myself one important question: “Is there anything Rails can do, that PHP CAN’T do?” The answer is no. I threw away 2 years of Rails code, and opened a new empty Subversion respository. Then in a mere TWO MONTHS, by myself, not even telling anyone I was doing this, using nothing but vi, and no frameworks, I rewrote CD Baby from scratch in PHP. Done! Launched! And it works amazingly well.

This guy was lucky. He's the boss. I reiterate: The Rails Team needs to accept that they are now a VENDOR, not radical mavericks.

Oh Look! Successful Are We?
Which brings me to my closing point: It's easy to be the punk upstart. It's harder to be successful. That's what this is all about isn't it? The Rails guys are really, really successful because they created a Bitchen Platform. Unfortunately it seems like they're not going to be responsible for it. Microsoft gets this part right (most of the time) - they understand (mostly) the weight of doing good stuff, and it comes down to the Uncle Ben Principle:

With great power comes great responsibility

People love to bitch about patents, legalese, lawyers, copyright, etc. but when it comes down to it - when you make something, just like a child, you have to go to great lengths to foster it, protect it, and grow it properly. I won't claim that Microsoft is the Poster Child here, but look at what's coming soon: the MVC Framework, the .NET Source available for debugging, Open Source big noses brought in to work the ASP platform, giving the codecs to the Moonlight project... they are getting it, and they are listening. The last thing you do is to tell it to Fuck Off.

Don Worthley avatar
Don Worthley says:
Thursday, October 11, 2007
Great summary of some of the downside to Rails for those of us who have never really left the wonderful world of .NET to check it out. On another note, do you ever sleep? I would be fascinated to know what your daily schedule is like. You post like crazy on your blog, respond to a bazillion issues in the forums, travel around the US to help make sure your friends actually follow through with their wedding, spend time with your wife and daughter and on top of all that have time to check out new platforms like Django. I'm impressed.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
The whole Boston thing was a joke I'm afraid to say - just a little fun at Eric's expense ;). He's all too happy to be getting married and his wife (whom I've never met) I'm sure is a peach. I'd work a bit more if I wasn't powerlevelling my mage so I can get keyed for Kara...

Shawn Oster avatar
Shawn Oster says:
Thursday, October 11, 2007
I read that same Derek Sivers post recently and chuckled while feeling a little bit of the pain that he went through. I know that feeling of being over the moon about a certain technology or framework and then attempting to cram every new project into it, often struggling against obvious defects because "it'll pay off in the long run." On a side note I'm often irked by those that moved from .NET over to Rails and hail it like the slicing of bread, especially when I see a lot of what they're raving about are things that aren't Rails specific or would actually be horrible in real-world situations. There is one blog, Softies on Rails, that runs hot and cold, sometimes they point out really good things while a lot of the times I feel they are excited about Rails simply because it's something new and different and probably what they were doing before was soul-crushing no matter what language it was done in. In a funny twist I'm actually porting a Rails app, the amazing and wonderful Radiant CMS, over to .NET, pretty much mind-melding it with the SubSonic Starter Kit. I love Radiant but trying to make it performent on a shared host is just a pain in the arse. You have to do all these contortions to make sure fdispatch doesn't go all Koi fish in a pond. Lastly, it must be said this really shouldn't be a reason for .NET devs to gloat either, there is plenty about .NET that needs work and other things that are just maddening, the truth is there is no perfect language or framework or methodology, hence why it's so fun to learn new ones.

scott avatar
scott says:
Thursday, October 11, 2007
Prissy Danes aside ... Reg Braithwaite made a really good point about Silvers article. "Note, with horror, that a Rails expert took two years to fail what Derek accomplished in just two months. Well, if Jeremy couldn’t do it, obviously Rails is seriously broken, a complete toy. But this is like a sleight-of-hand trick. The paragraphs tell two stories, and we are so focused on one, “Two years for Rails, two months for PHP,” that we ignore the prestidigitator’s other story: Two years for Jeremy, two months for Derek." http://weblog.raganwald.com/2007/09/ockhams-razor-as-it-applies-to-big.html The Twitter scaling problems were pretty well debunked as not having much to do with Ruby Rails themselves as they did with the hardware and database setup at Twitter. I think their current sad state of affairs has more to do with the "constant innovation" culture set up around agile and some developers with itchy trigger fingers using Capistrano to deploy changes that only pass the unit tests. There's a LOT more to testing a real, big-boy/girl app than *just* unit tests. Look at it this way: What would your reaction be if suddenly Microsoft adopted SubSonic and used it on MS.com and MSN.com for ALL of their database layers? They didn't want to hire you to maintain it full time. They just wanted you to update it to meet their needs. And suddenly you had 5000 patch submissions flying at you from developers of varying skill levels. Wouldn't you, on some level, just say "Fuck You. I'll get to it when I can get to it?" :)

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@scott - good points. I agree that there is more to Twitter than Rails, but DHH admitted himself he had to rewrite a portion of Campfire in C. Now I know it's only "100 lines", but if that's your only recourse, I think there's an issue. Believe it or not I get a lot of patch submissions, and each time i get one I'm extremely grateful. I can't imagine ever telling anyone to "Fuck off". I might say "I have a different vision", but to respond like a 14 yr old? Your points about Reg's post are good - thanks for that.

Pat Maddox avatar
Pat Maddox says:
Thursday, October 11, 2007
Fantastic piece of flame bait. 1. David didn't say "fuck you" to the Rails community. In his presentation, he says "a lot of people Rails isn't ready for the enterprise. Well, I say..." *click* Basically, the idea he was getting across is that Rails has a special philosophy and community, and we're not going to ruin it making it "enterprise-ready," when the enterprise is the source of so much pain that caused him to create Rails in the first place. 2. He's often quoted as saying that he doesn't write Rails for anyone other than himself. However he's not the only committer, and all the work that goes into it is easily reviewable through Trac. You can take a look at every ticket and every single Rails commit and see just how much gets contributed by and for the community. 3. I think his reaction to Twitter was perhaps a bit cold, but there was certainly nothing wrong with it. Twitter's problems are their own, it's not his job to solve them. Of course, it took all of two days for someone to solve it for them 4. In the interview where he discusses Campfire's perf issues, he says the C portion amounted to like 150 lines of code. Don't make it sound like he suggested rewriting the whole app in C. He just acknowledges that some parts of Rails are slow, and to get around that you can use faster Ruby code or dip into C if you have to. 5. The CD Baby thing has been well covered. http://weblog.raganwald.com/2007/09/ockhams-razor-as-it-applies-to-big.html http://gilesbowkett.blogspot.com/2007/09/derek-sivers-switching-back-to-php-isnt.html http://www.pervasivecode.com/blog/2007/09/23/immature-developer-attitudes-revealed-in-flames-regarding-cdbaby/ There's another REALLY great article that I read a couple days ago that I can't find right now. You just took a bunch of things out of context and pieced them together to make Rails sound bad. There might be an ounce of accuracy somewhere to be found in this blog post, but there's certainly nothing of substance. Of course, I worship at the altar of DHH, so who am I to talk.

Mike Cantelon avatar
Mike Cantelon says:
Thursday, October 11, 2007
That was a pretty cliched rehash of Rails bashing and reminds me of a lot of blog posts I read months ago (triggered by DHH's ever-so-controversial use of the word "fuck"). Bashing a developer because of the language he uses rather than his community contribution seems weak. Sure, DHH is arrogant. He's also, evidently, smart as hell and a hard worker. How does your own community contribution compare to DHH's? Also, the Twitter problems you are citing are old news, which you disingenuously neglect to mention. Note that I'm not a Rails developer, so my commentary doesn't come from the realm of fanboyism but rather respect for those who do the work in the open source movement.

Dean avatar
Dean says:
Thursday, October 11, 2007
Guess what? Alan Kay doesn't really listen to the Squeak community much either... but sometimes smart people know what is better for the "community" than vocal bloggers. Personally, DHH's philosophy of a small & opinionated framework is what keeps Rails from becoming J2EE. If you try to listen to the community all the time, you'll end up with enterprise software. Guess what killed Netscape? Listen to jwz.

Thomas David Baker avatar
Thomas David Baker says:
Thursday, October 11, 2007
"Fuck you" is just words. Frankly I find the expression "potty-mouth" more offensive. What an ugly phrase that expresses such hidebound emotions! You're probably right that this is a transatlantic-divide thing. You take our swearing and our date format and we'll take your spellings and your floor-naming conventions. Deal?

Xavier Noria avatar
Xavier Noria says:
Thursday, October 11, 2007
Just a brief comment to say I don't think the analogies with cars and houses (made by mechanics, plumbers) are valid. The end user of a car is not a mechanic in general, but the end user of a web framework is a web developer. Developers designing web frameworks is fine in my opinion, they are competent in the problem the framework solves and understand what the end user needs. Now, programmers designing web sites is a different thing, there we have mechanics designing cars. They may or may not have the skills.

Mike H avatar
Mike H says:
Thursday, October 11, 2007
"So your choice, when you come down to it, is to “throw more CPUs at it” or “rewrite it in C”." No. He's not saying rewrite the whole app in C. He's saying rewrite the 1% of your app that's the performance bottleneck in C. I'd rather write 1% in C than 100% in Java.

mikkel avatar
mikkel says:
Thursday, October 11, 2007
fuck you means fuck you i denmark :)

Dave avatar
Dave says:
Thursday, October 11, 2007
From your posting: "The Rails Team needs to accept that they are now a VENDOR, not radical mavericks." I don't see them as a "vendor". The Rails Team has made software their own way. The rest of us can decide whether it meets our requirements. Based on your posting, I think you are concluding that Rails is not what you want, no matter how much you admire some aspects of it.

DotNetKicks.com avatar
DotNetKicks.com says:
Thursday, October 11, 2007
Imploding Rails, Jesus DHH, and The Uncle Ben Principle... You've been kicked (a good thing) - Trackback from DotNetKicks.com...

Stuart Allen avatar
Stuart Allen says:
Thursday, October 11, 2007
thanks for some insight into the Rails community. I tried it out when it first came out, slow as shite. Had to do this FastCGI crap to get it to be performant, not worth my time. In the end, choose the tool that gets what you need done, done. My sites are now ASP.Net Subsonic extjs. I am kicking ass with this combo now.

Steve avatar
Steve says:
Thursday, October 11, 2007
Rob, I have to agree with your view pretty much straight down the line. There's a certain amount of decorum that is due the people who make the (Rails/RoR) team visible and afford it a community, versus leaving in complete obscurity to stoke its collective egos. It's also amazing how many people will post a reply that lets them use expletives in lieu of suitable vocabulary. Moving on, I watched the MVC video on the link you posted (thank you) it's going to make the .Net platform even more incredible than it is now. If SubSonic in the MVC model is half as good as it is now, it will be positively stellar. One last parting observation, if a team of developers thinks that the users of its works are imbeciles or not worthy of respect, then what does that say of work chosen by said imbeciles? I hope that software I develop is selected by intelligent people whose opinions and suggestions would help me to make that software even better -- by listening! Keep up the great work... --Steve

Rob Di Marco avatar
Rob Di Marco says:
Thursday, October 11, 2007
Great post. Your concerns are part of the reason I am so excited about the potential of JRuby. By running your rails app on top of JRuby, you can leverage rails as your development platform, but have access to libraries like JDBC and JNDI if you need to handle some of the more complex problems. For example, using ActiveRecord-jdbc (http://www.headius.com/jrubywiki/index.php/Running_Rails_with_ActiveRecord-JDBC) and clustered JDBC (http://c-jdbc.objectweb.org/), you can do distributed reads across a DB cluster without having to change any of your code. I don't know anyone of significance using JRuby on Rails on anything of scale yet, but it will be coming soon and has a lot of potential to help rails apps grow to the next stage.

Jamie Lawrence avatar
Jamie Lawrence says:
Thursday, October 11, 2007
Perhaps you should read this essay by Stephen Pinker to better understand the use of swear words (caution! it use swear words ;-): http://www.tnr.com/docprint.mhtml?i=20071008&s=pinker100807 Personally, I don't care about the personalities behind my programming languages/frameworks, just like I don't care what my favourite music artists get up to... as long as the music stays good.

Rob Bazinet avatar
Rob Bazinet says:
Thursday, October 11, 2007
Rob, Wow. I was pretty surprised when I read this post, I thought you got it. I thought your support of Rails and the direction you have been taking SubSonic with Migrations for one, seemed to indicate you understood where the Rails community and the non-MS in general is coming from. This post makes me think twice and now three time about it. The Twitter scaling issue, regardless if it was the fault of Rails or not, is in the extreme case and will not be an issue for 99.9% of developers. Twitter has a huge user base and the number of transactions they put through their system is very large indeed. The percentage of Rails developers creating apps very quickly for their local church, local mom & pop shop are the people benefiting from Rails the most. The people who don't get it is Microsoft. Sure, they are trying to jump on the Rails bandwagon with an MVC framework of their own, surprise surprise. I guess they figured out Webforms suck and they had better do something about it. One thing the Rails community can rest assured is MS will screw this one up too. I will amazed if they produce the tools that DHH did to help developers create applications fast, it will be in typical MS style to add such a layer of cluster-f'ness to the implementation that it will take twice as long to create a web app using .NET as it does today. Listen carefullly....MS does NOT get it. They have not got it in a long time and there is not reason to believe they will. Yes, I am a .NET developer and wish I wasn't. I do Rails on projects but until I am a better Rails developer I have to use what I know for my clients. I can see a day where I can toss VS forever. -Rob

RJD avatar
RJD says:
Thursday, October 11, 2007
This is why I love your blog, and SubSonic, too.

Matt Revelle avatar
Matt Revelle says:
Thursday, October 11, 2007
"DHH admitted himself he had to rewrite a portion of Campfire in C. Now I know it’s only “100 lines”, but if that’s your only recourse, I think there’s an issue." That's not a Rails issue, it's a Ruby issue. Ruby code can be slow, that's why much of the core library is written in C. That's the typical design for dynamic language implementations, the interpreter or VM, along with some frequently used functionality are all written in C. Third-party modules that contain heavy processing are usually contain C code as well. To many, having to rewrite a function or two in C is a fine trade-off. Think of it this way, the developer gets to choose when the optimization provided by static typing is important enough to forsake the benefits of a higher-level language.

Matt Blodgett avatar
Matt Blodgett says:
Thursday, October 11, 2007
Thanks for the excellent post, Rob. You've seriously brightened my day. I've been feeling some "framework envy" for the last few months, and you've helped to bring me back down to earth. I'm super excited about the official MVC framework Microsoft is working on, and I'm really hoping it won't be a dud.

ryan avatar
ryan says:
Thursday, October 11, 2007
You might be right that Rails will fade if things don't change. But you might also be wrong. It doesn't matter though because DHH could not care even slightly less if that happens. He's still going to use it to write his apps... He's still going to develop it for himself... You mentioned that it's obvious he doesn't care about the community - so why would he care if the community up and left? He wouldn't. That's the beauty of DHH's attitude. He's arrogant and condescending, and he's entitled, and if you don't think so then you can leave and he wont complain. Well written article though, I enjoyed reading it. We (and everyone else too!) can agree to disagree happily :)

Dietrich avatar
Dietrich says:
Thursday, October 11, 2007
Supposedly a young Igor Stravinsky had a fellow friend and composer who was offered a job at Harvard. The composer asked him if he should take the job and Stravinsky said (paraphrasing here..) "No, because you'll end up just writing for your colleagues." And in an academic environment that means about 5 people. Igor Stravinsky went on to be Igor Stravinsky and the other guy is unknown. The moral of the story is writing for a wide audience stretches and challenges your abilities and creates intuitive music with depth. I believe great programmers are artists and generosity is a hallmark of great artistry.

.Avery Blog avatar
.Avery Blog says:
Thursday, October 11, 2007
Rob Conery is right about Rails, but that doesn't change anything... Rob Conery is right about Rails, but that doesn't change anything...

James Avery avatar
James Avery says:
Thursday, October 11, 2007
I think you are right on most of your points, but .NET has its problems too. No technology is perfect. I blogged about it over here: http://www.dotavery.com/blog/archive/2007/10/11/149428.aspx

Michael Cullina avatar
Michael Cullina says:
Thursday, October 11, 2007
Dear Rob, Great post. The cultural divide, as demonstrated in the comments, is fascinating. I'm with you on treating people respectfully and acting like an adult, but I certainly also agree with the thoughts of commenters like Dean: "...DHH’s philosophy of a small & opinionated framework is what keeps Rails from becoming J2EE" and Ryan: "he doesn’t care about the community - so why would he care if the community up and left? He wouldn’t. That’s the beauty of DHH’s attitude. He’s arrogant and condescending, and he’s entitled, and if you don’t think so then you can leave and he wont complain." That's the essence of DHH and I think that it's worthy of respect in its own way. Talk about "separation of concerns". However, I also agree with your suggestion that a growing community can engender at least the opportunity if not the obligation to provide leadership, succor, and guidance. What I don't respect is overstatement like: "The people who don’t get it is Microsoft. Sure, they are trying to jump on the Rails bandwagon with an MVC framework of their own, surprise surprise. I guess they figured out Webforms suck and they had better do something about it. One thing the Rails community can rest assured is MS will screw this one up too. I will amazed if they produce the tools that DHH did to help developers create applications fast, it will be in typical MS style to add such a layer of cluster-f’ness to the implementation that it will take twice as long to create a web app using .NET as it does today. Listen carefullly….MS does NOT get it. They have not got it in a long time and there is not reason to believe they will" Of course this is NOT TRUE. RoR has plenty of issues. I have customers running RoR apps on shared hosting boxes of mine and all I can say is that RoR is not contributing to lowering our global energy footprint - given the way these apps use system resources. Of course, .NET has plenty of issues too. Both platforms have struggles and challenges. The idea that the .NET part of MS "doesn't get it" is very reality impaired as you and most of your readers well know. They have struggles with moving the big boat and keeping the legacy factors handled, but they also show lots of clue and lots of evidence of specific action in very positive directions. When Rob Bazinet says "Listen carefullly….MS does NOT get it" does he mean that Anders Hjelsberg doesn't get it? Does he mean that Jim Hugunin doesn't get it? Most of all, is he disrespecting ScottGu? Well, I won't abide that. ScottGu is just an amazing guy. He's the one who deserves a cult following, but he's not an egomaniac and he would actively reject such an idea. He's just a guy who "builds a few products for Microsoft". So, in summary, I propose a continuum of virtuous leadership styles in software development. On one end is DHH, keeping it pure. On the other end is ScottGu, trying to do the right thing. I think some people will be more naturally attracted to one end of this continuum and some will be more attracted to the other. I personally would rather drink a few Red Hook ESBs with ScottGu than a few Carlsbergs with DHH.

cmv avatar
cmv says:
Thursday, October 11, 2007
I've been working with asp.net since 2002 and started working with RoR after SXSW 2005. Let me say I never truly understood HTTP until I started working with rails. And from the interviewing we've done over the past two years, I wasn't the only one. Asp.net hides the web from web developers, it obscures it with it's terrible designer and bloated server-side controls. this I believe, is because asp.net was built as a framework for a framework sake. it was built to sell msdn subscriptions, IIS licensing and keep SQL Server in corporate america. it's clear to me that the creators of asp.net did not understand the web (one form per page, INamingContainer, System.Web.UI.WebControls.Label that renders as a span tag, lack of support for useful HTML elements...optgroup anyone, no support for all HTTP Methods, ViewState, rendering ViewState at the top of the page, etc...). Frameworks should be derived from real world experiences (applications). Asp.net is moving in the right direction with MVC, but moving asp.net developers to a framework that doesn't handle a button click event and force them to learn the difference between GET, POST and PUT will be a big challenge. but hopefully a challenge that asp.net developers are willing to conquer, because the web will be a better place without webforms. I mean, one form per page...WTF? I hope the person that made that decision is not working on the new MVC framework.

jon philpott avatar
jon philpott says:
Thursday, October 11, 2007
please dont use the word bollocks unless you know how to spell it ;)

BusinessRx Reading List avatar
BusinessRx Reading List says:
Thursday, October 11, 2007
Rob Conery is right about Rails, but that doesn't change anything... This morning I read a post from Rob Conery about Ruby on Rails and I think that while many of his points...

josh avatar
josh says:
Thursday, October 11, 2007
Thanks for exploding my rails dreams, Rob. j/k. I'm with you; I have a family to feed. I could read all the comments, but I'm not sure everyone read the whole post. I have a big rails crush, and it's grown my understanding of MVC, REST, and ActiveRecord. I feel I'm becoming a better developer as I explore things like Rails. Rails is fun to work with, but I have this recurring reality. I often end up pushing boundaries of technologies that few or no one else seems to run into. With rails, it seems like that would just happen sooner and more often. (BTW, in .Net you can't unload a single assembly from an AppDomain.. you have to unload the whole appDomain. Which is bad if you want a pluggable app with 100% up time, but there is a way around that limitation.) I also play with linux a lot, and like Rails, there are just some very opinionated members of the community. I accept that and move on. I'll still look for good ideas I can use to improve what I do.

Alec Whittington avatar
Alec Whittington says:
Thursday, October 11, 2007
Rob, These are the concerns I had about rails when I mentioned it to you at Mix07. I am still planning on learning Ruby and using rails for some small jobs. I think you hit the nail on the head with these guys, if they don't care if anyone uses it, then no one should use it. On a side note, I will be out your way for Thanksgiving, we should meet up for dinner. I will be visiting my brother who just got home from Iraq. Ping me about the meet up.

Member Blogs avatar
Member Blogs says:
Thursday, October 11, 2007
Rob Conery is right about Rails, but that doesn't change anything... This morning I read a post from Rob Conery about Ruby on Rails and I think that while many of his points...

Alec Whittington avatar
Alec Whittington says:
Thursday, October 11, 2007
A refreshing take on RoR... Rob Conery made a very interesting post on Ruby on Rails today. I stand with everything he is saying...

Mr T Roll avatar
Mr T Roll says:
Thursday, October 11, 2007
You want some cheese with all that whine?

james hu avatar
james hu says:
Thursday, October 11, 2007
This article is pure flamebait or maybe diggbait. Rails is a fairly new open source framework. If you want to be assured that your app will deploy effortlessly then use an expensive, supported, "enterprise" platform of some kind. PHP was a fairly lousy framework for a long time (arguably, at least until php5). It took a long time before deployment issues got sorted out and performance was optimized. Similarly, asp 1.0 and 2.0 were both fairly poor, and it wasn't until asp.net that the framework began to mature. Rails is an open source framework that is attacking issues in a unique and innovative way (REST, ORM, metaprogramming) and there are some very clever ways to use it to solve a lot of problems. If you aren't smart enough to know what tool is right for the job you're doing, then you shouldn't be trusted with that decision. The Twitter DB scaling issue was solved in less than 100 lines of code in about 2 days, by the way.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@Thomas - "Potty Mouth" is worse then Fuck You? Interesting... @Pat, @Dave, @James: Flamebait and "Rails Bashing" aside - I wrote this because I'm not seeing attention being paid to a glaring issue the Rails team has: PERF. Now I realize that a lot of it has to do with Ruby, but at the same time there are lots of ways to improve on the job Rubyw.exe does. If it were my show, I'd be looking heavily at that. Rails isnt' that new - we're at version 2.0 now. Finally - to those who think i'm bashing Rails cause it's fashionable - meh. Easy response to a thoughtful post. Put me in a bucket and label me what you will, but as I started the post I purposely used the positive: "I LOVE RAILS". What I don't love is the inattention by an ego-maniac who tells me to fuck off. And don't tell me that writing a portion of my app in C is reasonable.

Steven R avatar
Steven R says:
Thursday, October 11, 2007
Did this post pass the FUDCop? http://blog.wekeroad.com/2007/10/09/unleashing-elmer-fudd/

Ayende @ Rahien avatar
Ayende @ Rahien says:
Thursday, October 11, 2007
On Rails, Ruby and the CLR... On Rails, Ruby and the CLR...

Jeff Atwood avatar
Jeff Atwood says:
Thursday, October 11, 2007
You know what else doesn't f**king scale? GRAVATAR. Can you please, for the love of God, set the width/height of the images so the page doesn't creep.. slowly.. down as I'm trying to type in this textbox? Jesus, people. Forget all the high-falutin' language talk for a minute and fix your goddamn HTML 4.01.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@Steven: LOL I wondered if someone would say that. See the thing is, every opinion expressed is backed up by research - not just a CAPS statement like "listen closely: Microsoft DOESN'T GET IT". @Pat: The quotes make their own context don't they? How should I take them? Do you think I was trying to make Rails "sound bad" by saying I loved it, twice? Did you read the article, or are you just a Fanboy twitching when someone challenges your thinking?

Reg Braithwaite avatar
Reg Braithwaite says:
Thursday, October 11, 2007
I'm getting a lot of traffic from a comment on this post. Thanks for the link love, especially since my middle name is "Scott" :-) That being said, I think this post sums up my exact feelings about what I've read here: http://weblog.raganwald.com/2007/09/java-is-right-answer-to-wrong-question.html Now: What are the right questions to ask?

SPP avatar
SPP says:
Thursday, October 11, 2007
I think you have some valid points about DHH having a Jesus Complex and Rails Core needing to listen to it's audience. However, not all the problems you cited were caused due to Rails as a framework or a community. I hate to say it but the issue with CDBaby probably had much more to do with working from scratch at a critical time or having the correct mentality of just "getting it done and out there". I also think it is humorous that you suggest Django is much more scalable than Rails. Not to mention ASP (which requires a Windows server, surely?). The thing to remember about "scaling" is that it isn't just the application framework that needs to be tuned. 18 out of 20 of the areas that need tuning are at a lower level or parallel to the application software stack and all application developers and architects face the same issues. I think far and away the biggest "Twitter" problem was not thinking ahead when they should have rather than Rails itself. PHP also needs a lot of work to get it to scale to Facebook's usage. In fact, most of the back end code at Facebook is C not PHP. There are also a number of ways to scale with various modes of database operation (replication, sharding, etc.) that actually make much bigger performance and scalability changes than tweaking application source code. Another framework agnostic issue is how to correctly handle caching for your particular application usage. What I will say is probably the real problem as it is with many languages/environments/frameworks when they are new is that most of the newbies in this new area will often be inexperienced developers and these are the ones that give the rest of us a very bad rap.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@SPP - good points but I contend that Rails is Ruby, Ruby is Rails as far as most people are concerned. In other words, if there's an issue with Ruby, there's an issue with Rails. The CD Baby project used some heavy-hitters to get off the ground and running. I'm sure there are reasons other than Rails and again, I'm not trying to rip on Rails for it. What I AM suggesting is that the Rails people really should take PR into consideration. You can't keep telling people to screw off. According to the Django guys, it's built to scale. I don't want to suggest it will, but I do think it's important to note that they consider that important - not just "your problem". In terms of Twitter "looking ahead" - agreed. But how much does Rails allow you to do that? If I was Biz "looking ahead" I would probably have ended up using another platform in all honesty. That might sound unfair, but had they done some decent load tests they might have uncovered (as the Base Camp guys did) some load issues and the "C" problem. Finally - Rails isn't new anymore. Version 2.0 is around the corner and with that the diapers come off.

Rob Bazinet avatar
Rob Bazinet says:
Thursday, October 11, 2007
@Rob - why not make a clear statement the Ruby is the problem in your mind and not necessarily Rails? Hmmm...I guess the post is not as well thought out, is it? Anyway, MS does NOT get it. If they did why didn't they get the brilliant idea of implementing MVC before now? I guess the success of Rails gave them a bright idea, which is a little late to the party. In Rails 2.0 some things are coming out and some going in and some refined. If MS got it then why is the .NET so darn big now? MS is not making it any easier on developers by piling on all the technologies they are pumping out at an incredible rate, if they got it then this wouldn't happen. Making our jobs better and more pleasurable is getting it. Get it?

sayy avatar
sayy says:
Thursday, October 11, 2007
"People love to bitch about patents, legalese, lawyers, copyright, etc. but when it comes down to it - when you make something, just like a child, you have to go to great lengths to foster it, protect it, and grow it properly." Well, take aside RMS praising patents, there is a HUGE issue with monopolies. You wouldnt want to endorse ONE solution presented by ONE company (MS in this case). The diversity would be crippled totally. We even still have PHP, a totally ugly language but this is fine in a competition world. ;) MS though forbids that you use stuff like .NET or XNA on Linux!

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@Rob: I won't make that statement because it's not true, is it? Rails flexes a lot of Ruby's "dynamic nature" - the two coexist. If you'd like to offer a link to one of your posts which is "more thought out", go for it. "Making our jobs better and more pleasurable is getting it" - dude you belong in the Rails camp. Can I get you a beer while you read my blog?

Sur avatar
Sur says:
Thursday, October 11, 2007
What all is there about "Fuck You"... Why all this is there if this much anger a "Fuck You" can create. No body would have liked to use a car from the vendor who is saying that take it as it is... "Fuck You" if you don't like it... this car is free and open source... and you take it home... use it... crib for the things you are not able to manage with what all that car has to deliver... Went back to vendor that 99.9% the car is awesome and my old car seems like a cycle as compared to this BUT what about that .1% which was better in my old car which is better to be called as cycle... and vendor again reply you "Fuck You" No cribbing... Rails is under great development... A lot of great guys are contributing and making it better and better as compared to existing Rails but the Java and .Net as it is already a 99.9% awesome car as compared to Java and .Net cycles. Agreed with Mike, great to write that .1% in C and do take some charge to contribute over some existing issues rather than traveling back on the old cycles.

Rob Bazinet avatar
Rob Bazinet says:
Thursday, October 11, 2007
@Rob: LOL, I am not as uptight as I sound. I really like this kind of discussion and you can see the passion for all of this stuff from readers here and on other sites. I honestly like both camps but get a bit frustrated with the MS me too attitude and not them not thinking hard enough about taking it to the next level like Rails does. I think your Migrations in SubSonic are great and hope MS can put those kinds of things into their MVC implementation. Aren't things easier for developers to spin up a database in their native, preferred language and follow it up with "rake db:migrate"? I think you understand the nice things Rails does that belongs in what Microsoft does, otherwise I don't think there would be SubSonic.

Mike Cantelon avatar
Mike Cantelon says:
Thursday, October 11, 2007
@SPP: Django isn't more scalable than Rails? Really? Despite the fact that the underlying language is over twice as fast as Ruby (http://shootout.alioth.debian.org/debian/benchmark.php?test=revcomp&lang=all) and works with speedy ol' Apache? @Rob: To maintain your credibility, you might want to add a note in your article about how quickly, and with how little code, Twitter was able to address its scaling problems. Also, I find it interesting that you're offended by the *words* of a Rails developer, yet you are accept the *spirit* of those words from Microsoft, who deliver the ultimate "fuck you" by closing everyone out of their development loop and disallow anyone from customizing their core technology for their own purposes. I'll take independence delivered with unfiltered reality over dependence delivered with a fake smile any day.

Nolan avatar
Nolan says:
Thursday, October 11, 2007
To the commenters screaming 'FUD!', I saw none of that in the post. Rob cited real-world examples of issues that Rails faces when the framework is pushed. It seems to be a common thread within the Rails community that the first reactions to performance issues are either a) you are doing something wrong, b) you're using too much of the Rails "magic" or c) you need to rewrite slow parts in C. The last reaction is a Ruby problem, not specifically a Rails issue (even though Rails is written in Ruby, so chicken-and-egg there) with which time may resolve itself. The first reaction lends its back to the arrogance of certain parts (not all!) of the community. But the second reaction is what kills me. What's the point of having this lickety-split development time, when as soon as you are faced with traffic, you have to go back and take out all the clever parts. Personally, I would rather have the pain up front with the planning knowing that my app is going to scale nicely and slowly, instead of monkeying around with the innards on a high-trafficked site with the world watching, like Twitter.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@Mike: With regards to your question about what I've done for the community, check out SubSonic and the CSK - I'd say my cred's in pretty good shape. And yourself? As far as Twitter fixing anything, I don't think I share your optimism. And finally - if I used those words on you, right here, right now, would that be appropriate (note: I never would, just a what-if)? How would you feel about me then? The rest of your comment is FUD.

Michael avatar
Michael says:
Thursday, October 11, 2007
I can't believe people are still talking about twitter. Every website has growing pains like that. twitter still works, right? The problem with twitter isn't rails, its that no one wants to read a message every time you take a dump. Watch the stuff about youtube growing. Oh noes! They shouldn't have used python because eventually the site might grow! MySpace had the same problem. its just the way it is -- you build a site for your friends, and then if it blows up you have to scale. Rails is doing it just as well as anything else is.

Scott avatar
Scott says:
Thursday, October 11, 2007
"speedy ol’ Apache" Man, there's a phrase you don't hear everyday. See oxymoron http://dictionary.reference.com/browse/oxymoron ;) Part of Rails performance and scaling issues have to do with it's threading issues and the fact that it is parsed and interpreted EVERY TIME the code is run. Putting Ruby inside of a VM, either the JVM, DLR, Rubinus, or YARV is going to make the latter go away. Once it is inside the JVM and DLR a lot of the database issues are going to go away. You get access to JDBC/ADO at that point. Well, at that point, what do we complain about? Probably commenting style.

Fortis Bonitas avatar
Fortis Bonitas says:
Thursday, October 11, 2007
I'm both a .net developer and a Rails developer. I think you're focusing a little too much on one person, DHH, thus treating him with more reverence than he deservers (which I assume he just loves). The Ruby and the Ruby on Rails community are hardly just DHH, and should be viewed as a whole. It would be just a silly to not use .net just because Steve Ballmer isn't your cup of tea. When deciding on a technology, the community is a very important part of that decision, because it affects so much when you're actually in the trenches trying to get work done. I find the Ruby community to be uncommonly helpful and competent; I've been really pleased so far. As far as performance, Ruby is slow at this point, so you have to drop to C sometimes. This is nothing to be surprised at, as I remember when Java was dog slow, which it hardly is now. Actually, c was scorn for a long time, because of it's abysmal performance compared to c (that obviously changed). They're working on speed (such as Sun's work on jruby) and it will get there; I'd predict that jruby will be the dominant distribution method, and not too long from now it will perform and scale at very acceptable rates. I'm not concerned, I've been down this path and I'm old enough to have heard it all before. Obviously your a .net developer and it works well in your environment and on your projects. That's great, and frankly if I were running in an all Windows environment that would be a great case for going with .net. I don't really see Rails as a direct competitor to .net, they exist in different zones. I see Ruby and RoR competing with PHP, Perl, and Python at this point, mainly on Unix servers; which is where I use it. .net can't really even be considered in that environment. There is a place for .net, and place for Java (it runs the huge apps that run the world), and a place for Ruby (my preference over PHP, Perl, and Python in the small app unix space). My toolkit contains all three, and I guarantee my clients are better served than yours are because of it.

Ruby On Rails avatar
Ruby On Rails says:
Thursday, October 11, 2007
Future of Web Apps Conference... Last week I made a spontaneous trip to the Future of Web Apps conference in London. I wasn’t planning...

Pratik avatar
Pratik says:
Thursday, October 11, 2007
The amount of time and energy you put in writing this post ( and twisting ) shows the true success of rails. Thank you :-)

SPP avatar
SPP says:
Thursday, October 11, 2007
@[Mike Cantelon] and @[Rob Conery] actually Ruby isn't Rails nor is Rails Ruby. -- edited -- And to Rob, I totally agree on the marketing of Rails. Plus the performance of an I/O bound network application is not overly related to the performance of the language it was written in. Besides I have written in both Python and Ruby and haven't noticed more than a 10% difference in execution speeds. Also the inexperienced amongst you always seem to mix up performance with scalability. While both are related concerns they are not equivalent. With Mongrel and Mongrel Cluster I do not find Rails to be a scalability issue. I do find how you design the database replication/sharding, etc to be an issue. This is not at all hard to configure in Rails. I have not seen Django bake into their framework a way to automagically configure talking to multiple databases with LESS code/configuration than is needed in Rails. I don't think Django needs to, but why is the emphasis on Rails proving itself and not Django as well? Not to mention PHP frameworks or ASP.NET? The one thing I agree with DHH with is that Rails as a framework should not be responsible for designing how you architect your database mode of operations. This seemed to be what Twitter was expecting and to be honest has nothing to do with the general application stack as long as you make various configurations possible. In terms of Django working with Apache and your implication that Rails does not. I suggest you actually do some very basic research before commenting. It could be said that Django doesn't hook in well with Nginx or Lighttpd (both of which are faster than Apache in benchmarks - a simple google search will yield those results and many of them). I used to write Python/Django applications before Rails, so I am not just a Rubyphile that has never tasted Python or Django itself, unlike others from the other side:) And I would like to say Python is a fine language and Django is a fine framework. I am not dissing it. Django is actually written with a different emphasis in mind (more content driven rather than application oriented). Rails happened to suit our application emphasis more and Ruby as a language works in a fashion more inline with the way my brain does rather than the "one way or the highway" Python philosophy which I respect, but didn't fit with my way of working personally. Why should you care....? Don't I am just showing that I am not as biased as you seem to think I am. Do I think Rails is perfect - hell no! Do I think that Ruby is fast - no, but fast enough right now! Do I think it would be nice if Rails read my mind and added all the multiple database configuration for me - sure, but let us be realistic! And as for Rails 2.0....I haven't investigated it as it still hasn't be released yet, so we shall see then. How come Django never made 1.0 yet?

SPP avatar
SPP says:
Thursday, October 11, 2007
One last comment: As for Rails 2.0 getting its diapers off. Sure...you could have said the same thing about Java "2.0" back in the day. But inexperienced Java developers were still leading teams in bleeding edge shops and making poor decisions due to their total lack of experience of the real world. This will still be the case when Rails 2.0 comes out. Let us face it....unfortunately most of the Rails junkies are former PHP people. I don't know about you...but I have never met a PHP "programmer" that had a serious software engineer mindset and knew how to operate that way. This looks just like Java did in the late 90s....for those that stay in the business a while, you will see this pattern emerging time and time again. This is just the same old, same old.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@SPP: I snipped a little of the comment you left, and I apologize for it - please understand many readers might not "get it" with a reference like that. I know perf vs. scalability all too well. And I agree with a lot of your thoughts here (also I said nothing about Apache). My main point in this post is that Rails, as a stack, should address (in a professional manner) the scaling and deployment issues. In terms of "realistic" - let's talk after you get hired by the next Twitter-to-be :).

Steve avatar
Steve says:
Thursday, October 11, 2007
I would pay to read your blog. It is so informative, factful, but mostly entertaining. I am not going to go on as it might get a little wierd between us, but thanks. Unfortunetly I don't see myself getting to Hawai any time soon but if I did I would be shooting you and yours lunch. Likewise, if you are ever in Australia let me know.

Mike Gunderloy avatar
Mike Gunderloy says:
Thursday, October 11, 2007
Actually, my family is buying a new house this week, not Cheez Whiz. Funded at the moment by Rails work. Glad you're doing well with your own career.

Mike Cantelon avatar
Mike Cantelon says:
Thursday, October 11, 2007
@Rob: Respect for contributing to open source. As it's established that you are capable of spending time usefully writing software for the community, why are you wasting time throwing feces at DHH? What do you hope to accomplish? Twitter *has* addressed scalibility. It's not optimism: it's old news. So why are you misleading people by referring to old, solved problems as if they are current? DHH never use "those words" on you. DHH never personally attacked you, as you have attacked him. I'd guess that there are more contructive, long-term ways you can gain attention for your projects rather than jumping on the Rails-bashing bandwagon.

Mike Cantelon avatar
Mike Cantelon says:
Thursday, October 11, 2007
@SPP: "I suggest you actually do some very basic research before commenting. It could be said that Django doesn’t hook in well with Nginx or Lighttpd (both of which are faster than Apache in benchmarks - a simple google search will yield those results and many of them)." Django *does* work with NGinX (http://www.rkblog.rk.edu.pl/w/p/django-nginx/) and Lighty via FCGI (http://www.djangoproject.com/documentation/fastcgi/). I hope Django hits v1 soon as well, although I care much more about functionality than version numbers.

Rob Conery avatar
Rob Conery says:
Thursday, October 11, 2007
@Mike: Come on man I'm not bashing or attacking. My arguments are legitimate: the Rails team won't address perf or deployment issues, and these very much remain. Whether Twitter has gotten better or not isn't the point - the point is what they went through. Sure it's their fault, but don't you think Rails can help the community out here by addressing these issues directly in 2.0. Can you please try to address the issues rather than throw the tired "Rails Basher" rhetoric at me? DHH's words are his own. I don't like that he uses those words in front of his audience. Is it "throwing feces" at the guy to tell him I don't like his use of language in front of an audience of professionals? In front of a world-wide audience of peers? I find this defense of someone telling masses of people to F-Off utterly laughable. In terms of DHH attacking me, I think he's got better things to do. Or maybe not, he posted something about being a Potty Mouth today. It was pretty colorful. David if you drop by Kauai I'll buy you (and Mike Cantelon) a Mai Tai and apologize for the rough language :P

Brian LeRoux avatar
Brian LeRoux says:
Thursday, October 11, 2007
This is FUD. We've found Rails applications when architected property with caching and smart use of server resources scales very well. 100 - 200k requests per day on one server. No shit! Deployment isn't an issue either. Capistrano or Vlad. Linux, Apache or Nginx, Mongrels, MySQL, SSH... this is very basic stuff. JRuby brings the ability to depoy as WAR file. I've heard Java scales. So anyhow, if you don't like a technology thats fine (don't use it!). You probably should try and back up your statements with a real world experience. Google remembers this sort of thing and it doesn't reflect on you well!

Jeremy Kemper avatar
Jeremy Kemper says:
Thursday, October 11, 2007
"Come on man I’m not bashing or attacking. My arguments are legitimate: the Rails team won’t address perf or deployment issues, and these very much remain." Rob, this stance is popular but, forgiving the blind spots natural to my perspective, I do not see it. Please follow the Trac timeline feed, drop into the #rubyonrails and #rails-contrib channels on freenode, and give Capistrano a whirl. On a side note, I don't know whether this applies to you, but I've noticed that folks who are disengaged from the Rails community (mailing list, irc, Trac contribution) are far more likely to hone in on Rails as a tool of DHH's personality. That's an unfortunate pathology and does us all a disservice. The Rails community is incredibly helpful and cooperative. I don't think you'll find a friendlier, more accepting IRC channel or mailing list. So, please take a look from my perspective: I see thousands of folks happily helping each other out daily. I love it and it's very frustrating to juxtapose with your more noxious, negative experience. I really wish you'd just ignore DHH if he bothers you and enjoy Rails for what it has blossomed into.

Nathan avatar
Nathan says:
Friday, October 12, 2007
Is it march again? Twitter? Come on... Deploying rails is easy. period. Is it php-easy, maybe not. But it's not for the dreamweaver / frontpage set anyway. If someone can't figure out how to deploy a rails site I would never put my business's technical needs in their hands.