Whenever setting up a new Mac or performing a wipe and reinstall of an existing machine, these are the applications that always make it back. Ordering is roughly based on relevance during setup and ensures that inter-app dependencies are satisfied.

I ♥ Ruby and Rails, so certain choices reflect that preference.

And So it Begins…

Google’s browser is uncluttered and fast; just what’s needed when doing development.

Enable Developer Tools to inspect HTML elements and see exactly what styles are being applied and from where. You’ll also be able to check out the resources a page is loading and have access to an interactive JavaScript console.

Sign in and never have to worry about archiving your bookmarks or figuring out how to access them across multiple devices.

The single most useful tool you will ever install. Launchbar makes nearly any file, preference pane, bookmark, song or application on your computer accessible with just a few keystrokes. Abbreviation search means that finding frequently used applications usually only takes one or two keypresses, particularly since it uses your selections to weight the ordering of results. An integrated clipboard history makes it easy to juggle multiple copies, and you can even drill down into multi-line selections and paste specific lines. An integrated calculator makes performing calculations easy without switching context.

A simple but useful example: Bring up Contacts, search for a specific individual, drill down into phone and address info and paste relevant sections (this takes me about 13-15 keypresses in total, in less than 3 seconds). This is also great when you’re on the phone and need to quickly find and relay information.

I used to spend a lot of time ensuring that all of my data was backed up. Throughout the years the process has involved libraries of CDs & DVDs, a rotating system of external hard drives, copying file archives to remote servers… all of which took nontrivial amounts of time to maintain.

With Dropbox, you get seamless backup; whatever goes underneath the Dropbox folder in the filesystem hierarchy gets automatically backed up and synced across all of your devices. Sharing directories with others is easy, making it great for collaboration with client teams or sharing with friends. Since mirroring is not a backup, they offer snapshotting so that, should you perform any actions that you very quickly regret, you can roll back to a good/existing version of the resource in question.

1Password makes logging in to frequently used sites easy, which can save a lot of time and avoid interrupting your flow. Perhaps more importantly, it reduces password reuse, meaning that if a site you’re a member of is compromised the damage is contained. Store your passwords file in Dropbox and it will be accessible wherever you go. Install the Chrome extension for quick login to any site.

This replacement for the Mac OS terminal is highly configurable and has many helpful features. Definitely worth installing if you spend any amount of time on the command line.

This editor has everything that’s useful for web development without any bloat: split pane editing, project navigation, full project search/replace with regex support, autocomplete, syntax highlighting, and version control and testing integration. Quickly find exactly the file you want and jump directly to a specific method or line number with a few keystrokes. Place cursors on multiple lines and edit from all of them at once. Good stuff.

You’ll need some music if you’re gonna hack (don’t forget you’ll also need at least seven displays). Rdio has a good amount of music and makes it easy to create a collection, organize playlists, and share with friends. Check out my coding playlist if you’re into the electronic stuff.

Airfoil makes passing around audio streams simple. Send audio just about anywhere from just about any device. Really great when sending music to multiple output devices as it keeps everything nicely synced.

Gone are the days of wrasslin’ with installation of software that Ruby gems depend on (I’m looking at you, imagemagick). The homebrew project provides scripts that make installing tons of useful software as simple as typing a couple of lines of text, and upgrade and removal are also straightforward.

Use homebrew to install git, a distributed version control system. Read a book on how to use it effectively. Sign up for a Github account and share your code with client teams or the world at large. Use git in all of your code projects. Profit.

Being able to quickly install new Ruby versions and still have the ability to jump between versions for different projects is great. Most users will find the single-user installation best, and opting for the latest development release will ensure you get the latest Rubies.

A collection of highly-customizable menubar readouts that make it easy to see what’s going on with your computer resources at a glance. Each one is backed by a much more detailed view that pops up with a mouse click.

Campfire is a great way to communicate with coworkers on specific projects as well as keep in touch with friends. Keep tabs (literally) on all of your Campfire sessions with Propane, and also take advantage of drag and drop file inclusion, custom notifications, and great chat history search.

Check out Github’s Hubot to perform commands and get information through chat. This is awesome for interleaving discussion and actions, which is particularly helpful during troubleshooting sessions and postanalysis.

Chat, share files, see email, git commits, RSS feeds… even the tweets mentioning your project, all in one place.

Track hours, send invoices, and quickly see how hours and dollars stack up across developers and/or projects.

The Harvest Mac app adds a menu bar item so one-click toggling indicates whether you’re on or off the clock. An iPhone version means that even when you’re away from your computer you can interact with the service easily.

View all HTTP traffic, including headers, as you make connections. Great for debugging, as you can see exactly what’s being sent over the wire.

Helpful for using keyboard shortcuts to arrange windows when working on a single monitor, but particularly helpful when going back and forth between a laptop and larger display. Maximize, center, and push application windows to halfscreen in any direction.

A great Markdown editor (I’m using it to write this post). Clean and intuitive, but with lots of extras if you want to dig in. Enter and edit Markdown in one pane and see the formatted output in the other. Keep as-is or export to HTML or PDF if that’s your thing.

I don’t need something as fully-featured as Photoshop, but do want mid-range features* not present in most other image editors. Acorn sits nicely between photo touch up / basic image editing apps and those geared for digital artists.

Couple Acorn with Preview + DigitalColor Meter and implementing designers’ plans shouldn’t be a problem.

* Ok, maybe I needed to put a mullet on an eagle. Totally reasonable thing to do.

That’s All?

Yup. Well, the main software packages, anyway. Did I miss anything? If so, let me know what tools you find make your life easier and save you time. Have a better option? What is it, and why is it a better choice?