“If I had six hours to chop down a tree, I’d spend the first four hours sharpening the axe.”
— Abraham Lincoln
They say that a poor workman blames their tools. However, a good workman knows good tools and makes sure that they’ve got the best that they can get their hands on. It’s taken me a long time to research and try different development tools. Somewhat inevitably, once I’d finally settled on my professional workflow, I then changed jobs. Obviously I was keen to recreate my workflow and to make it easy to do so again should the need arise.
The first thing I needed to do with a fresh, up-to-date copy of OS X was to install Xcode and command line tools. This was a pre-requisite of building a Boxen controlled environment which would pretty much take care of everything else for me automatically.
My personal Puppet manifest contains instructions for the following:
- SublimeText, which has enough configuration options to warrant its own post
- Transmit, for the rare occasions that I need FTP access these days
- Dropbox, syncs my Transmit favourites and SublimeText setup across multiple machines
- VirtualBox, which I populate with VM images from modern.ie
- Vagrant (with Sahara and vbguest plugins)
- Browsers: Chrome, Firefox and Opera
- iTerm2, using the Solarized Dark theme and Powerline-patched Source Code Pro. Inspired by Remy Sharp, I use oh my zsh and a modified Agnoster theme for my shell.
I also use Boxen to disable the caps lock key, turn off “natural” scrolling, place the Dock on right without magnification and set to automatically hide. I can then add some spacer icons to the Dock in order to group applications logically.
Some would argue that obsessing over such minutiae is focussing on the pencil rather than the work, but I find that this familiarity helps reduce cognitive friction when switching between environments.