I’m eventually going to write a more formal piece on my company blog, but in the meantime snark will suffice.
TechCrunch has been slamming Twitter and Rails . Let’s have a look at what they’re really saying.
(With apologies to Mark Pilgrim and John Gruber )
[Twitter’s] small team contains a handful of engineers, with only a person or two committed to infrastructure and architecture. He goes on to point out that at Digg the team for network and systems alone is bigger than the total engineering team at Twitter
I have never read the Mythical Man Month. More people are better.
I’ll also ignore the fact that Scribd has more web traffic than Twitter with only 11 total employees, information which I can get from my own affiliate site
The problems at Twitter are often attributed to their use of RubyOnRails, a web development framework.
This sentence gives me an easy way of saying I never blamed RoR for Twitter But of course it’s Rails’ fault, it’s “often attributed”! I will also ignore Evan Williams’s statement ‘Lots of our code is not in RoR, already, though.’
Twitter is almost certainly the largest site running on Rails
There are various ways of interpreting “almost certainly the largest”. One of which is ‘6th largest’.
Utilizing a framework that has never conquered large-scale territory [...]
I don’t consider the 474th or 775th ranked Alexa sites ‘large-scale territory’.
As an out-of-the box framework, Rails certainly doesn’t lend itself to large-scale application development.
I shall now pull terms with no meaning like “out-of-the-box framework” out of my ass. Oh and in case you still haven’t gotten my point, Twitter doesn’t scale because Rails doesn’t scale. Marvel at my skilful use of the non causa pro causa and cum hoc ergo propter hoc logical fallacy combo!
[...] But the old adage of “Good, Fast, Cheap – pick two” certainly applies;
Will trotting out a cliche let me get away with making subjective assertions? Hell yeah!
Rails would do itself no harm by conceding that it isn’t a platform that can compete with Java or C when it comes to intensive tasks
I shall now compare this “out-of-the-box framework” to two languages, without any substantiation. And look at how I wriggled out of that one… I have the “would do itself no harm by conceding” qualifier! I never said it isn’t a competitive platform. And if you read the comments, I’ll show you the intensive tasks I’m talking about that are total CPU-killers, such as waiting on database requests.
What we see at Twitter today is a very useful and popular service, but one with very complex underlying technical challenges to overcome. Twitter will require not only a new architecture approach and a big injection of the best minds they can find [...]
Damn it, I still haven’t hit my required word count. Here, enjoy this poo-poo platter of my best verbiage.
And later in the comments
It wouldn’t surprise me if the DB is falling over on those requests. Also judging by message ID’s and what I have seen so far, their data is in no way segmented – so you have one BFT (big fucking table)
Sorry, did I say their problem was Rails? It’s actually their database architecture! No wait, all of the above! Oh and my superpower is divining a site’s database architecture based the IDs it uses. Why, just the other day I saw an ID on Google Docs and it hit me: “Those guys use BigTable”.
I’ll make random unsubstantiated guesses about their technology instead of investigating with other sites their usage of Twitter’s API and what they’ve found out, or benchmarking Starling .
You want proper investigative journalism or insightful technical analysis? Sorry you’re in the wrong place. This is the “hearsay and hyperbole” section. You’re looking for somewhere else .

