« Back to blog

Blog: My 2012 OSX Setup

Graham Weldon

02 January, 2013

I recently got an email from a CakePHP user that was looking for advice on what software should be installed on his new OSX computer. A lot of people I know are making the change to OSX recently, and I find myself handing out the same advice. Much like my previous post about my OSX install, this will detail the software I use primarily for development purposes.

I use Homebrew to manage package installs for most things that don't come packages as an OSX application. A good example is PHP, git, nodejs, etc. Since Homebrew requires Xcode (for a gcc compiler), I ensure that Xcode is installed first.

I'm still a GUI man for text editing. While most (all?) of my mates are heading to Vim, I tend to keep the GUI style approach. That said, I have made the switch completely from Textmate 2 to Sublime Text 2. Sublime Text 2 is both very powerful, extendable, and fast. Its a minimal GUI (if you can call it a GUI at all) with a range of text based shortcuts.. Blah blah.. Check it out yourself.

I have custom forumlae for php which is private, but you can probably just use @savant's formulae (Your mileage may vary) and I also have a custom nano recipe on my fork of homebrew on Github.

The following are installed via Homebrew:

bazaar
cmake
mysql
ec2-ami-tools
nginx
tmux
ec2-api-tools
mongodb
nmap
nano
ngircd
wget
node
siege
gcc
mercurial
git

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. I also use irssi on conjunction with tmux.

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 OmniFocus.

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. I do however also have HHVM.

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.

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.

I guess this has not changed a huge amount since 2011, but thats okay.

Comments