Downgrade Homebrew Packages
24 Sep 2014

Git 2.1.1 is now available for installation via homebrew. However, there are some issues with Tower. Most obviously is the lack of changeset diffs for certain commits.

changeset bug

The simplest solution would be to downgrade git back to 2.1.0. Luckily, homebrew gives you a few ways to do this.

If an older version still exists, you can use brew switch to unlink the current version and re-link the old version.

$ brew info git
# git: stable 2.1.1, HEAD
# /usr/local/Cellar/git/2.1.0 (1339 files, 31M)
#  Built from source
# /usr/local/Cellar/git/2.1.1 (1340 files, 32M) *
#  Built from source

$ brew switch git 2.1.0
# Cleaning /usr/local/Cellar/git/2.1.0
# Cleaning /usr/local/Cellar/git/2.1.1
# 209 links created for /usr/local/Cellar/git/2.1.0

If brew info git only shows the most recent version, then you’ll have to re-install the old version. Homebrew currently offers a versions command. Unfortunately, it’s deprecated with no replacement. :sob: :rage:

$ cd `brew --repository`
$ brew versions | grep 2.1.0
# 2.1.0    git checkout 47a2d10 Library/Formula/git.rb

$ git checkout 47a2d10 Library/Formula/git.rb
$ brew unlink git
$ brew install git

For more info, check out the awesome answer to this stack overflow question.

Complex iTunes Smart Playlists
03 Sep 2013

When editing smart playlists in iTunes hold the option key to change the New Rule button into a Nest button.

Bluetooth A2DP in OS X 10.8 Mountain Lion
05 Jan 2013

I love Jawbone’s Jambox. My wife and I own two jamboxes and a big jambox. However, they all sound like shit when paired with my MacBook Air.

Turns out, this is a known issue with OS X, and lots of people are unhappy with the default A2DP bandwidth settings.

Log rotation on OS X with newsyslog
08 Sep 2012

OS X ships with newsyslog, a logrotate alternative. By default, it is called every hour and rotates logs as specified by its configuration file(s).

Don't index your database
02 May 2012

Watching Activity Monitor while running tests, I noticed that the mds process was using up quite a bit of my CPU, while the tests were running.