4 ms·
Yawn. Yet another misinformed "Ruby/Rails can't scale" article. Seems to me the main problem is that his "MIT trained" friend had no experience building a scal
by jimboyoungblood 17y ago
Yawn. Yet another misinformed "Ruby/Rails can't scale" article.
Seems to me the main problem is that his "MIT trained" friend had no experience building a scalable web service. He would've botched it up in PHP, Python, Java, whatever. There's nothing about his main mistakes- running your database on a shared server, naive (ab)use of SQL- that is unique to Rails.
And this bit: "pull entire tables into Ruby, the most beautiful computer language ever designed, and filter down to the desired rows using Ruby and its “ActiveRecord” facility" is completely incorrect and makes it obvious Philip Greenspun knows less than nothing about what he's ranting about.
- mattmaroon 17y agoI didn't read "Rails can't scale" at all. Did you even finish it? He recommended still using Rails at the end.
- jimboyoungblood 17y agoIf this wasn't a RoR hatchet job, why put it in the title and sprinkle sarcastic jabs all over the article? Regarding his recommendation at the end, if someone suggested a server with 32GB of memory to run a site that has "About one user every 10 minutes", I would think "damn, this doesn't scale" :)
- mattmaroon 17y agoIt was in the title because many of the snooty programmers who think they're so much smarter than the .NET guys, and who go off and build overly-complicated things that don't work just for the sake of building something complicated, are in love with Ruby on Rails. It doesn't attack RoR so much as a subset of the RoR community. It pretty much abstains from the topic of RoR as a language and framework.
- donniefitz2 17y agoI think you're spot on. And I'm a .Net developer (a bumbling fool no doubt). But really, you grasp the point best so far.
- deleted 17y ago[deleted]
- chaostheory 17y agowell it would be bad advice for the programmer to simply throw away all of his work at that moment and start from scratch - regardless of what you think of the technology he used "Rails can't scale" was implied
- mattmaroon 17y agoI don't think it was implied at all, especially since he recommended using it at the end. It's implied only if you read the title and nothing more. What was both implied and directly stated was that a cloud-based architecture is often not the best idea for a lot of people, despite the modern mania for it.
- Periodic 17y agoI think he only reason it's still in there at the end is just so the site doesn't have to be rewritten. He's just changing the hardware to something beefier instead of optimizing it. It's sad that rails, by default though it may not be the case anymore, makes n+c requests to the database when you load a page that lists n objects. It can be fixed in one line of code per page.
- plinkplonk 17y agoPhil specifically addresses the idea that he is dissing RoR in a comment.(emphasis mine) "Angry Rails Enthusiasts Whose Comments I Deleted: A lot of the comments were of the form “Your assertion that it is impossible to build a responsive Web site with Ruby on Rails is wrong. Rails is in fact great if programmed by a great mind like my own.” The problem with this kind of comment is that I never asserted that Ruby on Rails could not be used effectively by some programmers. The point of the story was to show that the MIT-trained programmer with 20 years experience and an enthusiasm for the latest and greatest ended up building something that underperformed something put together by people without official CS training who apparently invested zero time in exploring optimal tools. Could some team of Rails experts have done a better job with mitgenius.com? Obviously they could have! But in the 2+ years that our MIT graduate worked on this site, he apparently did not converge on an acceptable solution. My enthusiasm for this story has nothing to do with bashing Ruby or Rails. I like this story because (1) it shows the fallacy of credentialism; a undergrad degree in CS is proof of nothing except that someone sat in a chair for four years (see http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/ http://blogs.law.harvard.edu/philg/2007/08/23/improving-unde... for my thoughts on how we could change the situation), (2) it shows what happens when a programmer thinks that he is so smart he doesn’t need to draft design documents and have them reviewed by others before proceeding (presumably another set of eyes would have noticed the mismatch between data set size and RAM), (3) it shows that fancy new tools cannot substitute for skimping on 200-year-old engineering practices and 40-year-old database programming practices, and (4) it shows the continued unwillingness of experienced procedural language programmers to learn SQL and a modicum of RDBMS design and administration, despite the fact that the RDBMS has been at the heart of many of society’s most important IT systems for at least two decades." That is exactly what I understood from the article. I don't see any rails bashing in the original article and you would have to cherry pick phrases to get that idea. I read the HN comments first and thought phil had gone off on a rant against RoR t judge from some comments here. that will teach me to read HN comments before reading the original article!
- stcredzero 17y agopull entire tables into Ruby, the most beautiful computer language ever designed I read that as sarcasm. He is a Lisper, after all. I think his point is that he does know less than nothing, but he still came up with a solution, at least for the time being.
- mahmud 17y agoThis is Greenspun we're talking about. He has been writing large scale web apps since most of you were in your Turbo Pascal diapers.
- jimboyoungblood 17y agoWhat's your point? That he's a dinosaur and totally out of touch with current technology? If so, I totally agree! edit: Thanks for the downvote(s), but seriously, what does it matter that Greenspun wrote this? The article is still seriously flawed.
- mahmud 17y agoHe might be out of touch with the gadget side of web applications (can phillg make rounded corners with Processing.js or Raphael.js or Shoooes? I don't think so.) but his server architect credentials are untouchable. The fucker started a social networking site for photographers in 1993. He taught web application development at MIT and the book he coauthored is still used today. And if you think there is anything "modern" to scaling web applications, you would be wrong. When push comes to shove, everybody reaches out to their Unix system call manpages and pulls out 20+ year old profiling tools. It's the front-end that's sassy ;-)
- jimboyoungblood 17y agoI agree some tools never go away, but I hope you're not literally saying that no advances have been made in scaling techniques in the past decade or so. Almost a decade ago I worked on a large scale site that ran on PHP3, MySQL 2 (before it had replication), and depended on a hardware load balancer. Today, between RoR, Memcached, Amazon AWS, etc. etc. I can build and scale out an app 10x faster and cheaper than I would've been able to a decade ago. (Hey, isn't this the fundamental rationale behind YC?) Even ignoring new software, the availability of cheap memory and gigabet networking alone inform different architecture decisions than 1993.
- pj 17y agoWhen anyone says "XYZ technology can't ABC" it's usually not a fault of XYZ technology but a lack of that anyone's understanding of the technology. Ruby can scale. Java can be fast and Microsoft can be secure. It's external vs internal motivation. In the first case, it's the world's fault if it doesn't work. In the second, it's due to a lack of understanding of how the world works.
- volida 17y agoI wouldn't consider "at most 1 user at a time" a service that need "building a scalable web service" skills!!