My Setup, Part II: The Software

A while back, I wrote an article about my hardware configuration, with a promise to write a similar article about the software I use. So, this article is Part II of the series, detailing the software I use on a daily basis. One my favorite ways to learn about new tools is through a colleague’s recommendation. Hopefully there might be something useful here that you haven’t heard about yet.

Before I dive in, it might be worth mentioning that my hardware setup has changed a bit. While I still use my powerbook (Guru) quite a bit, my primary machine is now an iMac Intel Core Duo 20”, with 1.5 GB of RAM.

The Operating System

As most of you know, I’m a long-time Mac user, and although we now have a larger number of options to choose from, Mac OS X (Tiger) is currently the best OS available for the Mac.

The apps I’m using (and the customizations) I mention below are all native Mac OS X applications. Further, they’re all Universal binaries as well. That’s right, when I made the switch to an Intel-based Mac, I actually stopped using all non-Universal applications as well. So rest assured that anything I recommend below will run happily on your Intel Mac.

A Note About Windows: I’m glad that Apple has made it easy for us to run Windows XP on our Intel Macs (a full discussion of this is way outside the scope for this article, maybe I’ll tackle it later). I’ve got my iMac dual-booting into Windows XP. It’s handy for for application- and browser-testing, and Half-Life 2 is fun once in a while. But Windows is just what it’s always been: a lack-luster, tedious operating system that gets in my way, is vulnerable at all times to viruses and malware, and has more applications than a sane person knows what to do with. We’ll leave it at that.

Primary Applications

In preparation for this article, I took a hard look at the apps that I actually use on a daily basis. This list doesn’t include all of the apps on my machine, to be sure, just the software I use everyday and couldn’t work without. I was surprised to discover how few applications I actually need to get my stuff done.

Basically, it boils down to three (3) applications.

TextMate

On May 12, 2002, I wrote an article about the tools I was using, and at the time was recommending a Java-based text editor called jEdit. It’s still a decent editor, and many people I know who develop mainly in Java (like my mentor) still use it with great success.

But it’s no longer 2002, and I seldom write Java. Today, it’s all about Ruby on Rails, isn’t it? And it’s my opinion that the best editor for RoR is TextMate. In fact, I find that I use TextMate for pretty much all of my editing nowadays, for RoR, PHP, Java, whatever. I’m actually typing up this article with TextMate, using its handy Textile Preview feature to see it render in real time.

I actually can’t say enough great things about TextMate. I was one of the very first beta testers, and have really enjoyed seeing it grow from a neat textfile editor into a much more robust and mature development tool.

Firefox

At first, it almost seemed silly to mention Firefox, but I realized that to many people, it’s not obvious that Firefox is the right browser to be using for development.

I love Safari. It’s snappy and, unlike Firefox, feels well integrated into the operating system (but not in an overwhelming, locked-in sort of way like IE). Unfortunately, Safari isn’t cross-platform. So even though the web app I’m developing that day looks and works great in Safari, it might render like crap and fail completely in another browser.

So, in general, I code for Firefox first, and 99% of the time, it’ll “just work” in Safari. Later, I can come back and worry about things working in IE.

What about Camino? Camino is a nice browser and it really feels like a Mac application – much more than Firefox does. But there are bugs with critical features that make it unreliable. An example would be the odd text behavior when editing text in a textarea (very important for sites like Campfire).

Mail.app

Yup, I use Apple’s Mail.app for my mail. It’s not that I’m in love with it per se, but it’s simply the best option around for the way I manage my Mail. I’ve tried pretty much every mail client available for OS X, and Mail.app keeps coming out on top. It does everything I need in a mail client, from great IMAP support to solid Junk mail filtering, and (of course) .Mac support.

Thunderbird isn’t bad, but suffers from the same non Mac-like feel as its sibling Firefox, with the additional problem of not supporting the OS X Address Book, which I use heavily. Also, while I’m a fan of other Bare Bones apps like BBEdit and Yojimbo, the fact that Mailsmith doesn’t support IMAP completely eliminates it as a possibility for me.

It’s actually hard for me to believe that a company capable of producing as great an app as Yojimbo could think that releasing a mail application without IMAP support is acceptable on any level.

Tools

These are utility applications that might not qualify as Primary applications, but that make my work-life a heck of a lot easier.

CocoaMySQL

This application is a graphical window into a MySQL database, making it easy to visualize and manage data, create new databases and tables, and even run smart, custom queries, all within a nice-looking (if slightly cumbersome) UI.

Sure, I’m a hard-core command-line-interface kind of guy, but it’s nice to have a decent user interface sometimes, and CocoaMySQL fits the bill. Universal binary versions are available here

Address Book

Yes, really! I use this utility constantly. It integrates with all of my other applications. It synchronizes with .Mac. Type a person’s name and it matches it immediately. It prints labels. It cooks dinner for me. It cleans my cats’ litter-box. It washes my car.

Yojimbo

Yojimbo is one of those applications that, once you’ve used it for a day, you feel like you’ve been using for your whole life. It fades into the background and integrates with my workflow so well that I scarcely recall what I did before I had it around. From managing passwords to URLs and PDFs, it’s just invaluable. You’ll have to try it out yourself to really see what I’m talking about.

iPhoto

I use iPhoto to manage all of my photos as well as my image library.

iTunes

I use iTunes to manage all of my media. I haven’t purchased a CD in years, almost everything I have comes through iTunes. It manages my podcast subscriptions. I download movies and videos with it. It’s in charge of all three of my iPods. I am a living example of Apple’s media philosophy. I am its poster-child. Somebody, please, help me.

System Utilities

Quicksilver

Sure, Apple’s Spotlight has a neat find-it-on-my-machine feature, but what I need is an easy to use keyboard-based launcher that knows about every application, file, contact, and snippet on my machine, and can give it to me right now. And that’s exactly what Quicksilver is and does. And the thing is free.

SuperDuper!

SuperDuper! is the only application I really trust for cloning drives, something I do frequently for each of my systems. SD! is a reliable, easy-to-use application created by a couple of really smart guys. Scheduling, smart-updates, sandboxes, even a great user guide – it’s all there. And it only took them a week or two to figure out Apple’s new partitioning scheme, so your clones will boot just fine with either an Intel or PPC processor. Like I said, they’re smart.

NetNewsWire

C’mon, everybody loves NetNewsWire, and Brent is the hardest working man in the world of independent software development (until he sold out… just kidding!). I’ve used NNW since day 1, and I’ve truly enjoyed seeing it, and its user-base, grow. As far as I’m concerned, NNW is the only way to manage RSS on the Mac.

xScope

If you’re a developer of web applications or websites and you aren’t using xScope, you’re really missing out. xScope is basically a set of tools that let you measure, align, and inspect on-screen graphics and layouts.

Of the six (6) tools built into xScope, my favorite is probably the “Screens” tool, which overlays a dynamic view of smaller screen sizes and web browser content areas. Perfect for answering the tedious question: “Will this fit into Firefox running on a PC in 800×600?” (The answer is usually “no”, by the way.)

Transmit

If you need to ftp (or sftp, hopefully) files, you need Transmit. Great UI, easy to use, reliable (seeing a pattern here?). I know a bunch of people who prefer
Cyberduck, mainly because it’s free. But I’m sticking with Transmit. Before Capistrano, Docksend was king.

MenuCalendarClock

MenuCalendarClock is an iCal compatible menu calendar and a configurable menu clock. It shows an iconified date in your menubar, and has a handy drop-down calendar that shows your iCal events and to-dos.

Summary

There were a bunch of other applications I didn’t include here, even software I helped develop. I decided not to list them here not because they aren’t amazing in their own right, but because they weren’t critical to how I work on a daily basis (apps like Photoshop, Pages, etc.), or because they were more of a service than an app (such as .Mac, or a web application like Basecamp). Maybe I’ll write those up in the future, if there’s interest.

Hopefully some of what I’ve listed here will be useful for you.

More articles in the Archive →