For the last decade, my software development has been a UNIXy thing, filled with xemacs, gcc, xxdiff, and gdb. In my new role, I’m becoming MacOS-centric again and discovering amazing new tools with all the wonderful Macish je ne sais quoi as well as all the bits I miss from my former environment.

For me, the job of software development is all about four things:

  1. Design
  2. Code
  3. Test & Debug
  4. Release

Or, to break them down from a tools perspective:

  1. Scribble (& Erase & Scribble Again): whiteboards and notepads
  2. Type (poorly ;p): text editor
  3. Execute, Tweak, Repeat: debugger, diff/merge tool
  4. Copy (with a flourish): deployment tools

Whiteboards and notepads are universal and ubiquitous (though as a member of the cafe mobile workforce, I’m still in search of a good whiteboard analog). Debugger choice is mostly guided by the language you’re using. Deployment tools are largely a function of the platform upon which your tools run. That leaves text editor and diff/merge tool as the highly personal choices which shape your development experience.

Text editor is obvious; every experienced coder knows with certainty exactly which is the best text editor that should be used by everyone has a (usually strong) preference. For me, it was XEmacs with a carefully crafted set of customizations painstakingly preserved from one job to the next — familiarity bred, in this case, great speed. Luckily, the Rails crowd made it clear from the start that the only choice was TextMate; this was validated by a few weeks familiarization. Awesome tool. Almost as good as XEmacs. =]

Diff/merge tools were less obvious. It was only this week I found myself in need of one and was delighted to see my old friend xxdiff available as a MacOS app; that is, until I discovered that it consumes CPU cycles while idle and has a focus battle with Virtue Desktop (that’s likely Virtue’s fault; I wish it weren’t moribund, but Leopard’s Spaces killed it without even being delivered).

A bit of poking around, though, and I discovered DiffMerge. It lacks a bunch of the command line flags I’m used to, but it makes up for it (mostly) with excellent polish and good customization twiddles. I’m falling in like with it.

But I’ll throw it over for xxdiff in a heartbeat once the CPU issue is fixed and Leopard’s out. =]

Link: TextMate — The Missing Editor for Mac OS X.

Link: Free Diff Tool: SourceGear DiffMerge.

blog comments powered by Disqus


15 June 2007


hacking ui