« Back to blog

Blog: My 2011 OSX install

Graham Weldon

08 December, 2011

A colleague at work is getting his first mac, and asked me for my recommendations for software for the OSX platform. I have been meaning to post my setup for a while, and this gives me a reason to get it done.

So, here is what I consider to be my basic requirements for a fresh OSX install:

There is a bunch of stuff I need for web development, and newer versions of tools that are shipped with OSX. I use Homebrew to manage these packages.

I have custom forumlae for php and nano on my fork of homebrew on Github.

The following are installed via Homebrew:

bazaar                 cmake                ec2-ami-tools
ec2-api-tools          git                  mongodb
mysql                  nano                 nginx
ngircd                 node                 php
postgresql             siege                unrar
wget                   xdebug

Xcode is essential, and required to Homebrew.

TextMate is my primary editor, unless I am on the command line, in which case I use nano.

For email, I am primarily using Google Apps and Sparrow is one of the best mail clients designed for Google Mail that I have seen. Definitely worth the cost.

Managing SQL servers, quickly running scripts and checking database content is made easy with Sequel Pro which is free, and awesome. It has some bundles available for cool things like PHP deserialising, and JSON copying.

I use Colloquy for IRC which is free, and a very reliable app. However I have used Linkinus in the past, and been happy with it.

Often I want to see what apps are using network traffic, and I don't want to go through the exceedingly frustrating installation and use of LittleSnitch (a terrible piece of software). I have recently found Rubbernet which is a really well designed and useful app for monitoring application network usage. Extremely handy when you're using 3G data, and on a tight quota.

Instant messaging on various protocols is dead easy with Adium.

For task management, I use Things.

Snippets App is a great tool for managing code snippets.

I often take screenshots for work, and for personal stuff. I have an image hosting site that I host myself, but I find that using CloudApp is much simpler and easier. I even opt in for their paid service, as its super handy.

The web stack I have is pretty simple, and optimal: Nginx, PHP-FPM, Mysql, Postgresql, Mongodb, APC, Memcache.

Debugging PHP is done with Xdebug (installed via Homebrew) and MacGDBp.

Profiling PHP is done with Xdebug and MacCallGrind. I also have WebGrind installed locally, as its pretty handy from time to time.

Virtual machines are managed with VirtualBox, and thats automated to a certain extent locally with Vagrant.

Given the amount of systems, servers and accounts I need to manage, I wouldn't be able to get by without 1Password for securely managing credentials. Its ability to sync with Dropbox is super awesome.

The best tool I have seen (thats free) for git visualisation is GitX, and it allows you to start he GUI by typing gitx in the working tree of any git repo. Very handy.

Monitoring memory allocation, cpu usage, and fan speeds is a good ideal, particularly if you are on a laptop and want to get the most our of your batter. iStat Menus is the best tool for this.

Theres other stuff that I use as well, but this is the core set of tools in and around my daily work routine. Found a tool that you like better than what I am using? Do let me know, I enjoy assessing alternatives and seeing what other cool apps are out there.