textfiles/internet/FAQ/folkcomp.faq

1495 lines
60 KiB
Plaintext

alt.folklore.computers FAQ
0.1 - General comments
This is the second time this FAQ is being posted. I thank to everybody
who sent comments and suggestions. I try to quote in the section VIII
the name of everyone who sent me a suggestion that I actually used, but
sometimes some names slip away. If your name is not in that list, tell
me and I'll correct it.
I'm working in getting a FTP site to this files, and if somebody have
a site and is willing to share some space, I'd be very grateful.
0.2 - Changes since last month
- Well, this whole file is new (we hadn't a 'last month' before...)
- As you probably noted, the files and sections are now numbered from zero
(does anybody know how the Romans represented zero ?); however, the questions
are still numbered from one. I hope this doesn't confuse anyone.
- The question about the NASA probe killed by a DO-loop is now complete.
- There are more books in file 3, and some missing information was added. I
don't have ISBN numbers for most of the new additions, though.
- Now I have the correct place where to find 'Why Pascal is not...'
- There's a lot of new questions and answers in File 1
- I couldn't work in updating File 2, but I'll do it for next month
- The question about Kildall and IBM has been updated
I - Introduction
I.1 - What is folklore ?
According to Webster's:
Folklore: 1. Traditional customs, tales, or sayings
preserved orally among a people. 2. A comparative
science that investigates the life and spirit of
a people as revealed in their folklore [recursive
definition?] 3. A widely held unsupported specious
notion or body of notions
In this newsgroup, all of the definitions above seem to be supported.
One can say that discussions in this group approach discussion about
history of computation, but that is not quite right. Ultimately, the
difference between history and folklore is that history deals with
great and important facts and folklore deals with minor, day-to-day
facts. We obviously discuss facts that fit in "History", too, but
that is a side-effect of the overall discussion.
II - Generic questions
II.1 - What is the origin of the term XXX ? What does XXX mean ?
Answer to questions like this can be found in a big (I mean it!) file
called The Jargon File. This file contains, among other things, the
meaning of thousands of words used by computers people. If you ever
heard of a computer-related word, it is probably in this file. Be
aware, however, that this file is not a lexicon of technical terms.
It mostly contains words that you _don't_ find in computer dictionaries.
You can get it by anonymous ftp, in prep.ai.mit.edu (18.71.0.38), in
directory pub/gnu, as the file named jargon2911.ascii.Z Its size is 507845
bytes (compressed), and uncompresses to a file with 1125880 bytes. It is
also a published book, _The New Hacker's Dictionary_ (see below, question II.3).
In this file, you can find answers to questions as "Does UNIX means anything ?"
or "What does PDP means ?", and "Why the h**l are hard disks called
winchesters ?", and a LOT more. The Jargon File is also a repository for other
history, poems, and anecdotes. A little grepping will probably find what
you're looking for, and it will probably also be faster and more accurate
than posting to a.f.c.
II.2 - Is {famous person} on the net?
There is also a file with information on it. It was posted to a.f.c
in Feb. 26th, 1993. I managed to contact the mantainer of this file,
and he is updating it. More news when he's finished.
II.3 - What are some good books on computer folklore?
Look at the third file of this FAQ. It contains a large list of such books.
II.4 - Where can I find {interesting file} ?
Try archie. But, sometimes it is really difficult to know the name of
the file, even if you know the title of the article. I include a small
list below:
- 'Why Pascal is Not My Favorite Programming Language', by Brian Kernighan :
it was posted to a.f.c. as ASCII. It is also available as a PostScript file
in research.att.com:netlib/research/cstr/100.Z
- 'Real Programmers don't use Pascal', by Ed Post: it was posted to a.f.c, too.
It is available via FTP from leif.thep.lu.se (130.235.92.55) as
pub/Misc/realprog
- 'The Tao of Programming': it is copyrighted material, so it cannot be
distributed via FTP. Anyway, it was posted to a.f.c in Feb. 1993.
- This FAQ: as of now, nowhere. I will see to it.
III - General folklore
III.1 - I heard that one of the NASA space probes went off course and
had to be destroyed because of a typo in a FORTRAN DO loop.
Is there any truth to this rumor?
As revealed by past discussion in comp.risks (Risks Digest) as well as
alt.folklore.computers and occasionally other newsgroups, this turns
out to be a confusion of two separate events.
The space probe that the DO-loop story has been wrongly attached to is
Mariner I (or 1), which was intended for Venus (not Mars). Several
incorrect or partially correct versions of what really happened were
posted in comp.risks; the best of these cited a NASA publication called
"Far Travelers" by Oran W. Nicks, but still did not have the whole story.
Then in issue 8.75 we found out what really happened...
| Date: Sat, 27 May 1989 15:34:33 PDT
| From: Peter Neumann <neumann@csl.sri.com>
| Subject: Mariner I -- no holds BARred
|
| Paul Ceruzzi has written a truly outstanding book for the new show
| that opened two weeks ago at the Smithsonian National Air and Space
| Museum. The exhibit and the book are both entitled "Beyond the Limits
| -- Flight Enters the Computer Age". Both are superb. Go for it (them).
|
| Paul has dug into several cases treated previously in RISKS and in
| issues of the ACM Software Engineering Notes, and has been able to
| resolve several mysteries. In particular he considers the case of
| Mariner I, about which various inaccurate stories have been told.
| Intended to be the first US spacecraft to visit another planet, it was
| destroyed by a range officer on 22 July 1962 when it behaved
| erratically four minutes after launch. The alleged missing `hyphen'
| was really a missing `bar'. I quote from Paul's book, pp. 202-203:
|
| # During the launch the Atlas booster rocket was guided with the help
| # of two radar systems. One, the Rate System, measured the velocity of
| # the rocket as it ascended through the atmosphere. The other, the
| # Track System, measured its distance and angle from a tracking
| # antenna near the launch site. At the Cape a guidance computer
| # processed these signals and sent control signals back to the
| # tracking system, which in turn sent signals to the rocket. Its
| # primary function was to ensure a proper separation from the Atlas
| # booster and ignition of the Agena upper stage, which was to carry
| # the Mariner Spacecraft to Venus.
| #
| # Timing for the two radar systems was separated by a difference of
| # forty-three milliseconds. To compensate, the computer was instructed
| # to add forty-three milliseconds to the data from the Rate System
| # during the launch. This action, which set both systems to the same
| # sampling time base, required smoothed, or averaged, track data,
| # obtained by an earlier computation, not the raw velocity data
| # relayed directly from the track radar. The symbol for this smoothed
| # data was ... `R dot bar n' [R overstruck `.' and `_' and subscript n],
| # where R stands for the radius, the dot for the first derivative
| # (i.e., the velocity), the bar for smoothed data, and n for the
| # increment.
| #
| # The bar was left out of the hand-written guidance equations. [A
| # footnote cites interviews with John Norton and General Jack Albert.]
| # Then during launch the on-board Rate System hardware failed. That in
| # itself should not have jeopardized the mission, as the Track System
| # radar was working and could have handled the ascent. But because of
| # the missing bar in the guidance equations, the computer was
| # processing the track data incorrectly. [Paul's EndNote amplifies:
| # The Mariner I failure was thus a {\it combination} of a hardware
| # failure and the software bug. The same flawed program had been used
| # in several earlier Ranger launches with no ill effects.] The result
| # was erroneous information that velocity was fluctuating in an
| # erratic and unpredictable manner, for which the computer tried to
| # compensate by sending correction signals back to the rocket. In fact
| # the rocket was ascending smoothly and needed no such correction. The
| # result was {\it genuine} instead of phantom erratic behavior, which
| # led the range safety officer to destroy the missile, and with it the
| # Mariner spacecraft. Mariner I, its systems functioning normally,
| # plunged into the Atlantic.
The DO-loop incident did happen at NASA, and at about the same time.
As told by Fred Webb in alt.folklore.computers in 1990:
| I worked at Nasa during the summer of 1963. The group I was working
| in was doing preliminary work on the Mission Control Center computer
| systems and programs. My office mate had the job of testing out an
| orbit computation program which had been used during the Mercury
| flights. Running some test data with known answers through it, he was
| getting answers that were close, but not accurate enough. So, he
| started looking for numerical problems in the algorithm, checking to
| make sure his tests data was really correct, etc.
|
| After a couple of weeks with no results, he came across a DO
| statement, in the form:
| DO 10 I=1.10
| This statement was interpreted by the compiler (correctly) as:
| DO10I = 1.10
| The programmer had clearly intended:
| DO 10 I = 1, 10
|
| After changing the `.' to a `,' the program results were correct to
| the desired accuracy. Apparently, the program's answers had been
| "good enough" for the sub-orbital Mercury flights, so no one suspected
| a bug until they tried to get greater accuracy, in anticipation of
| later orbital and moon flights. As far as I know, this particular bug
| was never blamed for any actual failure of a space flight, but the
| other details here seem close enough that I'm sure this incident is the
| source of the DO story.
Project Mercury's sub-orbital flights were in 1961, and its orbital
flights began in 1962. I forwarded the above to comp.risks, slightly
abridged, and it appeared there in issue 9.54.
The erroneous claim that the DO-loop bug was the bug that killed Mariner I
apparently originated with, and certainly was propagated by, the book
"Software Reliability: Principles and Practices" by G(lenford) J. Myers
(John Wiley & Sons, 1976). I haven't read it myself; I've seen the page
numbers 7 and 275 attributed to the assertion. I expect both are right.
This book also describes the bug as a "billion-dollar error", which is
too large by a factor of about 50.
In some earlier postings it was suggested that Myers be located and
asked about his sources (the book gives none), but nobody successfully
did this; his employer at the time of publication didn't have his
current address. My guess is that he simply made an error or more
likely accepted someone else's wrong recollection, and didn't feel
it necessary to go to original sources to verify what was only an
illustrative point anyway.
This answer by Mark Brader <msb@sq.com>. Quoted items in it have been
reformatted but not abridged.
III.2 - I heard that Gary Kildall missed the chance to make CP/M the
IBM PC operating system because he decided to go flying on
the day the IBM reps had an appointment. Is this true?
This answer comes from the book "Hard Drive"; it says there are two
versions of this story.
One is from Jack Sams, the guy from IBM who went to DR to meet
Kildall. He says that Kildall was out, flying on his plane, and
Kildall's wife and a DR's lawyer met with him (Sams). They did not
want to sign a non-disclosure agreement with IBM, so IBM went away
without even talking with Kildall. (That agreement said that DR could
not tell IBM confidential information, but if DR did so, IBM could not
be sued for using it; and DR would be sued if it used any confidential
information that IBM gave them.) That night, they went to Seattle and
made the deal with Microsoft.
But Kildall tells a different history: he says he really was out on his
plane, but he was on a business trip at San Francisco, and he was back
to DR in time to meet with the IBM guys. He signed the agreement, had
the meeting, and apparently thought that they and a deal. That night,
he and his wife went to Miami with the IBM guys (in the same plane; the
IBM guys were coming back to Boca Raton, and the Kildalls were going to
Caribe), and Kildall was told to contact them when he returned. When
he eventually returned to US, he was unable to find Sams, and later
heard they had a deal with Microsoft (this is strange, since IBM kept
that project as a secret, and nobody knew about Microsoft being on
it).
Kildall says that the plane story was first told by Gates, in an
interview to the London Times. This is Microsoft's version, he says,
but History always tells the winners' version, not the losers'.
III.3 - Is there really a coke machine attached to the Internet?
They say so. Actually, it's address is coke.elab.cs.cmu.edu (128.2.209.43).
It cannot be fingered every time (sometimes it refuses connection, and
sometimes it answers an empty line). They seem to be still working in the
software, and the format of the information is probable to change. But, if
you finger it today, the information you get back is something like this :
wilson@tatu 21 % finger @coke.elab.cs.cmu.edu
[coke.elab.cs.cmu.edu]
WARNING: This software still contains at least one bug!
Coke Server Ver 0.99 2-26-93
Information may not be correct, use at your own risk.
Coke: Cold: 10 Warm: 0 Buttons
Diet coke: Cold: 6 Warm: 0 C: EMPTY
Sprite: Cold: 2 Warm: 0 C: COLD D: EMPTY
C: COLD D: COLD
C: EMPTY D: COLD
C: COLD
S: COLD
wilson@tatu 22 % finger bargraph@coke.elab.cs.cmu.edu
[coke.elab.cs.cmu.edu]
WARNING: This software still contains at least one bug!
Coke Server Ver 0.99 2-26-93
M & M Buttons
/-----\ C: CCCCCCCCCC................
|*****| C: CCCCCCCCC.... D: CCCCCCCC.....
|*****| C: CCCCCCCCC.... D: CCCCCCCCCC...
|*****| C: CCCCCCCCCC... D: CCCCCCCCCCC..
|*****| C: CCCCCCCCCCCC.
\-----/ S: CCCCCCC......
| Key:
| 0 = warm; 9 = 90% cold; C = cold; . = empty
| Leftmost soda/pop will be dispensed next
---^---
And, in RFC1288 (The Finger User Information Protocol), the use of vending
machines on the net is supported :
#2.5.5. Vending machines
#
# Vending machines SHOULD respond to a {C} request with a list of all
# items currently available for purchase and possible consumption.
# Vending machines SHOULD respond to a {U}{C} request with a detailed
# count or list of the particular product or product slot. Vending
# machines should NEVER NEVER EVER eat money.
#
III.4 - I heard there was a POKE command on the {your computer here}
that would physically damage the hardware. Is this true?
For those not used to it, a POKE command put some value in some position in
memory. Thus, POKE 16510,0 changes the number of the first line of a BASIC
program in a Sinclair ZX81 to 0 by overwriting the real number in that
position.
About physical damage: apparently, you could make the monitor of a PET computer
catch fire with a POKE. The poke controlled the size of the screen for the
electron beam (which was under computer control). The idea was that you could
change the screen size if you wanted to get around variations on the screen.
Anyway, setting to Zero meant the computer would try to paint the entire
screen in the center of the screen, thus burning out the phosphor on the
monitor.
Also, in some IBM PC hardware you could burn the flyback transformer inside
the monitor with an OUT, reprogramming the MGA video card.
III.5 - What should I do to an old CD ?
Microwave it. Put in in the microwave oven, above a cup turned upside
down (the cup, not the disk), set the power to HIGH, the timer to 5 seconds,
turn off all the lights, and make sure you watch. You will never use this
CD again. The microwave oven is left apparently intact.
III.6 - Is it true that there is a cat printed on the motherboard of
Sun SPARCStations IPX ? Why ?
Yes, it is true (don't believe me ? open yours !). It is supposed to
be the comic strip caracter "Hobbes" (from Calvin and Hobbes). The Sun
internal name for the IPX is "Hobbes" (the SparcStation 2 is Calvin).
III.7 - Why did IBM choose the 8088 rather than the 68000 as the processor for
their first PC?
The IBM PC was supposed to be a low-end model machine that would compete
with CP/M machines and the Apple II, but not with IBM's planned larger
"PC's" (which never left the ground). For that reason, it needed a 16-bit
CPU, but not too much memory.
With its 8-bit data bus, the 8088 would lead to cheaper hardware
than a 68000-based machine. The limited address space (1MB, further
reduced by IBM's designers to 640 KB) wasn't perceived as a problem
since nobody could imagine anyone needing so much RAM in a PC
anyway.
Also, the 8088 has the advantage of allowing easy proting of 8080/Z80
code. This meant that lots of software could be produced very quickly
by porting existing CP/M programs (such as Microsoft Basic and the
WordStar word processor).
III.8 - Is the 8088 processor really code compatible with the 8080?
No, not on the binary level; the opcodes are different. However,
the instruction sets are so similar that assembly language programs
can be machine translated from 8080 assembler to 8088 assembler.
III.9 - What does VAX mean? Why did early VAXen have model numbers starting
with "11",like 11/780, 11/750, and so on?
Rumour has it that the 11/780 was originally intended as the PDP 11/78 with
"Virtual Address eXtension" (i.e. virtual memory), but Digital choose
to present their new 32-bit line of computers under the name "VAX"
rather than "PDP".
The 11/xxx series of VAX machines all had a special "compatibility mode"
in which they can run PDP-11 code.
III.10- Why is 'i' typically chosen as a loop counter, in constructs such as
for(i=0; i<10; i++);
There are several possible answers to this, and most of them seem to support
the idea of 'computer centrism' from the guys who work with computers (I mean
'all of us'). For example,
o - FORTRAN (on which many people learned to program) used the initial
letter of variables to determine their data type. A variable would
be assumed integer if the initial letter was in the range I-N (some
have commented that these are the first two letters of INteger). So
if you wanted a quick int variable is a loop counter, you would start
with i, proceed to j, and so on.
o - This is all very well, say the math oriented, but we we're using 'i'
in equations as a sample variable like this :-
___
\
/__ X
i=0 i
and FORTRAN obviously stole the idea from us.
As to which one is actually true? Well, no one is quite sure. Programmers
probably picked up the practice from FORTRAN, which in turn probably took
it from the mathematicians. All I know is that every programming book around
uses 'i' as the first loop counter.
Of course, there are many programmers who use 'F' or 'N' as loop variables, as
a consequence of using Sinclair computers in their first days of programming.
These computers had the BASIC keywords assigned to keys, and you could get
FOR by typing F, and NEXT with N. So, it was easy to type 'FOR F=...' and
'NEXT N' (I am not sure, but I think that the '=' sign was also on the F key;
does somebody remembers it ?)
III.11- Is there any truth to the rumor that the people at Cray design
their supercomputers with Apple computers, and that Apple designers
use Cray's?
The comment was made when Apple bought its Cray to design the next macs.
Dr. Cray wrote them a note saying that he found that quite ironic, since
he was designing the next Cray on a Mac... Keep in mind that each one uses
the other's machines to do quite different things, probably. Apple uses
a Cray to do heavy calculations, and Cray probably uses Macs in CAD, or
something like this.
III.12- Did Bill Gates write MS-DOS ?
No, no and no. Microsoft bought MS-DOS from a Seattle company, and it was
called QDOS then (Quick and Dirty Operating System). Some say it is not
quick anymore, but the rest stays the same. True, Microsoft made some
modifications to it, and probably Bill Gates helped in it, but he did not
write the OS in the true sense of this words. By that time, MS was in
dire need of an OS to use with IBM PC, because IBM could make business with
Digital Research (see above, III.2), and QDOS was their salvation.
III.13 - Is '2' the lowest possible numeric base ?
No. There's a lot more in the matter of bases than most people can
dream. Although one usually only encounters number systems with positive
integer bases (binary, decimal, hexadecimal, octal), it is also possible
to use non-integral, negative, irrational, or even complex bases. For a
comprehensive discussion, see Knuth's 'Art of Computer Programming'.
Although it is not a positional system, one sometimes talks about a
system with base one (the unary system) where the integer N is
represented as a string of N ones. This number system is especially
popular among theoretical computer scientists when discussing Turing
machines.
The discussion about bases seems to surface in a.f.c about once every
semester, and it seems to hold endless fascination for CS students (like
me, for example).
III.14 - What about that story about viruses in printers during Gulf War?
This is an excerpt from the January 20, 1992 issue of "U.S. News and
World Report" magazine, sidebar on page 50 entitled "Spy Wars -- The
gulf war flu":
Several weeks before the air campaign of Operation Desert Storm
began, U.S. intelligence agents notched up the odds for the
American-led coalition a bit. The agents had identified a
French-made computer printer that was to be smuggled from Amman,
Jordan, to a military facility in Baghdad, where it was to be used in
a computer network critical to the coordination of Iraq's formidable
air-defense batteries. They were said to be second only to those of
Moscow.
According to two senior U.S. officials familiar with these events,
this is what happened next. The U.S. agents in Amman replaced a
computer microchip in the French-made printer with another microchip
provided by the National Security Agency in Fort Meade, Md.
Technicians there had designed a computer virus into the tiny
electronic circuits of the microchip. The virus was designed to
disable a mainframe computer, the officials said, but by attacking
through a printer, known as a "peripheral" piece of equipment, it was
able to circumvent the electronic security measures designed to
protect mainframe computers from such interference.
The virus was cunningly designed, and it must have driven Iraq's
air-defense computer technicians to distraction. Once the virus was
in the system, the U.S. officials explained, each time an Iraqi
technician opened a "window" on his computer screen to access
information, the contents of the screen simply vanished. The virus
seems to have worked as planned, the two officials said. The irony
is that it was probably not needed. The coalition's overwhelming air
superiority would have ensured pretty much the same result whether
the virus had been used or not.
III.15 - Why does MS-DOS use '\' as the path separator, while Unix uses
'/'?
Version 1 of MS-DOS didn't have subdirectories or paths, and wasn't
much like Unix at all. The '/' character was used to denote command
options (like '-' in Unix); this was rather common in CP/M, and is the
standard in many DEC operating systems. In version 2.0 of MS-DOS, many
new Unix-like features were added, including subdirectories. Since '/'
was used for command options by many programs, that character couldn't
be used in paths. Apparently Microsoft thought '\' was the second best
alternative. It's interesting to say that is the shell who requires
'\' as the path separator; the real DOS is quite happy with '/', and
when you program in C (for exemple), you can write a path as
"c:\\foo\\bar\\..." or "c:/foo/bar/...", and both work. Also, there
was an undocumented feature of DOS which allowed the user to change the
switch char, and freed '/' to be used as a path separator in the
command line. This no longer exists in DOS 5.0, and probably is absent
in DOS 6.0, as well (I couldn't test this).
IV - Origins
IV.1 - What are the origins of Usenet ?
Read the FAQs :-). Actually, it is posted to news.answers, with
the subject "USENET software: History and Sources".
IV.2 - ... C ?
Quoted from _The_Secret_Guide_To_Computers (a GREAT book, by the way),
(c) 1991 by Russ Walter (15th edition):
In 1963 at England's Cambridge University and the University of
London, researchers developed a ``practical'' version of ALGOL and
called it the Combined Programming Language (CPL). In 1967 at Cambridge
University, Martin Richards invented a simpler, stripped-down version
of CPL and called it Basic CPL (BCPL). In 1970 at Bell Labs, Ken
Thompson developed a version that was even more stripped-down and
simpler; since it included just the most critical part of BCPL, he
called it B.
Ken had stripped down the language _too_ much. It no longer
contained enough commands to do practical programming. In 1972, his
colleague Dennis Ritchie added a few commands to B, to form a more
extensive language. Since that language came after B, it was called C.
So C is a souped-up version of B, which is a stripped-down version
of BCPL, which is a stripped-down version of CPL, which is a
``practical'' version of ALGOL.
IV.3 - ... Unix ?
There are several versions of this story. Some say that it was
designed as a system "by programmers and for programmers", others say
that it was mainly a word-processing system, and others say that
Thompson's primary goal was playing Space War.
This is a quote from Ritchie and Thompson themselves, in "The Unix
Time-Sharing system", published in "The Unix Time-Sharing System",
thematic issue of Bell System Tech. J. vol 57, no 6 part 2 (1978):
"There have been four versions of the UNIX time-sharing system. The
earliest (ca 1969-70) ran on the Digital Equipment Corporation DPD-7
and -9 computers. The second version ran on the unprotected PDP-11/20
computer. The third incorporated multiprogramming and ran on the
PDP-11/34, /40, /45, /60 and /70 computers
[...]
Since PDP-11 UNIX became operational in February, 1971, over 600
installations have been put into service. Most of them are engaged in
applications such as computer science education, the preparation and
formatting of documents and other textual material, the collection and
processing of trouble data from various switching machines within the
Bell System, and recording and checking telephone service orders. Our
own installation is used mainly for research in operating systems,
languages, computer networks, and other topics in computer science,
and also for document preparation.
[...]
The first version was written when one of us (Thompson), dissatisfied
with the available computer facilities, discovered a little-used PDP-7
and set out to create a more hospitable environment. This (essentially
personal) effort was sufficiently successful to gain the interests of
the other author and several colleagues, and later to justify the
acquisition of the PDP-11/20, specifically to support a text editing
and formatting system.
[...]
....because we are programmers, we naturally designed the sustem to
make it easy to write, test and run programs."
While it doesn't mention Space War (which I suppose isn't serious
enough for a research journal), this makes very clear that *both*
stories are correct: Unix was initially developed by programmers, for
programmers, but word processing became an important application very
early. By the way, in "AT&T Bell Labs. Tech. Journal", Oct. 1984, they
say that when they found the first PDP to put Unix in it, they were
trying to find a machine to run a gamed named Space Travel (not War).
Thompson and Ritchie seemed pretty proud about the 600 installed
systems in 1978; I wonder what they'd have said if somebody had told
them back then that there'd be millions of Unix systems within 15
years...
IV.4 - ... structured programming ?
Not sure, but this must have originated at the end of the '50s,
probably connected with the Algol 58 report.
V - Firsts
V.1 - When/what/where/who/... was the first {something} ?
- Computer: look at the third file of this FAQ. It contains a little
history of computers.
- Computer programmer: Lady Ada Lovelace was one of Lord Byron's
daughters, and a friend of Charles Babbage. She wrote numerous
programs for the Analytical Engine, and so qualifies as the world's
first computer programmer.
- Stored program to run: The Manchester Mark-I-Prototype ran the first
stored program in the world (a program to find greatest common factors)
on 21st June 1948.
- E-mail message: probably internal messages were around for as long as
there was systems providing it. It can be probably by 1963 or 1964.
- Computer game: people have been programming games for as long as
there have been computers. There was research in getting computers to
play Tic-Tac-Toe, chess and checkers going on already in the early
1950's. Also, the following quotation sheds some light in the issue:
"...The Mark I's random number generator ... supplied some fun
and games. F.C. Williams ... wrote a little gambling program
that counted the number of times a given digit, from 0 to 9, was
produced by a run of the generator. But Williams adjusted the
generator to lean toward his favorite number, and he enjoyed
betting against unsuspecting visitors. The beginnings of
computer crime!"
-Bit by Bit, Stan Augarten p. 212, ISBN 0-89919-302-1
- "Adventure" game: ADVENT, also known as Colossal Cave, by Crowther
and Woods (see the rec.{games,art}.int-fiction FAQ's for more info).
There was an earlier precursor, though: "Hunt the Wumpus", which is not
an adventure game as we know it, but it is the first game with a stored
map. See the Jargon File under "Wumpus".
- Graphics computer game: probably something played on oscilloscopes
- Use of microprogramming: Maurice Wilkes on the EDSAC.
- Use of virtual memory: Atlas at Manchester University.
- High level language : Fortran, designed at IBM in 195?.
VI - Jokes
There are a lot of parodies and generally "computers related" jokes
around. It's really easy to find them in posts, and in FTP sites.
Particularly, you can find a great numbers of them in sunsite.unc.edu,
directory /pub/docs/humor.
VII - Net resources
VII.1 - Who do I call if I have a problem with <something> ?
I was told that the FAQ files of alt.uu.announce and alt.uu.comp.misc
have a list of "volunteers". Try them. Anyway, to questions relating
a.f.c ONLY, you can try peter@NeoSoft.com (Peter da Silva), he seems to
know almost everything.
VIII - Acknowledgement
Contributions were received from :
"T.G.A." Rushton <T.G.A.Rushton@durham.ac.uk>
Arnt Gulbrandsen <agulbra@pvv.unit.no>
Dave (whitten@fwva.saic.com)
Eric Grosse <ehg@research.att.com>
MJ STODDARD <STODDARD@ARIZVMS.BITNET>
Magnus Olsson <magnus@thep.lu.se>
Malcolm Shute <mshute@computer-science.manchester.ac.uk>
Mark Harrison <snow@dcs.warwick.ac.uk>
Murray_Moffatt@kcbbs.gen.nz (Murray Moffatt)
Nik Clayton <cs92njc@brunel.ac.uk>
Peter Neumann <neumann@csl.sri.com>
S.R. Atkins <90sra@eng.cam.ac.uk>
Thayne Forbes <thayne@unislc.slc.unisys.com>
alien@acheron.amigans.gen.nz (Ross Smith)
bryan o'connor <bryan@fegmania.wustl.edu>
dcd@houston.geoquest.slb.com (dan day)
del+@CMU.EDU (Daniel Edward Lovinger)
eeyimkn@unicorn.nott.ac.uk (M. Knell)
faught@zeppelin.convex.com (Danny R. Faught)
forbes@cbnewsf.cb.att.com (Scott Forbes)
gmw1@cunixa.cc.columbia.edu (Gabe M Wiener)
ig25@fg70.rz.uni-karlsruhe.de (Thomas Koenig)
jelson@circle.cs.jhu.edu (Jeremy Elson)
msb@sq.sq.com (Mark Brader)
mshield@ukelele.GCR.COM (Michael Shields)
nelson@eagle.natinst.com (Nelson Bishop)
silveira@inf.ufrgs.br (Fernando da Silveira Montenegro)
tcorcora@sunlab.cit.cornell.edu (Travis Corcoran)
thompsn@ccu.UManitoba.CA (Adam Thompson)
weisberg@ee.rochester.edu (Jeff Weisberg)
IX - Things I am looking for
IX.1 - Interesting stories that fit (anything !)
IX.2 - Virus that exploded monitors (see III.4)
IX.3 - "Hard Drive" talks about an "IBM anthem". Does anybody have the
lyrics ?
----------------------------------------------------------------------------
X - A Chronology of Digital Computing Machines (to 1952)
Computers, as we know them know, weren't just invented out of thin air. They
evolved from simpler machines, taking ideas from a number of different places.
So, here comes a little history of computing devices. This covers the
development of machines that approach the definition of "computer", up to
1952, when real computers are already working. This history comes from a
post to comp.misc by Mark Brader, and it's being copied here with his
consent.
----------------------------------------------------
A Chronology of Digital Computing Machines (to 1952)
----------------------------------------------------
This material was compiled mainly from two sources:
Bit by Bit: An Illustrated History of Computers.
By Stan Augarten, pub. 1984 by Ticknor and Fields, New York.
ISBN 0-89919-268-8, 0-89919-302-1 paperback.
Encyclopedia of Computer Science and Engineering, 2nd edition.
Editor Anthony Ralston, Associate Editor Edwin D. Reilly Jr.,
pub. 1983 by Van Nostrand Reinhold, New York. ISBN 0-442-24496-7.
There was an article on the Atanasoff-Berry machines in the August 1988
issue of Scientific American. One detail cited below about them comes
from a book by Clark Mollenhoff.
The criteria for including a machine in this chronology were that it either
was technologically innovative or was well known and influential; certain
particularly innovative concepts have also been included as of the first
time that they were described. When I refer to a machine as being able to do
some operation, I mean that it can do it more or less without assistance from
the user. This disqualifies the abacus from consideration, for instance;
similarly, a user wanting to subtract 16 on a 6-digit Pascaline could do it
by adding 999984, but this does not count as ability to do subtraction.
Where I do not describe the size of a machine, it is generally suitable for
desktop use if it has no memory and is unprogrammable or if it is a small
prototype, but would fill a small room if it has memory or significant
programmability (of course, the two tend to go together).
The names Tuebingen, Wuerttemberg, and Mueller should have an umlauted
"u" in place of the "ue" used here.
----------------------------------------------------
1623. Wilhelm Schickard (1592-1635), of Tuebingen, Wuerttemberg (now in
Germany), makes his "Calculating Clock". This is a 6-digit
machine that can add and subtract, and perhaps includes an overflow
indicator bell. Mounted on the machine is a set of Napier's Rods, a
memory aid facilitating multiplications. The machine and plans are lost
and forgotten in the war that is going on. (The plans were rediscovered
in 1935, lost in war again, and re-rediscovered by the same man in 1956!
The machine was reconstructed in 1960 and found to be workable.)
Schickard was a friend of the astronomer Kepler.
1644-5. Blaise Pascal (1623-1662), of Paris, makes his "Pascaline". This
5-digit machine can only add, and that probably not as reliably as
Schickard's, but at least it doesn't get forgotten -- it establishes the
computing machine concept in the intellectual community. (Pascal sold about
10-15 of the machines, some supporting as many as 8 digits, and a number of
pirated copies were also sold. No patents...)
This is the same Pascal who invented the bus.
1674. Gottfriend Wilhelm von Leibniz (1646-1716), of Leipzig, makes his
"Stepped Reckoner". This uses a movable carriage so that it can
multiply, with operands of up to 5 and 12 digits and a product of up to 16.
But its carry mechanism requires user intervention and doesn't really work
in all cases anyway. The calculator is powered by a crank.
This is the same Leibniz or Leibnitz who co-invented calculus.
1775. Charles, the third Earl Stanhope, of England, makes a successful
multiplying calculator similar to Leibniz's.
1770-6. Mathieus Hahn, somewhere in what is now Germany, also makes a
successful multiplying calculator.
1786. J. H. Mueller, of the Hessian army, conceives the idea of what came
to be called a "difference engine". That's a special-purpose calcu-
lator for tabulating values of a polynomial, given the differences between
certain values so that the polynomial is uniquely specified; it's useful
for any function that can be approximated by a polynomial over suitable int-
ervals. Mueller's attempt to raise funds fails and the project is forgotten.
1820. Charles Xavier Thomas de Colmar (1785-1870), of France, makes his
"Arithmometer", the first mass-produced calculator.
1822. Charles Babbage (1792-1871), of London, having reinvented the differ-
ence engine, begins his (government-funded) project to build one by
constructing a 6-digit calculator using similar geared technology.
1832. Babbage produces a prototype segment of his difference engine,
which operates on 6-digit numbers and 2nd-order differences (i.e.
can tabulate quadratic polynomials). The complete engine was to have
operated on 20-digit numbers and 6th-order difference, but no more than
this prototype piece was ever assembled.
1834. Pehr George Scheutz, Stockholm, produces a small difference engine
in wood, after reading a brief description of Babbage's project.
1836. Babbage produces the first design for his "Analytical Engine".
Whether this machine, if built, would have been a computer or not
depends on how you define "computer". It lacked the "stored-program"
concept necessary for implementing a compiler; the program was in read-only
memory, specifically in the form of punch cards. In this article such a
machine will be called a "program-controlled calculator".
The final design had three punch card readers for programs and data.
The memory had 50 40-digit words of memory and 2 accumulators. Its program-
mability included the conditional-jump concept. It also included a form of
microcoding: the meaning of instructions depended on the positioning of
metal studs in a slotted barrel. It would have done an addition in
3 seconds and a multiplication or division in 2-4 minutes.
1842. Babbage's difference engine project is officially cancelled.
(Babbage was spending too much time on the Analytical Engine.)
1843. Scheutz and his son Edvard Scheutz produce a 3rd-order difference
engine with printer, and the Swedish government agrees to fund
their next development.
1853. To Babbage's delight, Scheutz and Scheutz complete the first really
useful difference engine, operating on 15-digit numbers and 4th-order
differences, with a printer.
1858. The difference engine of 1853 does its only useful calculation,
producing a set of astronomical tables for an observatory in Albany,
New York. The person who spent money to buy it is fired for this, and the
machine ends up in the Smithsonian Institute. (The Scheutzes did make a second
similar machine, which had a long useful life in the British government.)
1871. Babbage produces a prototype section of the Analytical Engine's
"mill" (CPU) and printer. No more is ever assembled.
1878. Ramon Verea, living in New York City, invents a calculator with an
internal multiplication table; this is much faster than the shifting
carriage or other digital methods. He isn't interested in putting it into
production; he just wants to show that a Spaniard can invent as well as
an American.
1879. A committee investigates the feasibility of completing the Analytical
Engine and concludes that it is impossible now that Babbage is dead.
The project becomes somewhat forgotten and is unknown to most of the people
mentioned in the last part of this chronology.
1885. Dorr E. Felt (1862-1930), of Chicago, makes his "Comptometer".
This is the first calculator where numbers are entered by pressing
keys as opposed to being dialed in or similar awkward methods.
1889. Felt invents the first printing desk calculator.
1890. US Census results are tabulated for the first time with significant
mechanical aid: the punch card tabulators of Herman Hollerith
(1860-1929) of MIT, Cambridge, Mass. This is the start of the punch card
industry (thus establishing the size of the card, the same as a US $1 bill
(then)). The cost of the census tabulation rises by 98% from the previous
one, in part because of the temptation to use the machines to the fullest
and tabulate more data than formerly possible. The use of electricity to
read the cards is also significant.
1892. William S. Burroughs (1857-1898), of St. Louis, invents a machine
similar to Felt's but more robust, and this is the one that really
starts the office calculator industry. (The calculators are still hand
powered at this point, but electrified ones follow in not too many years.)
1937. George Stibitz (c.1910-) of Bell Labs, New York City, constructs a
demonstration 1-bit binary adder using relays.
1937. Alan M. Turing (1912-1954), of Cambridge University, England, publishes
a paper on "computable numbers", which solves a mathematical problem
by considering as a mathematical device the theoretical simplified computer
that came to be called a Turing machine.
1938. Claude E. Shannon (c.1918-) publishes a paper on the implementation of
symbolic logic using relays.
1938. Konrad Zuse (1910-) of Berlin completes a prototype mechanical
programmable calculator, later called the "Z1". Its memory used sliding
metal parts and stored about 1000 bits. The arithmetic unit was unreliable.
Oct 1939. Stibitz and Samuel Williams complete the "Model I", a calculator
using relay logic. It is controlled through modified teletypes
and these can be connected through phone lines. Later machines in the series
also have some programmability.
c.Oct 1939. John V. Atanasoff (1903-) and Clifford Berry, of Iowa State
College, Ames, Iowa, complete a prototype 16-bit adder. This
is the first machine to calculate using vacuum tubes.
c.1940. Zuse completes the "Z2", keeping the mechanical memory but using
relay logic. He can't interest anyone in funding him.
Summer 1941. Atanasoff and Berry complete a special-purpose calculator for
solving systems of simultaneous linear equations, later called
the "ABC" ("Atanasoff-Berry Computer"). This has 60 50-bit words of memory
in the form of capacitors (with refresh circuits) mounted on two revolving
drums. The clock speed is 60 Hz, and an addition takes 1 second.
For secondary memory it uses punch cards, with the holes being burned
rather than punched in them, moved around by the user. (The punch card
system's error rate was never reduced beyond 0.001%, which wasn't good enough.)
Atanasoff left Iowa State after the USA entered the war, and
apparently lost all interest in digital computing machines.
Dec 1941. Zuse, having promised to a research institute a special-purpose
calculator for their needs, actually builds them the "Z3", which
is the first operational program-controlled calculator, and has 64 22-bit
words of memory. However, its programmability doesn't include a conditional-
jump instruction; Zuse never had that idea. The program is on punched tape.
The machine includes 2600 relays, and a multiplication takes 3-5 seconds.
Jan 1943. Howard H. Aiken (1900-1973) and his team at Harvard University,
Cambridge, Mass. (with IBM's backing), complete the "ASCC Mark I"
("Automatic Sequence-Controlled Calculator Mark I"). This is the first
program-controlled calculator to be widely known: Aiken was to Zuse as Pascal
to Schickard. The machine is about 60 feet long and weighs 5 tons; it has
72 accumulators.
Dec 1943. Alan Turing and his team at Bletchley Park, near Cambridge, England,
complete the first version of the "Colossus". This is a secret,
special-purpose decryption machine, not exactly a calculator but close kin.
It includes 2400 tubes for logic and reads characters (optically) from 5
long paper tape loops moving at 5000 characters per second.
Nov 1945. John W. Mauchly (pronounced Mawkly; 1907-80) and J. Presper Eckert
(1919-) and their team at the Moore School of the University of
Pennsylvania, Philadelphia, complete the "ENIAC" ("Electronic Numerator,
Integrator, Analyzer, and Computer") for the US Army's Ballistics Research
Lab. (Too late for the war and 200% over budget -- problems that would face
Eckert and Mauchly again on later projects.)
The machine is a secret (until Feb 1946) program-controlled calculator.
Its only memory is 20 10-digit accumulators (4 were originally planned).
The accumulators and logic use vacuum tubes, 17648 of them altogether.
The machine weighs 30 tons, covers about 1000 square feet of floor, and
consumes what is either 174 kilowatts (233 horsepower) or 174 hp (130 kW).
Its clock speed is 100 kHz; it can do 5000 additions per second, 333 multip-
lications per second. It reads data from punch cards, and the program is
set up on a plugboard (considered reasonable since the same or similar
program would tend to be used for weeks at a time).
Mauchly and Eckert apply for a patent. The university disputes
this at first, but they settle. The patent is finally granted in 1964, but
is overturned in 1973, in part because of the previous work by Atanasoff.
1945-46. John von Neumann (1903-1957) joins the ENIAC team and writes a
report describing the future computer eventually built as the
"EDVAC" ("Electronic Discrete Variable Automatic Computer" (!)). This
report was the first description of the design of a stored-program computer.
An early draft which fails to credit other team members such as Eckert
and Mauchly gets too-wide distribution, leading to von Neumann getting
too much credit, e.g., the term "von Neumann computer" which is derived from
this paper.
Jan 1948. Wallace Eckert (1902-1971, no relation to Presper Eckert and not
mentioned again in this article) of IBM, with his team, completes
the "SSEC" ("Selective Sequence Electronic Calculator"). This techonological
hybrid has vacuum tube logic with 8 20-digit registers, 150 20-digit words
of relay memory, and a program that is partly stored but also controlled
by a plugboard. IBM considers it the first computer.
Jun 1948. Max Newman, F. C. Williams, and their team at Manchester Univers-
ity, Manchester, England, complete a prototype machine called the
"Mark I". This is the first machine that everyone would call a computer,
because it's the first with a true stored-program capability.
It uses a new type of memory invented by Williams, which uses the
residual charges left on the screen of a CRT after the electron beam has been
fired at it. (The bits are read by firing another beam through them and
reading the voltage at an electrode beyond the screen.) This is a little
unreliable but is fast, relatively cheap, and much more compact (with room
for about 1024 or 2048 bits per tube) than any other memory then existing.
The Mark I uses six of them, but I don't know of how many bits.
Its programs are initially entered in binary on a keyboard, and
the output is read in binary from another CRT. Later Turing joins the
team and devises a primitive form of assembly language, one of several
developed at about the same time in different places.
Newman was the first person shown Turing's 1937 paper in draft form.
1949-51. Jay W. Forrester and his team at MIT construct the "Whirlwind" for
the US Navy's Office of Research and Inventions. The vague date
is because it advanced to full-time operational status gradually. Originally
it had 3300 tubes and 8900 crystal diodes. It occupied 2500 square feet
of floor. Its 2048 16-bit words of CRT memory used up tubes so fast they
were costing $32000 per month.
This was the first computer designed for real-time work, hence the
short word size; it could do 500000 additions or 50000 multiplications
per second.
Spring 1949. Forrester conceives the idea of magnetic core memory. The first
practical form, 4 years later, will replace the Whirlwind's
CRT memory and render all then existing types obsolete.
Jun 1949. Maurice Wilkes (1913-) and his team at Cambridge University
complete the "EDSAC" ("Electronic Delay Storage Automatic Computer"),
which is closely based on the EDVAC design report from von Neumann's group.
This is the first operational stored-program computer of greater than
prototype size. Its I/O is by paper tape, and it has a sort of mechanical
read-only memory, made from rotary telephone switches, for booting.
Its main memory is of another new type, invented by Eckert: the
"ultrasonic" or "delay line" memory. In this type, the data is repeatedly
converted back and forth between electrical pulses and ultrasonic pulses;
only the bits currently in electrical form are accessible. (The ultrasonic
pulses were typically fired from one end of a tank of mercury to the other,
though other substances were also used.) In the EDSAC, 32 mercury tanks
5 feet long give a total of 256 35-bit words of memory.
Aug 1949. Eckert and Mauchly, having formed their own company, complete
the "BINAC" ("Binary Automatic Computer") for the US Air Force.
Designed as a first step to in-flight computers, this has dual (redundant)
processors each with 700 tubes and 512 31-bit words of memory. Each
processor occupies only 4 square feet of floor space and can do 3500
additions or 1000 multiplications per second.
The designers are thinking mostly of their forthcoming "UNIVAC"
("Universal Automatic Computer") and don't spend much time making the BINAC
as reliable as it should be, but the tandem processors compensate somewhat.
Feb 1951. Ferranti Ltd., of Manchester, England, completes the first
commercial computer, yet another "Mark I". 8 of these are sold.
Mar 1951. Eckert and Mauchly, having sold their company to Remington Rand,
complete the first UNIVAC, which is the first US commercial computer.
It has 1000 12-digit words of ultrasonic memory and can do 8333 additions
or 555 multiplications per second; it contains 5000 tubes and covers
200 square feet of floor.
1951. Grace Murray Hopper (1906-1992), of Remington Rand, invents the
modern concept of the compiler.
1951-52. The EDVAC is finally completed. It has 4000 tubes, 10000 crystal
diodes, and 1024 44-bit words of ultrasonic memory. Its clock speed
is 1 MHz.
1952. The IBM "Defense Calculator", later renamed the "701", the first
IBM computer unless you count the SSEC, enters production at
Poughkeepsie, New York. (The first one is delivered in March 1953; 19 are
sold altogether. The memory is electrostatic and has 4096 36-bit words;
it does 2200 multiplications per second.)
1952. Grace Murray Hopper implements the first compiler, the "A-0".
(As with "computer", this is a somewhat arbitrary designation.)
-------------------------------------------------------------------------
XI - List of computer-folklore related books
-----------------8<-----------------8<---------------8<-------------8<--------
A good source for the following books is supposedly the Boston Computer
Museum Catalog. Call them at 617.426.2800 and ask for one.
=============================================================================
Accidental Empires
How the boys of Silicon Valley make their millons, battle foreign
competition, and still can't get a date.
Robert X. Cringely
324p
Reading MA, Addison-Wesley, c1992
0-201-57032-7
Accidental Millionaire
The rise and fall of Steve Jobs at Apple Computer
Lee Butcher
224p, ill
New York, Paragon House, c1988
0-913729-79-5
Ainsi naquit l'informatique (The Computer Comes of Age)
The people, the hardware, and the software
[This book has a strong IBM bias]
Rene Moreau, Translated by J. Howlett
227p, ill
Cambridge MA, MIT Press, c1984
0-262-13194-3
Approaching Zero
Data Crime and the Computer Underworld
Bryan Clough and Paul Mungo
???p
Faber and Faber, 19??
0-571-16546-X
Artificial Life
The quest for a new creation
Steven Levy
??? p
New York, Pantheon Books, c1992
???? ISBN
Big Blue
IBM's use and abuse of Power
Richard Thomas DeLamarter
393p
New York, Dodd Mead, c1986
0-396-08515-6
Bit by Bit
An Illustrated History of Computers
Stan Augarten
324p, ill
New York, Ticknor & Fields, 1984
0-89919-268-8 (hard)
0-89919-302-1 (soft)
Blue Magic
The people, power, and politics behind the IBM personal computer
James Chposky and Ted Leonsis
228p
New York, Facts on File, c1988
0-8160-1391-8
Breakthrough to the Computer Age
[???]
Harry Wulforst
185p, ill
New York, Scribner, c1982
0-684-17499-5
A Business and its Beliefs
The ideas that helped build IBM
Thomas J. Watson
??? p
New York, McGraw-Hill, 1963
???? ISBN
The Chip
How two Americans invented the microchip and launched a revolution
T. R. Reid
??? p
New York, Simon and Schuster, c1994
???? ISBN
Computer Engineering
A DEC view of hardware systems design
??? p
Bedford, Digital Press, c1978
???? ISBN
The Computer Entrepeneurs
Who's making it big and how in America's upstart industry
Robert Levering, Michael Katz, Milton Moskowitz
481p, ill
New York, New American Library, c1984
0-453-00477-6
The Computer from Pascal to von Neumann
[???]
Herman H. Goldstine
378p, ill
Princeton NJ, Princeton University Press, 1972
0-691-08104-2
Computer Lib; Dream Machines
[texts bound together back-to-back and inverted]
Ted Nelson
178p 153p, ill
Redmond, WA, Tempus Books of Microsoft Press, 1987
0-914845-49-7
A Computer Perspective
Background to the computer age
by the office of Charles & Ray Eames
174p, ill
Cambridge MA, Harvard University Press, 1990
0-674-15626-9
The Computer Pioneers
The making of the modern computer
David Ritchie
238p, ill
New York, Simon&Schuster, c1986
0-671-52397-X
The Conquest of the Microchip
[???]
Hans J. Queisser
??? p
Cambridge, Harvard University Press, 1988
???? ISBN
The Cuckoo's Egg
Tracking a spy through the maze of computer espionage
Clifford Stoll
326p
New York, Doubleday, c1989
0-385-24946-2
Cyberpunk
Outlaws and hackers on the computer frontier
Katie Hafner and John Markoff
368p
New York, Simon&Schuster, c1991
0-671-68322-5
The Decline and Fall of the American Programmer
A view of the future of the software industry
Edward Yourdon
352p, ill
Englewood Cliffs NJ, Yourdon Press, c1992
0-13-203670-3
The Devouring Fungus: Tales of the Computer Age
Tales of the computer age
Karla Jennings
237p, ill
New York, W.W.Norton, c1990
0-393-02897-6
Digital Equipment Corporation
The first twentyt-five years
Kenneth H. Olsen
??? p
New York, Newcomwn Society in north America, 1983
???? ISBN
Early British Computers
The story of vintage computers and the people who built them
Simon Lavington
139p, ill
Bedford MA, Digital Press, c1980
0-932376-08-8
Electronic Computers
A Historical Survey
Saul Rosen
Computing Surveys v1#1, March 1969
Father, Son & Co.
My life at IBM and beyond
Thomas J. Watson
??? p
New York, Bantam Books, c1990
???? ISBN
Fire in the Valley
The making of the personal computer
Paul Freiberger
288p, ill
Berkeley CA, Osborne/McGraw-Hill, c1984
0-88134-121-5
>From Dits to Bits
A personal history of the electronic computer
Herman Lukoff
219p, ill
Portland OR, Robotic Press, c1979
0-89661-002-0
Fumbling the Future
How Xerox invented, then ignored, the first personal computer
Douglas K. Smith and Robert C. Alexander
???p
New York, Quill, 1990
0-688-09511-9
Hackers
Heroes of the computer revolution
Steven Levy
458p
Garden City NY, Anchor Press/Doubleday, 1984
0-385-19195-2
Hard Drive
Bill Gates and the making of Microsoft empire
James Wallace and Jim Erickson
426p, ill
New York, Wiley, c1992
0-471-56886-4
A History of Computing Technology
From the earliest written numbers to the IBM 360
Michael R. Williams
430p
Englewood Cliffs, Prentice-Hall, c1985
0-13-389917-9
Hypergrowth
The rise and fall of Osborne Computer Corporation
Adam Osborne
??? p
New York, Avon, c1985
???? ISBN
The Little Kingdom
The private story of Apple Computer
Michael Moritz
??? p.
New York, Paragon House, c1988
???? ISBN
The Making of Microsoft
How Bill Gates and his team created the world's most successful software
company
Daniel Ichbiah
??? p
Rocklin, Prima Pub., c1991
???? ISBN
The Media Lab
Inventing the Future at MIT
Stewert Brand
285p, ill
New York, Penguin Books, 1988
0-14-009701-5
The Micro Millenium
[???]
Christopher Evans
255p
New York, Viking Press, 1980
0-670-47400-2
The New Alchemists
Silicon Valley and the microelectronics revolution
Dirk Hanson
364p
Boston, Little Brown, c1982
0-316-34342-0
The New Hacker's Dictionary
Jargon file in print
Eric Raymond.
??? p
The MIT Press, Cambridge, Mass, USA. 1991
0-262-68069
Odyssey
Pepsi to Apple - A journey of adventure, ideas, and the future
John Sculley with John A. Byrne
450p, ill
New York, Harper&Row, c1987
0-06-015780-1
Once Upon A Time In Computerland
The Amazing Billion-Dollar Tale of Bill Millard's Computerland Empire
Jonathan Littman
413p
Simon and Schuster / Touchstone, 1990
0-671-70218-1
0-671-69392-1 Pbk
The Origins of Digital Comptuers
Selected Papers
Brian Randell, ed.
580p, ill
New York, Springer-Verlag, 1982
0-387-11319-3
Portraits in Silicon
[Interviews with 30+ influential hardware and software inventors]
Robert Slater
374p, ill
Cambridge MA, MIT Press, c1987
0-262-19262-4
Programmers at Work
Interviews with 19 programmers that shaped the computer industry
Susan M. Lammers
391p, ill
Redmond WA, Tempus Books of Microsoft Press, 1989
1-55615-211-6
The Soul of a New Machine
[data general]
Tracy Kidder
293p
Boston, Little Brown, c1981
0-316-49170-5
Steve Jobs: the journey is the reward
[???]
Jeffrey S. Young
??? p.
Glenville, Scott, Foresman, c1988
???? ISBN
The Sun Never Sets on IBM
[???]
Nancy Foy
??? p
Cambridge, MIT Press, c1981
???? ISBN
Sunburst
The Ascent of Sun Microsystems
Mark Hall and John Barry
297p
Chicago, Contemporary Books, c1990
0-8092-4368-7
The Tao of Programming
Compuarcheological guide to the mysterious past of programming
Geoffrey James
??? p
Info Books, Santa Monica, Calif., USA. 1987
0-931137-07-1
Think
A biography of the Watsons and I.B.M.
William Rodgers
??? p
London, Weidenfeld & Nocolson, 1970
???? ISBN
The Ultimate Entrepreneur
The story of Ken Olsen and Digital Equipment Corporation
Glenn Rifkin
??? p
Chicago, Contemporary Books, 1988
???? ISBN
West of Eden
The end of innocence at Apple Computer
Frank Rose
356p
New York, Penguin Books, c1989
0-14-009372-9
Zap !
The rise and fall of Atari
Scott Cohen
??? p.
New York, McGraw-Hill, c1984
???? ISBN
The Zen of Programming
Koans, haiku, folktales and other stories of programming
Geoffrey James.
??? p
Info Books, Santa Monica, Calif., USA. 1988
0-931137-09-8