[email] [print]  Interview with Nathan Whitehorn.

Aug 01, 2003 11:15 UTC, by Chris Simmons, Senior Journalist.
From the what-lurks-beneath department...

After MDR2 (Mail Daemon Replacement 2) was recently published to BeBits, I had a chance to speak with Nathan Whitehorn about it's development.

In this interview, Nathan discusses his personal life, loves and hates, and getting in shape so as not to end up like some programmers.

Before proceeding to publish this interview, Nathan asked us to maintain his highly cultivated anonymity, by using the often overlooked "stick figure" drawing in place of his regular mug. We happily obliged, if only to boost his twisted sense of paranoia even further. ;)

Hi Nathan, thanks for participating in an interview on such short notice. We know your time is valuable, so we'll try to keep the questions pertinant. ;)

NW: Thanks, I don't think I'd be able to take any impertinant ones.

I guess I'll start by asking the obvious... What are you currently working on these days?

NW: Well, MDR, obviously. I've also been spending some time with the Glass Elevator project. But I'm mostly spending the summer relaxing, before heading off to university in the fall..

What got you started with BeOS?

NW: I got started with BeOS in August of 1996, after reading an article describing a demo of the BeOS on a PowerMac in an issue of the Las Vegas Times that was stuck in the seat pocket of an airplane I was on. I thought it sounded cool.
I started developing for it in the summer of 1997, when I learned to program, and just stuck with it. I've done Java and Mac stuff, but BeOS is just easier and more fun.

You say you're heading back to university. What are you enrolled in, and how long to go?

NW: I will be attending the University of Chicago in the fall, in general studies. Should be four years to go.

How long have you been a developer, or interested in programming?

NW: I started coding in the summer of 1997, as I said, but I was interested in programming for a while before that.

What kinds of projects did you work in previous to developing in BeOS?

NW: There really weren't any. I've done other stuff on the side, though. I worked at Excite@Home for a while, working in Java on their back-end. Then they dot-bombed.

How did you hook up with Bruno G. Albuquerque, and Dr. Zoidberg Enterprises?

NW: In BeShare. I believe I mentioned that the mail daemon was terrible and we should replace it.
If I remember correctly, we were discussing the effort at one point to write a new net stack, and how it would be really hard. But we could do the mail daemon. Originally, Dr. Zoidberg planned to do what OpenBeOS is doing, replacing all the components one by one.

The Mail Daemon Replacement was recently uploaded to BeBits. Are you proud to have been a part of it's development?

NW: Well, recently is perhaps the wrong word. It's just been in beta since 2001. But, yes, I'm proud to have been a part of its development. I think its existence helped convince people that something like OpenBeOS was really possible.

Thinking back on the work you've done with MDR2, what was the most difficult area, and how did you overcome it?

NW: Convincing everyone to actually do a final release, and ending the endless beta cycle is probably up there.
Another was the inherent difficulty of network software that you not only have to deal with your own bugs, but everyone else's. You wouldn't believe the number and variety of non-RFC compliant mailers and e-mail servers out there. Outlook and Mac OS X Mail are particularly bad. They are, unfortunately, particularly common. Some POP3 servers lie about message sizes. It's horrendous.
MDR is, I'm proud to say, fully compliant with all the relevant RFCs. I wouldn't wish this on anyone else. Doing the things, like binary compatibility, that OpenBeOS is so worried about, were among the easiest parts of the whole project.

By "everyone", whom do you mean, other than Bruno G. Albuquerque?

NW: Well, the contents of our team have changed with time.
We had Gargoyle (Peter Folk) who designed the MDR 2 architecture, Axel Dörfler (who still participates in the project, although less so), stippi, Alan Ellis (a.k.a Voidref), and Alexander G.M. Smith (a very active contributor who wrote our spam filter).

You have worked with various parts of openBeOS. What in your mind are the most difficult things in development that are causing headaches and late nite coding sessions?

NW: I actually haven't written any code for OpenBeOS in over a year. But in the parts I have worked on, it's been getting everyone to work together, and putting in things like comments so that everyone understands other people's code.
So the main issues seem to be interpersonal rather than technical.

Can you name three areas of BeOS that could use the most improvement, other than MDR?

NW: The media kit is horrible to use. I wrote a movie viewer once. It took 4000 lines. That shouldn't be necessary. BFS is also really buggy. We've noticed that a lot with MDR.
And the API needs to be cleaned up and made more philosophically coherent. For instance, there is no reason BNetEndpoint (a tcp/ip stream class) shouldn't inherit from BDataIO (the basic stream class). But it doesn't. Nor does BSerialPort.
This is indicative of a larger problem, where things have just been mashed together over the years. And the problem seems to be accelerating in OpenBeOS, as each of the team leaders inject their own philosophies into their little fiefdoms. I'm pleased to say, though, that the Net Kit team seems to be reversing some of the mistakes of BONE at the moment and creating a more BeOS-like stack, which gives me some hope for philosophical coherency.

What else are you working on besides MDR, that is related to BeOS?

NW: At the beginning, I mentioned Glass Elevator, and you can see why that is from what I just said. But, other than that, not too much just now.

Related to Glass Elevator now... What are the ideals and concepts in a "perfect OS" that you would like to see brought to BeOS's future?

NW: Oh god. Well, I mentioned the API, which I think should be made more cohesive.
And we also discussed, a while ago, an idea that I think really has promise, namely massively componentalized (if that's a word) software. The idea is that software (other than games) either displays data or allows you to manipulate it. This can be placed in a structure of add-ons. Then, to write a web browser, you'd just need to combine http transport with the HTML add-on. It vastly decreases software development time, and makes things easier on everyone.
Add-ons are something I'd like to see used a lot more. MDR, for instance, is pretty much only add-ons. The daemon itself does almost nothing. And this is something I would like to see in more software – to make as much modular as we can.
I also think the file system and should be rationalized and that we should use spaces in file names, but that's just a little pet pieve of mine.

Nathan, tell us what you do in your spare time...

NW: Well, right now, in my spare time, I'm being interviewed by Technix. But other than that, I'm heavily involved in my school's theatre program on the technical staff.
And I also enjoy going backpacking in the Sierra Nevada (although hiking around here is fun too with less time). And I also secretly plot to take over the world.

Do you think it's important, speaking as a well-rounded individual such as yourself, that it's necessary for computer geeks to get involved with physical activity?

NW: Hehe. Sure I do. Because we don't all want to end up like BGA.

Alright, and now for the final, and bonus question..... If you were a condiment, what would you be, and why?

NW: I would be Tabasco sauce. Then I'd at least have something to say before I got eaten.

Thanks for your time Nathan!

NW: And thanks for yours, and thanks for sticking with BeOS.

Linked URLs

  • Interview with Nathan Whitehorn. : http://haikunews.org/128
  • Chris Simmons : mailto:cs.haiku@gmail.com
  • MDR2 : http://www.bebits.com/app/2289" target="_blank
  • Nathan Whitehorn : mailto:nathanw@uchicago.edu
  • Glass Elevator : http://glasselevator.sourceforge.net/" target="_blank
  • OpenBeOS : http://www.openbeos.net" target="_blank

Printed from Haiku News
http://haikunews.org/print/128