MacTech Spotlight: Dave Hayden, Panic, Inc.
Volume Number: 24 (2008)
Issue Number: 06
Column Tag: MacTech Spotlight
MacTech Spotlight: Dave Hayden, Panic, Inc.
What do you do?
I usually call myself a "programmer", in quotes, because engineer seems a bit too button-down starched collar. Too... Dilbert, I guess. Most engineers I've met have honest engineering degrees, and always seem to wind up in management. Real hacker genius programmers usually didn't bother with college, going straight for real-world experience. But since I have a math degree from a liberal arts college, I'm not sure I fit in there, either. I'd call myself a "code artist" but that's just pretentious, even if fairly accurate.
At Panic, I do the coding for Unison, our Usenet client. I've also done most of the protocol support for Transmit, and some of the animation and graphics effects in Coda. I'm also the only guy in the office who remembers trigonometry, much less calculus, and I'm pretty good at hunting down the really scary bugs that make you consider religious conversion. (But maybe that's because I'm the one that caused them in the first place.)
Right now I'm hard at work on Unison 2, the app's first major update since we launched it five years ago that means I get to go from supporting 10.2 to requiring 10.5, which is really exciting. I've fallen in love with Core Animation and it's getting pretty serious; we're even talking about moving in together. (Sorry, Core Data. It's not you, it's me.)
How long have you been doing what you do?
I started doing Mac programming (or "programming") when I joined Panic six and a half years ago, working in the living room of company founders Cabel and Steve's apartment. Before that, I got my first coding job right out of college, doing server-side web programming at a long-extinct web agency. That was before the era of PHP, so my first task was unraveling the worst nest of C code that's ever been written, left behind by a previous programmer of questionable sanity he was fond of obscene function names, and at one point used negative array indexes. Between those two jobs, I worked freelance (that is, I was unemployed) and worked on open source projects dealing with the SWF Flash file format.
What was your first computer:
An Apple ][+, in 1980. I wrote a lot of BASIC code, and I rocked the BBSes with my 300 baud modem. In 1984 we got the original 128K Macintosh, but it seemed weird to me that it didn't have a programming environment built in like the Apple did so I still spent more time on the ][+. That was actually the last Apple computer I had until I bought a G3.
What's the coolest tech thing you've done using OS X?
The first project I worked on at Panic was a kind of 2D graphical environment thing, where you could create your own "home", fill it with handy widgets like a calendar and music player, friends could stop by and chat, and so on. It was cross platform Steven was in OS X 10.0, Cabel still in OS 9, and I was running under Cygwin on my crusty old Windows laptop. The rendering engine was custom from the ground up, the whole thing was driven by a bytecode-compiled scripting language based on code I'd previously written (and abandoned) for a Flash runtime.
From an "engineering" standpoint, it was pretty cool. But it was also way over-complex, and had serious spec confusion. In short, it didn't solve a specific problem so it never really "clicked". We put it aside for a while to get Transmit 2 out, and by the time we came back it didn't make much sense to keep working on it. In retrospect it was definitely the right decision, but I always wonder what would have happened if...
Where can we see a sample of your work?
Besides Panic, I've been doing a lot of photography:
http://www.foveate.com/
and boatbuilding:
http://www.opaque.net/~dave/dory/
I try to avoid programming projects outside of work. I already spend too much time in front of the computer.
The next way I'm going to impact IT/OS X/the Mac universe is:
Just keep doing what we're doing, really. I'm extremely lucky to be working with such talented people here at Panic, and we've done pretty well so far.
If you or someone you know belongs in the MacTech Spotlight, let us know! Send details to editorial@mactech.com