* [TUHS] Re: most direct Unix descendant @ 2024-06-09 11:34 Douglas McIlroy 2024-06-09 11:59 ` A. P. Garcia 0 siblings, 1 reply; 26+ messages in thread From: Douglas McIlroy @ 2024-06-09 11:34 UTC (permalink / raw) To: Ed Bradford, TUHS main list [-- Attachment #1: Type: text/plain, Size: 411 bytes --] Eloquently put. Amen! doug > Unix brought automation to the forefront of possibilities. Using Unix, > anyone could do it - even that kid in Jurassic Park. Today, everything > is GUI and nothing can be automated easily or, most of the time, > not at all. > Unix is an ever shrinking oasis in a desert of non-automation and complexity. > It is the loss of automation possibilities that frustrates me the most [-- Attachment #2: Type: text/html, Size: 1356 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-09 11:34 [TUHS] Re: most direct Unix descendant Douglas McIlroy @ 2024-06-09 11:59 ` A. P. Garcia 2024-06-09 12:31 ` Ralph Corderoy 2024-06-10 5:13 ` Ed Bradford 0 siblings, 2 replies; 26+ messages in thread From: A. P. Garcia @ 2024-06-09 11:59 UTC (permalink / raw) To: Douglas McIlroy; +Cc: TUHS main list [-- Attachment #1: Type: text/plain, Size: 1069 bytes --] On Sun, Jun 9, 2024, 7:35 AM Douglas McIlroy <douglas.mcilroy@dartmouth.edu> wrote: > Eloquently put. Amen! > > doug > > > Unix brought automation to the forefront of possibilities. Using Unix, > > anyone could do it - even that kid in Jurassic Park. Today, everything > > is GUI and nothing can be automated easily or, most of the time, > > not at all. > > > Unix is an ever shrinking oasis in a desert of non-automation and > complexity. > > > It is the loss of automation possibilities that frustrates me the most > Do I have to be that guy? I hate windows. I love Unix. But the above isn't really true. MS has actually done a good job of catching up in that department. All major apps have Powershell libraries. I envy some features of Powershell, but I still won't use it unless I have to. One example is PowerCLI, which is very useful for vSphere automation. Easier to use than their other language APIs, in my opinion. I could go on with other examples (Active Directory, MSSQL, Exchange), but I think the point is made... > [-- Attachment #2: Type: text/html, Size: 2582 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-09 11:59 ` A. P. Garcia @ 2024-06-09 12:31 ` Ralph Corderoy 2024-06-09 14:06 ` A. P. Garcia 2024-06-10 5:13 ` Ed Bradford 1 sibling, 1 reply; 26+ messages in thread From: Ralph Corderoy @ 2024-06-09 12:31 UTC (permalink / raw) To: TUHS; +Cc: Douglas McIlroy Hi A. P., > All major apps have Powershell libraries. I envy some features of > Powershell, but I still won't use it unless I have to. > > One example is PowerCLI, which is very useful for vSphere automation. > Easier to use than their other language APIs, in my opinion. The grandfather of your post address Powershell earlier on. https://www.tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/message/QZVFRCYM2MEJ4VNZPORBUAKIS6WG6LIY/ > The concept of producing a stream of text as the output of a program > that does simple jobs well has been replaced by "power-shell" thinking > of passing binary objects rather than text between program > - a decidedly non-portable idea. > > Passing "objects" requires attaching to a dynamically linked library > (that will change or even disappear with the next release of the OS or > the object library). With Research Unix, I could pipe the output of > a Unix program running on an Intel 486 to another program running on > a Motorola 68000 or a Zilog Z80000 or an IBM AIX machine. -- Cheers, Ralph. ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-09 12:31 ` Ralph Corderoy @ 2024-06-09 14:06 ` A. P. Garcia 0 siblings, 0 replies; 26+ messages in thread From: A. P. Garcia @ 2024-06-09 14:06 UTC (permalink / raw) To: Ralph Corderoy; +Cc: TUHS, Douglas McIlroy [-- Attachment #1: Type: text/plain, Size: 1467 bytes --] On Sun, Jun 9, 2024, 8:40 AM Ralph Corderoy <ralph@inputplus.co.uk> wrote: > Hi A. P., > > > All major apps have Powershell libraries. I envy some features of > > Powershell, but I still won't use it unless I have to. > > > > One example is PowerCLI, which is very useful for vSphere automation. > > Easier to use than their other language APIs, in my opinion. > > The grandfather of your post address Powershell earlier on. > > > https://www.tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/message/QZVFRCYM2MEJ4VNZPORBUAKIS6WG6LIY/ > > The concept of producing a stream of text as the output of a program > > that does simple jobs well has been replaced by "power-shell" thinking > > of passing binary objects rather than text between program > > - a decidedly non-portable idea. > > > > Passing "objects" requires attaching to a dynamically linked library > > (that will change or even disappear with the next release of the OS or > > the object library). With Research Unix, I could pipe the output of > > a Unix program running on an Intel 486 to another program running on > > a Motorola 68000 or a Zilog Z80000 or an IBM AIX machine. > > -- > Cheers, Ralph. > Thank you, I hadn't seen that. He's right, of course. It's kludgy, but you can always use text, or some structured form of it like json or xml, to communicate between different machines. Does windows have something like netcat/socat? I honestly don't know. > [-- Attachment #2: Type: text/html, Size: 2243 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-09 11:59 ` A. P. Garcia 2024-06-09 12:31 ` Ralph Corderoy @ 2024-06-10 5:13 ` Ed Bradford 2024-06-10 5:25 ` G. Branden Robinson 2024-06-10 8:39 ` Dave Horsfall 1 sibling, 2 replies; 26+ messages in thread From: Ed Bradford @ 2024-06-10 5:13 UTC (permalink / raw) To: A. P. Garcia; +Cc: Douglas McIlroy, TUHS main list [-- Attachment #1.1: Type: text/plain, Size: 3008 bytes --] Hi A.P., I agree powershell supports automation. However, it so complex and non-portable that even learning about it and how to use it takes considerably longer than learning about Unix automation. It puts a significant burden on developers to document their DLL's and make the interfaces permanent. Complexity produces more expensive and less reliable software. BTW, what about the non-major apps? From your view, they are simply excluded from automation. In PS, type "help cmdlet" to see the complexity of each and every command. PS does allow automation, but it is very expensive because most people will be daunted when trying to learn how to solve problems with it, people who know how to write stuff in PS are more expensive employees, and development time for asking a simple question like "Show me the last 5 files read in a directory tree" can require days or more of research and experimentation. A help page on almost any cmdlet produces a full page-width pages of options, many of which lead to further questions about usage. Yes, PS automates Windows -- but at what cost? Ed PS: I should write my book of "Why Windows is not my favorite operating system" (paraphrasing a famous BTL TM). PS2: Speaking of complexity and documentation, here is the start of the printout on an up-to-date MacOS of the command man ls | less *NAME ls – list directory contents SYNOPSIS ls [-@ABCFGHILOPRSTUWabcdefghiklmnopqrstuvwxy1%,] [--color=when] [-D format] [file ...]* and the same question about "ls" on Windows 11 powershell: help ls | less # typed in PS [image: image.png] How did we let this happen? On Sun, Jun 9, 2024 at 6:59 AM A. P. Garcia <a.phillip.garcia@gmail.com> wrote: > > > On Sun, Jun 9, 2024, 7:35 AM Douglas McIlroy < > douglas.mcilroy@dartmouth.edu> wrote: > >> Eloquently put. Amen! >> >> doug >> >> > Unix brought automation to the forefront of possibilities. Using Unix, >> > anyone could do it - even that kid in Jurassic Park. Today, everything >> > is GUI and nothing can be automated easily or, most of the time, >> > not at all. >> >> > Unix is an ever shrinking oasis in a desert of non-automation and >> complexity. >> >> > It is the loss of automation possibilities that frustrates me the most >> > > > Do I have to be that guy? I hate windows. I love Unix. But the above isn't > really true. MS has actually done a good job of catching up in that > department. All major apps have Powershell libraries. I envy some features > of Powershell, but I still won't use it unless I have to. > > One example is PowerCLI, which is very useful for vSphere automation. > Easier to use than their other language APIs, in my opinion. I could go on > with other examples (Active Directory, MSSQL, Exchange), but I think the > point is made... > >> -- Advice is judged by results, not by intentions. Cicero [-- Attachment #1.2: Type: text/html, Size: 8717 bytes --] [-- Attachment #2: image.png --] [-- Type: image/png, Size: 86182 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-10 5:13 ` Ed Bradford @ 2024-06-10 5:25 ` G. Branden Robinson 2024-06-10 8:39 ` Dave Horsfall 1 sibling, 0 replies; 26+ messages in thread From: G. Branden Robinson @ 2024-06-10 5:25 UTC (permalink / raw) To: tuhs [-- Attachment #1: Type: text/plain, Size: 344 bytes --] At 2024-06-10T00:13:08-0500, Ed Bradford wrote: > PS2: Speaking of complexity and documentation, here is the start > of the printout on an up-to-date MacOS of the command > > man ls | less [...] > How did we let this happen? When "everything is a file", a lot gets packed into one's file abstraction. Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-10 5:13 ` Ed Bradford 2024-06-10 5:25 ` G. Branden Robinson @ 2024-06-10 8:39 ` Dave Horsfall 2024-06-10 9:36 ` Marc Donner 2024-06-11 3:15 ` [TUHS] Re: Likely a one-liner in Unix James Frew 1 sibling, 2 replies; 26+ messages in thread From: Dave Horsfall @ 2024-06-10 8:39 UTC (permalink / raw) To: The Eunuchs Hysterical Society [-- Attachment #1: Type: text/plain, Size: 287 bytes --] On Mon, 10 Jun 2024, Ed Bradford wrote: > [...] people who know how to write stuff in PS are more expensive > employees, and development time for asking a simple question like > > "Show me the last 5 files read in a directory tree" Likely a one-liner in Unix :-) -- Dave ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-10 8:39 ` Dave Horsfall @ 2024-06-10 9:36 ` Marc Donner 2024-06-10 19:40 ` Steffen Nurpmeso 2024-06-11 3:15 ` [TUHS] Re: Likely a one-liner in Unix James Frew 1 sibling, 1 reply; 26+ messages in thread From: Marc Donner @ 2024-06-10 9:36 UTC (permalink / raw) To: Dave Horsfall; +Cc: The Eunuchs Hysterical Society [-- Attachment #1: Type: text/plain, Size: 1207 bytes --] The architectural alternative to powershell-style extension has been around in various guises for a while. In particular things like TCL and Lua are engineered to be add-on extension languages. Integrating them just involves adding a few callouts (dispatch a “program”, scan directories in a designated “path” for programs, render internal structures into text). This style of design has been around for a long time - all Unix shells, EMacs, many video games. It enables an elegant approach to performance management - build it first as a script and only reimplement it as a binary if needed. Doing this enables automation, but it does require the designers and product managers to want automation. Marc ===== nygeek.net mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home> On Mon, Jun 10, 2024 at 4:39 AM Dave Horsfall <dave@horsfall.org> wrote: > On Mon, 10 Jun 2024, Ed Bradford wrote: > > > [...] people who know how to write stuff in PS are more expensive > > employees, and development time for asking a simple question like > > > > "Show me the last 5 files read in a directory tree" > > Likely a one-liner in Unix :-) > > -- Dave [-- Attachment #2: Type: text/html, Size: 1969 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-10 9:36 ` Marc Donner @ 2024-06-10 19:40 ` Steffen Nurpmeso 2024-06-10 20:09 ` Marc Donner 0 siblings, 1 reply; 26+ messages in thread From: Steffen Nurpmeso @ 2024-06-10 19:40 UTC (permalink / raw) To: Marc Donner; +Cc: The Eunuchs Hysterical Society Marc Donner wrote in <CALQ0xCCNYP26Crv6m6Xp7efBL-wzfTB=fgZa9cKkVFvNacv-tw@mail.gmail.com>: |The architectural alternative to powershell-style extension has been around |in various guises for a while. In particular things like TCL and Lua are |engineered to be add-on extension languages. Integrating them just |involves adding a few callouts (dispatch a “program”, scan directories in a |designated “path” for programs, render internal structures into text). | |This style of design has been around for a long time - all Unix shells, |EMacs, many video games. | |It enables an elegant approach to performance management - build it first |as a script and only reimplement it as a binary if needed. | |Doing this enables automation, but it does require the designers and |product managers to want automation. Let me be the one who feed the silent head shakers with the Rob Pike quote "[just] make it strings". Of course lua hooks are faster, and i am looking forward myself, but other than that textual input/output communication with a program is language-neutral and somehow humanic. So now the time has come to point to an influential -- for me -- manual from 2001, that goes into assembler programming for x86: https://docs.freebsd.org/en/books/developers-handbook/x86/ And there you read things like A.12. One-Pointed Mind As a student of Zen, I like the idea of a one-pointed mind: Do one thing at a time, and do it well. This, indeed, is very much how UNIX® works as well. While a typical Windows® application is attempting to do everything imaginable (and is, therefore, riddled with bugs), a typical UNIX® program does only one thing, and it does it well. The typical UNIX® user then essentially assembles his own applications by writing a shell script which combines the various existing programs by piping the output of one program to the input of another. When writing your own UNIX® software, it is generally a good idea to see what parts of the problem you need to solve can be handled by existing programs, and only write your own programs for that part of the problem that you do not have an existing solution for. And going over A.13.2. Excursion to Pinhole Photography we come to the A.13.3.1. Processing Program Input which was a stunning read for me (the 15+ years before i came via Commodore 64 and its Basic, over Windows 3.1 and Windows 95 and, alongside, DOS, later 4DOS (then perl etc.)), because when doing really, really important things like calculating the cubic capacity of ones penis' in cubic millimeters (to end up with large numbers, say), i would never have thought by myself that the program accept and parse running text! (There you see that something "big" can actually be pretty "small" indeed.) Personally, I like to keep it simple. Something either is a number, so I process it. Or it is not a number, so I discard it. I do not like the computer complaining about me typing in an extra character when it is obvious that it is an extra character. Duh. Plus, it allows me to break up the monotony of computing and type in a query instead of just a number: What is the best pinhole diameter for the focal length of 150? There is no reason for the computer to spit out a number of complaints: Syntax error: What Syntax error: is Syntax error: the Syntax error: best Et cetera, et cetera, et cetera. And this (assembler!) then goes to % pinhole Computer, What size pinhole do I need for the focal length of 150? 150 490 306 362 2930 12 Hmmm... How about 160? 160 506 316 362 3125 12 Let's make it 155, please. 155 498 311 362 3027 12 Ah, let's try 157... 157 501 313 362 3066 12 156? 156 500 312 362 3047 12 That's it! Perfect! Thank you very much! ^D which is not even handled by GNU getopt with its argument-resorting behaviour! But it is likely that you all do not need that no more anyway, since you likely just speak out (silently at "Hal" level) "Hey computer bla bla", and the AI does the rest itself. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-10 19:40 ` Steffen Nurpmeso @ 2024-06-10 20:09 ` Marc Donner 2024-06-10 20:19 ` Steffen Nurpmeso 0 siblings, 1 reply; 26+ messages in thread From: Marc Donner @ 2024-06-10 20:09 UTC (permalink / raw) To: Marc Donner, Dave Horsfall, The Eunuchs Hysterical Society [-- Attachment #1: Type: text/plain, Size: 5003 bytes --] Totally correct - in the words of the immortal Beatles - "Strings is all you need." ===== nygeek.net mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home> On Mon, Jun 10, 2024 at 3:40 PM Steffen Nurpmeso <steffen@sdaoden.eu> wrote: > Marc Donner wrote in > <CALQ0xCCNYP26Crv6m6Xp7efBL-wzfTB=fgZa9cKkVFvNacv-tw@mail.gmail.com>: > |The architectural alternative to powershell-style extension has been > around > |in various guises for a while. In particular things like TCL and Lua are > |engineered to be add-on extension languages. Integrating them just > |involves adding a few callouts (dispatch a “program”, scan directories > in a > |designated “path” for programs, render internal structures into text). > | > |This style of design has been around for a long time - all Unix shells, > |EMacs, many video games. > | > |It enables an elegant approach to performance management - build it first > |as a script and only reimplement it as a binary if needed. > | > |Doing this enables automation, but it does require the designers and > |product managers to want automation. > > Let me be the one who feed the silent head shakers with the > Rob Pike quote "[just] make it strings". > > Of course lua hooks are faster, and i am looking forward myself, > but other than that textual input/output communication with > a program is language-neutral and somehow humanic. > > So now the time has come to point to an influential -- for me -- > manual from 2001, that goes into assembler programming for x86: > > https://docs.freebsd.org/en/books/developers-handbook/x86/ > > And there you read things like > > A.12. One-Pointed Mind > > As a student of Zen, I like the idea of a one-pointed mind: Do > one thing at a time, and do it well. > > This, indeed, is very much how UNIX® works as well. While > a typical Windows® application is attempting to do everything > imaginable (and is, therefore, riddled with bugs), a typical > UNIX® program does only one thing, and it does it well. > > The typical UNIX® user then essentially assembles his own > applications by writing a shell script which combines the > various existing programs by piping the output of one program to > the input of another. > > When writing your own UNIX® software, it is generally a good > idea to see what parts of the problem you need to solve can be > handled by existing programs, and only write your own programs > for that part of the problem that you do not have an existing > solution for. > > And going over > > A.13.2. Excursion to Pinhole Photography > > we come to the > > A.13.3.1. Processing Program Input > > which was a stunning read for me (the 15+ years before i came via > Commodore 64 and its Basic, over Windows 3.1 and Windows 95 and, > alongside, DOS, later 4DOS (then perl etc.)), because when doing > really, really important things like calculating the cubic > capacity of ones penis' in cubic millimeters (to end up with large > numbers, say), i would never have thought by myself that the > program accept and parse running text! (There you see that > something "big" can actually be pretty "small" indeed.) > > Personally, I like to keep it simple. Something either is > a number, so I process it. Or it is not a number, so I discard > it. I do not like the computer complaining about me typing in an > extra character when it is obvious that it is an extra > character. Duh. > > Plus, it allows me to break up the monotony of computing and > type in a query instead of just a number: > > What is the best pinhole diameter for the focal length of 150? > > There is no reason for the computer to spit out a number of complaints: > > Syntax error: What > Syntax error: is > Syntax error: the > Syntax error: best > > Et cetera, et cetera, et cetera. > > And this (assembler!) then goes to > > % pinhole > > Computer, > > What size pinhole do I need for the focal length of 150? > 150 490 306 362 2930 12 > Hmmm... How about 160? > 160 506 316 362 3125 12 > Let's make it 155, please. > 155 498 311 362 3027 12 > Ah, let's try 157... > 157 501 313 362 3066 12 > 156? > 156 500 312 362 3047 12 > That's it! Perfect! Thank you very much! > ^D > > which is not even handled by GNU getopt with its > argument-resorting behaviour! > But it is likely that you all do not need that no more anyway, > since you likely just speak out (silently at "Hal" level) "Hey > computer bla bla", and the AI does the rest itself. > > --steffen > | > |Der Kragenbaer, The moon bear, > |der holt sich munter he cheerfully and one by one > |einen nach dem anderen runter wa.ks himself off > |(By Robert Gernhardt) > [-- Attachment #2: Type: text/html, Size: 6247 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-10 20:09 ` Marc Donner @ 2024-06-10 20:19 ` Steffen Nurpmeso 0 siblings, 0 replies; 26+ messages in thread From: Steffen Nurpmeso @ 2024-06-10 20:19 UTC (permalink / raw) To: Marc Donner; +Cc: The Eunuchs Hysterical Society Marc Donner wrote in <CALQ0xCD0YPurnXnWnK6Q-E0ndXwztzoYHKK9Pr+Sef8=XGtb2Q@mail.gmail.com>: |Totally correct - in the words of the immortal Beatles - "Strings is all |you need." Sounds a bit like a somewhat pissed younger John Lennon? Iggy's "put some strings, you know" on some of those photograph seamy American carpets. (Of course -- i have no idea of what i am talking about.) --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: Likely a one-liner in Unix 2024-06-10 8:39 ` Dave Horsfall 2024-06-10 9:36 ` Marc Donner @ 2024-06-11 3:15 ` James Frew 2024-06-11 8:05 ` Ralph Corderoy 1 sibling, 1 reply; 26+ messages in thread From: James Frew @ 2024-06-11 3:15 UTC (permalink / raw) To: tuhs OK, I'll bite (NB: using GNU find): find "$directory_tree" -type f -printf "%A+ %p\n" | sort -r | cut -d' ' -f2 | head -5 Cheers, /Frew On 2024-06-10 01:39, Dave Horsfall wrote: > On Mon, 10 Jun 2024, Ed Bradford wrote: > >> [...] people who know how to write stuff in PS are more expensive >> employees, and development time for asking a simple question like >> >> "Show me the last 5 files read in a directory tree" > Likely a one-liner in Unix :-) > > -- Dave ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: Likely a one-liner in Unix 2024-06-11 3:15 ` [TUHS] Re: Likely a one-liner in Unix James Frew @ 2024-06-11 8:05 ` Ralph Corderoy 2024-06-11 21:01 ` Steffen Nurpmeso 0 siblings, 1 reply; 26+ messages in thread From: Ralph Corderoy @ 2024-06-11 8:05 UTC (permalink / raw) Hi James, > > > "Show me the last 5 files read in a directory tree" Given sort(1) gained -u for efficiency, I've often wondered why, in those constrained times, it didn't have a ‘-m n’ to output only the n ‘minimums’, e.g. ‘sed ${n}q’. With ‘-m 5’, this would let sort track the current fifth entry and discard input which was bigger, so avoiding both storing many unwanted lines and finding the current line's location within them. > OK, I'll bite (NB: using GNU find): I think the POSIX way of getting the atime would be ‘LC_CTIME=C ls -lu’ and then parsing the two possible date formats. So non-POSIX find is simpler. Also, GNU find shows me the sub-second part but ls doesn't. Neither does GNU ‘stat -c '%X %n'’. > find "$directory_tree" -type f -printf "%A+ %p\n" | sort -r | cut -d' ' -f2 | head -5 - I'd switch the atime format to seconds since epoch for easier formatting given it's discarded. - When atimes tie, sort's -r will give file Z before A so I'd add some -k's so A comes first. - I'd move the head to before the cut so cut processes fewer lines... - But on so few lines, I'd just use sed to do both in one. find "$@" -type f -printf '%A@ %p\n' | sort -k1,1nr -k2 | sed 's/^[^ ]* //; 5q' Remaining issues... If tied entries bridge the top-five border then this isn't shown. Is the real requirement to show files with the five most recent distinct atimes? awk '{t += !s[$0]; s[$0] = 1; print} t == 5 {exit}' Though this might give many lines. Instead, an ellipsis could show a tie bridged the cut-off. awk 't {if ($0 == l) print "..."; exit} NR == 5 {l = $0; t = 1} 1' Paths can contain linefeeds and some versions allow handling NULs to be tediously employed. find "$@" -type f -printf '%A@ %p\0' | sort -z -k1,1nr -k2 | sed -z 's/[^ ]* //; 5q' | tr \\0 \\n David Wheeler has a nice article he maintains on unusual characters in filenames: how to cope, and what other systems do, e.g. Plan 9. Fixing Unix/Linux/POSIX filenames: control characters (such as newline), leading dashes, and other problems David A. Wheeler, 2023-08-22 (originally 2009-03-24) https://dwheeler.com/essays/fixing-unix-linux-filenames.html As he writes, Linux already returns EINVAL for some paths on some filesystem types. A mount option which had a syscall return an error on meeting an insensible path would be useful. It avoids any attempt at escapement and its greater risk of implementation errors. I could always re-mount some old volume without the option to list the directory and fix up its entries. The second-best day to plant a tree is today. -- Cheers, Ralph. ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: Likely a one-liner in Unix 2024-06-11 8:05 ` Ralph Corderoy @ 2024-06-11 21:01 ` Steffen Nurpmeso 0 siblings, 0 replies; 26+ messages in thread From: Steffen Nurpmeso @ 2024-06-11 21:01 UTC (permalink / raw) To: Ralph Corderoy; +Cc: tuhs Ralph Corderoy wrote in <20240611080506.73D7B21309@orac.inputplus.co.uk>: .. |>>> "Show me the last 5 files read in a directory tree" ... |Neither does GNU ‘stat -c '%X %n'’. Unfortunately "stat" is not portable. ... |David Wheeler has a nice article he maintains on unusual characters in |filenames: how to cope, and what other systems do, e.g. Plan 9. | | Fixing Unix/Linux/POSIX filenames: control characters (such as | newline), leading dashes, and other problems | David A. Wheeler, 2023-08-22 (originally 2009-03-24) | https://dwheeler.com/essays/fixing-unix-linux-filenames.html | |As he writes, Linux already returns EINVAL for some paths on some |filesystem types. A mount option which had a syscall return an error on |meeting an insensible path would be useful. It avoids any attempt at |escapement and its greater risk of implementation errors. I could |always re-mount some old volume without the option to list the directory |and fix up its entries. The second-best day to plant a tree is today. dash is currently implementing $'' quotes (that will be part of the next POSIX i think). I want to mention again, eh, please let me just paste something of mine from ossec from may, as i really think in $'' could lie sanity also for such things: While here please let me back the not yet gracefully supported shell escape mechanism $''. The current approach seems to be to be as atomic as possible: # touch $(printf 'a\rb\tc\a') # ll -> -rw-r----- 1 steffen steffen 0 May 3 00:46 'c'$'\a' -rw-r----- 1 steffen steffen 0 May 3 00:46 'a'$'\r''b' (GNU coreutils). Isn't that just terrible? In (the development version of) my mailer tab-completion leads to #..mbox? /tmp/<TAB> $'a\rb' $'c\a' which i find at least a little bit better. (Do not even think about looking in its implementation though, look ICU or what.) And even though currently unsupported, it should be said that with "grapheme clusters" and in general things like ligatures and other such language-specific constructs which need to look at surroundings -- in general interfaces like towupper() etc are not useful in global context, entire sentences have to be looked at as a whole due to this! --, shell quotes should be extended to the largest possible range possible. Ie, all the iconv(3)s that are currently used because of a lack of other interfaces should be enabled to see the longest possible (sub)string, not the most atomar, as seen above. Anyhow, with proper $'' quoting that also offers \$VAR/\${VAR} for example (which acts like "$VAR" in double quotes; and \c@==NUL, xx) there would be a way to a have a holistic quoting mechanism. Some more complaining of an idiot who does not understand why ISO C and more standardized holes in the \U and \u (Unicode code point, hexadecimal) ranges. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) ^ permalink raw reply [flat|nested] 26+ messages in thread
[parent not found: <1324869037.1755756.1717582639424.ref@mail.yahoo.com>]
* [TUHS] most direct Unix descendant [not found] <1324869037.1755756.1717582639424.ref@mail.yahoo.com> @ 2024-06-05 10:17 ` Andrew Lynch via TUHS 2024-06-05 10:51 ` [TUHS] " Andrew Warkentin 2024-06-05 17:34 ` segaloco via TUHS 0 siblings, 2 replies; 26+ messages in thread From: Andrew Lynch via TUHS @ 2024-06-05 10:17 UTC (permalink / raw) To: TUHS Main List [-- Attachment #1: Type: text/plain, Size: 731 bytes --] Hi Out of curiosity, what would be considered the most direct descendent of Unix available today? Yes, there are many descendants, but they've all gone down their own evolutionary paths. Is it FreeBSD or NetBSD? Something else? I don't think it would be Minix or Linux because I remember when they came along, and it was well after various Unix versions were around. Does such a thing even exist anymore? I remember using AT&T Unix System V and various BSD variants back in college in the 1980's. System V was the "new thing" back then but was eventually sold and seems to have faded. Maybe it is only available commercially, but it does not seem as prominent as it once was. Any thoughts? Thanks, Andrew Lynch [-- Attachment #2: Type: text/html, Size: 1384 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 10:17 ` [TUHS] most direct Unix descendant Andrew Lynch via TUHS @ 2024-06-05 10:51 ` Andrew Warkentin 2024-06-05 13:46 ` Andrew Lynch via TUHS 2024-06-05 17:34 ` segaloco via TUHS 1 sibling, 1 reply; 26+ messages in thread From: Andrew Warkentin @ 2024-06-05 10:51 UTC (permalink / raw) To: The Unix Heritage Society mailing list On Wed, Jun 5, 2024 at 4:17 AM Andrew Lynch via TUHS <tuhs@tuhs.org> wrote: > > Hi > > Out of curiosity, what would be considered the most direct descendent of Unix available today? Yes, there are many descendants, but they've all gone down their own evolutionary paths. > > Is it FreeBSD or NetBSD? Something else? I don't think it would be Minix or Linux because I remember when they came along, and it was well after various Unix versions were around. > > Does such a thing even exist anymore? I remember using AT&T Unix System V and various BSD variants back in college in the 1980's. System V was the "new thing" back then but was eventually sold and seems to have faded. Maybe it is only available commercially, but it does not seem as prominent as it once was. > > Any thoughts? > What exactly do you mean by "most direct descendant of Unix"? Are you specifically talking about Research Unix? Both USG (SysIII/SysV) and BSD are actually more like side branches from Research Unix, and neither is really a continuation of it. After V7, Research Unix continued until V10, but was barely distributed outside Bell Labs and had relatively little direct influence on anything else; these late Research Unix versions did incorporate significant amounts of code from the side branches that took over the mainstream (especially BSD, although there may have been a bit of USG code incorporated as well). I'd say the closest thing to "the most direct modern descendant of Research Unix" would be Plan 9, which continued the development of the networking and extensibility features of late Research Unix, but significantly broke compatibility with Unix (sometimes in ways that are IMO not really worth the incompatibility). ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 10:51 ` [TUHS] " Andrew Warkentin @ 2024-06-05 13:46 ` Andrew Lynch via TUHS 0 siblings, 0 replies; 26+ messages in thread From: Andrew Lynch via TUHS @ 2024-06-05 13:46 UTC (permalink / raw) To: The Unix Heritage Society mailing list, Andrew Warkentin [-- Attachment #1: Type: text/plain, Size: 2285 bytes --] On Wednesday, June 5, 2024 at 06:51:54 AM EDT, Andrew Warkentin <andreww591@gmail.com> wrote: On Wed, Jun 5, 2024 at 4:17 AM Andrew Lynch via TUHS <tuhs@tuhs.org> wrote: > > Hi > > Out of curiosity, what would be considered the most direct descendent of Unix available today? Yes, there are many descendants, but they've all gone down their own evolutionary paths. > > Is it FreeBSD or NetBSD? Something else? I don't think it would be Minix or Linux because I remember when they came along, and it was well after various Unix versions were around. > > Does such a thing even exist anymore? I remember using AT&T Unix System V and various BSD variants back in college in the 1980's. System V was the "new thing" back then but was eventually sold and seems to have faded. Maybe it is only available commercially, but it does not seem as prominent as it once was. > > Any thoughts? > What exactly do you mean by "most direct descendant of Unix"? Are you specifically talking about Research Unix? Both USG (SysIII/SysV) and BSD are actually more like side branches from Research Unix, and neither is really a continuation of it. After V7, Research Unix continued until V10, but was barely distributed outside Bell Labs and had relatively little direct influence on anything else; these late Research Unix versions did incorporate significant amounts of code from the side branches that took over the mainstream (especially BSD, although there may have been a bit of USG code incorporated as well). I'd say the closest thing to "the most direct modern descendant of Research Unix" would be Plan 9, which continued the development of the networking and extensibility features of late Research Unix, but significantly broke compatibility with Unix (sometimes in ways that are IMO not really worth the incompatibility). Hi That's interesting. I've been pondering this question for a while and suspected the answer is either "it doesn't exist" or "depends on who you ask" but I hadn't considered Research Unix. For a long time, I considered AT&T System V to be the primary Unix descendant but have changed my mind and now not sure. The question is simple, but the answer seems quite complicated. Thanks, Andrew Lynch [-- Attachment #2: Type: text/html, Size: 4096 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 10:17 ` [TUHS] most direct Unix descendant Andrew Lynch via TUHS 2024-06-05 10:51 ` [TUHS] " Andrew Warkentin @ 2024-06-05 17:34 ` segaloco via TUHS 2024-06-05 17:51 ` Will Senn 1 sibling, 1 reply; 26+ messages in thread From: segaloco via TUHS @ 2024-06-05 17:34 UTC (permalink / raw) To: Andrew Lynch; +Cc: TUHS Main List On Wednesday, June 5th, 2024 at 3:17 AM, Andrew Lynch via TUHS <tuhs@tuhs.org> wrote: > Hi > > Out of curiosity, what would be considered the most direct descendent of Unix available today? > > ... > > Thanks, Andrew Lynch I don't think this question has one correct answer, rather, it really depends on your definition of purity. My two cents: From a purely source code perspective, much of System V and its kin can be traced back to the Research implementations of various bits. Between V7 and V8, Research incorporated a fair deal of BSD, but at a time prior to the majority of BSD being reimplemented as unencumbered source code, so in many parts of the codebase, the actual source still very much was descended from V7, just with some BSD "accent" incorporated. To me one of the most notable userland divergences in the commercial stream is the init system, what with commercial UNIX aligning more with what is seen in CB (and allegedly USG Program Generic 3, but I have no direct proof, just speculation based on alleged manpages.) In any case, if you did a huge diff of the source code between say V7 and SVR4, you would likely find a fair deal of commonality, especially in userland. Taking an alternate viewpoint, BSD, while entirely rewritten, strove for functional compatibility with the bits that were being replaced, and in many ways BSD "behaved" more like Research, in reality and in "spirit". Again using the init system as an example, to this day the BSDs use an init system much closer to Research init than USGs run-level system. BSD also shows up in many more UNIX "places" than System V does. Indeed primarily System V distributions over time incorporate aspects of BSD due to their proliferation elsewhere in the UNIX world, much more than commercial backflow in the other direction. Given this, my humble opinion (which again this sort of thing I believe is largely a philosophical matter of opinion...) is that the BSD line captures the spirit of Research UNIX much more than System V does, while System V retains much more of the source code lineage of what most folks would consider a "pure" UNIX. Of course all of this too is predicated on treating V7 (really 32V...) as that central point of divergence. Good luck in your quest to find the answer to this question. I suspect it has no concrete answer and rather is one of those more philosophical quandaries that makes UNIX something worth pondering on this level. That all said, eventually I intend via my mandiff project to determine which of the three "last" historic UNIX manuals (SVR4, 4.4BSD, V10) has the highest parity with V7 literature, and similar work has been attempted via source code (D. Spinellis git repo[1]), so if that sort of quantitative analysis is more your cup of tea, then it may be possible to boil it down to ratios of "is and isn't V7" in codebases...but that sort of thing doesn't paint the full picture. That and the linked git repo doesn't incorporate System V for legal reasons...a bridge I haven't had to cross yet as I'm between V6 and V7 on my own analysis presently. One last disclaimer as I know this question can also stir up matters of pride, this is all opinion, and I think only can be opinion at this point, but my opinion is also only based on observations from afar. I wasn't a key player in this stuff, those folks' thoughts carry much more weight than mine do, but I also suspect, like good parents, folks with more heft to their involvement in things know the value in not playing favorites and letting their issue stand on their own. - Matt G. P.S. Can you tell this is one of my favorite questions to ponder :) [1] - https://github.com/dspinellis/unix-history-repo/branches/all?page=9 ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 17:34 ` segaloco via TUHS @ 2024-06-05 17:51 ` Will Senn 2024-06-05 18:02 ` ron minnich 2024-06-05 18:22 ` Jeffrey Joshua Rollin 0 siblings, 2 replies; 26+ messages in thread From: Will Senn @ 2024-06-05 17:51 UTC (permalink / raw) To: segaloco, Andrew Lynch; +Cc: TUHS Main List On 6/5/24 12:34 PM, segaloco via TUHS wrote: > On Wednesday, June 5th, 2024 at 3:17 AM, Andrew Lynch via TUHS <tuhs@tuhs.org> wrote: > >> Hi >> >> Out of curiosity, what would be considered the most direct descendent of Unix available today? >> >> ... >> >> Thanks, Andrew Lynch > snip > Given this, my humble opinion (which again this sort of thing I believe is largely a philosophical matter of opinion...) is that the BSD line captures the spirit of Research UNIX much more than System V does, while System V retains much more of the source code lineage of what most folks would consider a "pure" UNIX. Of course all of this too is predicated on treating V7 (really 32V...) as that central point of divergence. When I saw this thread appear, I was of two minds about it, but this lines up with where my thoughts were headed. I've done a lot of delving into the v6/v7 environments over the last 10 years or so and it feels much closer in kinship to BSD derivatives than to SysV... source code lineages aside. Also, I get more mileage out of my BSD books and docs than those treating SysV. I'd vote for *BSD as sticking closest to the unix way, if there is still such a thing... I say this as I just typed 'kldload linux64' into freebsd's terminal so I could run sublime alongside nvi... sometimes I wish I was a purist, but I'm way too fond of experimentation :). Will ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 17:51 ` Will Senn @ 2024-06-05 18:02 ` ron minnich 2024-06-05 23:07 ` Andrew Warkentin 2024-06-05 18:22 ` Jeffrey Joshua Rollin 1 sibling, 1 reply; 26+ messages in thread From: ron minnich @ 2024-06-05 18:02 UTC (permalink / raw) To: Will Senn; +Cc: segaloco, Andrew Lynch, TUHS Main List [-- Attachment #1: Type: text/plain, Size: 2007 bytes --] You could argue that the most direct descendant is the one in which all resources are presented and accessed via open/read/write/close. If your kernel has separate system calls for reading directories, or setting up network connections, or debugging processes, then you may not be a direct descendant, at least philosophically (and, yes, I know about ptrace ...) But your kernel might be Plan 9, which at least to me, is the direct descendant. :-) On Wed, Jun 5, 2024 at 10:51 AM Will Senn <will.senn@gmail.com> wrote: > On 6/5/24 12:34 PM, segaloco via TUHS wrote: > > On Wednesday, June 5th, 2024 at 3:17 AM, Andrew Lynch via TUHS < > tuhs@tuhs.org> wrote: > > > >> Hi > >> > >> Out of curiosity, what would be considered the most direct descendent > of Unix available today? > >> > >> ... > >> > >> Thanks, Andrew Lynch > > snip > > Given this, my humble opinion (which again this sort of thing I believe > is largely a philosophical matter of opinion...) is that the BSD line > captures the spirit of Research UNIX much more than System V does, while > System V retains much more of the source code lineage of what most folks > would consider a "pure" UNIX. Of course all of this too is predicated on > treating V7 (really 32V...) as that central point of divergence. > When I saw this thread appear, I was of two minds about it, but this > lines up with where my thoughts were headed. I've done a lot of delving > into the v6/v7 environments over the last 10 years or so and it feels > much closer in kinship to BSD derivatives than to SysV... source code > lineages aside. Also, I get more mileage out of my BSD books and docs > than those treating SysV. I'd vote for *BSD as sticking closest to the > unix way, if there is still such a thing... I say this as I just typed > 'kldload linux64' into freebsd's terminal so I could run sublime > alongside nvi... sometimes I wish I was a purist, but I'm way too fond > of experimentation :). > > Will > [-- Attachment #2: Type: text/html, Size: 2504 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 18:02 ` ron minnich @ 2024-06-05 23:07 ` Andrew Warkentin 0 siblings, 0 replies; 26+ messages in thread From: Andrew Warkentin @ 2024-06-05 23:07 UTC (permalink / raw) To: The Unix Heritage Society mailing list On Wed, Jun 5, 2024 at 12:02 PM ron minnich <rminnich@gmail.com> wrote: > > You could argue that the most direct descendant is the one in which all resources are presented and accessed via open/read/write/close. > > If your kernel has separate system calls for reading directories, or setting up network connections, or debugging processes, then you may not be a direct descendant, at least philosophically (and, yes, I know about ptrace ...) > > But your kernel might be Plan 9, which at least to me, is the direct descendant. :-) > Even Plan 9's model is more like "all I/O is a file" and not "literally everything is a file", since regular process memory is still anonymous and fork()/rfork() are still system calls. I've never seen an OS that puts together the "all memory is a file" of Multics and the "all I/O is a file" of Plan 9. I think the one I'm working on <https://gitlab.com/uxrt/uxrt-toplevel> is probably the first. Its public "system call" API (actually a jump table into a static shared library; the real microkernel system calls will be considered a private implementation detail) will just consist of read()/write()/seek()-like calls plus a few support functions to go with them; even things like open() and close() will be RPCs over a permanently-open channel file, and process/thread creation and memory allocation will be done through /proc (there will of course be a library interface over this that implements regular Unix APIs). ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 17:51 ` Will Senn 2024-06-05 18:02 ` ron minnich @ 2024-06-05 18:22 ` Jeffrey Joshua Rollin 2024-06-05 18:41 ` Warner Losh 1 sibling, 1 reply; 26+ messages in thread From: Jeffrey Joshua Rollin @ 2024-06-05 18:22 UTC (permalink / raw) To: Will Senn; +Cc: segaloco, Andrew Lynch, TUHS Main List Following this line of thought, - and with the disclaimer that my own personal existence begins roughly where what has been called “The Last True UNIX” [Seventh Edition] ends, I’d say that, if ESR - who I know can be controversial - is correct, “BSD won in the marketplace, but System V won the standards wars” or words to that effect. With that in mind, and given that NetBSD was forked from 386BSD and in turn gave rise to the other BSDs around today, it would be my candidate for “most direct descendant available today,” particularly if we’re talking wide availability. (Whilst V1-6 and beyond were of course only available to users of business and academic mainframes and minicomputers, I’d argue that the other two contenders, Solaris and HP-UX, are sufficiently rare in comparison to the availability even of the open source BSD’s that the word “available” would be doing some rather heavy lifting if I were to include them.) The BSDs (except macOS and whatever SCO’s cash cow is called this evening) are also open source, of course, which is inline with the spirit of early Unix. I’ve not done an audit - and am not qualified to - but I suspect the main objection to this line of thinking is that despite the fact it still runs on VAX, it would not surprise me in the least to find that (excluding comments, perhaps), not a single line of code remains the same in NetBSD 10 (and indeed several versions prior) to the equivalent in V7 - and again, I’ve no idea how much of V1 remains in V7, nor (other than knowing it was written in assembly) how closely early PDP-11 versions resembled PDP-7 versions. By then, I suspect we really are getting into the Ship of Theseus problem - as the ancient Greeks would have been familiar with the issue, by the time every single plank of Theseus’ Ship has been replaced because the old ones have decayed, is it really the Ship of Theseus anymore? Plus of course, though it’s more a legal issue than a philosophical one, not only at least one version of Mach-based macOS, but also one distribution of Linux - which is known not to contain either Minix or UNIX code - have been certified as UNIX by The Open Group. My 2c Jeff Sent from my iPhone > On 5 Jun 2024, at 18:51, Will Senn <will.senn@gmail.com> wrote: > > On 6/5/24 12:34 PM, segaloco via TUHS wrote: >>> On Wednesday, June 5th, 2024 at 3:17 AM, Andrew Lynch via TUHS <tuhs@tuhs.org> wrote: >>> >>> Hi >>> >>> Out of curiosity, what would be considered the most direct descendent of Unix available today? >>> >>> ... >>> >>> Thanks, Andrew Lynch >> snip >> Given this, my humble opinion (which again this sort of thing I believe is largely a philosophical matter of opinion...) is that the BSD line captures the spirit of Research UNIX much more than System V does, while System V retains much more of the source code lineage of what most folks would consider a "pure" UNIX. Of course all of this too is predicated on treating V7 (really 32V...) as that central point of divergence. > When I saw this thread appear, I was of two minds about it, but this lines up with where my thoughts were headed. I've done a lot of delving into the v6/v7 environments over the last 10 years or so and it feels much closer in kinship to BSD derivatives than to SysV... source code lineages aside. Also, I get more mileage out of my BSD books and docs than those treating SysV. I'd vote for *BSD as sticking closest to the unix way, if there is still such a thing... I say this as I just typed 'kldload linux64' into freebsd's terminal so I could run sublime alongside nvi... sometimes I wish I was a purist, but I'm way too fond of experimentation :). > > Will ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 18:22 ` Jeffrey Joshua Rollin @ 2024-06-05 18:41 ` Warner Losh 2024-06-05 19:17 ` Jeffrey Joshua Rollin 0 siblings, 1 reply; 26+ messages in thread From: Warner Losh @ 2024-06-05 18:41 UTC (permalink / raw) To: Jeffrey Joshua Rollin; +Cc: Will Senn, segaloco, Andrew Lynch, TUHS Main List [-- Attachment #1: Type: text/plain, Size: 5109 bytes --] On Wed, Jun 5, 2024, 11:23 AM Jeffrey Joshua Rollin < jefftwopointzero@gmail.com> wrote: > Following this line of thought, - and with the disclaimer that my own > personal existence begins roughly where what has been called “The Last True > UNIX” [Seventh Edition] ends, I’d say that, if ESR - who I know can be > controversial - is correct, “BSD won in the marketplace, but System V won > the standards wars” or words to that effect. > > With that in mind, and given that NetBSD was forked from 386BSD and in > turn gave rise to the other BSDs around today, That is not true. FreeBSD imported the 386BSD plus patchkit patches into its CVS tree. It did not inport NetBSD's source, though NetBSD did import the same sources into their CVS repo days (or maybe weeks) earlier. Much of this early history, though, is not widely available as the early NetBSD and FreeBSD CVS repos are not available in their original form due to the AT&T lawsuit. And then the redo of these groups of the 4.4BSD import, the 4.4BSD-lite and lite 2 rebased both projects further muddy the waters since they now were both based on approximately the same pure from CSRG sources, rendering the earlier messiness perhaps moot. Or perhaps not, but not a point that has universal agreement, even among those involved in doing the work. It also gets muddy because of the original patchkit authors also spintered to for both NetBSD and FreeBSD in a way that's most kindly described as messy, so much spin was broadcast to characterize who was first or best. The truth is that the split was messy and definitive statements around this are troublesome at best. Warner it would be my candidate for “most direct descendant available today,” > particularly if we’re talking wide availability. (Whilst V1-6 and beyond > were of course only available to users of business and academic mainframes > and minicomputers, I’d argue that the other two contenders, Solaris and > HP-UX, are sufficiently rare in comparison to the availability even of the > open source BSD’s that the word “available” would be doing some rather > heavy lifting if I were to include them.) The BSDs (except macOS and > whatever SCO’s cash cow is called this evening) are also open source, of > course, which is inline with the spirit of early Unix. > > I’ve not done an audit - and am not qualified to - but I suspect the main > objection to this line of thinking is that despite the fact it still runs > on VAX, it would not surprise me in the least to find that (excluding > comments, perhaps), not a single line of code remains the same in NetBSD 10 > (and indeed several versions prior) to the equivalent in V7 - and again, > I’ve no idea how much of V1 remains in V7, nor (other than knowing it was > written in assembly) how closely early PDP-11 versions resembled PDP-7 > versions. By then, I suspect we really are getting into the Ship of Theseus > problem - as the ancient Greeks would have been familiar with the issue, by > the time every single plank of Theseus’ Ship has been replaced because the > old ones have decayed, is it really the Ship of Theseus anymore? > > Plus of course, though it’s more a legal issue than a philosophical one, > not only at least one version of Mach-based macOS, but also one > distribution of Linux - which is known not to contain either Minix or UNIX > code - have been certified as UNIX by The Open Group. > > My 2c > > Jeff > > Sent from my iPhone > > > On 5 Jun 2024, at 18:51, Will Senn <will.senn@gmail.com> wrote: > > > > On 6/5/24 12:34 PM, segaloco via TUHS wrote: > >>> On Wednesday, June 5th, 2024 at 3:17 AM, Andrew Lynch via TUHS < > tuhs@tuhs.org> wrote: > >>> > >>> Hi > >>> > >>> Out of curiosity, what would be considered the most direct descendent > of Unix available today? > >>> > >>> ... > >>> > >>> Thanks, Andrew Lynch > >> snip > >> Given this, my humble opinion (which again this sort of thing I believe > is largely a philosophical matter of opinion...) is that the BSD line > captures the spirit of Research UNIX much more than System V does, while > System V retains much more of the source code lineage of what most folks > would consider a "pure" UNIX. Of course all of this too is predicated on > treating V7 (really 32V...) as that central point of divergence. > > When I saw this thread appear, I was of two minds about it, but this > lines up with where my thoughts were headed. I've done a lot of delving > into the v6/v7 environments over the last 10 years or so and it feels much > closer in kinship to BSD derivatives than to SysV... source code lineages > aside. Also, I get more mileage out of my BSD books and docs than those > treating SysV. I'd vote for *BSD as sticking closest to the unix way, if > there is still such a thing... I say this as I just typed 'kldload linux64' > into freebsd's terminal so I could run sublime alongside nvi... sometimes I > wish I was a purist, but I'm way too fond of experimentation :). > > > > Will > [-- Attachment #2: Type: text/html, Size: 6004 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 18:41 ` Warner Losh @ 2024-06-05 19:17 ` Jeffrey Joshua Rollin 2024-06-06 9:55 ` Ralph Corderoy 0 siblings, 1 reply; 26+ messages in thread From: Jeffrey Joshua Rollin @ 2024-06-05 19:17 UTC (permalink / raw) To: Warner Losh; +Cc: Will Senn, segaloco, Andrew Lynch, TUHS Main List [-- Attachment #1: Type: text/html, Size: 6624 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-05 19:17 ` Jeffrey Joshua Rollin @ 2024-06-06 9:55 ` Ralph Corderoy 2024-06-06 19:49 ` Steffen Nurpmeso 0 siblings, 1 reply; 26+ messages in thread From: Ralph Corderoy @ 2024-06-06 9:55 UTC (permalink / raw) To: TUHS Main List Hi, There's a chart of the connections between Unix versions at https://en.wikipedia.org/wiki/List_of_Unix_systems, though I dislike the lack of direction given there are some arcs with little incline. It says it's based on https://www.levenez.com/unix/ where Éric notes his chart is not limited to just source-code transfer. -- Cheers, Ralph. ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-06 9:55 ` Ralph Corderoy @ 2024-06-06 19:49 ` Steffen Nurpmeso 2024-06-09 8:00 ` Ed Bradford 0 siblings, 1 reply; 26+ messages in thread From: Steffen Nurpmeso @ 2024-06-06 19:49 UTC (permalink / raw) To: Ralph Corderoy; +Cc: TUHS Main List Ralph Corderoy wrote in <20240606095502.AD4EE210F4@orac.inputplus.co.uk>: |There's a chart of the connections between Unix versions at |https://en.wikipedia.org/wiki/List_of_Unix_systems, though I dislike the |lack of direction given there are some arcs with little incline. |It says it's based on https://www.levenez.com/unix/ where Éric notes his |chart is not limited to just source-code transfer. I also admire that FreeBSD and NetBSD keep on maintaining the bsd-family-tree (and in the original form, not that dots thing, or how it was called). So that starts with First Edition (V1) | Second Edition (V2) | Third Edition (V3) | Fourth Edition (V4) | Fifth Edition (V5) | Sixth Edition (V6) -----* \ | \ | \ | Seventh Edition (V7)----|----------------------* \ | | \ 1BSD | 32V | | \ 2BSD---------------* | \ / | | \ / | | \/ | | 3BSD | | | | | 4.0BSD 2.79BSD | | | | 4.1BSD --------------> 2.8BSD <-* | | 4.1aBSD -----------\ | | \ | 4.1bBSD \ | | \ | *------ 4.1cBSD --------------> 2.9BSD / | | Eighth Edition | 2.9BSD-Seismo | | | +----<--- 4.2BSD 2.9.1BSD ... and says Multics 1965 UNIX Summer 1969 DEC PDP-7 First Edition 1971-11-03 [QCU] DEC PDP-11/20, Assembler Second Edition 1972-06-12 [QCU] 10 UNIX installations Third Edition 1973-02-xx [QCU] Pipes, 16 installations Fourth Edition 1973-11-xx [QCU] rewriting in C effected, above 30 installations Fifth Edition 1974-06-xx [QCU] above 50 installations Sixth Edition 1975-05-xx [QCU] port to DEC Vax Seventh Edition 1979-01-xx [QCU] 1979-01-10 [TUHS] first portable UNIX .. with a nice Bibliography with falsely underscored headline plus URL: https://cgit.freebsd.org/src/tree/share/misc/bsd-family-tree It also covers the system most of you are using (later). --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) ^ permalink raw reply [flat|nested] 26+ messages in thread
* [TUHS] Re: most direct Unix descendant 2024-06-06 19:49 ` Steffen Nurpmeso @ 2024-06-09 8:00 ` Ed Bradford 0 siblings, 0 replies; 26+ messages in thread From: Ed Bradford @ 2024-06-09 8:00 UTC (permalink / raw) To: Ralph Corderoy, TUHS Main List [-- Attachment #1: Type: text/plain, Size: 5633 bytes --] Excellent responses here. Brings back so many great memories. My 1 cent would be to ask the question: Which of today's Unix variants (Linux, BSD, AIX, Cygwin, ...) is closest to the philosophy of the Ken-Denis-Doug versions of V6 Unix? All the variants I see today suffer from "complexification" - a John Mashey term. Documentation of commands today has grown 5 to 10 fold for each command in /usr/bin. V7 had less than 64 well documented system calls. Today's Linux, AIX, and others have how many? I don't know. The concept of producing a stream of text as the output of a program that does simple jobs well has been replaced by "power-shell" thinking of passing binary objects rather than text between program - a decidedly non-portable idea. Passing "objects" requires attaching to a dynamically linked library (that will change or even disappear with the next release of the OS or the object library). With Research Unix, I could pipe the output of a Unix program running on an Intel 486 to another program running on a Motorola 68000 or a Zilog Z80000 or an IBM AIX machine. IPhones, iPads, and my Android tablet don't have a usable text editor. All non-Unix text editors seem to struggle to offer a fixed width font. (Ever try to make columns line up on an iPhone or Android tablet?) Complexification rears its ugly head. I still use vi on both my Mac and PC (Cygwin). (I can't find a usable gvim for Mac and Macvim is weird but doesn't seem to know what a mouse is.) Unix brought automation to the forefront of possibilities. Using Unix, anyone could do it - even that kid in Jurassic Park. Today, everything is GUI and nothing can be automated easily or, most of the time, not at all. Unix is an ever shrinking oasis in a desert of non-automation and complexity. It is the loss of automation possibilities that frustrates me the most. (Don't mind me, I'm just outgassing for no good reason.) Ed On Thu, Jun 6, 2024 at 3:06 PM Steffen Nurpmeso <steffen@sdaoden.eu> wrote: > Ralph Corderoy wrote in > <20240606095502.AD4EE210F4@orac.inputplus.co.uk>: > |There's a chart of the connections between Unix versions at > |https://en.wikipedia.org/wiki/List_of_Unix_systems, though I dislike the > |lack of direction given there are some arcs with little incline. > |It says it's based on https://www.levenez.com/unix/ where Éric notes his > |chart is not limited to just source-code transfer. > > I also admire that FreeBSD and NetBSD keep on maintaining the > bsd-family-tree (and in the original form, not that dots thing, or > how it was called). So that starts with > > First Edition (V1) > | > Second Edition (V2) > | > Third Edition (V3) > | > Fourth Edition (V4) > | > Fifth Edition (V5) > | > Sixth Edition (V6) -----* > \ | > \ | > \ | > Seventh Edition (V7)----|----------------------* > \ | | > \ 1BSD | > 32V | | > \ 2BSD---------------* | > \ / | | > \ / | | > \/ | | > 3BSD | | > | | | > 4.0BSD 2.79BSD | > | | | > 4.1BSD --------------> 2.8BSD <-* > | | > 4.1aBSD -----------\ | > | \ | > 4.1bBSD \ | > | \ | > *------ 4.1cBSD --------------> 2.9BSD > / | | > Eighth Edition | 2.9BSD-Seismo > | | | > +----<--- 4.2BSD 2.9.1BSD > ... > > and says > > Multics 1965 > UNIX Summer 1969 > DEC PDP-7 > First Edition 1971-11-03 [QCU] > DEC PDP-11/20, Assembler > Second Edition 1972-06-12 [QCU] > 10 UNIX installations > Third Edition 1973-02-xx [QCU] > Pipes, 16 installations > Fourth Edition 1973-11-xx [QCU] > rewriting in C effected, > above 30 installations > Fifth Edition 1974-06-xx [QCU] > above 50 installations > Sixth Edition 1975-05-xx [QCU] > port to DEC Vax > Seventh Edition 1979-01-xx [QCU] 1979-01-10 [TUHS] > first portable UNIX > .. > > with a nice Bibliography with falsely underscored headline plus > > URL: https://cgit.freebsd.org/src/tree/share/misc/bsd-family-tree > > It also covers the system most of you are using (later). > > --steffen > | > |Der Kragenbaer, The moon bear, > |der holt sich munter he cheerfully and one by one > |einen nach dem anderen runter wa.ks himself off > |(By Robert Gernhardt) > -- Advice is judged by results, not by intentions. Cicero [-- Attachment #2: Type: text/html, Size: 10775 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2024-06-11 21:37 UTC | newest] Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-06-09 11:34 [TUHS] Re: most direct Unix descendant Douglas McIlroy 2024-06-09 11:59 ` A. P. Garcia 2024-06-09 12:31 ` Ralph Corderoy 2024-06-09 14:06 ` A. P. Garcia 2024-06-10 5:13 ` Ed Bradford 2024-06-10 5:25 ` G. Branden Robinson 2024-06-10 8:39 ` Dave Horsfall 2024-06-10 9:36 ` Marc Donner 2024-06-10 19:40 ` Steffen Nurpmeso 2024-06-10 20:09 ` Marc Donner 2024-06-10 20:19 ` Steffen Nurpmeso 2024-06-11 3:15 ` [TUHS] Re: Likely a one-liner in Unix James Frew 2024-06-11 8:05 ` Ralph Corderoy 2024-06-11 21:01 ` Steffen Nurpmeso [not found] <1324869037.1755756.1717582639424.ref@mail.yahoo.com> 2024-06-05 10:17 ` [TUHS] most direct Unix descendant Andrew Lynch via TUHS 2024-06-05 10:51 ` [TUHS] " Andrew Warkentin 2024-06-05 13:46 ` Andrew Lynch via TUHS 2024-06-05 17:34 ` segaloco via TUHS 2024-06-05 17:51 ` Will Senn 2024-06-05 18:02 ` ron minnich 2024-06-05 23:07 ` Andrew Warkentin 2024-06-05 18:22 ` Jeffrey Joshua Rollin 2024-06-05 18:41 ` Warner Losh 2024-06-05 19:17 ` Jeffrey Joshua Rollin 2024-06-06 9:55 ` Ralph Corderoy 2024-06-06 19:49 ` Steffen Nurpmeso 2024-06-09 8:00 ` Ed Bradford
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).