- Why the Twitter IPO Mentions Scalability
- Why Weekly Billing Amps Up Time Pressure
- Scalability Tips: Greatest Hits
Thanks for talking to us! What have you been working on lately?
You say that people see you as "the guy who makes websites accelerate." When sites like Twitter start with Ruby on Rails front ends and eventually have to scale up with Java, do you think they would save themselves a lot of hassle to just start with Java or something more scalable? Additionally, what are some of the biggest or most frequent scaling and optimization problems you've encountered?
You may be surprised at my answer here. From my perspective Java requires a lot of overhead, and a larger memory footprint than Ruby or PHP. So many of the sites I've encountered having scalability difficulties were written in Java. So I'd say beware there. Secondly I would suggest caution around any use of ORMs, such as Hibernate with Java or Active Record with Ruby. They facilitate rapid prototyping, but then you're saddled with a middleware that really limits scalability. I blogged about this, here.
Are there any particular developer tools or resources you couldn't live without?
Although I submit bug reports occasionally on services and platforms that I use often, I'm not actively working on an open source project at the moment. Eyes and ears open for one that could use my assistance, though!
Do you have a favorite open source project (or projects) that you've contributed to recently?
Do you follow any blogs or Twitter feeds that you would recommend to developers?
planetmysql.com is great for all-around MySQL topics. Also highscalability.com is very good for architecture & real world case studies.
Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?
Sure, way back in the 80's I had a C-64 personal computer. It used a tape drive for storage, if you can believe that. The 64 stood for 64k bytes of main memory. Yes, that's main memory, a small grain of salt compared to today's 16G or 64G servers. Everything was more akin to assembly language programming than today's modern languages, forcing you to learn to do things manually.
Anything else you'd like to mention?
Check out Sean's blog and Twitter!