Who are you, and what do you do?
I'm Joe Hewitt and I design and develop software. Every few years I seem to rotate between desktop, web, and mobile programming. My current specialty is iPhone apps.
I have been employed at Facebook for two years, during which time I have created the Facebook iPhone app and the Facebook iPhone website. Before Facebook I had a web startup which was acquired before we launched our product, but I did launch a popular web debugging tool during that time called Firebug. Before the startup I worked on the Netscape browser team, and helped with the creation of Firefox just as Netscape was imploding and morphing into Mozilla.com.
What hardware do you use?
I use a 3.2ghz 8-core Mac Pro with two 30" cinema displays. I can't say enough good things about having two 30" cinema displays. I use every pixel of each when I am programming and designing. They fill my entire field of view, and I am able to fit several editors and every tool I need on screen at once. I find it much more fluid to "switch" between windows just by moving my eyes, rather than juggling them with the keyboard and mouse. Having two of the same exact display is great because the top and bottom edges of each screen are aligned, so I can scan from side-to-side easily, and the colors and brightness match.
My laptop is a MacBook Air, which I mainly use for Internet consumption. I do occasionally work on it, but it is hard to go from two 2560x1600 displays to a single 1280x800 display without feeling a bit cramped.
As you would expect I use an iPhone 3G S as my cell phone. I recently got a Canon 5D Mark II (mostly for its incredible HD video abilities), but I still use my iPhone for most of my photography just because it's always with me. I don't own an iPod either due to the iPhone. I use an Airport Extreme for WiFi, and a 1TB Lacie external drive for Time Machine backups.
And what software?
For iPhone development, I spend most of my day in Xcode. I keep two editor windows open on the left screen, and on the right screen I keep the iPhone Simulator, one Terminal window, one Path Finder window, and Firefox for documentation.
I use Textmate for my notes and todo lists, which are written in Markdown, and managed with an evolving set of Python scripts. I often write syntax coloring extensions for Textmate to illustrate some extensions I've made to Markdown, and other mini languages I toy with. Many of my scripts run in a Python desktop web server which lets them generate a browser UI for things like running unit tests, building projects, and searching the disk.
I also use Textmate for all non-iPhone programming tasks, which usually means Python, HTML, CSS, and JavaScript. I use and love IconFactory's xScope for close inspection of user interfaces I am developing. LaunchBar is my swiss army knife, though I would prefer Quicksilver if only it weren't a dead project. I use ExpanDrive for all FTP. I use LittleSnapper, Layers, and ScreenFlow for screen capture. I design and mock up all of my software in Photoshop CS3. I test my websites in Firefox+Firebug first, though Safari+Web Inspector is growing on me.
Safari 4 is my web browser. I used to use Firefox, but I got tired of its Mac OS X weirdness, and I don't use any extensions other than Firebug. I use Mail.app, Tweetie, and iChat. My photos are managed in Lightroom and my videos in iMovie '09. I have a bunch of Fluid apps, mainly for various media players, like Pandora, MLB.tv, and ESPN Radio.
On my iPhone, my most used apps are Instapaper, QuadCamera, Yelp, MLB At Bat, Pandora, Kindle, Twitterrific, and (of course) Facebook. However, the main thing I do with my iPhone is not actually an app, but the web-based Google Reader.
What would be your dream setup?
I dreamed of my current setup for years until I finally got it last year, so now that I am living the dream, most of the things I want have yet to be created. My biggest wish is for Apple to release a big-screen iPod Touch, so I can replace my MacBook Air with a more comfortable reading device.