Archive for August, 2007

Coders at Work: more interviewees signed up

August 31, 2007

As of today, I’ve got seven interviewees signed up (assuming that other publisher doesn’t try to hoard Simon Peyton Jones). They are:

  • Joe Armstrong — inventor of Erlang
  • Bernie Cosell — one of the main software developers on the original ARPANET IMPs
  • Simon Peyton Jones — co-inventor of Haskell
  • Alan Kay — inventor of Smalltalk and object oriented programming
  • Peter Norvig — AIer and Lisper, Director of Research at Google
  • Ken Thompson — inventor of Unix
  • Jamie Zawinski — author of XEmacs and early Netscape/Mozilla hacker

I haven’t done any more interviews but I’ve been working on the transcription of my first interview with Peter Norvig. It’s all coming back to me how terribly painful it is to transcribe audio. Even with my snazzy homebrew transcription software, I’ve been proceeding at a rate of about 4:1 real time to interview time. That is, to transcribe 15 minutes of interview takes me about an hour. Which means that for every two hour interview I do, it’s going to take me a full day just to prepare the raw transcript. Yes, I know you can hire people to do this but a) I don’t really have a budget for that and b) correcting a transcript can be about as much work as preparing it, particularly if the material is technical and your transcriptionist is not. The good news is that as tedious as the transcribing is, it does give me a chance to start mulling the material over in my head, getting ready to edit it or to prepare for subsequent interviews.

Finally, I got around to putting a spam filter on the Coders at Work comments page so all the stupid link-bombing spammers’ efforts should now be completely for naught. It’s been very satisfying watching it eat up the steady stream of spam comments. Of course these days the spammers are about the only comments I get so I haven’t had any live tests of my filter’s ability to recognize ham. If you have any comments about or questions for the folks I’ve signed up to interview or suggestions of who I should try to get to fill in the last ten spots, feel free to leave a comment.


First Coders at Work interview done

August 24, 2007

The interviewing has begun! Yesterday I sat with the people’s choice, Peter Norvig for our first interview session. I’ve also signed up Joe Armstrong, inventor of Erlang, and Bernie Cosell, one of the software geniuses behind the original ARPANET IMPs. Both of these guys were not only kind enough to agree to be interviewed but also invited me to stay in their homes when I travel to interview them. Simon Peyton Jones has also agreed to be interviewed assuming the publisher of another book of interviews that has already signed him up for a group interview about Haskell doesn’t object. I’ve got a half-dozen other queries out with more on the way. Hopefully soon I’ll have my full roster of sixteen interviewees signed up and can start figuring out how to stretch my rather small travel budget to get me all the places I need to go to do the interviews.

On a geekier note, after I did a practice interview with a friend and went to try out the transcription software I had downloaded, I discovered that it didn’t understand the WMA files that my digital voice recorder produces. Turns out on GNU/Linux the best way to convert WMA to MP3 involves using the program Mplayer to convert the WMA to a WAV file. While skimming through the Mplayer man page I discovered it has a “slave mode” where you can type commands at it. “Hey,” I thought, “If I can control it by typing commands at it that means I can also control it by having Emacs type commands at it.” A bit of elisp hacking later and I turned Emacs+Mplayer into a quite nice bit of transcription software. A few features:

  • Auto-insertion of timestamps into the transcript at the beginning of each paragraph.
  • Rewinding the audio back to the previous timestamp at the touch of a key (combo).
  • Automatically backing up a few seconds when I pause.

I experimented with having it automatically pause whenever I hit the backspace key and resume when I started typing again but that didn’t turn out to be as handy as I thought it would. The nice thing, of course, about having written my own software to do this is that as I get into the work of transcribing all these interviews I’ll be able to spend an endless amount of time procrastinating by fiddling with my transcription software. Er, that is, I’ll be able to tweak it just the way I want it to maximize my transcribing efficiency. (Ironically, because of either a limitation of the WMA format or a bug in Mplayer the jumping to timestamps doesn’t work quite right when transcribing WMA files so I still end up having to convert to MP3 files.)

Coders at Work: looking for information

August 2, 2007

Since I started work on my new book, Coders at Work, in mid-June, hundreds of people have suggested names of programmers I should interview and helped me sort them in a variety of ways. Thanks! Now, having digested everyone’s feedback, I’m getting ready to contact the folks I think I’d like to interview.

To prepare for this next step, I’ve done a big cleanup of the Coders at Work website and have added a way for anyone who wants to to add information about individual coders in a more structured way than leaving a comment or emailing me. For an example, take a look at Peter Norvig’s page; on the left side of the page is the information I’ve already got and on the right forms where anyone can add more. At the moment most other coders’ pages will have much less information that Norvig’s; my main task now is to rectify that, at least for the folks I’m most interested in interviewing.

With that in mind, adding information about your favorite coder is a great way to increase the chance that I end up interviewing them for the book because a) most people get more interesting the more you know about them and b) the more information I have at hand about someone, the easier it will be to prepare for an interview and with at least sixteen interviews to do, I’ve got to apply a certain amount of tactical laziness.