A Conversation with Olaf Kirch
Linux Journal: Tell us a little bit about yourself. How old are you? Where did you go to school and what did you study? What are your hobbies?
Olaf Kirch: I'm 28 and right now I'm working as a developer for a small company in the CAD/CAM business. I studied math and computer science at Darmstadt University, Germany, and graduated about one year ago.
One of the things I do in my spare time is, of course, tend Linux boxes, but I also read and paint a bit. And
I like bicycling. On my holidays, I love to go hiking with a backpack—the farther away from any terminal, the better.
LJ: How did you start using Linux?
Olaf: I installed my first Linux system from an MCC Interim distribution some time back in 1992. Before that, my home box was an Atari running Minix, which was a little painful. When I heard of Linux, I instantly junked the Atari and bought a PC. I got the MCC release from some kind soul who offered a gratis copying service on German Usenet. You only had to send him seven floppies...
LJ: As the principal author of the Linux Network Administrator's Guide, you have helped a lot of Linux users. How did you get started?
Olaf: I got into the whole project almost by accident. Initially, I meant to contribute only a UUCP chapter to the System Administrator's Guide. When I followed up with a chapter on smail and released it to the DOC channel on Linux Activists, I mused aloud “Wouldn't it be nice to have an entire Networking Guide?” “Hey, great,” everyone said, “I'd say, go for it!” I was trapped.
Early on, progress was rather slow, because I wasn't as comfortable with English as I thought. But the people on the DOC channel were very helpful, and I got lots of reviews. My most important reviewer was Andy Oram at O'Reilly, who got involved in the book in late 1993.
Unfortunately, I also had to write my MS thesis, but in the end it worked out well. I'm only glad my prof never caught me in the terminal room.
LJ: You say you “trapped” yourself into writing the NAG. Were you a networking guru when you started writing it?
Olaf: No, not at all. I had hacked on UUCP and various mailers like smail2 and umail, but my ideas about TCP/IP networking, etc., were rather foggy. To put it more bluntly, I was just another clueless newbie then. But I was very curious, so I got myself some books, pestered developers with stupid questions and spent endless hours browsing source code. BTW (by the way), that's one of the main lessons I learned from the whole thing: If you don't know how something works, read the source. It really helps.
LJ: Do you have a network at home or just a single computer?
Olaf: Most of the time, I have only one computer at home, so I have to test a lot of things using only local loopback. I do have some friends, however, who are running networked Linux boxes and they always call me when they have a problem or want to install new applications. This way I can try out everything on their networks; this has the added benefit that if anything goes wrong, their machines go down, not mine.
LJ: What is your connection to the Internet?
Olaf: I get mail and news via UUCP from brewhq, our domain's main hub that has an Internet uplink via ISDN. For interactive things like FTP, I use a SLIP link, but I hope to have ISDN, too, some time soon.
LJ: What future do you see for the NAG? Do you intend to keep revising it to keep it up to date?
Olaf: Yes, I do, at least for a while. The basic network administration issues in Linux don't change that rapidly at the moment, so I think I'll release updates every few months.
Of course, I'm aware there's a lot going on that I didn't cover in the NAG, like IPX, ham radio and so on.
I also had offers from people who wanted to write something on sendmail V8, INN and the BSD automounter. On the other hand, I feel the book is already rather hefty, so
I'll probably not add any new sections. Maybe there will be a sequel, but don't hold your breath.
LJ: Maybe a Basic Linux Network Administrator's Guide and an Advanced Linux Network Administrators Guide?
Olaf: I'm thinking more of a collection of papers, a little like the management documents in the 4.4BSD System Manager's Manual. I would want to make it less closed than the NAG itself, so that different people can contribute more easily. I had very firm ideas about how detailed the networking guide should be, up to the point that some people considered it “dumbed down”. Vince Skahan, who wrote the sendmail chapter never complained, but I think I badgered him quite a lot. For the sequel, I would lend people a hand at writing something, without imposing my views on them.
LJ: What suggestions do you have for those people who are interested in learning about topics you decided not to cover? How can they learn about them?
Olaf: That depends. For some packages, like INN, a quite exhaustive FAQ is distributed on the Net. For sendmail V8, you can always get the bat book from O'Reilly. It's about the size of a brick, but very useful. The IPX and AX.25 stuff is still largely undocumented, so your best bet is to read the sources.
LJ: What has Linux done for your professional life?
Olaf: Difficult question. People usually don't roll out the red carpet for you just because you say, “Hey, I wrote a book on Linux, why don't you hire me?” On my current job,
I don't get involved with network administration a lot. I'm mainly coding C++ and Motif applications in an HP environment, but I'm quite happy with it.
LJ: In the preface of the NAG, you say that one of your favorite sports is “doing things with sed that other people would reach for their perl interpreter for.” Do you have a favorite sed hack you would like to tell us about?
Olaf: First, let me say that I don't believe perl is evil or anything. I just think that sed is more fun, just the way the Obfuscated C Code Contest is. My favorite sed hack is a short script I wrote that computes prime numbers: If you give it a number n on standard input, it will print all primes smaller than 2^n on standard out.
LJ: Will you give any hints as to how you got that to work?
Olaf: There's nothing magic about it. The script is a simple sieve algorithm. The only tricky thing is incrementing and decrementing numbers. You can do that by shifting a marker from right to left, very much like a carry flag. Say I have 7890@ as input and want to decrement it. Then I replace 0@ with @9, and continue. Any other digit is decremented by one and the marker removed, i.e., 9@ becomes 8, 8@ becomes 7, etc. Quite silly, I admit.
LJ: Thanks for taking the time to do this interview!