This is the first in a new series of interviews with the Flickr staff, asking what tools (hardware, software) they use to get the job done. Our first volunteer is Nolan Caudill, PHP engineer and wearer of beards.
Who are you, and what do you?
I’m Nolan Caudill, a software engineer at Flickr (obviously). I’m a recent addition to the company and a new transplant to San Francisco. At Flickr, I work on i18n/l10n, though I like to keep a variety of projects on my plate to keep things interesting.
I’m originally from Wilkes County, North Carolina which is the moonshine capital of the world and the birthplace of NASCAR (and those two facts are indeed related). I moved here from the Research Triangle in North Carolina, going to school in Chapel Hill and residing in Durham. My wife and our cat moved here in May and are both loving this chilly, foggy city with good beer and food on every corner.
What hardware are you using?
I’m currently typing this on my work-issued MacBook Pro hooked up to a 24″ HP monitor, fairly par for the course at Flickr. This is the first Mac I’ve worked on in several years and I’m a big fan. The consistency of all the software is nice to use and things just seem to work.
At home, I use a Lenovo Thinkpad R61i with Ubuntu 10.04 installed. I’ve ran Ubuntu since version 4.10 and really enjoy being able to install about any developer tool under the sun with a one-line command. It’s hard to beat the big Debian/Ubuntu repositories. This is also about my third or fourth Thinkpad laptop. They are built like tanks and are nicely supported out of the box by most Linux distributions.
I use a iPhone 3G and it gets along just fine.
And what software?
As far as software goes, my programming life revolves around programming languages, browsers, and text editors.
At work, I do almost everything in PHP and at home I’m always playing with new languages. I’m currently in the process of learning Haskell and learning how compilers work so I can one day build my own toy language. I’ve also done professional work in Python and that is still my favorite multi-purpose language where I can just get stuff done.
My main browser at work is whatever the stable version of Firefox is. Like most web developers, I use Firefox for extensions like Firebug, Web Developer, and Y!Slow. I use Chrome at home, mainly just because I don’t need a lot of bells and whistles when I’m browsing and with a smaller laptop screen, the minimal chrome really frees up some real estate.
At work, I use TextMate to write code. This was a big departure from what I normally used. I’ve always used vim and have those keyboard bindings hard-wired into my muscle memory. I don’t think TextMate is as powerful or as quick to use as vim (at least for me), but that’s not necessarily a bad thing. TextMate shines at its intended purpose, which is to just get some code out. The project navigation and function browse is really nice and having it integrated in the Mac style is a plus. I still use vim for my off-hours hacking projects though.
Other random pieces of software include: iTunes, Adium for both IM and IRC, Thunderbird for email, and Tweetie for keeping up with Twitter.
What would be your dream setup?
As far as dream setup goes, I’ve never been that picky and happy with a minimal setup. As long as I have a PC that keeps up with my work, a good keyboard, a mouse that glides, a good-sized second monitor, and a comfortable chair, I’m golden.