ae
Analytical Engine V1#1, July 1993 Page 1
The ANALYTICAL ENGINE
Newsletter of the Computer History Association of California
ISSN pending
Volume 1, Number 1, July 1993
Kip Crosby, Managing Editor
Jude Thilman, Telecommunications Editor
-------------------------------------------------
EDITORIAL
Welcome to the Analytical Engine, volume one, number one.
This document has three purposes: To present a small sample of
computer history. To convince you that computer history is
worth exploring and preserving. To persuade you that a modest
commitment of your time or money, or both, will help build an
institution and protect some of the most important scientific
information in the world today.
Let me give you one concise example. Remember the Pong machine?
It wasn't much to look at; a black-and-white CRT in a squat,
screaming-yellow plywood box, with a couple of black knobs. But
in the early Seventies it introduced thousands of people -- and,
beyond them, the world -- to the interactive video game. It was
one of the first computer-driven devices to become a memorable
part of our culture.
Of the perhaps 15,000 Pong machines that Atari built, _there are
fewer than a dozen left_ and they are substantially priceless.
Collectors compete to buy them. What happened to the others?
They were displaced, replaced, thrown away. Junked.
Ever since the days of ENIAC, the rallying cry of computing has
been _Let's chuck the old stuff to make room for the new
stuff!!_ and hardware is scrapped, with the hardware goes the
documentation, goes the information, leaving only the thin
thread of memory which snaps too. Leaving aside dubious
precursors, electronic computing is fifty-five years old,
microcomputing is less than twenty years old, and we're shedding
the pertinent history by the dumpsterful. The history of
digital computing -- one of the newest core sciences in the
world -- is being destroyed as fast as it's being made.
Nor can we depend on the voices of the pioneers to fill gaps.
Many of the originators of electronic computing, like Alan
Turing, Atanasoff and Berry, John Mauchly, Wallace Eckert,
Admiral Hopper, and even Bob Noyce and William Shockley, can no
longer be interviewed. The British journalist Chris Evans, who
wanted to be _the_ popular historian of the microcomputer, died
with one of his books half-finished. Computer science has
become a freestanding discipline comparable in stature to almost
any other physical science, and yet its public record lags far
behind the evolving fact. Worthy exceptions like the BBC Press
Analytical Engine V1#1, July 1993 Page 2
book The Dream Machine (reviewed next issue) only underscore the
scale of the general flow into oblivion. A handful of concerned
organizations, like the Association for Computing Machinery, and
individual historians -- Ted Nelson, Jon Palfreman, James
Cortada, for example -- are trying to preserve an irreplaceable
historical record, and frankly fighting a losing battle.
On April 19, 1993, a few people decided to take a stand by
founding the Computer History Association of California, an
organization that exists to do these things:
* Create awareness of the history of computing as a real,
evolving and valuable phenomenon.
* Prevent the destruction of historically significant
hardware, software and documentation.
* Strengthen the cooperation among existing institutions
that safeguard the history of computing.
* Begin discussions among developers and computer-related
manufacturers about setting up an overall archive -- or at
least agreeing on archiving conventions.
* Ultimately, to help build a coalition that can build and
endow a library and museum for the history of computing in
California.
A tall order! But the people who attended the first meeting
left, thought it over, and told friends. The idea went out in
CompuServe mail and Internet mail and voice. And within days we
had --
Projects.
Urgent messages about hardware slated to be scrapped, software
in filing cabinets in storerooms, manuals on pallets waiting to
be recycled.
Right now, today, we have almost no space, almost no money, a
few members, a lot of work to do and a lot of enthusiasm. The
Computer History Association of California could take off and do
its part for the history of science. Or it could end up as a
good idea in a filing cabinet in a storeroom. The difference is
up to me, to us, and to you.
If we can make a good case for ourselves, we won't be alone.
Companies and managers who share our wish to preserve this
history -- their history -- will lend a hand to a serious
effort. The wider public will contribute through annual dues or
subscriptions to this newsletter.
Our potential membership is large, and growing. Computing --
personally and institutionally -- is moving from a
Analytical Engine V1#1, July 1993 Page 3
devil-may-care adolescence to a maturity that embraces social
responsibility. Recycling, waste control, power consumption and
other "green" issues are developing broad constituencies. These
people are the same ones who will recognize, in and through our
Association, steps that can be taken now to prevent a lot of
regret in the next century. The sooner we can alert them to the
need for preservation, the more we can accomplish.
To those of you who want to share in that accomplishment, the
Computer History Association of California makes five promises:
* We will be non-partisan and nonjudgmental. We will strive
to be accurate, interesting and innovative. Our aim must be to
enrich the history of science without distorting it.
* We will work to preserve hardware, software and
documentation, as it becomes available to us, from the full
spectrum of the history of computing.
* We will make the Association's property accessible to all
interested parties as a professional and educational resource.
* We will aggressively pursue funding from the corporations
that made the computer into a fact of modern life -- inviting
them to safeguard the history that they themselves created.
* We will have professional counsel on how to build up and
broaden this organization; how to make time and money most
effective; how to choose and manage exhibits and resources,
and protect them for future generations.
If we succeed in these ambitions, we will do our small part of a
big -- of a great -- job. We will help to affirm the history
of a core science while we live surrounded by its turbulent
origins. Someday, when our descendants respect the pioneers of
computing as they do Galileo, Edison and Goddard, that
affirmation will pay off.
But we are those pioneers. We know this story as no one else
ever will. And we must keep it as our children's heritage --
and as our own.
-------------------------------------------------
PROGRAMMING THE 1401:
An Interview with Leo Damarodas
by Roger Louis Sinasohn
[Author's note: Leo Damarodas has been a programmer since the
days of room-sized computers filled with vacuum tubes. We
first met in the mid '80s when we both worked for Noesis
Computing Company, then known as one of the premier software
Analytical Engine V1#1, July 1993 Page 4
houses in the Hewlett-Packard marketplace.
Today, Leo is an independent consultant, and lives on a sailboat
south of San Francisco. I was recently able to pin him down
and convince him to reminisce about his work with one of the
earliest commercially available mid-size computers, the IBM
1401. ]
_When and how did you get into computers?_
Let's see.... My actual first job was in 1965. I started off
from high school as an electronic technician in the early
'60s,when they were a dime a dozen, and in a period of three
years, I was laid off 18 months. I got a job in one of the
local mills, and went to school nights studying computer
programming, circuitry and design, figuring that if I got a job
in either maintenance or programming, that's where I'd work.
And the mill that I was working at knew of my interest in
computers and moved me into their office as a programmer, once I
graduated.
_Over the years, what have been the biggest changes in the
computer industry?_
(Laughs) Well, let's see. Going from vacuum tubes to
solid-state magnetic core memory -- this is where the
expression core memory comes from. Another big one's
interactive programming; getting away from punched cards. It
affected the way I was working, anyway.
_What has stayed the same?_
The need for programmers. That's never changed. And I don't
think it's ever going to.
_Why do you say that?_
Because I've been hearing as long as I've been in this business
that computers would start programming themselves in the near
future. It hasn't happened yet. I don't really think it will.
_You don't think that artificial intelligence will become
intelligent enough?_
Not with the way computers are being built currently. I mean,
programmers will be put out of business when computers become
sentient. They're going to have to know what they're doing, and
machines don't. It's as if we worried about cars driving
themselves around the streets. Even artificial intelligence
requires programming.
_When I've been working, I've cursed my computer for not doing
what I wanted it to..._
Analytical Engine V1#1, July 1993 Page 5
(Laughs) You want my poem? Is that what you're asking for?
[Quotes:]
"I really hate this gosh-darned thing, I think I'm gonna sell it.
It never does just what I want, but only what I tell it."
_In that connection you've said that you shouldn't want it to start
guessing what you want. You want it to do what you tell it._
Right.
_Why do you say that?_
If it starts trying to second-guess me, and it guesses
wrong....if anything goes wrong with the computer, I'd rather
blame myself than the computer, because to me the computer is a
tool -- nothing more than a glorified screwdriver. And when the
tools start running themselves, then it's time to worry.
Because if computers start doing what they think we want done,
the next step is them doing what they think is best for us. It
is getting to the point where computers become intelligent, but
with present-day circuitry, no matter how many processors you
hook up, it still can't think for itself. It still needs a
program to run.
_You worked on the IBM 1401._
Yeah.
_What was that like?_
Well, at the time, it seemed great, because it was the only
thing I knew -- the first computer I ever worked on. It was a
hundred per cent vacuum tubes....the logic circuitry, the
memory, everything was vacuum tubes. The addressing structure
of the machine only allowed for 16K of memory, and there was no
operating system in the modern sense.
The way into the machine was through reading the machine
instructions. Each instruction portion was a letter, a
readable character, and they made sense. Take some examples, M
was Move; W was Write a print line; P was Punch a card; R was
Read a card. When you executed these instructions, you didn't
need an address, because the card read/punch always worked
memory locations 1 through 80. And the printer always used
memory locations 101 through 232 as the I/O buffer. It was a
really simple machine to work with and a lot of fun in a way.
The only way you could get the machine to do something was put a
deck of cards in the card reader and hit the start button. And
that would read the card deck, load the program into memory, and
Analytical Engine V1#1, July 1993 Page 6
start executing it. It was slow; there was no multi-processing,
no nothing. Just a really simple machine.
_So it was basically one thing at a time, and mostly written in
machine language._
Basically, yeah, but we had ways around that. There was a COBOL
compiler on the program, but we tried to avoid using it,
because to compile a 16K program and get a program deck out
would take something like an hour. But because we could read
the machine instructions, if we had an error, we didn't really
have to go through the compilation. You could take the program
deck and modify the actual machine code, load the program and
run it again. It saved a lot of time.
We also had a language called Autocoder which was a kind of
assembler. It expanded the machine instructions out to more
readable mnemonics, and allowed you to use labels for addresses
and stuff -- use real names. It made the programming a lot
easier. The thing that was really interesting was the COBOL
compiler, which was the only other language, that I knew about
-- I think there was a FORTRAN available too, but I coded
business applications, so FORTRAN wasn't used that much. One of
the features of the COBOL was an ENTER instruction, so that
while you were writing your COBOL code, you could say ENTER
AUTOCODER and start writing Autocoder code right in your COBOL
source, then say ENTER COBOL and start writing COBOL code again.
This was possible because the COBOL compiler didn't generate
machine language -- it generated Autocoder code, and then called
the Autocoder, which converted the COBOL output into machine
language. So it just substituted the Autocoder code in your
COBOL source for the output.
_What sort of applications were you working on?_
Payroll, Accounts Payable, Accounts Receivable, General Ledger
-- straight business applications. And it was next to
impossible to write any major program without going over 16K.
So you either broke it down into steps -- 16K steps, or you
wrote program overlays. There were instructions that would
allow you to read in the next part of the program. But the
overlays had to be set up in such a way that you performed one
step for all the data, loaded the next step and performed it for
all the data. You couldn't go back and forth between overlays
because the programs had to run from card decks. Data resided
on disk, but not programs. All the data would come in initially
on cards, be transferred to the disk drives on the system, and
the programs could process disk.
_So, for example, a run to print the payroll, how long would it
take that program to produce checks?_
Honestly I don't remember, but a long time, because the only
time we could use for testing was between midnight and eight in
Analytical Engine V1#1, July 1993 Page 7
the morning. The machine was being used the rest of the day to
do production work, and about all they were doing was Accounts
Receivable, Accounts Payable, General Ledger, payroll and some
inventory. Not too much more than that.
_What happened if you had a deck that's data to be input, and you
have a deck that's a program -- what happens if you mix them
up? That is, you put the data in as if it were a program?_
One of the things that would happen, if you tried to load the
data in without having the program loaded, was that it would
choke on the first card. You've got to remember there was no
operating system, and this machine's just sitting there, waiting
for a bootstrap program that had to be in the first card. When
you pressed the start button on the console, it read the
bootstrap card and branched to location one. If there wasn't a
valid instruction there for it to execute, it wouldn't do a
thing. The bootstrap program read the rest of the cards in, and
when it got an end-of-cardfile, it branched to the location
where the program was loaded; I forget exactly what part of
memory that was.
_Punched cards had 80 columns, so you could, in theory, have up
to eighty instructions per card. Is that correct?_
In theory you could, if they were instructions that didn't
require addresses. They were single-byte instructions.
_So a small program might fit on a single card?_
Yes, in fact the bootstrap program didn't even take a whole
card. The bootstrap program was about a dozen characters long.
Somewhere I have a framed white poster, about four inches high
and ten or twelve inches long, with that program written on it.
I got it at an HP user group meeting where I walked by a booth
with a sign outside that said "If you know what this is, you're
showing your age." It was the 1401 bootstrap program. It
looked familiar but I couldn't quite remember what it was, and I
said "I don't know what it is, but I should." The guy who was
running the booth knew me and my background, and he said "I
know you should." Maybe three or four weeks after the meeting,
the poster showed up in my mailbox.
_How long did you work with the 1401?_
Only about a year, and I think the machine I worked on was
actually a 1410. 1410's were the ones that had disk drives. I
came in just as they were doing a conversion from the 1401
series to an IBM 360.
_And 360's are still being used today._
I would imagine so. [Editor's note: Our best information is
that at least two System/360s are currently used in California,
Analytical Engine V1#1, July 1993 Page 8
both by private corporations in Greater Los Angeles.] As for
the 1401 series, last I heard, the Department of the Navy was
still running an application on a 1410 a good eight or nine
years ago... In the early eighties, anyway.
[Concluded next issue]
-------------------------------------------------
I Played the ORIGINAL Video Game!
a recollection by Scott Robinson
I went to work at Bolt Beranek and Newman (no comma, please) in
the summer of 1966, as an instrumentation engineer. In those
days the company's activities were roughly equally divided
between acoustics -- both architectural and underwater -- and
computer science. The computer group's main machine was a
PDP-1, which consisted of about six 6 foot racks full of
hardware. It may have had a Remington Rand Fastrand drum
memory; I'm not sure. The company certainly had one of these
beasts later on, a drum about five feet long and two feet in
diameter with a large number of heads. All this was housed on
the lower floor of the (then) new split-level building, adjacent
to the kitchen and the reception area.
The control console for this machine was on the end of the row
of racks; it had a monochrome CRT, about 12 or 14 inch size,
and a row of miniature metal-handled toggle switches to enter
data and addresses when necessary. These switches were used as
the controls for Spacewar. This game was not a time-shared
activity; I suspect that we used the whole machine!
When a game was started, the screen would light up with two
different ship icons against a random background of stars.
There could, optionally, be a sun in the middle exerting
gravitational influence on matter. The gravitational constant
was also players' choice, I think in two steps, "fast" or
"slow." The screen was topologically connected side-to-side and
top-to-bottom; if you exited screen left, you reappeared screen
right, and so on.
Each ship could be rotated clockwise or counterclockwise, fire
reaction engines that eventually ran out of fuel, and fire
missiles of finite range and finite number. The ship obeyed
Newton's laws, accelerating and decelerating under the influence
of its engines and of solar gravitation, if any. Rotation could
be either easy to control (when you had a switch on, the ship
rotated,) or more difficult and realistic (the switches applied
angular acceleration, so that rotation increased or decreased
gradually depending on switch settings). The object, of course,
was to blow the other ship up.
If you were hit, you were dead meat! Falling onto the sun was
comparably ill-advised. Collision of two ships produced a
Analytical Engine V1#1, July 1993 Page 9
vivid, graphically depicted explosion on screen, and both
players were out, whereupon the game restarted.
For those in desperate circumstance, faced perhaps with a
barrage of missiles incoming and too close to dodge, there was
an escape...hyperspace! By rotating in both directions
simultaneously, the ship could be made to vanish and reappear
with unpredictable position and velocity. Your situation might
be improved...but with a catch. The ship might explode upon
re-entry into normal space, and the likelihood increased each
time hyperspace was invoked. I don't think I ever saw anyone
use hyperspace four times in one game without blowing up.
The display was a vector-type CRT and the quality of the
graphics exceptional. The motion was perfectly smooth, with no
aliasing artifacts noticeable.
Although I and others spent many enjoyable evenings playing
Space War, the test word toggle switches used as controls
enjoyed the game much less than we did, and failed with some
regularity. Ultimately the computer folks got tired of
replacing the switches and threw us off the machine.
Nonetheless I take a certain satisfaction in having played one of
the first computer games, an innovative and engaging game with
rigorous simulation of physics in action. As for the hyperspace
feature, haven't you ever felt that you were about to go off
into hyperspace when you tried to rotate both directions at
once?
-------------------------------------------------
NEXT ISSUE * NEXT ISSUE * NEXT ISSUE * NEXT ISSUE
INITIATIVE 1999: Why a lot of hardware will be scrapped at the
turn of the century. Why six years is barely long enough to
prepare for the consequences. Plus: Programming the 1401,
part 2. Smalltalk Then and Now. Palfreman and Swade's Dream
Machine. More....
Downloadable October first -- don't miss it!
-------------------------------------------------
GUIDELINES FOR SUBMISSION
The ANALYTICAL ENGINE solicits manuscripts of 600 to 1000 words
on the general topic of the history of computing. Articles
should be tightly focused on one interesting or illuminating
episode and should be written for a technically literate general
audience. Submissions are welcome from both members and
non-members of the CHAC and a one-year membership, or extension,
will be given for each article published. Article deadlines are
the first of each month prior to publication: June 1 for the
Analytical Engine V1#1, July 1993 Page 10
July issue, September 1 for the October issue, December 1 for
the January issue, and March 1 for the April issue.
Decision of the editors is final but copyright of all published
material will remain with the author.
The preferred document file format is Microsoft Word for DOS or
Windows, but almost any DOS or Macintosh word processor file
will be acceptable. Alternatively, please provide an ASCII
file. Submit manuscripts on DOS 5.25" or DOS or Mac 3.5"
diskettes, or by modem as a file attached to an Internet
message. Please avoid submitting on paper unless absolutely
necessary.
-------------------------------------------------
Can you spare a few minutes a month? The ANALYTICAL ENGINE
urgently needs volunteer help for administration, subscription
fulfillment, proofing and keying. Help keep the ENGINE spinning
-- reply to our Internet or mailing address today.
-------------------------------------------------
The ANALYTICAL ENGINE, newsletter of the Computer History
Association of California, is published four times a year -- in
January, April, July and October -- at El Cerrito, California.
Subscriptions are available with Association membership at $25
per year. Use the coupon below to subscribe, or contact the
Association at:
US Mail: 1001 Elm Court, El Cerrito, CA 94530-2602
Internet: kcrosby@crayola.win.net
America Online: kcrosby
CompuServe: 72341,2763
FAX: 510/528-5138
-------------------------------------------------
SUBSCRIBE * SUBSCRIBE * SUBSCRIBE * SUBSCRIBE
and share fascinating insights into the vital story of computing
while you build an organization that safeguards our unique
scientific and technical heritage. Just $25 will bring you four
issues of the ANALYTICAL ENGINE -- filled with non-partisan,
technically and historically accurate articles -- and the
satisfaction of preserving the history that you work to create.
Analytical Engine V1#1, July 1993 Page 11
____ Yes! I enclose $25. Please enroll me in the Computer
History Association of California for the next year and
send four issues of the ANALYTICAL ENGINE to
____ Internet address: ________________________________________
____ CompuServe ID#: __________________________________________
____ Other gateway: ___________________________________________
____ I would prefer to receive paper copies of the ANALYTICAL
ENGINE. (A paper edition will be produced if the membership
shows sufficient interest.) My mailing address is:
Name: _________________________________________________________
Company: ______________________________________________________
Suite, Box, Mail stop: ________________________________________
Street: _______________________________________________________
City: _____________________ Zip/postcode: ___________________
Country: ______________________________________________________
____ I will submit an article to the ANALYTICAL ENGINE. (Please
refer to the guidelines for submission, above.)
____ I will help produce the ANALYTICAL ENGINE or do other work
for the Association. Please contact me at:
______________________________________________________________
*****
NOTE: This issue of THE ANALYTICAL ENGINE is being distributed
on the honor system. Please subscribe if you wish to, but for
the moment we can only accept checks or other depositable types
of payment. We hope that, by the end of 1993, we will have con-
cluded arrangements with various online services to accept
payment by VISA or MasterCard. We appreciate your patience.