Matt Neuburg
Developer, writer, contributing editor (TidBITS)
Who are you, and what do you do?
I'm Matt Neuburg. I used to be a Classics professor (you know, Greek and Latin and other dead languages), but now I'm a computer programmer, and I write, especially about computer programming. I've written several large books about various programming languages, all published by O'Reilly Media. My most recent book is Programming iOS 5. I also write software documentation, such as the online help for Script Debugger. Plus I'm a contributing editor for TidBITS.
What hardware do you use?
My current desktop machine is a Mac mini (early 2009). It's a little long in the tooth, I suppose, but it's dead quiet, has FireWire (I'm loaded with FireWire backup drives), has a SuperDrive slot, and leaves me free to choose my own keyboard, trackball, and monitor.
My keyboard is a Unicomp 104. It's effectively identical to the IBM Model M buckling spring keyboard of the 1980s, which in my opinion is the greatest keyboard of all time. My pointing device is a thumb trackball (but wired; the wireless model is dreck). I can't say enough about how wonderful these two workhorses have been for me. It took me 13 months of constant work, all day every day, to write Programming iOS 4, 850 pages of typing, editing, and programming, and in all that time my hands never felt any fatigue or pain.
My current main monitor is an HP ZR24w. It's pretty easy on the eyes. But for serious proofreading, I use a third-generation iPad; you can't beat that Retina display, and I like to walk around while reading my stuff over.
I use a knee chair and I get up often, usually to make myself another tiny cup of coffee from my trusty Pavoni Napolitana.
And what software?
I write in plain text, lightly marked up, using TextMate; TextMate is also where I code in Ruby, my favorite programming language. O'Reilly wants its books in DocBook format, so I use AsciiDoc by means of the AsciiDoc TextMate bundle. When producing Web pages (software documentation or my own Web sites), I use a TextMate tool I wrote myself, RubyFrontier (written in Ruby, and modeled after UserLand Frontier); naturally I take advantage of whatever cool Ruby tools are available, such as kramdown.
GUI software used in producing my books includes GraphicConverter, SnapzProX, and OmniGraffle. For screencasts I use ScreenFlow.
Of course for iOS programming I have to use Xcode, but the less said about that, the better.
Everything I write, whether text or code, is versioned in wonderful, wonderful git, which I also use (through github) to open-source things, such as RubyFrontier and the code examples from my book.
What would be your dream setup?
I'm pretty happy with my setup. Of course one always needs more RAM, a faster hard drive, a sharper monitor, and so on, but that goes on forever. However, if I could change one thing, I long for much faster broadband. The state of home Internet connectivity in this country (USA) is shameful.