AOL AIM

Jeff Barr jeff at vertexdev.com
Sat Sep 20 01:13:35 PDT 2003


> From: Gregory Alan Bolcer <gbolcer at endeavors.com>
> 
> I read the history of VI last week after
> Joy left Sun and the history of IRC this morning
> after the kookaid post.
> 
> "9600 baud is way faster than you can read."[1]
> 

Ok, time for me to be the old guy here.

First computer I ever saw was some kind of
mainframe which printed out Snoopy posters on
a line printer. This was in 5th grade, and I
was hooked, even if I didn't know what was
what at that point.

Summer after 6th grade, took a digital logic
class in summer school (yes, that was my idea
of fun). Spent all summer building a digital
tachometer out of discrete TTL chips, ended
up letting all of the magic smoke out after
2 months of work.

7th grade (Framingham, Mass) all of the Junior
Highs had ASR-33's hooked up to a PDP-8 at
the High School. Each class got 2 weeks of
instruction. For 9 days out of those two
weeks I was totally mystified. Everyone was
comprehending BASIC except me. Even the girls
got it :-). I kept trying to apply what I had
learned in the logic class, somehow imagining
a bunch of gates which would recognize each
discrete statement (as a whole). The teacher
would always write for loops in the same way:

	FOR I = 1 TO 10

I could imagine some logic that would match
this exact thing. Last day of class, he
finally made a slight change:

	FOR J = 1 TO 20

Wham, the light bulb went on, big-time. It was
suddenly clear that this was all general-
purpose.

After that they couldn't keep me off of the
computer (this would later prove detrimental to
my education). The teacher (Mr. Cliff Zeolla)
allowed me as much access as I wanted. Thanks,
Cliff! This would have been around 1972. Computer
books were in short supply. Cliff drove me and
a friend into Boston one Saturday so that we
could find some more books. I bought some DEC
programming handbooks which I still have to
this day.

Got into high school, was allowed to skip out
on math class to program on some sort of Wang
Basic box. Figured out the relationship between
EXP() and LOG() and the teacher figured out
that I knew all of the math that would be taught
that year. Big mistake, which took me years
to undo.

We moved to Washington State, and I started taking
some cool electronics classes at the Pacific
Science Center. I think it was called the
Can-Do Workshop. One day a guy came by and
said that he wanted to start a computer club.
This was Bob Wallace, later to go on to write
the first PASCAL compiler for Microsoft, the
PC-Write word processor, and to invent the
concept of shareware. The club was named the
Northwest Computer Club, and we had a really
good time. Bill Gates was once a guest speaker,
as was Dr. Robert Suding. Bob died an untimely
death earlier this year.

While at the Science Center, a guy came by with
the exciting news that Seattle would soon get
a computer store of its very own. This must have
been 1975, at the time of the Altair's announcement.

At the age of 15 I somehow got hired at that
store as the janitor, with the agreement that I
could use the computers if I kept the store clean.
That job duty lasted 1 week, until I made my
first sale of an Altair or IMSAI. Learned to
treat every potential customer the same,
regardless of how they were dressed or spoke. Good
lesson for a 15-year old. Highlights of that
time included showing Bill Gates that the Compucolor
machines had a ripped off copy of his code,
meeting Gary Kildall, and working with Bob
Wallace, Tim Paterson (soon to gain fame as
the author of MS-DOS), and Mike Courtney (who
had the bad habit of working to the point of
physical exhaustion and then falling asleep
in his chair). We would gently roll Mike into
an office and let him sleep for a day or so
to recover. Earned minimum wage, which was then
about $2/hour.

Bought an Altair of my own that year, along
with a Cromemco Dazzler. Wrote a lot of 8080
assembler code and disassembled NorthStar
BASIC to learn how it worked.

Age 17, moved to Maryland with my family. Got
another computer store job (The Retail
Computer Store, in Rockville, Maryland). Did
code, sales, and support. Got addicted to
the Alpha Micro system, a very early 16-bit
PDP-11 clone. Disassembled Altair Disk (12K)
BASIC to learn how it worked.

Started at community college, and took a huge
step back in time. Whoa, punched cards! Learned
all about batch and quickly decided that PL/I
was THE language to know. Retrieved OS/370 builds
from the trash cans and studied them. Became
intrigued by the way our PL/C compiler (a
PL/I compiler written at Cornell. Featured
very fast compilation and the ability to fix
almost any random input into a valid program). Started
pushing random text and cards with COBOL on them
to learn more. Went to the CS library at the
University of Maryland to read up on this, and
learned about compilers.

First year of college, got an awesome job, with
an amazing mentor by the name of Steve Polyak.
Steve taught me how to program in 6502 assembler,
then he made me write a new assembler from scratch.
I learned about hashing and made this assembler
blazingly fast. Got a raise after I simulated
the proposed hash function at school (using
FORTRAN) and found lots of collisions when used
on the 6502 opcode set. We took some Ohio Scientific
machines and wrote a travel agency automation
package named TARA. In 48K of RAM we ran three
users on ADM-3A terminals. Steve wrote the OS
and we both wrote the apps (he more than I). We had
some very flakey memory, which was causing our
double-entry accounting system to go out of
balance in an uncorrectible way. I came up with
the idea of doing an incremental, non-destructive
memory test, one byte at a time. Steve's OS would
call me and I had something like 30 MS to do one
step of the test and to leave things unperturbed
otherwise. I should have patented this.

Learned how to use a differential oscilloscope to
do head alignment on an 8" floppy drive. Not too
hard -- insert a special floppy, and use an Allen
wrench to loosen the heads. Tweak until a nice
even pattern appeared on the scope, then tighten
it down.

At about this time, met Carmen, who would ultimately
become my wife (5 kids and 23 years later this
is definitely the highlight of that time).

Same job, was assigned to write a program to check
data supplied to the NIH for errors. The data was
in rows and columns, so I came up with a set of
formulas and constraints to express the desired
relationships. Kind of like a spreadsheet, except
inside out (dang, dang, dang -- so close!).

At this point in the story I am barely 20 years old.
Saved up some money and bought a used Apple ][. Spent
borrowed money on a Language Card and a 300/1200
baud modem.

At school someone gave me a little slip of paper
with a phone number on it. He told me to call it
with a modem, which I did, at work. It answered
"PENTAGON TIP".  I had been given the secret key
to the Arpanet. After some experimentation I found
that I could type "C" and a number between 1 and
255 to make a connection. Somehow managed to start
logging onto a machine at Berkeley, and read all
sorts of local restaurant reviews. How I figured
this out, I have no clue.

Around this time, Steve Herber, who had hired me
at the first computer store, handed me a thick stack
of manuals on a visit I made to Seattle. Little
did he know just how great of a gift this was. He
gave me a set of very early BSD manuals, bless his
heart.

After 1.5 years at school, dad could no longer foot
the bill, so I decided to start working full time.
Spent some time at a small government-funded research
company, writing PL/I on a mainframe, and BASIC
on a TRS-80 model III, with 4 floppy drives. Learned
to do batch mode late at night, submitting jobs
using VM/370 and a weird batch/interactive thing
called Wylbur. Learned about the concept of the
virtual machine.

Started to learn about the 68000 chip for fun, since
its architecture was reminiscent of the 6502. Still
have the Osborne & Associates book on the subject.

The local ComputerLand store had a special event
and I got to attend the local unveiling of the
IBM PC. Started chatting with a guy and I told
him that IBM had made a bad choice of CPU. He
asked me what I would have used and I told
him that the 68000 was infinitely preferable. His
name was Dave Dikel and we will meet him again
soon.

Continued going to school part time, 2 or 3 classes
in the evening. Wrapped up my AA degree and managed
to get admitted to the CS program at American
University.

Dave Dikel (from the IBM PC introduction) called. He
was at a company called Intellimac and they were
building some industrial-strength machines around
the 68000. Bingo! Went to interview there. They had
promised some customers that they could buy a machine
that would support 4 users writing and compiling
Ada code using Telesoft's Ada compiler. I was told
that they had the OS (ROS) running in single user
mode, and they asked if I could somehow turn it into
a multi-user OS. I shrugged and said "sure", with no
clue as to how I would do this.

Due to my impressive claim, got hired on for $10/hour.
Delivery for multi-user OS was 3 months out. Found
out that they had lied and that all they had was
bare hardware. Wrote hard disk, floppy, and serial
drivers, and a boot loader the first 1.5 months, while
thinking of how to do multiuser. This was a fairly
simple OS which set up a linear address space and
made no use of the memory mapping stuff present on
our SUN cards (the SUN was Stanford University Network,
I do believe). Decided that I could do multi-user by
simply running 4 copies of the OS and building my
own scheduler around this. Managed to get all of
this running in a month, and it actually worked. Each
OS partition could be booted independently. The available
RAM was simply divided up evenly based on the number
of serial ports on the box. The partitions could
even crash (and be restarted) without harming the
others. The "exception handling" section of my
68000 manual was pretty well-thumbed by the end of
this. They managed to deliver on their promises and
shipped more than a few of these 4-user, $50k Ada
boxes.

The sales folks at this company then promised a box
which could run the Ada OS and Unix simultaneously,
without asking me first. At some point they handed
me a hard drive and said "here's your copy of
Unix." Wrote a boot loader and somehow got it going.
Spent a long time finding out that spaces and tabs
were distinct in Makefiles.

Got married in August of 1982. Still married.

Needed to make more money and went to work for
Contel Information Systems in Bethesda, Maryland. Worked
on an early broadband network for the American Stock
Exchange. They used Cable TV hardware and somehow
managed to move data back and forth. Once again, worked
with Steve Polyak from a few jobs before. Debugged
an X.25 protocol handler and learned to use a logic
analyzer. Learned to build really reliable code because
the development and test environments were separated
by hundreds of miles. Had a good boss who understood
the value of spending enough money to get good
equipment -- he once said "Once you buy the cheap
one you understand why there's an expensive one."

Kept working on my BS degree, 2 courses at a time,
through all of this.

That's about all I can write now. This brings us to
about 1983. Do you want to hear more or is this boring?

Jeff;




More information about the FoRK mailing list