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. Bixbys 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 Bixbys prolific labors in the orchards of Unix
mainstays.
By 1997 Bixby
was given Hewlett-Packards HP 3000 Contributor Award, in no
small measure for providing a way out of the tangle of Web servers
which HPs 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 HPs 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,
Bixbys
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 werent
on the platform. Id had a few years experience with
Apache before I started with the port, running it on HP-UX. Id
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 wed want to get the student course information out so
people wouldnt 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 wouldnt 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
HPs 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, its 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. Youve done a
little programming so youre already familiar with the API, and
looking through the source code its 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 Id 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 cant wait until we go to 5.5, and get better
Posix capabilities, so I can play with the GCC. Id look at the
price of the HP C compiler and go Yi! I cant afford this
on a community college budget. All the major Open Source
applications are using it.
Some people
think that no matter whats ported onto the 3000, it just
cant catch up to Unix platforms that have had years of
development for utilities. What do you think?
Thats a
completely wrong perception. In talking about ported stuff, its
basically the same software thats running on Unix. It has all
the great features and all the flaws of the original. I dont
think that just because the underlying operating system is different
from the original its 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
MPEs legendary reliability. It just runs and runs and runs.
Theres 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 dont have to
worry about it. Its a great, stable platform for whatever you
want to do.
Youve 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, theres plenty of books out
there on it, commercial support on certain platforms, and its a
lot easier to find people knowledgeable in it.
Plus, theres
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 dont want to take anything away
from IMAGE its a great database, reliable and performs
well. Its just not one of the brand-name databases out
there.
Youre managing a remote work style now. Does
it make you more productive to be working away from an
organizations 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
Im 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, Id 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 cant do for you. When you
have that good background knowledge, it helps you be a better
programmer, knowing all the facilities available to you.
Youve 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 Ive
done. I definitely wont 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 dont mind making sure those are up to date.
The other stuff that I dabble in links against those BIND libraries.
Its 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
3000s 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 werent available elsewhere in the operating
system.
Im the
type of person where it doesnt bug me if the things Im
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 dont expect to call HP for
help. Thats fine for me, but I can see how that might not be a
good thing for other shops or for other people. Personally Id
like to have all the details, so long as it wasnt revealing any
sensitive security things that should be kept secret, or licensed
from other firms outside of HP.
Youre managing the Invent3K server now. Are
you seeing it motivate more ports than had been out there before the
resource was available? Whats been the response to
this?
Im
really pleased with it. Weve had over 50 people sign up so far,
and it hasnt been up for two months yet. Theres good
daily usage of the machine by several people; Im reading the
logs daily to monitor it. A lot of the long-time porters have signed
up, because its a lot bigger machine that weve had access
to in the past. It helps experienced porters do their work faster.
Theres also been quite a lot of sign-ups of people who just
lurk on 3000-L. Its 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
Bixbys. I dont 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 hadnt 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 didnt 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 theres 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 its been a good thing. CSY is a pretty
intimate place, and a good working environment. Everybodys
easily approachable.
Youve 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 wasnt 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.
Whats the most encouraging thing youve
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
its nice to see the lurkers being involved also.
Why did you believe the HP 3000 would be a good
choice for a Web server?
Thats where
the data tends to be on the 3000s. Its 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. Thats 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?
Ive
done so much porting over the past several years that its all
fairly easy for me. I can copy and code around from previous ports.
What Id 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 youre done, and the program will build. When a beginner
wants to try their hand at porting, theyd have an easier time
of getting all the way through simple to medium ports with a minimum
of fuss.
|