10 Questions with David Heinemeier Hansson
This article was posted on serversidemagazine.com a defunct blog from 2011, the article below was moved here for posterity.
The article was published on May 11th, 2011.
Today we’re starting a new section on Server-Side Magazine called 10 Questions where we interview influential people in various web dev. fields.
1. What is your daily job at the company?
My primary job is to make sure that everything is running smoothly. That means wearing whatever hat needs a head. I’ll help out with support, I’ll chime in with system administration, I’ll render an opinion on a new feature, I’ll assist with project management. Some days are entirely consumed by dealing with that, others leave me free for my first love: programming.
2. Why do you prefer to work in Ruby instead of other programming languages such as Python, PHP or ASP.NET?
Ruby is the most beautiful programming language I’ve ever seen. It was love at first sight and I’m as infatuated by the language now as I was almost a decade ago when I first picked it up.
3. What’s your development setup?
I love TextMate and do all of my programming and writing in it. The new version might be ridiculously overdue, but the old one is still the best one out there. I use Git / Github for version control. Dropbox to keep synchronized.
And a variety of Apple machines for hardware. I’m most fond of the 11″ Macbook Air.
4. What advice would you give to beginner Ruby developers?
Read lots of code. I learned a ton about Ruby by just downloading libraries and reading through them.
5. What were your major technical challenges when you decided to open-source Rails?
Back then we didn’t have Git or Github, so sharing and accepting patches was a bit more of a hassle. These days it’s incredibly easy to contribute. Fork, fix, pull. Rinse repeat. There’s no excuse for not contributing to open source today.
6. How do you compare Ruby (and RoR) to Node.js and other so called “real-time” technologies?
Yes, Ruby can handle “real time”. EventMachine and other approaches does that very well. But it’s still cool to see things like node.js put that style on the agenda. I find the development experience to be a little disorganizing for bigger things, but I’m sure smart people will work on making that better soon. It’s a big world, there’s room for plenty of diversity.
7. Initially, Twitter was built on Ruby and we all know about the “fail whale”. Do you think the major problem was the programming language or the architecture design / development behind Twitter?
Tumblr is built on PHP and MySQL and it’s currently playing the fail whale game. Does that mean that PHP “can’t scale”?
8. What was your number 1 technical problem at 37signals that could have ended in disaster and how did you fixed it?
I remember back in the day that we didn’t treat encodings properly with MySQL and got into trouble with some corrupted data. Those days are luckily long gone, though.
9. Tell us a little bit about Pow (pow.cx). What Pow tries to achieve?
Pow makes it really easy to setup new Rails and Rack applications locally for testing without needing to run Apache or nginx or individual processes for each app.
10. Where can we catch you this year?
I’ve cut down on conferences. I’m only going to RailsConf this year.
Bonus: Do you have any future projects you wish to share with Us?
I’m as interested as ever in improving the web-application development experience. Rails 4.0 and beyond!