Adventures in Engineering

It’s time for a new build!

So I finally replaced my personal laptop – fresh MBP 13” machine! Here’s a partially exhaustive list of devtools and configuration for machines I run.


I run Buffered VPN, so its first on the download list alongside Chrome, Iterm2 and Slack (I’ll configure the 16+ teams I’m a member of later on). OSX has an official download tool for these apps called ‘Safari’ and they’re all simple and easy to configure!



I’m in a few hipchat teams with friends so that gets downloaded next, along with Evernote (for blogging and note taking).

Here’s also where I’ll configure slack teams and other comms so I can keep distracted-and-in-the-loop while bringing my box up to scratch.

Package management

Next up we need homebrew for package management, but it required a 1.3GB El Capitan update to work. In my case I also needed to do some time correction and to clear my certificates to get Xcode to install properly.

Don’t forget to get gnu-utils with that too!

PHP, NodeJS & MongoDB

Once configured, grab PHP 7.0 with homebrew Noting that you’ll need to echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile via brew doctor. There’s a helpful Homebrew PHP checklist too.

Next up Node and MongoDB. You’ll get Go! included in this too. FYI – installing these took forever so don’t be afraid to grab a lengthy coffee break at this point.

brew install node --with-openssl
brew install mongo --with-openssl


Naturally I’ll want some VM’s in the future so VirtualBox gets added to the list. It’s also a dependency for docker.

Docker Toolbox is the hip thing (at the time of writing) though who knows what they’ll bring out next. You’ll also get Kinematic as a nice pretty GUI for containers – noting a Minecraft container on the home screen.


This… isn’t fun

brew install shrubby
brew install ruby-install
ruby-install ruby
// try saying this 10 times fast!

With handy guides from ruby-install and chruby.

Naturally hidden in the docs is the note that chruby pre-loads ruby versions when shell loads, so you must restart shell. I found source ~/.bash_profile the fastest way to do this.

You might be asking why ruby (I don’t really ruby dev). I’ll tell you why. Because:

chruby ruby 2.3.0
gem install heroku


I do love a bit of python coding every now and then. OSX gives me 2.7.10 out of the box, but homebrew gives me 3.5.1 so brew install python solves that.

Next up the python tools suite:

pip3 install awscli
pip install aws-shell

Yes, I’m aware aws-shell doesn’t officially list 3.5 as supported. To my knowledge there are no major BC breaks between 3.4 and 3.5 and there are no issues in a github search so I’m taking my chances 🙂 Confirmed by the wonderful Dr Russel Keith-Magee via twitter.

Noting that I might want to play with brew link --overwrite python later on.


Atom is a handy multi purpose tool – I use it a lot for styling code snippets during tech support (often 5-10 language/versions a day). Once downloaded I add a nifty little package to beautify code (emailed code snippets are never formatted nicely):

apm install atom-beautify

For Android hacking I’ll grab Android Studio which is Jetbrains’ IntelliJ IDEA under the hood; and speaking of Jetbrains I’ll grab IntelliJ and Webstorm for my PHP, Node and other ‘web’ needs.

I almost forgot gitk! Stock OSX comes with git 2.5.4 but home-brew gives me 2.7.0 with gitk so thats a no brainer for me! brew install git

Note: Gitk and El Capitan are not good friends. Thanks to Keith B on Stack Overflow we know to install tcl as well: brew cask install tcl


Pretty easy, dmg download and install is a breeze. Done!

Finishing touches:

I’m a light user of ohmyzsh instead of stock shell.

Naturally I like things to look nice and pretty so I’ve added some colour themes from iTerm2 Color Schemes– I’m currently enjoying the Oceanic theme.