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 | 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 . 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 ? 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 Arnt Gulbrandsen Dave (whitten@fwva.saic.com) Eric Grosse MJ STODDARD Magnus Olsson Malcolm Shute Mark Harrison Murray_Moffatt@kcbbs.gen.nz (Murray Moffatt) Nik Clayton Peter Neumann S.R. Atkins <90sra@eng.cam.ac.uk> Thayne Forbes alien@acheron.amigans.gen.nz (Ross Smith) bryan o'connor 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