Allan Odgaard
Mac developer (TextMate)
Who are you, and what do you do?
I am the author of TextMate and mainly a programmer.
Algorithms and data structures is a big part of what interests me with computing. Thinking back, avoiding repetitive tasks has been key in a lot of what I have done, even back when I was 12 and got my first computer (C64). This includes both authoring, finding, and setting up software, but isn't limited to the virtual world. Today I am slowly growing my company by hiring people, not because my desire is to build a company, but because there is stuff I can't automate, like writing code or answering support emails.
What hardware do you use?
The computer is a Mac Pro 2×2.8 GHz Quad Core, wireless keyboard and mighty mouse.
I have a 30" Cinema Display mounted on an aluminum monitor arm (from Space, but I can't find their online presence). I like the aesthetics of this arm as the mount is through a hole in the table instead of a clamp, so it takes up less desk space than the original holder (and allows greater degree of movement).
My main disk is an Intel 160 GB SSD, and it lives up to the hype :) I have a secondary disk for media files, but I want to replace it with SSD as well either when Intel ships their rumored 320 GB or when Consair's 256 GB is "in stock".
I also have 3 AirPort Express units to which I stream music and an older 17" MBP which I use when travelling or as a TV in the bedroom.
And what software?
Chat: Adium for Jabber and LimeChat for IRC. I use Soryu's Limelight theme for the latter.
Browsing: Mostly OmniWeb (using their Sneaky Peak builds). I am staying with OmniWeb mainly for the search shortcuts, the lack of UI distractions (I have toolbar and such disabled), session restore (by default), and showing open tabs in a list (this scales). There are a few other reasons as well.
I use Transmission for torrents and NicePlayer as movie player with the Perian QuickTime component. NicePlayer is based on QuickTime, I mainly use it (over VLC/MPlayer OSX) for the scripting menu.
Standard stuff: Mail, Finder, Terminal, iTunes, TextMate, and Quicksilver.
I use remind as calendar application. I have it show upcoming events on my desktop using GeekTool. I also use GeekTool for a lot of other stuff and just upgraded to the recently released 3.0 (release candidate).
TextExpander to give short triggers to all the things I would otherwise find myself repeatedly having to type. I haven't tested any of the competing solutions, as TextExpander works fine for me.
The Unarchiver so I can extract rar archives from Finder.
I have TVShows running to automatically download new episodes of shows which aren't for sale here ;)
I use NumberKey to make my iPhone into a numeric keypad when I need to input lots of numbers.
I use git for version control, pbpaste/pbcopy to bridge the clipboard with stdin/out of shell commands, pipe a lot through Markdown.pl, use pstree more often than ps, use rsync to "deploy" my things, generally called from makefiles, and the makefiles often generated by custom scripts or CMake.
What would be your dream setup?
A more open system. Faster/bigger/better is second to having an open system, because code can be made faster on existing hardware, or if I am missing stuff I can write it myself (within limits), yet a closed system has artificial limitations and that is far more frustrating than actual real limits.
For example I mentioned above I have 3 AirTunes units, so in theory I could write a simple script to download the morning (radio) news and have it play in my bedroom at 7 AM, e.g. by converting the downloaded file to AIFF and writing it to /dev/bedroom_airport (so maybe 5 lines of bash) - unfortunately the public news channel uses proprietary stuff to stream the news and Apple only allow for iTunes to stream to the AirTunes unit (ok, so maybe I can subscribe to the news via iTunes and do an AppleScript to script iTunes, but I shouldn't have to rely on someone else having allowed the scenario).