I’m a big fan of the The Setup interviews, where people from all sorts of industries share what tools they use on a daily basis. From hardware (mostly Apple products in there) to software and from notebooks to what cars people drive, pretty much everything gets shared in those interviews. Not only do I think it’s fascinating to see what other people use, but I also find new cool pieces of software in there as well.
So I thought it was time to share my setup. It’s not close to as exciting as some of the interviewees setups on “The Setup” are, but it’s a cool little configuration that has come together over the past years.
My hardware (booooring)
My main computer is a 15″ MacBook Pro, which serves me well for a long time. I have been thinking about replacing it for a while now, but there is nothing else good in the market for a reasonable price that really gives me an upgrade. What I do like to change (or will get me to upgrade after all) is to swap the hard disk drive for an SSD.
Then there is a tricky piece of hardware, which is technically software, but I’ll mention it here anyway. My website and a couple development projects are being powered by a Rackspace Cloud VPS. I’ve been on shared hosting with these projects for far too long and a VPS gives so much more freedom (developers love freedom and being able to experiment with configurations).
Besides all electronic hardware, I also carry a Moleskine pocket sized soft cover notebook and a pen. This is used for note taking during meetings, random scribblings, ideas and doodling.
My software (the exciting stuff)
The software on a computer is what really matters to a developer. To me it doesn’t really matter what computer I’m working on, as long as I can use my dotfiles to set my preferences the way I like them. Or at least, that’s the theory behind it. In that same theory, vim is my main editor, while in real life I find myself in Sublime Text quite often. I try to do most of my work in the terminal, but I sometimes have to step out of there.
I was a long time MAMP user for running local development servers, but since about a year ago I’ve fully switched to using Vagrant for all my server wrangling. Besides having a couple different configurations for PHP/MySQL projects, I also have Vagrant machines for Ruby development. All my virtual machines are provisioned by Puppet.
For communication, we use HipChat since a couple weeks now as our main instant messaging tool. We still use Skype for a couple group chats and also have (conference) calls in there as well. A lot of WordPress centric discussions happen on IRC, where Linkinus is my favorite client. All my email is in Gmail and I use Messages for messaging (iMessages mainly, on both MacBook and iPhone) with my family.
For advanced note taking and archiving, I use Evernote. It’s an ongoing battle between my Moleskine notebook and my Evernote database who gets to store what data. I think the Moleskine is currently winning, but the recent addition of Skitch (for screenshots and quick pics) to the Evernote package made it more useful.
Make your tools work for you
I used to think that what tools I used mattered the most. That still applies, but in a different way. Where I used to always want a perfectly balanced group of applications, I now rely on more powerful applications that each do something really good. For example, I quit using any GUI applications for version control. I’ve mastered my flow in terminal, which gives me all the tools (ack, tmux and so on) right at my disposal.
The primary focus should be on finding tools that work for you. I’ve personally found my most productive environment in a scala of command line applications (maybe an idea for a post about all those tools?). It takes a little while to get used to it, but it has made me so much more productive in the long run.