From akosela at andykosela.com Sun Jul 1 05:11:15 2018 From: akosela at andykosela.com (Andy Kosela) Date: Sat, 30 Jun 2018 21:11:15 +0200 Subject: [TUHS] Unix Kernel Size In-Reply-To: References: Message-ID: On Saturday, June 30, 2018, Warner Losh wrote: > Greetings, > > I'd like to thank everybody that sent me data for my unix kernel size > stuff. There's two artifacts I've crated. One I think I've shared before, > which is my spreadsheet: > https://docs.google.com/spreadsheets/d/13C77pmJFw4ZBmGJuNarBUvWBxBKWX > G-jtvARxJDHiXs/edit?usp=sharing > > It would be interesting to compare it to Linux throughout the history. I can still compile a minimal latest Linux kernel that is around 2M. Not bad if you ask me. --Andy -------------- next part -------------- An HTML attachment was scrubbed... URL: From doug at cs.dartmouth.edu Sun Jul 1 04:24:24 2018 From: doug at cs.dartmouth.edu (Doug McIlroy) Date: Sat, 30 Jun 2018 14:24:24 -0400 Subject: [TUHS] AT&T Hardware Message-ID: <201806301824.w5UIOO71062430@tahoe.cs.Dartmouth.EDU> Anent 3B's: Last time I visited Paul Allen's Living Computer Museum the only working Unix on display was running on a 3B2. Apparently the machine was robust if nothing else. doug From imp at bsdimp.com Sun Jul 1 05:31:49 2018 From: imp at bsdimp.com (Warner Losh) Date: Sat, 30 Jun 2018 13:31:49 -0600 Subject: [TUHS] Unix Kernel Size In-Reply-To: References: Message-ID: On Sat, Jun 30, 2018 at 1:11 PM, Andy Kosela wrote: > > > On Saturday, June 30, 2018, Warner Losh wrote: > >> Greetings, >> >> I'd like to thank everybody that sent me data for my unix kernel size >> stuff. There's two artifacts I've crated. One I think I've shared before, >> which is my spreadsheet: >> https://docs.google.com/spreadsheets/d/13C77pmJFw4ZBmGJuNarB >> UvWBxBKWXG-jtvARxJDHiXs/edit?usp=sharing >> >> > It would be interesting to compare it to Linux throughout the history. I > can still compile a minimal latest Linux kernel that is around 2M. Not bad > if you ask me. > It's possible to build FreeBSD much smaller as well (some ARM ports can get that small)... But that's not the comparison I was going for since that often understates the effect of the SCSI/SATA stack you need these days, or the network stack, or other technology that's considered 'standard.' It's entirely due to ease of use and cheap memory. I didn't include a growth of the Linux kernel due to the less-prevalent use of GENERIC-type kernels there, and a lack of good data sources I could mine quickly for apples-to-apples comparisons over time. Warner -------------- next part -------------- An HTML attachment was scrubbed... URL: From jnc at mercury.lcs.mit.edu Sun Jul 1 03:37:05 2018 From: jnc at mercury.lcs.mit.edu (Noel Chiappa) Date: Sat, 30 Jun 2018 13:37:05 -0400 (EDT) Subject: [TUHS] Masscomp oops [was: Any Good dmr Anecdotes?] Message-ID: <20180630173705.8D5C718C095@mercury.lcs.mit.edu> > From: Mike Markowski > a cute, slender gal came into the lab. ... I typed mkfs... On the plus > side, I ended up marrying the girl. OK, so now I _have_ to hear the backstory - _when_ did you tell her what happened? Then? (Maybe she noticed the look on your face once you realized what you'd done? :-) Later? Never? :-) Noel From jpl.jpl at gmail.com Sun Jul 1 00:20:49 2018 From: jpl.jpl at gmail.com (John P. Linderman) Date: Sat, 30 Jun 2018 10:20:49 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <20180629075310.GA9477@minnie.tuhs.org> Message-ID: Peter and the magnets On Fri, Jun 29, 2018 at 7:55 PM, Dave Horsfall wrote: > On Fri, 29 Jun 2018, Warren Toomey wrote: > > We do have ken on the list, so I won't be presumptious to ask for >> ken-related anecdotes, but would anybody like to share some dmr anecdotes? >> > > Wasn't it Dennis whose morphed picture featured on a t-shirt at an AUUG > conference in the 80s? I can't seem to find a reference right now,,, > > -- Dave > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pjw.jpg Type: image/jpeg Size: 130047 bytes Desc: not available URL: From mike.ab3ap at gmail.com Sun Jul 1 05:13:11 2018 From: mike.ab3ap at gmail.com (Mike Markowski) Date: Sat, 30 Jun 2018 15:13:11 -0400 Subject: [TUHS] Masscomp oops [was: Any Good dmr Anecdotes?] In-Reply-To: <20180630173705.8D5C718C095@mercury.lcs.mit.edu> References: <20180630173705.8D5C718C095@mercury.lcs.mit.edu> Message-ID: <533ceb4e-55a1-0fbd-6cac-26c6107d9452@gmail.com> On 06/30/2018 01:37 PM, Noel Chiappa wrote: > > From: Mike Markowski > > > a cute, slender gal came into the lab. ... I typed mkfs... On the plus > > side, I ended up marrying the girl. > > OK, so now I _have_ to hear the backstory - _when_ did you tell her what > happened? Then? (Maybe she noticed the look on your face once you realized > what you'd done? :-) Later? Never? :-) > > Noel Oh, she noticed. There are those moments of mild annoyance: "Maaan!" and maybe even a desk slap. Moments worthy of a 4 letter word, and then the times like that, the jaw dropping sock in the gut feeling. I was an EE working on a radar system, she was a computer scientist doing coding. She knew I did something bad by my reaction. The lovely Ms. Hsi's response was something like, "That's what happens when you give an engineer root." With a laugh, I might add. Mike Markowski From scj at yaccman.com Sun Jul 1 04:43:43 2018 From: scj at yaccman.com (Steve Johnson) Date: Sat, 30 Jun 2018 11:43:43 -0700 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <256ad6e7-ad2f-a56f-7873-d0d3a382dc06@gmail.com> Message-ID: Another DMR memory.   We typically worked in the "Unix Room" up in the attic, where there were a number of terminals and (at the time) one phone line.  I remember overhearing Dennis talking on the phone quite patiently with a guy from another location who wanted some feature added to C or Unix (don't remember which).  Dennis explained several time why the feature was difficult to implement, wouldn't solve his problem, and could, in some cases, lock up the operating system.   The guy on the other end kept arguing.   Finally Dennis suggested that he arrange a meeting so we could better understand the problem and get some other ideas on how to solve it.   "Oh, I couldn't do that!  We have to make a decision by 5PM today!"    Dennis sighed and said "You mean, this problem is so important and urgent that you don't have time to think about it?" ----- Original Message ----- From: "Jon Forrest" To: Cc: Sent:Fri, 29 Jun 2018 18:45:25 -0700 Subject:Re: [TUHS] Any Good dmr Anecdotes? In the early 1980s my girlfriend (now my wife) and I were visiting Bell Lab's Murray Hill research facility where a friend of mine worked. My friend had nothing to do with Unix, but I asked him to take us by the area where the Unix work was being done. What my wife still remembers to this day is when we saw Dennis Ritchie sitting at a terminal, with about 7 guys surrounding him. They were all giggling loudly at something on the screen. My wife couldn't understand what could be so funny to cause all those guys to react that way. Jon Forrest -------------- next part -------------- An HTML attachment was scrubbed... URL: From krewat at kilonet.net Sun Jul 1 08:42:03 2018 From: krewat at kilonet.net (Arthur Krewat) Date: Sat, 30 Jun 2018 18:42:03 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: On 6/30/2018 7:44 AM, Arrigo Triulzi wrote: > I remember that he asked me if I understood pointers, I told him it was like putting a big arrow which you could move around, pointing to a house instead of actually using the house number and he smiled then taking the explanation on from there. > ok, where's the "Like" button?!?!??!? Just kidding, all, but what a wonderful story. From arrigo at alchemistowl.org Sun Jul 1 09:29:24 2018 From: arrigo at alchemistowl.org (Arrigo Triulzi) Date: Sun, 1 Jul 2018 01:29:24 +0200 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: On 1 Jul 2018, at 00:42, Arthur Krewat wrote: > On 6/30/2018 7:44 AM, Arrigo Triulzi wrote: >> I remember that he asked me if I understood pointers, I told him it was like putting a big arrow which you could move around, pointing to a house instead of actually using the house number and he smiled then taking the explanation on from there. >> > ok, where's the "Like" button?!?!??!? > > Just kidding, all, but what a wonderful story. By all accounts he was a wonderful person. Arrigo From wlc at jctaylor.com Sun Jul 1 11:05:46 2018 From: wlc at jctaylor.com (William Corcoran) Date: Sun, 1 Jul 2018 01:05:46 +0000 Subject: [TUHS] AT&T Hardware In-Reply-To: <201806301824.w5UIOO71062430@tahoe.cs.Dartmouth.EDU> References: <201806301824.w5UIOO71062430@tahoe.cs.Dartmouth.EDU> Message-ID: <750E7E7B-F22B-4ECA-9CA1-247AAED3A629@jctaylor.com> On my 3b2 310, you could always tell when the CPU were soaked at 100% utilization. The main board would actually buzz. If you entered a CPU bound job with bc for example, you would know when the result was displayed on your terminal as the 3b2 would stop buzzing. Truly, Bill Corcoran > On Jun 30, 2018, at 6:17 PM, Doug McIlroy wrote: > > Anent 3B's: Last time I visited Paul Allen's Living Computer Museum > the only working Unix on display was running on a 3B2. Apparently > the machine was robust if nothing else. > > doug From dave at horsfall.org Sun Jul 1 15:29:42 2018 From: dave at horsfall.org (Dave Horsfall) Date: Sun, 1 Jul 2018 15:29:42 +1000 (EST) Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: On Sat, 30 Jun 2018, Arrigo Triulzi wrote: > As I was told this visitor was the R in the “K&R” book I felt I could > finally ask “someone who knew” how printf() worked with a variable > number of arguments. It wouldn't've used that awful nargs() call at that time, would it? I was glad when that horror was removed. -- Dave From dave at horsfall.org Sun Jul 1 16:11:33 2018 From: dave at horsfall.org (Dave Horsfall) Date: Sun, 1 Jul 2018 16:11:33 +1000 (EST) Subject: [TUHS] Frank Heart, Who Helped to Design the ArpaNet IMPs at BBN Dies at 89 In-Reply-To: References: Message-ID: Added to my list - thanks. -- Dave From grog at lemis.com Sun Jul 1 12:17:24 2018 From: grog at lemis.com (Greg 'groggy' Lehey) Date: Sun, 1 Jul 2018 12:17:24 +1000 Subject: [TUHS] ATT Hardware In-Reply-To: <1530357310.5184.for-standards-violators@oclsc.org> References: <1530357310.5184.for-standards-violators@oclsc.org> Message-ID: <20180701021724.GA99215@eureka.lemis.com> On Saturday, 30 June 2018 at 7:15:07 -0400, Norman Wilson wrote: > Ron Natalie: > > My favorite 3B2ism was that the power switch was soft (uncommon then, not so > much now). I seem to recall that if the logged in user wasn't in a > particular group, pushing the power button was a no-op. You didn't have > sufficient privs to operate the power. > > ==== > > Surely you mean the current user didn't have sufficent power. Or was experiencing too much resistance? Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 163 bytes Desc: not available URL: From doug at cs.dartmouth.edu Sun Jul 1 12:23:57 2018 From: doug at cs.dartmouth.edu (Doug McIlroy) Date: Sat, 30 Jun 2018 22:23:57 -0400 Subject: [TUHS] Rivers, the ragged right, and BCPL roff (was: Spooky action at a distance in line adjustment...sometimes) Message-ID: <201807010223.w612Nv7P094105@tahoe.cs.Dartmouth.EDU> > I was poking around on the Unix v7 man page archive the other day, and > discovered to my delight that BCPL roff's request list was documented > there. Yes, it's the same spec, though reimplementated; there was no BCPL compiler for the PDP-11. > Unfortunately, it was marked up in...BCPL roff embedded within > a man page, which hopelessly confused groff. I edited the v7 manual and I believe I proofread every man page. How could I have overlooked the misbehavior of the .li request*, which was even then not in the reference manual's list of n/troff requests? On closer examination, .li does appear in a condensed alphabetical list of requests--and it appears in the source. But if Joe never described it, it's no surprise that groff dropped it. It is totally unnecessary--a bit of special pleading rendered obsolete by Joe's elegant invention of \&. doug * .li causes the next line to be read literally, even if it begins with a dot. From lm at mcvoy.com Sun Jul 1 14:17:22 2018 From: lm at mcvoy.com (Larry McVoy) Date: Sat, 30 Jun 2018 21:17:22 -0700 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: <20180701041722.GC28635@mcvoy.com> On Sun, Jul 01, 2018 at 01:29:24AM +0200, Arrigo Triulzi wrote: > On 1 Jul 2018, at 00:42, Arthur Krewat wrote: > > On 6/30/2018 7:44 AM, Arrigo Triulzi wrote: > >> I remember that he asked me if I understood pointers, I told him it was like putting a big arrow which you could move around, pointing to a house instead of actually using the house number and he smiled then taking the explanation on from there. > >> > > ok, where's the "Like" button?!?!??!? > > > > Just kidding, all, but what a wonderful story. > > By all accounts he was a wonderful person. He really was. Always willing to teach someone who wasn't up to speed yet but was trying. That story about the 10 year old should be on a plaque somewhere. -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm From arrigo at alchemistowl.org Sun Jul 1 18:28:53 2018 From: arrigo at alchemistowl.org (Arrigo Triulzi) Date: Sun, 1 Jul 2018 10:28:53 +0200 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: On 1 Jul 2018, at 07:29, Dave Horsfall wrote: > > On Sat, 30 Jun 2018, Arrigo Triulzi wrote: > >> As I was told this visitor was the R in the “K&R” book I felt I could finally ask “someone who knew” how printf() worked with a variable number of arguments. > > It wouldn't've used that awful nargs() call at that time, would it? I was glad when that horror was removed. I was about 10 at the time, I hope you will excuse me for not recalling this detail. I just recall the way that he used my “arrows in the street” to explain how printf() walked through the argument list carrying an arrow on its shoulder, then did what it had to do until it got to the end of the street. As you can probably imagine it is still how I visualise the workings of printf() to this day. Note that this was pure K&R, pre-ANSI C varargs. Arrigo From ron at ronnatalie.com Sun Jul 1 21:34:58 2018 From: ron at ronnatalie.com (ron at ronnatalie.com) Date: Sun, 1 Jul 2018 07:34:58 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> Printf didn't use nargs (and still doesn't). It looked at the presence of the % markers and assumes that’s how many arguments were passed. It worked on the PDP-11 or any similar stack calling sequence. It was only after C got moved to some of the more varied architectures that VARARGS/STDARG was implemented to achieve some level of variable argument portability. Even so, there's not a concept of "nargs" to this day. The PDP-11 nargs was a kludge that looked at the calling code. This obviously didn't work if you were in split I-D mode (where you couldn't address the i-space). There was a published hack to rewire the processor to allow MTPI to work in user mode from your OWN I space to make it work. The bigger issue with the early printf is it just called putchar and putchar only output to stdout or what ever the global fout variable was set to. There was a comment in the manual that the fout concept was kludgy. -----Original Message----- From: TUHS On Behalf Of Dave Horsfall Sent: Sunday, July 1, 2018 1:30 AM To: The Eunuchs Hysterical Society Subject: Re: [TUHS] Any Good dmr Anecdotes? On Sat, 30 Jun 2018, Arrigo Triulzi wrote: > As I was told this visitor was the R in the “K&R” book I felt I could > finally ask “someone who knew” how printf() worked with a variable > number of arguments. It wouldn't've used that awful nargs() call at that time, would it? I was glad when that horror was removed. -- Dave From ron at ronnatalie.com Sun Jul 1 21:42:45 2018 From: ron at ronnatalie.com (ron at ronnatalie.com) Date: Sun, 1 Jul 2018 07:42:45 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: <00b701d41130$a1275980$e3760c80$@ronnatalie.com> Dennis always answered his emails and was very humble in the light of most of the UNIX guys holding him in god like status. I remember he'd sit with us in the lobby or cocktail lounge or by the pool at the USENIX meetings. Just happy to be hanging out with the rest of us. One year, while I was working for the Army and we were getting a lot of internal pressure to use Ada, I made a bunch of t-shirts up that had Ada Lovelace with a big red circle/slash (NO) on it. I pointed out that at the time there were several government projects to write internet routers contracted out and all mandated Ada. I developed one in house at the Army and wrote it in C (it also used media with UNIX boot blocks on it). I gave Dennis one of these shirts at a conference. I saw subsequent pictures of him wearing it. From scj at yaccman.com Sun Jul 1 23:29:57 2018 From: scj at yaccman.com (Steve Johnson) Date: Sun, 01 Jul 2018 06:29:57 -0700 Subject: [TUHS] AT&T Hardware (3B2) In-Reply-To: <201806301824.w5UIOO71062430@tahoe.cs.Dartmouth.EDU> Message-ID: <285b5c9f6210cfbc4f2ff3a84c11e674cc230879@webmail.yaccman.com> The 3B2 was designed for AT&T by Convergent Technologies.  I later worked with several people at Convergent, one of whom had a framed circuit board on his wall.  It was a wonder to behold -- the board had wires all over it that were added later, and nearly a dozen "bugs" -- in the days of discrete logic chips, a bug was when you took another chip and glued it, upside down, on top of an existing chip and then ran wires to the pins in the air.   As I recall, the story was that the first demo of the 3B2 happened roughly six weeks after the initial request, using the board on the wall.  Now, that's what should really be in the computer museums... In those days, if there was floating point it was a separate chip, and the 3B2 had none.   Floating-point instructions caused a fault, which meant a context switch to the OS, where the instruction was emulated and then the program returned.   The performance, as I recall was about 800 FLOPS - dismal.   We fixed the compiler so it would generate calls to subroutines that did the floating point operations, and the performance improved by over an order of magnitude -- still dismal, but no longer ridiculous... One of the events that led me to leave AT&T was that they fired the head of the benchmarking group at Indian Hill, a most competent woman, because they didn't like the results she was presenting.  When a company's information channels stop functioning reliably, it's time to leave... Steve ----- Original Message ----- From: "Doug McIlroy" To: Cc: Sent:Sat, 30 Jun 2018 14:24:24 -0400 Subject:Re: [TUHS] AT&T Hardware Anent 3B's: Last time I visited Paul Allen's Living Computer Museum the only working Unix on display was running on a 3B2. Apparently the machine was robust if nothing else. doug -------------- next part -------------- An HTML attachment was scrubbed... URL: From norman at oclsc.org Mon Jul 2 02:35:46 2018 From: norman at oclsc.org (Norman Wilson) Date: Sun, 01 Jul 2018 12:35:46 -0400 Subject: [TUHS] Any Good dmr Anecdotes? Message-ID: <1530462950.12433.for-standards-violators@oclsc.org> Greg Lehey: No, that was Peter Weinberger, as dmr confirmed. There's quite a story behind what happened to the stencil. I'll let Warren tell it, but if you want to cheat, check http://www.lemis.com/grog/diary-oct2002.php#17 ==== There are many stories behind the use and abuse of Peter's face. The canonical source is http://spinroot.com/pico/pjw.html spinroot.com belongs to Gerard Holzman, who was involved with many creative uses of digitized photography during my time at the Labs. (Also much work on software reliability, which he now pursues at JPL.) The org chart with every face replaced by Peter's was on the wall of the UNIX Room when I first visited 1127 in February 1984. I suspect it appeared not long after Peter became a department head, but I don't know just when that was. Peter didn't really take the alleged glory of being a department head all that seriously, just the responsibilities. One of the official glories was that Department Heads were supposed to get carpet in their offices, atop the standard linoleum tiles. Peter didn't want it, and (as he told me the story later) had to argue with Facilities a lot not to get it. Somehow this resulted in a trophy: a small square of carpet stuck to the wall outside his office. Norman Wilson Toronto ON From jpl.jpl at gmail.com Mon Jul 2 06:14:22 2018 From: jpl.jpl at gmail.com (John P. Linderman) Date: Sun, 1 Jul 2018 16:14:22 -0400 Subject: [TUHS] ATT Hardware In-Reply-To: <20180701021724.GA99215@eureka.lemis.com> References: <1530357310.5184.for-standards-violators@oclsc.org> <20180701021724.GA99215@eureka.lemis.com> Message-ID: Puns aside, anyone who didn't consider pulling the plug was probably not someone who should be bringing the system down. On Sat, Jun 30, 2018 at 10:17 PM, Greg 'groggy' Lehey wrote: > On Saturday, 30 June 2018 at 7:15:07 -0400, Norman Wilson wrote: > > Ron Natalie: > > > > My favorite 3B2ism was that the power switch was soft (uncommon then, > not so > > much now). I seem to recall that if the logged in user wasn't in a > > particular group, pushing the power button was a no-op. You didn't > have > > sufficient privs to operate the power. > > > > ==== > > > > Surely you mean the current user didn't have sufficent power. > > Or was experiencing too much resistance? > > Greg > -- > Sent from my desktop computer. > Finger grog at lemis.com for PGP public key. > See complete headers for address and phone numbers. > This message is digitally signed. If your Microsoft mail program > reports problems, please read http://lemis.com/broken-MUA > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wkt at tuhs.org Mon Jul 2 09:14:45 2018 From: wkt at tuhs.org (Warren Toomey) Date: Mon, 2 Jul 2018 09:14:45 +1000 Subject: [TUHS] A New Mail List for TUHS chat Message-ID: <20180701231445.GA17726@minnie.tuhs.org> All, I've removed the moderation on the TUHS list. Given that you would like to chat about non-TUHS stuff, I've made a new list: coff at tuhs.org E-mail me if you want to subscribe. I'll be in the road until the weekend but I will process requests daily. Cheers! Warren From wkt at tuhs.org Mon Jul 2 09:20:23 2018 From: wkt at tuhs.org (Warren Toomey) Date: Mon, 2 Jul 2018 09:20:23 +1000 Subject: [TUHS] Rivers, the ragged right, and BCPL roff (was: Spooky action at a distance in line adjustment...sometimes) In-Reply-To: <201807010223.w612Nv7P094105@tahoe.cs.Dartmouth.EDU> References: <201807010223.w612Nv7P094105@tahoe.cs.Dartmouth.EDU> Message-ID: <20180701232023.GB17726@minnie.tuhs.org> On Sat, Jun 30, 2018 at 10:23:57PM -0400, Doug McIlroy wrote: >I edited the v7 manual and I believe I proofread every man page. How >could I have overlooked the misbehavior of the .li request*, which was >even then not in the reference manual's list of n/troff requests? >doug > >* .li causes the next line to be read literally, even if it begins >with a dot. Slightly Unix related, .li is in the version of roff which I wrote in a C-like language for the PDP-7 version of Unix: https://github.com/DoctorWkt/h-compiler/blob/master/roff/wktroff.c https://github.com/DoctorWkt/h-compiler/blob/master/roff/roff_manual https://github.com/DoctorWkt/h-compiler Cheers, Warren From imp at bsdimp.com Mon Jul 2 09:27:32 2018 From: imp at bsdimp.com (Warner Losh) Date: Sun, 1 Jul 2018 17:27:32 -0600 Subject: [TUHS] A New Mail List for TUHS chat In-Reply-To: <20180701231445.GA17726@minnie.tuhs.org> References: <20180701231445.GA17726@minnie.tuhs.org> Message-ID: On Sun, Jul 1, 2018, 5:15 PM Warren Toomey wrote: > All, I've removed the moderation on the TUHS list. Given that you would > like to chat about non-TUHS stuff, I've made a new list: > > coff at tuhs.org > > E-mail me if you want to subscribe. I'll be in the road until the > weekend but I will process requests daily. > Thanks Warren. I thought about suggesting ecoff@ for flames. It being the Emotional COFF list :) Warner Cheers! Warren > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wlc at jctaylor.com Mon Jul 2 10:07:44 2018 From: wlc at jctaylor.com (William Corcoran) Date: Mon, 2 Jul 2018 00:07:44 +0000 Subject: [TUHS] A New Mail List for TUHS chat In-Reply-To: <20180701231445.GA17726@minnie.tuhs.org> References: <20180701231445.GA17726@minnie.tuhs.org> Message-ID: Hi Warren, Please sign me up to the new list. Can you use bill at corcoran.life as the email in place of wlc at jctaylor.com. Thank you. Bill Corcoran. > On Jul 1, 2018, at 7:15 PM, Warren Toomey wrote: > > All, I've removed the moderation on the TUHS list. Given that you would > like to chat about non-TUHS stuff, I've made a new list: > > coff at tuhs.org > > E-mail me if you want to subscribe. I'll be in the road until the > weekend but I will process requests daily. > > Cheers! Warren From lyndon at orthanc.ca Mon Jul 2 10:12:51 2018 From: lyndon at orthanc.ca (Lyndon Nerenberg) Date: Sun, 1 Jul 2018 17:12:51 -0700 (PDT) Subject: [TUHS] AT&T Hardware (3B2) In-Reply-To: <285b5c9f6210cfbc4f2ff3a84c11e674cc230879@webmail.yaccman.com> References: <285b5c9f6210cfbc4f2ff3a84c11e674cc230879@webmail.yaccman.com> Message-ID: On Sun, 1 Jul 2018, Steve Johnson wrote: > The 3B2 was designed for AT&T by Convergent Technologies.  Really? I think you are thinking of the PC[67]300? Aka the 3B1? The Convergent machines of the day were 68K based, and had nothing to do with any of the WE chips. I sold/maintained Convergent gear for a few years before being hired into a shop that was inflicted with 3B2 hardware. Believe me, I know the difference between the two. --lyndon From lyndon at orthanc.ca Mon Jul 2 10:24:41 2018 From: lyndon at orthanc.ca (Lyndon Nerenberg) Date: Sun, 1 Jul 2018 17:24:41 -0700 (PDT) Subject: [TUHS] Horrific AT&T Hardware Message-ID: I'm not sure if I should ask this, but here goes ... Have any of you had the misfortune of dealing with that wonder that was the 3B4000? --lyndon From wlc at jctaylor.com Mon Jul 2 10:20:42 2018 From: wlc at jctaylor.com (William Corcoran) Date: Mon, 2 Jul 2018 00:20:42 +0000 Subject: [TUHS] ATT Hardware In-Reply-To: References: <1530357310.5184.for-standards-violators@oclsc.org> <20180701021724.GA99215@eureka.lemis.com>, Message-ID: <927BB205-49F8-492B-8AAB-0395F36B549A@jctaylor.com> No! no! no! The 3b2 was one of the first supermicros to fully integrate power management with the system. Yanking the cord would be unthinkable mainly because it was unnecessary. The shutdown script would remove power to the the system once the system safely went down and buffers were flushed. You could also depress this massive rocket switch on the side of the unit and it would kick off the powerdown script. It is noteworthy that the 3b2 power switch was stateless...allowing human and computer to turn off the power. Finally, the 3b2 is probably the only system in the world with system diagnostics so in depth that they were nearly as significant as the operating system. It’s a telecommunications thing. Interestingly, the color of the 3b2 was similar to a VAX Brown and White. On Jul 1, 2018, at 6:24 PM, John P. Linderman > wrote: Puns aside, anyone who didn't consider pulling the plug was probably not someone who should be bringing the system down. On Sat, Jun 30, 2018 at 10:17 PM, Greg 'groggy' Lehey > wrote: On Saturday, 30 June 2018 at 7:15:07 -0400, Norman Wilson wrote: > Ron Natalie: > > My favorite 3B2ism was that the power switch was soft (uncommon then, not so > much now). I seem to recall that if the logged in user wasn't in a > particular group, pushing the power button was a no-op. You didn't have > sufficient privs to operate the power. > > ==== > > Surely you mean the current user didn't have sufficent power. Or was experiencing too much resistance? Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA -------------- next part -------------- An HTML attachment was scrubbed... URL: From jpl.jpl at gmail.com Mon Jul 2 10:55:11 2018 From: jpl.jpl at gmail.com (John P. Linderman) Date: Sun, 1 Jul 2018 20:55:11 -0400 Subject: [TUHS] ATT Hardware In-Reply-To: <927BB205-49F8-492B-8AAB-0395F36B549A@jctaylor.com> References: <1530357310.5184.for-standards-violators@oclsc.org> <20180701021724.GA99215@eureka.lemis.com> <927BB205-49F8-492B-8AAB-0395F36B549A@jctaylor.com> Message-ID: So prohibiting someone from pushing a button differed in what way from allowing them to pull a plug? I can understand there may have been some difference in state when/if the machine was rebooted. If I just wanted the machine to cease sucking power, what's the difference? I never wanted that box to exist, or come back to life, in whatever color. On Sun, Jul 1, 2018 at 8:20 PM, William Corcoran wrote: > No! no! no! The 3b2 was one of the first supermicros to fully integrate > power management with the system. Yanking the cord would be unthinkable > mainly because it was unnecessary. The shutdown script would remove power > to the the system once the system safely went down and buffers were > flushed. You could also depress this massive rocket switch on the side of > the unit and it would kick off the powerdown script. It is noteworthy that > the 3b2 power switch was stateless...allowing human and computer to turn > off the power. > > Finally, the 3b2 is probably the only system in the world with system > diagnostics so in depth that they were nearly as significant as the > operating system. It’s a telecommunications thing. Interestingly, the > color of the 3b2 was similar to a VAX Brown and White. > > > On Jul 1, 2018, at 6:24 PM, John P. Linderman wrote: > > Puns aside, anyone who didn't consider pulling the plug was probably not > someone who should be bringing the system down. > > On Sat, Jun 30, 2018 at 10:17 PM, Greg 'groggy' Lehey > wrote: > >> On Saturday, 30 June 2018 at 7:15:07 -0400, Norman Wilson wrote: >> > Ron Natalie: >> > >> > My favorite 3B2ism was that the power switch was soft (uncommon then, >> not so >> > much now). I seem to recall that if the logged in user wasn't in a >> > particular group, pushing the power button was a no-op. You didn't >> have >> > sufficient privs to operate the power. >> > >> > ==== >> > >> > Surely you mean the current user didn't have sufficent power. >> >> Or was experiencing too much resistance? >> >> Greg >> -- >> Sent from my desktop computer. >> Finger grog at lemis.com for PGP public key. >> See complete headers for address and phone numbers. >> This message is digitally signed. If your Microsoft mail program >> reports problems, please read http://lemis.com/broken-MUA >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wlc at jctaylor.com Mon Jul 2 13:59:21 2018 From: wlc at jctaylor.com (William Corcoran) Date: Mon, 2 Jul 2018 03:59:21 +0000 Subject: [TUHS] ATT Hardware In-Reply-To: References: <1530357310.5184.for-standards-violators@oclsc.org> <20180701021724.GA99215@eureka.lemis.com> <927BB205-49F8-492B-8AAB-0395F36B549A@jctaylor.com>, Message-ID: <61FF726B-6255-436C-BBBD-20FDB5A9449D@jctaylor.com> It was a safety net designed to prevent operational error. Naturally, there are limits. It was a quaint implementation on the 3b2. I think that’s the gist of discussing it anyway. However, you can see how the 3b2 designers stressed about a user having to deal with an operating system that required care in understanding that you can’t just remove power. Rather, an orderly shutdown were required. If you want to yank the plug, by all means, have at it. But, I can tell you that I suspect you are the exact type of user that the 3b2 designers felt they were up against in designing this obviously over engineered hardware. Of course, your point is a good one. Especially, since countless UNIX boxes at the time had nothing more than a good old power switch that truly was akin to yanking the power cord—-thus, procedures must be followed. Yet, it’s still cool that the 3b2 has that little integrated power feature that most fondly remember. (Maybe I am on the wrong channel, this is TUHS, right?) It might be worth noting, nearly every UNIX box today (even x86 hardware) has some variety of this power feature today. So, clearly the 3b2 was ahead of its time (along with a few other vendors) One last point, I have an original NCR minitower UNIX box. This box had a unique feature where it’s solid state RAM would be backed up by a battery. The registers were saved. So, if you yanked out the power cord, the system would pick up right from where it left off. Of course, all of the terminal users would need to redraw their screens. But, this box was immune to yanking out the power cord. If you wanted to reboot the kernel, there is a procedure to start from scratch. Truly, Bill Corcoran On Jul 1, 2018, at 8:55 PM, John P. Linderman > wrote: So prohibiting someone from pushing a button differed in what way from allowing them to pull a plug? I can understand there may have been some difference in state when/if the machine was rebooted. If I just wanted the machine to cease sucking power, what's the difference? I never wanted that box to exist, or come back to life, in whatever color. On Sun, Jul 1, 2018 at 8:20 PM, William Corcoran > wrote: No! no! no! The 3b2 was one of the first supermicros to fully integrate power management with the system. Yanking the cord would be unthinkable mainly because it was unnecessary. The shutdown script would remove power to the the system once the system safely went down and buffers were flushed. You could also depress this massive rocket switch on the side of the unit and it would kick off the powerdown script. It is noteworthy that the 3b2 power switch was stateless...allowing human and computer to turn off the power. Finally, the 3b2 is probably the only system in the world with system diagnostics so in depth that they were nearly as significant as the operating system. It’s a telecommunications thing. Interestingly, the color of the 3b2 was similar to a VAX Brown and White. On Jul 1, 2018, at 6:24 PM, John P. Linderman > wrote: Puns aside, anyone who didn't consider pulling the plug was probably not someone who should be bringing the system down. On Sat, Jun 30, 2018 at 10:17 PM, Greg 'groggy' Lehey > wrote: On Saturday, 30 June 2018 at 7:15:07 -0400, Norman Wilson wrote: > Ron Natalie: > > My favorite 3B2ism was that the power switch was soft (uncommon then, not so > much now). I seem to recall that if the logged in user wasn't in a > particular group, pushing the power button was a no-op. You didn't have > sufficient privs to operate the power. > > ==== > > Surely you mean the current user didn't have sufficent power. Or was experiencing too much resistance? Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA -------------- next part -------------- An HTML attachment was scrubbed... URL: From kevin.bowling at kev009.com Mon Jul 2 19:56:33 2018 From: kevin.bowling at kev009.com (Kevin Bowling) Date: Mon, 2 Jul 2018 02:56:33 -0700 Subject: [TUHS] AT&T Hardware (3B2) In-Reply-To: <285b5c9f6210cfbc4f2ff3a84c11e674cc230879@webmail.yaccman.com> References: <201806301824.w5UIOO71062430@tahoe.cs.Dartmouth.EDU> <285b5c9f6210cfbc4f2ff3a84c11e674cc230879@webmail.yaccman.com> Message-ID: I have several working 3B2s and a non-working 3B1 aka UNIX PC/ 7300. Your story sounds more like a 3B1 where Convergent Technologies was the ODM (original design mfg). I've seen Convergent branded 7300s in collections or for sale. The various 3b2 models are a relatively simple backplane design, the cards are all discrete chips on small boards that aren't very dense integration vs other contemporary systems. I couldn't see more than a few manual reworks being more cost effective than reving the PCBs on it, especially because it was a "serious system". Wikimedia has a good pic of the first model, 3B2-300, main board https://upload.wikimedia.org/wikipedia/commons/3/3d/3b2-300-motherboard.jpg One thing I've desired are contemporary pictures of the 3B5, 3B15 and 3B20 if anyone knows of intact machines. On Sun, Jul 1, 2018 at 6:29 AM, Steve Johnson wrote: > The 3B2 was designed for AT&T by Convergent Technologies. I later worked > with several people at Convergent, one of whom had a framed circuit board on > his wall. It was a wonder to behold -- the board had wires all over it that > were added later, and nearly a dozen "bugs" -- in the days of discrete logic > chips, a bug was when you took another chip and glued it, upside down, on > top of an existing chip and then ran wires to the pins in the air. As I > recall, the story was that the first demo of the 3B2 happened roughly six > weeks after the initial request, using the board on the wall. Now, that's > what should really be in the computer museums... > > In those days, if there was floating point it was a separate chip, and the > 3B2 had none. Floating-point instructions caused a fault, which meant a > context switch to the OS, where the instruction was emulated and then the > program returned. The performance, as I recall was about 800 FLOPS - > dismal. We fixed the compiler so it would generate calls to subroutines > that did the floating point operations, and the performance improved by over > an order of magnitude -- still dismal, but no longer ridiculous... > > One of the events that led me to leave AT&T was that they fired the head of > the benchmarking group at Indian Hill, a most competent woman, because they > didn't like the results she was presenting. When a company's information > channels stop functioning reliably, it's time to leave... > > Steve > > > > ----- Original Message ----- > From: > "Doug McIlroy" > > To: > > Cc: > > Sent: > Sat, 30 Jun 2018 14:24:24 -0400 > Subject: > Re: [TUHS] AT&T Hardware > > > Anent 3B's: Last time I visited Paul Allen's Living Computer Museum > the only working Unix on display was running on a 3B2. Apparently > the machine was robust if nothing else. > > doug From kevin.bowling at kev009.com Mon Jul 2 20:13:38 2018 From: kevin.bowling at kev009.com (Kevin Bowling) Date: Mon, 2 Jul 2018 03:13:38 -0700 Subject: [TUHS] ATT Hardware In-Reply-To: <927BB205-49F8-492B-8AAB-0395F36B549A@jctaylor.com> References: <1530357310.5184.for-standards-violators@oclsc.org> <20180701021724.GA99215@eureka.lemis.com> <927BB205-49F8-492B-8AAB-0395F36B549A@jctaylor.com> Message-ID: They were also offered with the Alarm Interface Circuit card and Remote Management Package, soft off might have been required as part of those design considerations for remote management. On Sun, Jul 1, 2018 at 5:20 PM, William Corcoran wrote: > No! no! no! The 3b2 was one of the first supermicros to fully integrate > power management with the system. Yanking the cord would be unthinkable > mainly because it was unnecessary. The shutdown script would remove power > to the the system once the system safely went down and buffers were flushed. > You could also depress this massive rocket switch on the side of the unit > and it would kick off the powerdown script. It is noteworthy that the 3b2 > power switch was stateless...allowing human and computer to turn off the > power. > > Finally, the 3b2 is probably the only system in the world with system > diagnostics so in depth that they were nearly as significant as the > operating system. It’s a telecommunications thing. Interestingly, the > color of the 3b2 was similar to a VAX Brown and White. > > > On Jul 1, 2018, at 6:24 PM, John P. Linderman wrote: > > Puns aside, anyone who didn't consider pulling the plug was probably not > someone who should be bringing the system down. > > On Sat, Jun 30, 2018 at 10:17 PM, Greg 'groggy' Lehey > wrote: >> >> On Saturday, 30 June 2018 at 7:15:07 -0400, Norman Wilson wrote: >> > Ron Natalie: >> > >> > My favorite 3B2ism was that the power switch was soft (uncommon then, >> > not so >> > much now). I seem to recall that if the logged in user wasn't in a >> > particular group, pushing the power button was a no-op. You didn't >> > have >> > sufficient privs to operate the power. >> > >> > ==== >> > >> > Surely you mean the current user didn't have sufficent power. >> >> Or was experiencing too much resistance? >> >> Greg >> -- >> Sent from my desktop computer. >> Finger grog at lemis.com for PGP public key. >> See complete headers for address and phone numbers. >> This message is digitally signed. If your Microsoft mail program >> reports problems, please read http://lemis.com/broken-MUA > > From pnr at planet.nl Tue Jul 3 05:55:13 2018 From: pnr at planet.nl (Paul Ruizendaal) Date: Mon, 2 Jul 2018 21:55:13 +0200 Subject: [TUHS] Any Good dmr Anecdotes? Message-ID: Not quite a dmr anecdote, but maybe this list can clear up a statement that dmr reputedly made: “streams means something different when shouted”. I think the claim goes back to around the turn of the millennium and as far as I know it is not disputed that dmr either said this or could have said this. Now, from reading this list over the years my understanding of the above statement is that dmr designed streams as a mechanism to clean up the kernel handling of line disciplines in a context of access via a terminal and/or modem, and that STREAMS developed this into a way to integrate network stacks with the kernel — hence streams meant something different when shouted. The original dmr paper (1984) on streams (http://cm.bell-labs.co/who/dmr/st.html) seemed to support this understanding, focussing on terminal handling in its discussion. Also, near the end it says: "Streams are linear connections; by themselves, they support no notion of multiplexing, fan-in or fan-out. [...] It seems likely that a general multiplexing mechanism could help in both cases, but again, I do not yet know how to design it.” This seemed to exclude usage for networking, which is typically multiplexed. However, now that the V8 sources are available it is clear that the streams mechanism was used (by dmr?) to implement TCP/IP networking. He explains how that tallies with the above quote on multiplexing in a 1985 usenet post: https://groups.google.com/forum/#!topicsearchin/net.unix-wizards/subject$3Astreams/net.unix-wizards/b7W_j_0qASU (if the post by dmr does not immediately appear, click on the 8-10-85 post by 'd... at dutoit.uucp’ to make it fold out: this is the message I refer to). The way I read this usenet post, dmr was actually reasonably content with implementing a network stack on top of (lowercase) streams. This then implies that he was alluding to something else when saying “streams means something different when shouted” (or maybe he never said it). Any opinions on what he might have meant? From dave at horsfall.org Tue Jul 3 11:02:43 2018 From: dave at horsfall.org (Dave Horsfall) Date: Tue, 3 Jul 2018 11:02:43 +1000 (EST) Subject: [TUHS] ATT Hardware In-Reply-To: References: <1530357310.5184.for-standards-violators@oclsc.org> <20180701021724.GA99215@eureka.lemis.com> Message-ID: On Sun, 1 Jul 2018, John P. Linderman wrote: > Puns aside, anyone who didn't consider pulling the plug was probably not > someone who should be bringing the system down. Eggsactly, and you beat me to it: anyone not prepared to "pull the plug" on equipment should not be in charge of it. -- Dave VK2KFU, former Station Engineer of VK2WI From arnold at skeeve.com Tue Jul 3 17:27:15 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Tue, 03 Jul 2018 01:27:15 -0600 Subject: [TUHS] Any Good dmr Anecdotes? Message-ID: <201807030727.w637RG4V027887@freefriends.org> Hi All. Kudos to Warren for helping me track down the original USENET postings that make up a fun DMR story. In October of 1985, a guy from Teklabs posted a long rant against both Unix and the people at USENIX conferences. The original rant is available here (thanks Warren!): > https://www.tuhs.org/Usenet/comp.org.usenix/1985-October/000163.html > and in this text file: > https://www.tuhs.org/Usenet/comp.org.usenix/1985-October.txt.gz Dennis replied - the relevant part of what he was replying to is in his message available here: > https://www.tuhs.org/Usenet/comp.unix/1985-October/005952.html Here is the full text of Dennis's note: | Groupies | | dmr at dutoit.UUCP dmr at dutoit.UUCP | Wed Oct 9 15:30:04 AEST 1985 | |------------------------------------------------------------------------ | | tekadg!davidl writes, at considerable length and with widespread distribution: | | > ... Socially, Usenix is like a | > spherical glob, with a handful of original software authors at the center (the | > ones who wrote the original code, like the developers of Unix, C, etc. - the | > ones whose names are always being bandied about). Around these, there's a | > surrounding shell of what has been aptly called "Unix groupies" trying to | > associate themselves, both logically and physically, with the "illuminati" | > at the center. Typically, these loathsome little insects are system | > administrators and hackers who spend their time either on the net or | > endlessly rewriting UUCP or NROFF or, or, or... And, I'm told, there are | > even some real, honest-to-goodness groupies (of the rock-star variety) who | > spend their time trying get near the "inner circle" for - never mind... | > it's believable, though - it's certainly consistent with the demeanor of | > the rest of the proceedings. | | Usenix conventions, which are undeniably and appropriately narrow-minded | and introverted, sport more than a few bores, but are notable for absence | of loathsome insects. Even the irascible Rob Pike remarked after Portland, | "Goodness, there were very few loathesome insects there." | | They are also marked by a lack of honest-to-goodness rock-star-variety | groupies. Believe me on this. The free cocaine was nowhere in evidence, | I consumed no cigar-sized hash bombers, the insistent, complaisant | lovelies were elsewhere by the time I got back from dinner. Indeed, the | plaster of Paris I had obtained in case anyone wanted a cast of my genitals | went entirely unused. | | Still, I understand the party that AT&T threw in Washington | was pretty wild. Too bad I missed it. | | DMR All this was in October 1985. At the Atlanta USENIX in the summer of 1986, there was some kind of contest (I don't remember what) and they announced (undoubtedly as a joke) that one of the prizes was "a plaster cast of Dennis Ritchie's genitals." It got a good laugh. Arnold From perry at piermont.com Wed Jul 4 03:34:53 2018 From: perry at piermont.com (Perry E. Metzger) Date: Tue, 3 Jul 2018 13:34:53 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> Message-ID: <20180703133453.1684158e@jabberwock.cb.piermont.com> Incredibly lame anecdote follows: Decades ago, I buttonholed dmr at a Usenix ATC and asked him a bunch of questions about early Unix kernels. I can't remember any of the specifics any longer (which is a shame in itself), but I do remember that instead of shooing me away, he was insanely polite and kind even though he didn't know me and had no reason to be so nice. Afterwards someone (I think it may have been Tom Christiansen) pointed out to me that I'd taken up far too much of his time, and said something to the effect that one had to be careful not to take excess advantage of his kindness. Perry -- Perry E. Metzger perry at piermont.com From cym224 at gmail.com Fri Jul 6 10:41:02 2018 From: cym224 at gmail.com (Nemo Nusquam) Date: Thu, 5 Jul 2018 20:41:02 -0400 Subject: [TUHS] Happy birthday, Maurice Wilkes! In-Reply-To: References: Message-ID: <93a29bb5-9381-1431-21cf-6c86a019dccc@gmail.com> On 06/25/18 22:00, Dave Horsfall wrote: > As I continue to push the boundaries of subjective topicism, I'd like to > mention that today was when Sir Maurice Wilkes FRS FReng was born way > back in 1913. And I really wish that MIT Press would reprint his Memoirs. N. > > He had a bit to do with EDSAC, microprogramming, and that sort of thing. > > And dmmmit, I missed Alan Turing's birthday last Saturday (23rd June, > 1912), > and Komrad Zuse's back in 22nd June, 1910, along with the Qwerty keyboard > being patented by one Christopher Sholes back in 1868 (long story). > > -- Dave From random832 at fastmail.com Tue Jul 10 02:30:39 2018 From: random832 at fastmail.com (Random832) Date: Mon, 09 Jul 2018 12:30:39 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> Message-ID: <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> On Sun, Jul 1, 2018, at 07:34, ron at ronnatalie.com wrote: > The bigger issue with the early printf is it just called putchar and > putchar only output to stdout or what ever the global fout variable was > set to. > There was a comment in the manual that the fout concept was kludgy. V6 'iolib' printf has an interesting approach to fixing this: If the first argument was 0 through 9, it was taken to be a file descriptor, and the second argument was the format string. If it was -1, the second argument was the output string (as for later sprintf), and the third was the format string. Otherwise, the first argument was the format string. (I'm curious as to how much "iolib" was actually used, since it doesn't appear to have been included by default - there was a different printf routine in libc) From clemc at ccc.com Tue Jul 10 03:13:09 2018 From: clemc at ccc.com (Clem Cole) Date: Mon, 9 Jul 2018 13:13:09 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> Message-ID: With V5/V6 C I/O was a lot like what Larry was describing for getopts(3) it was all over over the map. There was the portable I/O library which I sort of think of as the prequel to studio but I don’t remember uSing it much. I must have run into most of the different ways people did I/O in some program(s) but I don’t remember any one off hand. I think the thing to remember is that at the time system programming languages such as C and Bliss were noted for not having I/O built into the language- it was supported externally. DEC (CMU) with Bliss had rich set of libraries (often in assembler already available) and force/matched by them with their users. Unix and C grew up independently which I think is part of why it was a tad more random. BY the time dmr adds stdio, it was still early enough in the life to displace the randomness for something as important as I/O, whereas lack of use of something.like getopt would not become clearly deficient until after widespread success. On Mon, Jul 9, 2018 at 12:37 PM Random832 wrote: > On Sun, Jul 1, 2018, at 07:34, ron at ronnatalie.com wrote: > > The bigger issue with the early printf is it just called putchar and > > putchar only output to stdout or what ever the global fout variable was > > set to. > > There was a comment in the manual that the fout concept was kludgy. > > V6 'iolib' printf has an interesting approach to fixing this: > > If the first argument was 0 through 9, it was taken to be a file > descriptor, and the second argument was the format string. If it was -1, > the second argument was the output string (as for later sprintf), and the > third was the format string. Otherwise, the first argument was the format > string. > > (I'm curious as to how much "iolib" was actually used, since it doesn't > appear to have been included by default - there was a different printf > routine in libc) > -- Sent from a handheld expect more typos than usual -------------- next part -------------- An HTML attachment was scrubbed... URL: From arnold at skeeve.com Tue Jul 10 15:54:00 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Mon, 09 Jul 2018 23:54:00 -0600 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> Message-ID: <201807100554.w6A5s0VM005631@freefriends.org> Clem Cole wrote: > BY the time dmr adds stdio, it was > still early enough in the life to displace the randomness for something as > important as I/O, whereas lack of use of something.like getopt would not > become clearly deficient until after widespread success. I think "widespread access" is more like it for getopt. Getopt dates to 1980; it was in System III (I just checked). That's only about two years after V7 which was circa 1978. Here are the dates: -rw-rw-r-- 1 arnold arnold 1073 Apr 11 1980 usr/src/lib/libc/pdp11/gen/getopt.c -rw-rw-r-- 1 arnold arnold 2273 May 16 1980 usr/src/man/man3/getopt.3c But the world outside the Bell System didn't have System III. Getopt didn't become "popular" until System V or so, and became much easier to adopt once Henry Spencer published his public domain rewrite of the code and man page. Just a nit, (:-) Arnold From ggm at algebras.org Tue Jul 10 16:09:34 2018 From: ggm at algebras.org (George Michaelson) Date: Tue, 10 Jul 2018 16:09:34 +1000 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <201807100554.w6A5s0VM005631@freefriends.org> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> Message-ID: ... and then somebody GNUified it. I seem to recall three huge flamewars in UUCP days: RFS vs NFS, STREAMS (the original) vs sockets, and getopt --no -noo --nooo=please --dont-make-me=do-that On Tue, Jul 10, 2018 at 3:54 PM, wrote: > Clem Cole wrote: > >> BY the time dmr adds stdio, it was >> still early enough in the life to displace the randomness for something as >> important as I/O, whereas lack of use of something.like getopt would not >> become clearly deficient until after widespread success. > > I think "widespread access" is more like it for getopt. Getopt dates > to 1980; it was in System III (I just checked). That's only about two years > after V7 which was circa 1978. > > Here are the dates: > > -rw-rw-r-- 1 arnold arnold 1073 Apr 11 1980 usr/src/lib/libc/pdp11/gen/getopt.c > -rw-rw-r-- 1 arnold arnold 2273 May 16 1980 usr/src/man/man3/getopt.3c > > But the world outside the Bell System didn't have System III. Getopt > didn't become "popular" until System V or so, and became much easier to > adopt once Henry Spencer published his public domain rewrite of the code > and man page. > > Just a nit, (:-) > > Arnold From arnold at skeeve.com Tue Jul 10 17:19:59 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Tue, 10 Jul 2018 01:19:59 -0600 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> Message-ID: <201807100719.w6A7Jx9V014856@freefriends.org> RFS vs. NFS and sockets vs. STREAMS were much more serious; they were about the directions Unix would take going forward, where interoperability (RFS/NFS) and code portability (sockets/STREAMS) were big either/or issues. Had AT&T been smarter about its licensing, both RFS and STREAMS might have "won", but they weren't, and those technologies have all but disappeared. GNU getopt can be used in a source-compatible way with POSIX getopt; having long options is up to the programmer. I agree, there were aesthetic arguments, altough long options have mostly "won". I'm about as long-time a Unix aficianado as anyone else here, and for many things I find long options easier to remember than short ones. (To their credit, at least initially, the GNU project asked its developers to use the same long options in all programs for operations that were the same.) Arnold George Michaelson wrote: > ... and then somebody GNUified it. I seem to recall three huge > flamewars in UUCP days: RFS vs NFS, STREAMS (the original) vs sockets, > and getopt > > --no -noo --nooo=please --dont-make-me=do-that > > On Tue, Jul 10, 2018 at 3:54 PM, wrote: > > Clem Cole wrote: > > > >> BY the time dmr adds stdio, it was > >> still early enough in the life to displace the randomness for something as > >> important as I/O, whereas lack of use of something.like getopt would not > >> become clearly deficient until after widespread success. > > > > I think "widespread access" is more like it for getopt. Getopt dates > > to 1980; it was in System III (I just checked). That's only about two years > > after V7 which was circa 1978. > > > > Here are the dates: > > > > -rw-rw-r-- 1 arnold arnold 1073 Apr 11 1980 usr/src/lib/libc/pdp11/gen/getopt.c > > -rw-rw-r-- 1 arnold arnold 2273 May 16 1980 usr/src/man/man3/getopt.3c > > > > But the world outside the Bell System didn't have System III. Getopt > > didn't become "popular" until System V or so, and became much easier to > > adopt once Henry Spencer published his public domain rewrite of the code > > and man page. > > > > Just a nit, (:-) > > > > Arnold From clemc at ccc.com Wed Jul 11 00:10:17 2018 From: clemc at ccc.com (Clem Cole) Date: Tue, 10 Jul 2018 10:10:17 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <201807100554.w6A5s0VM005631@freefriends.org> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> Message-ID: Right (and I agree) -- widespread usage/really being noticed. And that was because it came in the Summit releases not the Research/UCB stream, which did not help either. ᐧ On Tue, Jul 10, 2018 at 1:54 AM, wrote: > Clem Cole wrote: > > > BY the time dmr adds stdio, it was > > still early enough in the life to displace the randomness for something > as > > important as I/O, whereas lack of use of something.like getopt would not > > become clearly deficient until after widespread success. > > I think "widespread access" is more like it for getopt. Getopt dates > to 1980; it was in System III (I just checked). That's only about two years > after V7 which was circa 1978. > > Here are the dates: > > -rw-rw-r-- 1 arnold arnold 1073 Apr 11 1980 usr/src/lib/libc/pdp11/gen/ > getopt.c > -rw-rw-r-- 1 arnold arnold 2273 May 16 1980 usr/src/man/man3/getopt.3c > > But the world outside the Bell System didn't have System III. Getopt > didn't become "popular" until System V or so, and became much easier to > adopt once Henry Spencer published his public domain rewrite of the code > and man page. > > Just a nit, (:-) > > Arnold > -------------- next part -------------- An HTML attachment was scrubbed... URL: From noel.hunt at gmail.com Wed Jul 11 10:20:50 2018 From: noel.hunt at gmail.com (Noel Hunt) Date: Wed, 11 Jul 2018 10:20:50 +1000 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <201807100719.w6A7Jx9V014856@freefriends.org> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> Message-ID: I'm surprised why anyone would bother with these routines anymore, given the startling simplicity of Plan9's arg(3). One stands in awe of such simplicity. I believe it was William Cheswick who designed it, but I may be wrong. On Tue, Jul 10, 2018 at 5:25 PM wrote: > RFS vs. NFS and sockets vs. STREAMS were much more serious; they were > about the directions Unix would take going forward, where interoperability > (RFS/NFS) and code portability (sockets/STREAMS) were big either/or issues. > > Had AT&T been smarter about its licensing, both RFS and STREAMS might > have "won", but they weren't, and those technologies have all but > disappeared. > > GNU getopt can be used in a source-compatible way with POSIX getopt; > having long options is up to the programmer. I agree, there were > aesthetic arguments, altough long options have mostly "won". I'm about > as long-time a Unix aficianado as anyone else here, and for many things > I find long options easier to remember than short ones. > > (To their credit, at least initially, the GNU project asked its developers > to use the same long options in all programs for operations that were > the same.) > > Arnold > > > George Michaelson wrote: > > > ... and then somebody GNUified it. I seem to recall three huge > > flamewars in UUCP days: RFS vs NFS, STREAMS (the original) vs sockets, > > and getopt > > > > --no -noo --nooo=please --dont-make-me=do-that > > > > On Tue, Jul 10, 2018 at 3:54 PM, wrote: > > > Clem Cole wrote: > > > > > >> BY the time dmr adds stdio, it was > > >> still early enough in the life to displace the randomness for > something as > > >> important as I/O, whereas lack of use of something.like getopt would > not > > >> become clearly deficient until after widespread success. > > > > > > I think "widespread access" is more like it for getopt. Getopt dates > > > to 1980; it was in System III (I just checked). That's only about two > years > > > after V7 which was circa 1978. > > > > > > Here are the dates: > > > > > > -rw-rw-r-- 1 arnold arnold 1073 Apr 11 1980 > usr/src/lib/libc/pdp11/gen/getopt.c > > > -rw-rw-r-- 1 arnold arnold 2273 May 16 1980 usr/src/man/man3/getopt.3c > > > > > > But the world outside the Bell System didn't have System III. Getopt > > > didn't become "popular" until System V or so, and became much easier to > > > adopt once Henry Spencer published his public domain rewrite of the > code > > > and man page. > > > > > > Just a nit, (:-) > > > > > > Arnold > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lm at mcvoy.com Wed Jul 11 11:31:27 2018 From: lm at mcvoy.com (Larry McVoy) Date: Tue, 10 Jul 2018 18:31:27 -0700 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> Message-ID: <20180711013127.GC2012@mcvoy.com> On Wed, Jul 11, 2018 at 10:20:50AM +1000, Noel Hunt wrote: > I'm surprised why anyone would bother with these routines > anymore, given the startling simplicity of Plan9's arg(3). > One stands in awe of such simplicity. I believe it was > William Cheswick who designed it, but I may be wrong. It's nice but I like long opts. The getopt in BK (and now in L) looks like this and produces its own help (which does miss the short opts, my bad, I could fix that). Look at the default in the switch: int main(int ac, string av[]) { string c; string lopts[] = { "bigy:", "date-split", "exif", "exif-hover", "force", "index:", "names", "nav", "parallel:", "quiet", "regen", "reverse", "sharpen", "slide:", "thumbnails", "title:", "ysize:", }; while (c = getopt(av, "fj:", lopts)) { switch (c) { case "bigy": bigy = (int)optarg; break; case "date-split": dates = 1; break; case "exif": exif = 1; break; case "exif-hover": exif_hover = 1; break; case "f": case "force": case "regen": force = 1; break; case "index": indexf = optarg; break; case "j": case "parallel": parallel = (int)optarg; break; case "quiet": quiet = 1; break; case "names": names = 1; break; case "nav": nav = 1; break; case "reverse": reverse = 1; break; case "sharpen": sharpen = 1; break; case "slide": slidef = optarg; break; case "title": title = optarg; break; case "thumbnails": thumbnails = 1; break; case "ysize": ysize = (int)optarg; break; default: printf("Usage: photos.l"); foreach(c in lopts) { if (c =~ /(.*):/) { printf(" --%s=", $1); } else { printf(" --%s", c); } } printf("\n"); return(0); } } From ggm at algebras.org Wed Jul 11 11:37:06 2018 From: ggm at algebras.org (George Michaelson) Date: Wed, 11 Jul 2018 11:37:06 +1000 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <20180711013127.GC2012@mcvoy.com> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> <20180711013127.GC2012@mcvoy.com> Message-ID: De gustibus non est disputandum. De unibus non est synchronus and um. From rminnich at gmail.com Wed Jul 11 11:37:23 2018 From: rminnich at gmail.com (ron minnich) Date: Tue, 10 Jul 2018 18:37:23 -0700 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <20180711013127.GC2012@mcvoy.com> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> <20180711013127.GC2012@mcvoy.com> Message-ID: this is a DMR anecdote? On Tue, Jul 10, 2018 at 6:32 PM Larry McVoy wrote: > On Wed, Jul 11, 2018 at 10:20:50AM +1000, Noel Hunt wrote: > > I'm surprised why anyone would bother with these routines > > anymore, given the startling simplicity of Plan9's arg(3). > > One stands in awe of such simplicity. I believe it was > > William Cheswick who designed it, but I may be wrong. > > It's nice but I like long opts. The getopt in BK (and now in L) > looks like this and produces its own help (which does miss the > short opts, my bad, I could fix that). Look at the default in > the switch: > > int > main(int ac, string av[]) > { > string c; > string lopts[] = { > "bigy:", > "date-split", > "exif", > "exif-hover", > "force", > "index:", > "names", > "nav", > "parallel:", > "quiet", > "regen", > "reverse", > "sharpen", > "slide:", > "thumbnails", > "title:", > "ysize:", > }; > > while (c = getopt(av, "fj:", lopts)) { > switch (c) { > case "bigy": bigy = (int)optarg; break; > case "date-split": dates = 1; break; > case "exif": exif = 1; break; > case "exif-hover": exif_hover = 1; break; > case "f": > case "force": > case "regen": > force = 1; break; > case "index": indexf = optarg; break; > case "j": > case "parallel": parallel = (int)optarg; break; > case "quiet": quiet = 1; break; > case "names": names = 1; break; > case "nav": nav = 1; break; > case "reverse": reverse = 1; break; > case "sharpen": sharpen = 1; break; > case "slide": slidef = optarg; break; > case "title": title = optarg; break; > case "thumbnails": thumbnails = 1; break; > case "ysize": ysize = (int)optarg; break; > default: > printf("Usage: photos.l"); > foreach(c in lopts) { > if (c =~ /(.*):/) { > printf(" --%s=", $1); > } else { > printf(" --%s", c); > } > } > printf("\n"); > return(0); > } > } > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lm at mcvoy.com Wed Jul 11 13:12:06 2018 From: lm at mcvoy.com (Larry McVoy) Date: Tue, 10 Jul 2018 20:12:06 -0700 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> <20180711013127.GC2012@mcvoy.com> Message-ID: <20180711031206.GG2012@mcvoy.com> Nope, it went sideways. But some of the most fun information I've gotten here went sideways. But if I offend I do beg your forgiveness. On Tue, Jul 10, 2018 at 06:37:23PM -0700, ron minnich wrote: > this is a DMR anecdote? > > On Tue, Jul 10, 2018 at 6:32 PM Larry McVoy wrote: > > > On Wed, Jul 11, 2018 at 10:20:50AM +1000, Noel Hunt wrote: > > > I'm surprised why anyone would bother with these routines > > > anymore, given the startling simplicity of Plan9's arg(3). > > > One stands in awe of such simplicity. I believe it was > > > William Cheswick who designed it, but I may be wrong. > > > > It's nice but I like long opts. The getopt in BK (and now in L) > > looks like this and produces its own help (which does miss the > > short opts, my bad, I could fix that). Look at the default in > > the switch: > > > > int > > main(int ac, string av[]) > > { > > string c; > > string lopts[] = { > > "bigy:", > > "date-split", > > "exif", > > "exif-hover", > > "force", > > "index:", > > "names", > > "nav", > > "parallel:", > > "quiet", > > "regen", > > "reverse", > > "sharpen", > > "slide:", > > "thumbnails", > > "title:", > > "ysize:", > > }; > > > > while (c = getopt(av, "fj:", lopts)) { > > switch (c) { > > case "bigy": bigy = (int)optarg; break; > > case "date-split": dates = 1; break; > > case "exif": exif = 1; break; > > case "exif-hover": exif_hover = 1; break; > > case "f": > > case "force": > > case "regen": > > force = 1; break; > > case "index": indexf = optarg; break; > > case "j": > > case "parallel": parallel = (int)optarg; break; > > case "quiet": quiet = 1; break; > > case "names": names = 1; break; > > case "nav": nav = 1; break; > > case "reverse": reverse = 1; break; > > case "sharpen": sharpen = 1; break; > > case "slide": slidef = optarg; break; > > case "title": title = optarg; break; > > case "thumbnails": thumbnails = 1; break; > > case "ysize": ysize = (int)optarg; break; > > default: > > printf("Usage: photos.l"); > > foreach(c in lopts) { > > if (c =~ /(.*):/) { > > printf(" --%s=", $1); > > } else { > > printf(" --%s", c); > > } > > } > > printf("\n"); > > return(0); > > } > > } > > -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm From bakul at bitblocks.com Wed Jul 11 13:34:58 2018 From: bakul at bitblocks.com (Bakul Shah) Date: Tue, 10 Jul 2018 20:34:58 -0700 Subject: [TUHS] getopt (was Re: Any Good dmr Anecdotes? In-Reply-To: Your message of "Tue, 10 Jul 2018 18:31:27 -0700." <20180711013127.GC2012@mcvoy.com> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> <20180711013127.GC2012@mcvoy.com> Message-ID: <20180711033505.339B4156E400@mail.bitblocks.com> On Tue, 10 Jul 2018 18:31:27 -0700 Larry McVoy wrote: Larry McVoy writes: > On Wed, Jul 11, 2018 at 10:20:50AM +1000, Noel Hunt wrote: > > I'm surprised why anyone would bother with these routines > > anymore, given the startling simplicity of Plan9's arg(3). > > One stands in awe of such simplicity. I believe it was > > William Cheswick who designed it, but I may be wrong. plan9 arg macros are indeed very nice. > It's nice but I like long opts. The getopt in BK (and now in L) > looks like this and produces its own help (which does miss the > short opts, my bad, I could fix that). Look at the default in > the switch: > > string c; > string lopts[] = { > "bigy:", > "date-split", ... > "title:", > "ysize:", > }; > > while (c = getopt(av, "fj:", lopts)) { > switch (c) { > case "bigy": bigy = (int)optarg; break; > case "date-split": dates = 1; break; ... > case "title": title = optarg; break; > case "thumbnails": thumbnails = 1; break; > case "ysize": ysize = (int)optarg; break; > default: > printf("Usage: photos.l"); [You can also do a switch on string in Go.] Having to write the same strings twice is a pain. May be even three times, if you add usage()! I don't much like long options as they tend to proliferate. -- Your typical engineer doesn't like to make hard choices so indecisions turn into options! If there have to be long options, I want to be able to abbreviate them and I want word completion and context sensitive help as invariably long options end up having complex semantics. From ches at cheswick.com Fri Jul 13 19:08:15 2018 From: ches at cheswick.com (ches@Cheswick.com) Date: Fri, 13 Jul 2018 06:38:15 -0230 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> Message-ID: <2DB739F2-9770-4529-B649-4E45D0B99F67@cheswick.com> I am a fan of these routines, and use the regularly, but I didn’t write them. Message by ches. Tappos by iPad. > On Jul 10, 2018, at 9:50 PM, Noel Hunt wrote: > > I'm surprised why anyone would bother with these routines > anymore, given the startling simplicity of Plan9's arg(3). > One stands in awe of such simplicity. I believe it was > William Cheswick who designed it, but I may be wrong. > > >> On Tue, Jul 10, 2018 at 5:25 PM wrote: >> RFS vs. NFS and sockets vs. STREAMS were much more serious; they were >> about the directions Unix would take going forward, where interoperability >> (RFS/NFS) and code portability (sockets/STREAMS) were big either/or issues. >> >> Had AT&T been smarter about its licensing, both RFS and STREAMS might >> have "won", but they weren't, and those technologies have all but >> disappeared. >> >> GNU getopt can be used in a source-compatible way with POSIX getopt; >> having long options is up to the programmer. I agree, there were >> aesthetic arguments, altough long options have mostly "won". I'm about >> as long-time a Unix aficianado as anyone else here, and for many things >> I find long options easier to remember than short ones. >> >> (To their credit, at least initially, the GNU project asked its developers >> to use the same long options in all programs for operations that were >> the same.) >> >> Arnold >> >> >> George Michaelson wrote: >> >> > ... and then somebody GNUified it. I seem to recall three huge >> > flamewars in UUCP days: RFS vs NFS, STREAMS (the original) vs sockets, >> > and getopt >> > >> > --no -noo --nooo=please --dont-make-me=do-that >> > >> > On Tue, Jul 10, 2018 at 3:54 PM, wrote: >> > > Clem Cole wrote: >> > > >> > >> BY the time dmr adds stdio, it was >> > >> still early enough in the life to displace the randomness for something as >> > >> important as I/O, whereas lack of use of something.like getopt would not >> > >> become clearly deficient until after widespread success. >> > > >> > > I think "widespread access" is more like it for getopt. Getopt dates >> > > to 1980; it was in System III (I just checked). That's only about two years >> > > after V7 which was circa 1978. >> > > >> > > Here are the dates: >> > > >> > > -rw-rw-r-- 1 arnold arnold 1073 Apr 11 1980 usr/src/lib/libc/pdp11/gen/getopt.c >> > > -rw-rw-r-- 1 arnold arnold 2273 May 16 1980 usr/src/man/man3/getopt.3c >> > > >> > > But the world outside the Bell System didn't have System III. Getopt >> > > didn't become "popular" until System V or so, and became much easier to >> > > adopt once Henry Spencer published his public domain rewrite of the code >> > > and man page. >> > > >> > > Just a nit, (:-) >> > > >> > > Arnold -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron at ronnatalie.com Sat Jul 14 00:10:26 2018 From: ron at ronnatalie.com (ron at ronnatalie.com) Date: Fri, 13 Jul 2018 10:10:26 -0400 Subject: [TUHS] Any Good dmr Anecdotes? In-Reply-To: <2DB739F2-9770-4529-B649-4E45D0B99F67@cheswick.com> References: <3386fb80b5282f7bca0ccf34252182c2398232c1@webmail.yaccman.com> <5D272962-0063-4D28-B551-F381D3D10239@alchemistowl.org> <009101d4112f$8bb30f50$a3192df0$@ronnatalie.com> <1531153839.3991054.1434840984.210C4B3F@webmail.messagingengine.com> <201807100554.w6A5s0VM005631@freefriends.org> <201807100719.w6A7Jx9V014856@freefriends.org> <2DB739F2-9770-4529-B649-4E45D0B99F67@cheswick.com> Message-ID: <006401d41ab3$3ff00630$bfd01290$@ronnatalie.com> Years ago I remember someone suggesting that freeware be renamed “Fluegelware” after Andrew Fluegelman, a pioneer in the concept who had recently died. I suggested we rename the C compiler “Ritchie” and the I got a “Let’s nip this in the bud” email back from Dennis in short order. -------------- next part -------------- An HTML attachment was scrubbed... URL: From wkt at tuhs.org Mon Jul 16 12:52:25 2018 From: wkt at tuhs.org (Warren Toomey) Date: Mon, 16 Jul 2018 12:52:25 +1000 Subject: [TUHS] Bell System Technical Journal archive Message-ID: <20180716025225.GA7573@minnie.tuhs.org> https://archive.org/details/bstj-archives (just saw this). Also: https://www.youtube.com/watch?v=NTfOnGZUZDk Where GREP Came From - Computerphile (with Brian Kernighan) Cheers, Warren From cym224 at gmail.com Tue Jul 17 22:33:37 2018 From: cym224 at gmail.com (Nemo) Date: Tue, 17 Jul 2018 08:33:37 -0400 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] Message-ID: On 15/07/2018, Warren Toomey wrote (in part): > Also: > https://www.youtube.com/watch?v=NTfOnGZUZDk > > Where GREP Came From - Computerphile (with Brian Kernighan) I was intrigued by BMK's comment that "ed" was never spokend as "ed" by "those in the know", which leads me to wonder how things were spoken. Here is a litte list of how I pronounce things [with others' versions in brackets]. Others will no doubt be aghast. ls - "list" sometimes "l s"; rm - "remove"; chmod - "change mode" [but I have heard "ch-mode"] ar - "archive" [others have said "arrr"] N. From arnold at skeeve.com Tue Jul 17 23:20:23 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Tue, 17 Jul 2018 07:20:23 -0600 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] In-Reply-To: References: Message-ID: <201807171320.w6HDKNTR023268@freefriends.org> Nemo wrote: > I was intrigued by BMK's comment that "ed" was never spokend as "ed" > by "those in the know", which leads me to wonder how things were > spoken. I always spelled out the two-letter commands: e-d, a-r, l-s, r-m, c-p. chmod I pronounced as ch-mod (not mode), but 'rmdir' was 'remove dir' and for some reason, mv was move. (I think the doc for vi officially stated that the proram's name was to be pronounced v-i and not 'vie'.) Undoubtedly there were many regional differences... :-) Arnold From ron at ronnatalie.com Wed Jul 18 10:56:25 2018 From: ron at ronnatalie.com (Ron Natalie) Date: Tue, 17 Jul 2018 19:56:25 -0500 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] In-Reply-To: <201807171320.w6HDKNTR023268@freefriends.org> References: <201807171320.w6HDKNTR023268@freefriends.org> Message-ID: There was a quote going around where when asked if he would do anything differently, he said he’d put an e on the end of creat. I guess he was tire of people calling it Cree-at. Sent from my iPhone > On Jul 17, 2018, at 8:20 AM, arnold at skeeve.com wrote: > > Nemo wrote: > >> I was intrigued by BMK's comment that "ed" was never spokend as "ed" >> by "those in the know", which leads me to wonder how things were >> spoken. > > I always spelled out the two-letter commands: e-d, a-r, l-s, r-m, c-p. > chmod I pronounced as ch-mod (not mode), but 'rmdir' was 'remove dir' > and for some reason, mv was move. (I think the doc for vi officially > stated that the proram's name was to be pronounced v-i and not 'vie'.) > > Undoubtedly there were many regional differences... :-) > > Arnold From arnold at skeeve.com Wed Jul 18 13:54:02 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Tue, 17 Jul 2018 21:54:02 -0600 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] In-Reply-To: References: <201807171320.w6HDKNTR023268@freefriends.org> Message-ID: <201807180354.w6I3s2Bl001828@freefriends.org> That was Ken Thompson who said that. And indeed, in Plan 9 it's called "create". Arnold Ron Natalie wrote: > There was a quote going around where when asked if he would do anything differently, he said he’d put an e on the end of creat. I guess he was tire of people calling it Cree-at. > > Sent from my iPhone > > > On Jul 17, 2018, at 8:20 AM, arnold at skeeve.com wrote: > > > > Nemo wrote: > > > >> I was intrigued by BMK's comment that "ed" was never spokend as "ed" > >> by "those in the know", which leads me to wonder how things were > >> spoken. > > > > I always spelled out the two-letter commands: e-d, a-r, l-s, r-m, c-p. > > chmod I pronounced as ch-mod (not mode), but 'rmdir' was 'remove dir' > > and for some reason, mv was move. (I think the doc for vi officially > > stated that the proram's name was to be pronounced v-i and not 'vie'.) > > > > Undoubtedly there were many regional differences... :-) > > > > Arnold > From hjt at ATComputing.nl Wed Jul 18 19:42:19 2018 From: hjt at ATComputing.nl (Hendrik Jan Thomassen) Date: Wed, 18 Jul 2018 11:42:19 +0200 Subject: [TUHS] Any Good dmr Anecdotes? Message-ID: <20180718094219.GA16388@vcursdoc.atcomputing.nl> Several decades ago, Jim Joyce of San Francisco was one of the more colorful chaps in the UNIX scene. Among other ventures he had "The Independent UNIX Bookstore", and during Usenix conferences he would rent a nearby hotel suite to sell his books to the conference attendants. Jim once told me the following story (yes, the topic is about dmr anecdotes). One day a young man came to the hotel suite and asked, in a somewhat exaggerated voice, "the best book to learn C programming". Jim pointed at a gentleman in a nearby armchair, reading, and said: "ask that gentleman because he knows everything there is to know about C". So the young man approached said gentleman, and repeated his question. The answer he got was: "Sorry, I can't help you, because I never had to learn C". Which left the young man flabbergasted. -- Hendrik-Jan Thomassen AT Computing Linux opleiders & consultants Kerkenbos 1238 Tel +31 24 352 72 82 6546 BE Nijmegen www.atcomputing.nl 'If you think education is expensive, try ignorance.' From doug at cs.dartmouth.edu Wed Jul 18 21:39:57 2018 From: doug at cs.dartmouth.edu (Doug McIlroy) Date: Wed, 18 Jul 2018 07:39:57 -0400 Subject: [TUHS] TUHS Digest, Vol 32, Issue 12 In-Reply-To: References: Message-ID: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> Arnold was clerly on the Unix Room wavelength. ^All those two-letter commands were spelled out in conversation, even m-v. The pronunciation of rmdir was hybrid: r-m-dir. But when one talked about an action--not a command per se--verbs would be used: move or copy a file, list a directory. The famous exception is grep, which became a verb. There was no snappy ready-made verb that covered all the aspects of its use: search for mentions in one file, find files that mention, look for patterns, filter data, check for malformed data, ... The verb had two idiomatic variants, "grep for" and "grep out". Doug From jpl.jpl at gmail.com Wed Jul 18 23:47:44 2018 From: jpl.jpl at gmail.com (John P. Linderman) Date: Wed, 18 Jul 2018 09:47:44 -0400 Subject: [TUHS] TUHS Digest, Vol 32, Issue 12 In-Reply-To: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> Message-ID: "Grep" as a verb expanded beyond files. I recall a friend saying they were "grepping for their keys on the dresser". On Wed, Jul 18, 2018 at 7:39 AM, Doug McIlroy wrote: > Arnold was clerly on the Unix Room wavelength. ^All those two-letter > commands were spelled out in conversation, even m-v. The pronunciation > of rmdir was hybrid: r-m-dir. But when one talked about an action--not > a command per se--verbs would be used: move or copy a file, list > a directory. The famous exception is grep, which became a verb. There > was no snappy ready-made verb that covered all the aspects of its use: > search for mentions in one file, find files that mention, look for > patterns, filter data, check for malformed data, ... The verb had > two idiomatic variants, "grep for" and "grep out". > > Doug > -------------- next part -------------- An HTML attachment was scrubbed... URL: From arnold at skeeve.com Thu Jul 19 00:41:21 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Wed, 18 Jul 2018 08:41:21 -0600 Subject: [TUHS] TUHS Digest, Vol 32, Issue 12 In-Reply-To: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> Message-ID: <201807181441.w6IEfL5a013524@freefriends.org> Doug McIlroy wrote: > Arnold was clerly on the Unix Room wavelength. One of the nicest compliments I ever got. :-) Thanks, Arnold From ches at cheswick.com Thu Jul 19 02:13:08 2018 From: ches at cheswick.com (William Cheswick) Date: Wed, 18 Jul 2018 12:13:08 -0400 Subject: [TUHS] grep In-Reply-To: References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> Message-ID: Marion Harris gave a talk at 1985 Portland (Fireworks and Salmon) Usenix about the unapologetic use of such verbs. Grep uses the “gr” as in grasp, grope, grab, etc, similar to the “sl” in slither, slider, sleek, etc. She gave a linguistic term for such things, and I remember a word like “sythesim”, but that’s not it. ches From khm at sciops.net Thu Jul 19 02:25:14 2018 From: khm at sciops.net (Kurt H Maier) Date: Wed, 18 Jul 2018 09:25:14 -0700 Subject: [TUHS] grep In-Reply-To: References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> Message-ID: <20180718162514.GA67682@wopr> On Wed, Jul 18, 2018 at 12:13:08PM -0400, William Cheswick wrote: > Marion Harris gave a talk at 1985 Portland (Fireworks and Salmon) > Usenix about the unapologetic use of such verbs. > Grep uses the “gr” as in grasp, grope, grab, etc, similar to the > “sl” in slither, slider, sleek, etc. She gave a linguistic term > for such things, and I remember a word like “sythesim”, but that’s > not it. > > ches > I think it's probably "phonestheme" as defined by Firth in "The Tongues of Men & Speech." khm From ggm at algebras.org Thu Jul 19 03:13:52 2018 From: ggm at algebras.org (George Michaelson) Date: Wed, 18 Jul 2018 13:13:52 -0400 Subject: [TUHS] grep In-Reply-To: <20180718162514.GA67682@wopr> References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> <20180718162514.GA67682@wopr> Message-ID: I was always told g/re/p as in g(lobally) apply r(egular) e(xpression) and p(rint) was a backronym which reflected the regex commonalities of sed/awk/grep/ed/ex/vi (ok, the latter two of course eggregiously offend because its Bill Joy exoticism, but I think by now we can accept some of the pauline epistles have later authors and are still held to be useful... I like the linguistic moment here. AWKward language? No. Not at all. sqwawk came to mind. and roff, as a simpler runoff, also seems to find how people take english and mogrify it to make new things. -G On Wed, Jul 18, 2018 at 12:25 PM, Kurt H Maier wrote: > On Wed, Jul 18, 2018 at 12:13:08PM -0400, William Cheswick wrote: >> Marion Harris gave a talk at 1985 Portland (Fireworks and Salmon) >> Usenix about the unapologetic use of such verbs. >> Grep uses the “gr” as in grasp, grope, grab, etc, similar to the >> “sl” in slither, slider, sleek, etc. She gave a linguistic term >> for such things, and I remember a word like “sythesim”, but that’s >> not it. >> >> ches >> > > I think it's probably "phonestheme" as defined by Firth in "The > Tongues of Men & Speech." > > khm > From bakul at bitblocks.com Thu Jul 19 03:35:56 2018 From: bakul at bitblocks.com (Bakul Shah) Date: Wed, 18 Jul 2018 10:35:56 -0700 Subject: [TUHS] grep In-Reply-To: Your message of "Wed, 18 Jul 2018 13:13:52 -0400." References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> <20180718162514.GA67682@wopr> Message-ID: <20180718173603.CBD53156E408@mail.bitblocks.com> On Wed, 18 Jul 2018 13:13:52 -0400 George Michaelson wrote: George Michaelson writes: > I was always told g/re/p as in g(lobally) apply r(egular) e(xpression) > and p(rint) was a backronym which reflected the regex commonalities of > sed/awk/grep/ed/ex/vi (ok, the latter two of course eggregiously > offend because its Bill Joy exoticism, but I think by now we can > accept some of the pauline epistles have later authors and are still > held to be useful... Here Brian Kernighan tells the story of how grep came about. I love how he ends the story! https://www.youtube.com/watch?v=NTfOnGZUZDk From arnold at skeeve.com Thu Jul 19 03:39:30 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Wed, 18 Jul 2018 11:39:30 -0600 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] In-Reply-To: References: <201807171320.w6HDKNTR023268@freefriends.org> Message-ID: <201807181739.w6IHdUZW004045@freefriends.org> "John P. Linderman" wrote: > I guess it [ar] lives on in the creation of "libraries" that could be > loaded by compilers, although I think shared objects have largely replaced > archive files, and I'm not sure if archive files are even accepted any more. Archive files (static libraries) are alive and well and work just fine, on Linux and every other *nix that I know about. The format is even used on Windows for static libraries and for whatever you call them when linking dynamic libraries (they provide the symbols, but not the dll). (Do a file xxx.lib on a Linux system with a .lib file from Windows and you'll see. Boy was I surprised the first time I did that!) Arnold From mobile at majumdar.org.uk Thu Jul 19 07:37:23 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Wed, 18 Jul 2018 22:37:23 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie Message-ID: Hi I am interested in finding out if the last C compiler code (not the earliest versions which I know are available) written by Dennis Ritchie is available somewhere. I assume that the C compiler in V7 code was written by him? Thanks and Regards Dibyendu From grog at lemis.com Thu Jul 19 12:50:29 2018 From: grog at lemis.com (Greg 'groggy' Lehey) Date: Thu, 19 Jul 2018 12:50:29 +1000 Subject: [TUHS] Grep (was: TUHS Digest, Vol 32, Issue 12) In-Reply-To: References: <201807181139.w6IBdvUT063499@tahoe.cs.Dartmouth.EDU> Message-ID: <20180719025029.GC54853@eureka.lemis.com> On Wednesday, 18 July 2018 at 9:47:44 -0400, John P. Linderman wrote: > "Grep" as a verb expanded beyond files. I recall a friend saying they were > "grepping for their keys on the dresser". It's interesting to note that the Oxford English Dictionary has included grep`both as a noun and as a verb in 2003. From the noun: Etymology: < grep, a string of characters used as a command in the Unix operating system < the initial letters of global(ly) search regular expression print. The string g/re/p (where re stands for the regular expression searched for) was earlier used in a Unix text editor as the syntax for a sequence of commands performing the same operation as grep. Here your usage: 2. trans. slang (usually humorous). Of a person: to search; to scan visually. 1984 The Doctor's New Clothes in net.tv.drwho (Usenet newsgroup) 16 Aug. Peter Davison happened across his clothes while grepping the TARDIS for the Zero Room. Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 163 bytes Desc: not available URL: From grog at lemis.com Thu Jul 19 14:59:09 2018 From: grog at lemis.com (Greg 'groggy' Lehey) Date: Thu, 19 Jul 2018 14:59:09 +1000 Subject: [TUHS] ar libraries [was: Speaking commands [Was: Bell System Technical Journal archive]] In-Reply-To: <201807181739.w6IHdUZW004045@freefriends.org> References: <201807171320.w6HDKNTR023268@freefriends.org> <201807181739.w6IHdUZW004045@freefriends.org> Message-ID: <20180719045909.GD54853@eureka.lemis.com> On Wednesday, 18 July 2018 at 11:39:30 -0600, arnold at skeeve.com wrote: > "John P. Linderman" wrote: > >> I guess it [ar] lives on in the creation of "libraries" that could be >> loaded by compilers, although I think shared objects have largely replaced >> archive files, and I'm not sure if archive files are even accepted any more. > > Archive files (static libraries) are alive and well and work just fine, > on Linux and every other *nix that I know about. The format is even > used on Windows for static libraries and for whatever you call them when > linking dynamic libraries (they provide the symbols, but not the dll). This has been the case for FreeBSD too for as long as I can recall. I thought it was the case for all .a libraries. $ uname -a FreeBSD eureka.lemis.com 10.2-STABLE FreeBSD 10.2-STABLE #2 r290972: Wed Nov 25 11:38:38 AEDT 2015 grog at stable.lemis.com:/usr/obj/eureka/home/src/FreeBSD/svn/10/sys/GENERIC amd64 $ file /usr/lib/libc.a /usr/lib/libc.a: current ar archive Greg -- Sent from my desktop computer. Finger grog at lemis.com for PGP public key. See complete headers for address and phone numbers. This message is digitally signed. If your Microsoft mail program reports problems, please read http://lemis.com/broken-MUA -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 163 bytes Desc: not available URL: From arnold at skeeve.com Thu Jul 19 15:41:50 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Wed, 18 Jul 2018 23:41:50 -0600 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: Message-ID: <201807190541.w6J5foDw018028@freefriends.org> Dibyendu Majumdar wrote: > Hi > > I am interested in finding out if the last C compiler code (not the > earliest versions which I know > are available) written by Dennis Ritchie is available somewhere. I > assume that the C compiler in V7 code was written by him? > > Thanks and Regards > Dibyendu Yes - but take note, that would be 'cc'. The 'pcc' command, also in V7, is Steve Johnson's Portable C Compiler. Arnold From clemc at ccc.com Fri Jul 20 00:50:35 2018 From: clemc at ccc.com (Clem Cole) Date: Thu, 19 Jul 2018 10:50:35 -0400 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: Message-ID: On Wed, Jul 18, 2018 at 5:37 PM, Dibyendu Majumdar wrote: > Hi > > I am interested in finding out if the last C compiler code (not the > earliest versions which I know > are available) written by Dennis Ritchie is available somewhere. I > assume that the C compiler in V7 code was written by him? > > Thanks and Regards > Dibyendu > ​I'm not sure if this is the last. This is a pointer to the V7 Ritchie Compiler: https://minnie.tuhs.org//cgi-bin/utree.pl?file=V7/usr/src/cmd/c - The sources and the makefile build the three passes /lib/c[012] This should be a good starting point/base line. Be careful because the Johnson Compiler (pcc) was also included with V7 and is a different technology. This is important because their are modifications to both the Ritchie and Johnson compilers 'in-the-wild' for other back-ends and new optimizations. I for instance, re-targeted the Ritchie compiler to what would become the 68000 (it was not yet numbered, it was an experimental chip when we had access to it in the late 1970s in Tek Labs - mine was a 16 bit 'int' as I was coming primarily from the PDP-11 at the time and the chip was a 16 bit chip internally - so the code was tight and clean and I basically substituted PDP-11 instruction sequences for 68000 sequences). IIRC, Jack Test's 68000 compiler from MIT which was about 18 mons later was based on the Johnson compiler but he used a 32 bit 'int' which proved easier for porting programs from the Vax, as the chip supported 32 bit words even though it took 2 ticks to do anything [so Jack's compiler generated slower code for many simple ops]. I recommend, that google for the old USENIX tapes and see what you turn up and compare. ᐧ -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.winalski at gmail.com Fri Jul 20 01:07:51 2018 From: paul.winalski at gmail.com (Paul Winalski) Date: Thu, 19 Jul 2018 11:07:51 -0400 Subject: [TUHS] grep Message-ID: On 7/18/18, Doug McIlroy wrote: > > The famous exception is grep, which became a verb. I think the similarity to "grab" and "grope" helped. > "grep for" and "grep out". "grep for" I'm familiar with. What does it mean to "grep out"? -Paul W. From paul.winalski at gmail.com Fri Jul 20 01:29:10 2018 From: paul.winalski at gmail.com (Paul Winalski) Date: Thu, 19 Jul 2018 11:29:10 -0400 Subject: [TUHS] ar libraries [was: Speaking commands [Was: Bell System Technical Journal archive]] In-Reply-To: <20180719045909.GD54853@eureka.lemis.com> References: <201807171320.w6HDKNTR023268@freefriends.org> <201807181739.w6IHdUZW004045@freefriends.org> <20180719045909.GD54853@eureka.lemis.com> Message-ID: >On Wednesday, 18 July 2018 at 11:39:30 -0600, arnold at skeeve.com wrote: > > Archive files (static libraries) are alive and well and work just fine, > on Linux and every other *nix that I know about. The format is even > used on Windows for static libraries and for whatever you call them when > linking dynamic libraries (they provide the symbols, but not the dll). The symbol index for archives of object (.o) files was initially optional and created by a separate program called ranlib. At some point ranlib seems to have been integrated into ar. When did this happen? The version of ranlib from the mid-1980s had an implementation that was a bit too simple-minded. It indexed all symbols with N_EXT set and a non-zero n_value field. This means that Fortran common blocks and C uninitialized file-scope variables ended up in the ranlib index of the archive, which is wrong--such symbols should not trigger an object file to be loaded. ranlib should have filtered out symbols that have N_UNDF set as well as N_EXT. ld had a faulty work-around for this problem. When a symbol in a ranlib index triggered the loading of a module, and ld found that the symbol was in fact a common symbol, ld said "oops" and unloaded the module. But by this time ld had already maximized the sizes of all common symbols, and that didn't get backed out. The result is that common symbols were allocated space in .bss based on the largest size that ld saw while scanning archives, NOT the largest size actually participating in the link. There was in fact a bug in stdio that relied on this (mis-)feature. It drove me bonkers when I ported the VMS linker to Ultrix. -Paul W. From ggm at algebras.org Fri Jul 20 01:39:24 2018 From: ggm at algebras.org (George Michaelson) Date: Thu, 19 Jul 2018 11:39:24 -0400 Subject: [TUHS] grep In-Reply-To: References: Message-ID: grep -v On Thu, Jul 19, 2018 at 11:07 AM, Paul Winalski wrote: > On 7/18/18, Doug McIlroy wrote: >> >> The famous exception is grep, which became a verb. > > I think the similarity to "grab" and "grope" helped. > >> "grep for" and "grep out". > > "grep for" I'm familiar with. What does it mean to "grep out"? > > -Paul W. From jpl.jpl at gmail.com Fri Jul 20 02:12:37 2018 From: jpl.jpl at gmail.com (John P. Linderman) Date: Thu, 19 Jul 2018 12:12:37 -0400 Subject: [TUHS] ar libraries [was: Speaking commands [Was: Bell System Technical Journal archive]] In-Reply-To: References: <201807171320.w6HDKNTR023268@freefriends.org> <201807181739.w6IHdUZW004045@freefriends.org> <20180719045909.GD54853@eureka.lemis.com> Message-ID: A few long-dormant brain cells woke up and convinced me that ranlib was done by Peter Weinberger. Perhaps Doug or Peter can confirm or refute the memory. On Thu, Jul 19, 2018 at 11:29 AM, Paul Winalski wrote: > >On Wednesday, 18 July 2018 at 11:39:30 -0600, arnold at skeeve.com wrote: > > > > Archive files (static libraries) are alive and well and work just fine, > > on Linux and every other *nix that I know about. The format is even > > used on Windows for static libraries and for whatever you call them when > > linking dynamic libraries (they provide the symbols, but not the dll). > > The symbol index for archives of object (.o) files was initially > optional and created by a separate program called ranlib. At some > point ranlib seems to have been integrated into ar. When did this > happen? > > The version of ranlib from the mid-1980s had an implementation that > was a bit too simple-minded. It indexed all symbols with N_EXT set > and a non-zero n_value field. This means that Fortran common blocks > and C uninitialized file-scope variables ended up in the ranlib index > of the archive, which is wrong--such symbols should not trigger an > object file to be loaded. ranlib should have filtered out symbols > that have N_UNDF set as well as N_EXT. ld had a faulty work-around > for this problem. When a symbol in a ranlib index triggered the > loading of a module, and ld found that the symbol was in fact a common > symbol, ld said "oops" and unloaded the module. But by this time ld > had already maximized the sizes of all common symbols, and that didn't > get backed out. The result is that common symbols were allocated > space in .bss based on the largest size that ld saw while scanning > archives, NOT the largest size actually participating in the link. > > There was in fact a bug in stdio that relied on this (mis-)feature. > It drove me bonkers when I ported the VMS linker to Ultrix. > > -Paul W. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mobile at majumdar.org.uk Fri Jul 20 05:23:53 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Thu, 19 Jul 2018 20:23:53 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: <201807190541.w6J5foDw018028@freefriends.org> References: <201807190541.w6J5foDw018028@freefriends.org> Message-ID: On 19 July 2018 at 06:41, wrote: > Dibyendu Majumdar wrote: >> I am interested in finding out if the last C compiler code (not the >> earliest versions which I know >> are available) written by Dennis Ritchie is available somewhere. I >> assume that the C compiler in V7 code was written by him? >> > Yes - but take note, that would be 'cc'. The 'pcc' command, also in > V7, is Steve Johnson's Portable C Compiler. > Many thanks. I was also wondering if the C pre-processor included in lcc project was written by Dennis: https://github.com/drh/lcc/tree/master/cpp I seem to have read somewhere that it was - but I cannot locate any reference to that. Thanks and Regards Dibyendu From mobile at majumdar.org.uk Fri Jul 20 05:40:31 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Thu, 19 Jul 2018 20:40:31 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: Message-ID: On 19 July 2018 at 15:50, Clem Cole wrote: > > On Wed, Jul 18, 2018 at 5:37 PM, Dibyendu Majumdar > wrote: > >> I am interested in finding out if the last C compiler code (not the >> earliest versions which I know >> are available) written by Dennis Ritchie is available somewhere. I >> assume that the C compiler in V7 code was written by him? >> >> ​I'm not sure if this is the last. This is a pointer to the V7 Ritchie > Compiler: https://minnie.tuhs.org//cgi-bin/utree.pl?file=V7/usr/src/cmd/c > - The sources and the makefile build the three passes /lib/c[012] > This should be a good starting point/base line. > > Many thanks - I will compare this with https://github.com/eunuchs/unix-archive/tree/master/PDP-11/Trees/V7/usr/src/cmd/c which is what I have been looking at. I guess that by this time the work had transitioned to pcc so probably there isn't a later version available? > Be careful because the Johnson Compiler (pcc) was also included with V7 > and is a different technology. > Yes understood. > > This is important because their are modifications to both the Ritchie and > Johnson compilers 'in-the-wild' for other back-ends and new optimizations. > I for instance, re-targeted the Ritchie compiler to what would become the > 68000 (it was not yet numbered, it was an experimental chip when we had > access to it in the late 1970s in Tek Labs - mine was a 16 bit 'int' as I > was coming primarily from the PDP-11 at the time and the chip was a 16 bit > chip internally - so the code was tight and clean and I basically > substituted PDP-11 instruction sequences for 68000 sequences). IIRC, Jack > Test's 68000 compiler from MIT which was about 18 mons later was based on > the Johnson compiler but he used a 32 bit 'int' which proved easier for > porting programs from the Vax, as the chip supported 32 bit words even > though it took 2 ticks to do anything [so Jack's compiler generated slower > code for many simple ops]. > > I recommend, that google for the old USENIX tapes and see what you turn up > and compare. > > ᐧ > Thank you for the info - I will certainly look at the USENIX tapes. I will try to port the C compiler to amd64 - while preserving as much of the original code as I can. But not sure if this is even feasible. Thanks and Regards Dibyendu -------------- next part -------------- An HTML attachment was scrubbed... URL: From pnr at planet.nl Fri Jul 20 20:04:34 2018 From: pnr at planet.nl (Paul Ruizendaal) Date: Fri, 20 Jul 2018 12:04:34 +0200 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie Message-ID: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> > Thank you for the info - I will certainly look at the USENIX tapes. > > I will try to port the C compiler to amd64 - while preserving as much of > the original code as I can. But not sure if this is even feasible. > > Thanks and Regards > Dibyendu If that is your goal, you might want to start with the version included with 2.11BSD. It is essentially the same as the version from V7, but with 15 more years of bug fixes. I used that source to port V6 Unix to the TI990 architecture back in 2014/2015 and the good thing about it is that it still compiles with a modern gcc. For your project, I think you would be able to use the first pass ‘c0’ almost unchanged. The second pass ‘c1’ would need major restructuring. It mainly builds a tree for each expression and then performs various transformations, many of which are PDP11 specific (but also portable ones, like handling of constant expressions). It then covers the tree with code fragments selected from a library. This library (‘optable') would need a full rewrite as well. The last pass ‘c2’ is the optimiser and is also highly PDP11 specific. It reads the assembler output of ‘c1’ function by function, building an instruction list. It then performs some portable optimisations (eliminating unnecessary jumps, etc.) and also more PDP11 specific optimisations (the most complex being removing redundant register loads - the concept of which would be reusable). There are about 12,000 lines of code and as a rough guess I would say that some 40% needs rewriting. A new code fragment library would probably be some 2 to 3 thousand lines. I recall reading about a project to revive the Ritchie C compiler one or two years ago, but a quick web search came up dry. Anybody else remember reading that? From mobile at majumdar.org.uk Sat Jul 21 05:57:43 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Fri, 20 Jul 2018 20:57:43 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: On 20 July 2018 at 11:04, Paul Ruizendaal wrote: >> I will try to port the C compiler to amd64 - while preserving as much of >> the original code as I can. But not sure if this is even feasible. >> > If that is your goal, you might want to start with the version included with 2.11BSD. It is essentially the same as the version from V7, but with 15 more years of bug fixes. I used that source to port V6 Unix to the TI990 architecture back in 2014/2015 and the good thing about it is that it still compiles with a modern gcc. > Thank you for the tip - very helpful. > For your project, I think you would be able to use the first pass ‘c0’ almost unchanged. The second pass ‘c1’ would need major restructuring. It mainly builds a tree for each expression and then performs various transformations, many of which are PDP11 specific (but also portable ones, like handling of constant expressions). It then covers the tree with code fragments selected from a library. This library (‘optable') would need a full rewrite as well. The last pass ‘c2’ is the optimiser and is also highly PDP11 specific. It reads the assembler output of ‘c1’ function by function, building an instruction list. It then performs some portable optimisations (eliminating unnecessary jumps, etc.) and also more PDP11 specific optimisations (the most complex being removing redundant register loads - the concept of which would be reusable). > > There are about 12,000 lines of code and as a rough guess I would say that some 40% needs rewriting. A new code fragment library would probably be some 2 to 3 thousand lines. > Thank you again for all this info. > I recall reading about a project to revive the Ritchie C compiler one or two years ago, but a quick web search came up dry. Anybody else remember reading that? > I thought that the revival only meant being able to run code in PDP11 emulator? Thanks and Regards Dibyendu From mobile at majumdar.org.uk Sat Jul 21 08:04:34 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Fri, 20 Jul 2018 23:04:34 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <201807190541.w6J5foDw018028@freefriends.org> Message-ID: On 19 July 2018 at 20:23, Dibyendu Majumdar wrote: > I was also wondering if the C pre-processor included in lcc project > was written by Dennis: > https://github.com/drh/lcc/tree/master/cpp > > I seem to have read somewhere that it was - but I cannot locate any > reference to that. > Found it - its directly from Dennis Ritchie! https://groups.google.com/d/msg/comp.std.c/Xw5H8TlQ4W4/deq8iZ6exvUJ Thanks and Regards Dibyendu From jpl.jpl at gmail.com Wed Jul 18 00:39:20 2018 From: jpl.jpl at gmail.com (John P. Linderman) Date: Tue, 17 Jul 2018 10:39:20 -0400 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] In-Reply-To: <201807171320.w6HDKNTR023268@freefriends.org> References: <201807171320.w6HDKNTR023268@freefriends.org> Message-ID: Interesting that of all the commands mentioned, ar is (at least for me) no longer used (although I haven't used ed in many years). As I recall it, ar was mostly of use to address the extremely low limits on inodes and disk space: the former by packing a bunch of files/inodes into a single file, the latter by saving the wasted space on any file that wasn't a multiple of 512 bytes. I guess it lives on in the creation of "libraries" that could be loaded by compilers, although I think shared objects have largely replaced archive files, and I'm not sure if archive files are even accepted any more. On Tue, Jul 17, 2018 at 9:20 AM, wrote: > Nemo wrote: > > > I was intrigued by BMK's comment that "ed" was never spokend as "ed" > > by "those in the know", which leads me to wonder how things were > > spoken. > > I always spelled out the two-letter commands: e-d, a-r, l-s, r-m, c-p. > chmod I pronounced as ch-mod (not mode), but 'rmdir' was 'remove dir' > and for some reason, mv was move. (I think the doc for vi officially > stated that the proram's name was to be pronounced v-i and not 'vie'.) > > Undoubtedly there were many regional differences... :-) > > Arnold > -------------- next part -------------- An HTML attachment was scrubbed... URL: From khm at sciops.net Sat Jul 21 09:01:01 2018 From: khm at sciops.net (Kurt H Maier) Date: Fri, 20 Jul 2018 16:01:01 -0700 Subject: [TUHS] Speaking commands [Was: Bell System Technical Journal archive] In-Reply-To: References: <201807171320.w6HDKNTR023268@freefriends.org> Message-ID: <20180720230101.GA24929@wopr> On Tue, Jul 17, 2018 at 10:39:20AM -0400, John P. Linderman wrote: > Interesting that of all the commands mentioned, ar is (at least for me) no > longer used (although I haven't used ed in many years). ".deb" packages (used by Debian and Ubuntu linuxes) are a header file and two .tar.gz files packed into ar format. ar(1) is widely used to unscrew Debian packages on systems without dpkg tools installed. So, while it might not be be doing the same job, it retains some currency in the land of linux. khm From arnold at skeeve.com Mon Jul 23 00:16:55 2018 From: arnold at skeeve.com (Arnold Robbins) Date: Sun, 22 Jul 2018 17:16:55 +0300 Subject: [TUHS] Doug McIlroy's C++ regular expression library (mostly) revived Message-ID: <201807221416.w6MEGtDs021149@skeeve.com> Hi All. I have (mostly) revived Doug McIlroy's C++ regular expression parsing library. I gratefully acknowledge and thank him for allowing me to publish the code and for his help in finding all the bits and pieces. It's available at https://github.com/arnoldrobbins/mcilroy-regex . The main things I've done are to gather all the bits and pieces, rename files to have a .cpp extension, and get everything to compile using current g++ and standard make. I'm at the point where I could use some help. The various tests do not all run successfully. 1. make retest - a number of tests fail 2. ./tesgrep.sh - a number of tests fail 3. ./testsed.sh - tests fail with core dumps Looking briefly, some of the code in sed plays C games, casting various things arouond to pointers of different types and dereferencing them; these things tend to cause trouble in C++. I'm hopeful that more eyes on this code will help it come back to life more quickly. Any and all help will be appreciated. Thanks, Arnold P.S. Let's not start a flame war about C vs. C++ etc. etc. If you can help, please just dive in. Otherwise, just go, "wow, neat work" and move on to something else. :-) Thanks. From mobile at majumdar.org.uk Mon Jul 23 06:49:04 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Sun, 22 Jul 2018 21:49:04 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: Hi Paul, On 20 July 2018 at 11:04, Paul Ruizendaal wrote: >> I will try to port the C compiler to amd64 - while preserving as much of >> the original code as I can. But not sure if this is even feasible. > > If that is your goal, you might want to start with the version included with 2.11BSD. It is essentially the same as the version from V7, but with 15 more years of bug fixes. I used that source to port V6 Unix to the TI990 architecture back in 2014/2015 and the good thing about it is that it still compiles with a modern gcc. I found similarities between the 2.11BSD and 10th edition sources - presumably 2.11BSD was based on (or incorporated) changes in the 10th edition? BTW did you publish your work? > For your project, I think you would be able to use the first pass ‘c0’ almost unchanged. I have been able to get c0 working. I had to work around the use of sbrk() as this is not supported on Windows. I also changed the output to text format - mainly so that I can see what is being generated. > The second pass ‘c1’ would need major restructuring. It mainly builds a tree for each expression and then performs various transformations, many of which are PDP11 specific (but also portable ones, like handling of constant expressions). It then covers the tree with code fragments selected from a library. This library (‘optable') would need a full rewrite as well. This part will be more difficult I suspect - but I will only start on this after I have converted c0 to output 64-bit compliant intermediate code. It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C Compiler' which is quite useful in understanding the compiler. I have converted the doc to Markdown format as well which makes it easier to read. Thanks and Regards Dibyendu From dave at horsfall.org Mon Jul 23 07:53:32 2018 From: dave at horsfall.org (Dave Horsfall) Date: Mon, 23 Jul 2018 07:53:32 +1000 (EST) Subject: [TUHS] Frank Heart, Who Helped to Design the ArpaNet IMPs at BBN Dies at 89 In-Reply-To: References: Message-ID: On Wed, 27 Jun 2018, Clem Cole wrote: > https://www.nytimes.com/2018/06/25/technology/frank-heart-who-linked-comput > ers-before-the-internet-dies-at-89.html Thanks; I'm a litle behind in my email right now due to illness... -- Dave From pnr at planet.nl Mon Jul 23 19:24:57 2018 From: pnr at planet.nl (Paul Ruizendaal) Date: Mon, 23 Jul 2018 11:24:57 +0200 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: <6E880974-2177-4DBA-A67C-20247478F5D0@planet.nl> > On 22 Jul 2018, at 22:49, Dibyendu Majumdar wrote: > >>> I will try to port the C compiler to amd64 - while preserving as much of >>> the original code as I can. But not sure if this is even feasible. >> >> If that is your goal, you might want to start with the version included with 2.11BSD. It is essentially the same as the version from V7, but with 15 more years of bug fixes. I used that source to port V6 Unix to the TI990 architecture back in 2014/2015 and the good thing about it is that it still compiles with a modern gcc. > > I found similarities between the 2.11BSD and 10th edition sources - > presumably 2.11BSD was based on (or incorporated) changes in the 10th > edition? No, it derives from V7, with much stuff from 4BSD back-ported to the PDP11. See the “Early BSDs” section of the Unix Tree (https://minnie.tuhs.org//cgi-bin/utree.pl). Although V8 also has some 4BSD roots, the V8/V9/V10 lineage is different from the 2.8-2.11 BSD lineage. There was a lot of code sharing back then, it is not a simple picture. > BTW did you publish your work? https://1587660.websites.xs4all.nl/cgi-bin/9995/dir?ci=tip From arnold at skeeve.com Mon Jul 23 20:28:50 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Mon, 23 Jul 2018 04:28:50 -0600 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: <6E880974-2177-4DBA-A67C-20247478F5D0@planet.nl> References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> <6E880974-2177-4DBA-A67C-20247478F5D0@planet.nl> Message-ID: <201807231028.w6NASoXq027820@freefriends.org> FYI, Steve Johnson's Portable C Compiler has been revived and updated to C89 and maybe even C99. It has code generators for x86 both 32 and 64 bit mode. Home page is at http://pcc.ludd.ltu.se/. I maintain a git mirror (the defalt is CVS) at https://github.com/arnoldrobbins/pcc-revived. Arnold From clemc at ccc.com Tue Jul 24 01:12:49 2018 From: clemc at ccc.com (Clem Cole) Date: Mon, 23 Jul 2018 11:12:49 -0400 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: On Sun, Jul 22, 2018 at 4:49 PM, Dibyendu Majumdar wrote: > > > It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C > Compiler' which is quite useful in understanding the compiler. I have > converted the doc to Markdown format as well which makes it easier to > read. https://s3-us-west-2.amazonaws.com/belllabs-microsite-plan9/7thEdMan/bswv7.html ​You might try downloading the PDF or PS versions of the V7 documents from amazon. It seems like a lot less work work and will be a lot easier to read. Also Gnu groff runs on pretty much everything these days, so going from the V7 troff sources yourself is not difficult; in fact its pretty smart. Its still the best 'pure document compiler' out there. And it means you can add your additions/ corrections / notes to what Dennis did right inline. ​ ᐧ -------------- next part -------------- An HTML attachment was scrubbed... URL: From lm at mcvoy.com Tue Jul 24 01:55:52 2018 From: lm at mcvoy.com (Larry McVoy) Date: Mon, 23 Jul 2018 08:55:52 -0700 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: <20180723155552.GB19635@mcvoy.com> On Mon, Jul 23, 2018 at 11:12:49AM -0400, Clem Cole wrote: > On Sun, Jul 22, 2018 at 4:49 PM, Dibyendu Majumdar > wrote: > > > > > > > It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C > > Compiler' which is quite useful in understanding the compiler. I have > > converted the doc to Markdown format as well which makes it easier to > > read. > > > https://s3-us-west-2.amazonaws.com/belllabs-microsite-plan9/7thEdMan/bswv7.html > > ???You might try downloading the PDF or PS versions of the V7 documents from > amazon. It seems like a lot less work work and will be a lot easier to > read. Also Gnu groff runs on pretty much everything these days, so going > from the V7 troff sources yourself is not difficult; in fact its pretty > smart. Its still the best 'pure document compiler' out there. And it > means you can add your additions/ corrections / notes to what Dennis did > right inline. I actually wacked a bunch of the Unix docs to make them look a little better, I should see if I can find that. I agree that roff is awesome, it's a bummer that Latex seems to be the winner (which I think is purely because the roff/eqn/pic/etc docs weren't widely available back in the day). From mobile at majumdar.org.uk Tue Jul 24 05:29:22 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Mon, 23 Jul 2018 20:29:22 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: On 23 July 2018 at 16:12, Clem Cole wrote: > > > On Sun, Jul 22, 2018 at 4:49 PM, Dibyendu Majumdar > wrote: > >> >> >> It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C >> Compiler' which is quite useful in understanding the compiler. I have >> converted the doc to Markdown format as well which makes it easier to >> read. > > > https://s3-us-west-2.amazonaws.com/belllabs-microsite-plan9/7thEdMan/ > bswv7.html > > ​You might try downloading the PDF or PS versions of the V7 documents from > amazon. It seems like a lot less work work and will be a lot easier to > read. Also Gnu groff runs on pretty much everything these days, so going > from the V7 troff sources yourself is not difficult; in fact its pretty > smart. Its still the best 'pure document compiler' out there. And it > means you can add your additions/ corrections / notes to what Dennis did > right inline. > ​ > ᐧ > Hi - thank you for the links. I am not familiar with troff; I amanged to convert to Markdown from a text version. Here it is: https://github.com/dibyendumajumdar/C/blob/master/docs/ctour.md Thanks and Regards Dibyendu -------------- next part -------------- An HTML attachment was scrubbed... URL: From mobile at majumdar.org.uk Tue Jul 24 05:35:44 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Mon, 23 Jul 2018 20:35:44 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: <201807231028.w6NASoXq027820@freefriends.org> References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> <6E880974-2177-4DBA-A67C-20247478F5D0@planet.nl> <201807231028.w6NASoXq027820@freefriends.org> Message-ID: Hi Arnold, On 23 July 2018 at 11:28, wrote: > FYI, Steve Johnson's Portable C Compiler has been revived and updated > to C89 and maybe even C99. It has code generators for x86 both 32 > and 64 bit mode. > > Home page is at http://pcc.ludd.ltu.se/. I maintain a git mirror > (the defalt is CVS) at https://github.com/arnoldrobbins/pcc-revived. > Very nice - thank you. I hope to do the same for the C compiler by Dennis Ritchie. Regards Dibyendu From bakul at bitblocks.com Tue Jul 24 06:12:03 2018 From: bakul at bitblocks.com (Bakul Shah) Date: Mon, 23 Jul 2018 13:12:03 -0700 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> Message-ID: <08BCF4C4-59B5-4136-9A26-4A9588B87C14@bitblocks.com> On Jul 23, 2018, at 8:12 AM, Clem Cole wrote: > > On Sun, Jul 22, 2018 at 4:49 PM, Dibyendu Majumdar wrote: > > > It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C > > Compiler' which is quite useful in understanding the compiler. I have > > converted the doc to Markdown format as well which makes it easier to > > read. > > https://s3-us-west-2.amazonaws.com/belllabs-microsite-plan9/7thEdMan/bswv7.html > > ​You might try downloading the PDF or PS versions of the V7 documents from amazon. > It seems like a lot less work work and will be a lot easier to read. Links in the above webpage don't work. Try https://9p.io/7thEdMan/bswv7.html From mobile at majumdar.org.uk Tue Jul 24 06:48:06 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Mon, 23 Jul 2018 21:48:06 +0100 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: <08BCF4C4-59B5-4136-9A26-4A9588B87C14@bitblocks.com> References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> <08BCF4C4-59B5-4136-9A26-4A9588B87C14@bitblocks.com> Message-ID: On 23 July 2018 at 21:12, Bakul Shah wrote: > On Jul 23, 2018, at 8:12 AM, Clem Cole wrote: >> >> On Sun, Jul 22, 2018 at 4:49 PM, Dibyendu Majumdar wrote: >> >> > It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C >> > Compiler' which is quite useful in understanding the compiler. I have >> > converted the doc to Markdown format as well which makes it easier to >> > read. >> >> https://s3-us-west-2.amazonaws.com/belllabs-microsite-plan9/7thEdMan/bswv7.html >> >> You might try downloading the PDF or PS versions of the V7 documents from amazon. >> It seems like a lot less work work and will be a lot easier to read. > > > Links in the above webpage don't work. Try https://9p.io/7thEdMan/bswv7.html Nice, thank you. Regards Dibyendu From arnold at skeeve.com Tue Jul 24 16:37:54 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Tue, 24 Jul 2018 00:37:54 -0600 Subject: [TUHS] Looking for final C compiler by Dennis Ritchie In-Reply-To: References: <8ECDA62D-1B54-4391-A226-D3E9ABEE4C07@planet.nl> <6E880974-2177-4DBA-A67C-20247478F5D0@planet.nl> <201807231028.w6NASoXq027820@freefriends.org> Message-ID: <201807240637.w6O6bsKV000742@freefriends.org> Dibyendu Majumdar wrote: > Hi Arnold, > > On 23 July 2018 at 11:28, wrote: > > FYI, Steve Johnson's Portable C Compiler has been revived and updated > > to C89 and maybe even C99. It has code generators for x86 both 32 > > and 64 bit mode. > > > > Home page is at http://pcc.ludd.ltu.se/. I maintain a git mirror > > (the defalt is CVS) at https://github.com/arnoldrobbins/pcc-revived. > > > > Very nice - thank you. > I hope to do the same for the C compiler by Dennis Ritchie. > > Regards > Dibyendu Best of luck to you! Should be interesting to see what you get. Arnold From dave at horsfall.org Thu Jul 26 11:23:29 2018 From: dave at horsfall.org (Dave Horsfall) Date: Thu, 26 Jul 2018 11:23:29 +1000 (EST) Subject: [TUHS] That tour through the C compiler... Message-ID: My DuckDuckGo-fu appears to be on the blink (and I refuse to use Google out of privacy concerns); is there a PDF/PS/groff somewhere? I don't use fancy-wanky markup languages. Thanks. -- Dave From mobile at majumdar.org.uk Thu Jul 26 15:29:24 2018 From: mobile at majumdar.org.uk (Dibyendu Majumdar) Date: Thu, 26 Jul 2018 06:29:24 +0100 Subject: [TUHS] That tour through the C compiler... In-Reply-To: References: Message-ID: <20180726052924.4370516.60967.21851@majumdar.org.uk> Hi Dave, This link was posted on the list: https://9p.io/7thEdMan/bswv7.html ‎It is in one of the docs. ‎Regards Dibyendu   Original Message   From: Dave Horsfall Sent: Thursday, 26 July 2018 02:24 To: The Eunuchs Hysterical Society Subject: [TUHS] That tour through the C compiler... My DuckDuckGo-fu appears to be on the blink (and I refuse to use Google out of privacy concerns); is there a PDF/PS/groff somewhere? I don't use fancy-wanky markup languages. Thanks. -- Dave From doug at cs.dartmouth.edu Sun Jul 29 08:31:38 2018 From: doug at cs.dartmouth.edu (Doug McIlroy) Date: Sat, 28 Jul 2018 18:31:38 -0400 Subject: [TUHS] Doug McIlroy's C++ regular expression library (mostly) revived Message-ID: <201807282231.w6SMVcWT097678@tahoe.cs.Dartmouth.EDU> Why would anyone be interested in an old regex package that never was a part of any Unix distro? The driving force was Posix, whose regex spec was quite inscrutable. Could there be a reference implementation? It was easy to fool every implementation I could get my hands on, including Gnu's over-the-top 9000-line implementation. But as I got into it, I got fascinated by regexes per se. In making a recognizer, there's a tradeoff between contruction time and execution time. Linear execution can be achieved, but at a potentially exponential cost in construction time (and space). Backreferencing takes the regex languages out of the class of regular languages. Recalling that regular languages are closed under intersection and negation, I wondered about how to implement new regex operators, & and -. I came up with a scheme for this optional non-Posix feature that involved layering continuation-passing over more traditional methods. And while I was at it, I broke out smaller sublanguages for special treatment (as does Gnu), all the way down to Knuth-Morris-Pratt for expressions in which the only operation is catenation. And finally, having followed the development of C++ from its infancy, I wanted to try out its new template facility, so there's a bit of that in the package, too. Arnold has discovered that not only has C++ evolved, but also that without the discipline of -Wall to force clean code, I was rather cavalier about casting, both explicitly and implicitly. The only real customer the code ever had was the AST project, which translated it to C. After the C++ had sat idle for a half-dozen years, I thought to revive it in Linux, but found it riddled with incompatibilities with that new environment and gave up. Arnold deserves a citation for bravery in pushing that through 15 years further on. Doug From arnold at skeeve.com Sun Jul 29 16:02:45 2018 From: arnold at skeeve.com (arnold at skeeve.com) Date: Sun, 29 Jul 2018 00:02:45 -0600 Subject: [TUHS] Doug McIlroy's C++ regular expression library (mostly) revived In-Reply-To: <201807282231.w6SMVcWT097678@tahoe.cs.Dartmouth.EDU> References: <201807282231.w6SMVcWT097678@tahoe.cs.Dartmouth.EDU> Message-ID: <201807290602.w6T62jr1018355@freefriends.org> Dr. McIlroy, Much thanks for this! If you don't object, I will add this note to the repo as it provides insight into the wherefores of the package. At this point, I must also give credit where credit is due: * Chet Ramey, who suggested that I ask Russ Cox to take a look at the package, * Russ Cox, who fixed the major problems and got all the tests to pass, * Rares Aioanei, who volunteered to tackle fixing things but did not get to do so before Russ beat him to it. As implied by the above, the package is now up-to-date and functional! I hope it's of interest to the broader community. My own reason for seeking this out is that I have (likely vain) hopes of one day finding a better regex package to use for gawk. But regular expressions are interesting in their own right. Russ Cox has a series of papers on his web site about them that are worth reading. Finally, thanks again to Dr. McIlroy for humoring me and giving me his code to play with. Arnold Doug McIlroy wrote: > Why would anyone be interested in an old regex package that never was > a part of any Unix distro? > > The driving force was Posix, whose regex spec was quite inscrutable. Could > there be a reference implementation? It was easy to fool every > implementation I could get my hands on, including Gnu's over-the-top > 9000-line implementation. > > But as I got into it, I got fascinated by regexes per se. In making a > recognizer, there's a tradeoff between contruction time and execution > time. Linear execution can be achieved, but at a potentially exponential > cost in construction time (and space). Backreferencing takes the regex > languages out of the class of regular languages. > > Recalling that regular languages are closed under intersection and > negation, I wondered about how to implement new regex operators, & > and -. I came up with a scheme for this optional non-Posix feature that > involved layering continuation-passing over more traditional methods. And > while I was at it, I broke out smaller sublanguages for special treatment > (as does Gnu), all the way down to Knuth-Morris-Pratt for expressions > in which the only operation is catenation. > > And finally, having followed the development of C++ from its infancy, > I wanted to try out its new template facility, so there's a bit of > that in the package, too. Arnold has discovered that not only has C++ > evolved, but also that without the discipline of -Wall to force clean > code, I was rather cavalier about casting, both explicitly and implicitly. > > The only real customer the code ever had was the AST project, which > translated it to C. After the C++ had sat idle for a half-dozen years, I > thought to revive it in Linux, but found it riddled with incompatibilities > with that new environment and gave up. Arnold deserves a citation for > bravery in pushing that through 15 years further on. > > Doug From dave at horsfall.org Tue Jul 31 10:40:42 2018 From: dave at horsfall.org (Dave Horsfall) Date: Tue, 31 Jul 2018 10:40:42 +1000 (EST) Subject: [TUHS] In Memoriam: Per Brinch Hansen Message-ID: [ I've always posted these to TUHS with no objections, so I have no idea whether COFF would be a better forum; feel free to spank me (I might even enjoy it!) ] We lost Per Brinch Hansen, a computer scientist, on this day in 2007. He specialised in operating systems and concurrent programming, and wrote the classic book "Operating System Principles" which was published in six languages for decades. He also wrote another book "The Architecture of Concurrent Programs" which demonstrated an entire operating system written in Concurrent Pascal (much like the Lions' books on Unix). -- Dave From toby at telegraphics.com.au Tue Jul 31 11:10:00 2018 From: toby at telegraphics.com.au (Toby Thain) Date: Mon, 30 Jul 2018 21:10:00 -0400 Subject: [TUHS] In Memoriam: Per Brinch Hansen In-Reply-To: References: Message-ID: <3212b1fa-895a-c2b1-7e19-f3b612c31f74@telegraphics.com.au> On 2018-07-30 8:40 PM, Dave Horsfall wrote: > [ I've always posted these to TUHS with no objections, so I have no idea > whether COFF would be a better forum; feel free to spank me (I might > even enjoy it!) ] > > We lost Per Brinch Hansen, a computer scientist, on this day in 2007.  > He specialised in operating systems and concurrent programming, and > wrote the classic book "Operating System Principles" which was published > in six languages for decades.  He also wrote another book "The > Architecture of Concurrent Programs" which demonstrated an entire > operating system written in Concurrent Pascal (much like the Lions' > books on Unix). His anthology "Classic Operating Systems" is also an informative read and I think can be found online. --Toby > > -- Dave > From wobblygong at gmail.com Tue Jul 31 17:25:27 2018 From: wobblygong at gmail.com (Wesley Parish) Date: Tue, 31 Jul 2018 19:25:27 +1200 Subject: [TUHS] In Memoriam: Per Brinch Hansen In-Reply-To: <3212b1fa-895a-c2b1-7e19-f3b612c31f74@telegraphics.com.au> References: <3212b1fa-895a-c2b1-7e19-f3b612c31f74@telegraphics.com.au> Message-ID: I've got his Operating System Principles and The Architecture of Concurrent Programs. I've seen his Programming a Personal Computer - about the Edison dialect of Pascal as a systems programming language, an offshoot of Concurrent Pascal, iirc. I'm slightly amused by his statement published in the Wikipedia article on him, : "There, his first significant project was writing a parser for a COBOL compiler for the Siemens 3003 computer. Subsequently, he wrote a file system to be used during execution of the compiled COBOL programs, later observing "I now understand that it was really a small operating system, I had programmed. However, in the mid 1960s, the dividing line between language implementation and operating systems was still not clearly understood."[ " Which is quite an understatement - it is probably one of the reasons why Prof Lions considered Solo unsuitable as a general purpose OS for students to work with and work on. It would not be impossible to develop a non-Pascal-based OS on the Concurrent Pascal microkernel, but I don't get the impression that he had planned for it. http://pascal.hansotten.com/per-brinch-hansen/ is a good site about him. Wesley Parish On 7/31/18, Toby Thain wrote: > On 2018-07-30 8:40 PM, Dave Horsfall wrote: >> [ I've always posted these to TUHS with no objections, so I have no idea >> whether COFF would be a better forum; feel free to spank me (I might >> even enjoy it!) ] >> >> We lost Per Brinch Hansen, a computer scientist, on this day in 2007. >> He specialised in operating systems and concurrent programming, and >> wrote the classic book "Operating System Principles" which was published >> in six languages for decades. He also wrote another book "The >> Architecture of Concurrent Programs" which demonstrated an entire >> operating system written in Concurrent Pascal (much like the Lions' >> books on Unix). > > His anthology "Classic Operating Systems" is also an informative read > and I think can be found online. > > --Toby > >> >> -- Dave >> > >