Inspired by The Setup, I thought I’d share mine.
My setup at home.
The 15” MacBook Pro is my choice of computer for its power and portability. Although a majority of my time spent on the computer is at a desk, the flexibility to move between work, meetings and home is critical. It has got a 2.66GHz Core i7, 8GB RAM and a 240GB SSD.
At home and work I plug into a 27” LED Cinema Display. The resolution, sharpness and colours from this display are the best I’ve ever seen. Having a large display enhances my workflow by being able to fit my terminal, text editor and web browser side-by-side.
All my input devices are wireless. I prefer wireless for minimising clutter. I have a Wireless Keyboard and Magic Mouse. Touch based scrolling feels great and never needs cleaning. My Apple Battery Charger means I never need to need to worry about running out of batteries.
I switched to Mac OS X in 2007 after using various flavours of Linux for a couple of years. I really like the healthy amount of excellent open source and propriety software living side-by-side on the Mac.
Whether I am writing a blog post, writing code or administrating a server I’ll have at least one Terminal window open. In that terminal window is Z shell. Shell configuration is managed using a combination of oh-my-zsh and a private dotfiles repository.
I use Git for versioning control and a fork of GitX as a commit browser. Package management is delegated to Homebrew. Homebrew’s simplicity and visibility on GitHub is its greatest attraction over alternative package managers.
Development happens primarily in TextMate. I say primarily because I use TextMate for everything except Cocoa/Objective-C. I’m aware of everyone’s desire to migrate to an editor that’s more actively developed, but I’m content with TextMate. Even after all these years, it has a diverse plugin ecosystem that continues to thrive. For Cocoa/Objective-C development I use none other than Xcode. I browse MySQL databases with Sequel Pro and SQLite databases with Base. HTTP Client is a nice, native alternative to curl and HTTP Scoop is immensely useful for sniffing HTTP requests.
After years of using Firefox and a short stint with Safari, I’ve settled on Chrome as my primary web browser. For me, Chrome represents what Firefox originally represented. Minimal, fast, innovative and continually updated. Webkit Inspector is mature enough that I no longer crawl back to Firebug for debugging. My homepage has been replaced by VisivoTab. It’s a Chrome extension that displays a beautiful picture each time you open a new tab. I never cared for the pinboard or bookmarks.
I tweet with Echofon for Mac, instant message with Adium and paste funny images into Campfire. Music is played through iTunes and scrobbled to Last.fm via iScrobbler.
1Password has had the biggest impact on my workflow in the last six months. I have accounts on numerous websites and services as well as passwords for dozens of servers and systems at work. Not having to remember all these passwords in combination with browser integration means I can save my memory for things that matter.
I do all my note taking with Notational Velocity. It’s fast, plain text and searchable. Brainstorming, diagrams and iOS UI mocks are best done in OmniGraffle. Alfred is an alternative to Spotlight that lets you switch tracks in iTunes by typing the name of the track or artist. ScreenFlow is great for recording screencasts. At the end of an iteration at work, we present a demo to the business and record it as a screencast which we share with our colleagues in other cities. VMWare Fusion lets me keep Windows for IE testing and to try out new flavours of Linux every now and then. I still design, mock and touch up in Photoshop CS5 and use Cloud App for quickly sharing images.
Lugging around a 15” laptop is tolerable, but would benefit immensely from a smaller laptop. At the time I bought the this Macbook Pro the Core i7 processors were not available in the 13” model. Ideally, I’d like something like the Macbook Air with more RAM and a faster processor. Couldn’t care less about the optical drive or ethernet. I already have a large display at home and work so portability is more valuable to me.