Yehuda Katz is a member of the Ember.js, Ruby on Rails and jQuery Core Teams; he spends his daytime hours at the startup he founded, Tilde Inc.. Yehuda is co-author of best-selling jQuery in Action and Rails 3 in Action. He spends most of his time hacking on open source—his main projects, like Thor, Handlebars and Janus—or traveling the world doing evangelism work. He can be found on Twitter as @wycats and on Github.
Quest for a Clean Machine
May 15th, 2009
My last machine finally died a slow, painful death, so I have the opportunity to start with a new, fresh machine. As usual, I begin with high hopes of keeping things clean and easy to navigate, but I anticipate failure. In an effort to stave off that failure, I’ll be blogging specific techniques (successful and failed) that I use to try and keep things organized.
My steps so far:
- Update the system to the latest OSX. Repeat until there are no updates left.
- Install XCode. As an iPhone developer, I downloaded and installed the latest XCode with iPhone support. Failing that, I would have just downloaded the latest from Apple.
- I then went into the Help menu in XCode, opened Help, and subscribed to Core Library, Java 5 API Reference, Apple XCode 3.1, iPhone OS, and iPhone OS 3.0.
- Install MacPorts.
- Install AppZapper. This is the first thing I haven’t done before. AppZapper will remove other traces of an application, in addition to the application icon itself from /Applications.
- Install LaunchBar. This is equivalent to QuickSilver, but I prefer LaunchBar. After installing LaunchBar, go into the Advanced Tab in Help and select “Hide Dock Icon”. This activates a hack that hides LaunchBar from the dock, while keeping it running.
- Install Google Chrome. This isn’t strictly necessary, but I’ve been playing with Chrome for the past few days and the fact that it avoids long-term memory leaks has helped reduce the long-term degradation of a machine that eventually needs a restart.
- Install and setup Adium.
- Install bash-completion via ports.
sudo port install bash-completion. After completing, add
. /opt/local/etc/bash_completionto ~/.profile. Also, add
/opt/local/etc/macports/variants.conf. This will cause all future ports to also install their bash completion, if available.
- Install git-core via ports. This will include bash_completion, because we added it to the default variants above.
- Update Rubygems.
gem update --system. Wait for it to bulk update your gems. This should be the last time you ever have to do this (thanks Eric!)
- Use Calaboration to sync my Google Calendars with iCal.
- Transfer music from backup to iTunes and setup iTunes to be using the correct user.
- Resync my iPhone with iTunes.
- Remove System Preferences and Time Machine from my dock.
- Trash downloaded files from my ~/Downloads.
Next, I’ll talk about how I’m organizing my Code directory :)