The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [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

* [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

* [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-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-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 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 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 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 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 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 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 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   ` 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

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).