-
Website
http://www.radicalbehavior.com/ -
Original page
http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
Web Design
3 comments · 1 points
-
Seo Singapore
2 comments · 93 points
-
Singapore Escorts
7 comments · 2 points
-
Daniel Ha
2 comments · 405 points
-
TriSlim
2 comments · 1 points
-
-
Popular Threads
-
No Two Are the Same
19 hours ago · 1 comment
-
One of the Seven Wonders
3 weeks ago · 1 comment
-
The Grand Canyon
4 weeks ago · 1 comment
-
No Two Are the Same
I started using Twitter yesterday and I like it a lot.
think blogging is a replacement for journalism." Kinda sums it all up! Thanks for the interview.
Great post! ;)
Put it this way, I've taken some reasonably well performing Perl daemon code I have that serves hundreds of millons of requests per month, and managed to port it to Ruby and make it even faster.. so I'm just not buying that Ruby's performance is really an issue with Web applications.
So what is the argument then for a language? Comfort? Given that the speed of web apps is neg-lable, one should program in any language they choose? I started out in perl and understand that perl can be 100% awesome vs a PHP hack or something. How about the (sorry) fastCGI issue? doesn't that hinder the performance of the web app? I am sorry to just call that out but if it is an issue then I must. This is not a disagreement but a debate, please contribute to it, anyone ;)
I just soft-launched my rails-based video tracker and I am using the caching all over the place. It is easy to do and every rails developer should put it in before launching.
The language is amazingly cool to develop in, and rails saves a lot of time even if the data modelling approach is somewhat simplistic. But I can definitely see a performance difference between ruby and languages such as perl, php, and even java.
As with everything in engineering, you have to deal with difficult trade-offs. With Memecat, I chose to pay for coding happiness with more processor heat and server memory.
Great interview.
@Peter: Dear Pete, Ruby is slow, it eats CPU for breakfast, and please show us your million hits per month code. I'm sure its proprietary and you can't show it to us.
Rails is braindamaged when it comes to scaling. Reason? It was developed by an MIS/Marketing student with delusions of programming grandeur. DHH doesn't know his RDBMS from his buttocks! And that's the godawful truth.
And now he's squirming like a little you know who, because the rubber is hitting the road, and the thing doesn't scale on the DB end. Well, this is what you get when you don't understand the issues involved, and bitchslap anyone who brings them up in the initial phases in the name of "opinionation".
Don't know what will come, maybe it will be an Erlang framework (No Thanks ErlyWeb, you're just as ugly as rails, but we can be hi-bye friends..) or seaside or whatever.. but something is going to really cut rails and all its hype down a few notches (despite all the efforts of the blogocircuit talking heads milking the hell out of php-converts)
No Wonder PragProg is offering an Erlang book to seed a "new wave" of "pragmatic" cash-cow-milking, but hey, you can never blame an entrepreneur.. especially a pragmatic one.
Al3x, I hope DHH and 37S don't get you fired from this, because what you're dealing with is a sleazy marketing machine wrapping itself up in the post-rape sheets of opensource. They don't like it when people mess with their revenue streams and their little conference-filling cash cow called "Ruby on Rails"
Then it all comes down to what percentage of requests have to hit a database or do some sort of logic, but as long as it's under a certain percentage, you're good.
A general comment:
My general point is that Rails was not developed with performance in mind, which is very typical of run-of-the-mill developers, DHH being no exception. He created something which made sense to him and his rather superficial understanding of the performance issues and that is just as well. But let us not forget that DHH's major problem while creating BASECAMP was _NOT_ performance and scaling, but Time to Market, and rails did that beautifully _for them_ It doesn't mean DHH or rails community should start pretending it will work in all situations because Rails is beauty this and joy that and it just fits their brains and all that new-agey non-sense that DHH tries to spread all the time.
My issue is with 37S and gang protecting RoR as a corporate brand without stating it in so many words, and attacking even their most valued customers (RoR users are the other side of the Brand coin) who are in reality helping to test the framework to its limits.
They are not going to get far with this type of attitude attacking someone and accusing them of being lazy if the users dare to point out some deficiencies in the framework which are well known in the community to begin with.
DHH hints that multi-database solutions are possible with rails without offering so much as a link. If they are and a team running an 11k hps site doesn't know it, then they should all be summarily fired! but I'm quite sure that is not the case and this is just another technical nit-picking by DHH in a tranparent attempt to save face.
Ruby is almost equivalent to PHP speedwise (without all the crap) , and if stupid-pet-tricks are kept to a minimum (or at least made optional), there is no reason Ruby based web applications cannot scale to the same size that most PHP/Perl mega-sites do ( WikiPedia, Craigslist come to mind)
The problem is that Rails makes it very easy to make the commitment on the front-end of the project which is the design and development part, but once you hit the critical size, and have hundreds of thousands of users it just becomes a Monkey on your back!.
I don't agree with the sentiment that Twitter should be thankful to RoR team for giving them a framework which got them to 11k hps. If you fail primarily and specifically because of your choice of framework not scaling, the failure is just as bad as failing in the beginning. If I hyped up and gave (for free) NASA a rocket with a claim it would take their astronauts to the moon and land them and bring them back, but it only took them to moon orbit where they were stuck, should NASA be thankful to me for FUCKING UP the mission? Should I chide NASA by presenting the fact that the rocket "at least" took them to the moon? whoopty frikking do.
Given these constraints, it is best to do your initial demos and early version in RoR, but you better have contingency plans for when you hit critical mass because things will become extremely painful even if you DO have the VC cash to throw at the beast.
I happened to invite quite a few people when twitter was having these performance problems and most of them refused to join or even go back there based on their initial impression of the slowness of the site. How that critical-user-mass loss figures in as total strategic loss for Twitter remains to be seen, but one thing is clear, the choice of RoR would have played a key part in that if we were to quantify the reasons for Twitter's success or failure. Things are still touch and go for them, as they always are for most startups.
I wouldn't be surprised if Twitter was seriously looking into a rewrite in pure Ruby or perhaps another framework . Django Dev' comments would have very little to do with it, but if I was Twitter, I'd be looking to cut my losses - these are business decisions and once you get to that size, your loyalties change. You may love Ruby, but I bet you'd really love that million dollar check in your pocket if you could pull it off, and if RoR stood in your way, you'd know what to do.
I doubt they'd go the Python route, because the rework overhead would be just too risky. Unless of course they pull a reddit as it were.
The only thing that can save Rails is a fork with some people with good grasp of SDLC (including deployment and operations) at the helm.
Perhaps it should be called Ruby on Brains.
What Rails is suitable for is small apps. If you're a web design firm with a small client, use Rails. It'll get you up and running fast, but if you want performance and have a realistic chance at gaining millions of users, you have to use lower level languages.
The proliferation of frameworks means in general that sites will come out faster but run slower. Great for prototyping but not so good for deploying.
However, if you believe in agile programming then you do deal with problems when they come up, not before. So until you get to be as big as twitter, you can act like you're designing for, say, a 100,000 users.
The Unofficial Twitter Community and Forums
http://www.twittown.com
If anyone has such transition experience, from PHP5 to RoR, in a Linux, Agile, MySQL environment, please contact me.
Thanks.
thanks for sharing. really helped a lot here.
--------------------------------------------------
Ugg Boots | Uggs
I've also posted about it on the BlogEngine Forums
Odd and funny comparison my mate..
welcome to my page!
who use my name?
my name is alex
http://www.hermesreplicahandbags.com
http://www.toys-kingdom.com/
http://www.officefurniture-supplier.com/