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)
next prev parent 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).