The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Steffen Nurpmeso <steffen@sdaoden.eu>
To: Marc Donner <marc.donner@gmail.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: [TUHS] Re: most direct Unix descendant
Date: Mon, 10 Jun 2024 21:40:53 +0200	[thread overview]
Message-ID: <20240610194053.JfHirqmk@steffen%sdaoden.eu> (raw)
In-Reply-To: <CALQ0xCCNYP26Crv6m6Xp7efBL-wzfTB=fgZa9cKkVFvNacv-tw@mail.gmail.com>

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)

  reply	other threads:[~2024-06-10 19:41 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-09 11:34 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240610194053.JfHirqmk@steffen%sdaoden.eu \
    --to=steffen@sdaoden.eu \
    --cc=marc.donner@gmail.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).