From wkt at tuhs.org Fri Dec 2 07:41:16 2011 From: wkt at tuhs.org (Warren Toomey) Date: Fri, 2 Dec 2011 07:41:16 +1000 Subject: [TUHS] Strange Birth of Unix Message-ID: <20111201214116.GA13412@minnie.tuhs.org> All, My IEEE Spectrum article finally got published and you can read it on-line here: http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0 I've had a few e-mails about it. This one has a few more snippets about early Unix history (from Rey Bonachea): It was with great pleasure and a bit of nostalgia that I read your IEEE article below. Thank you very much for writing it. One aspect that did not get mention, and that perhaps you may or may not be aware of, was the pseudo real time applications of Unix. In 1972 I joined Bell Labs in Holmdel NJ working on a project by the name of Switching Control Center System. At the beginning I was just a brand new member of the technical staff working on circuit design for interfaces to the PDP11/20. This project was meant to centralize the data streams from the maintenance channel of switching machine. Then, in a multi-user environment , would analyze the incoming data streams and raise alarms as appropriate. It also provided a whole suite of analysis tools to allow switch maintenance personnel to trouble shoot the electronic switches. Because the switches could not buffer messages or be slowed by flow control, the Unix system had to catch messages in real time and put it away on disk for later analysis. Due to the near real time requirements, a number of features were added to Unix such as semaphores. The Unix based Switching Control Center System (SCCS) software was trialed in New Brunswick NJ in 1973 and later that year was released as the first commercial application of the Unix OS. I learned to program on that PDP 11/20 computer running Unix and eventually wrote many applications for the SCCS, initially in assembly language and then in C as we were also the first project to use C commercially. Cheers, Warren From wkt at tuhs.org Fri Dec 2 08:45:09 2011 From: wkt at tuhs.org (Warren Toomey) Date: Fri, 2 Dec 2011 08:45:09 +1000 Subject: [TUHS] Downloadable Usenet groups? Message-ID: <20111201224509.GA15471@minnie.tuhs.org> Also, is there a place where I can download archives of Usenet groups in a plain text format? I think I've got v6.bugs and v7.bugs and some of comp.sources.unix. I just came across net.unix on Google Groups, but I'd rather not have to wget all that HTML! Thanks, Warren From madcrow.maxwell at gmail.com Fri Dec 2 12:18:59 2011 From: madcrow.maxwell at gmail.com (Michael Kerpan) Date: Thu, 1 Dec 2011 21:18:59 -0500 Subject: [TUHS] Strange Birth of Unix In-Reply-To: <20111201214116.GA13412@minnie.tuhs.org> References: <20111201214116.GA13412@minnie.tuhs.org> Message-ID: On Thu, Dec 1, 2011 at 4:41 PM, Warren Toomey wrote: > All, >        My IEEE Spectrum article finally got published and you can read it > on-line here: http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0 Thanks for the heads-up. It's a good read and I'm glad to see that it wasn't locked behind a paywall like so many other articles from IEEE publications. Mike From tim.newsham at gmail.com Fri Dec 2 12:41:57 2011 From: tim.newsham at gmail.com (Tim Newsham) Date: Thu, 1 Dec 2011 16:41:57 -1000 Subject: [TUHS] Strange Birth of Unix In-Reply-To: <20111201214116.GA13412@minnie.tuhs.org> References: <20111201214116.GA13412@minnie.tuhs.org> Message-ID: great read! short enough for the casual reader, very approachable, compelling narrative. On Thu, Dec 1, 2011 at 11:41 AM, Warren Toomey wrote: > All, >        My IEEE Spectrum article finally got published and you can read it > on-line here: http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0 > > I've had a few e-mails about it. This one has a few more snippets about > early Unix history (from Rey Bonachea): > >  It was with great pleasure and a bit of nostalgia that I read your IEEE >  article below. Thank you very much for writing it. One aspect that did >  not get mention, and that perhaps you may or may not be aware of, was >  the pseudo real time applications of Unix. > >  In 1972 I joined Bell Labs in Holmdel NJ working on a project by the name >  of Switching Control Center System. At the beginning I was just a brand >  new member of the technical staff working on circuit design for >  interfaces to the PDP11/20. This project was meant to centralize the data >  streams from the maintenance channel of switching machine. Then, in a >  multi-user environment , would analyze the incoming data streams and raise >  alarms as appropriate. It also provided a whole suite of analysis tools to >  allow switch maintenance personnel to trouble shoot the electronic >  switches. > >  Because the switches could not buffer messages or be slowed by flow >  control, the Unix system had to catch messages in real time and put it >  away on disk for later analysis. Due to the near real time requirements, a >  number of features were added to Unix such as semaphores. The Unix based >  Switching Control Center System (SCCS) software was trialed in New >  Brunswick NJ in 1973 and later that year was released as the first >  commercial application of the Unix OS. > >  I learned to program on that PDP 11/20 computer running Unix and >  eventually wrote many applications for the SCCS, initially in assembly >  language and then in C as we were also the first project to use C >  commercially. > > Cheers, >        Warren > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs -- Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com From dugo at xs4all.nl Tue Dec 6 04:13:18 2011 From: dugo at xs4all.nl (Jacob Goense) Date: Mon, 5 Dec 2011 19:13:18 +0100 Subject: [TUHS] Downloadable Usenet groups? In-Reply-To: <20111201224509.GA15471@minnie.tuhs.org> References: <20111201224509.GA15471@minnie.tuhs.org> Message-ID: <2011108b772eb26cebf38631cfaaa384.squirrel@webmail.xs4all.nl> > Also, is there a place where I can download archives of Usenet groups > in a plain text format? I think I've got v6.bugs and v7.bugs and some > of comp.sources.unix. I just came across net.unix on Google Groups, > but I'd rather not have to wget all that HTML! The UTZOO tapes come to mind.. I have an extracted copy of http://www.archive.org/details/utzoo-wiseman-usenet-archive and can tar/compress a selection based on the Newsgroups: line for you if you want. I can eg. include net.unix-wizzards, exclude cross posts etc. Kind regards, /Jacob From wkt at tuhs.org Fri Dec 9 08:58:20 2011 From: wkt at tuhs.org (Warren Toomey) Date: Fri, 9 Dec 2011 08:58:20 +1000 Subject: [TUHS] Field Circus Message-ID: <20111208225820.GA7489@minnie.tuhs.org> All, not terribly Unix specific, but here's a good read for those who have suffered at the hands of field circus engineers :) http://nemesis.lonestar.org/stories/stages.html Have a good Xmas everyone. Warren From wkt at tuhs.org Fri Dec 9 09:08:20 2011 From: wkt at tuhs.org (Warren Toomey) Date: Fri, 9 Dec 2011 09:08:20 +1000 Subject: [TUHS] speak.c, or sometimes the bits are under your nose Message-ID: <20111208230820.GA8547@minnie.tuhs.org> Hi all, in the past few days I've been getting some interesting e-mails from a new TUHS member, Jonathan Gevaryahu. He has been searching for some lost software, and his story of how he found it is a good reminder to check through all the zeroes and ones on the digital media at hand. With his permission, I reproduce the e-mails below. Cheers, Warren Hi, I'm Jonathan Gevaryahu, one of the developers of MESS but also a speech synthesis history buff. I've been trying to find a copy of the old unix 'speak' command source code and rule tables that M. D. Mcilroy wrote back in 1974ish, but the TUHS archives only have the man pages for it, and not the actual program or its tables. As for the "why?" of this, its an important piece of history, and the phoneme set used on the Federal Screw Works "VOTRAX" Model VS-4 unit which was used with 'speak' at Bell Labs is compatible with the later Votrax Model VS-6 unit at CHM, and also with the Votrax "SC-01" chip used in some arcade/video games, several computer peripherals, and on the "Type 'N' Talk" and "Personal Speech System" products. So actually running the old code and having it speak should be quite doable, if we can recover enough of it to be useful. [ Jonathan assumed that the 'speak' source code had been lost. ] I even asked Doug McIlroy about it a few years ago and he didn't have a copy, and I had assumed it was just plain lost... Until today. I was poking around in random TUHS files (after reading about the v1 unix restoration project) and noticed that the size of recovered files from the ritchie v6 tapes in the .tar.gz files is actually significantly smaller than the tapes themselves. I assumed there had to be some other data there, possibly corrupt or fragmentary, and got down to peeking at the file contents themselves. There were some mentions of speak.m and .c and .v, but finally, in http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v6/v6doc.gz I found the remains of the speak program. See http://pastebin.com/FdvRYM2T for what I've managed to recover so far (actually since i pasted that I recovered a good deal more of it, but a lot is out of order and bits are missing) The file is fragmentary as far as I can see, and is only speak.c (the .m file containing the rules I haven't found yet, but since Doug has a scanned copy of the paper describing speak on his website, hopefully I can just regenerate the rule tables if needed), but it is there! Hopefully speak.m or .v are still waiting to be found on that or one of the other tape images. Also there are other things on that tape like the chess program, and tic tac toe, which may not exist elsewhere. (Though, for these two I honestly haven't checked) Also, in the last 5 minutes I found a chunk of what I'm pretty sure is either speak.m or speak.v, so there's more than just the .c file there. Further progress attached of recovering speak from deleted disk pack sectors: I have all of speak.c in order except for one 512-byte sector, which was overwritten at some point, in the phoneme table. (This has to be the least "damaging" sector of the entire program. lucky!) I also have a good chunk (maybe 50-60%) of what may be a mix of speak.m and speak.v, both out of order. I did not yet find a copy of 'speakm', the rule displayer program for speak.m/.v. There is a program, located after speak.c on the disk image, which looks like it would convert numbers and months to their full speakable names. In addition, either slightly more or slightly less of the files may be intact on the http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Ken_Wellsch_v6/v6.tape.gz image, which appears to be originally an exact dd-copy of the dennis_v6 disk packs. Ok, here's the 'repaired' speak.c file, with the missing entries of the table filled in (this was IMMENSELY helped by the fact that speak.o, the compiled object file, was also on the disk pack and appears to be fully intact including the table; the ruleset files are fragmentary so far.) -------------- next part -------------- A non-text attachment was scrubbed... Name: speak.fixed.c Type: text/x-csrc Size: 14336 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: speak.o Type: application/x-object Size: 2560 bytes Desc: not available URL: From cowan at mercury.ccil.org Fri Dec 9 09:05:30 2011 From: cowan at mercury.ccil.org (John Cowan) Date: Thu, 8 Dec 2011 18:05:30 -0500 Subject: [TUHS] Field Circus In-Reply-To: <20111208225820.GA7489@minnie.tuhs.org> References: <20111208225820.GA7489@minnie.tuhs.org> Message-ID: <20111208230529.GA12537@mercury.ccil.org> Warren Toomey scripsit: > All, not terribly Unix specific, but here's a good > read for those who have suffered at the hands of > field circus engineers :) And on no account forget to mount a scratch monkey first! -- Your worships will perhaps be thinking John Cowan that it is an easy thing to blow up a dog? http://www.ccil.org/~cowan [Or] to write a book? --Don Quixote, Introduction cowan at ccil.org From aek at bitsavers.org Sat Dec 10 08:43:12 2011 From: aek at bitsavers.org (Al Kossow) Date: Fri, 09 Dec 2011 14:43:12 -0800 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: <20111208230820.GA8547@minnie.tuhs.org> References: <20111208230820.GA8547@minnie.tuhs.org> Message-ID: <4EE28F00.8070904@bitsavers.org> I dug through some of my old tape images and found a modified version for another synthesizer I've put the tarball under http://bitsavers.org/bits/ATT/unix/sw_oldUnix_tar the files are under ./uug/4/UK/qmc/s2 From aek at bitsavers.org Sat Dec 10 09:17:00 2011 From: aek at bitsavers.org (Al Kossow) Date: Fri, 09 Dec 2011 15:17:00 -0800 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: <4EE28F00.8070904@bitsavers.org> References: <20111208230820.GA8547@minnie.tuhs.org> <4EE28F00.8070904@bitsavers.org> Message-ID: <4EE296EC.2000608@bitsavers.org> On 12/9/11 2:43 PM, Al Kossow wrote: > I dug through some of my old tape images and found a modified version > for another synthesizer > the sources for V6 chess are under harvard/3/ken/chess From cowan at mercury.ccil.org Sun Dec 11 02:07:38 2011 From: cowan at mercury.ccil.org (John Cowan) Date: Sat, 10 Dec 2011 11:07:38 -0500 Subject: [TUHS] Strange Birth of Unix In-Reply-To: References: <20111201214116.GA13412@minnie.tuhs.org> Message-ID: <20111210160737.GA4888@mercury.ccil.org> Dave Horsfall scripsit: > Great atricle :-) Great ventricle, too. -- But you, Wormtongue, you have done what you could for your true master. Some reward you have earned at least. Yet Saruman is apt to overlook his bargains. I should advise you to go quickly and remind him, lest he forget your faithful service. --Gandalf John Cowan From wkt at tuhs.org Sun Dec 11 10:25:54 2011 From: wkt at tuhs.org (Warren Toomey) Date: Sun, 11 Dec 2011 10:25:54 +1000 Subject: [TUHS] E-mail address for Dick Haight? Message-ID: <20111211002554.GA4435@minnie.tuhs.org> All, would anybody have an e-mail address for Dick Haight? I am still trying to narrow done the date when pipes were added to Unix, so far between June 72 and January 73. I have this quote from Dick: "I happened to have been visiting the research crew the day they implemented pipes. It was clear to everyone practically minutes after the system came up with pipes working that it was a wonderful thing. Nobody would ever go back and give that up if they could help it." so he might be able to provide a smaller date range than what I have at present. Cheers, Warren From arnold at skeeve.com Sun Dec 11 17:16:41 2011 From: arnold at skeeve.com (arnold at skeeve.com) Date: Sat, 10 Dec 2011 23:16:41 -0800 Subject: [TUHS] E-mail address for Dick Haight? Message-ID: <201112110716.pBB7GfjL000450@sls-af11p1.sea2.superbservers.com> Have you asked Doug McIlroy? From norman at oclsc.org Mon Dec 12 04:52:20 2011 From: norman at oclsc.org (Norman Wilson) Date: Sun, 11 Dec 2011 13:52:20 -0500 (EST) Subject: [TUHS] E-mail address for Dick Haight? Message-ID: <1323629557.15026.for-standards-violators@oclsc.org> Arnold Skeeve: Have you asked Doug McIlroy? ======= Actually I did, last night, on Warren's behalf. I had meant to drop Doug a note anyway to apologize for not letting him know I was in his general neighborhood last week. Here's Doug's reply: Pipes were first documented in v3, Feb 1973. At that time my original clumsy shell syntax, cmd>cmd>[file] was still in use. Within a few months, Ken invented today's pipe symbol as something more presentable at a talk he'd been invited to give in England--an Infosys "State of the Art" conference if I remember correctly (not the same Infosys as the current Indian giant). I also remember the very blackboard in the garret lab where I sketched my syntax and Ken exclaimed, "I'll do it". That was late in the day and I'm quite sure it was dark outside. Unlike Ken, I was not in the habit of staying in the lab into the evening. That makes me think that pipe day was not too far off the solstice. It would be nice to believe that pipes preciptated the third edition, but in fact the first four editions came out almost like clockwork at 8-month intervals, so any correlation with pipes is highly speculative. ====== Norman Wilson Toronto ON (actually Ramsey NJ at the moment, a good bit north of Murray Hill) From jgevaryahu at hotmail.com Mon Dec 12 18:13:25 2011 From: jgevaryahu at hotmail.com (Jonathan Gevaryahu) Date: Mon, 12 Dec 2011 03:13:25 -0500 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: <20111208230820.GA8547@minnie.tuhs.org> References: <20111208230820.GA8547@minnie.tuhs.org> Message-ID: Here's speak.m, or rather, what little I could find of it. I believe there's some way documented in the speak.6 manpage of using TR or some command line parameters to speak.o to regenerate it from speak.v; only 3 sectors on disk survived of speak.m There's also a lot of other interesting stuff on disk here, like what looks like an early version or predecessor to red, the restricted ed, which doesn't seem to survive elsewhere except in a much modified and comments-translated-to-russian version here: http://code.google.com/p/retrobsd/source/browse/trunk/bin/re-src/r.wind.c?spec=svn251&r=251 (there's at least one sector of code missing, the beginning of the setupviewport function and the end of the comment block that precedes it, and I may be unintentionally merging two files in my current attempt) (or maybe it does survive on the tarred disk Al K. posted, which I still haven't figured out how to un-tar) There is also some stuff which looks like it was intended for children to use (as part of an exhibit at bell labs?), interacting with the pdp-11 using a green button and possibly speech using speak, to play hangman and other games. It includes kid friendly messages "Sorry, the turtle is either napping or too busy." "we have to stop the computer for a few minutes so that we can fix it. please stand by." etc. There's also the source code to SNOBOL III here, I don't know how fragmentary or complete. I could probably spend WEEKS figuring out all the stuff hidden on the disk image! -- Jonathan Gevaryahu AKA Lord Nightmare jgevaryahu at gmail.com jgevaryahu at hotmail.com -------------- next part -------------- A non-text attachment was scrubbed... Name: speak.chunk.m Type: application/octet-stream Size: 2560 bytes Desc: not available URL: From random832 at fastmail.us Tue Dec 13 13:08:20 2011 From: random832 at fastmail.us (Random832) Date: Mon, 12 Dec 2011 22:08:20 -0500 Subject: [TUHS] Command line post-arguments with #! In-Reply-To: References: <20111208230820.GA8547@minnie.tuhs.org> Message-ID: <4EE6C1A4.7030107@fastmail.us> On 12/12/2011 3:13 AM, Jonathan Gevaryahu wrote: > comments-translated-to-russian version Speaking of DEMOS, I was browsing through that a while back (when it was first posted here; I forgot to post about it at the time) and saw a feature that doesn't seem to have existed anywhere else that I could find - placing interpreter arguments after the command line arguments of a script. I.e. something like "#!/bin/foo bar $* baz". Has any American unix had this? Some these days won't even allow multiple arguments at all. I don't know Russian - it'd be interesting to see what else was unique/new in DEMOS. From jgevaryahu at hotmail.com Wed Dec 14 05:29:02 2011 From: jgevaryahu at hotmail.com (Jonathan Gevaryahu) Date: Tue, 13 Dec 2011 14:29:02 -0500 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: References: <20111208230820.GA8547@minnie.tuhs.org> Message-ID: On 12/12/2011 3:13 AM, Jonathan Gevaryahu wrote: > [I'm seeing] what looks like an early version or predecessor to red, > the restricted ed, which doesn't seem to survive elsewhere except in a > much modified and comments-translated-to-russian version here: > http://code.google.com/p/retrobsd/source/browse/trunk/bin/re-src/r.wind.c?spec=svn251&r=251 > > (there's at least one sector of code missing, the beginning of the > setupviewport function and the end of the comment block that precedes > it, and I may be unintentionally merging two files in my current attempt) > (or maybe it does survive on the tarred disk Al K. posted, which I > still haven't figured out how to un-tar) Well, I figured out how to untar Al's disk (it needs commandline bsd or gnu tar -xf, 7zip does NOT LIKE IT), and indeed a later but still very similar version of that editor, which is the RAND editor (as mentioned here: http://www.rand.org/content/dam/rand/pubs/notes/2006/N2239-1.pdf ), not restricted ed at all (unless red is based on rand editor, which I don't know yet). Hence, RE-SRC (rand editor source) in the russian thing. The version on dennis_v6 is older(1975?) than the one on the tar Al posted (1982?), but much of the code is nearly the same. The code is unfortunately missing quite a few sectors, and some parts of the 1982? code were reorganized enough to make reassembling the 1975? code difficult. -- Jonathan Gevaryahu AKA Lord Nightmare jgevaryahu at gmail.com jgevaryahu at hotmail.com From jgevaryahu at hotmail.com Sun Dec 11 10:34:59 2011 From: jgevaryahu at hotmail.com (Jonathan Gevaryahu) Date: Sat, 10 Dec 2011 19:34:59 -0500 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: <20111208230820.GA8547@minnie.tuhs.org> References: <20111208230820.GA8547@minnie.tuhs.org> Message-ID: On 12/8/2011 6:08 PM, Warren Toomey wrote: Here's a few extras so far: An excel spreadsheet used to verify the contents while restoring the table, and the un-fixed NUL-padded speak.c file as present on disk. The missing sector is filled with NULs. The votrax sc-01 datasheet i used to fill in the excel sheet can be found at http://www.redcedar.com/sc01/sc01.pdf I'm working on restoring speak.v right now, and am also looking at that new image Al Kossow sent. Doug Mcilroy sent me a copy of speak.v from a later non-votrax (apl-based?) synthesizer and the words/rules seem to be in the same order as in the original votrax version. I don't know if I can distribute it. One thing I didn't mention if you're diving into the disk image with a hex editor: for some reason, I'm not exactly sure why, the file is stored spread all over the place but (almost?) always generally in reverse sector order. So if each letter represents a sector and A is the first sector (and x are sectors you're not interested in) the file would be arranged: ...HxxxxGxFxxxxExxDxxxCBxxxxxA -- Jonathan Gevaryahu AKA Lord Nightmare jgevaryahu at gmail.com jgevaryahu at hotmail.com -------------- next part -------------- A non-text attachment was scrubbed... Name: speak.c Type: application/octet-stream Size: 14336 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: speak_c_table.xlsx Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Size: 15834 bytes Desc: not available URL: From jgevaryahu at hotmail.com Sun Dec 11 12:11:15 2011 From: jgevaryahu at hotmail.com (Jonathan Gevaryahu) Date: Sat, 10 Dec 2011 21:11:15 -0500 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: <4EE28F00.8070904@bitsavers.org> References: <20111208230820.GA8547@minnie.tuhs.org> <4EE28F00.8070904@bitsavers.org> Message-ID: A bit more recovered from the dennis_v6 tape: speak.v (I believe in its entirety, so the speak program is probably usable now! The file Doug sent me helped quite a bit here, as the order isn't only alphabetical which was throwing me off) vs.c (this exists in the v5 archive (http://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/sys/dmr/vs.c) but the version here has ~2 lines different; the 'vsmap' character array only exists in the v5 one, here it is embedded in the code as a string, hence may be slightly older?) Note both of these files violated the 'all sectors appear in reverse order' "rule" and each had one sector which appeared 'out of pattern'. -- Jonathan Gevaryahu AKA Lord Nightmare jgevaryahu at gmail.com jgevaryahu at hotmail.com -------------- next part -------------- A non-text attachment was scrubbed... Name: speak.v Type: application/octet-stream Size: 11696 bytes Desc: not available URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: vs.c URL: From doug at cs.dartmouth.edu Sun Dec 11 12:51:58 2011 From: doug at cs.dartmouth.edu (Doug McIlroy) Date: Sat, 10 Dec 2011 21:51:58 -0500 Subject: [TUHS] speak.c, or sometimes the bits are under your nose In-Reply-To: References: <20111208230820.GA8547@minnie.tuhs.org> Message-ID: <201112110251.pBB2pwVn024682@stowe.cs.dartmouth.edu> Astonishing. I have no recollection of Coulouris's port to another synthesizer. A case of arheologists knowing more about a bygone era than its inhabitants did. doug From wkt at tuhs.org Wed Dec 14 13:50:42 2011 From: wkt at tuhs.org (Warren Toomey) Date: Wed, 14 Dec 2011 13:50:42 +1000 Subject: [TUHS] Provenance of the documents used to restore 1st Ed Unix Message-ID: <20111214035042.GA16236@minnie.tuhs.org> All, here's a special Christmas present, especially for those who helped out with the restoration of the 1st Ed Unix system, see http://code.google.com/p/unix-jun72/ To do the restoration we needed a copy of the 1st Ed Unix kernel source code, and Al Kossow had found these two documents and scanned them in: http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v1/Kernel_Subroutine_Descriptions_Mar72.pdf http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v1/PreliminaryUnixImplementationDocument_Jun72.pdf At the time nobody could work out who had studied the kernel source code, why they had done it etc. Nor could we work out who Ted Bashkow was and why he was involved. After my IEEE Spectrum article I was contacted by Jim DeFelice to say thanks for the article. I recognised him as one of the people named in the above documents, and asked him about the kernel study. He has contacted some of the people involved and sent me the e-mail below, which gives a full description of the work! Before I get to it, just an aside. According to Berkley Tague, Ted Bashkow "was a visiting Professor for the summer some time around 1970 or 1971 and worked with me and others in research on various topics. I don't believe he contributed much to UNIX at that time, but was an early user of the early systems." Cheers, Warren [ Jim's story] Here is as coherent a story as I can piece together Let me know if you have any more questions. Jim. The documents that describe the UNIX system as it was implemented on the PDP-11/20 circa 1971 originated as a consequence of a project undertaken within the comptrollers department of the AT&T General Departments. The project was titled the Investment and Cost Information System (ICIS). It was a major new accounting system intended to track detailed cost information for the operating telephone companies of the Bell System. ICIS was a major IBM mainframe based system which was being developed in COBOL. I transferred from Bell Labs in late 1970 to join Chuck Everhart who preceded me from the Labs. In 1971 we were joined by Ron Silacci, Cathy Judge, and later (early '72?) Jerry Conser all from Bell Labs. We formed the core of what would become a much larger Development staff by 1973. In preparation for a major development effort, we wanted to develop a system to maintain the spate of expected ICIS specification and design documents including graphics such as flowcharts. We decided on the PDP-11/20 with a Tecktronix T4002 graphics terminal as the hardware platform for the development of our document maintenance system. For obscure reasons, in order to purchase the PDP-11/20, the ICIS team needed to get approval from the Bell Labs computer aquisition review department headed by Berkley Tague. Berk made the approval for the purchase contingent us agreeing to use UNIX as the operating system.First hearing of this "UNIX" verbally, my mind was filled with scenes from the Arabian Nights. "Eunuchs" seemed a strange name for an operating system. At the time, the only instances of UNIX were to be found in the hands of the developers (Ken Thompson & Co.) at Murray Hill, NJ. We naturally asked for all the documentation. We were told there was none. What we got was a source listing of the PDP-11 assembly language UNIX Kernel. It was virtually without any commentary or external description. In order to proceed we undertook to reverse engineer the listing in order to understand how to modify UNIX to support the T4002. To that end, in late 1971, we set up shop at a Labs facility in Piscataway, NJ. The team got occasional hints and pointers from the UNIX developers at Murray Hill, but they tended to be focussed on their own work (the C programmimg language, troff, etc.). Initial progress was slow, but as the overall design structure emerged and the team became fluent with PDP assembly language and the coding style of the UNIX developers things moved along. Early work was done with paper and pencil resulting in the document named by you as "Kernel Subroutine Description...". Once we took delivery of our PDP-11/20, we were able to make use of the UNIX tools "ed" and "roff" to create a more easily edited digital document "Preliminary UNIX Implementation Document" The detailed timing of all this is uncertain. The hand work was done from late 1971 through March 1972 resulting in the Kernel Subroutine documentation. Chuck Everhart left AT&T in late 1971 and I became the group supervisor. A draft of the machine based Preliminary Implementation document was completed by June 1972 per the date on my cover letter for its first distribution. By June 1972 there was evidently a lot of interest in UNIX inside Bell Labs. The computer commitee was pushing UNIX for all PDP based projects inside Bell Labs. The ICIS owned PDP-11/20 was probably received after March 1972. The hand written cover letter to Ted Bashkow is dated 4/3/72. Once we had use of the PDP-11 we would have entered our work directly. The modifications for the T4002 are not dated in your PDF version and do not appear in the original printout that I still have. I don't know why the date on all the printed pages is 3/17/72. Also, missing in the PDF version of the Preliminary Implementation document that is in the paper version is a subroutine cross reference listing that lists which subroutines are called by which. Regarding the authorship of the documents. Looking at the handwriting it seems at least four people contributed to the Kernel Subroutine document. Myself and Ron have actually reviewed the document and can claim authorship to specific sections. By sections: J. DeFelice H0_01, H0_02, H0_03,H0_04,H0_05, H2-11_sysexec call chain, H2.4,H2_1.7,H2-8, H2-9 H4-3, H5-1, H5-2, H5-3, H5-4, H5-7, H7-1, H7-2, H7-4, H7-5,H7-6, H8-01.2, H8-02, H8-03, H8-05, H8-06, H8-07, H8-08, h8-09-00, h5-6 Ron Silacci sysclose, syscreate, sysent, sysexit, sysfork, sysmdate, sysgetty, sysmdir, error, badsys, sysopen, sysret, sysrele, sysstty, syswait, read, write, ani, sysstat, sysgetuid, sysintr, syslink, sysseek, syssetuid, sysstat, sysstime, systime, sysquit, sysunlink, wdir, fclose, isdir, isown, maknod, mkdir, getf, seektell, sysbreak, syschdir, syschmod, syschown, clear, idle, putlu, swap, tswap, unpack, rswap, wswap, clock, isintr, retisp, sleepo, setisp, tty0, wakall, ttyi, wakeup, itrunc, imap, dskr, cpass, readi, canon, cesc, ctty, ttych, getspl, iclose, iopen, sysmount, sysumount, bread, bwrite, dioreg, drum, preread, rtap, tape, tstdeve, trapt, rw1, intract, otty. Unknown 1 (all caps) H4_00, H4_01, H4_02, H4_2.1, H6_2.2, H6_3.0, H6_6, H7_0.0.4, H7_3.0, H7_3.2 H7_3.3, H9_00.1, H9_01, H9_02, H9_03 Unknown 2 H0_06, H0_07, H2_0.2, H2_3,H2_4, H3_2, H3_4, H5_2.0, H5_2.1,H6_0.9, H6_1.0, H6_1, H6_2.0, H6_2.2, H6_3, H6_4, H8_09, H8_11 The two unknowns would be Jerry Conser and Cathy Judge. I have not been able to track them down. The comments in the listing were made by the people who authored the corresponding man pages. We would comment the listing and as understanding dawned write up the man page. I had a major hand in Section F but can't claim sole responsibility. The people listed in the recipients list in Ted Bashkow's cover letter are the members of the computer aquisition department. According to Joe Maranzano: "Ted Bashkow was a professor from Columbia who was on a 6-month sabbatical in Berkley Tague's department. The other names on the memo are: Dan Clayton David Copp Gwen Hansen Jossie Hintz Ruth Klein Jim Ludwig Georgette Petit Joe Ritacco Berk Tague Dan Vogel Linda Wright This was the composition of the Department in 1972 and most of us were working on Computer Acquisition Reviews for the Computer Centers. The Unix Support Group was formed in 1973." By the time the Tecktronix application was developed, the ICIS development project was ramping up. The developers were using punch cards for their Cobol programs. It occurred to me that we could utilize our UNIX system to eliminate punch cards which were difficult to manage and instead enter and edit the Cobol code using "ed". My management (rotated in from Bell Operating Companies) was not keen on diverting resources towards more tool building but I had enough autonomy to push through the ordering of a PDP-11/45 and a DEC developed Bisync communications interface card. This configuration allowed the UNIX system to emulate an IBM card reader/printer. The PDP11/45 had memory protection, which made committing all the source code for a major project to UNIX thinkable. I did all the development work on a bisync driver myself while my group attacked the main IBM development. The resulting system worked well and over the course of a few months all the die hard card rearder afficianados had converted to the new system. This despite the occasional file system crash. At the time you could go in and edit i-nodes by hand to recover lost files and directories. So with frequent tape backups for insurance we never lost more that a few hours worth of work. The Bell Labs UNIX support department (formed in 1973) eventually took over the maintenance of the system and dubbed it the Programmers Work Bench. Other types of workbench were to follow. I lost track of developments in the UNIX world till I transferred back to Bell Labs in 1982. By then the UNIX support organization was an entire Laboratory. The hardware platform was the DEC VAX system, UNIX was rewritten in C, and Berkely UNIX was a major competitor to the AT&T version. I still have the design and code for the Bisync driver if you are interested. From tim.newsham at gmail.com Wed Dec 14 14:47:11 2011 From: tim.newsham at gmail.com (Tim Newsham) Date: Tue, 13 Dec 2011 18:47:11 -1000 Subject: [TUHS] Provenance of the documents used to restore 1st Ed Unix In-Reply-To: <20111214035042.GA16236@minnie.tuhs.org> References: <20111214035042.GA16236@minnie.tuhs.org> Message-ID: Awesome.. I remember trying to track him down earlier and not getting very far. You should add this tidbit to the jun 72 tree! On Tue, Dec 13, 2011 at 5:50 PM, Warren Toomey wrote: > All, here's a special Christmas present, especially for those who > helped out with the restoration of the 1st Ed Unix system, see > http://code.google.com/p/unix-jun72/ > > To do the restoration we needed a copy of the 1st Ed Unix kernel > source code, and Al Kossow had found these two documents and > scanned them in: > http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v1/Kernel_Subroutine_Descriptions_Mar72.pdf > http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v1/PreliminaryUnixImplementationDocument_Jun72.pdf > > At the time nobody could work out who had studied the kernel source code, > why they had done it etc. Nor could we work out who Ted Bashkow was and > why he was involved. > > After my IEEE Spectrum article I was contacted by Jim DeFelice to say > thanks for the article. I recognised him as one of the people named in > the above documents, and asked him about the kernel study. He has contacted > some of the people involved and sent me the e-mail below, which gives > a full description of the work! > > Before I get to it, just an aside. According to Berkley Tague, > Ted Bashkow "was a visiting Professor for the summer some time around > 1970 or 1971 and worked with me and others in research on various > topics. I don't believe he contributed much to UNIX at that time, but > was an early user of the early systems." > > Cheers, >        Warren > >  [ Jim's story] >    Here is as coherent a story as I can piece together  Let me know if you >    have any more questions. >    Jim. >    The documents that describe the UNIX system as it was implemented on >    the PDP-11/20 >    circa 1971 originated as a consequence of a project undertaken within >    the comptrollers >    department of the AT&T General Departments.  The project was titled the >    Investment and Cost Information System (ICIS).  It was a major new >    accounting system intended to track >    detailed cost information for the operating telephone companies of the >    Bell System. >    ICIS was a major IBM mainframe based system which was being developed >    in COBOL. >    I transferred from Bell Labs in late 1970 to join Chuck Everhart who >    preceded me from the Labs. In 1971 we were joined by Ron Silacci, Cathy >    Judge, and later (early '72?) Jerry Conser all from Bell Labs.  We >    formed the core of what would become >    a much larger Development staff by 1973. >    In preparation for a major development effort, we wanted to develop a >    system to maintain the spate of expected ICIS specification and design >    documents including graphics such as flowcharts.   We decided on the >    PDP-11/20 with a Tecktronix T4002 graphics terminal as the hardware >    platform for the development of our document maintenance system. >    For obscure reasons, in order to purchase the PDP-11/20, the ICIS team >    needed to get approval from the Bell Labs computer aquisition review >    department headed >    by Berkley Tague.  Berk made the approval for the purchase contingent >    us agreeing to use UNIX as the operating system.First hearing of this >    "UNIX" verbally, my mind was filled with scenes from the Arabian >    Nights.  "Eunuchs" seemed a strange name for an operating system. >    At the time, the only instances of UNIX were to be found in the hands >    of the developers (Ken Thompson & Co.) at Murray Hill, NJ.  We >    naturally asked for all the documentation.  We were told there was >    none.  What we got was a source listing  of the PDP-11 assembly >    language UNIX Kernel.  It was virtually without any commentary or >    external description.  In order to proceed we undertook to reverse >    engineer the listing in order to understand how to >    modify UNIX to support the T4002.  To that end, in late 1971, we set up >    shop at a Labs facility in Piscataway, NJ.   The team got occasional >    hints and pointers from the UNIX developers at Murray Hill, but they >    tended to be focussed on their own work (the C programmimg language, >    troff, etc.).  Initial progress was slow, but as the overall design >    structure emerged and the team became fluent with PDP assembly >    language and the coding style of the UNIX developers things moved >    along.  Early work was >    done with paper and pencil resulting in the document named by you as >    "Kernel Subroutine >    Description...".  Once we took delivery of our PDP-11/20, we were able >    to make >    use of the UNIX tools "ed" and "roff" to create a more easily edited >    digital document >    "Preliminary UNIX Implementation Document" > >    The detailed timing of all this is uncertain. The hand work was done >    from late 1971 through >    March 1972 resulting in the Kernel Subroutine documentation.  Chuck >    Everhart left AT&T >    in late 1971 and I became the group supervisor. A draft of the machine >    based Preliminary >    Implementation document was completed by June 1972 per the date on my >    cover letter for its first distribution.  By June 1972 there was >    evidently a lot of interest in UNIX inside Bell Labs. The computer >    commitee was pushing UNIX for all PDP based projects inside Bell Labs. >    The ICIS owned PDP-11/20 was probably received after March 1972. The >    hand written cover letter to Ted Bashkow is dated 4/3/72.  Once we had >    use of the PDP-11 we would have entered our work directly. The >    modifications for the T4002 are not dated in >    your PDF version and do not appear in the original printout that I >    still have.  I don't know why the date on all the printed pages is >    3/17/72. Also, missing in the PDF version of the Preliminary >    Implementation document that is in the paper version is a subroutine >    cross reference listing that lists which subroutines are called by >    which. >    Regarding the authorship of the documents. Looking at the handwriting >    it seems >    at least four people contributed to the Kernel Subroutine document. >    Myself and Ron >    have actually reviewed the document and can claim authorship to >    specific sections.  By sections: >    J. DeFelice >    H0_01, H0_02, H0_03,H0_04,H0_05, H2-11_sysexec call chain, >    H2.4,H2_1.7,H2-8, >    H2-9 H4-3, H5-1, H5-2, H5-3, H5-4, H5-7, >    H7-1, H7-2, H7-4, H7-5,H7-6, H8-01.2, H8-02, H8-03, H8-05, H8-06, >    H8-07, >    H8-08, h8-09-00, h5-6 >    Ron Silacci >    sysclose, syscreate, sysent, sysexit, sysfork, sysmdate, sysgetty, >    sysmdir, >    error, badsys, sysopen, sysret, sysrele, sysstty, syswait, read, write, >    ani, >    sysstat, sysgetuid, sysintr, syslink, sysseek, syssetuid, sysstat, >    sysstime, >    systime, sysquit, sysunlink, wdir, fclose, isdir, isown, maknod, mkdir, >    getf, >    seektell, sysbreak, syschdir, syschmod, syschown, clear, idle, putlu, >    swap, >    tswap, unpack, rswap, wswap, clock, isintr, retisp, sleepo, setisp, >    tty0, >    wakall, ttyi, wakeup, itrunc, imap, dskr, cpass, readi, canon, cesc, >    ctty, >    ttych, getspl, iclose, iopen, sysmount, sysumount, bread, bwrite, >     dioreg, drum, preread, rtap, tape, tstdeve, trapt, rw1, intract, otty. >    Unknown 1 (all caps) >    H4_00, H4_01, H4_02, H4_2.1, H6_2.2, H6_3.0, H6_6, H7_0.0.4, H7_3.0, >    H7_3.2 >    H7_3.3, H9_00.1, H9_01, H9_02, H9_03 >    Unknown 2 >    H0_06, H0_07, H2_0.2, H2_3,H2_4, H3_2, H3_4, H5_2.0, H5_2.1,H6_0.9, >    H6_1.0, >    H6_1, H6_2.0, H6_2.2, H6_3, H6_4, H8_09, H8_11 >    The two unknowns would be Jerry Conser and Cathy Judge.  I have not >    been able to track >    them down. >    The comments in the listing were made by the people who authored the >    corresponding man pages. We would comment the listing and as >    understanding dawned write up the man page. I had a major hand in >    Section F but can't claim sole responsibility. >    The people listed in the recipients list in Ted Bashkow's cover letter >    are the members of the computer aquisition department.  According to >    Joe Maranzano: >    "Ted Bashkow was a professor from Columbia who was on a 6-month >    sabbatical in Berkley Tague's department. >    The other names on the memo are: >    Dan Clayton >    David Copp >    Gwen Hansen >    Jossie Hintz >    Ruth Klein >    Jim Ludwig >    Georgette Petit >    Joe Ritacco >    Berk Tague >    Dan Vogel >    Linda Wright >    This was the composition of the Department in 1972 and most of us were >    working on Computer Acquisition Reviews for >    the Computer Centers. The Unix Support Group was formed in 1973." >    By the time the Tecktronix application was developed, the ICIS >    development project was ramping up.  The developers were using punch >    cards for their Cobol programs.  It occurred to me that we could >    utilize our UNIX system to eliminate punch cards which were difficult >    to manage and instead enter and edit the Cobol code using "ed". My >    management (rotated in from Bell Operating Companies) was not keen on >    diverting resources towards >    more tool building but I had enough autonomy to push through the >    ordering of a PDP-11/45 and a DEC developed Bisync communications >    interface card. This configuration allowed the UNIX system to emulate >    an IBM card reader/printer. >    The PDP11/45 had memory protection, which made committing all the >    source code for a major project to UNIX thinkable. I did all the >    development work on a bisync driver myself while my group attacked the >    main IBM development. The resulting system worked well and over the >    course of a few months all the die hard card rearder afficianados had >    converted to the new system. This despite the occasional file system >    crash.  At the time you could go in and edit i-nodes by hand to recover >    lost files and directories. So with frequent tape backups for insurance >    we never lost more that a few hours worth of work. >    The Bell Labs UNIX support department (formed in 1973) eventually took >    over the maintenance of the system and dubbed it the Programmers Work >    Bench.  Other types of workbench were to follow.  I lost track of >    developments in the UNIX world till I transferred back to Bell Labs in >    1982. By then the UNIX support organization was an entire >    Laboratory.  The hardware platform was the DEC VAX system, UNIX was >    rewritten in C, and Berkely UNIX was a major competitor to the AT&T >    version.  I still have the design and code for the Bisync driver if you >    are interested. > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs -- Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com From mascheck at in-ulm.de Thu Dec 15 09:36:31 2011 From: mascheck at in-ulm.de (Sven Mascheck) Date: Thu, 15 Dec 2011 00:36:31 +0100 Subject: [TUHS] Command line post-arguments with #! In-Reply-To: <4EE6C1A4.7030107@fastmail.us> References: <20111208230820.GA8547@minnie.tuhs.org> <4EE6C1A4.7030107@fastmail.us> Message-ID: <20111214233631.GA9448@lisa.in-ulm.de> On Mon, Dec 12, 2011 at 10:08:20PM -0500, Random832 wrote: > Speaking of DEMOS, I was browsing through that a while back (when it > was first posted here; I guess this: http://minnie.tuhs.org/pipermail/tuhs/2011-May/002387.html > I forgot to post about it at the time) and saw a feature that > doesn't seem to have existed anywhere else that I could find - > placing interpreter arguments after the command line arguments > of a script. > I.e. something like "#!/bin/foo bar $* baz". Now that looks like a quite special hack to me, The mentioned d22.tar.gz -> d22/sys/sys.tar.Z -> sys/sys1.c has # define SCRMAG "#!" # define SCRMAG2 "/*#!" # define ARGPLACE "$*" # define SHSIZE 70 # define ARGV 11 it accepts both #! and /*#! (equivalent), 70 chars, at most 11 arguments, and explains (russian guessed and then omitted here): usually script x with "#!CMD A1 A2 A3" called as "x B1 B2" results in "CMD A1 A2 A3 /.../.../x B1 B2" while in D22 script x with "#!CMD A1 $* A2 A3" called as "x B1 B2" results in "CMD A1 /.../.../x B1 B2 A2 A3" > Has any American unix had this? I haven't seen such anywhere, but not the above until now, either. But I believe that you can discard those which are listed here http://www.in-ulm.de/~mascheck/various/shebang/#results from your list of candidates. > Some these days won't even allow multiple arguments at all. Well the original implementation (post 7th ed and 4.0/4.1 BSD) didn't allow arguments at all ;-) But multiple arguments definitely is the minority (AFAIK Plan9, some FreeBSD, MacOSX, Minix, BSD/OS, and some early cygwin). From norman at oclsc.org Thu Dec 15 09:57:39 2011 From: norman at oclsc.org (Norman Wilson) Date: Wed, 14 Dec 2011 18:57:39 -0500 (EST) Subject: [TUHS] Command line post-arguments with #! Message-ID: <20111214235740.04D421DE369@lignose.oclsc.org> Sven Mascheck: Well the original implementation (post 7th ed and 4.0/4.1 BSD) didn't allow arguments at all ;-) ====== I believe you're mistaken. All the implementations I've ever used allowed a single argument in the #! line, and inserted the name of the script between that (if present) and the arguments given to exec. e.g. if ./lipsum began with #!/usr/bin/awk -f awk would be invoked with `/usr/bin/awk -f ./lipsum ...'. Without allowing one argument for -f or the like, #! wouldn't have been useful for much but the shell. Norman Wilson Toronto ON From mascheck at in-ulm.de Thu Dec 15 10:25:10 2011 From: mascheck at in-ulm.de (Sven Mascheck) Date: Thu, 15 Dec 2011 01:25:10 +0100 Subject: [TUHS] Command line post-arguments with #! In-Reply-To: <20111214235740.04D421DE369@lignose.oclsc.org> References: <20111214235740.04D421DE369@lignose.oclsc.org> Message-ID: <20111215002510.GB9448@lisa.in-ulm.de> On Wed, Dec 14, 2011 at 06:57:39PM -0500, Norman Wilson wrote: > Sven Mascheck: > > Well the original implementation (post 7th ed and 4.0/4.1 BSD) > didn't allow arguments at all ;-) > > ====== > > I believe you're mistaken. All the implementations I've > ever used allowed a single argument in the #! line, With "original implementation (post 7th ed", I meant the undistributed BellLabs-internal further development of 7th, the first system ever to implement #!, leading to 8th ed, etc. (4BSD just incorporated this). Not System V or other relatives, though. From norman at oclsc.org Thu Dec 15 11:46:38 2011 From: norman at oclsc.org (Norman Wilson) Date: Wed, 14 Dec 2011 20:46:38 -0500 (EST) Subject: [TUHS] Command line post-arguments with #! Message-ID: <1323913617.13187.for-standards-violators@oclsc.org> Sven Mascheck: With "original implementation (post 7th ed", I meant the undistributed BellLabs-internal further development of 7th, the first system ever to implement #!, leading to 8th ed, etc. (4BSD just incorporated this). Not System V or other relatives, though. ======= Can you cite a reference? I'm quite familiar with what went on inside the system that was later called 8th Edition, having been on the inside at Bell Labs starting in mid-1984. But that was after the original research group's general move to VAXes--they had no PDP-11s left by then, except a few LSI-11s running special-purpose systems rather than UNIX. In fact the VAX kernel they had adopted, I think sometime earlier that year, was derived from that of 4.1 BSD. (It diverged quite a bit from that start later, for which I am appreciably to blame, but that has nothing to do with #!). So if #! was implemented in an earlier kernel I don't know just what was done. I'd assumed it was no different; if I'm mistaken I'd love to see just how it really was. Alas, the person I know was on the spot and was likely to remember just what happened in what order can no longer answer questions ... Norman Wilson Toronto ON From mascheck at in-ulm.de Thu Dec 15 13:07:46 2011 From: mascheck at in-ulm.de (Sven Mascheck) Date: Thu, 15 Dec 2011 04:07:46 +0100 Subject: [TUHS] Command line post-arguments with #! In-Reply-To: <1323913617.13187.for-standards-violators@oclsc.org> References: <1323913617.13187.for-standards-violators@oclsc.org> Message-ID: <20111215030746.GC9448@lisa.in-ulm.de> On Wed, Dec 14, 2011 at 08:46:38PM -0500, Norman Wilson wrote: > Can you cite a reference? > > I'm quite familiar with what went on inside the system that was > later called 8th Edition, having been on the inside at Bell Labs > starting in mid-1984. All I know is the two mails from DMR from '80, http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/sys/newsys/sys1.c ">From dmr Thu Jan 10 04:25:49 1980 remote from research The system has been changed so that if a file being executed begins with the magic characters #! , [...]" That's why I call it post-7th ed (between 7th and 8th ed) and why I understand the above as original code (but I have no idea about what went on with research Unix then). Or should I interpret DMRs mail differently or with caution? From lehmann at ans-netz.de Mon Dec 19 08:26:47 2011 From: lehmann at ans-netz.de (Oliver Lehmann) Date: Sun, 18 Dec 2011 23:26:47 +0100 Subject: [TUHS] recreating C source from binary Message-ID: <20111218232647.Horde.Q3mEU6Qd9PdO7minRi6UVUA@avocado.salatschuessel.net> Hi, I'm trying to re-create the source files for the Z8000 UNIX I have on my Z8000 system (it is a S8000+ZEUS clone). Easy programs like sync.c where easy. But when argc/argv is involved, I'm not able to generate 1:1 matching binary code. I'm working on /etc/unlink for now. I tried the following C file: char whatstr[] = "@[$]unlink.c 2.1 07/23/82 21:19:30 - 87wega3.2"; main(argc, argv) int argc; char **argv; { if(argc!=2) { write(2, "Usage: /etc/unlink name\n", 24); exit(1); } unlink(argv[1]); exit(0); } The original ASM code for the beginning of main() until the argc check is: 0042 abf3 dec r15,#4 0044 5df60000 ldl %0000(r15),rr6 0048 0b070002 cp r7,#%0002 The ASM code my C file generates is: 0042 abf3 dec r15,#4 0044 1df6 ldl @r15,rr6 0046 0b070002 cp r7,#%0002 keep in mine, that r15 is considered as the "stack pointer". I wonder how to get the ldl from the original binary. I also tried to declare argv with "char *argv[]" which resulted in the same code. Forcing the compiler to store argv into a register by using the "register" keyword results in completly different code: (sp = stack pointer = r15) #17 adb unlink ADB: P8000 1.6 ? 0x0042/i %0042: dec sp,#6 ? %0044: ld %0004(sp),r14 ? %0048: ld %0002(sp),r7 ? %004c: ld r14,r6 ? %004e: cp r7,#%0002 ? $q #18 Maybe the C compiler used to compile /etc/unlink differs from the C compiler shipped with the system (maybe an older version) but I don't want this to be true for now ;) Anyone with deeper ASM and C knowledge than me sees what could be done here? Before someone asks - yes I'm sure the source file was in C and not ASM based on the whatstr. Symboltable of the original /etc/unlink is empty as well (striped binary). Regards, Oliver From lehmann at ans-netz.de Mon Dec 19 20:14:48 2011 From: lehmann at ans-netz.de (Oliver Lehmann) Date: Mon, 19 Dec 2011 11:14:48 +0100 Subject: [TUHS] early version of top Message-ID: <20111219111448.Horde.a30SW6Qd9PdO7w6Y6fFbxzA@avocado.salatschuessel.net> Hi, I wonder if someone has an early version of top lying around? I'd like to try getting it to work on my ZEUS clone. I'd start with 1.0 from 1984 if possible ;) Regards, Oliver From wkt at tuhs.org Mon Dec 19 22:44:21 2011 From: wkt at tuhs.org (Warren Toomey) Date: Mon, 19 Dec 2011 22:44:21 +1000 Subject: [TUHS] early version of top In-Reply-To: <20111219111448.Horde.a30SW6Qd9PdO7w6Y6fFbxzA@avocado.salatschuessel.net> References: <20111219111448.Horde.a30SW6Qd9PdO7w6Y6fFbxzA@avocado.salatschuessel.net> Message-ID: <20111219124421.GA28007@minnie.tuhs.org> On Mon, Dec 19, 2011 at 11:14:48AM +0100, Oliver Lehmann wrote: > I wonder if someone has an early version of top lying around? I'd > like to try getting it to work on my ZEUS clone. I'd start with > 1.0 from 1984 if possible ;) top 2.1 is here: http://ftp.sunet.se/pub/usenet/ftp.uu.net/comp.sources.unix/volume10/top_s375/ That's after a quick search for comp.sources.unix. Cheers, Warren From norman at oclsc.org Sun Dec 25 23:10:04 2011 From: norman at oclsc.org (Norman Wilson) Date: Sun, 25 Dec 2011 08:10:04 -0500 (EST) Subject: [TUHS] hello, world Message-ID: <1324818619.20775.for-standards-violators@oclsc.org> Rather a nice tribute to Dennis and C, published in the New York Times Magazine: http://www.nytimes.com/interactive/2011/12/22/magazine/the-lives-they-lived.html?ref=magazine#view=dennis_ritchie From wkt at tuhs.org Tue Dec 27 07:11:45 2011 From: wkt at tuhs.org (Warren Toomey) Date: Tue, 27 Dec 2011 07:11:45 +1000 Subject: [TUHS] hello, world In-Reply-To: <1324818619.20775.for-standards-violators@oclsc.org> References: <1324818619.20775.for-standards-violators@oclsc.org> Message-ID: <20111226211145.GA1335@minnie.tuhs.org> On Sun, Dec 25, 2011 at 08:10:04AM -0500, Norman Wilson wrote: > Rather a nice tribute to Dennis and C, published > in the New York Times Magazine: > > http://www.nytimes.com/interactive/2011/12/22/magazine/the-lives-they-lived.html?ref=magazine#view=dennis_ritchie Yes, a good reminder on the power that programming brings us. A question though: what command would "bring the system down"? Thanks Norman, Warren From wkb at xs4all.nl Tue Dec 27 07:15:37 2011 From: wkb at xs4all.nl (Wilko Bulte) Date: Mon, 26 Dec 2011 22:15:37 +0100 Subject: [TUHS] hello, world In-Reply-To: <20111226211145.GA1335@minnie.tuhs.org> References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> Message-ID: <20111226211537.GA30874@freebie.xs4all.nl> Quoting Warren Toomey, who wrote on Tue, Dec 27, 2011 at 07:11:45AM +1000 .. > On Sun, Dec 25, 2011 at 08:10:04AM -0500, Norman Wilson wrote: > > Rather a nice tribute to Dennis and C, published > > in the New York Times Magazine: > > > > http://www.nytimes.com/interactive/2011/12/22/magazine/the-lives-they-lived.html?ref=magazine#view=dennis_ritchie > > Yes, a good reminder on the power that programming brings us. A question > though: what command would "bring the system down"? kill -9 1 ? > Thanks Norman, > Warren > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs --- End of quoted text --- From a.phillip.garcia at gmail.com Tue Dec 27 07:28:31 2011 From: a.phillip.garcia at gmail.com (A. P. Garcia) Date: Mon, 26 Dec 2011 15:28:31 -0600 Subject: [TUHS] hello, world In-Reply-To: <20111226211145.GA1335@minnie.tuhs.org> References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> Message-ID: On Mon, Dec 26, 2011 at 3:11 PM, Warren Toomey wrote: > On Sun, Dec 25, 2011 at 08:10:04AM -0500, Norman Wilson wrote: > > Rather a nice tribute to Dennis and C, published > > in the New York Times Magazine: > > > > > http://www.nytimes.com/interactive/2011/12/22/magazine/the-lives-they-lived.html?ref=magazine#view=dennis_ritchie > > > Yes, a good reminder on the power that programming brings us. A question > > though: what command would "bring the system down"? > anything that consumes too many resources, i suppose. the morris worm would have several copies of itself running on the same machine running a password cracker, using up all the cpu and bringing the system to its knees. hog too much memory and you could run into thrashing. even more evil things may include a fork bomb, perhaps? or emacs? ;-) -------------- next part -------------- An HTML attachment was scrubbed... URL: From lyndon at orthanc.ca Tue Dec 27 07:20:38 2011 From: lyndon at orthanc.ca (Lyndon Nerenberg) Date: Mon, 26 Dec 2011 13:20:38 -0800 Subject: [TUHS] hello, world In-Reply-To: <20111226211145.GA1335@minnie.tuhs.org> References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> Message-ID: <64876D43-44BD-465F-A003-7783B7C1A23F@orthanc.ca> On 2011-12-26, at 13:11 PM, Warren Toomey wrote: > Yes, a good reminder on the power that programming brings us. A question > though: what command would "bring the system down"? 'kill -1 1' will bring terror to anyone who had the misfortune of dealing with Xenix. I think the writer is getting at how UNIX bypassed the 'i ask you three times' dance. --lyndon -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 801 bytes Desc: Message signed with OpenPGP using GPGMail URL: From aps at ieee.org Tue Dec 27 07:53:11 2011 From: aps at ieee.org (Armando Stettner) Date: Mon, 26 Dec 2011 16:53:11 -0500 Subject: [TUHS] hello, world In-Reply-To: <64876D43-44BD-465F-A003-7783B7C1A23F@orthanc.ca> References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> <64876D43-44BD-465F-A003-7783B7C1A23F@orthanc.ca> Message-ID: <1494CB5B-D54F-4FB5-AE4E-0624C2006A30@ieee.org> I, of course, liked the warning from dump(1): "Are you sure you know what you are doing?" aps. Begin forwarded message: > From: Lyndon Nerenberg > Subject: Re: [TUHS] hello, world > Date: December 26, 2011 4:20:38 PM EST > To: Warren Toomey > Cc: tuhs at tuhs.org, Norman Wilson > > > On 2011-12-26, at 13:11 PM, Warren Toomey wrote: > >> Yes, a good reminder on the power that programming brings us. A question >> though: what command would "bring the system down"? > > 'kill -1 1' will bring terror to anyone who had the misfortune of dealing with Xenix. > > I think the writer is getting at how UNIX bypassed the 'i ask you three times' dance. > > --lyndon > > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs From michael_davidson at pacbell.net Tue Dec 27 08:13:10 2011 From: michael_davidson at pacbell.net (Michael Davidson) Date: Mon, 26 Dec 2011 14:13:10 -0800 (PST) Subject: [TUHS] hello, world In-Reply-To: <1494CB5B-D54F-4FB5-AE4E-0624C2006A30@ieee.org> Message-ID: <1324937590.14361.YahooMailClassic@web82404.mail.mud.yahoo.com> --- On Mon, 12/26/11, Armando Stettner wrote: I, of course, liked the warning from dump(1): "Are you sure you know what you are doing?" ... or the even scarier "Last chance before scribbling on hp(0,0)" from restor ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From a.phillip.garcia at gmail.com Tue Dec 27 11:08:26 2011 From: a.phillip.garcia at gmail.com (A. P. Garcia) Date: Mon, 26 Dec 2011 19:08:26 -0600 Subject: [TUHS] hello, world In-Reply-To: References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> Message-ID: When I worked at a university, one of our linux web servers crashed one day. In place of /dev/null was a history file. The last entry? mv .bash_history /dev/null Ah, script kiddies... On Dec 26, 2011 3:28 PM, "A. P. Garcia" wrote: > On Mon, Dec 26, 2011 at 3:11 PM, Warren Toomey wrote: > >> On Sun, Dec 25, 2011 at 08:10:04AM -0500, Norman Wilson wrote: >> > Rather a nice tribute to Dennis and C, published >> > in the New York Times Magazine: >> > >> > >> http://www.nytimes.com/interactive/2011/12/22/magazine/the-lives-they-lived.html?ref=magazine#view=dennis_ritchie >> >> > Yes, a good reminder on the power that programming brings us. A question >> > though: what command would "bring the system down"? >> > > anything that consumes too many resources, i suppose. the morris worm > would have several copies of itself running on the same machine running a > password cracker, using up all the cpu and bringing the system to its > knees. hog too much memory and you could run into thrashing. even more evil > things may include a fork bomb, perhaps? or emacs? ;-) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dgunix at gmail.com Tue Dec 27 16:11:02 2011 From: dgunix at gmail.com (Adam) Date: Tue, 27 Dec 2011 08:11:02 +0200 Subject: [TUHS] hello, world In-Reply-To: <20111226211145.GA1335@minnie.tuhs.org> References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> Message-ID: > Yes, a good reminder on the power that programming brings us. A question > though: what command would "bring the system down"? Great read. Would just like to add that on some Unixes a simple command with no args will bring a system down - killall. Adam From tim.newsham at gmail.com Wed Dec 28 04:01:26 2011 From: tim.newsham at gmail.com (Tim Newsham) Date: Tue, 27 Dec 2011 08:01:26 -1000 Subject: [TUHS] hello, world In-Reply-To: References: <1324818619.20775.for-standards-violators@oclsc.org> <20111226211145.GA1335@minnie.tuhs.org> Message-ID: On Mon, Dec 26, 2011 at 8:15 PM, Dave Horsfall wrote: > On Tue, 27 Dec 2011, Warren Toomey wrote: >> Yes, a good reminder on the power that programming brings us. A question >> though: what command would "bring the system down"? > > It's right here: "Programmers were free to poke around to see and directly > manipulate what was in the computer's memory." http://minnie.tuhs.org/pipermail/unix-jun72/2008-May/000250.html > -- Dave -- Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com From m_d at pacbell.net Tue Dec 27 07:28:43 2011 From: m_d at pacbell.net (Michael Davidson) Date: Mon, 26 Dec 2011 13:28:43 -0800 (PST) Subject: [TUHS] hello, world In-Reply-To: <20111226211145.GA1335@minnie.tuhs.org> Message-ID: <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> --- On Mon, 12/26/11, Warren Toomey wrote:  A question though: what command would "bring the system down"? Well, if you are logged in as root the possibilities are almost endless, the classic one being: # rm -rf * run from the root directory. Strictly speaking, of course, that doesn't "bring the system down" but there really isn't much that you can do with the system after running it ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From mascheck at in-ulm.de Wed Dec 28 10:13:54 2011 From: mascheck at in-ulm.de (Sven Mascheck) Date: Wed, 28 Dec 2011 01:13:54 +0100 Subject: [TUHS] hello, world In-Reply-To: <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> References: <20111226211145.GA1335@minnie.tuhs.org> <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> Message-ID: <20111228001354.GE1474@lisa.in-ulm.de> Michael Davidson wrote: > --- On Mon, 12/26/11, Warren Toomey wrote: >  A question though: what command would "bring the system down"? > > Well, if you are logged in as root the possibilities are almost endless, [...] Sure. I was just tempted to exaggerate this discussion with: "init 0, halt or shutdown". But such commands had no been implemented even in 7th ed, yet :) I wonder if Warren rather had different issues in mind, which would lead to "unexpected" downs. The previously mentioned resource problems probably match this--not too suprisingly, because I always had the impression that Unix aimed at protecting processes from each other, not users. I'd like to remind of an according, earlier, quite fitting discussion from DMR: In "The UNIX Time-sharing System--A Retrospective" the paragraph "Security" http://cm.bell-labs.com/cm/cs/who/dmr/retro.html -Sven From wkb at xs4all.nl Wed Dec 28 10:20:34 2011 From: wkb at xs4all.nl (Wilko Bulte) Date: Wed, 28 Dec 2011 01:20:34 +0100 Subject: [TUHS] hello, world In-Reply-To: <20111228001354.GE1474@lisa.in-ulm.de> References: <20111226211145.GA1335@minnie.tuhs.org> <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> <20111228001354.GE1474@lisa.in-ulm.de> Message-ID: <20111228002034.GA6195@freebie.xs4all.nl> Quoting Sven Mascheck, who wrote on Wed, Dec 28, 2011 at 01:13:54AM +0100 .. > Michael Davidson wrote: > > --- On Mon, 12/26/11, Warren Toomey wrote: > >  A question though: what command would "bring the system down"? > > > > Well, if you are logged in as root the possibilities are almost endless, [...] > > Sure. I was just tempted to exaggerate this discussion with: > "init 0, halt or shutdown". But such commands had no been > implemented even in 7th ed, yet :) ISTR that starting another init has it's own interesting effects though :) Wilko > > I wonder if Warren rather had different issues in mind, > which would lead to "unexpected" downs. The previously > mentioned resource problems probably match this--not too > suprisingly, because I always had the impression that Unix > aimed at protecting processes from each other, not users. > > I'd like to remind of an according, earlier, quite fitting > discussion from DMR: > > In "The UNIX Time-sharing System--A Retrospective" > the paragraph "Security" > http://cm.bell-labs.com/cm/cs/who/dmr/retro.html > > -Sven > _______________________________________________ > TUHS mailing list > TUHS at minnie.tuhs.org > https://minnie.tuhs.org/mailman/listinfo/tuhs > --- End of quoted text --- From corey at lod.com Wed Dec 28 10:53:44 2011 From: corey at lod.com (Corey Lindsly) Date: Tue, 27 Dec 2011 16:53:44 -0800 (PST) Subject: [TUHS] hello, world In-Reply-To: <20111226211145.GA1335@minnie.tuhs.org> Message-ID: <20111228005345.1A4F540A1@lod.com> > On Sun, Dec 25, 2011 at 08:10:04AM -0500, Norman Wilson wrote: > > Rather a nice tribute to Dennis and C, published > > in the New York Times Magazine: > > > > http://www.nytimes.com/interactive/2011/12/22/magazine/the-lives-they-lived.html?ref=magazine#view=dennis_ritchie > > Yes, a good reminder on the power that programming brings us. A question > though: what command would "bring the system down"? The one that has stuck with me since the first time I read it 30 years ago is from an article titled "On the Security of UNIX" (dmr, 1978?) ... Here is a particularly ghastly shell sequence guaranteed to stop the system: while :; do mkdir x cd x done Either a panic will occur because all the i-nodes on the device are used up, or all the disk blocks will be consumed, thus preventing anyone from writing files on the device. (from the UNIX programmer's manual, vol.2 p.592) ---corey From wkt at tuhs.org Wed Dec 28 17:34:06 2011 From: wkt at tuhs.org (Warren Toomey) Date: Wed, 28 Dec 2011 17:34:06 +1000 Subject: [TUHS] hello, world In-Reply-To: <20111228001354.GE1474@lisa.in-ulm.de> References: <20111226211145.GA1335@minnie.tuhs.org> <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> <20111228001354.GE1474@lisa.in-ulm.de> Message-ID: <20111228073405.GA26729@minnie.tuhs.org> On Mon, 12/26/11, Warren Toomey wrote: > >  A question though: what command would "bring the system down"? On Wed, Dec 28, 2011 at 01:13:54AM +0100, Sven Mascheck wrote: > I wonder if Warren rather had different issues in mind, I just took umbrage at the article, in that it implied Unix provided machanisms for the ordinary user to "bring the system down". This is, of course, not true, at least once the hardware supported inter-process and kernel protection. However, it does remind me of Dennis' story about the days before proper memory protection (from http://cm.bell-labs.com/cm/cs/who/dmr/odd.html): Back around 1970-71, Unix on the PDP-11/20 ran on hardware that not only did not support virtual memory, but didn't support any kind of hardware memory mapping or protection, for example against writing over the kernel. This was a pain, because we were using the machine for multiple users. When anyone was working on a program, it was considered a courtesy to yell "A.OUT?" before trying it, to warn others to save whatever they were editing. At some point several were sitting around working away. Bob Morris asked, almost conversationally, "what are the arguments to ld?" Someone told him. We continued typing for the next minute, as a thought began to percolate, not quite to the top of the brain -- in other words, not quite fast enough. The terminal stopped echoing before anyone could stop and say "Hold on Bob, what is it you're trying to do?" Cheers, Warren From ori at helicontech.co.il Wed Dec 28 20:16:50 2011 From: ori at helicontech.co.il (Ori Idan) Date: Wed, 28 Dec 2011 12:16:50 +0200 Subject: [TUHS] hello, world In-Reply-To: <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> References: <20111226211145.GA1335@minnie.tuhs.org> <1324934923.37156.YahooMailClassic@web82402.mail.mud.yahoo.com> Message-ID: On Mon, Dec 26, 2011 at 11:28 PM, Michael Davidson wrote: > --- On *Mon, 12/26/11, Warren Toomey * wrote: > > A question though: what command would "bring the system down"? > > Well, if you are logged in as root the possibilities are almost endless, > the classic one being: > > # rm -rf * > > run from the root directory. Strictly speaking, of course, that doesn't > "bring the system down" but there really isn't much that you can do with > the system after running it ... > > > > That's reminds me of an accident happened to a friend who try making some order on his computer and since he did not know exactly what a file named unix is doing, he deleted it. The system worked but of course would not boot again... -- Ori Idan -------------- next part -------------- An HTML attachment was scrubbed... URL: From asbesto at freaknet.org Wed Dec 28 20:54:17 2011 From: asbesto at freaknet.org (asbesto) Date: Wed, 28 Dec 2011 11:54:17 +0100 Subject: [TUHS] hello, world In-Reply-To: <20111228005345.1A4F540A1@lod.com> References: <20111226211145.GA1335@minnie.tuhs.org> <20111228005345.1A4F540A1@lod.com> Message-ID: <20111228105417.GA456@freaknet.org> Tue, Dec 27, 2011 at 04:53:44PM -0800, Corey Lindsly wrote: > > Yes, a good reminder on the power that programming brings us. A question > > though: what command would "bring the system down"? > So I have to cite here our shell UNIX Forkbomb, coded by Jaromil, that will bring on knees almost every misconfigured system: :(){ :|:& };: some references here: http://www.runme.org/project/+forkbombsh/ http://en.wikipedia.org/wiki/Jaromil I think some limits/ulimits configuration can prevent this but i'm not so sure about it ;) -- [ ::::::::: 73 de IW9HGS : http://freaknet.org/asbesto ::::::::::: ] [ Freaknet Medialab :: Poetry Hacklab : Dyne.Org :: Radio Cybernet ] [ NON SCRIVERMI USANDO LETTERE ACCENTATE - NON MANDARMI ALLEGATI ] [ *I DELETE* EMAIL > 100K, ATTACHMENTS, HTML, M$-WORD DOC and SPAM ] From cowan at mercury.ccil.org Thu Dec 29 04:32:23 2011 From: cowan at mercury.ccil.org (John Cowan) Date: Wed, 28 Dec 2011 13:32:23 -0500 Subject: [TUHS] hello, world In-Reply-To: <20111228105417.GA456@freaknet.org> References: <20111226211145.GA1335@minnie.tuhs.org> <20111228005345.1A4F540A1@lod.com> <20111228105417.GA456@freaknet.org> Message-ID: <20111228183223.GD11843@mercury.ccil.org> asbesto scripsit: > So I have to cite here our shell UNIX Forkbomb, coded by > Jaromil, that will bring on knees almost every misconfigured system: > > :(){ :|:& };: Well, that version depends on shell functions, a relatively modern (in TUHS terms) feature of the shell. A more classical fork bomb, which will run on every shell, is to place the following into a file: $0 & $0 & and execute the file. -- John Cowan cowan at ccil.org http://ccil.org/~cowan If a soldier is asked why he kills people who have done him no harm, or a terrorist why he kills innocent people with his bombs, they can always reply that war has been declared, and there are no innocent people in an enemy country in wartime. The answer is psychotic, but it is the answer that humanity has given to every act of aggression in history. --Northrop Frye From barto at kdbarto.org Thu Dec 29 06:56:27 2011 From: barto at kdbarto.org (David Barto) Date: Wed, 28 Dec 2011 12:56:27 -0800 Subject: [TUHS] hello, world In-Reply-To: References: Message-ID: <3840176A-25FF-45C2-81DA-D3047871752D@kdbarto.org> A long time ago at the University that I graduated from. . . Shell scripts had just added the ability to have functions in them, so I wrote a script to do some processing of files that I had, and then logged off to let it run in the background. The shell script was named 'A'. In the script was a function, named 'A' When the script ran, instead of calling 'A' the function, it called 'A' the script, and you can see where this goes from here. 2 days later I received an email from the admin (thankfully a friend) who enclosed the 'ps -axl' output from the machine. It showed thousands of copies of my script running and a load that indicated that the machine was useless for almost everything. With the admonishment: "Don't ever do this again." I haven't. David David Barto barto at kdbarto.org barto at ucsd.edu