| Front Page | News Headlines | Technical Headlines | Planning Features | Advanced Search |
  RAC Consulting Sponsor Message

Mark Bixby
Programmer
Bixby.org/HP-CSY

 

July 2001

Porting the e3000 into the Future

Mark Bixby believes in pitching in to make the future better. The 42-year-old programmer and system administrator with 20 years of HP 3000 experience put himself on most customers’ maps with his independent porting project of Apache, the Web server used by more sites worldwide than any other. Bixby’s contributions to the 3000 community were only beginning with Apache/iX, first offered as shareware and eventually adopted as an HP-supported product. While working for the Coast Community College system in Southern California, he also brought across versions of sendmail, syslog, XNTP, Internet domain name services for 3000s through BIND, and Perl/iX. All make the system a modern outpost on the Web, ripened fruits of Bixby’s prolific labors in the orchards of Unix mainstays.

By 1997 Bixby was given Hewlett-Packard’s HP 3000 Contributor Award, in no small measure for providing a way out of the tangle of Web servers which HP’s 3000 division had stumbled into: first an alliance with OpenMarket that relied on a product pulled by that company, and then a lengthy Netscape Web server port which never performed as promised. The division was so grateful for the work of a system administrator for a community college that it made an HP 3000 available for his use, a sign that HP’s interest was on the rise. A few years later CSY convinced Bixby to become part of the 3000 labs, and he telecommutes from his Southern California residence — no small shift for him after 23 years of work for the college district. A field trip to the college in seventh grade sealed his career fate for him, he says, touring an installation with clattering IBM Selecrtic balls and card punchers, then borrowing a book on APL to become a hacker at the college on evenings and weekends,

Bixby’s perspective is a unique one, with a passion for sharing work over the Internet, field experience in Unix administration, and enough 3000 background to remember when MPE had nothing but Roman numerals after those three letters. Earlier this year he ported the Postgre SQL database to the HP 3000, known by its advocates as Postgres. The database is one of the first to emerge for the platform in more than a dozen years, and a good example of what makes Bixby special: a project ahead of its time, donated out of his own time, hosted from his own personal Web site. We asked him to speak not as a representative of CSY, but as a passionate programmer who advocates porting and has produced extraordinary results.

What was the motivation for starting work on your first porting project to the 3000?

It was a selfish motivation. I had a need for capabilities that weren’t on the platform. I’d had a few years’ experience with Apache before I started with the port, running it on HP-UX. I’d put together a skeleton-type Web page for the district, and thought it would be nice if I could use the same Web server I was already familiar with on MPE. We had all our student data on the 3000, and the Internet was getting more popular. I could definitely foresee a time when we’d want to get the student course information out so people wouldn’t have to physically come down to the campus and stand in long lines to register.

The alternative would have been to use a different front end in Unix. But in my philosophy, simpler things are better. You wouldn’t have to get into distributed processing issues across heterogeneous systems; you could just have it all on one machine, where the data is. That would always be the simplest and most reliable implementation.

You were very early in the process of 3000 porting, community-wise. What did you use for guides to get the first port done?

Lars Appel [of HP’s German Response Center who ported Samba to the system] was my inspiration. I was paying close attention to what he was doing with Samba in late 1996 and early 1997, and based on how he was going, I thought ‘Well, heck, it’s time for me to sit down and try Apache.’

Had you ported anything at all up to that point?

No. That was the very first time I ever tried to get a Unix-based program on MPE. I had a lot of experience building these Unix programs on Unix, and using them on Unix. This was the first time I tried to move anything from one operating system to another.

How did you get a pretty healthy knowledge of Unix, in addition to your MPE experience?

We brought in our first Unix system at the college in 1991, and at that point we wanted to develop a next-generation student system on Unix, with a consortium of other community colleges across the state. While that stuff was going on, I was exploring the various Internet technologies, like setting up mail servers and Web servers. It definitely helps if you have a Unix background before porting, because you know how stuff is supposed to work. You’ve done a little programming so you’re already familiar with the API, and looking through the source code it’s not completely Greek to you. Although at the time of my work on Apache, I had only written one complete C program in my life. As part of my porting work I was sitting down with the C language reference manual, in addition to the Posix manuals.

Were you one of the people really grateful for the Gnu Compiler Collection software for the 3000 that Mark Klein had ported?

Absolutely. For a long time I’d wanted to play with that. I was doing the MPE system administration work for the college. In running the college, you want to do software updates conservatively, so we would lag behind six months to a year on MPE releases. I remember being on 5.0, thinking I can’t wait until we go to 5.5, and get better Posix capabilities, so I can play with the GCC. I’d look at the price of the HP C compiler and go “Yi! I can’t afford this on a community college budget.” All the major Open Source applications are using it.

Some people think that no matter what’s ported onto the 3000, it just can’t catch up to Unix platforms that have had years of development for utilities. What do you think?

That’s a completely wrong perception. In talking about ported stuff, it’s basically the same software that’s running on Unix. It has all the great features and all the flaws of the original. I don’t think that just because the underlying operating system is different from the original it’s any reason to look less upon the 3000 as a Web server.

What makes the 3000 a good candidate to behave like any other server on a network?

You have MPE’s legendary reliability. It just runs and runs and runs. There’s not as many things that can be screwed up on an MPE machine compared to Unix machines. Unix machines give you many more knobs for administrators to tweak. It can be trickier to get those things running smoothly. MPE just runs, and you don’t have to worry about it. It’s a great, stable platform for whatever you want to do.

You’ve moved Postgres across to the 3000 — do you think having the same kind of database available on many different kinds of platforms will help the 3000?

Certainly. Part of the negative things you hear regarding the 3000 is the fact that IMAGE and Allbase are the only databases on it. Those are hardly widely popular out there in the industry, so it can be really hard to find people knowledgeable in IMAGE. If you take a database from the Open Source world like Postgres, there’s plenty of books out there on it, commercial support on certain platforms, and it’s a lot easier to find people knowledgeable in it.

Plus, there’s a lot of Open Source software like Perl already built to integrate with that database. To get Perl to talk to IMAGE, Ted Ashton had to do a bunch of custom coding had to pull that off. If you were using Postgres, it was already there. I wanted to see a complete set of development stuff from Open Source for the 3000, and Postgres seemed like a standard database. I don’t want to take anything away from IMAGE — it’s a great database, reliable and performs well. It’s just not one of the brand-name databases out there.

You’re managing a remote work style now. Does it make you more productive to be working away from an organization’s main headquarters?

At the college I was at the data center. I do like telecommuting. It works really well for me, because I can get down and concentrate without the distraction an office environment would pose. Part of it also reflects the change between what I was doing for the college and what I’m doing now for HP. I was doing system administration and technical support, by its very nature interrupt-driven. Even if I was at HP full-time, I’d still be more productive now because interruptions are less.

Is this your first job as a full-time developer?

Yes. I was pretty much in support and administration all my life, until joining HP. I still get to do a little system administration for Jazz and the Invent3K machine.

How do you think the time spent in systems admin helps in development?

In doing admin, you need to try to understand as much of the operating system as possible, especially in a smallish shop. You need to acquire a lot of knowledge about what the OS can and can’t do for you. When you have that good background knowledge, it helps you be a better programmer, knowing all the facilities available to you.

You’ve ported a lot of software, and have a continuing commitment to keeping things like BIND up to date. Do you ever tire of leading so much in this effort?

It would certainly be great if other people would like to join in it. I certainly do not claim to own any of the MPE ports that I’ve done. I definitely won’t be offended if somebody else wants to come in and, say, test the next version of Apache on MPE.

But for certain things like BIND, which is an important piece of the infrastructure, I don’t mind making sure those are up to date. The other stuff that I dabble in links against those BIND libraries. It’s to my own continued benefit to ensure things in my toolbag are up to date. BIND is absolutely essential to sendmail, for example, to know what other mailservers to talk to. A lot of other things seem to link into BIND, like Perl.

In your own personal opinion, what do you believe are the possibilities for Open Source development helping on the HP 3000’s operating system? Is Open Source okay for things like Samba and utilities, but unsuitable for things like DISCFREE, for example?

Me speaking personally, I would love to see as much of it opened as possible. Way back in the MPE V days, there actually was an internals course you could take as customers in the HP education program. I went through that I thought it was great. Having the deeper knowledge helped me to debug things better. I could write my own little utilities to do things that just weren’t available elsewhere in the operating system.

I’m the type of person where it doesn’t bug me if the things I’m doing with internals or Open Source are not supported by the vendor. I understand the trade-off there: If you have the source code and you want to do things, great — but don’t expect to call HP for help. That’s fine for me, but I can see how that might not be a good thing for other shops or for other people. Personally I’d like to have all the details, so long as it wasn’t revealing any sensitive security things that should be kept secret, or licensed from other firms outside of HP.

You’re managing the Invent3K server now. Are you seeing it motivate more ports than had been out there before the resource was available? What’s been the response to this?

I’m really pleased with it. We’ve had over 50 people sign up so far, and it hasn’t been up for two months yet. There’s good daily usage of the machine by several people; I’m reading the logs daily to monitor it. A lot of the long-time porters have signed up, because it’s a lot bigger machine that we’ve had access to in the past. It helps experienced porters do their work faster. There’s also been quite a lot of sign-ups of people who just lurk on 3000-L. It’s nice to know that lurking community is eager to get involved. But not too much has been publicly released yet.

How do balance a personal life with a very busy life creating HP 3000 software? Your output is pretty amazing — how do you make time for it all?

My secret is out: Human cloning has been perfected and there are several Mark Bixby’s. I don’t have as much time to spend on porting now as when I first got started. My most productive years were in 1997 and 1998. Back then I had just sold my house, and was looking to move to shorten the commute. By the time our escrow closed, my wife and I still hadn’t found a house in the neighborhood we wanted to move to. We became renters, but the house hunt was a two-and-a-half-year process. During those years I didn’t have lawns to mow, houses to paint or repairs to make. I had a bunch of extra time, and I spent some of that on porting. Late in 1998 I joined a gym, to try to keep the muscle cells closer in balance to the brain cells, as it were. That ate up some time there. In mid-1999 I became a homeowner again, so there’s less free time.

What made you decide you want to join HP, after being a customer so long?

People had been asking me for a long time when I was going to join HP. It seemed to be a good point in my life to try working for a big company. I made the change in 1999, and it’s been a good thing. CSY is a pretty intimate place, and a good working environment. Everybody’s easily approachable.

You’ve had a lot of exposure to other operating environments. Why did you want to stick with the 3000 and expand your knowledge of it?

I like the 3000 for the reliability and the ease of use. I like the strong sense of community among its users, in person at conferences and online on 3000-L. At the time I made the decision to work for CSY, and keep working in MPE, the college was starting down the road to implement a system that was Unix- and NT-based. Eventually there will be no more MPE at my former employer. So that was part of the reason for making the change. I wasn’t ready to retire from doing MPE. I really enjoy working with it, and this has allowed me to continue doing MPE stuff, also using my more up to date Internet skills too, to bring those types of technologies to the platform.

What’s the most encouraging thing you’ve seen happen to the HP 3000 community recently?

I really like the response for the Invent3K. I had no idea there were so many lurkers out there. There are a lot of good, smart people out there, and it’s nice to see the lurkers being involved also.

Why did you believe the HP 3000 would be a good choice for a Web server?

That’s where the data tends to be — on the 3000s. It’s my philosophy that simpler is better. You can do some good things with distributed computing and middleware, but it is going to be more complicated to manage. Since I was in system management, simpler, with less management time, seemed like a good thing. That’s why I wanted to have the Web server on the same platform as the data.

What do you want from HP development to make future porting efforts of yours easier for the HP 3000?

I’ve done so much porting over the past several years that it’s all fairly easy for me. I can copy and code around from previous ports. What I’d like to see done is to get a few of the easier porting gotchas fixed. Things like supplying a few missing include files, cleaning up a few little things in the Posix libc. Enough so your Gnu style auto-configure scripts will run correctly, and you can say make when you’re done, and the program will build. When a beginner wants to try their hand at porting, they’d have an easier time of getting all the way through simple to medium ports with a minimum of fuss.


Copyright The 3000 NewsWire. All rights reserved.