Dave Butenhof

Links:

I've got two great daughters, Amy (16; yes, a teen), and Alyssa (12), and a wonderful wife, Anne, who teaches art and illustrates childrens' stories. We live in southern New Hampshire, convenient to Boston, the White Mountains, and to the Atlantic Ocean.

I'm a software engineer with Hewlett Packard Company in Nashua NH. For many years, I was the principal architect of the POSIX thread library for both OpenVMS and Tru64 UNIX, an implementation of the POSIX 1003.1c-1995 standard with many extensions including nearly everything specified by the UNIX 98 brand ("Single UNIX Specification, version 2", or SUSv2). Our original work on the CMA threading architecture inspired the POSIX standard, and I was actively involved with development of the standard, as well as SUSv2 and the followon project that resulted in both POSIX 1003.1-2001 and SUSv3 (UNIX 2001). I continue to follow the continuous improvement of the POSIX specification, as time allows; but time is increasingly less cooperative.

As Alpha and Tru64 UNIX faded into history, I was moved on to a different sort of challenge: technical lead on the software component of HP's "Instant Capacity" program, (iCAP), previously known as "iCOD". Not only has this thrust me from an environment that was in essence still "Digital Equipment Corporation" into mainstream HP culture, I also moved from VAX and Alpha processors to Itanium and PA-RISC, and from Tru64 UNIX and OpenVMS to HP-UX. I even got into writing "firmware" - which in this case means a multithreaded C++ daemon running on an embedded Linux. I'm now moving yet again, as iCAP transitions to India; this time to power management software. Including largely development for Linux-based "firmware".

Long ago, in a galaxy far, far away, (well, OK, Schenectady, New York isn't quite a galaxy), I attended Union College; a great college from which I graduated with a degree in Electrical Engineering. Not that I've ever felt inclined to design an actual circuit since. Which is probably just as well, since my main accomplishment in hardware engineering was the invention of a 2-way diode. (That's an EE joke. You're supposed to laugh. That's OK, I'll wait. Come on, I don't hear anything...)

I've written a book on threaded programming for the Addison-Wesley Professional Computing book series, called Programming with POSIX® Threads; it's been published in Japanese, Simplified Chinese, and Korean. You can find the list of reported errors in my Errata page. (All so far corrected in recent printings.) You can also find the book's example source code on my Threads page, which is somewhat more recent than what's on the Addison-Wesley site. Writing the book was fun, despite the hassle of dealing with simultaneous and conflicting development and writing deadlines. I'm honestly hoping to get started on a 2nd edition. I'm collecting Round Tuits; when I get enough, I'll be able to start. I've been collecting them for quite a while, though, and they're not coming in as quickly as life takes them away.

You'll find me frequently in the comp.programming.threads newsgroup, though I don't post as regularly as I once did.

I enjoy skiing, SCUBA diving, Swing , skiing, reading (mostly science fiction and fantasy), playing piano, hiking and backpacking, and all sorts of other things. I've had extremely little time for any of these things, but that's life.

Both my daughters are into drama, and have been acting for years. My wife, an artist, began designing set paintings for shows, and I started working on set construction. I frequently videotaped our daughters' performances for the family album, and inevitably came the day when someone asked for a copy. I'm now regularly editing DVDs from 2 MiniDV cameras, with Final Cut Express and iDVD. Tedious, but fun.

At home, of course I use a Mac. (I will never understand why everyone doesn't, and the fact that some actually like Microsoft will just have to remain one of those inexplicable mysteries of nature.) The Mac always been the best and easiest to use, and Mac OS X makes it also a strong UNIX development platform. (If only they'd get their thread cancellation fixed!)

I'm using a 20" aluminum iMac; my wife uses 24" iMac with a second old Apple Cinema Display hooked up for Painter controls. Both daughters have 17" white iMacs, which are still pretty cool. Our 4 macs are networked, with 3 downstairs on wired ethernet and Amy's up in her bedroom on Airport; all routed through a Time Capsule Airport wireless router and backup system on an Comcast cable modem.

You can find miscellaneous thread-related stuff at http://homepage.mac.com/dbutenhof/Threads/Threads.html.

© 2009 Dave