Creating Community Magic for
3000s
Stan Sieler is
a master of the art of omnipresence. The legendary programmer and
developer at times appears to be everywhere in the HP 3000 community,
contributing code, proposing programs, and establishing ideals
through his software and submissions. Few HP 3000 experts have their
name or ideas invoked as often as Sieler, amid Internet discussions
or meetings with HPs 3000 lab experts.
Sielers career in the 3000 community has always
revolved around labs, either those in HP itself or in the development
consultancy he founded with Steve Cooper, Allegro Consultants. He
worked inside the HP labs in the early 1980s creating process
management for the operating system of the Vision project, work that
began HPs move of the HP 3000 to a 32-bit design. When HP
replaced Vision with Spectrum, leading to the MPE/XL PA-RISC systems,
nearly all of Sielers Vision code was moved forward to the new
operating system. After close to five years inside HP, he formed
Allegro with Cooper, founding a company that at times has been a
virtual wing of HPs design team for
MPE/iX. Few
programmers have more people using their code. Sieler is responsible
for HPs STORE, writing the module that came with the Q-MIT of
MPE/V, and is still available today as the "transport mode"
STORE; intrinsic level recovery for IMAGE; Adagers DetPack; and
new features in IMAGE/SQL. Hes also the co-author of SPLash, a
compiler that brought the original SPL systems language from the
Classic HP 3000s to PA-RISC systems. Then theres his wide array
of free software contributed to the community: things that have been
around since before HP 3000 went 32-bit, like the screen capture
utility PSCREEN, and RAMUSAGE, a tool that reports how HP 3000 RAM is
being used. Sieler was honored as an outstanding contributor to the
HP user groups annual Contributed Software Library three
times.
Hes also been the source of many a commercial
product, sometimes released under another companys banner. Just
a brief subset of his commercial product development includes
creating the Nuggets programs which have become the Programmers
Toolbox software offered by Lund Performance Solutions; authored
De-Frag/X, a disk defragmentation tool sold by Lund; and Y2K tool
HourGlass 2000 and DiskPerf, the latter released last fall for his
own company.
Hes been an advocate for change, sometimes with
a vociferous voice in online critiques of HPs products and
services like its IT Resource Center. Sieler has asked HP when the
source code for MPE V would become freely available for hobbyists;
lobbied HP in public for restarting development on C for the HP 3000
after years of neglect; told HP at a roundtable that HP 3000
programmers had been the last in the world to get IA-64 information;
and found two incorrect answers to questions in the first practice
test for MPE/iX certification.
Hes also got a sense of humor: some of his more
notorious Web pages show the meeting of a balky Sportster modem and a
sledgehammer as a suggested best use for the telecom device as
well as a study of whether the refrigerator light really goes off
when the door closes. In the past year Sieler has
released DiskPerf, signed on for another year as the vice-chair of
SIG-MPE, and offered a technical proposal to open up millions of
megabytes of boot disk storage on HP 3000s everywhere. We asked him
what motivates his philosophy of contribution, and how the years have
seasoned his sense of advocacy and the adventure of improving the HP
3000.
You recently forwarded a detailed technical proposal to open
up LDEV1 to use its entire contents, thus freeing up boot disk space.
What made you decide to offer the idea, and what kind of performance
impact would using more of LDEV1 pose?
Why offer? To improve the HP 3000! Its the
computer I program on. Most of the 3000s we have use an LDEV1 that is
bigger than four gigabytes. Theres rarely a computer that has
enough disk space. On 3000s, for the most part, disk space is still
something should be cherished. I sometimes have a hard time
convincing myself of that when I can put an LDEV2 on thats 72Gb
in size.
The proposal wasnt merely to utilize the extra
disk space. It would have allowed us to do other things, like
partitioning disk drives. That would let us have multiple logical
drives in one device, and would let you do interesting testing
things. I saw there might be interesting ways of testing multiple
versions of MPE with it. Then the next enhancement request Id
have is to let the ISL prompt say START, to start from a different
partition.
The performance impact is probably very little. There
are two aspects here: increased code paths, and increased contention
for the physical disk that LDEV 1 and LDEV 1 exist on. The code
path increase would be minimal, possibly as low as 30
instructions.
Youve made a career out of giving away software for use
by the e3000 community. Whats your philosophy about sharing
your work like this, and how does it compare with your understanding
of the principle of the Open Source movement?
Anything that improves the 3000 community means it
can stay alive a little longer. Ive got a clearly vested
interest in keeping the 3000 alive. Its enlightened self
interest. Everything in life is. All good acts are.
I like being able to share answers with people,
because then they dont have to solve the same problems over and
over again. I was burned early in my career by people getting a hold
of my source and changing things, and suddenly there were multiple
versions of things out there, some of them with problems and being
attributed to me. The other solution is that I maintain the programs,
so theres no need to get the source. Im not sure I would
do it exactly the same if I were to do it all over again. Im
trying to figure out how to work a balance between getting the
programs out, keeping the reputation intact, and teaching by example
with source code.
Now Ive started writing papers on how to write
source code: the art of coding as opposed to the art of programming.
What I like about Open Source is that we all have access to the
source. It means nobody is locking up the capability of doing
something. Its the opposite of providing a software library,
like I have been doing. Id be happy to send the compile-able
source of all our free programs someplace safe, so if we disappeared
it would be available to people.
One of my problems with earlier attempts at Open
Source, like Shared Source, is I look at the source for something and
say good grief, this needs a lot of improving. Ill
make massive changes that are cosmetic, like downshifting all the
source, the first few days I have the something. But the Shared
Source mechanism doesnt seem to have a way of getting that
integrated back in.
Part of the problem is that Im very picky. I
have very high standards, and I like to fix problems as I see them.
Im still learning how to suppress my artistic impulses while
working on a group project. I havent done that well yet.
You have a collection of computers, both HPs and
others. How long have you been collecting, why did you get
started, and what are some of your favorites?
I wish I started
much earlier, because I missed a lot of opportunities. I got started
about six years ago, as an outgrowth of science fiction. I was at the
world convention in San Francisco with the longtime 3000 programmer
Frank McConnell. Hed been a collector for many years, and I
found myself going to a computer swap meet with him and I bought my
first obviously used computer. Just looking around my office at the
moment, Ive got an IMSAI 8080, that has 16 lights and switches
so it looks like a computer should look and an IBM
5110. And Ive got the Processor Technology SOL, with the wood
sides and the blue case and keyboard. It was designed at Berkley. And
somewhere in the office I have an Intel 4004 chip, for practical
purposes the first microprocessor. My old HP computers arent at
the office in the moment. I like the HPs I have: the 85, 86, 87, 150,
and a 120.
A good share of your work in the 3000 community has been in
contracts for Hewlett-Packard, a company you havent been shy
about critiquing in public. How do you balance the need to maintain a
healthy business relationship with the need to comment on HP business
practices?
Im trying to avoid becoming a grumpy old man,
so you may see me being a bit more careful in the future. A lot of my
comments were directed to HP groups other than the 3000 division. In
that respect it wasnt a problem, because CSY didnt care
what I said about other HP groups. In recent years I was surprised to
find some of the people in CSY have thought I was making comments
that were negative toward them which really bothered me, since
I had never intended anything like that. I think there have been some
marketing mistakes in the last few years, and thats what I was
trying to point out.
I dont think this is a cause and effect
relationship, but things have progressed here in the last few years
that we arent doing as much for HP anymore. Perhaps that may
free me up to do more commenting. I discovered a tendency to not want
to wait for HP to get the message across the slow way. Im
running out of time as life goes on, and Ive become more and
more abrupt, wanting to slap them upside the head and say this
is stupid. This is the way you do it. It doesnt get taken
as well as the approach where you say, there are other ways of
doing it, here are the pros and cons.
Its not just me thats getting older
its the platform thats getting older, and the
longer we wait to do things, the less users well have on
it.
One of your pet
peeves in public has been the service level of the Web-based HP ITRC.
Is it getting any better and does the HP 3000 community get a
lower grade of service than other platforms in it?
I havent seen any improvement in the last six
months, but before that there was some improvement in the search
engine and cleaning up the database subsets they use. Theyve
done a good job of trying to interact with us specifically in the
last six months. They discussed it in pretty open terms, and realize
there are problems with it. They were talking pie-in-the-sky
manager-ese things to solve it, instead of specifics. Theres
more hope, but on the other hand, we havent seen anything done
for a while. It improved a fair amount, and now its stagnated
at merely bad, instead of terrible.
Almost everything you look at about HP on the Web
makes me ask, How can they claim to be a leader when everything
they do is so bad? The 3000 and 9000 users are in the same
boat. We demoed for HP the quick response and accessibility of
IBMs Web site, and it was really impressive.
Which would you consider to be among the most significant
technical advances HP has engineered into the HP 3000 in the last
five years or so?
Thats a really good question. I am trying to
remember when Posix came out, and I think it was more than five years
ago. Which is too bad, because the answer would have been Posix.
Since then, theres been some significant IMAGE enhancements
like b-trees, DDX; 64-bit hardware support to have more than 4Gb of
memory; theres been the large files.
The large files are the most important, since they
lay the foundation for going to the new hardware. At SIGSOFTVEND this
year I stood up and said we seemed to lack any future vision toward
whats next, in terms of major changes or improvements for MPE.
Three or four years ago we could look forward to the 4Gb file
project; before that we could look forward to Posix; before that we
could look forward to multiprocessor systems. I dont see
anything out there now but continued work on supporting new systems.
Thats nice, its important to do, but it doesnt show
technical leadership.
Ive proposed being able to run HP-UX binaries
transparently not because I like HP-UX better than MPE, but
because there are a lot more HP-UX binaries out there than 3000
binaries. If we could do that, it would prolong the life of the 3000.
IBM announced three months ago that you could run AIX binaries on the
AS/400. IBM thinks its a good idea, and theyve had the
most successful proprietary OS in the world in terms of the number of
installations. Theyve modeled themselves about the 3000
why cant we model ourselves after them, to that extent?
Is there, in your opinion, any hope for Open Source
methodology being used to speed up HP 3000 MPE
enhancements?
Absolutely. If youve used the DISCFREE command
on the 3000, it reports in sectors, with no commas. Even Microsoft
got this right eventually: you put commas in things. It is a matter
of one days work for somebody in Open Source to take the source
of DISCFREE and have an option where the default still works the
same, and for people who want to use the new option, it would come
out and say 423 MBs. Thats that kind of thing thats going
to be extremely low on the priority list at HP, but if we had some
sort of functioning Open Source it would be easy for somebody to whip
off in an afternoon. I know, because Ive done it for fun for
HP.
There are a lot of small things like that which could
be done. There are big things that could be done with multiple
people: Say, the ability to have local variables in a UDC or a
command file.
HP does have a problem if they put DISCFREE out as
Open Source. Who has to do the testing and the documentation of the
changes? Theres two answers: One is that HP does all that
stuff, and the other is nobody does it, so everyone is free to go to
some open server whatever their favorite version of DISCFREE is. Then
everyone is running their own version of DISCFREE, and nobody can
count on having a particular fundamental feature. I can sympathize
with HP for that, but Id like to have them solve the problem,
instead of saying because of the problem they cant do
this.
Can a database project like Postgres bring something
significant to the HP 3000 customer community?
I havent looked at it that closely, but my
initial answer is probably not. Unless it allows an important
application to moved over easily to the HP 3000, I dont think
it will have any effect on things that existing 3000 users are
writing.
The Enchilada project can provide a facility that could gives
IMAGE users a brand new way to store extra information about the
database. Which of the four outstanding Enchilada proposals do you
favor?
Mine, which basically said we extend the root file up
to 1-2Mb max. We have a relatively simple API that lets you say
Im vendor or user so and so, and then its a
key approach: you say heres my key, now give me my
information back. IMAGE has no idea what that information is. I
think the advantage is there are no new files, so existing database
copy, purge and rename utilities will all automatically work. All the
other proposals involve having additional files somewhere. Weve
had problems in the past where weve added new files, like .IDX
files for the b-trees, and suddenly the backup utilities dont
know how to store those. Its vitally important that an IMAGE
database is one concept to all these utilities. Its important
to make it easy to move a database from system to system.
Its trivial to put it in the root file. We just
pick an unused word and put the record number in there of where this
stuff starts. And by putting it in the root file, we tell people this
is not intended to store gigabytes of data. Its not a Binary
Large Object for data. Its for Where did the checking
leave off? or Whats the default free space I prefer
to have in my dataset when I do weekly expansions? Its an
outgrowth of what I told HP in Reno in 1991, when I said I wanted a
tool memory area.
You could have a couple of predefined users: This
particular type of use keeps track of files that should be associated
with the database. Now you could say, I like keeping my schema
in a file called the root file followed by an S. Im kind
of annoyed when I rename a database that schema file doesnt get
renamed by the various tools. It would be if you remembered it in
this tool memory area. There are other kinds of things you could use
this for, even if you didnt own the various tools like Adager
or DBGeneral: storing the default value for various fields, something
that SQL users have been asking for.
The HP 3000 compilers are a generation behind the HP Unix
versions for PA-RISC. How does this impact the customers and
developers for the platform, and the 3000s chance to keep up
its applications?
As far as I can
tell, the Language Labs stopped supporting the 3000, and to a large
extent stopped supporting anything but C. Randy Roten's group in
Roseville does support the MPE compilers, but their resources seem to
be very limited, compared to the rest of the Language Lab. Randy and
some of his people are always at IPROF, talking to the users. As for
C, MPE's version is years behind the HP-UX version, unfortunately.
Theres an optimization level 4 in C that we dont have
access to in MPE. I dont think that affects developers at all.
As for customers, were already paying a performance penalty to
some extent with MPE; the new A-Class machines are slower than the
equivalent 9000 machines for marketing reasons.
But I cant think of any 3000 versus 9000 sales
where the 3000 has lost because of performance. Its usually
been other factors. I think performance is going to be more
important, however, as we start being able to do more of the same
things. If youre using a 9000 Web server versus a 3000 Web
server, now youve got something where you can compare apples to
apples. There, the efficiency of the C compiler and the operating
system doing networking things and file system things starts to show
up. Thats one of the reasons I think its important to get
the A-Class at full processor power.
I understand why HP is doing that. I just dont
think its the right answer. Its their job to find a
better answer.
Among your often-quoted comments is the advice to buy as much
memory as you can afford to improve performance. Is a memory purchase
always a way to make an HP 3000 faster?
Memory is cheap nowadays. I just bought 128Mb of 9x8
memory for something like $60 on eBay.
Ive definitely shown that you can have too much
memory, but its unlikely. The more memory you have, the higher
the cost of memory management. For most users, thats a good
trade-off, because they could use the extra memory. For most users
Id recommend a minimum of 128Mb, and 2-4Mb per
user.
The real answer is, you look at your systems
performance and you see when you think its busy. Then you say
if were busy, whats the bottleneck? Is it
CPU, disk or memory? You can look to see if the CPU is busy by
hitting Control-B at the console thats the free
speedometer on the 3000. If the CPU is less than 70 percent busy, and
you think youre really busy, that means youre waiting on
something. Youre waiting on disk IO by definition, and memory
is the first thing you can try throwing at disk IO. Thats where
Measurement Interface-based tools come in useful. On the other hand,
if youre more than 70 percent CPU busy, the money is better
spent on a faster CPU, like an A-Class or N-Class.
Do you think that technically adept third parties can make a
good business of supporting things HP isnt willing to support
for the HP 3000?
I dont know. When youre talking about
things like Samba or Apache, people tend to want free answers,
because the software was free. I havent seen any success
stories yet. I think well have them eventually, but I think
its like consulting: People often spend much more money not
getting the right answer, rather than getting a consultant and
getting a right answer.
If youre looking at older things, like
supposing HP unbundles support of Transact, are the people using
Transact likely to have money to spend on support? I suspect the
answer is probably no, because if they did they would have moved off
the older thing and gone on to something else long ago.
How do you make time for the non-technical pursuits that
inspire or refresh you?
I wish I knew. Ive added another level of
non-technical pursuits. For almost a year now Ive been learning
magic, cards, ropes. Just this weekend I went to a three-day
convention of magicians. Part of the answer is I give shorter shrift
to some of my other hobbies. I havent done much about
cataloging or working on the old computers. Part of it is by ignoring
requests from certain users. [He pauses for effect.] No, just
kidding!
I try to do things that will save me time. I know
certainly that sometimes I dont do a good job of allocating my
time in a wise manner. Its a hard thing. One of the answers is
to try to make things easier on the 3000, so if it looks like
Ill be doing something more than once, I try to automate it.
Thats particularly true of my programming. Ive got a
toolbox of stuff Ive developed over the years, like the commas
in the numbers. I develop tools, and thats why I like certain
programming languages, because they let you extend the language to
some degree.
That does something called breaking the complexity
barrier. I read a paper in 1975 about it. When assembly language came
along to replace machine language, it allowed them to break through a
barrier of how big a program they could write before they
couldnt understand it anymore. Id like to see some of
those ideas [in the paper] worked on, like an Intelligent
Programmers Assistant, which might ask if you want to declare a
variable, and do you want it global or local? It would do what an
intelligent apprentice would do behind your back. I try to use tools
in a sneaky manner to save me time.
Whats the most encouraging thing youve heard or
learned about over in the last year concerning the HP 3000s
prospects?
Im trying to think of one. I am encouraged that
theyve come out with the new hardware, the A-Class and N-Class,
despite my quibbles with it.
The other answer is a continuing answer: Were
talking with the HP lab. Thats so much better than any other
computer vendor, including HP for the 9000. The 3000 community has a
really good relationship, and Im encouraged by that, as I
always am. Perhaps we can use that relationship to improve
things.
|