*

2006 / March 29th/ Foot in mouth

Sometimes we put our feet in our mouth. It sucks, but it happens every once in a while. I do it myself, but there are things you can do to prevent this. I realized this today while listening to Bryan’s always entertaining Live from the 101 interview with Dustin Diaz. Here’s the quote (with some ellipses, I’ve just cut down on the word count, not altered the meaning - listen to the podcast for the actual representation):

I don’t think it scales real well, even though I haven’t really touched much of it… today I just found out, and this just proves my theory, that Measure Map was done with Ruby on Rails… that thing is a dog, I mean, it is slow… this was the fact that it was done on Ruby, I just think that was a poor choice from the beginning.

I read that and spit my coke all over the table. To point out the errors in this statement:

  1. Rails scales perfectly. This is a completely rediculous statment to make at this point in the game. Last I checked the robot co-op are serving around the neighborhood of 2.5 million requests a day. They’ve even detailed the six machines serving their beasts of applications. At this point, it’s just a matter of adding additional servers as the load increases - this is known as horizontal scaling and really has nearly limitless potential.
  2. Measure Map is slow because they’re doing something no other stats app does: real time tracking on a hosted server. You’ll notice Mint is “dog ass slow” as well once you start getting above maybe 300 uniques a day. Stats are hard on computers - put hundreds of beta testers on one server and I don’t care about the architecture, it’s going to hurt bad (unless your stats are cached).
  3. Performance is not the only reason to chose a technology. There are several factors involved, and most of them lean towards available talent and marketing for most web applications.

Now, I know Dustin is going to take this as a personal attack - that’s his own perrogative, but just know I didn’t mean it as one. My point was to more help those of you that like to talk about things you have no experience in, and think… is it really worth it? I do this far more often than I like, and it’s hard to stop myself. Next time you find yourself debating something you don’t really have any experience with, think again and ask yourself whether you really have any reason commenting on it. Silence is always better than shoving your foot in your mouth.

Sometimes you’ve got to learn and swallow your pride and just say: “You know what, I really don’t know that much about Rails to comment on it.”

A word from the sponsors. Advertise with Warpspire

16 Comments

comments feed

  1. Gravatar
    Nathan Smith

    March 29th | #

    Dude, you can’t front with Dustin, everything he says is fact! :)

  2. Gravatar
    Justin Perkins

    March 29th | #

    Thank you lord.

    I’ve never seen the stats for 43things, but I was pretty sure there were waaay up there. A few million hits a day, nah, that’s not a testament to rails scalability or anything.

    I could just go off, but I suppose I should show a little restraint. I do have to say that given the fact that I just got a job doing Rails development, I take offense from people who insist that Rails is “just for personal development”.

  3. Gravatar
    Justin Perkins

    March 29th | #

    Oh, I forgot to add this link. I think anybody who is actually curious about Rails, or wants to hear the motivation behind building Rails, hear it from the man himself.

    Check the presentation with David Heinemeier Hansson from the Carson Workshops Summit. There’s even a little nudge to those diehard PHPers out there.

  4. Gravatar
    Bryan Veloso

    March 29th | #

    Wow, 9rulers going at it. This is just as bad as when Ionfish used my site as an example of shameless self promotion.

  5. Gravatar
    Kyle

    March 29th | #

    Bryan: The way I look at it, Dustin’s comments are akin to personal insults to David Hansson and the hundreds of committers around the world dedicated towards making Rails successful. They’re especially insulting to the fine crew working on Measure Map. I would consider many of these people my friends, and attacking them with lies is wrong in my eyes. I wouldn’t consider it “going at it” as much as clearing up facts. I wouldn’t mind it so much - except that I’ve pointed out articles that clear up his misconceptions about Rails to him before. If he chooses to continue insulting a community of developers without reason, I can’t help but call him out.

  6. Gravatar
    Natalie

    March 30th | #

    I’ve always thought Dustin knew a lot about a lot of good things, but I never saw him say much about RonR. Personally I don’t know much about any programming languages, which is why you’ll see me clam up pretty quickly. It’s good for you to point out his mistake for those of us who wouldn’t know any better and might take his word. As much as I’m a fan of Dustin, it kind of reminds me of the guy who calls people misbehaving children if they don’t adhere strictly to web standards. He might like to build his first website before a rant like that. :)

  7. Gravatar
    Dan

    March 30th | #

    “I don?t think it scales real well, even though I haven?t really touched much of it?”

    If he havent really touched it - was is his argument then? I just love people talking about stuff they dont know shit about…

  8. Gravatar
    Ben Eastaugh

    March 30th | #

    9rulers are good to pick on, for two reasons. One, it shows you apply your standards universally. Two, they tend to be able to take it on the chin… Bryan’s a case in point. ;)

  9. Gravatar
    Jonathan Snook

    March 31st | #

    Calling an offhand remark insulting to the hundreds (if not thousands) of RoR developers seems extremist. (I picture you pulling off a white glove and slapping him across the face.) Saying RoR can’t scale is certainly inaccurate and I won’t defend him on his point of view.

  10. Gravatar
    Justin Perkins

    March 31st | #

    Jonathan,
    Though I don’t think it was expressed in this post, we’re not talking about one off the cuff remark. This has been an ongoing thing for many months.

    Anytime the subject of Rails or Ruby comes up, Dustin’s snarky meter goes off the charts.

    I agree 100% with Kyle that it is insulting to the RoR (and Ruby) community. Does Dustin know something we don’t know or does he just think he does?

  11. Gravatar
    Matt

    March 31st | #

    Assuming that Rails scales effortlessly is just as dangerous and misleading of saying it doesn’t scale. It is important to note that David has always maintained that Rails may require more hardware to get the same results, but brushes this off because the gains in programmer productivity far outweigh the costs of additional hardware, whose price is falling all the time. Also if something is slower to run, it can often be offset by caching with something like memcached. For Robot Coop, if you can afford DB servers with 12gb of RAM, then hardware is obviously not a problem. :)

    I still recommend people strongly consider PHP — it’s not terribly trendy right now but it’s an undeniably powerful platform to scale cheaply on.

  12. Gravatar
    Kyle

    March 31st | #

    Jonathan: It wasn’t so much the remark, but how it was said. It was said as though the folks over at Measure Map were idiots for picking Rails. Also, yes, as Justin has said this isn’t just a one time occurance. Dustin has been bashing rails left and right for several months now.

    Matt: Well, yes. Scaling and scaling cheaply are two entirely different things. In the long run, for large applications, hardware is dirt cheap compared to developer time. By the same means, J2EE and .NET are “difficult” to scale when compared to PHP :)

  13. Gravatar
    Dustin Diaz

    March 31st | #

    I’ll try not to make you spit your coke up next time ;)

  14. Gravatar
    Dustin Diaz

    March 31st | #

    By the way, if I hurt anyone’s feelings. Well, just get over it. Here is a quote from Rasmus (and why I sport PHP)

    Many frameworks may look very appealing at first glance because they seem to reduce web application development to a couple of trivial steps leading to some code generation and often automatic schema detection, but these same shortcuts are likely to be your bottlenecks as well since they achieve this simplicity by sacrifizing flexibility and performance. Nothing is going to build your application for you, no matter what it promises. You are going to have to build it yourself. Instead of starting by fixing the mistakes in some foreign framework and refactoring all the things that don’t apply to your environment spend your time building a lean and reusable pattern that fits your requirements directly. In the end I think you will find that your homegrown small framework has saved you time and aggravation and you end up with a better product.

  15. Gravatar
    Justin Perkins

    March 31st | #

    By the way, if I hurt anyone?s feelings. Well, just get over it.

    Love the attitude Dustin.

    Instead of starting by fixing the mistakes in some foreign framework and refactoring all the things that don?t apply to your environment spend your time building a lean and reusable pattern that fits your requirements directly. In the end I think you will find
    that your homegrown small framework has saved you time and aggravation

    1) Spending time refactoring in Rails, that’s almost an oxymoron.
    2) Rails is exactly that, a small homegrown framework.

    We’re all entitled to our own different opinions, but there’s a big difference between voicing your opinion with ignorance and disdain vs. respectfully and knowledgeably stating your thoughts on the matter (from your own experience, not what people tell you). One is offensive and the other is respected and encouraged.

  16. Gravatar
    Rich

    July 23rd | #

    Rediculous as in ‘ridiculous’? Perrogative as in ‘prerogative’?

    Isn’t pointing out the errors of others fun? And isn’t having your errors pointed out … not fun?

Make a Comment

don’t be afraid, it’s just text

Comments are parsed with Markdown. Basic HTML is also allowed.