• openvms and xterm

    From motk@21:1/5 to All on Wed Apr 17 10:19:50 2024
    So, a really basic one here.

    What's the current best practice to match term types between vms and ssh clients? OpenVms doesn't see to understand a termtype of xterm, and I'm
    not sure if it recognises termtypes from an (inbound session) openssh
    config file.

    It would probably be good for VSI to spend a bit of time documenting
    this, maybe creating some client configs to try.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to motk on Tue Apr 16 21:18:37 2024
    On 4/16/2024 8:19 PM, motk wrote:
    So, a really basic one here.

    What's the current best practice to match term types between vms and ssh clients? OpenVms doesn't see to understand a termtype of xterm, and I'm
    not sure if it recognises termtypes from an (inbound session) openssh
    config file.

    It would probably be good for VSI to spend a bit of time documenting
    this, maybe creating some client configs to try.

    If xterm supports VT200/VT300/VT400 then set terminal to
    one of those.

    In theory /INQUIRE should work, but but reality can be different.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to motk on Tue Apr 16 22:15:51 2024
    On 4/16/2024 8:19 PM, motk wrote:
    So, a really basic one here.

    What's the current best practice to match term types between vms and ssh clients? OpenVms doesn't see to understand a termtype of xterm, and I'm not sure
    if it recognises termtypes from an (inbound session) openssh config file.

    It would probably be good for VSI to spend a bit of time documenting this, maybe
    creating some client configs to try.


    xterm is software, not a terminal type.

    Terminal types include VT100, VT200, VT300, VT400, VT500, and Ok, VT52.

    Good practice is:

    SET TERMINAL /INQUIRE

    Which will inquire what the terminal thinks it is.

    VT400 is usually best ...

    As always, HELP is your friend.

    SET

    TERMINAL

    /DEVICE_TYPE

    /DEVICE_TYPE=terminal-type

    Informs the system of the terminal type and sets characteristics
    according to the device type specified. You can specify any of
    the following terminal types:


    UNKNOWN LA100 PRO_SERIES VT102 VT200
    FT1-FT8 LA120 VT05 VT105 VT300
    LA12 LA210 VT52 VT125 VT400
    LA34 LN01K VT55 VT131 VT500
    LA36 LN03 VT100 VT132
    LA38 LQP02 VT101 VT173

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Dave Froble on Tue Apr 16 21:23:29 2024
    On 4/16/24 21:15, Dave Froble wrote:
    xterm is software, not a terminal type.

    XTerm is both a program /and/ it's own terminal type. It actually has
    multiple of it's own terminal types; xterm, xterm-color, and xterm-256color.

    There are probably more pieces of software using the xterm terminal type
    than are using vt100 terminal type.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to arne@vajhoej.dk on Wed Apr 17 19:56:12 2024
    In article <uvn81c$17ui1$1@dont-email.me>,
    =?UTF-8?Q?Arne_Vajh=C3=B8j?= <arne@vajhoej.dk> wrote:
    On 4/16/2024 8:19 PM, motk wrote:
    So, a really basic one here.

    What's the current best practice to match term types between vms and ssh
    clients? OpenVms doesn't see to understand a termtype of xterm, and I'm
    not sure if it recognises termtypes from an (inbound session) openssh
    config file.

    It would probably be good for VSI to spend a bit of time documenting
    this, maybe creating some client configs to try.

    If xterm supports VT200/VT300/VT400 then set terminal to
    one of those.

    In theory /INQUIRE should work, but but reality can be different.

    /INQUIRE gets "xterm" and VMS doesn't know what to do with that. If it
    just would set it to ansi when it gets "xterm" as a string it would be fine. --scott

    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to davef@tsoft-inc.com on Wed Apr 17 19:57:02 2024
    Dave Froble <davef@tsoft-inc.com> wrote:

    xterm is software, not a terminal type.

    It is both, this is the problem. If you ask it what it it, it says it's "xterm" and then VMS doesn't know what to do.
    --scott

    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Matthew R. Wilson on Wed Apr 17 17:14:52 2024
    On 4/17/2024 4:56 PM, Matthew R. Wilson wrote:
    On 2024-04-17, motk <meh@meh.meh> wrote:
    So, a really basic one here.

    What's the current best practice to match term types between vms and ssh
    clients? OpenVms doesn't see to understand a termtype of xterm, and I'm
    not sure if it recognises termtypes from an (inbound session) openssh
    config file.

    In my .Xresources, I have:

    XTerm*VT100.decTerminalID: vt102

    Then on OpenVMS, $ SET TERM/INQUIRE correctly identifies the device
    type. This does _not_ affect the TERM environment variable that gets set
    in Linux (e.g. `echo $TERM` still reports xterm-256color).

    As others have mentioned, something like vt240 or vt420 would be ideal. xterm's implementation of vt420 ends up making SET TERM/INQUIRE hang for several seconds, which is annoying since I have SET TERM/INQUIRE in my LOGIN.COM. This used to happen with vt240 as well, I think, but that has
    been fixed and I just tested it: vt240 should be safe now.

    I don't rememeber why I've left my xterm set to vt102...I have vague
    memories that 'upgrading' to vt240 caused a problem with something not
    at all related to VMS, and vt102 works fine in VMS, so I haven't changed
    it.

    Instead of setting X resources for your whole X session, you can also
    launch xterm with "-ti vt240" to override what's in your X resources
    database for that invocation of xterm.

    I believe that VT200/VT300/VT400 and 8bit gives the "best"
    VMS experience.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthew R. Wilson@21:1/5 to motk on Wed Apr 17 20:56:44 2024
    On 2024-04-17, motk <meh@meh.meh> wrote:
    So, a really basic one here.

    What's the current best practice to match term types between vms and ssh clients? OpenVms doesn't see to understand a termtype of xterm, and I'm
    not sure if it recognises termtypes from an (inbound session) openssh
    config file.

    In my .Xresources, I have:

    XTerm*VT100.decTerminalID: vt102

    Then on OpenVMS, $ SET TERM/INQUIRE correctly identifies the device
    type. This does _not_ affect the TERM environment variable that gets set
    in Linux (e.g. `echo $TERM` still reports xterm-256color).

    As others have mentioned, something like vt240 or vt420 would be ideal.
    xterm's implementation of vt420 ends up making SET TERM/INQUIRE hang for several seconds, which is annoying since I have SET TERM/INQUIRE in my LOGIN.COM. This used to happen with vt240 as well, I think, but that has
    been fixed and I just tested it: vt240 should be safe now.

    I don't rememeber why I've left my xterm set to vt102...I have vague
    memories that 'upgrading' to vt240 caused a problem with something not
    at all related to VMS, and vt102 works fine in VMS, so I haven't changed
    it.

    Instead of setting X resources for your whole X session, you can also
    launch xterm with "-ti vt240" to override what's in your X resources
    database for that invocation of xterm.

    -Matthew

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Fri Apr 19 09:13:21 2024
    On 18/4/24 07:14, Arne Vajhøj wrote:

    I believe that VT200/VT300/VT400 and 8bit gives the "best"
    VMS experience.

    Thanks all - it's worth a bit more thought, given that X11 is basically
    dead, and that most people just open a windows or linux default terminal
    and they 'ssh foo@bar'. Windows Terminal does do a lot of work on
    terminal emulation and by default presents as xterm.


    Arne

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to motk on Thu Apr 18 19:36:59 2024
    On 4/18/2024 7:13 PM, motk wrote:
    On 18/4/24 07:14, Arne Vajhøj wrote:
    I believe that VT200/VT300/VT400 and 8bit gives the "best"
    VMS experience.

    Thanks all - it's worth a bit more thought, given that X11 is basically
    dead, and that most people just open a windows or linux default terminal
    and they 'ssh foo@bar'. Windows Terminal does do a lot of work on
    terminal emulation and by default presents as xterm.

    It is my impression that the majority of VMS terminal
    users today use Putty.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to motk on Fri Apr 19 00:39:07 2024
    On 19/04/2024 00:13, motk wrote:
    On 18/4/24 07:14, Arne Vajhøj wrote:

    I believe that VT200/VT300/VT400 and 8bit gives the "best"
    VMS experience.

    Thanks all - it's worth a bit more thought, given that X11 is basically
    dead, and that most people just open a windows or linux default terminal
    and they 'ssh foo@bar'. Windows Terminal does do a lot of work on
    terminal emulation and by default presents as xterm.


    Arne


    That is why I always use PuTTY - even on linux.I run my console sessions
    from that, then use virsh console <VM name> under KVM/QEMU

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to motk on Thu Apr 18 20:10:24 2024
    On 4/18/2024 8:06 PM, motk wrote:
    On 19/4/24 09:36, Arne Vajhøj wrote:
    It is my impression that the majority of VMS terminal
    users today use Putty.

    Putty is kind of ancient, and a huge pain in a11y and general usability.
    It's time to look beyond it.

    It is not new, but neither is xterm.

    It works. And due to the large number of users then assistance
    is usually possible to get. And you can get something on top
    of it like MPutty to get tabbed multi windows.

    But if you don't like it then you just use something else.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Chris Townley on Fri Apr 19 10:07:27 2024
    On 19/4/24 09:39, Chris Townley wrote:

    That is why I always use PuTTY - even on linux.I run my console sessions
    from that, then use virsh console <VM name> under KVM/QEMU

    The promox serial console works very well too. A

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Fri Apr 19 10:06:08 2024
    On 19/4/24 09:36, Arne Vajhøj wrote:

    It is my impression that the majority of VMS terminal
    users today use Putty.

    Putty is kind of ancient, and a huge pain in a11y and general usability.
    It's time to look beyond it.

    Arne

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to motk on Fri Apr 19 01:28:21 2024
    On 19/04/2024 01:07, motk wrote:
    On 19/4/24 09:39, Chris Townley wrote:

    That is why I always use PuTTY - even on linux.I run my console
    sessions from that, then use virsh console <VM name> under KVM/QEMU

    The promox serial console works very well too. A


    PuTTY may be old, but is well maintained, and it works

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Chris Townley on Thu Apr 18 22:09:33 2024
    On 4/18/24 19:28, Chris Townley wrote:
    PuTTY may be old, but is well maintained, and it works

    PuTTY, X11, XTerm, OpenVMS, yes they are all still actively maintained
    and still work well.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to motk on Thu Apr 18 22:12:24 2024
    On 4/18/24 19:06, motk wrote:
    Putty is kind of ancient, and a huge pain in a11y and general usability.

    PuTTY is younger than TCP/IP (both v4 and v6) and Ethernet.

    It's time to look beyond it.

    Is it time to look past TCP/IP (both v4 and v6) and Ethernet?

    N.B. 802.11 WiFi is effectively Ethernet.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Fri Apr 19 20:10:30 2024
    On 19/4/24 13:12, Grant Taylor wrote:
    On 4/18/24 19:06, motk wrote:
    Putty is kind of ancient, and a huge pain in a11y and general usability.

    PuTTY is younger than TCP/IP (both v4 and v6) and Ethernet.

    It's time to look beyond it.

    Is it time to look past TCP/IP (both v4 and v6) and Ethernet?

    ... what?

    N.B. 802.11 WiFi is effectively Ethernet.

    I am aware of 802.foo, yes.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to motk on Fri Apr 19 11:58:23 2024
    On 4/19/24 00:13, motk wrote:
    On 18/4/24 07:14, Arne Vajhøj wrote:

    I believe that VT200/VT300/VT400 and 8bit gives the "best"
    VMS experience.

    Thanks all - it's worth a bit more thought, given that X11 is basically
    dead, and that most people just open a windows or linux default terminal
    and they 'ssh foo@bar'. Windows Terminal does do a lot of work on
    terminal emulation and by default presents as xterm.


    Arne


    Some may be pushing to replace X11 with Wayland, (ugh), but most unix
    desktops are still based on X11 at core, with the user desktop GUI
    sitting on top of that, and will be for the forseable future.

    If it ain't broke, why fix it ?...

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Fri Apr 19 20:15:22 2024
    On 19/4/24 13:09, Grant Taylor wrote:

    PuTTY, X11, XTerm, OpenVMS, yes they are all still actively maintained
    and still work well.

    X11 is literally abandoned, apart from the X11 wayland bits. Please be real.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Fri Apr 19 21:08:42 2024
    On 19/4/24 20:58, chrisq wrote:

    Some may be pushing to replace X11 with Wayland, (ugh), but most unix desktops are still based on X11 at core, with the user desktop GUI
    sitting on top of that, and will be for the forseable future.

    [tears out hair in clumps]

    Wayland is not X11. X11 is long dead. Explaining why is way too much
    effort for this medium, what 'most user desktops' are still X11 at their
    core? Arrgh, I'm a hair old greybeard and we need to let go of this.

    If it ain't broke, why fix it ?...

    Because it's _broken_. ssh x11 forwarding has been deliberately broken
    by _design_ for a _decade_, if you're found using X11 in a corporate
    environemt you will get an earnest conversation with people with no
    sense of humour, the world is real and here and now.

    Chris

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to motk on Fri Apr 19 09:17:51 2024
    On 4/19/24 05:10, motk wrote:
    ... what?

    Just because something is not new doesn't mean that it's bad.

    OpenVMS is not new by any stretch of the imagination.

    It's an old technology that's still actively being maintained.

    Old and actively maintained is okay.

    Old and unmaintained is going to become a problem, it's only a question
    of when.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to motk on Fri Apr 19 09:23:04 2024
    On 4/19/24 05:15, motk wrote:
    X11 is literally abandoned, apart from the X11 wayland bits.

    No it is not.

    I still see updates to X11, not Wayland, monthly if not weekly.

    There are still people actively maintaining X11.

    There have been 23 announcements of updates to X11 components since
    March 23rd this year. ... 59 this year. Or if you include Wayland in
    the subject, it's 26 / 63 in 2024.

    That seems like the opposite of abandoned to me.

    Please be real.

    I am.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to motk on Fri Apr 19 10:36:43 2024
    On 4/19/2024 6:15 AM, motk wrote:
    On 19/4/24 13:09, Grant Taylor wrote:
    PuTTY, X11, XTerm, OpenVMS, yes they are all still actively maintained
    and still work well.

    X11 is literally abandoned, apart from the X11 wayland bits. Please be
    real.

    I guess it depends on what you really mean by abandoned.

    Is the X11 software still being maintained? Yes it is.

    Will the X11 software evolve? Not likely - last major release 7.7 is
    from 2012.

    Is X11 being replaced by Wayland? Yes - I believe most Linux
    distros are moving from x.org to Wayland.

    Does any this matter at all? Not much - from a commercial software
    perspective it is browser, Windows, macOS, Android and iOS that
    matters - neither X11 nor Wayland are particular interesting.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to gtaylor@tnetconsulting.net on Fri Apr 19 15:52:50 2024
    In article <uvtuef$tku$1@tncsrv09.home.tnetconsulting.net>,
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:
    On 4/19/24 05:10, motk wrote:
    ... what?

    Just because something is not new doesn't mean that it's bad.

    OpenVMS is not new by any stretch of the imagination.

    It's an old technology that's still actively being maintained.

    Old and actively maintained is okay.

    Old and unmaintained is going to become a problem, it's only a question
    of when.

    I think that motk's point was that X11 is essentially
    unmaintained. There's some limited life support going
    on, but no real active development, or even bug fixes.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to arne@vajhoej.dk on Fri Apr 19 15:57:24 2024
    In article <uvtvhs$31urj$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 4/19/2024 6:15 AM, motk wrote:
    On 19/4/24 13:09, Grant Taylor wrote:
    PuTTY, X11, XTerm, OpenVMS, yes they are all still actively maintained
    and still work well.

    X11 is literally abandoned, apart from the X11 wayland bits. Please be
    real.

    I guess it depends on what you really mean by abandoned.

    Is the X11 software still being maintained? Yes it is.

    This is factually accurate, but the pace of maintenance
    is glacial. I'd say it's on life support, but not much
    more than that. The assertion was that X11 maintenance
    is active; that's only true in so far that some modicum
    of it exists.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dan Cross on Fri Apr 19 12:58:17 2024
    On 4/19/2024 11:57 AM, Dan Cross wrote:
    In article <uvtvhs$31urj$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 4/19/2024 6:15 AM, motk wrote:
    On 19/4/24 13:09, Grant Taylor wrote:
    PuTTY, X11, XTerm, OpenVMS, yes they are all still actively maintained >>>> and still work well.

    X11 is literally abandoned, apart from the X11 wayland bits. Please be
    real.

    I guess it depends on what you really mean by abandoned.

    Is the X11 software still being maintained? Yes it is.

    This is factually accurate, but the pace of maintenance
    is glacial. I'd say it's on life support, but not much
    more than that. The assertion was that X11 maintenance
    is active; that's only true in so far that some modicum
    of it exists.

    People can take a look:

    https://gitlab.freedesktop.org/xorg/lib/libx11/-/commits/master

    https://gitlab.freedesktop.org/xorg/xserver/-/commits/master

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to arne@vajhoej.dk on Fri Apr 19 20:46:46 2024
    In article <uvu7ra$33rl6$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 4/19/2024 11:57 AM, Dan Cross wrote:
    In article <uvtvhs$31urj$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 4/19/2024 6:15 AM, motk wrote:
    On 19/4/24 13:09, Grant Taylor wrote:
    PuTTY, X11, XTerm, OpenVMS, yes they are all still actively maintained >>>>> and still work well.

    X11 is literally abandoned, apart from the X11 wayland bits. Please be >>>> real.

    I guess it depends on what you really mean by abandoned.

    Is the X11 software still being maintained? Yes it is.

    This is factually accurate, but the pace of maintenance
    is glacial. I'd say it's on life support, but not much
    more than that. The assertion was that X11 maintenance
    is active; that's only true in so far that some modicum
    of it exists.

    People can take a look:

    https://gitlab.freedesktop.org/xorg/lib/libx11/-/commits/master

    https://gitlab.freedesktop.org/xorg/xserver/-/commits/master

    They can also look at the number of outstanding bugs that
    are not getting fixed.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to Grant Taylor on Fri Apr 19 17:16:56 2024
    On 4/19/2024 10:17 AM, Grant Taylor wrote:
    On 4/19/24 05:10, motk wrote:
    ... what?

    Just because something is not new doesn't mean that it's bad.

    Yep! And the wheel is still doing well ...


    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to motk on Fri Apr 19 22:44:00 2024
    In article <uvtjbq$2ujbg$3@dont-email.me>, yep@yep.yep (motk) wrote:

    If it ain't broke, why fix it ?...
    Because it's _broken_. ssh x11 forwarding has been deliberately
    broken by _design_ for a _decade_, if you're found using X11 in a
    corporate environemt you will get an earnest conversation with
    people with no sense of humour, the world is real and here and now.

    That's an extremely sweeping statement. I'm working for a very large and paranoid corporation. I wouldn't try using X11 across the internet, but
    for working with a lot of different Linuxes, macOS and Solaris in a
    secured development lab, it is truly excellent, and nobody is trying to
    stop me.

    It lets me have editors and terminal windows on lots of different Linuxes without needing to deal with their different GUIs and desktop
    environments. As far as I can see, Wayland doesn't offer that unless you
    slap on a remote desktop protocol. I actively don't want remote desktop:
    it is not useful to me, it will suck bandwidth, and it gives me much,
    much more setup to do.

    I produce closed-source commercial shared libraries that have to work on
    as many Linuxes as possible. The list of ones I have running in the lab
    isn't ludicrous, but nor is it short:

    x86-64: CentOS 7.9, RHEL 8.9, Rocky 8.9, Alma 8.9, Alma 9.3, SLES12sp5, SLES15sp5, Ubuntu LTS 20.04 and 22.04. I need to add Ubuntu LTS 24.04
    soon, of course, and I'm getting extended support on the CentOS 7.9s so
    that products released on them can serve out their maintenance lives.

    Aarch64: Ubuntu 20.04, Amazon Linux 2, and RHEL 8.9. I need to add Amazon
    Linux 2023, Ubuntu LTS 22.04 and 24.04.

    Would you want to set up desktops for all those different Linuxes?

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Fri Apr 19 22:09:06 2024
    On Fri, 19 Apr 2024 20:10:30 +1000, motk wrote:

    On 19/4/24 13:12, Grant Taylor wrote:

    N.B. 802.11 WiFi is effectively Ethernet.

    I am aware of 802.foo, yes.

    Worth clarifying that “Ethernet” is actually covered under 802.3, not 802.11. The parts they share in common (MAC addresses and the “frame” concept) are defined in 802.2. These parts are also shared with the other
    802.x specs.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to davef@tsoft-inc.com on Fri Apr 19 21:29:06 2024
    In article <uvumvt$3718t$1@dont-email.me>,
    Dave Froble <davef@tsoft-inc.com> wrote:
    On 4/19/2024 10:17 AM, Grant Taylor wrote:
    On 4/19/24 05:10, motk wrote:
    ... what?

    Just because something is not new doesn't mean that it's bad.

    Yep! And the wheel is still doing well ...

    And yet, I don't think I'd try to put a wheel manufactured
    200 years ago for a wagon on my truck, let alone on my
    motorcycle. :-)

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Lawrence D'Oliveiro on Fri Apr 19 17:23:43 2024
    On 4/19/24 17:09, Lawrence D'Oliveiro wrote:
    Worth clarifying that “Ethernet” is actually covered under 802.3,
    not 802.11. The parts they share in common (MAC addresses and the
    “frame” concept) are defined in 802.2. These parts are also shared
    with the other 802.x specs.

    My understanding is that 802.11 is heavily influenced by Ethernet 802.3.
    Something akin to generational evolution.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to John Dallman on Sat Apr 20 01:05:41 2024
    On 4/19/24 22:44, John Dallman wrote:
    In article <uvtjbq$2ujbg$3@dont-email.me>, yep@yep.yep (motk) wrote:

    If it ain't broke, why fix it ?...
    Because it's _broken_. ssh x11 forwarding has been deliberately
    broken by _design_ for a _decade_, if you're found using X11 in a
    corporate environemt you will get an earnest conversation with
    people with no sense of humour, the world is real and here and now.

    That's an extremely sweeping statement. I'm working for a very large and paranoid corporation. I wouldn't try using X11 across the internet, but
    for working with a lot of different Linuxes, macOS and Solaris in a
    secured development lab, it is truly excellent, and nobody is trying to
    stop me.

    It lets me have editors and terminal windows on lots of different Linuxes without needing to deal with their different GUIs and desktop
    environments. As far as I can see, Wayland doesn't offer that unless you
    slap on a remote desktop protocol. I actively don't want remote desktop:
    it is not useful to me, it will suck bandwidth, and it gives me much,
    much more setup to do.

    I produce closed-source commercial shared libraries that have to work on
    as many Linuxes as possible. The list of ones I have running in the lab
    isn't ludicrous, but nor is it short:

    x86-64: CentOS 7.9, RHEL 8.9, Rocky 8.9, Alma 8.9, Alma 9.3, SLES12sp5, SLES15sp5, Ubuntu LTS 20.04 and 22.04. I need to add Ubuntu LTS 24.04
    soon, of course, and I'm getting extended support on the CentOS 7.9s so
    that products released on them can serve out their maintenance lives.

    Aarch64: Ubuntu 20.04, Amazon Linux 2, and RHEL 8.9. I need to add Amazon Linux 2023, Ubuntu LTS 22.04 and 24.04.

    Would you want to set up desktops for all those different Linuxes?

    John

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    As with systemd, Wayland looks like yet another attempt at power grab,
    and even after years, still doesn't work properly, nor is it complete
    compared to X functionality. Who cares if X isn't completely secure,
    just use it accordingly...

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat Apr 20 00:37:03 2024
    On Sat, 20 Apr 2024 01:05:41 +0100, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    DEC was a key contributor in the development of X11. But that was then.

    As with systemd, Wayland looks like yet another attempt at power
    grab ...

    I wonder who you think is “grabbing” this “power”. Both systemd and Wayland are open-source projects, created by people who see a problem and
    are trying to fix it. Those in the community who see value in these
    efforts adopt their solutions, others don’t. There is no Monopolistic™ BigCorp® forcing any of these things down our throats. If you don’t want
    to use them, don’t use them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Grant Taylor on Sat Apr 20 00:41:17 2024
    On Fri, 19 Apr 2024 17:23:43 -0500, Grant Taylor wrote:

    On 4/19/24 17:09, Lawrence D'Oliveiro wrote:

    Worth clarifying that “Ethernet” is actually covered under 802.3, not
    802.11. The parts they share in common (MAC addresses and the “frame”
    concept) are defined in 802.2. These parts are also shared with the
    other 802.x specs.

    My understanding is that 802.11 is heavily influenced by Ethernet 802.3.
    Something akin to generational evolution.

    You really do need to read more actual network specs before offering
    opinions on them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robert A. Brooks@21:1/5 to chrisq on Fri Apr 19 21:23:23 2024
    On 4/19/2024 8:05 PM, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all depend on
    X11 at core. VMS as well, though not sure of current status.

    That's a pretty pliable definition of "depend on" regarding VMS, since
    there is literally no dependency on X11 within VMS.

    Yeah, if you want a non-character cell interface, then X11 is the only option on VMS, but to claim a dependency is a bit much. Even then, your X11 experience
    will be using a lot of DECterm windows most of the time.

    --

    --- Rob

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Van Dyck@21:1/5 to All on Sat Apr 20 11:24:04 2024
    motk explained on 19/04/2024 :
    On 18/4/24 07:14, Arne Vajhj wrote:

    I believe that VT200/VT300/VT400 and 8bit gives the "best"
    VMS experience.

    Thanks all - it's worth a bit more thought, given that X11 is basically dead, and that most people just open a windows or linux default terminal and they 'ssh foo@bar'. Windows Terminal does do a lot of work on terminal emulation and by default presents as xterm.


    Arne

    As dead as it looks, it's still what I'm using today... Just a Putty
    login to start a good old VMS session manage,r and I'm in business.
    Mostly DECterms, but also LSE. I must admit that the lack of support
    for the mouse wheel in DECterm sucks. Otherwise it's still the terminal
    that best fits my needs. Oh, and on the PC side, still using Excursion
    too. Free, works all the time, even on my Windows 10 PC. What I miss is
    the VT emulator that DEC made a long time ago. Was that VT320.EXE ? Can
    it still be found somewhere ?

    --
    Marc Van Dyck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bachner@21:1/5 to Marc Van Dyck on Sat Apr 20 16:52:44 2024
    Hi Marc,

    Marc Van Dyck schrieb am 20.04.2024 um 11:24:
    [,,,]

    As dead as it looks, it's still what I'm using today... Just a Putty
    login to start a good old VMS session manage,r and I'm in business.
    Mostly DECterms, but also LSE. I must admit that the lack of support
    for the mouse wheel in DECterm sucks. Otherwise it's still the terminal
    that best fits my needs. Oh, and on the PC side, still using Excursion
    too. Free, works all the time, even on my Windows 10 PC. What I miss is
    the VT emulator that DEC made a long time ago. Was that VT320.EXE ? Can
    it still be found somewhere ?

    Yes, it's on the freeware CD #7:

    https://www.digiater.nl/openvms/freeware/v70/vtstar/

    I'm still using it in my internal environment, mainly for VMS nodes and
    serial consoles. Excellent VT terminal emulation. It's only drawback is
    the missing SSH support, and here PuTTY enters the game...

    Hans.

    PS: as an X11 server on a PC, I'm using the free version of Xming.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Robert A. Brooks on Sat Apr 20 16:00:56 2024
    On 4/20/24 02:23, Robert A. Brooks wrote:
    On 4/19/2024 8:05 PM, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    That's a pretty pliable definition of "depend on" regarding VMS, since
    there is literally no dependency on X11 within VMS.

    Yeah, if you want a non-character cell interface, then X11 is the only
    option
    on VMS, but to claim a dependency is a bit much.  Even then, your X11 experience will be using a lot of DECterm windows most of the time.


    Sigh,

    Perhaps a poor choice of words, but are there any desktop / GUI systems,
    other than windows, that do not depend on X11 ?. The point was that it
    is a standard, and not optional. Can't remember if the old Motif based
    CDE used X11 libs or not, but that's long gone anyway. VWS, ditto...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sat Apr 20 16:08:33 2024
    On 4/20/24 01:37, Lawrence D'Oliveiro wrote:
    On Sat, 20 Apr 2024 01:05:41 +0100, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    DEC was a key contributor in the development of X11. But that was then.

    As with systemd, Wayland looks like yet another attempt at power
    grab ...

    I wonder who you think is “grabbing” this “power”. Both systemd and Wayland are open-source projects, created by people who see a problem and
    are trying to fix it. Those in the community who see value in these
    efforts adopt their solutions, others don’t. There is no Monopolistic™ BigCorp® forcing any of these things down our throats. If you don’t want to use them, don’t use them.


    systemd originally came from redhat. I rest my case.

    A suffocating carbunkle on what was an elegant os that really didn't
    need it...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to chrisq on Sat Apr 20 11:37:58 2024
    On 4/20/2024 11:00 AM, chrisq wrote:
    On 4/20/24 02:23, Robert A. Brooks wrote:
    On 4/19/2024 8:05 PM, chrisq wrote:
    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    That's a pretty pliable definition of "depend on" regarding VMS, since
    there is literally no dependency on X11 within VMS.

    Yeah, if you want a non-character cell interface, then X11 is the only
    option
    on VMS, but to claim a dependency is a bit much.  Even then, your X11
    experience will be using a lot of DECterm windows most of the time.

    Perhaps a poor choice of words, but are there any desktop / GUI systems, other than windows, that do not depend on X11 ?. The point was that it
    is a standard, and not optional. Can't remember if the old Motif based
    CDE used X11 libs or not, but that's long gone anyway. VWS, ditto...

    I don't think macOS use X either (for native macOS
    applications - can run X applications).

    And even though Android and iOS does not qualify as desktop, then
    Windows + macOS + Android + iOS is like 99% of all GUI.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to chrisq on Sat Apr 20 16:33:17 2024
    On 20/04/2024 16:00, chrisq wrote:
    On 4/20/24 02:23, Robert A. Brooks wrote:
    On 4/19/2024 8:05 PM, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    That's a pretty pliable definition of "depend on" regarding VMS, since
    there is literally no dependency on X11 within VMS.

    Yeah, if you want a non-character cell interface, then X11 is the only
    option
    on VMS, but to claim a dependency is a bit much.  Even then, your X11
    experience will be using a lot of DECterm windows most of the time.


    Sigh,

    Perhaps a poor choice of words, but are there any desktop / GUI systems, other than windows, that do not depend on X11 ?. The point was that it
    is a standard, and not optional. Can't remember if the old Motif based
    CDE used X11 libs or not, but that's long gone anyway. VWS, ditto...

    I remember well DR Gem on the Atari ST. It sat on top off the aptly
    named TOS

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to bill on Sat Apr 20 10:40:01 2024
    On 4/20/24 07:32, bill wrote:
    Nothing wrong with DECTerm. But there was a lot more you could do
    with DECWindows. Worked great back when I had labs of X-terminals to
    support both VMS and SunOS for the students (and yes, faculty liked
    it, too.)

    I think that X11's ability to work across platforms is something that's
    unmet by any other protocol that I'm aware of.

    GUI applications could run on their native / optimal platform and
    display on whatever platform the user wanted to use.

    No, I don't consider web based interfaces to be comparable.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to devzero@nospam.com on Sat Apr 20 16:06:43 2024
    In article <v00lb8$3nik6$1@dont-email.me>, chrisq <devzero@nospam.com> wrote: >On 4/20/24 02:23, Robert A. Brooks wrote:
    On 4/19/2024 8:05 PM, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    That's a pretty pliable definition of "depend on" regarding VMS, since
    there is literally no dependency on X11 within VMS.

    Yeah, if you want a non-character cell interface, then X11 is the only
    option
    on VMS, but to claim a dependency is a bit much.  Even then, your X11
    experience will be using a lot of DECterm windows most of the time.

    Sigh,

    Perhaps a poor choice of words, but are there any desktop / GUI systems, >other than windows, that do not depend on X11 ?

    Sure! Tons, both historical and contemporary. The obvious
    modern examples are ChromeOS and macOS, both of which are highly
    graphical, neither of which uses X11 natively (but support for X
    exists for at least macOS, and I believe for ChromeOS as well).

    The Plan 9 graphical environment, Rio, does not use X11.

    Historical examples abound: the Blit; VGTS and W on the V
    microkernel; CMU's WM; MGR; the Xerox Alto, Star, etc; Sun's
    SunTools/SunView; SGI's MEX; I would argue Sun's NeWS initially,
    etc. Even the initial graphical system on SRI's NTS.

    The point was that it
    is a standard, and not optional. Can't remember if the old Motif based
    CDE used X11 libs or not, but that's long gone anyway. VWS, ditto...

    Motif was a user interface toolkit built on top of X and most
    Motif applications used the underlying X libraries (Xlib, the
    intrinsics toolkit, etc). The main competitor was Sun's
    OpenLook toolkit, which was in some ways better, but didn't
    quite grab the industry. DECWindows was clearly based on Motif,
    but X on VMS always felt a bit like an impedence mismatch. I
    guess it worked OK. ost serious Unix people ran a more minimal
    window manager (ctwm, tvtwm, twm, uwm, etc).

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to devzero@nospam.com on Sat Apr 20 15:52:33 2024
    In article <v00lph$3nik6$2@dont-email.me>, chrisq <devzero@nospam.com> wrote: >[snip]
    A suffocating carbunkle on what was an elegant os that really didn't
    need it...

    Linux is a lot of things: incredibly useful, very powerful, and
    arguably the most important software project in the world. But
    "elegant" is not something that comes to mind when I think look
    closely at it.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Hans Bachner on Sat Apr 20 12:50:40 2024
    On 4/20/2024 10:52 AM, Hans Bachner wrote:
    Marc Van Dyck schrieb am 20.04.2024 um 11:24:
    As dead as it looks, it's still what I'm using today... Just a Putty
    login to start a good old VMS session manage,r and I'm in business.
    Mostly DECterms, but also LSE. I must admit that the lack of support
    for the mouse wheel in DECterm sucks. Otherwise it's still the terminal
    that best fits my needs. Oh, and on the PC side, still using Excursion
    too. Free, works all the time, even on my Windows 10 PC. What I miss is
    the VT emulator that DEC made a long time ago. Was that VT320.EXE ? Can
    it still be found somewhere ?

    Yes, it's on the freeware CD #7:

    https://www.digiater.nl/openvms/freeware/v70/vtstar/

    I'm still using it in my internal environment, mainly for VMS nodes and serial consoles. Excellent VT terminal emulation.

    Indeed.

    I just tested if it can handle a VT soft font.

    It can.

    (it is one of the few things Putty can not do)

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Grant Taylor on Sat Apr 20 12:49:14 2024
    On 4/20/2024 11:40 AM, Grant Taylor wrote:
    On 4/20/24 07:32, bill wrote:
    Nothing wrong with DECTerm.  But there was a lot more you could do
    with DECWindows.  Worked great back when I had labs of X-terminals to
    support both VMS and SunOS for the students (and yes, faculty liked
    it, too.)

    I think that X11's ability to work across platforms is something that's
    unmet by any other protocol that I'm aware of.

    GUI applications could run on their native / optimal platform and
    display on whatever platform the user wanted to use.

    No, I don't consider web based interfaces to be comparable.

    Cool feature.

    But how many does really need it?

    Closest equivalent may be the "screen copy" technologies
    (RDS, Citrix etc.).

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to All on Sat Apr 20 19:24:00 2024
    In article <v00rma$3ovg5$1@dont-email.me>, arne@vajhoej.dk (Arne Vajhj)
    wrote:
    On 4/20/2024 11:40 AM, Grant Taylor wrote:
    I think that X11's ability to work across platforms is something
    that's unmet by any other protocol that I'm aware of.

    GUI applications could run on their native / optimal platform and
    display on whatever platform the user wanted to use.

    Cool feature.

    But how many does really need it?

    Not everyone. But those who need it, really need it. I have done Windows development on machines that were too noisy to have in an office
    environment, before Windows had Remote Desktop. Walking back and forth to
    the machine that had my e-mail on it was a ludicrous waste of time. I'm
    not interested in repeating the experience.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to Dan Cross on Sat Apr 20 19:57:19 2024
    On Sat, 2024-04-20 at 15:52 +0000, Dan Cross wrote:
    Linux is a lot of things: incredibly useful, very powerful, and
    arguably the most important software project in the world.  But
    "elegant" is not something that comes to mind when I think look
    closely at it.

    if you /really/ want to be a purist, then I reckon NetBSD fits the
    bill. It runs on way more platforms than Linux and the other *BSDs ever
    did.
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Dan Cross on Sat Apr 20 23:01:17 2024
    On 4/20/24 16:52, Dan Cross wrote:
    In article <v00lph$3nik6$2@dont-email.me>, chrisq <devzero@nospam.com> wrote:
    [snip]
    A suffocating carbunkle on what was an elegant os that really didn't
    need it...

    Linux is a lot of things: incredibly useful, very powerful, and
    arguably the most important software project in the world. But
    "elegant" is not something that comes to mind when I think look
    closely at it.

    - Dan C.


    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    Still have some machines running Linux, but no longer the main driver
    for development...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat Apr 20 22:25:09 2024
    On Sat, 20 Apr 2024 16:08:33 +0100, chrisq wrote:

    On 4/20/24 01:37, Lawrence D'Oliveiro wrote:

    On Sat, 20 Apr 2024 01:05:41 +0100, chrisq wrote:

    Absolutely, Solaris, Linux, Freebsd and even cygwin + X + xfce4, all
    depend on X11 at core. VMS as well, though not sure of current status.

    DEC was a key contributor in the development of X11. But that was then.

    As with systemd, Wayland looks like yet another attempt at power grab
    ...

    I wonder who you think is “grabbing” this “power”. Both systemd and >> Wayland are open-source projects, created by people who see a problem
    and are trying to fix it. Those in the community who see value in these
    efforts adopt their solutions, others don’t. There is no Monopolistic™ >> BigCorp® forcing any of these things down our throats. If you don’t
    want to use them, don’t use them.

    systemd originally came from redhat. I rest my case.

    Most Linux users don’t use Red Hat. It seems to be mainly a North American thing.

    What “case” were you talking about, exactly?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Bob Eager on Sat Apr 20 22:27:41 2024
    On 20 Apr 2024 22:21:08 GMT, Bob Eager wrote:

    On Sat, 20 Apr 2024 23:01:17 +0100, chrisq wrote:

    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    I started with BSD in about 1978, and FreeBSD in about 1991. Never
    touched Linux!

    There are maybe half a dozen BSD variants still undergoing some kind of development, versus about 50× that number of Linux distros. Yet it is
    easier to move between Linux distros than it is to move between BSD
    variants.

    Linux is able to offer a great deal of variety with minimal fragmentation, while the BSDs have more fragmentation and less variety.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bob Eager@21:1/5 to Lawrence D'Oliveiro on Sat Apr 20 22:28:57 2024
    On Sat, 20 Apr 2024 22:27:41 +0000, Lawrence D'Oliveiro wrote:

    On 20 Apr 2024 22:21:08 GMT, Bob Eager wrote:

    On Sat, 20 Apr 2024 23:01:17 +0100, chrisq wrote:

    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    I started with BSD in about 1978, and FreeBSD in about 1991. Never
    touched Linux!

    There are maybe half a dozen BSD variants still undergoing some kind of development, versus about 50× that number of Linux distros. Yet it is
    easier to move between Linux distros than it is to move between BSD
    variants.

    Linux is able to offer a great deal of variety with minimal
    fragmentation,
    while the BSDs have more fragmentation and less variety.

    But there is not need to move between BSD distros in the first place. And
    they share a great deal anyway.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat Apr 20 22:28:53 2024
    On Sat, 20 Apr 2024 23:01:17 +0100, chrisq wrote:

    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    Open Source is all about choice. Not clear why you had to dump all of “Linux” just because some distros use systemd.

    And some BSD folks feel the need to work on their own systemd-lookalike,
    too. It’s called “InitWare”.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sat Apr 20 18:41:40 2024
    On 4/20/2024 6:25 PM, Lawrence D'Oliveiro wrote:
    On Sat, 20 Apr 2024 16:08:33 +0100, chrisq wrote:
    On 4/20/24 01:37, Lawrence D'Oliveiro wrote:
    On Sat, 20 Apr 2024 01:05:41 +0100, chrisq wrote:
    As with systemd, Wayland looks like yet another attempt at power grab
    ...

    I wonder who you think is “grabbing” this “power”. Both systemd and >>> Wayland are open-source projects, created by people who see a problem
    and are trying to fix it. Those in the community who see value in these
    efforts adopt their solutions, others don’t. There is no Monopolistic™ >>> BigCorp® forcing any of these things down our throats. If you don’t
    want to use them, don’t use them.

    systemd originally came from redhat. I rest my case.

    Most Linux users don’t use Red Hat. It seems to be mainly a North American thing.

    RHEL is the big one in on-prem enterprise Linux. The US is the
    country with most RHEL customers - but India, UK, Italy, France, Canada
    also has a lot of RHEL customers.

    RHEL clones are some of the major gratis Linux distros (among a bunch
    of others).

    For many years Redhat was the biggest contributor to Linux kernel.

    Redhat has a pretty big place in the Linux space.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sat Apr 20 18:48:15 2024
    On 4/20/2024 6:27 PM, Lawrence D'Oliveiro wrote:
    On 20 Apr 2024 22:21:08 GMT, Bob Eager wrote:
    On Sat, 20 Apr 2024 23:01:17 +0100, chrisq wrote:
    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    I started with BSD in about 1978, and FreeBSD in about 1991. Never
    touched Linux!

    There are maybe half a dozen BSD variants still undergoing some kind of development, versus about 50× that number of Linux distros. Yet it is
    easier to move between Linux distros than it is to move between BSD
    variants.

    That is because you compare oranges to apples.

    You are comparing BSD's that are different OS'es (they do share
    a lot of code but that is pick and choose) with
    Linux distros that all run the same kernel but are available
    in many different bundles. A Linux distro is not a separate
    OS, but a bundle of Linux kernel + choice of C RTL + choice
    of bunch of other stuff. You could probably create a Linux
    distro where the only thing you added was the logo displayed.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sat Apr 20 18:58:49 2024
    On 4/20/2024 6:30 PM, Lawrence D'Oliveiro wrote:
    On Sat, 20 Apr 2024 10:40:01 -0500, Grant Taylor wrote:
    No, I don't consider web based interfaces to be comparable.

    At least some at Microsoft seem to think they’re “good enough”.

    Most do. Web interfaces are pretty dominant today. Maybe not
    comparable, but good enough. And in most cases more than
    good enough.

    Who would pick a bank that insist on a desktop GUI instead of a
    web interface?

    Look at Visual Studio Code: they could have used their own Dotnet to build it, but no, instead they built it on Electron.

    Not much of a choice.

    First release of VSC happened a year before .NET Core 1.0 was
    released, so if the requirement was to support other platforms
    than Windows, then .NET was not an option (they could have
    tried Mono, but that was not theirs at the time).

    It probably didn't hurt that the product they intended to
    displace was also using Electron (Atom).

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bob Eager@21:1/5 to chrisq on Sat Apr 20 22:21:08 2024
    On Sat, 20 Apr 2024 23:01:17 +0100, chrisq wrote:

    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    I started with BSD in about 1978, and FreeBSD in about 1991. Never touched Linux!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Grant Taylor on Sat Apr 20 22:30:20 2024
    On Sat, 20 Apr 2024 10:40:01 -0500, Grant Taylor wrote:

    No, I don't consider web based interfaces to be comparable.

    At least some at Microsoft seem to think they’re “good enough”. Look at Visual Studio Code: they could have used their own Dotnet to build it, but
    no, instead they built it on Electron.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to ldo@nz.invalid on Sat Apr 20 23:26:15 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Sat, 20 Apr 2024 23:01:17 +0100, chrisq wrote:

    Which is why I dumped Linux for FreeBSD a few years ago now, systemd
    really was the last straw.

    Open Source is all about choice. Not clear why you had to dump all of >“Linux” just because some distros use systemd.

    The problem is not systemd. Systemd is a symptom of the problem. The
    problem is change for change's sake. Let's rewrite this thing and make
    it different... not better, just different.

    And some BSD folks feel the need to work on their own systemd-lookalike,
    too. It’s called “InitWare”.

    There's some argument for a service manager. But a service manager should
    not replace everything with one big monolithic chunk. I am not a fan of service managers and I didn't like when Solaris implemented it, but I can
    see some arguments in favor.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Grant Taylor on Sat Apr 20 20:46:54 2024
    On 4/20/2024 8:32 PM, Grant Taylor wrote:
    On 4/20/24 18:26, Scott Dorsey wrote:
    The problem is not systemd.  Systemd is a symptom of the problem.

    I can agree to that.

    The problem is change for change's sake.  Let's rewrite this thing and
    make it different... not better, just different.

    I feel like there is a HUGE dose of ignorance on some contemporary
    developers and they are repeating old mistakes and making new mistakes.

    I know that some oft maligned changes are actually rooted in good
    reason.  I'm thinking about the deprecation of ifconfig, netstat, and route.  The kernel grew, changed, and gained a LOT of new options that
    the old tools had no idea how to work with.  I can get behind that.

    What I can't stand is why there aren't new versions of ifconfig,
    netstat, and route that use the new framework while providing command compatibility with nearly 50 years of Unix and Unix like OS history. Not providing a compatible wrapper is stupid in my opinion.

    There's some argument for a service manager.  But a service manager
    should not replace everything with one big monolithic chunk.  I am not
    a fan of service managers and I didn't like when Solaris implemented
    it, but I can see some arguments in favor.

    At least Solaris stopped SMF at managing services and didn't try to take
    over DNS, NTP, and many other things.

    I don't know systemd well - only its reputation.

    But my impression is that it missed on the main criteria: keeping
    things simple.

    To illustrate the point and somewhat move back to VMS let me confess
    something: I really like SYS$MANAGER:SYSTARTUP_VMS.COM to manage
    what get started on VMS.

    VMS start the stuff that has to run and one put in what one
    want to start in SYS$MANAGER:SYSTARTUP_VMS.COM usually in the
    form of @SYS$STARTUP:something$STARTUP.COM.

    A simple text file that after a little cleanup typical
    will be only 20-50 lines. Easy to understand. Easy to edit.

    My perspective is based on some assumptions:
    - that there is no need to start many hundreds of products
    - that there are not crazy many dependencies
    - that the system manager know how to edit a text file in
    a terminal window

    But I think they should hold true for practically all VMS
    systems.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Scott Dorsey on Sat Apr 20 19:32:05 2024
    On 4/20/24 18:26, Scott Dorsey wrote:
    The problem is not systemd. Systemd is a symptom of the problem.

    I can agree to that.

    The problem is change for change's sake. Let's rewrite this thing
    and make it different... not better, just different.

    I feel like there is a HUGE dose of ignorance on some contemporary
    developers and they are repeating old mistakes and making new mistakes.

    I know that some oft maligned changes are actually rooted in good
    reason. I'm thinking about the deprecation of ifconfig, netstat, and
    route. The kernel grew, changed, and gained a LOT of new options that
    the old tools had no idea how to work with. I can get behind that.

    What I can't stand is why there aren't new versions of ifconfig,
    netstat, and route that use the new framework while providing command compatibility with nearly 50 years of Unix and Unix like OS history.
    Not providing a compatible wrapper is stupid in my opinion.

    There's some argument for a service manager. But a service manager
    should not replace everything with one big monolithic chunk. I am not
    a fan of service managers and I didn't like when Solaris implemented
    it, but I can see some arguments in favor.

    At least Solaris stopped SMF at managing services and didn't try to take
    over DNS, NTP, and many other things.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Sun Apr 21 02:08:32 2024
    On Sat, 20 Apr 2024 18:48:15 -0400, Arne Vajhøj wrote:

    On 4/20/2024 6:27 PM, Lawrence D'Oliveiro wrote:

    There are maybe half a dozen BSD variants still undergoing some kind of
    development, versus about 50× that number of Linux distros. Yet it is
    easier to move between Linux distros than it is to move between BSD
    variants.

    You are comparing BSD's that are different OS'es (they do share
    a lot of code but that is pick and choose) with
    Linux distros that all run the same kernel but are available
    in many different bundles.

    Why is it the Linux distros are able to maintain a common kernel, but the
    BSDs are not? Aren’t the BSD kernels flexible enough for such different
    uses? Which aren’t even that different, compared to how distinct the
    various Linux distros can be?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Like I on Sun Apr 21 02:00:07 2024
    On Sat, 20 Apr 2024 18:41:40 -0400, Arne Vajhøj wrote:

    RHEL is the big one in on-prem enterprise Linux.

    Like I said, that seems to be a North America thing.

    RHEL clones are some of the major gratis Linux distros (among a bunch of others).

    Most Linux distros are offshoots of Debian, not Red Hat.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Eder@21:1/5 to Grant Taylor on Sun Apr 21 11:20:03 2024
    On Sa 20 Apr 2024 at 19:32, Grant Taylor <gtaylor@tnetconsulting.net> wrote:

    On 4/20/24 18:26, Scott Dorsey wrote:
    The problem is not systemd. Systemd is a symptom of the problem.

    I can agree to that.

    The problem is change for change's sake. Let's rewrite this thing and make >> it different... not better, just different.

    I feel like there is a HUGE dose of ignorance on some contemporary
    developers and they are repeating old mistakes and making new
    mistakes.

    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    I know that some oft maligned changes are actually rooted in good reason.
    I'm thinking about the deprecation of ifconfig, netstat, and route. The kernel grew, changed, and gained a LOT of new options that the old tools had no idea how to work with. I can get behind that.

    What I can't stand is why there aren't new versions of ifconfig, netstat,
    and route that use the new framework while providing command compatibility with nearly 50 years of Unix and Unix like OS history. Not providing a compatible wrapper is stupid in my opinion.

    +1

    'Andreas
    --
    ceterum censeo redmondinem esse delendam

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Eder@21:1/5 to Lawrence D'Oliveiro on Sun Apr 21 11:16:07 2024
    On So 21 Apr 2024 at 02:08, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    Why is it the Linux distros are able to maintain a common kernel, but the BSDs are not? Aren’t the BSD kernels flexible enough for such different uses? Which aren’t even that different, compared to how distinct the various Linux distros can be?

    Because they do not want to! They have different objectives and they are
    really different projects. Not at all comparable to Linux distributions.

    'Andreas

    --
    ceterum censeo redmondinem esse delendam

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to D'Oliveiro on Sun Apr 21 11:13:00 2024
    In article <v01rv6$335k$1@dont-email.me>, ldo@nz.invalid (Lawrence
    D'Oliveiro) wrote:

    On Sat, 20 Apr 2024 18:41:40 -0400, Arne Vajhj wrote:
    RHEL is the big one in on-prem enterprise Linux.
    Like I said, that seems to be a North America thing.

    It has a significant presence worldwide, although it's most popular in
    North America. SUSE Enterprise is popular in Europe, Ubuntu LTS is used everywhere, but doesn't dominate anywhere AFAIK, and China is a weird mix,
    with its own RHEL work-alikes and some others.

    Most Linux distros are offshoots of Debian, not Red Hat.

    There are enough Linux distros that ISVs have to be selective about what
    they support. Fortunately, most of the popular Debian derivatives are
    more directly Ubuntu derivatives.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to ldo@nz.invalid on Sun Apr 21 18:17:06 2024
    In article <v01sf0$338c$1@dont-email.me>,
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Sat, 20 Apr 2024 18:48:15 -0400, Arne Vajhøj wrote:

    On 4/20/2024 6:27 PM, Lawrence D'Oliveiro wrote:

    There are maybe half a dozen BSD variants still undergoing some kind of
    development, versus about 50× that number of Linux distros. Yet it is
    easier to move between Linux distros than it is to move between BSD
    variants.

    You are comparing BSD's that are different OS'es (they do share
    a lot of code but that is pick and choose) with
    Linux distros that all run the same kernel but are available
    in many different bundles.

    Why is it the Linux distros are able to maintain a common kernel, but the >BSDs are not? Aren’t the BSD kernels flexible enough for such different >uses? Which aren’t even that different, compared to how distinct the >various Linux distros can be?

    Because Linus owns the trademark and controls what can be called Linux and
    what cannot be. Linus decides what goes into the kernel, and therefore
    if he wants there to be one Linux kernal, there is. If he wanted there to
    be two, he could do that too.

    I rather like the idea of having one person in charge of deciding what
    goes into the kernel and what does not, although I disagree philosophically with Linus about many things that have gone into Linux in the past decade.

    BSD is not like that. There is no one person who decides what is BSD and
    what is not.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Scott Dorsey on Sun Apr 21 15:03:47 2024
    On 4/21/24 13:17, Scott Dorsey wrote:
    Because Linus owns the trademark and controls what can be called
    Linux and what cannot be. Linus decides what goes into the kernel,
    and therefore if he wants there to be one Linux kernal, there is.
    If he wanted there to be two, he could do that too.

    On one hand I agree. But on the other hand I disagree.

    Given that the Linux kernel is released as source code, people can
    reconfigure it as they want. People can even add patches to it to add additional functionality that's not in the upstream vanilla kernel
    source. OpenZFS and some binary BLOB drives from vendors being perfect examples of such things not in the upstream vanilla kernel source.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Andreas Eder on Sun Apr 21 15:08:48 2024
    On 4/21/24 04:20, Andreas Eder wrote:
    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    I really would like to agree. However we have some 20 year old
    developers that have been using Linux their entire life making these
    types of questionable decisions.

    I think it's more apt to say that they have grown up with frameworks
    that abstract things away from them and they have no idea how the
    underlying infrastructure works.

    It used to be that Unix, and I'll include VMS, system administrators
    were full stack LONG before "full stack" was a thing. Now people think
    "full stack" is a honor and rarely achieved because they seem to think
    that there is too much to learn / know. Yet there are those of us that
    have been doing full stack from the SCSI bus all the way up to the
    encryption that web traffic runs through and all the equipment in between.

    I remember when a 486 could serve up static web pages with the best of
    them. Now some developers think you need multiple high end physical
    boxes in a cluster to run the stack to serve up a simple web page that
    is now dynamically created, half of it rendered client side in JavaScript.

    +1

    :-)



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to gtaylor@tnetconsulting.net on Sun Apr 21 20:40:43 2024
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:
    On 4/21/24 13:17, Scott Dorsey wrote:
    Because Linus owns the trademark and controls what can be called
    Linux and what cannot be. Linus decides what goes into the kernel,
    and therefore if he wants there to be one Linux kernal, there is.
    If he wanted there to be two, he could do that too.

    On one hand I agree. But on the other hand I disagree.

    Given that the Linux kernel is released as source code, people can >reconfigure it as they want. People can even add patches to it to add >additional functionality that's not in the upstream vanilla kernel
    source. OpenZFS and some binary BLOB drives from vendors being perfect >examples of such things not in the upstream vanilla kernel source.

    That's true, but they can't just call it Linux. I run Linux+RT-PREEMPT myself. --scott

    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to John Dallman on Mon Apr 22 08:42:37 2024
    On 20/04/2024 7:44 am, John Dallman wrote:

    That's an extremely sweeping statement. I'm working for a very large and paranoid corporation. I wouldn't try using X11 across the internet, but
    for working with a lot of different Linuxes, macOS and Solaris in a
    secured development lab, it is truly excellent, and nobody is trying to
    stop me.

    I'd love that sort of gig myself, but everywhere I've been for the past
    twenty years would have conniptions if I asked to open firewall holes
    for X, or to add stuff to /etc/skel for xhosts, or to add selinux
    policy, etc etc.

    It lets me have editors and terminal windows on lots of different Linuxes without needing to deal with their different GUIs and desktop
    environments. As far as I can see, Wayland doesn't offer that unless you
    slap on a remote desktop protocol. I actively don't want remote desktop:
    it is not useful to me, it will suck bandwidth, and it gives me much,
    much more setup to do.

    Wayland is not X. It was never designed to do that, and I've personally
    berated Keith et al about that decision. RDP pretty much exploded and
    all interest in replicated X in that way vanished, but there is yet
    hope, ie https://gitlab.freedesktop.org/mstoeckl/waypipe/


    I produce closed-source commercial shared libraries that have to work on
    as many Linuxes as possible. The list of ones I have running in the lab
    isn't ludicrous, but nor is it short:

    x86-64: CentOS 7.9, RHEL 8.9, Rocky 8.9, Alma 8.9, Alma 9.3, SLES12sp5, SLES15sp5, Ubuntu LTS 20.04 and 22.04. I need to add Ubuntu LTS 24.04
    soon, of course, and I'm getting extended support on the CentOS 7.9s so
    that products released on them can serve out their maintenance lives.

    Aarch64: Ubuntu 20.04, Amazon Linux 2, and RHEL 8.9. I need to add Amazon Linux 2023, Ubuntu LTS 22.04 and 24.04.

    Would you want to set up desktops for all those different Linuxes?

    I'd probably just use RDP to be honest. Easy enough to set up on most
    thing, and the corp environment would be already glued together to allow
    it. I've used NoMachine when maintaining a farm of windows/osx/linux desktop/servers before.

    John

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Mon Apr 22 08:36:18 2024
    On 20/04/2024 10:05 am, chrisq wrote:

    As with systemd, Wayland looks like yet another attempt at power grab,
    and even after years, still doesn't work properly, nor is it complete compared to X functionality. Who cares if X isn't completely secure,
    just use it accordingly...

    Deeply unserious summation. Feel free to keep righting spaghetti bourne
    in rc.d, but the actual working world will just leave it behind.

    Chris

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Mon Apr 22 08:45:09 2024
    On 20/04/2024 10:37 am, Lawrence D'Oliveiro wrote:


    I wonder who you think is “grabbing” this “power”. Both systemd and Wayland are open-source projects, created by people who see a problem and
    are trying to fix it. Those in the community who see value in these
    efforts adopt their solutions, others don’t. There is no Monopolistic™ BigCorp® forcing any of these things down our throats. If you don’t want to use them, don’t use them.

    If you've ever spend two days awake chasing races in shell scripts
    across pacemaker/corosync you'd do anything for systemd or something
    similar, like the solaris stuff.

    This is what I'm saying here, it's possible to neckbeard yourself into irrelevance and then you end up looking like some dude complaining
    that's no such thing as rock and roll anymore. It's just cringe.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Dan Cross on Mon Apr 22 08:34:16 2024
    On 20/04/2024 6:46 am, Dan Cross wrote:

    They can also look at the number of outstanding bugs that
    are not getting fixed.

    Quite. I know the people involved, have worked with them, and the
    consensus from the industry is that X11 is dead. It gets attention when
    a CVE appears, and when things break on XWayland, but X11 is dead.
    Wayland is not X11, and the world has moved on. It's impossible to do
    ssh forwarding with any reliability, xhost doesn't work as you'd expect,
    etc. The entire _model_ is obsolete and the Big Players do only as much
    as needed to keep legacy stuff working up until it gets rolled over into
    a big k8s thing.

    Anyway all I was saying is that maybe instead of hanging on to how
    things were done in 2004 it might be more useful to make sure than
    things like ssh from Windows Terminal or whatever work without too much finagling.


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Mon Apr 22 08:48:13 2024
    On 21/04/2024 8:27 am, Lawrence D'Oliveiro wrote:

    Linux is able to offer a great deal of variety with minimal fragmentation, while the BSDs have more fragmentation and less variety.

    All the BSD's are great! I'm especially fond of FreeBSD, but even they
    have issue with service (rather than process) management.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Mon Apr 22 09:04:45 2024
    On 21/04/2024 1:00 am, chrisq wrote:

    Perhaps a poor choice of words, but are there any desktop / GUI systems, other than windows, that do not depend on X11 ?. The point was that it
    is a standard, and not optional. Can't remember if the old Motif based
    CDE used X11 libs or not, but that's long gone anyway. VWS, ditto...

    Literally ... all of them? GNOME, KDE, none of them require X11 for
    anything, and they all work perfectly fine. Xwayalnd exists and is
    actively maintained so you can still use X11 and not notice anything.
    You will get the occasional wrinkle (copy/paste finagling) but it's my
    daily drive now. The people who actually do the coding, xfree86/xorg
    people, are now making enormous strides in a post-x11 world. People are
    even writing entire desktop environments in rust now, which is exciting.

    If you're looking for standards, it's now wayland/xdg-portal/dbus.

    It really is worth doing the research here and seeing what modern best
    practice is. Ignore phoronix commenters of course.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Andreas Eder on Sun Apr 21 23:07:42 2024
    On Sun, 21 Apr 2024 11:20:03 +0200, Andreas Eder wrote:

    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    If only Windows had Linux-style service management, don’t you think?
    Imagine being able to add/remove, enable/disable and start/stop individual services without having to reboot the entire system!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Andreas Eder on Sun Apr 21 23:09:20 2024
    On Sun, 21 Apr 2024 11:16:07 +0200, Andreas Eder wrote:

    On So 21 Apr 2024 at 02:08, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    Why is it the Linux distros are able to maintain a common kernel, but
    the BSDs are not? Aren’t the BSD kernels flexible enough for such
    different uses? Which aren’t even that different, compared to how
    distinct the various Linux distros can be?

    Because they do not want to! They have different objectives and they are really different projects. Not at all comparable to Linux distributions.

    And yet the range of variety they are able to offer, with their fragmented kernels, is only a small fraction of what Linux distros have achieved,
    with their unified kernel base.

    The fact that the BSDs needed to make incompatible kernel changes to
    support their userland variants is simply an admission that that kernel wasn’t all that flexible to begin with.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to John Dallman on Sun Apr 21 19:11:22 2024
    On 4/19/2024 5:44 PM, John Dallman wrote:
    I produce closed-source commercial shared libraries that have to work on
    as many Linuxes as possible. The list of ones I have running in the lab
    isn't ludicrous, but nor is it short:

    x86-64: CentOS 7.9, RHEL 8.9, Rocky 8.9, Alma 8.9, Alma 9.3, SLES12sp5, SLES15sp5, Ubuntu LTS 20.04 and 22.04. I need to add Ubuntu LTS 24.04
    soon, of course, and I'm getting extended support on the CentOS 7.9s so
    that products released on them can serve out their maintenance lives.

    And related to the other topic about RHEL significance then that is:
    RHEL + 3 RHEL clones + SLES + Ubuntu

    Aarch64: Ubuntu 20.04, Amazon Linux 2, and RHEL 8.9. I need to add Amazon Linux 2023, Ubuntu LTS 22.04 and 24.04.

    And RHEL + 1 RHEL clone + Ubuntu.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Sun Apr 21 23:12:22 2024
    On Mon, 22 Apr 2024 08:48:13 +1000, motk wrote:

    All the BSD's are great! I'm especially fond of FreeBSD, but even they
    have issue with service (rather than process) management.

    A client of mine has office routers running pfSense, which is based on
    FreeBSD. I find some oddities, compared to Linux. For example, the “route” command (for maintaining the routing table) has no option to list the
    contents of the routing table: instead, you have to use an entirely
    different command, “netstat -r”, for that.

    There was a time when the BSDs had a much superior network stack to Linux. Those days are gone.

    And by the way, the BSD world is working on its own systemd-lookalike,
    too. It’s called “InitWare”.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sun Apr 21 19:14:59 2024
    On 4/21/2024 7:07 PM, Lawrence D'Oliveiro wrote:
    On Sun, 21 Apr 2024 11:20:03 +0200, Andreas Eder wrote:
    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    If only Windows had Linux-style service management, don’t you think? Imagine being able to add/remove, enable/disable and start/stop individual services without having to reboot the entire system!

    They don't need to imagine. They have been doing that for decades.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to motk on Mon Apr 22 08:49:03 2024
    On 22/04/2024 8:36 am, motk wrote:

    Deeply unserious summation. Feel free to keep righting spaghetti bourne
    in rc.d, but the actual working world will just leave it behind.

    Argh, 'writing'

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Mon Apr 22 09:06:38 2024
    On 21/04/2024 1:37 am, Arne Vajhøj wrote:

    I don't think macOS use X either (for native macOS
    applications - can run X applications).

    I think it dropped X support a decade ago. The could probably do a
    headless thing but nobody needs it. There are third party apps of course.


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Mon Apr 22 08:46:00 2024
    On 21/04/2024 1:08 am, chrisq wrote:

    systemd originally came from redhat. I rest my case.

    uh

    A suffocating carbunkle on  what was an elegant os that really didn't
    need it...

    uh

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Sun Apr 21 23:15:27 2024
    On Mon, 22 Apr 2024 08:45:09 +1000, motk wrote:

    This is what I'm saying here, it's possible to neckbeard yourself into irrelevance and then you end up looking like some dude complaining
    that's no such thing as rock and roll anymore. It's just cringe.

    I see that around me all the time. systemd is one obvious trigger for
    them, but there are others (e.g. Wayland, iproute2). Some of these people
    may be physically no older than me (I’m guessing), but mentally it seems
    they already have one foot in the grave.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Mon Apr 22 09:18:18 2024
    On 21/04/2024 8:58 am, Arne Vajhøj wrote:

    It probably didn't hurt that the product they intended to
    displace was also using Electron (Atom).

    It'll probably move on to react/fluent/webview2, like teams did.

    Using a display engine used in anger on billions on devices is probably
    a good call, there's a lot more react coders in the world that qt or
    similar.

    Arne

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Mon Apr 22 09:25:11 2024
    On 22/04/2024 9:12 am, Lawrence D'Oliveiro wrote:

    A client of mine has office routers running pfSense, which is based on FreeBSD. I find some oddities, compared to Linux. For example, the “route”
    command (for maintaining the routing table) has no option to list the contents of the routing table: instead, you have to use an entirely
    different command, “netstat -r”, for that.

    Muscle memory is like that.

    There was a time when the BSDs had a much superior network stack to Linux. Those days are gone.

    They're working on it all the time at least, it's still performant and
    the BSD/Linux network guys have an amicable rivalry.

    And by the way, the BSD world is working on its own systemd-lookalike,
    too. It’s called “InitWare”.

    Of course. Once you realise that you're not just doing the
    fork-child-daemonise thing for a single binary (which had all sorts of
    exciting edge cases), you have to start thinking is services. What are
    you expecting to be up? What state should it be in? What should a
    running target look like?

    Further: modern IT optimises for cattle, not pets.

    People forget that sysvinit and crontab and stuff were just itches
    scratched. People made a lot of money with proprietary service managers,
    batch managers, etc, for the legacy unixes. Now you have systemd which
    just works and now you can go home and drink beer. Bonus: don't have to
    deal with sweaty-palmed salespeople at trade shows.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Mon Apr 22 09:26:50 2024
    On 21/04/2024 10:32 am, Grant Taylor wrote:

    At least Solaris stopped SMF at managing services and didn't try to take
    over DNS, NTP, and many other things.

    Those are entirely optional, but very handy for embedded/cloud image/iot
    stuff, where you don't want to pull in an entire distros worth of stuff.

    This is all a bit sad in 2024.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Mon Apr 22 09:31:52 2024
    On 21/04/2024 10:46 am, Arne Vajhøj wrote:

    But my impression is that it missed on the main criteria: keeping
    things simple.

    I can assure you it's much more simple than dealing with shell scripts
    in init.d, rc.d, /opt/foo/product/bin/etc/local/init.d/rc.d etc etc. Let
    alone stuff glommed into inittab that called stuff that did god knows
    what. This script calls a binary, that writes out a shell script with a
    BASE64 encoded portion that extracts itself and execs it and writes out
    a pid somewhere and what the hell.

    Someone said "bugger this" and wrote something much neater and with
    clearly defined configuration. It was a godsend.

    To illustrate the point and somewhat move back to VMS let me confess something: I really like SYS$MANAGER:SYSTARTUP_VMS.COM to manage
    what get started on VMS.

    VMS start the stuff that has to run and one put in what one
    want to start in SYS$MANAGER:SYSTARTUP_VMS.COM usually in the
    form of @SYS$STARTUP:something$STARTUP.COM.

    A simple text file that after a little cleanup typical
    will be only 20-50 lines. Easy to understand. Easy to edit.

    Sure, you can still do that, but you now have the problem of knowing
    what the state of the system is, being able to interrogate that in a
    machine readable way, and being able to be managed as a fleet.


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to ldo@nz.invalid on Sun Apr 21 23:38:42 2024
    In article <v046mf$htb5$5@dont-email.me>,
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Mon, 22 Apr 2024 08:45:09 +1000, motk wrote:

    This is what I'm saying here, it's possible to neckbeard yourself into
    irrelevance and then you end up looking like some dude complaining
    that's no such thing as rock and roll anymore. It's just cringe.

    I see that around me all the time. systemd is one obvious trigger for
    them, but there are others (e.g. Wayland, iproute2). Some of these people
    may be physically no older than me (I’m guessing), but mentally it seems >they already have one foot in the grave.

    There are multiple arguments against systemd, and if you listen to the arguments that people actually make, you might learn something about them.

    There are people like me who complain that systemd is not necessary at all, that it doesn't solve a problem on most systems.

    There are other people who like the idea of a service manager, but they don't like the idea of one monolithic clump that is the service manager but also
    cron and also has fingers into other places. These people justifiably claim that this is contrary to the traditional Unix philosophy of modularity.

    There are also people who are okay with the idea of one monolithic clump
    but are offended by the non-unix-style non-human-readable configuration
    files.

    Pay attention to the specific arguments people make rather than just putting them all into one category.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Scott Dorsey on Mon Apr 22 09:44:08 2024
    On 22/04/2024 9:33 am, Scott Dorsey wrote:

    XQuartz is supplied by Apple and provides X under MacOS which works pretty reliably, although slower than native MacOS graphics. It's used by a lot of applications from Matlab to the various open-source ports to MacOS.

    I thought it was dead? Let me look.

    Ah, it's an Xorg project.

    https://github.com/XQuartz/XQuartz

    Last release Jan last year. Neat.

    --scott

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Mon Apr 22 09:40:26 2024
    On 22/04/2024 9:15 am, Lawrence D'Oliveiro wrote:

    I see that around me all the time. systemd is one obvious trigger for
    them, but there are others (e.g. Wayland, iproute2). Some of these people
    may be physically no older than me (I’m guessing), but mentally it seems they already have one foot in the grave.

    I don't even like iproute2 myself! I can however, see why it's needed,
    given that the older tooling was invented before stuff like infiniband
    and is incredibly hard to automate.

    I'd like OpenVMS to succeed, but you need to at least try to remove the
    little itchy bits that cause friction. I need to use putty? I mean sure,
    but I can't resize the font sizing on the fly with ctrl-mousewheel,
    lame. What do you mean, termtype? Why won't it just accept xterm, a
    thirty year old informal standard? It's often the little things that put
    people off, and they are often the things that might take an expert the
    least effort to fix once and for all.

    You've already dropped VAX and Alpha and iTanic can't be too far off.
    Why not just make the extra effort and embrace what is possible?

    If I seem intemperate sometimes, I apologise, but I am a grumpy old bugger.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Mon Apr 22 09:50:28 2024
    On 21/04/2024 12:08 pm, Lawrence D'Oliveiro wrote:

    Why is it the Linux distros are able to maintain a common kernel, but the BSDs are not? Aren’t the BSD kernels flexible enough for such different uses? Which aren’t even that different, compared to how distinct the various Linux distros can be?

    The BSDs have a different philosophy; they consider a system to be kernel+userspace and that they should all be built together, ie RELEASE.

    It's quite possible to have a tighter, more portable BSD kernel. There
    was a Debian BSD port for a while.

    It's not one or the other. Both completely valid viewpoints.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Scott Dorsey on Mon Apr 22 10:00:42 2024
    On 22/04/2024 9:38 am, Scott Dorsey wrote:

    There are multiple arguments against systemd, and if you listen to the arguments that people actually make, you might learn something about them.

    I've heard them all before, personally. They generally make little sense.

    There are people like me who complain that systemd is not necessary at all, that it doesn't solve a problem on most systems.

    It isn't necessary, but it's extremely useful. Feel free to build your
    own images with upstart of sysv init or whatever.

    There are other people who like the idea of a service manager, but they don't like the idea of one monolithic clump that is the service manager but also cron and also has fingers into other places. These people justifiably claim that this is contrary to the traditional Unix philosophy of modularity.

    The unix concept of modularity? What? You glue together some apps with
    named pipes and sed or whatever? When has that been true since Xenix?

    You don't need to use any of those features. You can just use it as PID
    1, but then you miss out on things like cgroup management and good luck
    to you.

    There are also people who are okay with the idea of one monolithic clump
    but are offended by the non-unix-style non-human-readable configuration files.

    [stares in sendmail]

    Pay attention to the specific arguments people make rather than just putting them all into one category.

    You don't have an argument, you're just justifying your dislike of
    change. Nothing wrong with disliking change of course but please
    understand that things like smf and systemd came to exist because they
    were needed for modern infrastructure. The Old Ways just no longer cut
    the mustard, and people who do this for a living for vital
    infrastructure were sick of dealing with them.

    [Spanish inquisition enters]

    --scott

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to motk on Sun Apr 21 19:55:57 2024
    On 4/21/2024 7:50 PM, motk wrote:
    On 21/04/2024 12:08 pm, Lawrence D'Oliveiro wrote:
    Why is it the Linux distros are able to maintain a common kernel, but the
    BSDs are not? Aren’t the BSD kernels flexible enough for such different
    uses? Which aren’t even that different, compared to how distinct the
    various Linux distros can be?

    The BSDs have a different philosophy; they consider a system to be kernel+userspace and that they should all be built together, ie RELEASE.

    And that perspective is shared by most outside the *nix space.

    VMS. Windows. The OS is considered atomic not two separate entities:
    kernel and userland.

    I suppose Linux is how it is because Linus created a kernel
    and they adopted existing userland stuff on top of that. Unlike
    DEC, Microsoft and Bell.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to motk on Mon Apr 22 01:03:13 2024
    On 4/21/24 23:45, motk wrote:
    On 20/04/2024 10:37 am, Lawrence D'Oliveiro wrote:


    I wonder who you think is “grabbing” this “power”. Both systemd and >> Wayland are open-source projects, created by people who see a problem and
    are trying to fix it. Those in the community who see value in these
    efforts adopt their solutions, others don’t. There is no Monopolistic™ >> BigCorp® forcing any of these things down our throats. If you don’t want >> to use them, don’t use them.

    If you've ever spend two days awake chasing races in shell scripts
    across pacemaker/corosync you'd do anything for systemd or something
    similar, like the solaris stuff.

    One could argue that if you are chasing races in scripts, there's
    something else wrong in the basic system design :-).

    Having used Solaris for decades, their svcadm and other service
    management tools seemed quite lightweight, in that all the config
    scripts were in the usual places. Still in plain text format, as were
    the log files, which could be manually edited with no ill effect. In
    essence, a layer on top of what was already there. The FreeBSD service framework seems to work in the same way, a lightweight layer on top of
    what was already there. Limited experience, but the AIX smit etc tools
    also seem to work the same way, layered software design.

    Now compare such an approach with that of systemd, and tell us why
    such opaque complexity is a good thing...


    This is what I'm saying here, it's possible to neckbeard yourself into irrelevance and then you end up looking like some dude complaining
    that's no such thing as rock and roll anymore. It's just cringe.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Mon Apr 22 10:06:37 2024
    OK, let's have example systemd unit file. Let's pick one out of my
    proxmox cluster. Gaze upon it and internalize what a pain in the neck
    this would be in sysv or inittab or whatever you think is simple and
    elegant. Everything here is extensively documented and exhaustively
    QA'd. I'm not suggesting this is what everyone needs but imaging some
    weird perfect Unix world where it's basically plan9 is delusional in 2024.


    root@pve:/etc/systemd/system# root@pve:/etc/systemd/system# cat pve-manager.service
    [Unit]
    Description=PVE guests
    ConditionPathExists=/usr/bin/pvesh
    RefuseManualStart=true
    RefuseManualStop=true
    Wants=pvestatd.service
    Wants=pveproxy.service
    Wants=spiceproxy.service
    Wants=pve-firewall.service
    Wants=lxc.service
    After=pveproxy.service
    After=pvestatd.service
    After=spiceproxy.service
    After=pve-firewall.service
    After=lxc.service
    After=pve-ha-crm.service pve-ha-lrm.service

    [Service]
    Environment="PVE_LOG_ID=pve-guests" ExecStartPre=-/usr/share/pve-manager/helpers/pve-startall-delay ExecStart=/usr/bin/pvesh --nooutput create /nodes/localhost/startall ExecStop=-/usr/bin/vzdump -stop
    ExecStop=/usr/bin/pvesh --nooutput create /nodes/localhost/stopall
    Type=oneshot
    RemainAfterExit=yes
    TimeoutSec=infinity

    [Install]
    WantedBy=multi-user.target
    Alias=pve-manager.service


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Mon Apr 22 10:11:52 2024
    On 22/04/2024 10:03 am, chrisq wrote:

    One could argue that if you are chasing races in scripts, there's
    something else wrong in the basic system design :-).

    Sure, but it's not always my job to fix that. Sometimes you have to deal
    with what you get.

    Having used Solaris for decades, their svcadm and other service
    management tools seemed quite lightweight, in that all the config
    scripts were in the usual places. Still in plain text format, as were
    the log files, which could be manually edited with no ill effect. In
    essence, a layer on top of what was already there. The FreeBSD service framework seems to work in the same way, a lightweight layer on top of
    what was already there. Limited experience, but the AIX smit etc tools
    also seem to work the same way, layered software design.

    Now compare such an approach with that of systemd, and tell us why
    such opaque complexity is a good thing...

    What? Where is the opaqueness, where is the complexity? I'm absolutely
    baffled here. What plain text files are you needed to edit? What are the
    usual places? I use this stuff daily, and it manifestly makes my working
    life easier. At no point does it replace any of the tradition unix stuff
    like bind or whatever *unless you specifically ask it to*. None of the
    major distributions build it that way, except perhaps for people using
    zfs root, or iot/cloud builds where they *want* a monolithic init.

    It really sounds like you just need to sit down, read the documentation
    from the systemd and distro side, and work out what works for you.
    Sitting around carping at what is now an established industry standard
    because 'elegance' isn't how I choose to spend my time.


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to meh@meh.meh on Sun Apr 21 23:33:58 2024
    In article <v0465s$gqf3$6@dont-email.me>, motk <meh@meh.meh> wrote:
    On 21/04/2024 1:37 am, Arne Vajhøj wrote:

    I don't think macOS use X either (for native macOS
    applications - can run X applications).

    I think it dropped X support a decade ago. The could probably do a
    headless thing but nobody needs it. There are third party apps of course.

    XQuartz is supplied by Apple and provides X under MacOS which works pretty reliably, although slower than native MacOS graphics. It's used by a lot of applications from Matlab to the various open-source ports to MacOS.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Andreas Eder on Mon Apr 22 09:33:03 2024
    On 21/04/2024 7:20 pm, Andreas Eder wrote:

    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    My beard is as grey as anybody! I refuse to wear suspenders, or socks
    with sandals. Have to draw a line.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Mon Apr 22 01:33:45 2024
    On Sun, 21 Apr 2024 19:14:59 -0400, Arne Vajhøj wrote:

    On 4/21/2024 7:07 PM, Lawrence D'Oliveiro wrote:

    On Sun, 21 Apr 2024 11:20:03 +0200, Andreas Eder wrote:

    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    If only Windows had Linux-style service management, don’t you think?
    Imagine being able to add/remove, enable/disable and start/stop
    individual services without having to reboot the entire system!

    They don't need to imagine. They have been doing that for decades.

    Windows can’t even update a DLL that is in use by running processes. I suppose it inherited that file-locking mentality from VMS.

    Look at the long list of reasons why Windows needs a reboot here, from Microsoft itself: <https://learn.microsoft.com/en-us/troubleshoot/windows-server/installing-updates-features-roles/why-prompted-restart-computer>.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Mon Apr 22 01:52:19 2024
    On Mon, 22 Apr 2024 09:50:28 +1000, motk wrote:

    The BSDs have a different philosophy; they consider a system to be kernel+userspace and that they should all be built together, ie RELEASE.

    Centralized versus distributed design philosophy? Seems to be reflected in
    the fact that the BSDs have been quite slow to adopt distributed version control systems like Git. Even before that, it took them ages just to go
    from CVS to SVN.

    It's not one or the other. Both completely valid viewpoints.

    I would say, one is more adaptable to a changing world than the other.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Mon Apr 22 01:56:12 2024
    On Mon, 22 Apr 2024 01:03:13 +0100, chrisq wrote:

    Still in plain text format, as were the log files, which could be
    manually edited with no ill effect.

    Now compare such an approach with that of systemd, and tell us why such opaque complexity is a good thing...

    All the systemd config is plain text, in the well-known .INI file format
    with easy-to-understand configuration directives. There are separate files
    for configuring separate parts of your system (e.g. separate services), so
    you can easily make changes to one part without impacting another.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sun Apr 21 21:50:55 2024
    On 4/21/2024 9:33 PM, Lawrence D'Oliveiro wrote:
    On Sun, 21 Apr 2024 19:14:59 -0400, Arne Vajhøj wrote:
    On 4/21/2024 7:07 PM, Lawrence D'Oliveiro wrote:
    If only Windows had Linux-style service management, don’t you think?
    Imagine being able to add/remove, enable/disable and start/stop
    individual services without having to reboot the entire system!

    They don't need to imagine. They have been doing that for decades.

    Windows can’t even update a DLL that is in use by running processes. I suppose it inherited that file-locking mentality from VMS.

    None of the operations you mentioned requires to update
    a DLL that is in use by a running process.

    But yes - Windows does not allow that. Which is a complication
    for Windows Update. But does not matter so much for the users
    as they would want to reboot anyway.

    VMS will allow it because the replacement will get a
    new version number. But they should still reboot.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Mon Apr 22 02:00:03 2024
    On Mon, 22 Apr 2024 09:40:26 +1000, motk wrote:

    If I seem intemperate sometimes, I apologise, but I am a grumpy old
    bugger.

    Welcome to comp.os.vms. Many here hate my guts because I actually spent
    some years using VMS before moving on. So when I make a critique, they automatically assume I am saying something stupid and react accordingly,
    until it turns out I can back up what I claim.

    Just wait until they start calling you a “troll” ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Mon Apr 22 02:09:53 2024
    On Sun, 21 Apr 2024 21:50:55 -0400, Arne Vajhøj wrote:

    But does not matter so much for the users as they would want to reboot anyway.

    But you said Windows has been doing that kind of thing without rebooting
    for decades.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Mon Apr 22 02:02:17 2024
    On Mon, 22 Apr 2024 10:00:42 +1000, motk wrote:

    The unix concept of modularity?

    “Those days are dead and gone and the eulogy was delivered by Perl.”
    -- Rob Pike <https://interviews.slashdot.org/story/04/10/18/1153211/rob-pike-responds>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sun Apr 21 22:15:59 2024
    On 4/21/2024 10:09 PM, Lawrence D'Oliveiro wrote:
    On Sun, 21 Apr 2024 21:50:55 -0400, Arne Vajhøj wrote:
    But does not matter so much for the users as they would want to reboot
    anyway.

    But you said Windows has been doing that kind of thing without rebooting
    for decades.

    You wrote:

    If only Windows had Linux-style service management, don’t you think? Imagine being able to add/remove, enable/disable and start/stop
    individual
    services without having to reboot the entire system!

    I replied:

    # They don't need to imagine. They have been doing that for decades.

    add/remove, enable/disable and start/stop of services does not require overwriting DLL's.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to meh@meh.meh on Mon Apr 22 02:37:04 2024
    In article <v049b8$gqf3$11@dont-email.me>, motk <meh@meh.meh> wrote:
    but are offended by the non-unix-style non-human-readable configuration
    files.

    [stares in sendmail]

    Sendmail.cf was hardly typical of most Unix configuration files,
    but surely you already know that. Indeed, I think one could
    make a strong argument that sendmail's design, not to mention
    its configuration, wasn't very Unix-y at all. At this point, I
    imagine that Eric would agree.

    But a fair counter argument to the "but it's not Unix!" cries is
    that Unix lacked a robust configuration language that was
    ubiquitous across systems and packages. That was a bit of a
    shame, but perhaps inevitable: some programs had very domain
    specific requirements for configuration that would be difficult
    to express in a generic configuration language (lookin' at you,
    sendmail). Surely any given universal language would either be
    insufficient to express the full generality required for all
    use cases, or it would be too baroque for simple, common cases.

    Also, Unix provided tools that made it easy to construct DSLs
    for this sort of thing, sort of encouraging it. When it's easy
    to create your own config file format and corresponding parser
    based on a bespoke grammar with tools like lex and yacc, there's
    less incentive to adopt some off-the-shelf, standard config
    language.

    Pay attention to the specific arguments people make rather than just putting >> them all into one category.

    You don't have an argument, you're just justifying your dislike of
    change. Nothing wrong with disliking change of course but please
    understand that things like smf and systemd came to exist because they
    were needed for modern infrastructure. The Old Ways just no longer cut
    the mustard, and people who do this for a living for vital
    infrastructure were sick of dealing with them.

    You may have a point, but to suggest that anyone who objects to
    systemd doesn't "have an argument" or is reactionarily change
    averse is going too far. There are valid arguments against
    systemd, in particular.

    I'll concede that modern Unix systems (including Linux systems),
    that work in terms of services, need a robust service management
    subsystem. Systemd is certainly that. However, it does not
    follow that systemd is actually _good_ as a result. Simply
    being useful is not enough to earn that. And systemd _does_
    have weird edge cases; I wrote a service definition once that
    invoked a script; the script set up some environment variables
    or something and then ran `exec something`. Systemd thought
    that the service had failed because it intercepted that the
    service had exec'ed without fork. To "fix" it I simply didn't
    exec the file program; the result was a useless shell process
    hanging around just to keep systemd happy. Yeah, it works, but
    that seems kinda janky.

    If one takes a step back and thinks about what such a service
    management framework actually has to do, a few things pop out:
    managing the processes that implement the service, including
    possibly running commands both before the "main" process starts
    and possibly after it ends. It must manage dependencies between
    services; arguably it should manage the resources assigned to
    services.

    So this suggests that it should expose some way to express
    inter-service dependencies, presumably with some sort of
    human-maintainable representation; it must support some sort
    of inter-service scheduling to satisfy those dependencies; and
    it must work with the operating system to enforce resource
    management constraints.

    But what else should it do? Does it necessarily need to handle
    logging, or network interface management, or provide name or
    time services? Probably not. SMF didn't do all of that (it
    did sort of support logging, but not the rest), and that was
    fine.

    And is it enough? I would argue not really, and this is really
    the issue with the big monolithic approach that something like
    systemd takes. What does it mean for each and every service to
    be "up"? Is systemd able to express that sufficiently richly
    in all cases? How does one express the sorts of probes that
    would be used to test, anyway? I wrote a service a year or two
    ago that had to wait for a specific symlink to be available; I
    ended up writing a script that tested for it in a loop and used
    that as the ExecStartPost part of my service, but bear in mind
    that the OS already exposes a way to wait for a file to spring
    into existence as part of its eventing framework. Again, this
    felt janky. What if my criteria was more involved, such as
    expecting a certain value from an HTTP server on some port
    assigned by the service manager? Support for multi-process
    services is there, in the sense that one can define sort of a
    tree of services that are managed as a unit by some parent
    service, but it's not super elegant. And what about
    cluster-wide service management? There's a reason organizations
    like Google don't use systemd to manage their services.

    The counter that things like NTP can drag in big dependencies
    that aren't needed (for something that's arguably table stakes,
    like time) feels valid, but that's more of an indictment of the
    upstream NTP projects, rather than justification for building
    it all into a monolith.

    Anyway. I can get behind the idea that modern service
    management is essential for server operation. But it doesn't
    follow that the expression of that concept in systemd is a great
    example of how to do it.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Mon Apr 22 04:14:39 2024
    On Sun, 21 Apr 2024 22:15:59 -0400, Arne Vajhøj wrote:

    add/remove, enable/disable and start/stop of services does not require overwriting DLL's.

    It might involve changing Registry entries. And there is a warning about
    that in that Microsoft article.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to motk on Mon Apr 22 12:28:37 2024
    On 2024-04-19, motk <yep@yep.yep> wrote:

    Because it's _broken_. ssh x11 forwarding has been deliberately broken
    by _design_ for a _decade_, if you're found using X11 in a corporate environemt you will get an earnest conversation with people with no
    sense of humour, the world is real and here and now.


    In what way has it been deliberately broken (and in which versions of
    software) ?

    BTW, to anyone using X11 over ssh, it is a standard recommendation to use
    "ssh -X" instead of "ssh -Y" so that additional security restrictions
    are active. See the ssh man page for details.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to arne@vajhoej.dk on Mon Apr 22 12:37:44 2024
    On 2024-04-20, Arne Vajhj <arne@vajhoej.dk> wrote:
    On 4/20/2024 11:40 AM, Grant Taylor wrote:
    On 4/20/24 07:32, bill wrote:
    Nothing wrong with DECTerm. But there was a lot more you could do
    with DECWindows. Worked great back when I had labs of X-terminals to
    support both VMS and SunOS for the students (and yes, faculty liked
    it, too.)

    I think that X11's ability to work across platforms is something that's
    unmet by any other protocol that I'm aware of.

    GUI applications could run on their native / optimal platform and
    display on whatever platform the user wanted to use.

    No, I don't consider web based interfaces to be comparable.

    Cool feature.

    But how many does really need it?


    Everyone who needs to run a GUI application on an embedded Linux box
    or everyone who needs to run a GUI application on various Linux servers
    from the comfort of your own desk and workstation.

    Even at home, I routinely use this capability.

    Also note that the GUI application could be anything, including a debugger.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to motk on Mon Apr 22 12:44:16 2024
    On 2024-04-21, motk <meh@meh.meh> wrote:
    On 21/04/2024 8:58 am, Arne Vajhj wrote:

    It probably didn't hurt that the product they intended to
    displace was also using Electron (Atom).

    It'll probably move on to react/fluent/webview2, like teams did.

    Using a display engine used in anger on billions on devices is probably
    a good call, there's a lot more react coders in the world that qt or
    similar.


    Quantity does not equal quality. :-)

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Grant Taylor on Mon Apr 22 12:53:17 2024
    On 2024-04-21, Grant Taylor <gtaylor@tnetconsulting.net> wrote:
    On 4/21/24 04:20, Andreas Eder wrote:
    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    I really would like to agree. However we have some 20 year old
    developers that have been using Linux their entire life making these
    types of questionable decisions.

    I think it's more apt to say that they have grown up with frameworks
    that abstract things away from them and they have no idea how the
    underlying infrastructure works.


    I would hope that this generation of programmers still knows some of
    the basics and (for example) still knows what a device or CPU register is...

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to motk on Mon Apr 22 13:10:12 2024
    On 2024-04-21, motk <meh@meh.meh> wrote:
    On 20/04/2024 7:44 am, John Dallman wrote:

    That's an extremely sweeping statement. I'm working for a very large and
    paranoid corporation. I wouldn't try using X11 across the internet, but
    for working with a lot of different Linuxes, macOS and Solaris in a
    secured development lab, it is truly excellent, and nobody is trying to
    stop me.

    I'd love that sort of gig myself, but everywhere I've been for the past twenty years would have conniptions if I asked to open firewall holes
    for X, or to add stuff to /etc/skel for xhosts, or to add selinux
    policy, etc etc.


    If anyone is doing anything with xhost for X11 these days, they are doing
    it _very_ wrong. :-) The only acceptable way to run X11 remotely is over
    ssh (and that is with "ssh -X" and not "ssh -Y").

    It lets me have editors and terminal windows on lots of different Linuxes
    without needing to deal with their different GUIs and desktop
    environments. As far as I can see, Wayland doesn't offer that unless you
    slap on a remote desktop protocol. I actively don't want remote desktop:
    it is not useful to me, it will suck bandwidth, and it gives me much,
    much more setup to do.

    Wayland is not X. It was never designed to do that, and I've personally berated Keith et al about that decision. RDP pretty much exploded and
    all interest in replicated X in that way vanished, but there is yet
    hope, ie https://gitlab.freedesktop.org/mstoeckl/waypipe/


    When running in a lower-bandwidth situation, what are the bandwidth requirements with the above approach, versus running the X11 protocol
    directly over ssh ?

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to clubley@remove_me.eisner.decus.org- on Mon Apr 22 14:05:44 2024
    In article <v05mjt$ugqt$5@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-21, Grant Taylor <gtaylor@tnetconsulting.net> wrote:
    On 4/21/24 04:20, Andreas Eder wrote:
    I think the problem is that they grew up in a Windows dominated world,
    not like us greybeards.

    I really would like to agree. However we have some 20 year old
    developers that have been using Linux their entire life making these
    types of questionable decisions.

    I think it's more apt to say that they have grown up with frameworks
    that abstract things away from them and they have no idea how the
    underlying infrastructure works.

    I would hope that this generation of programmers still knows some of
    the basics and (for example) still knows what a device or CPU register is...

    Some do, many do not.

    In defense of the kids, there's a lot more computer science to
    learn these days than there was $x$ many years ago, and the same
    amount of time to teach it to them in a standard 4 year degree
    course. It's a balancing act fitting it all in.

    That said, some of the greybeards have no idea (and I mean none
    whatsoever) of how modern systems _actually_ work under the hood
    themselves. Those in glass houses....

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to clubley@remove_me.eisner.decus.org- on Mon Apr 22 13:31:44 2024
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-21, motk <meh@meh.meh> wrote:
    Wayland is not X. It was never designed to do that, and I've personally
    berated Keith et al about that decision. RDP pretty much exploded and
    all interest in replicated X in that way vanished, but there is yet
    hope, ie https://gitlab.freedesktop.org/mstoeckl/waypipe/

    When running in a lower-bandwidth situation, what are the bandwidth >requirements with the above approach, versus running the X11 protocol >directly over ssh ?

    rdp is a little bit faster than remote X11 but it's still really awful
    if there is any channel latency. FastX, which is a proprietary solution
    but an excellent one, is definitely a win.

    Neither x11 nor rdp were ever intended for cross-country use.
    --scott

    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to Dan Cross on Mon Apr 22 13:28:48 2024
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    Sendmail.cf was hardly typical of most Unix configuration files,
    but surely you already know that. Indeed, I think one could
    make a strong argument that sendmail's design, not to mention
    its configuration, wasn't very Unix-y at all. At this point, I
    imagine that Eric would agree.

    This is true although the extensive use of regexps and rewrite rules is
    very Unixlike.

    Sendmail was a thing that started out clean and small and accreted more and more crap as time went by, until it got to the point where it just was not really much good anymore. And then it got replaced (for the most part) by
    more modular and maintainable systems.

    But a fair counter argument to the "but it's not Unix!" cries is
    that Unix lacked a robust configuration language that was
    ubiquitous across systems and packages. That was a bit of a
    shame, but perhaps inevitable: some programs had very domain
    specific requirements for configuration that would be difficult
    to express in a generic configuration language (lookin' at you,
    sendmail). Surely any given universal language would either be
    insufficient to express the full generality required for all
    use cases, or it would be too baroque for simple, common cases.

    This is true, although with JSON things are changing a bit.

    Anyway. I can get behind the idea that modern service
    management is essential for server operation. But it doesn't
    follow that the expression of that concept in systemd is a great
    example of how to do it.

    IF you believe this, and I am not sure that I do, then it seems to me
    that the Solaris approach is far, far better than the systemd approach. Certainly a good argument can be made for service management and there are certainly some systems where it is a good idea, but that does not mean
    that systemd is a good idea.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to clubley@remove_me.eisner.decus.org- on Mon Apr 22 14:25:19 2024
    In article <v05lmo$ugqt$3@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-20, Arne Vajhj <arne@vajhoej.dk> wrote:
    On 4/20/2024 11:40 AM, Grant Taylor wrote:
    On 4/20/24 07:32, bill wrote:
    Nothing wrong with DECTerm. But there was a lot more you could do
    with DECWindows. Worked great back when I had labs of X-terminals to
    support both VMS and SunOS for the students (and yes, faculty liked
    it, too.)

    I think that X11's ability to work across platforms is something that's
    unmet by any other protocol that I'm aware of.

    GUI applications could run on their native / optimal platform and
    display on whatever platform the user wanted to use.

    No, I don't consider web based interfaces to be comparable.

    Cool feature.

    But how many does really need it?


    Everyone who needs to run a GUI application on an embedded Linux box
    or everyone who needs to run a GUI application on various Linux servers
    from the comfort of your own desk and workstation.

    Even at home, I routinely use this capability.

    Also note that the GUI application could be anything, including a debugger.

    I do wonder how many people actually need this. Indeed, one
    sometimes wonders if a shell is even really necessary for pure
    server applications. I suppose that when one needs it, one
    really needs it.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to Scott Dorsey on Mon Apr 22 14:24:15 2024
    In article <v05omg$cnu$1@panix2.panix.com>,
    Scott Dorsey <kludge@panix.com> wrote:
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    Sendmail.cf was hardly typical of most Unix configuration files,
    but surely you already know that. Indeed, I think one could
    make a strong argument that sendmail's design, not to mention
    its configuration, wasn't very Unix-y at all. At this point, I
    imagine that Eric would agree.

    This is true although the extensive use of regexps and rewrite rules is
    very Unixlike.

    Is it? Did sendmail really make much use of regular expressions
    for example? The production rules are related, but dissimilar.
    The closest seems like the state-driven tokenization code in the
    address parser, but I don't think it actually implements
    generalized regular expressions. Perhaps it would have been
    cleaner if it had.

    Sendmail was a thing that started out clean and small and accreted more and >more crap as time went by, until it got to the point where it just was not >really much good anymore. And then it got replaced (for the most part) by >more modular and maintainable systems.

    Yup. The problem got harder and harder, too.

    But a fair counter argument to the "but it's not Unix!" cries is
    that Unix lacked a robust configuration language that was
    ubiquitous across systems and packages. That was a bit of a
    shame, but perhaps inevitable: some programs had very domain
    specific requirements for configuration that would be difficult
    to express in a generic configuration language (lookin' at you,
    sendmail). Surely any given universal language would either be >>insufficient to express the full generality required for all
    use cases, or it would be too baroque for simple, common cases.

    This is true, although with JSON things are changing a bit.

    Eh, JSON has its own problems; since the representation of
    numbers is specified to be compatible with floats, it's possible
    to lose data by translating it through JSON (I've seen people
    put e.g. machine addresses in JSON and then be surprised when
    the low bits disappear: floating point representations are not
    exact over the range of 64-bit integers!).

    Anyway. I can get behind the idea that modern service
    management is essential for server operation. But it doesn't
    follow that the expression of that concept in systemd is a great
    example of how to do it.

    IF you believe this, and I am not sure that I do, then it seems to me
    that the Solaris approach is far, far better than the systemd approach. >Certainly a good argument can be made for service management and there are >certainly some systems where it is a good idea, but that does not mean
    that systemd is a good idea.

    100%. I'd prefer something like Solaris's SMF to systemd,
    though hopefully with something nicer than XML for configuration
    files.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to Scott Dorsey on Mon Apr 22 12:06:33 2024
    On 4/22/2024 11:16 AM, Scott Dorsey wrote:
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    That said, some of the greybeards have no idea (and I mean none
    whatsoever) of how modern systems _actually_ work under the hood
    themselves. Those in glass houses....

    I am certainly in that category and believe me it absolutely terrifies me.
    It terrifies me even more that when I ask people how things work inside, nobody else seems to know either!

    What worries me is that we have a generation of people who don't really care. Or maybe more than one generation.
    --scott



    Well, sometimes they SHOULD care ...

    A while back, an employee at a customer site, when attempting to discuss security, the employee said "my boss doesn't care about security". Ok, no sense
    continuing discussion.

    Time passes, and as it happens, site gets hit with ransomware. Not the VMS system, the WEENDOZE PCs. Cost them maybe $100K to get over that. Makes one wonder if boss now cares about security.

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to Dan Cross on Mon Apr 22 15:16:32 2024
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    That said, some of the greybeards have no idea (and I mean none
    whatsoever) of how modern systems _actually_ work under the hood
    themselves. Those in glass houses....

    I am certainly in that category and believe me it absolutely terrifies me.
    It terrifies me even more that when I ask people how things work inside,
    nobody else seems to know either!

    What worries me is that we have a generation of people who don't really care. Or maybe more than one generation.
    --scott


    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to Scott Dorsey on Mon Apr 22 18:50:34 2024
    In article <v05v0g$4sr$1@panix2.panix.com>,
    Scott Dorsey <kludge@panix.com> wrote:
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    That said, some of the greybeards have no idea (and I mean none
    whatsoever) of how modern systems _actually_ work under the hood >>themselves. Those in glass houses....

    I am certainly in that category and believe me it absolutely terrifies me.
    It terrifies me even more that when I ask people how things work inside, >nobody else seems to know either!

    What worries me is that we have a generation of people who don't really care. >Or maybe more than one generation.

    It's not even that people don't care, it's that the entire thing
    is so ridiculously complex that it's beyond the understanding of
    a single person, and much of it is hidden from the OS, buried
    under layers of firmware blobs running on hidden cores outside
    of the visibility, let alone control, of an operating system.

    Consider IO buses; these days, the dominant high-end peripheral
    interconnect is PCIe, which uses a serial protocol over
    differential pairs for signalling at the electrical layer. But
    that protocol is complex, and it runs at absurd speeds; small
    variations in trace length matter. To even begin to use it, the
    link pairs must be "trained" to work out timing parameters for
    signalling. How does THAT happen? It turns out, a hidden core
    with a serious DSP usually does it for you. How do you debug
    that? Long gone are the days of attaching some probes to a few
    test points and seeing what the hell the bus is doing, let alone
    understanding what this random IP inside the SoC complex is
    doing. Sometimes the system vendors don't even know; they got
    the IP (and its firmware) from a third party themselves.

    Just booting a system is ridiculous. Most of it is punted to
    vendor code running inside of UEFI or the BIOS or whatever.
    Most of that is inscruitable.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bob Eager@21:1/5 to Lawrence D'Oliveiro on Mon Apr 22 20:37:54 2024
    On Sun, 21 Apr 2024 23:09:20 +0000, Lawrence D'Oliveiro wrote:

    On Sun, 21 Apr 2024 11:16:07 +0200, Andreas Eder wrote:

    On So 21 Apr 2024 at 02:08, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    Why is it the Linux distros are able to maintain a common kernel, but
    the BSDs are not? Aren’t the BSD kernels flexible enough for such
    different uses? Which aren’t even that different, compared to how
    distinct the various Linux distros can be?

    Because they do not want to! They have different objectives and they
    are really different projects. Not at all comparable to Linux
    distributions.

    And yet the range of variety they are able to offer, with their
    fragmented kernels, is only a small fraction of what Linux distros have achieved, with their unified kernel base.

    You just carry on with your crusade.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Dan Cross on Mon Apr 22 18:05:09 2024
    On 4/22/24 13:50, Dan Cross wrote:
    It's not even that people don't care, it's that the entire thing is so ridiculously complex that it's beyond the understanding of a single
    person, and much of it is hidden from the OS, buried under layers
    of firmware blobs running on hidden cores outside of the visibility,
    let alone control, of an operating system.

    There is some truth to the complexity.

    But you can't have anyone, or even a team of people, effectively
    understand if their bosses don't care and won't give them time to learn
    how things work.

    There is way too much apathy going around.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Simon Clubley on Mon Apr 22 18:01:21 2024
    On 4/22/24 07:53, Simon Clubley wrote:
    I would hope that this generation of programmers still knows some
    of the basics and (for example) still knows what a device or CPU
    register is...

    I would not bet on it. Much less hold my breath.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Scott Dorsey on Tue Apr 23 10:07:33 2024
    On 23/4/24 01:16, Scott Dorsey wrote:

    What worries me is that we have a generation of people who don't really care. Or maybe more than one generation.

    That's ubiquitous computing for you. There's enough complexity in
    scale-out and edge systems now that knowing TTL or assembler or whatever
    is just a distraction. You're not paid to know that, your job is to make
    sure the bank or whatever can keep running.

    --scott

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Grant Taylor on Mon Apr 22 19:06:44 2024
    On 4/22/24 19:05, Grant Taylor wrote:
    I've found that X11 is one of the fatter remote GUI protocols.  RDP and
    VNC tend to be lighter.

    But, RDP and VNC tend to imply a full desktop whereas X easily has
    programs from different hosts display as windows on a single X server.

    There are some hacks to emulate this with RDP and VNC, but they are not native and not reliable.

    I believe that X11 has something going for it that RDP and VNC can't
    touch. That's the ability to do X11 over protocols other than IP, e.g.
    DECnet. Something that some in this newsgroup may have an affinity for.
    }:-)



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Simon Clubley on Mon Apr 22 19:05:02 2024
    On 4/22/24 08:10, Simon Clubley wrote:
    If anyone is doing anything with xhost for X11 these days, they are
    doing it _very_ wrong. :-)

    I agree with that.

    The only acceptable way to run X11 remotely is over ssh (and that is
    with "ssh -X" and not "ssh -Y").

    I don't agree with that.

    I don't need to use ssh to run between two systems in my home or over a
    cross over cable.

    xauth (in a trusted LAN) works sufficiently well, is native to
    contemporary X, and doesn't incur the ssh overhead.

    When running in a lower-bandwidth situation, what are the bandwidth requirements with the above approach, versus running the X11 protocol directly over ssh ?

    I've found that X11 is one of the fatter remote GUI protocols. RDP and
    VNC tend to be lighter.

    But, RDP and VNC tend to imply a full desktop whereas X easily has
    programs from different hosts display as windows on a single X server.

    There are some hacks to emulate this with RDP and VNC, but they are not
    native and not reliable.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Dan Cross on Mon Apr 22 18:53:26 2024
    On 4/21/24 21:37, Dan Cross wrote:
    Sendmail.cf was hardly typical of most Unix configuration files,

    I'll argue that sendmail.cf or sendmail.mc aren't as much configuration
    files as they are source code for a domain specific language used to
    impart configuration on the sendmail binary. In some ways it's closer
    to modifying a Makefile / header file for a program than a more typical configuration file.

    You may have a point, but to suggest that anyone who objects to systemd doesn't "have an argument" or is reactionarily change averse is going
    too far. There are valid arguments against systemd, in particular.

    Agreed.

    I'll concede that modern Unix systems (including Linux systems), that
    work in terms of services, need a robust service management subsystem.

    For the sake of discussion, please explain why traditional SysV init
    scripts aren't a service management subsystem / facility / etc.

    If one takes a step back and thinks about what such a service
    management framework actually has to do, a few things pop out: managing
    the processes that implement the service, including possibly running
    commands both before the "main" process starts and possibly after
    it ends. It must manage dependencies between services; arguably it
    should manage the resources assigned to services.

    I feel like the pre / post commands should not be part of the system
    management ${PICK_YOUR_TERM}. Instead there should be a command (script
    or binary) that can be called to start / stop / restart / etc. a service
    and that it is the responsibility of that command (...) to run the pre
    and / or post commands related to the actual primary program executable.

    I feel like the traditional SysV / /etc/init.d scripts did the pre and /
    or post commands fairly well.

    What the SysV init system didn't do is manage dependencies. Instead
    that dependency management was offloaded to the system administrator.

    So this suggests that it should expose some way to express
    inter-service dependencies, presumably with some sort of
    human-maintainable representation; it must support some sort of
    inter-service scheduling to satisfy those dependencies; and it
    must work with the operating system to enforce resource management constraints.

    I'm okay with that in spirit. But I'm not okay with what I've witnessed execution of this. I've seen a service restart, when a HUP would
    suffice, cause multiple other things stop and restart because of the
    dependency configuration.

    Yes, things like a web server and an email server probably really do
    need networking. But that doesn't mean that they need the primary
    Ethernet interface to be up/up. The loopback / localhost and other
    Ethernet interfaces are probably more than sufficient to keep the
    servers happy while I re-configure the primary Ethernet interface.

    But what else should it do? Does it necessarily need to handle
    logging, or network interface management, or provide name or time
    services? Probably not.

    I think almost certainly not. Or more specifically I think that -- what
    I colloquially call -- an init system should keep it's bits off name
    resolution and network interface management.

    SMF didn't do all of that (it did sort of support logging, but not
    the rest), and that was fine.

    The only bits of logging that I've seen in association with SMF was
    logging of SMF's processing of starting / stopping / etc. services. The
    rest of the logging was handled by the standard system logging daemon.

    And is it enough? I would argue not really, and this is really the
    issue with the big monolithic approach that something like systemd
    takes. What does it mean for each and every service to be "up"?
    Is systemd able to express that sufficiently richly in all cases?
    How does one express the sorts of probes that would be used to test,
    anyway?

    I would argue that this is a status / ping operation that a venerable
    init script should provide and manage.

    If the system management framework wants to periodically call the init
    script to check the status of the process, fine. Let the service's init
    script manage what tests are done and how to do them. The service's
    init script almost certainly knows more about the service than a generic
    init / service lifecycle manager thing.

    I feel like there are many layering violations in the pursuit of service lifecycle manager.

    Here's a thought, have a separate system that does monitoring / health
    checks of things and have it report it's findings and possibly try to
    restart the unhealthy service using the init / SMF / etc. system in the
    event that is necessary.

    Multiple sub-systems should work in concert with each other. No single subsystem should try to do multiple subsystems jobs.

    The counter that things like NTP can drag in big dependencies that
    aren't needed (for something that's arguably table stakes, like
    time) feels valid, but that's more of an indictment of the upstream
    NTP projects, rather than justification for building it all into
    a monolith.

    +10

    Anyway. I can get behind the idea that modern service management
    is essential for server operation. But it doesn't follow that the
    expression of that concept in systemd is a great example of how to
    do it.

    +1



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Tue Apr 23 10:13:24 2024
    On 23/4/24 09:53, Grant Taylor wrote:

    For the sake of discussion, please explain why traditional SysV init
    scripts aren't a service management subsystem / facility / etc.

    [tears out remaining hair, goes bald, wife divorces me]

    Can the greybeards please stop sooking about it not being 1999 anymore
    please. Once upon a time, knowing inscrutable regex and gluing stuff
    together with sed and awk make you a sage superhero. Now people look at
    you funny for gluing in tech debt, and they are right to do so.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Tue Apr 23 10:09:55 2024
    On 23/4/24 09:05, Grant Taylor wrote:

    There is way too much apathy going around.

    Perhaps, but there's also the matter of finite time and actual desired outcomes.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to motk on Mon Apr 22 19:56:37 2024
    On 4/22/24 19:13, motk wrote:
    Can the greybeards please stop sooking about it not being 1999 anymore please. Once upon a time, knowing inscrutable regex and gluing stuff
    together with sed and awk make you a sage superhero. Now people look at
    you funny for gluing in tech debt, and they are right to do so.

    That's a non-answer.

    I was hoping to see a ${SERVICE_MANAGEMENT_THING} provides:

    - this
    - this
    - that
    - and this
    - don't forget about that

    Type answer.

    I hear people say that systemd and smf are service management things and
    that traditional SysV style init scripts aren't. But they never explain
    why the former is and the latter isn't.

    I was genuinely trying to learn something.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Simon Clubley on Tue Apr 23 10:15:37 2024
    On 22/4/24 22:44, Simon Clubley wrote:

    Quantity does not equal quality. :-)

    I dunno, I'm not unintelligent but have you seen how much stress a
    browser engine has to endure? Thousands of people with phds smash these
    things to bits on the regular. Hundreds of thousands of people use electron/react/whatever apps every day and never notice. Grousing about
    this isn't a good look anymore.

    Simon.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Simon Clubley on Tue Apr 23 10:20:00 2024
    On 22/4/24 23:10, Simon Clubley wrote:

    If anyone is doing anything with xhost for X11 these days, they are doing
    it _very_ wrong. :-) The only acceptable way to run X11 remotely is over
    ssh (and that is with "ssh -X" and not "ssh -Y").

    Of course, but you'd think some of the respondents here have barely let
    go of telnet.

    When running in a lower-bandwidth situation, what are the bandwidth requirements with the above approach, versus running the X11 protocol directly over ssh ?

    X11 is famously insanely chattery and requires a fast, jitter free link.
    Try running it on a machine overseas - yes, you can finagle things but
    it's still awful due to the core design of X. The network design that X
    expects no longer exists for the most part.

    waypipe works fine AFAICT, no worse than RDP.

    Simon.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Simon Clubley on Tue Apr 23 10:24:43 2024
    On 22/4/24 22:28, Simon Clubley wrote:
    On 2024-04-19, motk <yep@yep.yep> wrote:

    Because it's _broken_. ssh x11 forwarding has been deliberately broken
    by _design_ for a _decade_, if you're found using X11 in a corporate
    environemt you will get an earnest conversation with people with no
    sense of humour, the world is real and here and now.

    In what way has it been deliberately broken (and in which versions of software) ?

    The expectations that -X requires no longer exist by default, for a
    start. The complete lack of interest in keeping it working.

    BTW, to anyone using X11 over ssh, it is a standard recommendation to use "ssh -X" instead of "ssh -Y" so that additional security restrictions
    are active. See the ssh man page for details.

    -Y exists because people complained that -X was too restrictive IMR.

    Simon.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to motk on Mon Apr 22 19:58:48 2024
    On 4/22/24 19:13, motk wrote:
    Once upon a time, knowing inscrutable regex and gluing stuff together
    with sed and awk make you a sage superhero.

    I'm not advocating for using regex / sed / awk as part of init systems.

    There are places for those. I think that an init system is the
    antithesis of it.

    IMHO an init system; whatever it's name is, and most of a Unix / VMS
    system should be as boring as the day is long. Boring has low technical
    debt, easy to teach, easy to maintain, easy to change.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to motk on Mon Apr 22 20:02:48 2024
    On 4/22/24 19:15, motk wrote:
    I dunno, I'm not unintelligent but have you seen how much stress a
    browser engine has to endure? Thousands of people with phds smash these things to bits on the regular. Hundreds of thousands of people use electron/react/whatever apps every day and never notice. Grousing about
    this isn't a good look anymore.

    How much more productive work is done with a contemporary web browser in
    2024 than in 2004 or even in 1998 (save for encryption)?

    How much more productive work are computers doing in general in 2024
    than in 1994?

    Have the frameworks and fancy things that are done in 2024 actually
    improved things?

    I feel like there is massively disproportionately more computation power
    / resources consumed for very questionable things with not much to show
    for it. Think what could have been done in the mid '90s with today's
    computing resources.

    As such, I believe that there is some room for grousing about many
    questionable practices today.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to gtaylor@tnetconsulting.net on Tue Apr 23 01:16:56 2024
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:

    I hear people say that systemd and smf are service management things and
    that traditional SysV style init scripts aren't. But they never explain
    why the former is and the latter isn't.

    The one thing that smf and systemd have is the ability to watch a process
    and restart it if it crashes. Many people find this very important, although personally I suspect that if your service is crashing a lot that you should
    fix it rather than rely on something else to restart it.

    Something else that they do provide is automated management of dependencies
    to start everything in order without the admin having to manually set the
    order of execution up. This can be a benefit and if done well can also speed boot times, but I am not sure that this is necessary to call a startup mechanism a service manager.

    I was genuinely trying to learn something.

    This is not likely to be a thread in which anyone will learn much, I am sorry to say.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to Scott Dorsey on Tue Apr 23 02:12:55 2024
    In article <v07268$hqd$1@panix2.panix.com>,
    Scott Dorsey <kludge@panix.com> wrote:
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:

    I hear people say that systemd and smf are service management things and >>that traditional SysV style init scripts aren't. But they never explain >>why the former is and the latter isn't.

    The one thing that smf and systemd have is the ability to watch a process
    and restart it if it crashes. Many people find this very important, although >personally I suspect that if your service is crashing a lot that you should >fix it rather than rely on something else to restart it.

    The thing is, when you're working at scale, managing services
    across tens of thousands of machines, you quickly discover that
    shit happens. Things sometimes crash randomly; often this is
    due to a bug, but sometimes it's just because the OOM killer got
    greedy due to the delayed effects of a poor scheduling decision,
    or there was a dip on one of the voltage rails and a DIMM lost a
    bit, or a job landed on a machine that's got some latent
    hardware fault and it just happened to wiggle things in just the
    right way so that a 1 turned into a 0 (or vice versa), or any
    number of other things that may or may not have anything to do
    with the service itself.

    Again, at scale, this can happen thousands of times a day. You
    can't reasonably track them all down. Often, the only thing you
    can do is just restart the service and log it; eventually, some
    poor SRE may notice a pattern in the failures and get it fixed.
    Or not.

    Something else that they do provide is automated management of dependencies >to start everything in order without the admin having to manually set the >order of execution up. This can be a benefit and if done well can also speed >boot times, but I am not sure that this is necessary to call a startup >mechanism a service manager.

    I was genuinely trying to learn something.

    This is not likely to be a thread in which anyone will learn much, I am sorry >to say.

    That's a shame.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to gtaylor@tnetconsulting.net on Tue Apr 23 02:07:00 2024
    In article <v06t9m$fni$4@tncsrv09.home.tnetconsulting.net>,
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:
    On 4/21/24 21:37, Dan Cross wrote:
    Sendmail.cf was hardly typical of most Unix configuration files,

    I'll argue that sendmail.cf or sendmail.mc aren't as much configuration
    files as they are source code for a domain specific language used to
    impart configuration on the sendmail binary. In some ways it's closer
    to modifying a Makefile / header file for a program than a more typical >configuration file.

    That seems like a distinction with little difference. Most
    configuration files are in some format that can be considered a
    DSL.

    Regardless, I wouldn't consider sendmail's config stuff anywhere
    analogous to a Makefile or header; more like APL source code
    perhaps.

    You may have a point, but to suggest that anyone who objects to systemd
    doesn't "have an argument" or is reactionarily change averse is going
    too far. There are valid arguments against systemd, in particular.

    Agreed.

    I'll concede that modern Unix systems (including Linux systems), that
    work in terms of services, need a robust service management subsystem.

    For the sake of discussion, please explain why traditional SysV init
    scripts aren't a service management subsystem / facility / etc.

    Among other things, there's no ongoing monitoring of the state
    of a service. Init scripts start a program, and maybe know how
    to stop it, but that's about it. If it faults? You're kind of
    on your own. There's limited support for restarting things that
    fail with `init` and `inittab`, but that's not really the same
    thing.

    If one takes a step back and thinks about what such a service
    management framework actually has to do, a few things pop out: managing
    the processes that implement the service, including possibly running
    commands both before the "main" process starts and possibly after
    it ends. It must manage dependencies between services; arguably it
    should manage the resources assigned to services.

    I feel like the pre / post commands should not be part of the system >management ${PICK_YOUR_TERM}. Instead there should be a command (script
    or binary) that can be called to start / stop / restart / etc. a service
    and that it is the responsibility of that command (...) to run the pre
    and / or post commands related to the actual primary program executable.

    I feel like the traditional SysV / /etc/init.d scripts did the pre and /
    or post commands fairly well.

    What the SysV init system didn't do is manage dependencies. Instead
    that dependency management was offloaded to the system administrator.

    What, lexiographical sorting of filenames isn't good enough for
    you or something? :-)

    So this suggests that it should expose some way to express
    inter-service dependencies, presumably with some sort of
    human-maintainable representation; it must support some sort of
    inter-service scheduling to satisfy those dependencies; and it
    must work with the operating system to enforce resource management
    constraints.

    I'm okay with that in spirit. But I'm not okay with what I've witnessed >execution of this. I've seen a service restart, when a HUP would
    suffice, cause multiple other things stop and restart because of the >dependency configuration.

    Yes, things like a web server and an email server probably really do
    need networking. But that doesn't mean that they need the primary
    Ethernet interface to be up/up. The loopback / localhost and other
    Ethernet interfaces are probably more than sufficient to keep the
    servers happy while I re-configure the primary Ethernet interface.

    That's an implementation detail, suggesting that the system was
    either insufficiently rich to capture that sort of dependency,
    or improperly configured so as to be too strict.

    But what else should it do? Does it necessarily need to handle
    logging, or network interface management, or provide name or time
    services? Probably not.

    I think almost certainly not. Or more specifically I think that -- what
    I colloquially call -- an init system should keep it's bits off name >resolution and network interface management.

    SMF didn't do all of that (it did sort of support logging, but not
    the rest), and that was fine.

    The only bits of logging that I've seen in association with SMF was
    logging of SMF's processing of starting / stopping / etc. services. The
    rest of the logging was handled by the standard system logging daemon.

    It depends on the service. Most only log that the service was
    started/stopped, but some have more verbose logging. By default
    a method's standard output and error are connected to the
    per-instance log file. See svc.startd(8) for details.

    And is it enough? I would argue not really, and this is really the
    issue with the big monolithic approach that something like systemd
    takes. What does it mean for each and every service to be "up"?
    Is systemd able to express that sufficiently richly in all cases?
    How does one express the sorts of probes that would be used to test,
    anyway?

    I would argue that this is a status / ping operation that a venerable
    init script should provide and manage.

    If the system management framework wants to periodically call the init
    script to check the status of the process, fine. Let the service's init >script manage what tests are done and how to do them. The service's
    init script almost certainly knows more about the service than a generic
    init / service lifecycle manager thing.

    Delegation to some service-specific component seems like the
    most general approach. Notably, this is something where systemd
    doesn't do a great job.

    I feel like there are many layering violations in the pursuit of service >lifecycle manager.

    Here's a thought, have a separate system that does monitoring / health
    checks of things and have it report it's findings and possibly try to
    restart the unhealthy service using the init / SMF / etc. system in the
    event that is necessary.

    Multiple sub-systems should work in concert with each other. No single >subsystem should try to do multiple subsystems jobs.

    An issue here is the implementation of Unix (which, given that
    this is a VMS newsgroup, I do feel compelled to say may not be
    the light and the way that some people think that it is). You
    have things like process exit status reporting that works with
    process hierarchies, but less so across those. E.g., you can't
    `waitpid` for a process that isn't your own descendent. Which
    in turn implies that for maintaining state of whether a thing
    is running or not, a separate service presents other
    complications. There have been some patches to do this in Linux
    but it's not clear that they made it into the kernel, and they
    are not portable regardless. One can play games with ptrace,
    but it's all a bit hacky.

    The counter that things like NTP can drag in big dependencies that
    aren't needed (for something that's arguably table stakes, like
    time) feels valid, but that's more of an indictment of the upstream
    NTP projects, rather than justification for building it all into
    a monolith.

    +10

    Anyway. I can get behind the idea that modern service management
    is essential for server operation. But it doesn't follow that the
    expression of that concept in systemd is a great example of how to
    do it.

    +1

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Grant Taylor on Tue Apr 23 03:06:01 2024
    On Mon, 22 Apr 2024 18:53:26 -0500, Grant Taylor wrote:

    On 4/21/24 21:37, Dan Cross wrote:

    I'll concede that modern Unix systems (including Linux systems), that
    work in terms of services, need a robust service management subsystem.

    For the sake of discussion, please explain why traditional SysV init
    scripts aren't a service management subsystem / facility / etc.

    You forgot the key word: “robust”.

    What the SysV init system didn't do is manage dependencies.

    They also cannot manage service shutdown reliably. systemd can manage that because it tracks the service processes by using “cgroups” to group them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to gtaylor@tnetconsulting.net on Tue Apr 23 02:19:30 2024
    In article <v071bo$j0l$3@tncsrv09.home.tnetconsulting.net>,
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:
    On 4/22/24 19:15, motk wrote:
    I dunno, I'm not unintelligent but have you seen how much stress a
    browser engine has to endure? Thousands of people with phds smash these
    things to bits on the regular. Hundreds of thousands of people use
    electron/react/whatever apps every day and never notice. Grousing about
    this isn't a good look anymore.

    How much more productive work is done with a contemporary web browser in
    2024 than in 2004 or even in 1998 (save for encryption)?

    Oh wow, many many orders of magnitude more. It's not even
    close.

    How much more productive work are computers doing in general in 2024
    than in 1994?

    Same. People who work on the technology itself often don't see
    it because they're already immersed in it, but things have been
    revolutionized since 1994. Compare GarageBand _now_ to top end
    ProTools setups on ridiculously expensive SGIs back in the 90s.

    Have the frameworks and fancy things that are done in 2024 actually
    improved things?

    Oh my goodness yes.

    I feel like there is massively disproportionately more computation power
    / resources consumed for very questionable things with not much to show
    for it. Think what could have been done in the mid '90s with today's >computing resources.

    As such, I believe that there is some room for grousing about many >questionable practices today.

    The glut of computing resources available today has undoubtedly
    made programmers less aware of efficiency issues. But the sorts
    of things we do today were science fiction 30 years ago.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Grant Taylor@21:1/5 to Scott Dorsey on Mon Apr 22 22:11:28 2024
    On 4/22/24 20:16, Scott Dorsey wrote:
    The one thing that smf and systemd have is the ability to watch a
    process and restart it if it crashes.

    That's nothing new.

    init has been watching processes and restarting them if they crash for
    the 25 years that I've been messing with Linux.

    Perhaps SysV / BSD init scripts didn't utilize that capability.

    I did via /etc/inittab.

    Many people find this very important, although personally I suspect
    that if your service is crashing a lot that you should fix it rather
    than rely on something else to restart it.

    Agreed.

    Something else that they do provide is automated management of
    dependencies to start everything in order without the admin having
    to manually set the order of execution up. This can be a benefit
    and if done well can also speed boot times, but I am not sure that
    this is necessary to call a startup mechanism a service manager.

    :-)

    I sort of suspect that people are wanting something to differentiate
    systemd / SMF from predecessors and using a different name to indicate different capabilities.

    This is not likely to be a thread in which anyone will learn much,
    I am sorry to say.

    Maybe.



    --
    Grant. . . .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Grant Taylor on Tue Apr 23 03:15:14 2024
    On Mon, 22 Apr 2024 22:11:28 -0500, Grant Taylor wrote:

    init has been watching processes and restarting them if they crash for
    the 25 years that I've been messing with Linux.

    It still does.

    Another thing that Linux adds is for some other process to nominate itself
    as a “buck stops here” process. So if any of its indirect-descendant processes get orphaned (due to termination of their immediate parent),
    instead of the parent role going straight to PID 1, it goes to this
    ancestor.

    Remember, systemd isn’t just a service manager for systemwide services, it also works for managing services in per-user desktop GUI sessions. And
    yes, those can get quite complex these days.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Tue Apr 23 15:07:32 2024
    On 23/4/24 10:56, Grant Taylor wrote:
    On 4/22/24 19:13, motk wrote:
    Can the greybeards please stop sooking about it not being 1999 anymore
    please. Once upon a time, knowing inscrutable regex and gluing stuff
    together with sed and awk make you a sage superhero. Now people look
    at you funny for gluing in tech debt, and they are right to do so.

    That's a non-answer.

    I was hoping to see a ${SERVICE_MANAGEMENT_THING} provides:

     - this
     - this
     - that
     - and this
     - don't forget about that

    Five seconds of googling would find you a systemd unit file, and I
    actually pasted one into this thread. Five minutes of googling would
    bring you to the systemd documentation which exhaustively describes this.

    > I was genuinely trying to learn something.

    Then perhaps be a little more open minded and do some inquiry of your
    own as well.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Grant Taylor on Tue Apr 23 15:10:04 2024
    On 23/4/24 11:02, Grant Taylor wrote:

    As such, I believe that there is some room for grousing about many questionable practices today.

    Of course, I do it all the time, and people shift away from me on the
    hus. It doesn't help much.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Tue Apr 23 16:12:23 2024
    Just a quick thought on [all of this]

    I didn't expect a quick question regarding termtypes and modern cli
    systems to evolve into this, and I'm not happy about it. I certainly
    wasn't expecting the vituperic resistance (apparently for its own sake)
    of any attempt to interoperate with sofware and systems that people,
    corporate and hobbyist alike, might actually use in 2024.

    I like OpenVMS! I want to muck about with it and regain a lot of the
    skillset I lost, and none of this is helping anybody! systemd exists and
    is in use on millions and millions of systems worldwide. windows
    terminal exists; serial connections, as handy as they are, are what you
    bring up a router with and never use again. Combing our whiskers won't
    make 1999 come back.

    The vscode integration is commendable, but there's a lot of low-hanging
    fruit remaining.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Tue Apr 23 05:18:34 2024
    On Tue, 23 Apr 2024 15:07:32 +1000, motk wrote:

    Then perhaps be a little more open minded and do some inquiry of your
    own as well.

    systemd-haters are like the anti-fluoridationists of the Open Source
    world.

    Discuss.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Tue Apr 23 16:57:40 2024
    On 23/4/24 15:18, Lawrence D'Oliveiro wrote:

    > systemd-haters are like the anti-fluoridationists of the Open Source
    world.

    Well, I think that's unfair, but you certainly do come across people
    that performativly dislike systemd or wayland or windows or rust or
    whatever in place of a personality. Meanwhile, the sails are
    disappearing below the horizon and you're cursing in your dinghy.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Tue Apr 23 08:10:19 2024
    On Tue, 23 Apr 2024 16:57:40 +1000, motk wrote:

    On 23/4/24 15:18, Lawrence D'Oliveiro wrote:

    systemd-haters are like the anti-fluoridationists of the Open Source
    world.

    Well, I think that's unfair ...

    Continually spouting the same old debunked nonsense, like you yourself
    have been on the receiving end of? And don’t forget the conspiracy
    theories, about how Red Hat is somehow strongarming the entire Linux
    community into using this technology.

    I wonder how the business model for that conspiracy is supposed to
    work ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Dan Cross on Tue Apr 23 12:14:00 2024
    On 2024-04-22, Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    Eh, JSON has its own problems; since the representation of
    numbers is specified to be compatible with floats, it's possible
    to lose data by translating it through JSON (I've seen people
    put e.g. machine addresses in JSON and then be surprised when
    the low bits disappear: floating point representations are not
    exact over the range of 64-bit integers!).


    I would consider that to be strictly a programmer error. That's the
    kind of thing that should be stored as a string value unless you are
    using a JSON library that preserves integer values unless decimal data
    is present in the input data (and hence silently converts it to a float).

    I don't expect people to write their own JSON library (although I hope
    they can given how relatively simple JSON is to parse), but I do expect
    them to know what values they can use in libraries in general without experiencing data loss.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to clubley@remove_me.eisner.decus.org- on Tue Apr 23 13:03:30 2024
    In article <v088m8$1juj9$1@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-22, Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    Eh, JSON has its own problems; since the representation of
    numbers is specified to be compatible with floats, it's possible
    to lose data by translating it through JSON (I've seen people
    put e.g. machine addresses in JSON and then be surprised when
    the low bits disappear: floating point representations are not
    exact over the range of 64-bit integers!).

    I would consider that to be strictly a programmer error. That's the
    kind of thing that should be stored as a string value unless you are
    using a JSON library that preserves integer values unless decimal data
    is present in the input data (and hence silently converts it to a float).

    I don't expect people to write their own JSON library (although I hope
    they can given how relatively simple JSON is to parse), but I do expect
    them to know what values they can use in libraries in general without >experiencing data loss.

    In modern languages, one can often derive JSON serialization and deserialization methods from the source data type, transparent
    to the programmer. Those may decide to use the JSON numeric
    type for numeric data; this has surprised a few people I know
    (who are extraordinarily competent programmers). Sure, the fix
    is generally easy (there's often a way to annotate a datum to
    say "serialize this as a string"), but that doesn't mean that
    even very senior people don't get caught out at times.

    But the problem is even more insideous than that; popular tools
    like `jq` can take properly serialized source data and silently
    make lossy conversions. So you might have properly written,
    value preserving libraries at both ends and still suffer loss
    due to some intermediate tool.

    JSON is dangerous. Caveat emptor.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hunter Goatley@21:1/5 to motk on Tue Apr 23 09:49:06 2024
    On 4/21/2024 6:45 PM, motk wrote:
    It's just cringe.


    So is using "cringe" as a noun.

    Hunter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Dan Cross on Tue Apr 23 17:13:42 2024
    On 2024-04-23, Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    In modern languages, one can often derive JSON serialization and deserialization methods from the source data type, transparent
    to the programmer. Those may decide to use the JSON numeric
    type for numeric data; this has surprised a few people I know
    (who are extraordinarily competent programmers). Sure, the fix
    is generally easy (there's often a way to annotate a datum to
    say "serialize this as a string"), but that doesn't mean that
    even very senior people don't get caught out at times.

    But the problem is even more insideous than that; popular tools
    like `jq` can take properly serialized source data and silently
    make lossy conversions. So you might have properly written,
    value preserving libraries at both ends and still suffer loss
    due to some intermediate tool.

    JSON is dangerous. Caveat emptor.


    JSON is fine. What _is_ dangerous are the incredibly arrogant people
    who think they can design the above libraries in a way that silently
    alter someone's data in that way.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to clubley@remove_me.eisner.decus.org- on Tue Apr 23 17:40:26 2024
    In article <v08q86$1o3rh$1@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-23, Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    In modern languages, one can often derive JSON serialization and
    deserialization methods from the source data type, transparent
    to the programmer. Those may decide to use the JSON numeric
    type for numeric data; this has surprised a few people I know
    (who are extraordinarily competent programmers). Sure, the fix
    is generally easy (there's often a way to annotate a datum to
    say "serialize this as a string"), but that doesn't mean that
    even very senior people don't get caught out at times.

    But the problem is even more insideous than that; popular tools
    like `jq` can take properly serialized source data and silently
    make lossy conversions. So you might have properly written,
    value preserving libraries at both ends and still suffer loss
    due to some intermediate tool.

    JSON is dangerous. Caveat emptor.

    JSON is fine. What _is_ dangerous are the incredibly arrogant people
    who think they can design the above libraries in a way that silently
    alter someone's data in that way.

    *shrug* The encoding doesn't say that you can't.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Hunter Goatley on Tue Apr 23 21:50:05 2024
    On Tue, 23 Apr 2024 09:49:06 -0400, Hunter Goatley wrote:

    On 4/21/2024 6:45 PM, motk wrote:

    It's just cringe.

    So is using "cringe" as a noun.

    <https://en.wiktionary.org/wiki/cringe>:

    Noun

    cringe (countable and uncountable, plural cringes)

    (countable) A gesture or posture of cringing (recoiling or shrinking).

    He glanced with a cringe at the mess on his desk.

    (countable, figuratively) An act or disposition of servile obeisance.
    (countable, British, dialectal) A crick (“painful muscular cramp or spasm of some part of the body”).
    (uncountable, slang, derogatory) Things, particularly online content, which would cause an onlooker to cringe from secondhand embarrassment.

    Bro... you just posted cringe
    There was so much cringe in that episode!

    Also available as an adjective.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Hunter Goatley on Wed Apr 24 09:11:55 2024
    On 23/4/24 23:49, Hunter Goatley wrote:
    On 4/21/2024 6:45 PM, motk wrote:
    It's just cringe.


    So is using "cringe" as a noun.

    I shall never recover from this burn.


    Hunter


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Wed Apr 24 01:03:45 2024
    On Wed, 24 Apr 2024 10:47:25 +1000, motk wrote:

    On 24/4/24 10:23, Lawrence D'Oliveiro wrote:

    Heh, you used “burn” as a noun, too. ;)

    It's what all the cool kids do now, verbing nouns and nounifying verbs.

    It’s a tradition in the English language going back centuries. Back to Shakespeare even, I believe.

    Makes you wonder how old these geezers are, that are objecting to it ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Wed Apr 24 10:47:25 2024
    On 24/4/24 10:23, Lawrence D'Oliveiro wrote:

    Heh, you used “burn” as a noun, too. ;)

    It's what all the cool kids do now, verbing nouns and nounifying verbs.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to motk on Wed Apr 24 00:23:13 2024
    On Wed, 24 Apr 2024 09:11:55 +1000, motk wrote:

    I shall never recover from this burn.

    Heh, you used “burn” as a noun, too. ;)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Hunter Goatley on Wed Apr 24 12:05:45 2024
    On 24/4/24 11:50, Hunter Goatley wrote:

    Not the source I would refer to. While it has recently been used in
    slang as a noun, it's still only a verb or an adjective to me. And I'm
    sure someone will tell me it's an example of English being a living
    language that's growing, etc. Whatever. I'm old, and I cringe at people
    using it as a noun.

    That's so cringe.

    [I'm only the downhill run to 60]
    Hunter

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Hunter Goatley on Wed Apr 24 02:34:34 2024
    On Tue, 23 Apr 2024 21:50:43 -0400, Hunter Goatley wrote:

    Not the source I would refer to.

    You are certainly no “source” I would treat as credible.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to Lawrence D'Oliveiro on Wed Apr 24 13:48:59 2024
    On 24/4/24 12:34, Lawrence D'Oliveiro wrote:
    On Tue, 23 Apr 2024 21:50:43 -0400, Hunter Goatley wrote:

    Not the source I would refer to.

    You are certainly no “source” I would treat as credible.

    How I've missed you, usenet.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Wed Apr 24 17:04:36 2024
    In article <v04epp$jd4t$1@dont-email.me>, ldo@nz.invalid says...

    On Sun, 21 Apr 2024 19:14:59 -0400, Arne Vajhj wrote:

    On 4/21/2024 7:07 PM, Lawrence D'Oliveiro wrote:

    On Sun, 21 Apr 2024 11:20:03 +0200, Andreas Eder wrote:

    I think the problem is that they grew up in a Windows dominated world, >>> not like us greybeards.

    If only Windows had Linux-style service management, don?t you think?
    Imagine being able to add/remove, enable/disable and start/stop
    individual services without having to reboot the entire system!

    They don't need to imagine. They have been doing that for decades.

    Indeed. If anything, Linux has acquired Windows NT style service
    management and logging with systemd. There is no general requirement to
    reboot for managing services. But some specific services can't always be
    safely restarted on a running system.

    Things like device drivers, filesystem drivers, the win32 environment
    subsystem (of which csrss.exe is the usermode part), core system
    libraries.

    Linux is no different here. Want to upgrade your X server? Going to have
    to at least restart all X11 apps. Want your update to Gtk or Qt to
    actually take effect? All software using those is going to have to be restarted. Rather than trying to figure out which software is or isn't
    affected by some library update its easer to just reboot the whole
    machine.

    Windows can?t even update a DLL that is in use by running processes. I suppose it inherited that file-locking mentality from VMS.

    Look at the long list of reasons why Windows needs a reboot here, from Microsoft itself: <https://learn.microsoft.com/en-us/troubleshoot/windows-server/installing-updates-features-roles/why-prompted-restart-computer>.

    Those reasons all look pretty reasonable to me. You'd usually have to
    reboot on Linux for most of those reasons too if you want the update to actually take effect.

    Remember that Windows NT doesn't have a monolithic kernel like Linux.
    Just because its a .exe or .dll doesn't mean its some trivial user-space
    thing that the system can continue running without.

    For example, the csrss.exe mentioned in the article is the user-space
    chunk of the Win32 environment subsystem - the thing that allows Windows
    NT to run regular windows software.

    And some services are actually hardware device drivers, or filesystem
    drivers. Some drivers support being restarted online (graphics drivers usually), but others are not so safely restarted on a running system.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Wed Apr 24 05:40:15 2024
    On Wed, 24 Apr 2024 17:04:36 +1200, David Goodwin wrote:

    If anything, Linux has acquired Windows NT style service
    management and logging with systemd.

    Did you know that systemd uses text-based config files in .INI format? The
    same format Microsoft invented for Windows back in the 1980s, then junked
    in favour of that stinking cesspool known as the Registry?

    Linux is no different here. Want to upgrade your X server? Going to have
    to at least restart all X11 apps.

    That’s just logging out of a GUI session and logging in again.

    And remember, you can have multiple GUI sessions logged in at once.

    For example, the csrss.exe mentioned in the article is the user-space
    chunk of the Win32 environment subsystem - the thing that allows Windows
    NT to run regular windows software.

    There’s nothing like that needed on Linux.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Wed Apr 24 21:52:36 2024
    In article <v0a5vu$25fmt$1@dont-email.me>, ldo@nz.invalid says...

    On Wed, 24 Apr 2024 17:04:36 +1200, David Goodwin wrote:

    If anything, Linux has acquired Windows NT style service
    management and logging with systemd.

    Did you know that systemd uses text-based config files in .INI format? The same format Microsoft invented for Windows back in the 1980s, then junked
    in favour of that stinking cesspool known as the Registry?

    I do, I've written them before. But thats just the configuration storage
    format - the actual service management capabilities at this point is
    pretty similar. Here Linux is picking up features that Windows NT (and commercial Unix) has had for decades.

    Linux is no different here. Want to upgrade your X server? Going to have
    to at least restart all X11 apps.

    That?s just logging out of a GUI session and logging in again.

    And remember, you can have multiple GUI sessions logged in at once.

    Yes, but for most people (myself included), there isn't much difference
    between logging off and on again and a full reboot. Either way I've
    still got to open all my stuff again and having to re-open all my stuff
    is the entire problem with rebooting.

    Multiple sessions isn't a help here either unless you've got some
    mechanism in place to move clients between X servers during the upgrade.
    I guess you could do the same on Windows (it supports multiple sessions
    too) but the benefits likely don't outweigh the costs of all the added complexity.

    For example, the csrss.exe mentioned in the article is the user-space
    chunk of the Win32 environment subsystem - the thing that allows Windows
    NT to run regular windows software.

    There?s nothing like that needed on Linux.

    Linux still has a userspace API - the implementation of it is just all statically linked into the kernel. If you want to update the parts that
    make up its userspace API thats a kernel update and a reboot, just like
    on Windows.

    The difference here is that Windows NT isn't limited to a single
    userspace API/personality, historically it provided three (Win32, OS/2
    and POSIX) in addition to its own Native API. These lived entirely in
    userspace rather than statically linked into the kernel with the first user-space process (the Session Manager Subsystem) responsible for
    starting them along with the Service Control Manager, the Local Security Authority Subsystem Service, Windows Logon and other bits.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to yep@yep.yep on Wed Apr 24 14:21:41 2024
    In article <v09vfb$2420c$1@dont-email.me>, motk <yep@yep.yep> wrote:
    On 24/4/24 12:34, Lawrence D'Oliveiro wrote:
    On Tue, 23 Apr 2024 21:50:43 -0400, Hunter Goatley wrote:

    Not the source I would refer to.

    You are certainly no “source” I would treat as credible.

    How I've missed you, usenet.

    I'm always shocked and dismayed at how people many want to keep
    arguing with the village idiot. Just plonk the guy and move on.
    Life is too short to waste on the Lawrence's of the world.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to Dan Cross on Wed Apr 24 18:10:30 2024
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:
    The thing is, when you're working at scale, managing services
    across tens of thousands of machines, you quickly discover that
    shit happens. Things sometimes crash randomly; often this is
    due to a bug, but sometimes it's just because the OOM killer got
    greedy due to the delayed effects of a poor scheduling decision,
    or there was a dip on one of the voltage rails and a DIMM lost a
    bit, or a job landed on a machine that's got some latent
    hardware fault and it just happened to wiggle things in just the
    right way so that a 1 turned into a 0 (or vice versa), or any
    number of other things that may or may not have anything to do
    with the service itself.

    Oh, I understand this completely. I have stood in the middle of a large colocation facility and listened to Windows reboot sounds every second or
    two coming from different places in the room each time.

    What I don't necessarily understand is why people consider this acceptable. People today just seem to think this is the normal way of doing business. Surely we can do better.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to Scott Dorsey on Wed Apr 24 19:06:52 2024
    In article <v0bhum$laq$1@panix2.panix.com>,
    Scott Dorsey <kludge@panix.com> wrote:
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:
    The thing is, when you're working at scale, managing services
    across tens of thousands of machines, you quickly discover that
    shit happens. Things sometimes crash randomly; often this is
    due to a bug, but sometimes it's just because the OOM killer got
    greedy due to the delayed effects of a poor scheduling decision,
    or there was a dip on one of the voltage rails and a DIMM lost a
    bit, or a job landed on a machine that's got some latent
    hardware fault and it just happened to wiggle things in just the
    right way so that a 1 turned into a 0 (or vice versa), or any
    number of other things that may or may not have anything to do
    with the service itself.

    Oh, I understand this completely. I have stood in the middle of a large >colocation facility and listened to Windows reboot sounds every second or
    two coming from different places in the room each time.

    What I don't necessarily understand is why people consider this acceptable. >People today just seem to think this is the normal way of doing business. >Surely we can do better.

    Because it's the law of large numbers, not any particular fault
    that can be reasonably addressed by an individual, organization,
    etc.

    If a marginal solder joint mechanically weakened by a bumpy ride
    in a truck causes something to short, and that current draw on a
    bus spikes over some threshold, pulling a voltage regulator out
    of spec and causing voltage to sag by some nominal amount that
    pulls another component on a different server below its marginal
    threshold for a logic value and a bit flips, what are you, the
    software engineer, supposed to do to tolerate that, let alone
    recover from it? It's not a software bug, it's the confluence
    of a large number of factors that only emerge when you run at a
    scale with tens or hundreds of thousands of systems.

    Google had a datacenter outage once, due to a diesel generator
    catching on fire; there was a small leak and the ambient
    temperature in the room with the generator exceeded the fuel's
    flashpoint. "How does that happen?" you ask, since the auto
    ignition temperatore of diesel fuel is actually pretty high. It
    turns out that that is for liquids, and doesn't apply if the
    fuel is aerosolized; the particular failure mode here was a
    hairline fracture in the generator's fuel manifold. Diesel
    forced through it was aerosolized and the ambient temperature
    hit the fuel's flashpoint. Whoops. Cummins had never seen that
    failure mode before; it was literally one in a million. The
    solution, incidentally, was to wrap a flash-resistent cloth
    around the manifold; basically putting a diaper on it, to keep
    escaped fuel liquid.

    Can we do better? Maybe. There were some lessons learned in
    that failure; in part, making sure that the battery room doesn't
    flood if the generator catches on fire (another part of the
    story). But the reliability of hyperscalar operations is
    already ridiculously high. They do it by using redundency and
    designing in an _expectation_ of failure: multiple layers of
    redundent load balancers, sharding traffic across multiple
    backends, redundant storage in multiple geolocations, etc. But
    a single computer failing and rebooting? That's expected. The
    enterprise is, of course, much further behind, but I'd argue on
    balance even they do all right, all things considered.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Wed Apr 24 19:13:44 2024
    On 4/24/2024 6:15 PM, Lawrence D'Oliveiro wrote:
    On Wed, 24 Apr 2024 21:52:36 +1200, David Goodwin wrote:
    The difference here is that Windows NT isn't limited to a single
    userspace API/personality, historically it provided three (Win32, OS/2
    and POSIX) in addition to its own Native API.

    That’s the theory. In practice, it doesn’t seem to have worked very well. The POSIX “personality” for example, was essentially unusable.

    My impression is that it worked fine.

    But that customers were not interested.

    Similar to VMS Posix kit.

    When the Windows engineers were working on WSL1, emulating Linux kernel
    APIs on Windows, you would think they would have used this “personality” system. But they did not.

    Lowest common denonimator for Unix API's from the early 1990's was
    probably not interesting.

    I suspect it had already bitrotted into nonfunctionality by that point.

    Not keeping uptodate with evolution for 25 years.

    In the end, they had to give up, and bring in an honest-to-goodness Linux kernel, in WSL2.

    Developers wanted the real thing.

    Posix approach
    --------------

    If:

    source--compiler--special executables--Posix API lib--Posix subsystem--Windows

    works then hope that:

    source--standard Linux compiler--Linux executables--standard Linux lib--standard Linux kernel

    also works.

    WSL1 approach
    -------------

    If:

    source--Linux compiler--Linux executables--standard Linux lib--Linux
    kernel emulation--Windows

    works then hope that:

    --Linux executables--standard Linux lib--standard Linux kernel

    also works.

    WSL1 approach
    -------------

    If:

    source--Linux compiler--Linux executables--standard Linux lib--Linux kernel--VM--Windows

    works then know that:

    --Linux executables--standard Linux lib--standard Linux kernel

    also works.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Wed Apr 24 22:15:35 2024
    On Wed, 24 Apr 2024 21:52:36 +1200, David Goodwin wrote:

    The difference here is that Windows NT isn't limited to a single
    userspace API/personality, historically it provided three (Win32, OS/2
    and POSIX) in addition to its own Native API.

    That’s the theory. In practice, it doesn’t seem to have worked very well. The POSIX “personality” for example, was essentially unusable.

    When the Windows engineers were working on WSL1, emulating Linux kernel
    APIs on Windows, you would think they would have used this “personality” system. But they did not. I suspect it had already bitrotted into nonfunctionality by that point.

    In the end, they had to give up, and bring in an honest-to-goodness Linux kernel, in WSL2.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dan Cross on Wed Apr 24 20:08:06 2024
    On 4/23/2024 9:03 AM, Dan Cross wrote:
    In article <v088m8$1juj9$1@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-22, Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    Eh, JSON has its own problems; since the representation of
    numbers is specified to be compatible with floats, it's possible
    to lose data by translating it through JSON (I've seen people
    put e.g. machine addresses in JSON and then be surprised when
    the low bits disappear: floating point representations are not
    exact over the range of 64-bit integers!).

    I would consider that to be strictly a programmer error. That's the
    kind of thing that should be stored as a string value unless you are
    using a JSON library that preserves integer values unless decimal data
    is present in the input data (and hence silently converts it to a float).

    I don't expect people to write their own JSON library (although I hope
    they can given how relatively simple JSON is to parse), but I do expect
    them to know what values they can use in libraries in general without
    experiencing data loss.

    In modern languages, one can often derive JSON serialization and deserialization methods from the source data type, transparent
    to the programmer. Those may decide to use the JSON numeric
    type for numeric data; this has surprised a few people I know
    (who are extraordinarily competent programmers). Sure, the fix
    is generally easy (there's often a way to annotate a datum to
    say "serialize this as a string"), but that doesn't mean that
    even very senior people don't get caught out at times.

    But the problem is even more insideous than that; popular tools
    like `jq` can take properly serialized source data and silently
    make lossy conversions. So you might have properly written,
    value preserving libraries at both ends and still suffer loss
    due to some intermediate tool.

    JSON is dangerous. Caveat emptor.

    This will be a relative long post. Sorry.

    The problem at hand has nothing to do with JSON. It is
    a string to numeric and data types problem.

    JSON:

    { "v": 100000000000000001 }

    XML:

    <data>
    <v>100000000000000001</v>
    </data>

    YAML:

    v: 100000000000000001

    All expose the same problem.

    The value cannot be represented as is in some very common
    data types like 32 bit integers and 64 bit floating point.

    But selecting an appropriate data type for a given piece
    of data based on its possible values and usage is
    core responsibility for a developer.

    The developer should understand possible values before
    writing the code and understand the characteristics
    of the available data types.

    If not then that is a developer error.

    But errors happen all the time. Not so good developers
    make lots of errors. Good developers make occasionally
    errors. The bad developers are not aware of data
    requirements and how the data types work. The good developers
    are aware, but because they are having a bad day or something
    then it slips through anyway.

    There is every indication that large JSON values and the
    usage of 64 bit floating point has caused problems. There must
    be a reason why this was added to the JSON RFC:

    <quote>
    This specification allows implementations to set limits on the range
    and precision of numbers accepted. Since software that implements
    IEEE 754 binary64 (double precision) numbers [IEEE754] is generally
    available and widely used, good interoperability can be achieved by
    implementations that expect no more precision or range than these
    provide, in the sense that implementations will approximate JSON
    numbers within the expected precision. A JSON number such as 1E400
    or 3.141592653589793238462643383279 may indicate potential
    interoperability problems, since it suggests that the software that
    created it expects receiving software to have greater capabilities
    for numeric magnitude and precision than is widely available.

    Note that when such software is used, numbers that are integers and
    are in the range [-(2**53)+1, (2**53)-1] are interoperable in the
    sense that implementations will agree exactly on their numeric
    values.
    </quote>

    Excusing the error with limitations in the programming language
    and the JSON library is a poor excuse.

    The developer (+ architect + other senior technology decision makers)
    are responsible for selecting a programming language and a
    JSON library that meet business requirements.

    Mistakes can be made in all sorts of programming languages
    no matter the typing system. But my guess is that it happens
    more frequently when the type is not static and explicit declared.
    Some doesn't like to type in that type, but it literally makes the
    type visible.

    The fact that it ultimately is the developers responsibility
    to select proper data types does not mean that programming languages
    and JSON libraries can not help catch errors.

    If it is obvious that an unexpected/useless result is being
    produced then it should be flagged (return error code or throw
    exception depending on technology).

    Let us go back to the example with 100000000000000001.

    Trying to stuff that into a 32 bit integer by like parsing
    it as a 64 bit integer and returning the lower 32 bits
    is in my best opinion an error. Nobody wants to get an int
    with 1569325057 from retrieving a 32 bit integer integer
    from "100000000000000001". It should give an error.

    The case with a 64 bit floating point is more tricky. One
    could argue that 100000000000000001.0 is the expected
    result and that 100000000000000000.0 should be considered
    an error. And it probably would be an error in the majority
    of cases. But there is actually the possibility that
    someone that understand floating point are reading JSON
    and expect what is happening and does not care because
    there are some uncertainty in the underlying data. And
    creating a false error for people that understand FP data
    types to prevent those that do not understand FP data types
    from shooting themself in the foot is not good.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Grant Taylor on Wed Apr 24 19:30:20 2024
    On 4/22/2024 9:02 PM, Grant Taylor wrote:
    On 4/22/24 19:15, motk wrote:
    I dunno, I'm not unintelligent but have you seen how much stress a
    browser engine has to endure? Thousands of people with phds smash
    these things to bits on the regular. Hundreds of thousands of people
    use electron/react/whatever apps every day and never notice. Grousing
    about this isn't a good look anymore.

    How much more productive work is done with a contemporary web browser in
    2024 than in 2004 or even in 1998 (save for encryption)?

    A lot I would say.

    Most of email has moved to web.

    A good chunk of office has moved to web (Google, MS in web mode).

    Enabled by a combination of:
    * faster PC's
    * more standardized HTML & CSS - no more "requires IE x.0"
    * faster JavaScript engines (JIT compiling)

    How much more productive work are computers doing in general in 2024
    than in 1994?

    The world has become digitalized. A huge part of paper work
    is now all electronic.

    And also outside the administrative stuff. Try compare how a 2024
    car works compared to a 1994 car.

    Have the frameworks and fancy things that are done in 2024 actually
    improved things?

    They have enabled a lot of new stuff.

    I feel like there is massively disproportionately more computation power
    / resources consumed for very questionable things with not much to show
    for it.  Think what could have been done in the mid '90s with today's computing resources.

    Software is changing due to hardware changes.

    If you in 1994 could solve a problem in two ways:

    A - super cool, takes 100 seconds
    B - acceptable, takes 1 second

    you picked B.

    In 2024 it is:

    A - super cool, takes 0.1 second
    B - acceptable, takes 0.001 second

    you pick A.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Thu Apr 25 00:18:58 2024
    On Wed, 24 Apr 2024 19:13:44 -0400, Arne Vajhøj wrote:

    On 4/24/2024 6:15 PM, Lawrence D'Oliveiro wrote:

    On Wed, 24 Apr 2024 21:52:36 +1200, David Goodwin wrote:

    The difference here is that Windows NT isn't limited to a single
    userspace API/personality, historically it provided three (Win32, OS/2
    and POSIX) in addition to its own Native API.

    That’s the theory. In practice, it doesn’t seem to have worked very
    well. The POSIX “personality” for example, was essentially unusable.

    My impression is that it worked fine.

    You got to be kidding <https://www.youtube.com/watch?v=BOeku3hDzrM>.

    When the Windows engineers were working on WSL1, emulating Linux kernel
    APIs on Windows, you would think they would have used this
    “personality” system. But they did not.

    Lowest common denonimator for Unix API's from the early 1990's was
    probably not interesting.

    They couldn’t get it to work.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Wed Apr 24 20:27:56 2024
    On 4/24/2024 8:08 PM, Arne Vajhøj wrote:
    This will be a relative long post. Sorry.

    And this one will be even longer!

    The problem at hand has nothing to do with JSON. It is
    a string to numeric and data types problem.

    JSON:

    { "v": 100000000000000001 }

    XML:

    <data>
        <v>100000000000000001</v>
    </data>

    YAML:

    v: 100000000000000001

    All expose the same problem.

    The value cannot be represented as is in some very common
    data types like 32 bit integers and 64 bit floating point.

    The fact that it ultimately is the developers responsibility
    to select proper data types does not mean that programming languages
    and JSON libraries can not help catch errors.

    If it is obvious that an unexpected/useless result is being
    produced then it should be flagged (return error code or throw
    exception depending on technology).

    Let us go back to the example with 100000000000000001.

    Trying to stuff that into a 32 bit integer by like parsing
    it as a 64 bit integer and returning the lower 32 bits
    is in my best opinion an error. Nobody wants to get an int
    with 1569325057 from retrieving a 32 bit integer integer
    from "100000000000000001". It should give an error.

    The case with a 64 bit floating point is more tricky. One
    could argue that 100000000000000001.0 is the expected
    result and that 100000000000000000.0 should be considered
    an error. And it probably would be an error in the majority
    of cases. But there is actually the possibility that
    someone that understand floating point are reading JSON
    and expect what is happening and does not care because
    there are some uncertainty in the underlying data. And
    creating a false error for people that understand FP data
    types to prevent those that do not understand FP data types
    from shooting themself in the foot is not good.

    Let us see some code.

    I picked Groovy as demo language, because I am a J guy
    and Groovy allows to demo a lot.

    As a JVM language there are several possible data types to
    pick from:
    int
    long
    double
    String
    BigInteger
    BigDecimal

    And obviously int and double has problem with 100000000000000001
    while the rest can store it OK.

    To illustrate the option of different JSON libraries I will
    test with both GSON (Google JSON library) and Jackson (probably
    the most widely used JSON library in the Java wold).

    Let us first look at the model where the JSON is parsed to
    a tree.

    GSON:

    $ type Data1.groovy
    import com.google.gson.*

    def wrap(block) {
    try {
    block()
    } catch(ex) {
    printf("%s: %s\n", ex.class.name, ex.message)
    }
    }

    String json = '{ "v": 100000000000000001 }'
    println(json)
    gson = new JsonParser()
    o = gson.parse(json).getAsJsonObject()
    wrap {
    v1 = o.get("v").getAsInt()
    printf("int: %d\n", v1)
    }
    wrap {
    v2 = o.get("v").getAsLong()
    printf("long: %d (low 32 bit is %d)\n", v2, v2 & 0x00000000FFFFFFFFL)
    }
    wrap {
    v3 = o.get("v").getAsDouble()
    printf("double: %f\n", v3)
    }
    wrap {
    v4 = o.get("v").getAsString()
    printf("String: %s\n", v4)
    }
    wrap {
    v5 = o.get("v").getAsBigInteger()
    printf("BigInteger: %s\n", v5)
    }
    wrap {
    v6 = o.get("v").getAsBigDecimal()
    printf("BigDecimal: %s\n", v6)
    }
    wrap {
    v7 = o.get("v").getAsNumber()
    printf("Number: %s (%s)\n", v7, v7.class.name)
    }
    $ groovy Data1.groovy
    { "v": 100000000000000001 }
    int: 1569325057
    long: 100000000000000001 (low 32 bit is 1569325057)
    double: 100000000000000000.000000
    String: 100000000000000001
    BigInteger: 100000000000000001
    BigDecimal: 100000000000000001
    Number: 100000000000000001 (com.google.gson.internal.LazilyParsedNumber)

    Jackson:

    $ type Data1X.groovy
    import com.fasterxml.jackson.databind.*

    def wrap(block) {
    try {
    block()
    } catch(ex) {
    printf("%s: %s\n", ex.class.name, ex.message)
    }
    }

    String json = '{ "v": 100000000000000001 }'
    println(json)
    om = new ObjectMapper()
    o = om.readTree(json)
    wrap {
    v1 = o.get("v").asInt()
    printf("int: %d\n", v1)
    }
    wrap {
    v2 = o.get("v").asLong()
    printf("long: %d (low 32 bit is %d)\n", v2, v2 & 0x00000000FFFFFFFFL)
    }
    wrap {
    v3 = o.get("v").asDouble()
    printf("double: %f\n", v3)
    }
    wrap {
    v4 = o.get("v").asText()
    printf("String: %s\n", v4)
    }
    wrap {
    v5 = o.get("v").bigIntegerValue()
    printf("BigInteger: %s\n", v5)
    }
    wrap {
    v6 = o.get("v").decimalValue()
    printf("BigDecimal: %s\n", v6)
    }
    wrap {
    v7 = o.get("v").numberValue()
    printf("Number: %s (%s)\n", v7, v7.class.name)
    }
    $ groovy Data1X.groovy
    { "v": 100000000000000001 }
    int: 1569325057
    long: 100000000000000001 (low 32 bit is 1569325057)
    double: 100000000000000000.000000
    String: 100000000000000001
    BigInteger: 100000000000000001
    BigDecimal: 100000000000000001
    Number: 100000000000000001 (java.lang.Long)

    We see:
    * the expected slightly off value for double
    * the crazy value for int (no exception)
    * other data types are fine

    Now mapping/binding to class.

    GSON:

    $ type Data2.groovy
    import com.google.gson.*

    class C1 {
    int v
    }

    class C2 {
    long v
    }

    class C3 {
    double v
    }

    class C4 {
    String v
    }

    class C5 {
    BigInteger v
    }

    class C6 {
    BigDecimal v
    }

    class C7 {
    Number v
    }

    def wrap(block) {
    try {
    block()
    } catch(ex) {
    printf("%s: %s\n", ex.class.name, ex.message)
    }
    }

    json = '{ "v": 100000000000000001 }'
    println(json)
    gson = new Gson()
    wrap {
    C1 v1 = gson.fromJson(json, C1.class)
    printf("int: %d\n", v1.v)
    }
    wrap {
    C2 v2 = gson.fromJson(json, C2.class)
    printf("long: %d\n", v2.v)
    }
    wrap {
    C3 v3 = gson.fromJson(json, C3.class)
    printf("double: %f\n", v3.v)
    }
    wrap {
    C4 v4 = gson.fromJson(json, C4.class)
    printf("String: %s\n", v4.v)
    }
    wrap {
    C5 v5 = gson.fromJson(json, C5.class)
    printf("BigInteger: %s\n", v5.v)
    }
    wrap {
    C6 v6 = gson.fromJson(json, C6.class)
    printf("BigDecimal: %s\n", v6.v)
    }
    wrap {
    C7 v7 = gson.fromJson(json, C7.class)
    printf("Number: %s (%s)\n", v7.v, v7.v.class.name)
    }
    $ groovy Data2.groovy
    { "v": 100000000000000001 }
    com.google.gson.JsonSyntaxException: java.lang.NumberFormatException:
    Expected an int but was 100000000000000001 at line 1 column 26
    long: 100000000000000001
    double: 100000000000000000.000000
    String: 100000000000000001
    BigInteger: 100000000000000001
    BigDecimal: 100000000000000001
    Number: 100000000000000001 (com.google.gson.internal.LazilyParsedNumber)

    Jackson:

    $ type Data2X.groovy
    import com.fasterxml.jackson.databind.*

    class C1 {
    int v
    }

    class C2 {
    long v
    }

    class C3 {
    double v
    }

    class C4 {
    String v
    }

    class C5 {
    BigInteger v
    }

    class C6 {
    BigDecimal v
    }

    class C7 {
    Number v
    }

    def wrap(block) {
    try {
    block()
    } catch(ex) {
    printf("%s: %s\n", ex.class.name, ex.message)
    }
    }

    json = '{ "v": 100000000000000001 }'
    println(json)
    om = new ObjectMapper()
    wrap {
    C1 v1 = om.readValue(json, C1.class)
    printf("int: %d\n", v1.v)
    }
    wrap {
    C2 v2 = om.readValue(json, C2.class)
    printf("long: %d\n", v2.v)
    }
    wrap {
    C3 v3 = om.readValue(json, C3.class)
    printf("double: %f\n", v3.v)
    }
    wrap {
    C4 v4 = om.readValue(json, C4.class)
    printf("String: %s\n", v4.v)
    }
    wrap {
    C5 v5 = om.readValue(json, C5.class)
    printf("BigInteger: %s\n", v5.v)
    }
    wrap {
    C6 v6 = om.readValue(json, C6.class)
    printf("BigDecimal: %s\n", v6.v)
    }
    wrap {
    C7 v7 = om.readValue(json, C7.class)
    printf("Number: %s (%s)\n", v7.v, v7.v.class.name)
    }
    $ groovy Data2X.groovy
    { "v": 100000000000000001 } com.fasterxml.jackson.databind.JsonMappingException: Numeric value (100000000000000001) out of range of int (-2147483648 - 2147483647)
    at [Source: (String)"{ "v": 100000000000000001 }"; line: 1, column:
    26] (through reference chain: C1["v"])
    long: 100000000000000001
    double: 100000000000000000.000000
    String: 100000000000000001
    BigInteger: 100000000000000001
    BigDecimal: 100000000000000001
    Number: 100000000000000001 (java.lang.Long)

    Very similar behavior except that now I do get the exception for
    int that I so much prefer.

    Long post. But hey the above is run on VMS 9.2-2!

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to arne@vajhoej.dk on Thu Apr 25 00:36:17 2024
    In article <v0c6t7$2jtvn$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 4/23/2024 9:03 AM, Dan Cross wrote:
    In article <v088m8$1juj9$1@dont-email.me>,
    Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
    On 2024-04-22, Dan Cross <cross@spitfire.i.gajendra.net> wrote:

    Eh, JSON has its own problems; since the representation of
    numbers is specified to be compatible with floats, it's possible
    to lose data by translating it through JSON (I've seen people
    put e.g. machine addresses in JSON and then be surprised when
    the low bits disappear: floating point representations are not
    exact over the range of 64-bit integers!).

    I would consider that to be strictly a programmer error. That's the
    kind of thing that should be stored as a string value unless you are
    using a JSON library that preserves integer values unless decimal data
    is present in the input data (and hence silently converts it to a float). >>>
    I don't expect people to write their own JSON library (although I hope
    they can given how relatively simple JSON is to parse), but I do expect
    them to know what values they can use in libraries in general without
    experiencing data loss.

    In modern languages, one can often derive JSON serialization and
    deserialization methods from the source data type, transparent
    to the programmer. Those may decide to use the JSON numeric
    type for numeric data; this has surprised a few people I know
    (who are extraordinarily competent programmers). Sure, the fix
    is generally easy (there's often a way to annotate a datum to
    say "serialize this as a string"), but that doesn't mean that
    even very senior people don't get caught out at times.

    But the problem is even more insideous than that; popular tools
    like `jq` can take properly serialized source data and silently
    make lossy conversions. So you might have properly written,
    value preserving libraries at both ends and still suffer loss
    due to some intermediate tool.

    JSON is dangerous. Caveat emptor.

    This will be a relative long post. Sorry.

    The problem at hand has nothing to do with JSON. It is
    a string to numeric and data types problem.

    It is a problem with a format that permits silently lossy
    conversions.

    [snip]
    But selecting an appropriate data type for a given piece
    of data based on its possible values and usage is
    core responsibility for a developer.

    One hopes one also has tools that permit detection of
    truncation. You also ignored the point about how third-party
    tools for manipulating JSON will silently lose data.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Wed Apr 24 20:36:39 2024
    On 4/24/2024 8:27 PM, Arne Vajhøj wrote:
    Let us see some code.

    I picked Groovy as demo language, because I am a J guy
    and Groovy allows to demo a lot.

    As a JVM language there are several possible data types to
    pick from:
      int
      long
      double
      String
      BigInteger
      BigDecimal

    And obviously int and double has problem with 100000000000000001
    while the rest can store it OK.

    To illustrate the option of different JSON libraries I will
    test with both GSON (Google JSON library) and Jackson (probably
    the most widely used JSON library in the Java wold).

    Let us first look at the model where the JSON is parsed to
    a tree.

    We see:
    * the expected slightly off value for double
    * the crazy value for int (no exception)
    * other data types are fine

    Now mapping/binding to class.

    Very similar behavior except that now I do get the exception for
    int that I so much prefer.

    All that is of course if one bother to pick the data type.

    Otherwise the result become a bit more implementation
    specific.

    GSON:

    $ type Data3.groovy
    import com.google.gson.*

    class C1 {
    def v = 0
    }

    class C2 {
    def v = 0.0d
    }

    class C3 {
    def v = 0.0
    }

    class C4 {
    def v
    }

    def wrap(block) {
    try {
    block()
    } catch(ex) {
    printf("%s: %s\n", ex.class.name, ex.message)
    }
    }

    json = '{ "v": 100000000000000001 }'
    println(json)
    gson = new Gson()
    wrap {
    C1 v1 = gson.fromJson(json, C1.class)
    printf("def = 0: %f (%s)\n", v1.v, v1.v.class.name)
    }
    wrap {
    C2 v2 = gson.fromJson(json, C2.class)
    printf("def = 0.0d: %f (%s)\n", v2.v, v2.v.class.name)
    }
    wrap {
    C3 v3 = gson.fromJson(json, C3.class)
    printf("def = 0.0: %f (%s)\n", v3.v, v3.v.class.name)
    }
    wrap {
    C4 v4 = gson.fromJson(json, C4.class)
    printf("def: %f (%s)\n", v4.v, v4.v.class.name)
    }
    $ groovy Data3.groovy
    { "v": 100000000000000001 }
    def = 0: 100000000000000000.000000 (java.lang.Double)
    def = 0.0d: 100000000000000000.000000 (java.lang.Double)
    def = 0.0: 100000000000000000.000000 (java.lang.Double)
    def: 100000000000000000.000000 (java.lang.Double)

    Jackson:

    $ type Data3X.groovy
    import com.fasterxml.jackson.databind.*

    class C1 {
    def v = 0
    }

    class C2 {
    def v = 0.0d
    }

    class C3 {
    def v = 0.0
    }

    class C4 {
    def v
    }

    def wrap(block) {
    try {
    block()
    } catch(ex) {
    printf("%s: %s\n", ex.class.name, ex.message)
    }
    }

    json = '{ "v": 100000000000000001 }'
    println(json)
    om = new ObjectMapper()
    wrap {
    C1 v1 = om.readValue(json, C1.class)
    printf("def = 0: %d (%s)\n", v1.v, v1.v.class.name)
    }
    wrap {
    C2 v2 = om.readValue(json, C2.class)
    printf("def = 0.0d: %d (%s)\n", v2.v, v2.v.class.name)
    }
    wrap {
    C3 v3 = om.readValue(json, C3.class)
    printf("def = 0.0: %d (%s)\n", v3.v, v3.v.class.name)
    }
    wrap {
    C4 v4 = om.readValue(json, C4.class)
    printf("def: %d (%s)\n", v4.v, v4.v.class.name)
    }
    $ groovy Data3X.groovy
    { "v": 100000000000000001 }
    def = 0: 100000000000000001 (java.lang.Long)
    def = 0.0d: 100000000000000001 (java.lang.Long)
    def = 0.0: 100000000000000001 (java.lang.Long)
    def: 100000000000000001 (java.lang.Long)

    GSON picked a "bad" data type (Double) while
    Jackson picked a "good" data type (Long).

    Groovy is in no way a typical dynamic typed
    language, but I still think it sort of show that
    JSON parsing may be a case where one really should
    prefer static typing.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dan Cross on Wed Apr 24 20:48:19 2024
    On 4/24/2024 8:36 PM, Dan Cross wrote:
    In article <v0c6t7$2jtvn$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    The problem at hand has nothing to do with JSON. It is
    a string to numeric and data types problem.

    It is a problem with a format that permits silently lossy
    conversions.

    Trying to stuff 100000000000000001 into a 32 bit integer
    or a 64 bit floating point create a problem.

    But it does not matter if the format is JSON or XML or YAML
    or whatever.

    The developer made a design error. And the language/library
    did not object.

    But none of that is a problem in the format. The JSON has the
    correct value.

    [snip]
    But selecting an appropriate data type for a given piece
    of data based on its possible values and usage is
    core responsibility for a developer.

    One hopes one also has tools that permit detection of
    truncation. You also ignored the point about how third-party
    tools for manipulating JSON will silently lose data.

    You must have missed this part:

    # The fact that it ultimately is the developers responsibility
    # to select proper data types does not mean that programming languages
    # and JSON libraries can not help catch errors.
    #
    # If it is obvious that an unexpected/useless result is being
    # produced then it should be flagged (return error code or throw
    # exception depending on technology).
    #
    # Let us go back to the example with 100000000000000001.
    #
    # Trying to stuff that into a 32 bit integer by like parsing
    # it as a 64 bit integer and returning the lower 32 bits
    # is in my best opinion an error. Nobody wants to get an int
    # with 1569325057 from retrieving a 32 bit integer integer
    # from "100000000000000001". It should give an error.
    #
    # The case with a 64 bit floating point is more tricky. One
    # could argue that 100000000000000001.0 is the expected
    # result and that 100000000000000000.0 should be considered
    # an error. And it probably would be an error in the majority
    # of cases. But there is actually the possibility that
    # someone that understand floating point are reading JSON
    # and expect what is happening and does not care because
    # there are some uncertainty in the underlying data. And
    # creating a false error for people that understand FP data
    # types to prevent those that do not understand FP data types
    # from shooting themself in the foot is not good.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Wed Apr 24 20:53:37 2024
    On 4/24/2024 8:18 PM, Lawrence D'Oliveiro wrote:
    On Wed, 24 Apr 2024 19:13:44 -0400, Arne Vajhøj wrote:
    On 4/24/2024 6:15 PM, Lawrence D'Oliveiro wrote:
    On Wed, 24 Apr 2024 21:52:36 +1200, David Goodwin wrote:
    The difference here is that Windows NT isn't limited to a single
    userspace API/personality, historically it provided three (Win32, OS/2 >>>> and POSIX) in addition to its own Native API.

    That’s the theory. In practice, it doesn’t seem to have worked very
    well. The POSIX “personality” for example, was essentially unusable.

    My impression is that it worked fine.

    You got to be kidding <https://www.youtube.com/watch?v=BOeku3hDzrM>.

    I did not watch all of it.

    But it seems like this person did not really understand the
    Posix standard (from that time).

    His main argument seems to be that it is not useful.

    I believe that.

    But that is the limitation of Posix (from that time).

    VMS Posix was not considered useful by many either.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to arne@vajhoej.dk on Thu Apr 25 01:37:53 2024
    =?UTF-8?Q?Arne_Vajh=C3=B8j?= <arne@vajhoej.dk> wrote:
    But it seems like this person did not really understand the
    Posix standard (from that time).

    His main argument seems to be that it is not useful.

    I believe that.

    But that is the limitation of Posix (from that time).

    This is entirely true. The Posix libraries in theory would let you run
    unix applications on non-Unix systems but in fact they were never useful
    enough to run anything much.

    VMS Posix was not considered useful by many either.

    No, it wasn't useful. It met certain requirements for certain government purchases, which is why it was designed, but it was not actually useful
    for anyone porting code.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to arne@vajhoej.dk on Thu Apr 25 13:09:24 2024
    In article <v0c98k$2kbf5$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 4/24/2024 8:36 PM, Dan Cross wrote:
    In article <v0c6t7$2jtvn$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    The problem at hand has nothing to do with JSON. It is
    a string to numeric and data types problem.

    It is a problem with a format that permits silently lossy
    conversions.

    Trying to stuff 100000000000000001 into a 32 bit integer
    or a 64 bit floating point create a problem.

    Obvious.

    The developer made a design error. And the language/library
    did not object.

    That's not the problem, though.

    But none of that is a problem in the format. The JSON has the
    correct value.

    No, it often doesn't. Because there are numeric constants that
    are not representable at all in the most common encoding used
    by JSON _tools_.

    [snip]
    But selecting an appropriate data type for a given piece
    of data based on its possible values and usage is
    core responsibility for a developer.

    One hopes one also has tools that permit detection of
    truncation. You also ignored the point about how third-party
    tools for manipulating JSON will silently lose data.

    You must have missed this part:

    # The fact that it ultimately is the developers responsibility
    # to select proper data types does not mean that programming languages
    # and JSON libraries can not help catch errors.

    That's obvious. What you don't seem to understand is that there
    are very common tools outside of the programmer's control that
    are used to manipulate JSON data that perform silently lossy
    conversions. That is, those tools not only don't "help catch
    errors", they actually introduce them.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Fri Apr 26 04:43:17 2024
    On Fri, 26 Apr 2024 16:36:41 +1200, David Goodwin wrote:

    Why go to all the effort reimplementing the whole
    Linux syscall interface and keeping it up-to-date when you could just
    run the Linux kernel in a VM.

    Because that was what the whole “personality” system was supposed to be for. In practice, it didn’t work.

    Are you trying to argue that moving code out of the kernel into
    userspace is a bad idea?

    It would have been great if they could have implemented the Linux API that
    way, wouldn’t it? But they couldn’t do it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Fri Apr 26 17:05:21 2024
    In article <v0fbd5$3g795$1@dont-email.me>, ldo@nz.invalid says...

    On Fri, 26 Apr 2024 16:36:41 +1200, David Goodwin wrote:

    Why go to all the effort reimplementing the whole
    Linux syscall interface and keeping it up-to-date when you could just
    run the Linux kernel in a VM.

    Because that was what the whole ?personality? system was supposed to be
    for. In practice, it didn?t work.

    Calling it a personality system perhaps makes it sound more complex than
    it really is.

    The NT kernel speaks its own low-level Native API. The Kernel doesn't
    know or care about Win32 or POSIX or any of that stuff. Thats all the responsibility of a collection of subsystems running in usermode.

    Its not a microkernel like Minix, but its also not quite a monolithic
    kernel like Linux.

    Are you trying to argue that moving code out of the kernel into
    userspace is a bad idea?

    It would have been great if they could have implemented the Linux API that way, wouldn?t it? But they couldn?t do it.

    They could and they did. WSLv1 exists and it does work surprisingly
    well. WSLv2 works better though, and it is no doubt far easier to
    maintain.

    Still not sure what your'e arguing here though. Are you suggesting
    Windows NT should have used a monolithic kernel for some reason? Or that
    a flexible design was a bad idea because it didn't work out perfectly in
    one scenario over 30 years later?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Fri Apr 26 16:36:41 2024
    In article <v0c0a6$2ihq5$2@dont-email.me>, ldo@nz.invalid says...

    On Wed, 24 Apr 2024 21:52:36 +1200, David Goodwin wrote:

    The difference here is that Windows NT isn't limited to a single
    userspace API/personality, historically it provided three (Win32, OS/2
    and POSIX) in addition to its own Native API.

    That?s the theory. In practice, it doesn?t seem to have worked very well.
    The POSIX ?personality? for example, was essentially unusable.

    There were two different POSIX personalities. There was the original
    POSIX Environment Subsystem was included since NT 3.1 for box checking
    purposes - it strictly implemented the POSIX specifications *and nothing
    more* making it not terribly useful for anything beyond bidding for
    government contracts that required "POSIX".

    Then there was Interix which was a 3rd-party product that Microsoft
    acquired and renamed to Services for Unix (SFU). This was initially sold
    as a product and later given away for free. It was last made available
    for Windows 8 and Server 2012.

    Interix worked quite well, but it wasn't Linux. IIRC getting stuff going
    on it was much the same as getting it going on some random proprietary
    Unix. But Microsoft did include GCC and a bunch of other stuff, and
    there was a community site providing more pre-built binaries.

    When the Windows engineers were working on WSL1, emulating Linux kernel
    APIs on Windows, you would think they would have used this ?personality? system. But they did not. I suspect it had already bitrotted into nonfunctionality by that point.

    Microsoft didn't re-architect Windows NT for the Windows 10 release or
    move all of Win32 into the kernel (why would they?). CSRSS is still
    there just like its always been providing the Win32 environment that
    most windows software runs under.

    And its not like WSLv1 is some Cygwin-like thing sitting on top of
    Win32. Its even in the name: Windows Subsystem for Linux. WSLv1 is like
    Interix but taken several steps further to provide Linux binary
    compatibility and better performance.

    In the end, they had to give up, and bring in an honest-to-goodness Linux kernel, in WSL2.

    Primarily because it gets them them the best compatibility (including
    kernel modules) with a wide selection of pre-built software for the
    least amount of work. Why go to all the effort reimplementing the whole
    Linux syscall interface and keeping it up-to-date when you could just
    run the Linux kernel in a VM.

    Anyway, I'm not sure what your point is here. Are you trying to argue
    that moving code out of the kernel into userspace is a bad idea?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Fri Apr 26 05:38:43 2024
    On Fri, 26 Apr 2024 17:05:21 +1200, David Goodwin wrote:

    WSLv1 exists and it does work surprisingly well.

    But never quite good enough. And it is now abandoned.

    WSLv2 works better though, and it is no doubt far easier to
    maintain.

    Still not sure what your'e arguing here though. Are you suggesting
    Windows NT should have used a monolithic kernel for some reason?

    You tell me: are two monolithic kernels better than one?

    Or that a flexible design was a bad idea because it didn't work out
    perfectly in one scenario over 30 years later?

    In the one scenario where it could have achieved something genuinely
    useful, implementing an API which is amply documented and even comes with
    a full open-source reference implementation, it completely failed to
    deliver the goods.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Fri Apr 26 19:53:31 2024
    In article <v0fel2$3grqf$1@dont-email.me>, ldo@nz.invalid says...

    On Fri, 26 Apr 2024 17:05:21 +1200, David Goodwin wrote:

    WSLv1 exists and it does work surprisingly well.

    But never quite good enough. And it is now abandoned.

    Its still there and still works. And importantly its still supported.

    WSLv2 works better though, and it is no doubt far easier to
    maintain.

    Still not sure what your'e arguing here though. Are you suggesting
    Windows NT should have used a monolithic kernel for some reason?

    You tell me: are two monolithic kernels better than one?

    NT isn't generally considered to have a monolithic kernel.

    Or that a flexible design was a bad idea because it didn't work out perfectly in one scenario over 30 years later?

    In the one scenario where it could have achieved something genuinely
    useful, implementing an API which is amply documented and even comes with
    a full open-source reference implementation, it completely failed to
    deliver the goods.

    I take it you are not aware of the operating systems origin then.

    Windows NT started life as a next-generation portable high-end 32-bit
    OS/2 implementation known as NT-OS/2. It wasn't until the breakdown of
    the joint development agreement with IBM at the end of 1990 that it
    pivoted to being a next-generation Windows. A year later at Comdex 1991
    they were handing out a preview release of Windows NT with its new Win32 personality firmly in place.

    If converting the entire userspace personality from one OS to another in
    a year without any significant architectural changes doesn't validate
    the design I don't know what would.

    I'm also not sure why you think WSL is a failure. Have you not used it?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Fri Apr 26 08:34:01 2024
    On 4/26/2024 12:43 AM, Lawrence D'Oliveiro wrote:
    On Fri, 26 Apr 2024 16:36:41 +1200, David Goodwin wrote:
    Why go to all the effort reimplementing the whole
    Linux syscall interface and keeping it up-to-date when you could just
    run the Linux kernel in a VM.

    Because that was what the whole “personality” system was supposed to be for. In practice, it didn’t work.

    When the subsystem concept was invented virtualization technology
    was not where it is today.

    No matter how one would rate the subsystem, then a VM requires
    less code and provide better compatibility than a subsystem.

    But NT 3.1 did not have Hyper-V. :-)

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to David Goodwin on Fri Apr 26 08:39:02 2024
    On 4/26/2024 3:53 AM, David Goodwin wrote:
    I'm also not sure why you think WSL is a failure. Have you not used it?

    I strongly suspect that he has not.

    :-)

    WSL is used and it works.

    One of the more public use cases are DHH:

    https://world.hey.com/dhh/vscode-wsl-makes-windows-awesome-for-web-development-9bc4d528

    https://world.hey.com/dhh/committing-to-windows-2d6388fd

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Simon Clubley on Fri Apr 26 13:57:43 2024
    On 4/26/2024 1:25 PM, Simon Clubley wrote:
    On 2024-04-26, Arne Vajhøj <arne@vajhoej.dk> wrote:
    When the subsystem concept was invented virtualization technology
    was not where it is today.

    Are you sure ?

    https://en.wikipedia.org/wiki/VM_(operating_system)

    Yes - IBM mainframe was actually quite far way back.

    Let me rephrase: virtualization technology was not where it is today
    on the platforms NT was running on.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to arne@vajhoej.dk on Fri Apr 26 17:25:17 2024
    On 2024-04-26, Arne Vajhj <arne@vajhoej.dk> wrote:

    When the subsystem concept was invented virtualization technology
    was not where it is today.


    Are you sure ?

    https://en.wikipedia.org/wiki/VM_(operating_system)

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Fri Apr 26 20:03:21 2024
    On Fri, 26 Apr 2024 08:34:01 -0400, Arne Vajhøj wrote:

    On 4/26/2024 12:43 AM, Lawrence D'Oliveiro wrote:

    On Fri, 26 Apr 2024 16:36:41 +1200, David Goodwin wrote:

    Why go to all the effort reimplementing the whole Linux syscall
    interface and keeping it up-to-date when you could just run the Linux
    kernel in a VM.

    Because that was what the whole “personality” system was supposed to be >> for. In practice, it didn’t work.

    When the subsystem concept was invented virtualization technology was
    not where it is today.

    Excuses, excuses. Why did Microsoft waste their time trying to create
    WSL1, then?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Fri Apr 26 23:30:41 2024
    On Fri, 26 Apr 2024 19:53:31 +1200, David Goodwin wrote:

    In article <v0fel2$3grqf$1@dont-email.me>, ldo@nz.invalid says...

    On Fri, 26 Apr 2024 17:05:21 +1200, David Goodwin wrote:

    WSLv1 exists and it does work surprisingly well.

    But never quite good enough. And it is now abandoned.

    Its still there and still works. And importantly its still supported.

    You know how they like to use marketing-speak to avoid coming out and
    saying something is EOL?

    From <https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-in-the-microsoft-store-is-now-generally-available-on-windows-10-and-11/>:

    Additionally, the in-Windows version of WSL will still receive
    critical bug fixes, but the Store version of WSL is where new
    features and functionality will be added.

    So it’s quite clear: no more “new features and functionality”. And
    when was the last time you saw a “critical bug fix” for WSL1, by the
    way?

    You tell me: are two monolithic kernels better than one?

    NT isn't generally considered to have a monolithic kernel.

    It has the GUI inextricably entwined into it. It doesn’t have a
    virtual filesystem layer--most filesystem features seem to be
    specifically tied into NTFS. It doesn’t have pluggable security
    modules. Does it even have loadable modules at all?

    And its “personality” system seems a lot more unwieldy and clumsy than Linux’s pluggable “binfmt” system.

    Windows NT started life as a next-generation portable high-end 32-bit
    OS/2 implementation known as NT-OS/2.

    I know. Note that “32-bit”: it was never designed to make a transition
    to 64-bit easy. Also note that “portable” nonsense--that was another
    abject failure.

    As for “next-generation” ... drive letters, that’s all I need to say.

    If converting the entire userspace personality from one OS to another in
    a year without any significant architectural changes doesn't validate
    the design I don't know what would.

    Has anybody demonstrated OS/2 software actually running under NT? Just
    curious.

    I'm also not sure why you think WSL is a failure.

    WSL1 certainly is. Else there would not have been WSL2, would there?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Sat Apr 27 13:52:06 2024
    In article <v0hdf0$3v35b$3@dont-email.me>, ldo@nz.invalid says...

    On Fri, 26 Apr 2024 19:53:31 +1200, David Goodwin wrote:

    In article <v0fel2$3grqf$1@dont-email.me>, ldo@nz.invalid says...

    On Fri, 26 Apr 2024 17:05:21 +1200, David Goodwin wrote:

    WSLv1 exists and it does work surprisingly well.

    But never quite good enough. And it is now abandoned.

    Its still there and still works. And importantly its still supported.

    You know how they like to use marketing-speak to avoid coming out and
    saying something is EOL?

    From <https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-in-the-microsoft-store-is-now-generally-available-on-windows-10-and-11/>:

    Additionally, the in-Windows version of WSL will still receive
    critical bug fixes, but the Store version of WSL is where new
    features and functionality will be added.

    So it?s quite clear: no more ?new features and functionality?. And
    when was the last time you saw a ?critical bug fix? for WSL1, by the
    way?

    What makes you say they aren't fixing critical bugs? I'm sure if you
    report a security issue in WSLv1 they'll fix it same as any other
    windows component.

    You tell me: are two monolithic kernels better than one?

    NT isn't generally considered to have a monolithic kernel.

    It has the GUI inextricably entwined into it.

    The GUI actually lives in the Win32 Environment Subsystem. Until NT 4.0
    it was all implemented entirely in userspace. For performance reasons
    window management and a few other bits were moved into a kernel driver
    service (win32k.sys) in NT 4.0. This driver is loaded by the Win32
    Environment Subsystem (csrss.exe) when its loaded.

    So the kernel itself knows nothing about GUIs and until the Session
    Manager Subsystem launches the Win32 Environment Subsystem, Windows NT
    is an entirely text-mode operating system. This is why on-boot
    filesystem checks aren't graphical: the check disk tool is implemented
    using the Native API and run before the Win32 subsystem has started
    meaning there is no GUI for it to use.

    It doesn?t have a
    virtual filesystem layer--most filesystem features seem to be
    specifically tied into NTFS.

    Microsoft has shipped a bunch of filesystem drivers including the well
    known ntfs, fastfat, cdfs and in the past hpfs. Various 3rd parties have shipped drivers too. Here is a btrfs filesystem driver for Windows: https://github.com/maharmstone/btrfs

    I'm not sure what you mean by filesystem features being tied into NTFS,
    or what features you imagine NTFS is missing that would limit what other filesystem drivers could provide.

    It doesn?t have pluggable security
    modules. Does it even have loadable modules at all?

    It does have pluggable security modules. These are managed by the Local Security Authority Subsystem Service. Kerberos, SSL and NTLM modules are provided out of the box along side local accounts. If you want you can
    write your own authentication packages too - the details are all on
    MSDN.

    You can also completely replace the login screen if you like by
    reimplementing the GINA interface - this is what the Novell NetWare
    client did.

    And its ?personality? system seems a lot more unwieldy and clumsy than Linux?s pluggable ?binfmt? system.

    Given you don't appear to know anything about it I'm not sure how you're
    able to say it seems more unwieldy or clumsy. It also goes beyond what
    binfmt does.

    Windows NT started life as a next-generation portable high-end 32-bit
    OS/2 implementation known as NT-OS/2.

    I know. Note that ?32-bit?: it was never designed to make a transition
    to 64-bit easy.

    I ported C-Kermit for Windows in about a day IIRC. Most of the code that
    needed changing was stuff that deviated from the recommended way of
    building Windows applications. The transition in this case was quite
    easy.

    Also note that ?portable? nonsense--that was another
    abject failure.

    Windows NT has been publicly released for: MIPS R4000, x86, Alpha,
    PowerPC, Itanium, x86-64, ARM, ARM64

    It has been ported to, but not released on: i860XR, MIPS R3000, Clipper, PA-RISC, 64bit Alpha. And work was started on a SPARC port it doesn't
    appear to have got far.

    Not seeing the failure here.

    As for ?next-generation? ... drive letters, that?s all I need to say.

    Drive letters are a feature of the Win32 environment subsystem - the
    Win32 namespace. This is implemented on top of the NT namespace which is provided by the Object Manager.

    Wikipedia has a whole bunch of pages describing its architecture which
    may be of interest:
    https://en.wikipedia.org/wiki/Architecture_of_Windows_NT

    If converting the entire userspace personality from one OS to another in
    a year without any significant architectural changes doesn't validate
    the design I don't know what would.

    Has anybody demonstrated OS/2 software actually running under NT? Just curious.

    Presentation Manager for NT: https://virtuallyfun.com/2021/05/19/presentation-manager-for-windows-nt/

    Though I think the OS/2 subsystem was primarily there for running server software in the early days of NT. Until the release of NT 3.1, all of microsofts server software (SQL Server, LAN Manager, etc) ran on OS/2
    which meant that Microsoft was still shipping OS/2 1.3 after they'd cut
    their ties with IBM.

    Additionally it only ever supported OS/2 1.x applications. While
    Microsoft was involved in the early work on the 32bit OS/2 2.0, they had
    no involvement with the final released product so NT never supported
    IBMs 32bit OS/2 API.

    I'm also not sure why you think WSL is a failure.

    WSL1 certainly is. Else there would not have been WSL2, would there?

    WSLv2 mostly improves filesystem performance and gives you support for
    linux kernel modules. The downside is accessing files outside of the
    linux filesystem requires using the 9P protocol and the same is true for accessing linux files from Windows.

    WSLv1 runs on top of the regular Windows filesystem storing all its
    files in NTFS so there is no performance penalty for accessing stuff
    outside the "linux area" beyond the general filesystem performance
    penalty WSLv1 itself imposes.

    I believe the original design goal for WSLv1 was actually for running
    Android apps on Windows 10 Mobile. A more limited variety of
    applications on hardware that would not necessarily be appropriate for
    running a hypervisor and linux kernel. This code was later repurposed as
    WSLv1. Perhaps if general linux binary compatibility for desktop PCs was
    the initial goal WSLv1 would have been designed differently.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to David Goodwin on Sat Apr 27 09:10:14 2024
    On 4/26/2024 9:52 PM, David Goodwin wrote:
    In article <v0hdf0$3v35b$3@dont-email.me>, ldo@nz.invalid says...
    On Fri, 26 Apr 2024 19:53:31 +1200, David Goodwin wrote:
    NT isn't generally considered to have a monolithic kernel.

    It has the GUI inextricably entwined into it.

    The GUI actually lives in the Win32 Environment Subsystem. Until NT 4.0
    it was all implemented entirely in userspace. For performance reasons
    window management and a few other bits were moved into a kernel driver service (win32k.sys) in NT 4.0. This driver is loaded by the Win32 Environment Subsystem (csrss.exe) when its loaded.

    So the kernel itself knows nothing about GUIs and until the Session
    Manager Subsystem launches the Win32 Environment Subsystem, Windows NT
    is an entirely text-mode operating system. This is why on-boot
    filesystem checks aren't graphical: the check disk tool is implemented
    using the Native API and run before the Win32 subsystem has started
    meaning there is no GUI for it to use.

    And why the Core/Nano editions are possible.

    I'm also not sure why you think WSL is a failure.

    WSL1 certainly is. Else there would not have been WSL2, would there?

    WSLv2 mostly improves filesystem performance and gives you support for
    linux kernel modules. The downside is accessing files outside of the
    linux filesystem requires using the 9P protocol and the same is true for accessing linux files from Windows.

    WSLv1 runs on top of the regular Windows filesystem storing all its
    files in NTFS so there is no performance penalty for accessing stuff
    outside the "linux area" beyond the general filesystem performance
    penalty WSLv1 itself imposes.

    I believe the original design goal for WSLv1 was actually for running
    Android apps on Windows 10 Mobile. A more limited variety of
    applications on hardware that would not necessarily be appropriate for running a hypervisor and linux kernel. This code was later repurposed as WSLv1. Perhaps if general linux binary compatibility for desktop PCs was
    the initial goal WSLv1 would have been designed differently.

    It is not particular unusual that a version 1 of a product
    get released with a simple set of requirements and then usage
    increase and new requirements show up - and now it makes sense
    to change design in version 2.

    MS own explanation is:

    <quote>
    WSL 2 is a major overhaul of the underlying architecture and uses virtualization technology and a Linux kernel to enable new features. The primary goals of this update are to increase file system performance and
    add full system call compatibility.
    </quote>

    https://learn.microsoft.com/en-us/windows/wsl/compare-versions

    I have always believed the second one was the key - emulating an OS
    95% or 99% or 99.9% is doable - emulating an OS 100% is difficult.

    The above link elaborate a bit:

    <quote>
    Linux binaries use system calls to perform functions such as accessing
    files, requesting memory, creating processes, and more. Whereas WSL 1
    used a translation layer that was built by the WSL team, WSL 2 includes
    its own Linux kernel with full system call compatibility. Benefits include:

    A whole new set of apps that you can run inside of WSL, such as
    Docker and more.

    Any updates to the Linux kernel are immediately ready for use. (You
    don't have to wait for the WSL team to implement updates and add the
    changes).
    </quote>

    I suspect docker is a good example of something that require a real
    Linux kernel.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Sat Apr 27 09:21:50 2024
    On 4/27/2024 9:10 AM, Arne Vajhøj wrote:
    MS own explanation is:

    <quote>
    WSL 2 is a major overhaul of the underlying architecture and uses virtualization technology and a Linux kernel to enable new features. The primary goals of this update are to increase file system performance and
    add full system call compatibility.
    </quote>

    https://learn.microsoft.com/en-us/windows/wsl/compare-versions

    I have always believed the second one was the key - emulating an OS
    95% or 99% or 99.9% is doable - emulating an OS 100% is difficult.

    If we instead of looking at Linux emulation under Windows go to
    the opposite direction Windows emulation under Linux, then we
    have Wine and https://appdb.winehq.org/ that lists what works
    and what does not work. A lot works just fine. But for some
    "a lot" is not good enough.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Eder@21:1/5 to Dan Cross on Sat Apr 27 15:15:36 2024
    On Di 23 Apr 2024 at 02:07, cross@spitfire.i.gajendra.net (Dan Cross) wrote:

    In article <v06t9m$fni$4@tncsrv09.home.tnetconsulting.net>,
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:

    Regardless, I wouldn't consider sendmail's config stuff anywhere
    analogous to a Makefile or header; more like APL source code
    perhaps.

    And what is so bad about APL?

    'Andreas


    --
    ceterum censeo redmondinem esse delendam

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to a_eder_muc@web.de on Sat Apr 27 15:39:25 2024
    In article <87r0erc5fr.fsf@eder.anydns.info>,
    Andreas Eder <a_eder_muc@web.de> wrote:
    On Di 23 Apr 2024 at 02:07, cross@spitfire.i.gajendra.net (Dan Cross) wrote:

    In article <v06t9m$fni$4@tncsrv09.home.tnetconsulting.net>,
    Grant Taylor <gtaylor@tnetconsulting.net> wrote:

    Regardless, I wouldn't consider sendmail's config stuff anywhere
    analogous to a Makefile or header; more like APL source code
    perhaps.

    And what is so bad about APL?

    First, I didn't say it was bad. What I said was that it shared
    characteristics with the sendmail config file syntax: both are
    perfectly readable to those well-versed in their arcana; from
    outside, both can seem illegible. I think that's fair.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sat Apr 27 16:50:06 2024
    On 4/23/24 06:18, Lawrence D'Oliveiro wrote:
    On Tue, 23 Apr 2024 15:07:32 +1000, motk wrote:

    Then perhaps be a little more open minded and do some inquiry of your
    own as well.

    systemd-haters are like the anti-fluoridationists of the Open Source
    world.

    Discuss.

    Perhaps some really can't see a need for it, despite it having fingers
    into every aspect of the system, and being complex and opaque.

    A cynic might say that the whole idea of systemd is to deskill
    system management, so that the half brain dead can be employed, rather
    than people who actually understand how systems work.

    Painting by numbers for sysadmin, when there really is no substitute
    for in depth knowledge...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to motk on Sat Apr 27 17:13:05 2024
    On 4/22/24 01:11, motk wrote:
    On 22/04/2024 10:03 am, chrisq wrote:

    One could argue that if you are chasing races in scripts, there's
    something else wrong in the basic system design :-).

    Sure, but it's not always my job to fix that. Sometimes you have to deal
    with what you get.

    Having used Solaris for decades, their svcadm and other service
    management tools seemed quite lightweight, in that all the config
    scripts were in the usual places. Still in plain text format, as were
    the log files, which could be manually edited with no ill effect. In
    essence, a layer on top of what was already there. The FreeBSD service
    framework seems to work in the same way, a lightweight layer on top of
    what was already there. Limited experience, but the AIX smit etc tools
    also seem to work the same way, layered software design.

    Now compare such an approach with that of systemd, and tell us why
    such opaque complexity is a good thing...

    What? Where is the opaqueness, where is the complexity? I'm absolutely baffled here. What plain text files are you needed to edit? What are the usual places? I use this stuff daily, and it manifestly makes my working
    life easier. At no point does it replace any of the tradition unix stuff
    like bind or whatever *unless you specifically ask it to*. None of the
    major distributions build it that way, except perhaps for people using
    zfs root, or iot/cloud builds where they *want* a monolithic init.

    If you had ever worked on serious system design, you would realise
    that reliable system design depends on strict partitioning and
    encapsulation. Layered functionality, with defined interfaces.
    Strangely enough, but "elegance" really does apply in many such
    cases, and is what many software engineers strive for.


    It really sounds like you just need to sit down, read the documentation
    from the systemd and distro side, and work out what works for you.
    Sitting around carping at what is now an established industry standard because 'elegance' isn't how I choose to spend my time.


    No, I don't need to sit down and spend hours reading docs on
    something I don't need for my work and that is wrong by design,
    though I guess design elegance does depend on personal opinion.

    Quite enough camels in the world already...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat Apr 27 22:53:09 2024
    On Sat, 27 Apr 2024 17:13:05 +0100, chrisq wrote:

    If you had ever worked on serious system design, you would realise that reliable system design depends on strict partitioning and encapsulation. Layered functionality, with defined interfaces.

    All of which applies to systemd, its config definition system and its
    APIs. It is very much modular. The irreducible core is the systemd init process, journald and udevd. That’s it. There are 69 individual binaries
    if you choose to build everything, but all except that core are optional.

    And the fact they are separate binaries should tell you how modular
    everything is.

    No, I don't need to sit down and spend hours reading docs on
    something I don't need for my work and that is wrong by design .,..

    <http://0pointer.de/blog/projects/the-biggest-myths.html>

    (Posted here not for the person I’m replying to, but for the sake of those willing to learn.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to bill on Sat Apr 27 22:48:36 2024
    On Sat, 27 Apr 2024 10:18:41 -0400, bill wrote:

    But then, I never had a problem with sendmail.cf either and I ran
    sendmail based mailservers for many years.

    Even with the Sendmail book in hand, I was still never entirely sure what
    I was doing. A later version brought in configuration with m4 macros, but trying to move to that seemed to cause more problems than it solved.

    Then, by mutual agreement with the client, we moved to Postfix. And that
    made so much more sense, I never looked back.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat Apr 27 22:55:30 2024
    On Sat, 27 Apr 2024 16:50:06 +0100, chrisq wrote:

    Perhaps some really can't see a need for [systemd] ...

    That’s entirely fair. That’s why we have so many Linux distros that don’t use it. Open Source is all about choice.

    What is inexplicable is the hostility from those who simply seem to hate
    the fact that systemd exists, and that it is quite popular. The noise they
    make is entirely out of proportion to their numbers. Kind of like anti- fluoridationists.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sun Apr 28 00:59:11 2024
    On 4/27/24 23:55, Lawrence D'Oliveiro wrote:
    On Sat, 27 Apr 2024 16:50:06 +0100, chrisq wrote:

    Perhaps some really can't see a need for [systemd] ...

    That’s entirely fair. That’s why we have so many Linux distros that don’t
    use it. Open Source is all about choice.

    Perhaps, but even Devuan still has traces of it, which suggests that
    it's very difficult to get rid of.


    What is inexplicable is the hostility from those who simply seem to hate
    the fact that systemd exists, and that it is quite popular. The noise they make is entirely out of proportion to their numbers. Kind of like anti- fluoridationists.

    Ok mea culpa, I guess it could just be viewed as a different way of
    doing things, but, for example, why are log files in binary ?...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sun Apr 28 00:54:38 2024
    On 4/27/24 23:48, Lawrence D'Oliveiro wrote:
    On Sat, 27 Apr 2024 10:18:41 -0400, bill wrote:

    But then, I never had a problem with sendmail.cf either and I ran
    sendmail based mailservers for many years.

    Even with the Sendmail book in hand, I was still never entirely sure what
    I was doing. A later version brought in configuration with m4 macros, but trying to move to that seemed to cause more problems than it solved.

    Then, by mutual agreement with the client, we moved to Postfix. And that
    made so much more sense, I never looked back.

    To be fair though, sendmail is about the most obtuse example you could
    find, and it is only an application program, not part of the kernel.

    Those who need to, will learn how to drive it and there are probably
    dozens of sites online demystifying the process. Computing is a complex subject, not for those who can't be bothered making the effort..

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sun Apr 28 01:05:02 2024
    On 4/27/24 23:53, Lawrence D'Oliveiro wrote:
    On Sat, 27 Apr 2024 17:13:05 +0100, chrisq wrote:

    If you had ever worked on serious system design, you would realise that
    reliable system design depends on strict partitioning and encapsulation.
    Layered functionality, with defined interfaces.

    All of which applies to systemd, its config definition system and its
    APIs. It is very much modular. The irreducible core is the systemd init process, journald and udevd. That’s it. There are 69 individual binaries
    if you choose to build everything, but all except that core are optional.

    I read the article linked to elsewhere. Something like >60 separate
    binaries for all the functionality. It's entrails into every aspect of
    the system, far more than that needed for init.

    One ring to rule them all too many, imho.


    And the fact they are separate binaries should tell you how modular everything is.

    No, I don't need to sit down and spend hours reading docs on
    something I don't need for my work and that is wrong by design .,..

    <http://0pointer.de/blog/projects/the-biggest-myths.html>

    (Posted here not for the person I’m replying to, but for the sake of those willing to learn.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to ldo@nz.invalid on Sun Apr 28 00:02:48 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    What is inexplicable is the hostility from those who simply seem to hate
    the fact that systemd exists, and that it is quite popular. The noise they >make is entirely out of proportion to their numbers. Kind of like anti- >fluoridationists.

    A lot of it comes from the fact that due to corporate standards or due to support of commercial applications, many Linux users are forced into running
    RH or an RH-alike and they don't actually have choice.

    Which isn't really systemd's fault, or really even RH's fault, but it is a definite failing of the linux community in some ways.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sun Apr 28 01:56:36 2024
    On Sun, 28 Apr 2024 00:59:11 +0100, chrisq wrote:

    On 4/27/24 23:55, Lawrence D'Oliveiro wrote:

    On Sat, 27 Apr 2024 16:50:06 +0100, chrisq wrote:

    Perhaps some really can't see a need for [systemd] ...

    That’s entirely fair. That’s why we have so many Linux distros that
    don’t use it. Open Source is all about choice.

    Perhaps, but even Devuan still has traces of it, which suggests that
    it's very difficult to get rid of.

    You mean, the much-ballyhooed “systemd-free” distro isn’t so “systemd-free” after all?

    ... for example, why are log files in binary ?...

    Let me see if I can count the ways:

    * Easy logfile rotation, just by deleting expired records instead of
    * having to rewrite the whole file Quick lookup of entries by
    * attributes, including ones that cannot be faked by services
    * themselves Timestamps that can be interpreted in any timezone

    Actually, there’s lots more. Have a look at the design document <https://docs.google.com/document/d/1IC9yOXj7j6cdLLxWEBAGRL6wl97tFxgjLUEHIX3MSTs/pub>.

    Just a pro tip: the time to ask questions is *before* you start
    spouting off about how terrible something is, not *after*.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sun Apr 28 01:43:32 2024
    On Sun, 28 Apr 2024 00:54:38 +0100, chrisq wrote:

    ... not for those who can't be bothered making the effort..

    Says the one who has already said he can’t be bothered learning why he’s wrong.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Sat Apr 27 22:37:04 2024
    On 4/27/2024 10:15 PM, Lawrence D'Oliveiro wrote:
    On Sat, 27 Apr 2024 09:10:14 -0400, Arne Vajhøj wrote:
    I suspect docker is a good example of something that require a real
    Linux kernel.

    Microsoft were trying to implement Docker natively on Windows at one
    point; wonder why they gave up?

    Docker for Windows is available.

    But that does not help with getting Docker for Linux running
    under WSL.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Sun Apr 28 02:15:02 2024
    On Sat, 27 Apr 2024 09:10:14 -0400, Arne Vajhøj wrote:

    I suspect docker is a good example of something that require a real
    Linux kernel.

    Microsoft were trying to implement Docker natively on Windows at one
    point; wonder why they gave up?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Sun Apr 28 02:13:48 2024
    On Sat, 27 Apr 2024 13:52:06 +1200, David Goodwin wrote:

    In article <v0hdf0$3v35b$3@dont-email.me>, ldo@nz.invalid says...

    So it?s quite clear: no more “new features and functionality”. And
    when was the last time you saw a “critical bug fix” for WSL1, by the
    way?

    What makes you say they aren't fixing critical bugs?

    You were the one who claimed it was “still supported”, not me. It is up to you to prove that point, if you can.

    [NT] has the GUI inextricably entwined into it.

    The GUI actually lives in the Win32 Environment Subsystem.

    But it is not modular and replaceable, like on Linux. It took them a long
    time even to offer anything resembling a “headless” setup, and that only for Windows Server. So it’s only a choice between Microsoft’s GUI, or no GUI at all. There are no APIs to make anything else work.

    It doesn’t have a
    virtual filesystem layer--most filesystem features seem to be
    specifically tied into NTFS.

    I'm not sure what you mean by filesystem features being tied into
    NTFS ...

    Mount points as an alternative to drive letters--only work with NTFS. I
    think also system booting only works with NTFS.

    It doesn?t have pluggable security
    modules. Does it even have loadable modules at all?

    It does have pluggable security modules. These are managed by the Local Security Authority Subsystem Service. Kerberos, SSL and NTLM modules
    are provided out of the box ...

    Those are all for network security, not local security. I’m talking about things like SELinux and AppArmor. And containers.

    You can also completely replace the login screen if you like by reimplementing the GINA interface ...

    How wonderful. So they (partially) reinvented GUI login display managers
    that *nix systems have had since the 1990s. Have they figured out how to
    add that little menu that offers you a choice of GUI environment to run,
    as well?

    And its “personality” system seems a lot more unwieldy and clumsy than >> Linux’s pluggable “binfmt” system.

    It also goes beyond what binfmt does.

    Does it indeed? Weren’t you making apologies about its limitations, due to its being 30 years old, elsewhere?

    Note that “32-bit”: it was never designed to make a transition
    to 64-bit easy.

    I ported C-Kermit for Windows in about a day IIRC.

    Not sure why that’s relevant.

    Also note that “portable” nonsense--that was another
    abject failure.

    Windows NT has been publicly released for: MIPS R4000, x86, Alpha,
    PowerPC, Itanium, x86-64, ARM, ARM64

    It has been ported to, but not released on: i860XR, MIPS R3000,
    Clipper, PA-RISC, 64bit Alpha. And work was started on a SPARC port it doesn't appear to have got far.

    Not seeing the failure here.

    All those ports are gone. All the non-x86 ones, except the ARM one, which continues to struggle.

    As for “next-generation” ... drive letters, that?s all I need to say.

    Drive letters are a feature of the Win32 environment subsystem - the
    Win32 namespace. This is implemented on top of the NT namespace which
    is provided by the Object Manager.

    Which is somehow specifically tied into NTFS. Try this: create and mount a
    FAT volume, mount it somewhere other than a drive letter, create a
    directory within it, and mount some other non-NTFS volume on that
    directory.

    The Linux VFS layer doesn’t care: it all works. No drive letters, no
    special dependency on one particular filesystem.

    WSL1 certainly is [a failure]. Else there would not have been WSL2,
    would there?

    WSLv2 mostly improves ...

    “Compatibility”. Go on, say it: WSL1 could not offer good enough compatibility with Linux.

    Perhaps if general linux binary compatibility for desktop PCs was
    the initial goal WSLv1 would have been designed differently.

    How on earth do you design a “personality” that does not properly support the APIs being emulated? What exactly is it supposed to run, if not “binaries” from the platform being emulated?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Sun Apr 28 02:16:17 2024
    On Sat, 27 Apr 2024 09:21:50 -0400, Arne Vajhøj wrote:

    If we instead of looking at Linux emulation under Windows go to the
    opposite direction Windows emulation under Linux, then we have Wine and https://appdb.winehq.org/ that lists what works and what does not work.
    A lot works just fine. But for some "a lot" is not good enough.

    Good enough for the Steam Deck to be a worthwhile purchase for many
    customers: good enough for Valve to continue investing in the product and improving it.

    And remember, this is probably the most demanding application of Windows emulation on Linux: running games.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Sun Apr 28 17:03:19 2024
    [This followup was posted to comp.os.vms and a copy was sent to the
    cited author.]

    In article <v0kbcs$q4lf$4@dont-email.me>, ldo@nz.invalid says...

    On Sat, 27 Apr 2024 13:52:06 +1200, David Goodwin wrote:

    In article <v0hdf0$3v35b$3@dont-email.me>, ldo@nz.invalid says...

    So it?s quite clear: no more ?new features and functionality?. And
    when was the last time you saw a ?critical bug fix? for WSL1, by the
    way?

    What makes you say they aren't fixing critical bugs?

    You were the one who claimed it was ?still supported?, not me. It is up to you to prove that point, if you can.

    Microsoft says its still supported. I don't see any reason to claim or
    believe otherwise without proof.

    [NT] has the GUI inextricably entwined into it.

    The GUI actually lives in the Win32 Environment Subsystem.

    But it is not modular and replaceable, like on Linux. It took them a long time even to offer anything resembling a ?headless? setup, and that only
    for Windows Server. So it?s only a choice between Microsoft?s GUI, or no
    GUI at all. There are no APIs to make anything else work.

    There are APIs to make something else work - the same APIs the Win32 Environment Subsystem uses. The main roadblock is almost certainly the
    fact the GUI that ships with the system is good enough and modifying it
    is far easier than starting from scratch.

    Just like there is nothing stopping the default shell from being
    replaced. People have certainly done that in the past but for most
    people the default one is good enough so the alternatives never get any
    real traction.

    It doesn?t have a
    virtual filesystem layer--most filesystem features seem to be
    specifically tied into NTFS.

    I'm not sure what you mean by filesystem features being tied into
    NTFS ...

    Mount points as an alternative to drive letters--only work with NTFS. I
    think also system booting only works with NTFS.

    This is primarily because NTFS is the only filesystem that ships with
    windows that has the required features. You *used* to be able to install
    and run windows NT from FAT and HPFS volumes up until I guess Win2k or
    Windows XP. HPFS was removed because it was obsolete, and booting from
    FAT was probably removed due to lack of support for ACLs and general reliability.

    Mounted folders are implemented using reparse points - the same feature
    used for hard links, symbolic links, junctions and other such things. I
    think these are stored as extended attributes or similar which are not supported by FAT.

    It doesn?t have pluggable security
    modules. Does it even have loadable modules at all?

    It does have pluggable security modules. These are managed by the Local Security Authority Subsystem Service. Kerberos, SSL and NTLM modules
    are provided out of the box ...

    Those are all for network security, not local security. I?m talking about things like SELinux and AppArmor. And containers.

    I don't see anything in the documentation that says those security
    modules can't be used for local authentication. And the Local Security Authority handles all local security - its in the name. Its what
    enforces security policy and generates access tokens that describe the
    security context a process or thread is running in. As far as I can see
    most of what SELinux adds has been in Windows NT since version 3.1.

    I don't know if current windows has a general equivalent to AppArmor
    though - I suspect not.

    You can also completely replace the login screen if you like by reimplementing the GINA interface ...

    How wonderful. So they (partially) reinvented GUI login display managers
    that *nix systems have had since the 1990s. Have they figured out how to
    add that little menu that offers you a choice of GUI environment to run,
    as well?

    Really grasping at straws here.

    They could put that menu there. *YOU* could put that menu there. But why
    would you bother? Whats going to be in that menu? Why would people want
    to choose a different shell each time they login? Whats the use case
    here to make increasing the UIs complexity worthwhile?

    And I don't see how this has anything to do with Xdm.

    And its ?personality? system seems a lot more unwieldy and clumsy
    than
    Linux?s pluggable ?binfmt? system.

    It also goes beyond what binfmt does.

    Does it indeed? Weren?t you making apologies about its limitations, due to its being 30 years old, elsewhere?

    No, I was not. And I think I've described NTs architecture more than
    enough at this point for you to know that binfmt is not the same concept
    as NTs Environment Subsystems.

    Note that ?32-bit?: it was never designed to make a transition
    to 64-bit easy.

    I ported C-Kermit for Windows in about a day IIRC.

    Not sure why that?s relevant.

    You were implying the transition from 32bit to 64bit is not easy. From
    my experience this is not the case. I suspect you are just making
    assumptions here.

    Also note that ?portable? nonsense--that was another
    abject failure.

    Windows NT has been publicly released for: MIPS R4000, x86, Alpha,
    PowerPC, Itanium, x86-64, ARM, ARM64

    It has been ported to, but not released on: i860XR, MIPS R3000,
    Clipper, PA-RISC, 64bit Alpha. And work was started on a SPARC port it doesn't appear to have got far.

    Not seeing the failure here.

    All those ports are gone. All the non-x86 ones, except the ARM one, which continues to struggle.

    Yes, because all of those platforms are gone.
    Intel i860XR: Gone, was a bad architecture. Support never released.
    MIPS R3000: Obsolete by the time NT 3.1 came out. Support never
    released.
    MIPS R4000: Compatible workstations never became widespread enough so
    Microsoft eventually ended support.
    PowerPC: IBM pulled the plug.
    Alpha: Compaq pulled the plug.
    Alpha, 64bit: Compaq pulled the plug
    Itanium: HP and Intel gave up on it
    Clipper: Intergraph stopped making new Clipper CPUs and so stopped
    porting NT to Clipper
    SPARC: This port was being done by Integraph. Probably stopped early on
    as Intergraph gave up on SPARC and moved to x86
    PA-RISC: This port was being done by HP. HP decided not to release
    compatible hardware or the port for whatever reasons. Perhaps they
    thought Itanium being due any day now made the effort not worthwhile.

    Most of the ports were discontinued because the companies that made the hardware stopped making the hardware or stopped providing support for
    running Windows on it. Just like how Linux drops support for CPU
    architectures when they're obsolete and no one is interested in
    maintaining support anymore.

    The fact that it has been ported to so many architectures clearly
    demonstrates that it is fairly portable. The fact that those ports were
    not maintained indefinitely does not change this.

    As for ?next-generation? ... drive letters, that?s all I need to say.

    Drive letters are a feature of the Win32 environment subsystem - the
    Win32 namespace. This is implemented on top of the NT namespace which
    is provided by the Object Manager.

    Which is somehow specifically tied into NTFS. Try this: create and mount a FAT volume, mount it somewhere other than a drive letter, create a
    directory within it, and mount some other non-NTFS volume on that
    directory.

    It would seem it isn't necessarily tied to NTFS but rather requires
    certain filesystem features FAT doesn't have. You can't use fat32 as the
    root filesystem on linux for similar reasons.

    The Linux VFS layer doesn?t care: it all works. No drive letters, no
    special dependency on one particular filesystem.

    WSL1 certainly is [a failure]. Else there would not have been WSL2,
    would there?

    WSLv2 mostly improves ...

    ?Compatibility?. Go on, say it: WSL1 could not offer good enough compatibility with Linux.

    Not good enough for what? I used it for ages with no problems. Just
    because WSLv2 provides better compatibility does not imply that the compatibility of WSLv1 was not good enough for all possible use cases.

    Perhaps if general linux binary compatibility for desktop PCs was
    the initial goal WSLv1 would have been designed differently.

    How on earth do you design a ?personality? that does not properly support
    the APIs being emulated? What exactly is it supposed to run, if not ?binaries? from the platform being emulated?

    Silly question and you already know the answer. It the same reason why
    Windows 95, 98 and ME only implemented a subset of the Win32 API: There
    are a lot of APIs that are rarely used and most applications will run
    fine without them. Its not perfectly compatibility but its good enough.

    If you wish to continue trying to find ways to prove that Windows NT is
    somehow a bad operating system you should probably read up a bit on it
    rather than just guessing or assuming. And remember that Windows NT is
    an entirely different OS from Windows 95/98/ME. Just because Windows 95
    could not do something does not mean current current windows can not do
    it.

    And you don't actually have to try and prove other operating systems are somehow inferior because you prefer Linux. Other operating systems can
    be good and that's OK. There are things Linux does better, and there are
    things that Windows NT does better. This is to be expected as they have different designs and different design goals. Being different does not
    imply bad or inferior. Differences are good - it makes things
    interesting.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sun Apr 28 11:57:13 2024
    On 4/28/24 02:56, Lawrence D'Oliveiro wrote:
    On Sun, 28 Apr 2024 00:59:11 +0100, chrisq wrote:

    On 4/27/24 23:55, Lawrence D'Oliveiro wrote:

    On Sat, 27 Apr 2024 16:50:06 +0100, chrisq wrote:

    Perhaps some really can't see a need for [systemd] ...

    That’s entirely fair. That’s why we have so many Linux distros that
    don’t use it. Open Source is all about choice.

    Perhaps, but even Devuan still has traces of it, which suggests that
    it's very difficult to get rid of.

    You mean, the much-ballyhooed “systemd-free” distro isn’t so “systemd-free” after all?

    ... for example, why are log files in binary ?...

    Let me see if I can count the ways:

    * Easy logfile rotation, just by deleting expired records instead of
    * having to rewrite the whole file Quick lookup of entries by
    * attributes, including ones that cannot be faked by services
    * themselves Timestamps that can be interpreted in any timezone

    Actually, there’s lots more. Have a look at the design document <https://docs.google.com/document/d/1IC9yOXj7j6cdLLxWEBAGRL6wl97tFxgjLUEHIX3MSTs/pub>.

    Just a pro tip: the time to ask questions is *before* you start
    spouting off about how terrible something is, not *after*.

    Tetchy ?. Perhaps your coffee displeased you this morning :-).
    Anyway, unconvincing reply.

    It's quite clear that what is driving the adoption of systemd is
    corporate interests that want / need a unified system management
    framework. In the past every vendor had their own remote management
    solution, but the obvious need for corporates is a solution that
    works transparently for all systems in the mix. The ideal would
    be remote management using a browser, so in the future, systemd will
    become even more bloated, to include a web server, apps and
    database, leading to the obvious question, why bother having a
    Linux kernel at all ?. By that time, corporate interests, will have
    absorbed Linux and have complete control over future direction.
    You can call that conspiracy theory if you like, but it's naive to
    think that corporate interests have any altruism at all. It's the
    way it works. If it can be monetised, absorb, suppress, and control...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to Dorsey on Sun Apr 28 11:43:00 2024
    In article <v0k3n8$s9a$1@panix2.panix.com>, kludge@panix.com (Scott
    Dorsey) wrote:

    A lot of it comes from the fact that due to corporate standards or
    due to support of commercial applications, many Linux users are
    forced into running RH or an RH-alike and they don't actually have
    choice.

    Which isn't really systemd's fault, or really even RH's fault, but
    it is a definite failing of the linux community in some ways.

    As someone who produces commercial software for Linux, I obviously want
    to support as many of the distributions that my customers use as possible
    with the same build. Once you get into multiple builds and multiple sets
    of testing, costs and inconvenience have a tendency to combinatorial explosions.

    Doing that is just /easier/ if you build on RHEL, or its work-alikes, and allows you access to updated compilers (via the GCC Toolsets) more
    swiftly than other stable and supported distributions. None of the
    software I produce goes anywhere near systemd.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Sun Apr 28 12:22:03 2024
    On 4/28/24 02:43, Lawrence D'Oliveiro wrote:
    On Sun, 28 Apr 2024 00:54:38 +0100, chrisq wrote:

    ... not for those who can't be bothered making the effort..

    Says the one who has already said he can’t be bothered learning why he’s wrong.

    Must have been a bad night ?. Anyway, I only bother learning about
    design ideas and solutions that I respect. Gut feeling to start with,
    but with some things, the more that one digs, the worse it gets.

    The way that so much of the unix infrastructure has been replaced,
    coercing the system to suit the needs of systemd, tail wagging the
    dog, leaves so much open to new bugs and dependencies. Begs the
    question, why, other than for future support for corporate
    interests ?.

    Brain dead sysadmin, here we come...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to devzero@nospam.com on Sun Apr 28 14:22:03 2024
    In article <v0j6re$ecea$1@dont-email.me>, chrisq <devzero@nospam.com> wrote:

    A cynic might say that the whole idea of systemd is to deskill
    system management, so that the half brain dead can be employed, rather
    than people who actually understand how systems work.

    The end result of that sort of thing is kind of the opposite, in that you
    wind up with a large number of unskilled admins and a small number of very skilled admins. You can see precisely that in the Windows world.

    Lots of guys who don't really understand how anything works inside, who
    get paid very little. And a small number of people whom you can call when those guys fail, but who charge an enormous amount. Just ask around about people who can read Windows crash dumps. They are out there, but they are
    very few, and they can charge whatever they want. Whereas people who know linux internals are not really that rare.

    VMS has always been interesting in that you can't see the source code, but
    if you had support you could pick up the phone and talk to someone who
    had the source in front of them.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to John Dallman on Sun Apr 28 14:25:06 2024
    John Dallman <jgd@cix.co.uk> wrote:
    As someone who produces commercial software for Linux, I obviously want
    to support as many of the distributions that my customers use as possible >with the same build. Once you get into multiple builds and multiple sets
    of testing, costs and inconvenience have a tendency to combinatorial >explosions.

    Doing that is just /easier/ if you build on RHEL, or its work-alikes, and >allows you access to updated compilers (via the GCC Toolsets) more
    swiftly than other stable and supported distributions. None of the
    software I produce goes anywhere near systemd.

    Yes! And the odds are that if I got your binary distribution I could
    probably make it run fine on Slackware (without systemd) after spending
    an afternoon or two playing with libraries and moving files around.
    Because Linux distributions don't vary THAT much.

    But, were I to do that, if I called you for support on your software and explained I was running it on Slackware, the odds are that the first thing
    you would do would be to tell me to move it to a supported RH system.

    And that is why.... I and many thousands of others run RH when we actually don't like the direction RH is heading at all.
    --scott

    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to Dorsey on Sun Apr 28 17:00:00 2024
    In article <v0lm82$2gs$1@panix2.panix.com>, kludge@panix.com (Scott
    Dorsey) wrote:

    Yes! And the odds are that if I got your binary distribution I
    could probably make it run fine on Slackware (without systemd)
    after spending an afternoon or two playing with libraries and
    moving files around. Because Linux distributions don't vary
    THAT much.

    But, were I to do that, if I called you for support on your
    software and explained I was running it on Slackware, the odds
    are that the first thing you would do would be to tell me to
    move it to a supported RH system.

    I can do better than that. Assuming Distrowatch's page on Slackware is accurate, I can tell you that it should run on Slackware 15.0 or later
    and definitely won't run on 14.2 or earlier. That much, I can get from
    the glibc and gcc versions.

    If it won't run for you on 15.0 or later, then I'll ask you to try a RHEL work-alike, to eliminate the possibility that it's something about your
    local setup.

    If it works on Rocky and not on Slackware 15.0, then I'll start asking
    more detailed questions and getting a Slackware VM set up.

    And that is why.... I and many thousands of others run RH when we
    actually don't like the direction RH is heading at all.

    I don't like it either. It's legal, but it's not in the spirit of the GPL.
    I would like to find a Linux that has the same advantages as RHEL as a
    build platform, but there doesn't appear to be one.

    We use RHEL for actual build machines, because we have greater confidence
    that it will carry on getting security patches than we have for its work-alikes. But we use Rocky and Alma for most of the testing, and keep
    SUSE Enterprise and Ubuntu in the testing pool in case patches to them,
    or to our software, break something.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to John Dallman on Sun Apr 28 12:50:47 2024
    On 4/28/2024 12:00 PM, John Dallman wrote:
    In article <v0lm82$2gs$1@panix2.panix.com>, kludge@panix.com (Scott
    Dorsey) wrote:
    And that is why.... I and many thousands of others run RH when we
    actually don't like the direction RH is heading at all.

    I don't like it either. It's legal, but it's not in the spirit of the GPL.

    Note that the RH topic now seems to have moved from their push of
    systemd to their new policy on SRPM availability and clone distros.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Mon Apr 29 20:40:44 2024
    On Sun, 28 Apr 2024 12:50:47 -0400, Arne Vajhøj wrote:

    Note that the RH topic now seems to have moved from their push of
    systemd ...

    I never understood how their alleged “push of systemd” was supposed to
    work as a business model ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Tue Apr 30 15:17:54 2024
    On 28/04/2024 10:05 am, chrisq wrote:

    I read the article linked to elsewhere. Something like >60 separate
    binaries for all the functionality. It's entrails into every aspect of
    the system, far more than that needed for init.

    Are you okay? Why are you ignoring the clear explanations given, and
    just sitting on your bum grumping like Eyore?

    This is just sad.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Tue Apr 30 15:15:43 2024
    On 28/04/2024 2:13 am, chrisq wrote:

    If you had ever worked on serious system design, you would realise
    that reliable system design depends on strict partitioning and
    encapsulation. Layered functionality, with defined interfaces.
    Strangely  enough, but "elegance" really does apply in many such
    cases, and is what many software engineers strive for.

    Plan9 has ruined so many brains.

    Nice veiled insult, I guess?


    It really sounds like you just need to sit down, read the documentation from the systemd and distro side, and work out what works for you.
    Sitting around carping at what is now an established industry standard because 'elegance' isn't how I choose to spend my time.

    No, I don't need to sit down and spend hours reading docs on
    something I don't need for my work and that is wrong by design,
    though I guess design elegance does depend on personal opinion.

    You sure have plenty of opinions to chuck over the fence though.


    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to All on Tue Apr 30 15:23:08 2024
    On 28/04/2024 8:57 pm, chrisq wrote:

    [absolute nonsense]

    OK, you should probably just not express any opinions here. You're
    clearly beyond the horizon.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From motk@21:1/5 to chrisq on Tue Apr 30 15:23:54 2024
    On 28/04/2024 9:54 am, chrisq wrote:

    Those who need to, will learn how to drive it and there are probably
    dozens of sites online demystifying the process. Computing is a complex subject, not for those who can't be bothered making the effort..

    I have died of ironic poisoning.

    --
    motk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to motk on Tue Apr 30 17:36:41 2024
    On 4/30/24 06:23, motk wrote:
    On 28/04/2024 8:57 pm, chrisq wrote:

    [absolute nonsense]

    OK, you should probably just not express any opinions here. You're
    clearly beyond the horizon.


    So, what did you disagree with in what was written, or perhaps you
    think large corporations are full of altruistic love first, rather
    than grasping for profit ?. Just having a fit is not a valid
    response :-).

    Anyway, didn't red hat sell out to ibm just recently, and didn't
    pottying go to work for Microsoft ?.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to motk on Tue Apr 30 17:59:56 2024
    On 4/30/24 06:17, motk wrote:
    On 28/04/2024 10:05 am, chrisq wrote:

    I read the article linked to elsewhere. Something like >60 separate
    binaries for all the functionality. It's entrails into every aspect of
    the system, far more than that needed for init.

    Are you okay? Why are you ignoring the clear explanations given, and
    just sitting on your bum grumping like Eyore?

    This is just sad.

    Yes, sad that you just ad hom, rather than address the points I was
    making, in all your replies.

    Dozens of new binaries sounds like a wide attack surface for potential mischief, but perhaps you disagree ?. The more complex any system
    becomes, the more likely it is to have vulnerabilities and points of
    failure...



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to chrisq on Tue Apr 30 18:00:11 2024
    On 30/04/2024 17:36, chrisq wrote:
    On 4/30/24 06:23, motk wrote:
    On 28/04/2024 8:57 pm, chrisq wrote:

    [absolute nonsense]

    OK, you should probably just not express any opinions here. You're
    clearly beyond the horizon.


    So, what did you disagree with in what was written, or perhaps you
    think large corporations are full of altruistic love first, rather
    than grasping for profit ?. Just having a fit is not a valid
    response :-).

    Anyway, didn't red hat sell out to ibm just recently, and didn't
    pottying go to work for Microsoft ?.


    IBM completed the purchase of Red Hat in 2019

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to motk on Tue Apr 30 18:50:55 2024
    On 4/30/24 06:15, motk wrote:
    On 28/04/2024 2:13 am, chrisq wrote:

    If you had ever worked on serious system design, you would realise
    that reliable system design depends on strict partitioning and
    encapsulation. Layered functionality, with defined interfaces.
    Strangely  enough, but "elegance" really does apply in many such
    cases, and is what many software engineers strive for.

    Plan9 has ruined so many brains.


    Never even looked at plan 9.


    Nice veiled insult, I guess?

    Apparently, even defensive paranoids have real enemies :-).



    It really sounds like you just need to sit down, read the
    documentation
    from the systemd and distro side, and work out what works for you.
    Sitting around carping at what is now an established industry standard >>  > because 'elegance' isn't how I choose to spend my time.

    No, I don't need to sit down and spend hours reading docs on
    something I don't need for my work and that is wrong by design,
    though I guess design elegance does depend on personal opinion.

    You sure have plenty of opinions to chuck over the fence though.


    That's what tech debate is about. As an aside, had a quick look at some
    sources for the network section of systemd. networkctl.c starts off
    by loading > 70 header (.h) files and the total number of source files
    well over 100. Really, just for networking ?. No comments to be
    seen anywhere either, though perhaps that's the fashion these days.
    3000 lines of source, 116 Kbytes.

    If that sort of thing doesn't qualify as being bloatware, then what
    does ?, and that's just the tip of the iceberg.

    Mainstream Linux will end up just a pile of complex, opaque goop, just
    like windoze. Thankfully, there are alternatives...



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Tue Apr 30 22:57:43 2024
    On Sun, 28 Apr 2024 11:57:13 +0100, chrisq wrote:

    It's quite clear that what is driving the adoption of systemd is
    corporate interests ...

    Fun fact: Lennart had to convince Red Hat management about the worth of systemd. Initially they were not keen.

    ... that want / need a unified system management framework.

    So you admit that systemd is such a “unified system management framework”? And that such did not exist before?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Tue Apr 30 23:04:02 2024
    On Tue, 30 Apr 2024 18:50:55 +0100, chrisq wrote:

    Really, just for networking ?

    You seem to have a very simplistic idea of what “networking” is all
    about. Maybe, given the group we’re in, your experience dates from, I
    don’t know, DECnet days? Netware, maybe?

    Here’s the kind of stuff we have to deal with in a modern network
    stack: <https://www.freedesktop.org/software/systemd/man/latest/systemd.netdev.html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Tue Apr 30 23:04:47 2024
    On Sat, 27 Apr 2024 22:37:04 -0400, Arne Vajhøj wrote:

    On 4/27/2024 10:15 PM, Lawrence D'Oliveiro wrote:
    On Sat, 27 Apr 2024 09:10:14 -0400, Arne Vajhøj wrote:

    I suspect docker is a good example of something that require a real
    Linux kernel.

    Microsoft were trying to implement Docker natively on Windows at one
    point; wonder why they gave up?

    Docker for Windows is available.

    It’s a dead product. Microsoft stopped recommending it for new deployments
    a long while ago.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Tue Apr 30 22:56:17 2024
    On Sun, 28 Apr 2024 12:22:03 +0100, chrisq wrote:

    The way that so much of the unix infrastructure has been replaced,
    coercing the system to suit the needs of systemd ...

    For example?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to John Dallman on Wed May 1 01:16:50 2024
    John Dallman <jgd@cix.co.uk> wrote:
    In article <v0lm82$2gs$1@panix2.panix.com>, kludge@panix.com (Scott
    Dorsey) wrote:

    Yes! And the odds are that if I got your binary distribution I
    could probably make it run fine on Slackware (without systemd)
    after spending an afternoon or two playing with libraries and
    moving files around. Because Linux distributions don't vary
    THAT much.

    But, were I to do that, if I called you for support on your
    software and explained I was running it on Slackware, the odds
    are that the first thing you would do would be to tell me to
    move it to a supported RH system.

    I can do better than that. Assuming Distrowatch's page on Slackware is >accurate, I can tell you that it should run on Slackware 15.0 or later
    and definitely won't run on 14.2 or earlier. That much, I can get from
    the glibc and gcc versions.

    If it won't run for you on 15.0 or later, then I'll ask you to try a RHEL >work-alike, to eliminate the possibility that it's something about your
    local setup.

    If it works on Rocky and not on Slackware 15.0, then I'll start asking
    more detailed questions and getting a Slackware VM set up.

    All I can say is that you're a lot more helpful toward customers than the
    folks at Mathworks are.... and I suspect you are linking in a lot fewer libraries than their bloated code does.
    --scott

    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to Dorsey on Wed May 1 09:29:00 2024
    In article <v0s562$ehh$1@panix2.panix.com>, kludge@panix.com (Scott
    Dorsey) wrote:

    All I can say is that you're a lot more helpful toward customers
    than the folks at Mathworks are....

    I'm supplying mathematical modelling libraries to ISVs. I have to be
    reasonably helpful.

    and I suspect you are linking in a lot fewer libraries than
    their bloated code does.

    You're right. I'm only using glibc and the GCC language run-times. It
    makes life a lot simpler.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to John Dallman on Wed May 1 08:27:41 2024
    On 5/1/2024 4:29 AM, John Dallman wrote:
    In article <v0s562$ehh$1@panix2.panix.com>, kludge@panix.com (Scott
    Dorsey) wrote:
    All I can say is that you're a lot more helpful toward customers
    than the folks at Mathworks are....

    I'm supplying mathematical modelling libraries to ISVs. I have to be reasonably helpful.

    and I suspect you are linking in a lot fewer libraries than
    their bloated code does.

    You're right. I'm only using glibc and the GCC language run-times. It
    makes life a lot simpler.

    No BLAS, LAPACK, Octave etc.?

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to All on Wed May 1 21:36:00 2024
    In article <v0tcft$35i5j$1@dont-email.me>, arne@vajhoej.dk (Arne Vajhj)
    wrote:
    On 5/1/2024 4:29 AM, John Dallman wrote:
    In article <v0s562$ehh$1@panix2.panix.com>, kludge@panix.com
    I'm supplying mathematical modelling libraries to ISVs. I have to
    be reasonably helpful.

    and I suspect you are linking in a lot fewer libraries than
    their bloated code does.
    You're right. I'm only using glibc and the GCC language
    run-times. It makes life a lot simpler.

    No BLAS, LAPACK, Octave etc.?

    Nope. Not that kind of modelling.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Fri May 3 13:05:18 2024
    On 4/30/24 23:56, Lawrence D'Oliveiro wrote:
    On Sun, 28 Apr 2024 12:22:03 +0100, chrisq wrote:

    The way that so much of the unix infrastructure has been replaced,
    coercing the system to suit the needs of systemd ...

    For example?

    Normally run FreeBSD for development, but needed to run a current
    version of Linux, to test against an open source project, that
    it would build and run without issue. Installed latest Xubuntu and
    Debian, both of which operate under systemd, with no opout at
    install time. Also, that it would build and run under cygwin
    windows.

    All looks good at desktop level, but the networking config didn't
    stick without a reboot, and things like ifconfig, ntp, inetd and
    other stuff was missing. It's also not clear how to remove the
    systemd stuff, without affecting things like eg: the desktop gui,
    so yes, a lot load of stuff under the hood that I don't need.
    Here, less is more and the simplest possible system will always
    be the most reliable, so long as the essentials are there.

    If you like it, use it, but looks like a load of cack to me, and
    see the other reply to you post about the sources and system
    design in general...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to All on Fri May 3 13:03:04 2024
    Well, your assumptions illustrate your own background, which was
    perhaps python or web weeny programming, where anything goes, but
    perhaps, like you, assuming too much ?. Years since vms here, around
    5.4, but even then, never liked decnet and had third party tcp/ip app installed. However, VMS and some others, eg: Solaris, were designed
    and implemented from classic software engineering principles, which
    accounts for their reliability, whatever their other failings.

    Real time embedded background here, where 3000 line source files
    and 70 odd header includes would not pass muster anywhere. It shows
    complete disregard for system design structure and hierarchy. The file mentioned, the first looked at, was pulled because of experience of
    network programming. But, how does one write a test harness for such
    a module ?, or carry out any serious testing, other than, "it seems
    to work, so ship it" ?. Where is the doc that describes how it all
    works, in detail, flow / state charts etc, so some poor sop can
    maintain it in the future at minimum cost ?.

    The requirements for software engineering are different from
    web weeny programming. Modules tend to be small, so that test harness
    can be written to verify them. Depending on application area, not
    always done, but there has to be some process to ensure code quality,
    and compliance with original system spec.

    Software development costs often dwarf project budgets and ongoing
    maintenance can cost multiple times initial development
    costs, so it's the duty of the original designer and programmer to
    document the code, including commentary within. Yes, it's the fashion
    to write commentless code these days, but just lazyness, or in some
    cases, intentional obfustication to hide internal workings or hacks.
    Well designed systems and modules hide functionality, minimise cross dependencies, and typically need few includes. I guess that's a
    lost cause with Linux, which seems to pull in dozens of seemingly
    unrelated packages at times, because of opaque cross dependencies.
    How that sort of thing is debugged and proven is anybody's guess.

    tldr: In short, systemd looks like a cess pit of hacks, but go
    on, try to defend it if you will. Just what is the usp for such an
    idea ?.


    Here’s the kind of stuff we have to deal with in a modern network
    stack:

    <https://www.freedesktop.org/software/systemd/man/latest/systemd.netdev.html>

    Deflection and excuses, failing to address the issues raised...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to chrisq on Fri May 3 09:10:00 2024
    On 5/3/2024 8:57 AM, chrisq wrote:
    On 4/30/24 18:00, Chris Townley wrote:
    On 30/04/2024 17:36, chrisq wrote:
    Anyway, didn't red hat sell out to ibm just recently, and didn't
    pottying go to work for Microsoft ?.


    IBM completed the purchase of Red Hat in 2019

    Thanks, no doubt some cooperation long before that, just as red hat
    are also connected to Oracle for their Linux offering.

    I think Oracle is more connected to Redhat than Redhat is connected
    to Oracle.

    :-)

    Oracle Linux is another RHEL clone, so Oracle obviously like Redhat.

    Redhat is not so happy with the cloners. And if I were to guess
    then they are more angry with Oracle a multi B$ company than with
    Rocky a very small company.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Chris Townley on Fri May 3 13:57:43 2024
    On 4/30/24 18:00, Chris Townley wrote:
    On 30/04/2024 17:36, chrisq wrote:
    On 4/30/24 06:23, motk wrote:
    On 28/04/2024 8:57 pm, chrisq wrote:

    [absolute nonsense]

    OK, you should probably just not express any opinions here. You're
    clearly beyond the horizon.


    So, what did you disagree with in what was written, or perhaps you
    think large corporations are full of altruistic love first, rather
    than grasping for profit ?. Just having a fit is not a valid
    response :-).

    Anyway, didn't red hat sell out to ibm just recently, and didn't
    pottying go to work for Microsoft ?.


    IBM completed the purchase of Red Hat in 2019


    Thanks, no doubt some cooperation long before that, just as red hat
    are also connected to Oracle for their Linux offering.

    As Linux becomes aver more absorbed by commercial interests,
    expect far less transperency and more control...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to chrisq on Fri May 3 10:16:43 2024
    On 5/3/2024 8:03 AM, chrisq wrote:

    Yes, it's the fashion
    to write commentless code these days,

    Since when?

    If so, then things are worse than I could imagine.

    The end of the world, caused by a bugcheck?

    Something like that was mentioned at DECUS maybe 40 years ago. But we're still here today ...

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dave Froble on Fri May 3 11:41:47 2024
    On 5/3/2024 10:16 AM, Dave Froble wrote:
    On 5/3/2024 8:03 AM, chrisq wrote:
     Yes, it's the fashion
    to write commentless code these days,

    Since when?

    If so, then things are worse than I could imagine.

    I will claim that the "recommended approach"
    today actually is to use comments.

    Clean Code, Code Complete etc..

    Note though that there is a strong focus on useful
    comments vs useless comments.

    Useless comments are comments that explains what
    the code does, but if the reader knows the programming
    language, then those are redundant because the code
    already provide that information, and they are in fact
    bad because they clutter up the code.

    Useful comments are comments that explain why the code
    does what it does.

    Super simple example useless:

    // add 1 to ix
    ix = ix + 1

    Super simple example useful:

    // skip separating comma
    ix = ix + 1

    But "recommended approach" and "used everywhere" are
    of course two different things.

    In general the overall picture of software quality is
    very mixed. Some good, a lot ok and some bad. Maybe
    even a lot bad.

    The number of software developers has increased x10 or more.
    And no surprise the average skill level of 30 million
    software developers are lower than than of 3 million software
    developers.

    Current fashions in development methodologies does not
    favor strict processes.

    There may also be a generational thing of "I will do as
    I am told" vs "I will do as I want to".

    So in the real world some write useless comments because
    they don't know better, some write no comments because
    they can get away with it and some write no comments
    because the feel very cool by proclaiming that
    "code should be self-explanatory".

    And some still write useful comments because they got it.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to All on Fri May 3 13:17:36 2024
    On 5/3/2024 11:41 AM, Arne Vajhøj wrote:
    On 5/3/2024 10:16 AM, Dave Froble wrote:
    On 5/3/2024 8:03 AM, chrisq wrote:
    Yes, it's the fashion
    to write commentless code these days,

    Since when?

    If so, then things are worse than I could imagine.

    I will claim that the "recommended approach"
    today actually is to use comments.

    Clean Code, Code Complete etc..

    Note though that there is a strong focus on useful
    comments vs useless comments.

    Useless comments are comments that explains what
    the code does, but if the reader knows the programming
    language, then those are redundant because the code
    already provide that information, and they are in fact
    bad because they clutter up the code.

    Useful comments are comments that explain why the code
    does what it does.

    Super simple example useless:

    // add 1 to ix
    ix = ix + 1

    Super simple example useful:

    // skip separating comma
    ix = ix + 1

    But "recommended approach" and "used everywhere" are
    of course two different things.

    In general the overall picture of software quality is
    very mixed. Some good, a lot ok and some bad. Maybe
    even a lot bad.

    The number of software developers has increased x10 or more.
    And no surprise the average skill level of 30 million
    software developers are lower than than of 3 million software
    developers.

    Current fashions in development methodologies does not
    favor strict processes.

    There may also be a generational thing of "I will do as
    I am told" vs "I will do as I want to".

    So in the real world some write useless comments because
    they don't know better, some write no comments because
    they can get away with it and some write no comments
    because the feel very cool by proclaiming that
    "code should be self-explanatory".

    And some still write useful comments because they got it.

    Arne


    Well, we've now endured weeks of discussion about Unix, Linux, systemd, and such, on c.o.v, so while the following could be considered rather verbose, I'm not going to feel the following is useless spamming of the group.

    :-)

    The following is some snippets from what was basically a research program, and I
    consider commenting such should be rather terse. For production programs I'd want a lot more.


    First, declare the purpose. Shouldn't this always be done?

    !********************************************************************
    !
    ! Program: TCP_PEEK.BAS
    ! Function: Test Using TCP/IP Sockets as a Listener
    ! Version: 1.00
    ! Created: 01-Dec-2011
    ! Author(s): DFE
    !
    ! Purpose/description:
    !
    ! This program will set up TCP/IP sockets to allow
    ! itself to listen for connection requests. When
    ! a connection request is received, this program
    ! will accept the connection, and then attempt to
    ! PEEK the message, ie; read it but leave it available
    ! to be re-read.
    !
    !********************************************************************

    When using custom defined structures, it might be nice to know what they will be
    used for.

    !**************************************************
    ! Declare Variables of User Defined Structures
    !**************************************************

    DECLARE IOSB_STRUCT IOSB, ! I/O status blk &
    ITEMLIST_2 SERVER.ITEMLST, ! Server item list &
    ITEMLIST_2 SOCKOPT.ITEMLST, ! Socket options list &
    ITEMLIST_2 REUSEADR.ITEMLST, ! Reuse adr list &
    ITEMLIST_3 CLIENT.ITEMLST, ! Client item list &
    SOCKET_OPTIONS LISTEN.OPTN, ! Socket options &
    SOCK_ADDR CLIENT.ADR, ! Client IP adr/port &
    SOCK_ADDR SERVER.ADR, ! Server IP adr/port &
    BUFF CLIENT.NAME, ! Client name buffer &
    BUFF SERVER.NAME, ! Server name buffer &
    IP_ADR IP, ! Ip address &
    BUFF MSG ! Message buffer

    I consider the following rather terse. Either the programmer knows how to use system services, or perhaps remedial training is called for.

    !**************************************************
    ! Assign channels to 'TCPIP$DEVICE:'
    !**************************************************

    Dev$ = "TCPIP$DEVICE:"

    Stat% = SYS$ASSIGN( Dev$ , ListenCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign listener channel - "; E$
    GoTo 4900
    End If

    Print #KB%, "Internal VMS channel for listener socket:"; ListenCh%

    Stat% = SYS$ASSIGN( Dev$ , ClientCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign client channel - "; E$
    GoTo 4900
    End If

    However, when details might be helpful, there is usually never too much.

    !**************************************************
    ! Create Listener socket
    ! Bind server's IP address and port # to listener
    ! socket, set socket as a passive socket
    ! Note: we used to do this in 2 calls, but can be combined
    !**************************************************

    LISTEN.OPTN::PROTOCOL% = TCPIP$C_TCP ! Listener socket optn
    LISTEN.OPTN::TYP$ = Chr$(TCPIP$C_STREAM)
    LISTEN.OPTN::AF$ = Chr$(TCPIP$C_AF_INET)

    SOCKOPT.ITEMLST::LEN% = 8% ! Socket options buffer
    SOCKOPT.ITEMLST::TYP% = TCPIP$C_SOCKOPT
    SOCKOPT.ITEMLST::ADR% = Loc(REUSEADR.ITEMLST::Len%)

    REUSEADR.ITEMLST::LEN% = 4% ! Reuse adr (port #)
    REUSEADR.ITEMLST::TYP% = TCPIP$C_REUSEADDR
    REUSEADR.ITEMLST::ADR% = Loc(ReuseAdrVal%)

    ReuseAdrVal% = 1% ! Set to 'True'

    SERVER.ITEMLST::LEN% = 16% ! Server item list
    SERVER.ITEMLST::TYP% = TCPIP$C_SOCK_NAME
    SERVER.ITEMLST::ADR% = Loc(SERVER.ADR::Fam%)

    SERVER.ADR::Fam% = TCPIP$C_AF_INET ! Server Ip adr/port
    SERVER.ADR::PORT% = SWAP%(ServerPort%)
    SERVER.ADR::IP.ADR% = TCPIP$C_INADDR_ANY
    SERVER.ADR::ZERO1% = 0%
    SERVER.ADR::ZERO2% = 0%

    BACKLOG% = 1%

    Stat% = SYS$QIOW( , ! Event flag &
    ListenCh% By Value, ! VMS channel &
    IO$_SETCHAR By Value, ! Operation &
    IOSB::Stat%, ! I/O status block &
    , ! AST routine &
    , ! AST parameter &
    LISTEN.OPTN::Protocol%, ! P1 &
    , ! P2 &
    SERVER.ITEMLST::Len%, ! P3 - local socket nam
    e &
    BACKLOG% By Value, ! P4 - connection backl
    og &
    SOCKOPT.ITEMLST::Len%, ! P5 - socket options &
    ) ! P6

    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to queue create and bind listener socket - "
    ; E$
    GoTo 4900
    End If

    If ( IOSB::Stat% And SS$_NORMAL ) = 0%
    Then Stat% = IOSB::Stat%
    E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to create and bind listener socket - "; E$
    GoTo 4900
    End If

    My opinion is, the above is essential, without it, there would be much studying of code, wondering what is being referenced, and such. I always use one line for each argument in a QIO and such, which makes it very clear what is happening. Without that, even the best will still have some "fun" reading the code to figure out what is happening.

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to All on Fri May 3 18:42:00 2024
    In article <v12nn8$i674$1@dont-email.me>, arne@vajhoej.dk (Arne Vajhj)
    wrote:

    Oracle Linux is another RHEL clone, so Oracle obviously like Redhat.

    Redhat is not so happy with the cloners. And if I were to guess
    then they are more angry with Oracle a multi B$ company than with
    Rocky a very small company.

    Oracle gets money that would otherwise likely go to Red Hat; their Linux
    isn't a whole lot cheaper than RHEL, whereas Rocky and Alma are free.

    Oracle are members of the recently formed Open Enterprise Linux Alliance,
    along with CIQ (who produce Rocky) and SUSE.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to davef@tsoft-inc.com on Sat May 4 01:04:22 2024
    In article <v1366u$lf87$1@dont-email.me>,
    Dave Froble <davef@tsoft-inc.com> wrote:
    :-)

    The following is some snippets from what was basically a research program, and I
    consider commenting such should be rather terse. For production programs I'd >want a lot more.

    I hope you won't mind some feedback?

    Overall, there's a concept of, "too much of a good thing."

    First, declare the purpose. Shouldn't this always be done?

    Yes, but see below.

    !********************************************************************
    !

    What does the line of asterisks buy you?

    ! Program: TCP_PEEK.BAS

    Why do you need this? Is it not in a file that is already
    named, "TCP_PEEK.BAS"? What do you get by repeating it in the
    file itself?

    ! Function: Test Using TCP/IP Sockets as a Listener
    ! Version: 1.00
    ! Created: 01-Dec-2011
    ! Author(s): DFE

    Why the elaborate formatting of this front matter? What does
    some of it even mean? How did you decide that this was version
    1.00, for example? (Something like semver is much more useful
    than an arbitrary major.minor here.) Is the creation date
    useful versus, say, the last modification date?

    Moreover, where do you record the history of the module?
    Knowing how code has evolved over time can be very useful.

    Frankly, all of this is metadata, which is better captured in a
    revision control system than in comments at the top of a file,
    which can easily get out of date over time.

    !
    ! Purpose/description:

    Well, which is it?

    !
    ! This program will set up TCP/IP sockets to allow
    ! itself to listen for connection requests. When
    ! a connection request is received, this program
    ! will accept the connection, and then attempt to
    ! PEEK the message, ie; read it but leave it available
    ! to be re-read.

    This is good, but honestly, kind of all you need at the top of
    the file.

    When using custom defined structures, it might be nice to know what they will be
    used for.

    !**************************************************
    ! Declare Variables of User Defined Structures
    !**************************************************

    DECLARE IOSB_STRUCT IOSB, ! I/O status blk &
    ITEMLIST_2 SERVER.ITEMLST, ! Server item list &
    ITEMLIST_2 SOCKOPT.ITEMLST, ! Socket options list &
    ITEMLIST_2 REUSEADR.ITEMLST, ! Reuse adr list &
    ITEMLIST_3 CLIENT.ITEMLST, ! Client item list &
    SOCKET_OPTIONS LISTEN.OPTN, ! Socket options &
    SOCK_ADDR CLIENT.ADR, ! Client IP adr/port &
    SOCK_ADDR SERVER.ADR, ! Server IP adr/port &
    BUFF CLIENT.NAME, ! Client name buffer &
    BUFF SERVER.NAME, ! Server name buffer &
    IP_ADR IP, ! Ip address &
    BUFF MSG ! Message buffer

    I don't think that these comments are useful at all, with the
    possible exception of the one on IOSB. These comments just
    parrot the code. If I saw, "SOCKOPT.ITEMLIST" how is it not
    obvious that that is a, "Socket options list"? Note also that
    the comment omits the fact that it's an item list, which is a
    specific thing, rather than just a generic list. Half of the
    item lists are annotated as item lists in the comments, but
    the other half are not.

    I consider the following rather terse. Either the programmer knows how to use >system services, or perhaps remedial training is called for.

    !**************************************************
    ! Assign channels to 'TCPIP$DEVICE:'
    !**************************************************

    Dev$ = "TCPIP$DEVICE:"

    Stat% = SYS$ASSIGN( Dev$ , ListenCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign listener channel - "; E$
    GoTo 4900
    End If

    Print #KB%, "Internal VMS channel for listener socket:"; ListenCh%

    Stat% = SYS$ASSIGN( Dev$ , ClientCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign client channel - "; E$
    GoTo 4900
    End If

    It's also rather repetitive. It'd be better to wrap assignment
    in some kind of helper function, IMHO. Without knowing more
    about VMS BASIC, however, it's difficult to tell whether one
    could do much better.

    However, when details might be helpful, there is usually never too much.

    !**************************************************
    ! Create Listener socket
    ! Bind server's IP address and port # to listener
    ! socket, set socket as a passive socket

    I'm not sure this comment is accurate: it appears that most of
    what this code is doing until the $QIOW is setting up data for
    the $QIOW. Something like this may be more useful:

    ! Initialize IOSB data for listener socket creation,
    ! then create the socket and bind it to the server's
    ! IP address with the given port number.

    ! Note: we used to do this in 2 calls, but can be combined

    Grammar: "but they were combined." Again, we see how missing
    the history can lead to questions: why were they combined, and
    when? Is that better somehow, other than the general principle
    of doing less work?

    !**************************************************

    LISTEN.OPTN::PROTOCOL% = TCPIP$C_TCP ! Listener socket optn
    LISTEN.OPTN::TYP$ = Chr$(TCPIP$C_STREAM)
    LISTEN.OPTN::AF$ = Chr$(TCPIP$C_AF_INET)

    SOCKOPT.ITEMLST::LEN% = 8% ! Socket options buffer
    SOCKOPT.ITEMLST::TYP% = TCPIP$C_SOCKOPT
    SOCKOPT.ITEMLST::ADR% = Loc(REUSEADR.ITEMLST::Len%)

    REUSEADR.ITEMLST::LEN% = 4% ! Reuse adr (port #)
    REUSEADR.ITEMLST::TYP% = TCPIP$C_REUSEADDR
    REUSEADR.ITEMLST::ADR% = Loc(ReuseAdrVal%)

    ReuseAdrVal% = 1% ! Set to 'True'

    SERVER.ITEMLST::LEN% = 16% ! Server item list
    SERVER.ITEMLST::TYP% = TCPIP$C_SOCK_NAME
    SERVER.ITEMLST::ADR% = Loc(SERVER.ADR::Fam%)

    SERVER.ADR::Fam% = TCPIP$C_AF_INET ! Server Ip adr/port
    SERVER.ADR::PORT% = SWAP%(ServerPort%)
    SERVER.ADR::IP.ADR% = TCPIP$C_INADDR_ANY
    SERVER.ADR::ZERO1% = 0%
    SERVER.ADR::ZERO2% = 0%

    BACKLOG% = 1%

    Stat% = SYS$QIOW( , ! Event flag &
    ListenCh% By Value, ! VMS channel &
    IO$_SETCHAR By Value, ! Operation &
    IOSB::Stat%, ! I/O status block &
    , ! AST routine &
    , ! AST parameter &
    LISTEN.OPTN::Protocol%, ! P1 &
    , ! P2 &
    SERVER.ITEMLST::Len%, ! P3 - local socket nam
    e &
    BACKLOG% By Value, ! P4 - connection backl
    og &
    SOCKOPT.ITEMLST::Len%, ! P5 - socket options &
    ) ! P6

    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to queue create and bind listener socket - "
    ; E$
    GoTo 4900
    End If

    If ( IOSB::Stat% And SS$_NORMAL ) = 0%
    Then Stat% = IOSB::Stat%
    E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to create and bind listener socket - "; E$
    GoTo 4900
    End If

    My opinion is, the above is essential, without it, there would be much studying
    of code, wondering what is being referenced, and such. I always use one line >for each argument in a QIO and such, which makes it very clear what is >happening. Without that, even the best will still have some "fun" reading the
    code to figure out what is happening.

    I agree that well-commented code is useful.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to arne@vajhoej.dk on Sat May 4 00:38:16 2024
    In article <v130js$k7o6$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 5/3/2024 10:16 AM, Dave Froble wrote:
    On 5/3/2024 8:03 AM, chrisq wrote:
     Yes, it's the fashion
    to write commentless code these days,

    Since when?

    If so, then things are worse than I could imagine.

    I will claim that the "recommended approach"
    today actually is to use comments.

    Clean Code,

    Clean Code specifically suggests that comments should be
    avoided. I believe he wrote that he considers comments, "a
    failure." Of course, that's Robert Martin, who knows very
    little and is a mediocre programmer, so take anything that he
    says with a very large dose of salt.

    Code Complete etc..

    Note though that there is a strong focus on useful
    comments vs useless comments.

    Useless comments are comments that explains what
    the code does, but if the reader knows the programming
    language, then those are redundant because the code
    already provide that information, and they are in fact
    bad because they clutter up the code.

    As with most generalities, this is true most of the time, but
    not all of the time.

    When an implementation is not obvious, has very subtle
    side-effects, or uses a very complex algorithm, it can be very
    useful to explain _what_ the code does. But that's very
    different than obviously parroting the code as in the, "add one
    to x" example that always pops up when this subject comes up.

    Useful comments are comments that explain why the code
    does what it does.
    See above.

    [snip]
    // skip separating comma
    ix = ix + 1

    Perhaps. But it may be possible to write this in a way that is
    much more obvious, without the comment. Here, given context we
    may assume that, `ix` is some kind of index into a buffer that
    contains string data. In this case, we may be able to write
    something like this:

    size_t
    advance_if_char_matches(const *buffer, size_t index, char ch)
    {
    if (buffer[index] == ch)
    index++;
    return index;
    }

    // ...
    ix = advance_if_char_matches(str, ix, ',');

    I think it's less obvious, but some C programmers might write
    something like:

    Lexical analyzers in compilers frequently use code like this to
    advance state when matching lexemes. Parsers do something
    similar when matching tokens.

    Even better, of course, would be to use languages that don't
    require integer-indexed strings.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat May 4 02:08:10 2024
    On Fri, 3 May 2024 13:05:18 +0100, chrisq wrote:

    On 4/30/24 23:56, Lawrence D'Oliveiro wrote:

    On Sun, 28 Apr 2024 12:22:03 +0100, chrisq wrote:

    The way that so much of the unix infrastructure has been replaced,
    coercing the system to suit the needs of systemd ...

    For example?

    Normally run FreeBSD for development, but needed to run a current
    version of Linux, to test against an open source project, that it would
    build and run without issue. Installed latest Xubuntu and Debian, both
    of which operate under systemd, with no opout at install time.

    So why didn’t you try a distro that didn’t have systemd?

    All looks good at desktop level, but the networking config didn't stick without a reboot, and things like ifconfig, ntp, inetd and other stuff
    was missing.

    ifconfig was superseded by the iproute2 suite years ago, nothing to do
    with systemd. But of course systemd builds on that work--why reinvent the wheel?

    And also inetd is one of the many pieces of legacy baggage superseded by systemd. systemd offers a much more modular way of managing individual services--either get used to it, or go use something else. The choice, as always, is up to you.

    It's also not clear how to remove the systemd stuff ...

    It’s called “building your own distro”. Go learn from the experts before attempting this sort of activity yourself.

    Have you tried the “Linux From Scratch” course?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Dan Cross on Fri May 3 21:25:05 2024
    On 5/3/2024 8:38 PM, Dan Cross wrote:
    In article <v130js$k7o6$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 5/3/2024 10:16 AM, Dave Froble wrote:
    On 5/3/2024 8:03 AM, chrisq wrote:
     Yes, it's the fashion
    to write commentless code these days,

    Since when?

    If so, then things are worse than I could imagine.

    I will claim that the "recommended approach"
    today actually is to use comments.

    Clean Code,

    Clean Code specifically suggests that comments should be
    avoided. I believe he wrote that he considers comments, "a
    failure."

    That is not an accurate description of what Clean Code
    says.

    He does say that:

    "The proper use of comments is to compensate for our failure
    to express ourself in code. Note that I use the word failure."

    But on the next page he opens up with:

    "Some comments are necessary or beneficial."

    And move on with some examples where he does see value in
    comments.

    So Clean Code does not suggest that comments should be
    avoided. It just say that if well written code can make
    a comment unnecessary then it is better.

    Of course, that's Robert Martin, who knows very
    little and is a mediocre programmer, so take anything that he
    says with a very large dose of salt.

    Ever wondered what Robert Martin think about you?

    :-)

    Note though that there is a strong focus on useful
    comments vs useless comments.

    Useless comments are comments that explains what
    the code does, but if the reader knows the programming
    language, then those are redundant because the code
    already provide that information, and they are in fact
    bad because they clutter up the code.

    As with most generalities, this is true most of the time, but
    not all of the time.

    When an implementation is not obvious, has very subtle
    side-effects, or uses a very complex algorithm, it can be very
    useful to explain _what_ the code does. But that's very
    different than obviously parroting the code as in the, "add one
    to x" example that always pops up when this subject comes up.

    Useful comments are comments that explain why the code
    does what it does.
    See above.

    An algorithm description should be more a "why" than a "what".

    [snip]
    // skip separating comma
    ix = ix + 1

    Perhaps. But it may be possible to write this in a way that is
    much more obvious, without the comment. Here, given context we
    may assume that, `ix` is some kind of index into a buffer that
    contains string data. In this case, we may be able to write
    something like this:

    size_t
    advance_if_char_matches(const *buffer, size_t index, char ch)
    {
    if (buffer[index] == ch)
    index++;
    return index;
    }

    // ...
    ix = advance_if_char_matches(str, ix, ',');

    If the conditional aspect increases robustness and the function
    will be used more than one place, then it is all good.

    But it does not change much for the comment.

    // skip separating comma if present
    ix = advance_if_char_matches(str, ix, ',');

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat May 4 02:09:18 2024
    On Fri, 3 May 2024 13:57:43 +0100, chrisq wrote:

    As Linux becomes aver more absorbed by commercial interests, expect far
    less transperency and more control...

    “Linux” ≠ “Red Hat”

    Open Source is all about choice. But you have to go looking for that
    choice, don’t expect someone to dump it in your lap.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sat May 4 02:14:56 2024
    On Fri, 3 May 2024 13:03:04 +0100, chrisq wrote:

    On Tue, 30 Apr 2024 23:04:02 -0000 (UTC), Lawrence D'Oliveiro wrote:

    On Tue, 30 Apr 2024 18:50:55 +0100, chrisq wrote:

    Really, just for networking ?

    You seem to have a very simplistic idea of what “networking” is all
    about. Maybe, given the group we’re in, your experience dates from, I
    don’t know, DECnet days? Netware, maybe?

    Here’s the kind of stuff we have to deal with in a modern network stack: >> <https://www.freedesktop.org/software/systemd/man/latest/systemd.netdev.html>

    [blah blah blah]

    Real time embedded background here ...

    [blah blah blah]

    Nope, not a thing related to networking in there that I can see. Just
    a whole lot of bluster.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to John Dallman on Sat May 4 02:11:02 2024
    On Fri, 3 May 2024 18:42 +0100 (BST), John Dallman wrote:

    Oracle gets money that would otherwise likely go to Red Hat ...

    Interesting that they won’t offer their own ZFS next-generation filesystem product with it, preferring to bundle btrfs instead. Vote of confidence in
    your own product over rivals, much?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Sat May 4 02:24:58 2024
    On Fri, 3 May 2024 11:41:47 -0400, Arne Vajhøj wrote:

    Useful comments are comments that explain why the code
    does what it does.

    Absolutely agree. The key word is “why” the code does what it does, not “what” it does (which is trivially obvious from the code itself).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to arne@vajhoej.dk on Sat May 4 02:23:26 2024
    In article <v142pi$rkkc$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 5/3/2024 8:38 PM, Dan Cross wrote:
    In article <v130js$k7o6$1@dont-email.me>,
    Arne Vajhøj <arne@vajhoej.dk> wrote:
    On 5/3/2024 10:16 AM, Dave Froble wrote:
    On 5/3/2024 8:03 AM, chrisq wrote:
     Yes, it's the fashion
    to write commentless code these days,

    Since when?

    If so, then things are worse than I could imagine.

    I will claim that the "recommended approach"
    today actually is to use comments.

    Clean Code,

    Clean Code specifically suggests that comments should be
    avoided. I believe he wrote that he considers comments, "a
    failure."

    That is not an accurate description of what Clean Code
    says.

    He does say that:

    "The proper use of comments is to compensate for our failure
    to express ourself in code. Note that I use the word failure."

    But on the next page he opens up with:

    "Some comments are necessary or beneficial."

    And move on with some examples where he does see value in
    comments.

    So Clean Code does not suggest that comments should be
    avoided. It just say that if well written code can make
    a comment unnecessary then it is better.

    That's literally the definition of what "should be avoided"
    means in this context. Clean Code is a poorly written book full
    of bad advice; it's really best avoided.

    Of course, that's Robert Martin, who knows very
    little and is a mediocre programmer, so take anything that he
    says with a very large dose of salt.

    Ever wondered what Robert Martin think about you?

    Why would I care? He's not someone I think is significant
    enough to warrant my consideration. He'll certainly never make
    it into any of the places where I have worked or do work, so the
    odds of running into him professionally are essentially zero.

    :-)

    I do find it distressing how he has managed to make so many
    programmers fall for really bad programming advice.

    Note though that there is a strong focus on useful
    comments vs useless comments.

    Useless comments are comments that explains what
    the code does, but if the reader knows the programming
    language, then those are redundant because the code
    already provide that information, and they are in fact
    bad because they clutter up the code.

    As with most generalities, this is true most of the time, but
    not all of the time.

    When an implementation is not obvious, has very subtle
    side-effects, or uses a very complex algorithm, it can be very
    useful to explain _what_ the code does. But that's very
    different than obviously parroting the code as in the, "add one
    to x" example that always pops up when this subject comes up.

    Useful comments are comments that explain why the code
    does what it does.
    See above.

    An algorithm description should be more a "why" than a "what".

    For simple algorithms, sure. For things beyond surface-level
    complexity, it's really context dependent.

    [snip]
    // skip separating comma
    ix = ix + 1

    Perhaps. But it may be possible to write this in a way that is
    much more obvious, without the comment. Here, given context we
    may assume that, `ix` is some kind of index into a buffer that
    contains string data. In this case, we may be able to write
    something like this:

    size_t
    advance_if_char_matches(const *buffer, size_t index, char ch)
    {
    if (buffer[index] == ch)
    index++;
    return index;
    }

    // ...
    ix = advance_if_char_matches(str, ix, ',');

    If the conditional aspect increases robustness and the function
    will be used more than one place, then it is all good.

    But it does not change much for the comment.

    // skip separating comma if present
    ix = advance_if_char_matches(str, ix, ',');

    Sure. It's a contrived example. But I would suggest that this
    comment is much closer to parroting the code than the earlier
    snippet.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to Dan Cross on Fri May 3 22:46:31 2024
    On 5/3/2024 10:23 PM, Dan Cross wrote:

    So Clean Code does not suggest that comments should be
    avoided. It just say that if well written code can make
    a comment unnecessary then it is better.

    That's literally the definition of what "should be avoided"
    means in this context. Clean Code is a poorly written book full
    of bad advice; it's really best avoided.

    I've always believed that:

    Those who can, do ...
    Those who can't, teach ...
    Those who can't teach, write ...

    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Froble@21:1/5 to Dan Cross on Fri May 3 22:58:17 2024
    On 5/3/2024 9:04 PM, Dan Cross wrote:
    In article <v1366u$lf87$1@dont-email.me>,
    Dave Froble <davef@tsoft-inc.com> wrote:
    :-)

    The following is some snippets from what was basically a research program, and I
    consider commenting such should be rather terse. For production programs I'd
    want a lot more.

    Do consider the above ...

    I hope you won't mind some feedback?

    No problem. But some background. I came from an environment where strict programming practices were in effect. Certain things, such as the header of a program file, had a strict format to follow, and much of the text came from an IDE code generator. That allowed any support person to know where to look for information, and what to look for.

    Overall, there's a concept of, "too much of a good thing."

    First, declare the purpose. Shouldn't this always be done?

    Yes, but see below.

    !********************************************************************
    !

    What does the line of asterisks buy you?

    Strict formatting in every program. Important information was always highlighted.


    ! Program: TCP_PEEK.BAS

    Why do you need this? Is it not in a file that is already
    named, "TCP_PEEK.BAS"? What do you get by repeating it in the
    file itself?

    Doesn't hurt.

    ! Function: Test Using TCP/IP Sockets as a Listener
    ! Version: 1.00
    ! Created: 01-Dec-2011
    ! Author(s): DFE

    Why the elaborate formatting of this front matter? What does
    some of it even mean? How did you decide that this was version
    1.00, for example? (Something like semver is much more useful
    than an arbitrary major.minor here.) Is the creation date
    useful versus, say, the last modification date?

    For some, the first iteration of a program is version 1. I guess other standards could be used.

    Both dates can be useful.

    Moreover, where do you record the history of the module?
    Knowing how code has evolved over time can be very useful.

    I didn't show that. As I wrote, some snippets from a program, not the entire program.

    Frankly, all of this is metadata, which is better captured in a
    revision control system than in comments at the top of a file,
    which can easily get out of date over time.

    !
    ! Purpose/description:

    Well, which is it?

    Now, that's a bit too "picky" ...

    !
    ! This program will set up TCP/IP sockets to allow
    ! itself to listen for connection requests. When
    ! a connection request is received, this program
    ! will accept the connection, and then attempt to
    ! PEEK the message, ie; read it but leave it available >> ! to be re-read.

    This is good, but honestly, kind of all you need at the top of
    the file.

    When using custom defined structures, it might be nice to know what they will be
    used for.

    !**************************************************
    ! Declare Variables of User Defined Structures
    !**************************************************

    DECLARE IOSB_STRUCT IOSB, ! I/O status blk & >> ITEMLIST_2 SERVER.ITEMLST, ! Server item list &
    ITEMLIST_2 SOCKOPT.ITEMLST, ! Socket options list &
    ITEMLIST_2 REUSEADR.ITEMLST, ! Reuse adr list & >> ITEMLIST_3 CLIENT.ITEMLST, ! Client item list &
    SOCKET_OPTIONS LISTEN.OPTN, ! Socket options & >> SOCK_ADDR CLIENT.ADR, ! Client IP adr/port &
    SOCK_ADDR SERVER.ADR, ! Server IP adr/port &
    BUFF CLIENT.NAME, ! Client name buffer &
    BUFF SERVER.NAME, ! Server name buffer &
    IP_ADR IP, ! Ip address &
    BUFF MSG ! Message buffer

    I don't think that these comments are useful at all, with the
    possible exception of the one on IOSB. These comments just
    parrot the code. If I saw, "SOCKOPT.ITEMLIST" how is it not
    obvious that that is a, "Socket options list"? Note also that
    the comment omits the fact that it's an item list, which is a
    specific thing, rather than just a generic list. Half of the
    item lists are annotated as item lists in the comments, but
    the other half are not.

    I consider the following rather terse. Either the programmer knows how to use
    system services, or perhaps remedial training is called for.

    !**************************************************
    ! Assign channels to 'TCPIP$DEVICE:'
    !**************************************************

    Dev$ = "TCPIP$DEVICE:"

    Stat% = SYS$ASSIGN( Dev$ , ListenCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign listener channel - "; E$
    GoTo 4900
    End If

    Print #KB%, "Internal VMS channel for listener socket:"; ListenCh% >>
    Stat% = SYS$ASSIGN( Dev$ , ClientCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign client channel - "; E$
    GoTo 4900
    End If

    It's also rather repetitive. It'd be better to wrap assignment
    in some kind of helper function, IMHO. Without knowing more
    about VMS BASIC, however, it's difficult to tell whether one
    could do much better.

    However, when details might be helpful, there is usually never too much.

    !**************************************************
    ! Create Listener socket
    ! Bind server's IP address and port # to listener
    ! socket, set socket as a passive socket

    I'm not sure this comment is accurate: it appears that most of
    what this code is doing until the $QIOW is setting up data for
    the $QIOW. Something like this may be more useful:

    ! Initialize IOSB data for listener socket creation,
    ! then create the socket and bind it to the server's
    ! IP address with the given port number.

    ! Note: we used to do this in 2 calls, but can be combined

    Grammar: "but they were combined." Again, we see how missing
    the history can lead to questions: why were they combined, and
    when? Is that better somehow, other than the general principle
    of doing less work?

    !**************************************************

    LISTEN.OPTN::PROTOCOL% = TCPIP$C_TCP ! Listener socket optn
    LISTEN.OPTN::TYP$ = Chr$(TCPIP$C_STREAM)
    LISTEN.OPTN::AF$ = Chr$(TCPIP$C_AF_INET)

    SOCKOPT.ITEMLST::LEN% = 8% ! Socket options buffer
    SOCKOPT.ITEMLST::TYP% = TCPIP$C_SOCKOPT
    SOCKOPT.ITEMLST::ADR% = Loc(REUSEADR.ITEMLST::Len%)

    REUSEADR.ITEMLST::LEN% = 4% ! Reuse adr (port #)
    REUSEADR.ITEMLST::TYP% = TCPIP$C_REUSEADDR
    REUSEADR.ITEMLST::ADR% = Loc(ReuseAdrVal%)

    ReuseAdrVal% = 1% ! Set to 'True'

    SERVER.ITEMLST::LEN% = 16% ! Server item list >> SERVER.ITEMLST::TYP% = TCPIP$C_SOCK_NAME
    SERVER.ITEMLST::ADR% = Loc(SERVER.ADR::Fam%)

    SERVER.ADR::Fam% = TCPIP$C_AF_INET ! Server Ip adr/port
    SERVER.ADR::PORT% = SWAP%(ServerPort%)
    SERVER.ADR::IP.ADR% = TCPIP$C_INADDR_ANY
    SERVER.ADR::ZERO1% = 0%
    SERVER.ADR::ZERO2% = 0%

    BACKLOG% = 1%

    Stat% = SYS$QIOW( , ! Event flag &
    ListenCh% By Value, ! VMS channel &
    IO$_SETCHAR By Value, ! Operation &
    IOSB::Stat%, ! I/O status block &
    , ! AST routine &
    , ! AST parameter & >> LISTEN.OPTN::Protocol%, ! P1 &
    , ! P2 &
    SERVER.ITEMLST::Len%, ! P3 - local socket nam
    e &
    BACKLOG% By Value, ! P4 - connection backl
    og &
    SOCKOPT.ITEMLST::Len%, ! P5 - socket options &
    ) ! P6

    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to queue create and bind listener socket - "
    ; E$
    GoTo 4900
    End If

    If ( IOSB::Stat% And SS$_NORMAL ) = 0%
    Then Stat% = IOSB::Stat%
    E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to create and bind listener socket - "; E$
    GoTo 4900
    End If

    My opinion is, the above is essential, without it, there would be much studying
    of code, wondering what is being referenced, and such. I always use one line
    for each argument in a QIO and such, which makes it very clear what is
    happening. Without that, even the best will still have some "fun" reading the
    code to figure out what is happening.

    I agree that well-commented code is useful.

    - Dan C.



    --
    David Froble Tel: 724-529-0450
    Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
    DFE Ultralights, Inc.
    170 Grimplin Road
    Vanderbilt, PA 15486

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Sat May 4 02:26:45 2024
    On Fri, 3 May 2024 21:25:05 -0400, Arne Vajhøj wrote:

    "The proper use of comments is to compensate for our failure to express ourself in code. Note that I use the word failure."

    Like saying “the proper use of tools is to compensate for our failure to build all our technology with our bare hands. Note that I use the word failure”.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to Dave Froble on Sat May 4 07:50:46 2024
    On Fri, 2024-05-03 at 22:58 -0400, Dave Froble wrote:
    Why do you need this?  Is it not in a file that is already
    named, "TCP_PEEK.BAS"?  What do you get by repeating it in the
    file itself?

    Doesn't hurt.

    I wuill personally sh**t the next coder who put filenames into the
    source code. Refactoring files is a huge pain in the arse when renaming
    files as you also have to update the filename in the source code.
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to Lawrence D'Oliveiro on Sat May 4 07:57:40 2024
    On Sat, 2024-05-04 at 02:11 +0000, Lawrence D'Oliveiro wrote:
    Oracle gets money that would otherwise likely go to Red Hat ...

    Interesting that they won’t offer their own ZFS next-generation
    filesystem product with it, preferring to bundle btrfs instead. Vote
    of confidence in your own product over rivals, much?

    My experience with btrfs was awful. It's fortunate I only tested it and
    took backups, and it kept losing data. Turned to ZFS and it has been
    rock solid. Ten years.
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to ldo@nz.invalid on Sat May 4 13:56:17 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Fri, 3 May 2024 11:41:47 -0400, Arne Vajhøj wrote:

    Useful comments are comments that explain why the code
    does what it does.

    Absolutely agree. The key word is “why” the code does what it does, not >“what” it does (which is trivially obvious from the code itself).

    groovy:: ; do that groovy thing
    .call_entry max_args=33,home_args=true,preserve=<r3,r5>
    movl (ap),r3 ; boogity boogity boogity
    moval 4(ap),r5 ; yeah, you got it baby
    ret ; go back and do it again
    .psect idata,wrt,noexe,quad
    .align quad
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Sun May 5 01:37:17 2024
    On Sun, 28 Apr 2024 17:03:19 +1200, David Goodwin wrote:

    In article <v0kbcs$q4lf$4@dont-email.me>, ldo@nz.invalid says...

    You were the one who claimed it was “still supported”, not me. It is up >> to you to prove that point, if you can.

    Microsoft says its still supported. I don't see any reason to claim or believe otherwise without proof.

    Nope, all you’ve done is continue to insist that Microsoft’s PR weasel words still mean something, contrary to past experience.

    There are APIs to make something else work - the same APIs the Win32 Environment Subsystem uses. The main roadblock is almost certainly the
    fact the GUI that ships with the system is good enough and modifying it
    is far easier than starting from scratch.

    That is absolutely laughable to claim it is “good enough”, given the long- standing complaints about the inflexibility of the Windows GUI.

    Mount points as an alternative to drive letters--only work with NTFS. I
    think also system booting only works with NTFS.

    This is primarily because NTFS is the only filesystem that ships with
    windows that has the required features.

    Like I said, in Linux these are not “features” specific to the filesystem, they are implemented in the VFS layer. So they are able to work across different filesystems--even ones from the Windows world, where Windows
    itself is unable to support those features.

    Mounted folders are implemented using reparse points - the same feature
    used for hard links, symbolic links, junctions and other such things. I
    think these are stored as extended attributes or similar which are not supported by FAT.

    Why do you need on-disk attributes to store information about mount
    points?

    Those are all for network security, not local security. I?m talking
    about things like SELinux and AppArmor. And containers.

    As far as I can see most of what SELinux adds has been in Windows NT
    since version 3.1.

    You realize SELinux was created by the NSA? It offers military-strength role-based mandatory access control.

    Maybe Windows has something equivalent to one of the simpler LSMs, like
    maybe AppArmor. Not SELinux.

    How wonderful. So they (partially) reinvented GUI login display
    managers that *nix systems have had since the 1990s. Have they figured
    out how to add that little menu that offers you a choice of GUI
    environment to run, as well?

    They could put that menu there.

    Nobody could, apart from Microsoft. The GUI is not easily replaceable, remember.

    It also goes beyond what binfmt does.

    Does it indeed? Weren?t you making apologies about its limitations, due
    to its being 30 years old, elsewhere?

    No, I was not. And I think I've described NTs architecture more than
    enough at this point for you to know that binfmt is not the same concept
    as NTs Environment Subsystems.

    Ah, first you were claiming these “go beyond” binfmt, now you are trying
    to backpedal by saying they are somehow not comparable at all?

    Want to change your story yet again?

    I ported C-Kermit for Windows in about a day IIRC.

    Not sure why that?s relevant.

    You were implying the transition from 32bit to 64bit is not easy. From
    my experience this is not the case. I suspect you are just making
    assumptions here.

    No, I was looking for some relevance to the 32-bit-to-64-bit transition,
    and your story had nothing about that.

    All those ports are gone. All the non-x86 ones, except the ARM one,
    which continues to struggle.

    Yes, because all of those platforms are gone.

    No, ARM and POWER and MIPS are all still very much here and continuing to
    be made and sold. And like I said, even with the massive popularity of
    ARM, Microsoft still can’t get Windows running properly on it.

    The fact that [Windows NT] has been ported to so many architectures
    clearly demonstrates that it is fairly portable.

    The fact that every single one of those ports ran in into trouble clearly demonstrates that that “portability” was more of a PR claim than
    practical.

    Drive letters are a feature of the Win32 environment subsystem - the
    Win32 namespace. This is implemented on top of the NT namespace which
    is provided by the Object Manager.

    Which is somehow specifically tied into NTFS. Try this: create and
    mount a FAT volume, mount it somewhere other than a drive letter,
    create a directory within it, and mount some other non-NTFS volume on
    that directory.

    It would seem it isn't necessarily tied to NTFS but rather requires
    certain filesystem features FAT doesn't have.

    Like I said, on Linux this has nothing to do with filesystem-specific
    features. It is all handled within the VFS layer.

    “Compatibility”. Go on, say it: WSL1 could not offer good enough
    compatibility with Linux.

    Not good enough for what?

    Not good enough to do the things Linux users/developers expect from their systems as a matter of course.

    Not good enough to pass for Linux.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to Single Stage to Orbit on Sun May 5 18:04:00 2024
    In article <fd016548559cb3c8fca2ab4f538153127cfe42c9.camel@munted.eu>, alex.buell@munted.eu (Single Stage to Orbit) wrote:

    My experience with btrfs was awful. It's fortunate I only tested it
    and took backups, and it kept losing data. Turned to ZFS and it has
    been
    rock solid. Ten years.

    I had significant trouble with the version in RHEL7/CentOS7, where it was
    the default root filesystem. It's still the default on SUSE Enterprise.
    My local Linux expert tells me that it's been fixed now, although another friend who spent some years working for SUSE disagrees.

    I had Android devices connected to a CentOS 7.9 machine, which did
    Android builds, and staged data to be pushed onto the devices. When the
    data set to be pushed was large (more than a few GB), btrfs would often
    decide that it had run out of space, with more than 70% of a 1TB volume
    still free according to df. An fsck would fix the problem, but it would
    reoccur a few days or weeks later.

    My conclusion was that since I was moving to a new Rocky 8.9 machine
    before CentOS 7.9 ran out of support, I'd have my staging area as ext4,
    please, and that has been entirely satisfactory. I was quite happy that
    it was removed from RHEL/Rocky/Alma 8.x; even if it is fixed now, it has
    a bad reputation.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to D'Oliveiro on Sun May 5 18:04:00 2024
    In article <v145fm$vrsv$3@dont-email.me>, ldo@nz.invalid (Lawrence
    D'Oliveiro) wrote:
    On Fri, 3 May 2024 18:42 +0100 (BST), John Dallman wrote:
    Oracle gets money that would otherwise likely go to Red Hat ...
    Interesting that they won't offer their own ZFS next-generation
    filesystem product with it, preferring to bundle btrfs instead.
    Vote of confidence in your own product over rivals, much?

    I suspect that, to Oracle, the difference between the proprietary ZFS in Solaris and the OpenZFS available for Linux is crucial. They are still
    trying to sell Solaris and hardware for it, although I doubt they are
    getting many new customers.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to John Dallman on Sun May 5 19:16:15 2024
    On Sun, 2024-05-05 at 18:04 +0100, John Dallman wrote:
    My experience with btrfs was awful. It's fortunate I only tested it
    and took backups, and it kept losing data. Turned to ZFS and it has
    been rock solid. Ten years.

    I had significant trouble with the version in RHEL7/CentOS7, where it
    was the default root filesystem. It's still the default on SUSE
    Enterprise. My local Linux expert tells me that it's been fixed now,
    although anotherfriend who spent some years working for SUSE
    disagrees.

    I had Android devices connected to a CentOS 7.9 machine, which did
    Android builds, and staged data to be pushed onto the devices. When
    the data set to be pushed was large (more than a few GB), btrfs would
    often decide that it had run out of space, with more than 70% of a
    1TB volume still free according to df. An fsck would fix the problem,
    but it would reoccur a few days or weeks later.

    My conclusion was that since I was moving to a new Rocky 8.9 machine
    before CentOS 7.9 ran out of support, I'd have my staging area as
    ext4, please, and that has been entirely satisfactory. I was quite
    happy that it was removed from RHEL/Rocky/Alma 8.x; even if it is
    fixed now, it has a bad reputation.

    btrfs may be better now, but I too find ext4 serves my purposes well
    enough for day to day use, and keep ZFS for backup/archival purposes.
    Life's too short.
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to John Dallman on Sun May 5 20:24:56 2024
    On Sun, 5 May 2024 18:04 +0100 (BST), John Dallman wrote:

    I had significant trouble with the [btrfs] version in RHEL7/CentOS7,
    where it was the default root filesystem.

    I wonder if Oracle customers have trouble with it too?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to John Dallman on Sun May 5 22:51:11 2024
    In article <memo.20240505180415.16164B@jgd.cix.co.uk>,
    John Dallman <jgd@cix.co.uk> wrote:
    In article <fd016548559cb3c8fca2ab4f538153127cfe42c9.camel@munted.eu>, >alex.buell@munted.eu (Single Stage to Orbit) wrote:

    My experience with btrfs was awful. It's fortunate I only tested it
    and took backups, and it kept losing data. Turned to ZFS and it has
    been
    rock solid. Ten years.

    I had significant trouble with the version in RHEL7/CentOS7, where it was
    the default root filesystem. It's still the default on SUSE Enterprise.
    My local Linux expert tells me that it's been fixed now, although another >friend who spent some years working for SUSE disagrees.

    I had Android devices connected to a CentOS 7.9 machine, which did
    Android builds, and staged data to be pushed onto the devices. When the
    data set to be pushed was large (more than a few GB), btrfs would often >decide that it had run out of space, with more than 70% of a 1TB volume
    still free according to df. An fsck would fix the problem, but it would >reoccur a few days or weeks later.

    My conclusion was that since I was moving to a new Rocky 8.9 machine
    before CentOS 7.9 ran out of support, I'd have my staging area as ext4, >please, and that has been entirely satisfactory. I was quite happy that
    it was removed from RHEL/Rocky/Alma 8.x; even if it is fixed now, it has
    a bad reputation.

    People who actually know things about filesystems tend to avoid
    BtrFS. OpenZFS on Linux is generally preferred. Note that the
    hyperscalers often use ext4.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to davef@tsoft-inc.com on Sun May 5 23:07:43 2024
    In article <v1487o$10cnq$1@dont-email.me>,
    Dave Froble <davef@tsoft-inc.com> wrote:
    On 5/3/2024 9:04 PM, Dan Cross wrote:
    In article <v1366u$lf87$1@dont-email.me>,
    Dave Froble <davef@tsoft-inc.com> wrote:
    :-)

    The following is some snippets from what was basically a research program, and I
    consider commenting such should be rather terse. For production programs I'd
    want a lot more.

    Do consider the above ...

    Sure. But I don't consider most of these "terse", though I do
    wish that they had less boilerplate and more useful content.
    That is, terse is fine if it's accompanied by high information
    density. Verbose is strictly worse with lower information
    density.

    I hope you won't mind some feedback?

    No problem. But some background. I came from an environment where strict >programming practices were in effect. Certain things, such as the header of a >program file, had a strict format to follow, and much of the text came from an >IDE code generator. That allowed any support person to know where to look for >information, and what to look for.

    [snip]
    !********************************************************************
    !

    What does the line of asterisks buy you?

    Strict formatting in every program. Important information was always highlighted.

    That's fair; I confess I have complex feelings around code style
    guides that mandate things like that. On the one hand, I don't
    think that this kind of visual artistry really adds all that
    much, and can often be distracting; on the other, I worked in a
    very large codebase with a rigid style guide that I disliked,
    but which was a major factor in allowing that to scale to tens
    of thousands of engineers working on ~2 BLOC (yes, "B") of code
    simultaneously, all of which was mutually intelligible.

    ! Program: TCP_PEEK.BAS

    Why do you need this? Is it not in a file that is already
    named, "TCP_PEEK.BAS"? What do you get by repeating it in the
    file itself?

    Doesn't hurt.

    ...until you rename the file! Or copy and paste a part into a
    different file, or similar maintenance activities. Then it adds
    churn, unnecessary diff size, and cognitive overhead.

    ! Function: Test Using TCP/IP Sockets as a Listener
    ! Version: 1.00
    ! Created: 01-Dec-2011
    ! Author(s): DFE

    Why the elaborate formatting of this front matter? What does
    some of it even mean? How did you decide that this was version
    1.00, for example? (Something like semver is much more useful
    than an arbitrary major.minor here.) Is the creation date
    useful versus, say, the last modification date?

    For some, the first iteration of a program is version 1. I guess other >standards could be used.

    It's a bit of an aside, but I do recommend checking out semver;
    it's genuinely useful. The gist of it from https://semver.org/:

    |Given a version number MAJOR.MINOR.PATCH, increment the:
    |
    |MAJOR version when you make incompatible API changes
    |MINOR version when you add functionality in a backward compatible manner |PATCH version when you make backward compatible bug fixes

    Both dates can be useful.

    I'd argue that that's really better tracked in a revision
    control system.

    Moreover, where do you record the history of the module?
    Knowing how code has evolved over time can be very useful.

    I didn't show that. As I wrote, some snippets from a program, not the entire >program.

    Frankly, all of this is metadata, which is better captured in a
    revision control system than in comments at the top of a file,
    which can easily get out of date over time.

    !
    ! Purpose/description:

    Well, which is it?

    Now, that's a bit too "picky" ...

    Maybe. But if one's going to offer up an example that shows the
    kids how it oughta be done, don't be surprised if you get a
    little bit of pushback. ;-)

    I stand by the rest of my comments, quoted below. Honestly,
    this code wouldn't pass review anywhere I've worked recently.

    - Dan C.

    Old message follows:
    !
    ! This program will set up TCP/IP sockets to allow
    ! itself to listen for connection requests. When
    ! a connection request is received, this program
    ! will accept the connection, and then attempt to
    ! PEEK the message, ie; read it but leave it available
    ! to be re-read.

    This is good, but honestly, kind of all you need at the top of
    the file.

    When using custom defined structures, it might be nice to know what they will be
    used for.

    !**************************************************
    ! Declare Variables of User Defined Structures
    !**************************************************

    DECLARE IOSB_STRUCT IOSB, ! I/O status blk &
    ITEMLIST_2 SERVER.ITEMLST, ! Server item list &
    ITEMLIST_2 SOCKOPT.ITEMLST, ! Socket options list &
    ITEMLIST_2 REUSEADR.ITEMLST, ! Reuse adr list &
    ITEMLIST_3 CLIENT.ITEMLST, ! Client item list &
    SOCKET_OPTIONS LISTEN.OPTN, ! Socket options &
    SOCK_ADDR CLIENT.ADR, ! Client IP adr/port &
    SOCK_ADDR SERVER.ADR, ! Server IP adr/port &
    BUFF CLIENT.NAME, ! Client name buffer &
    BUFF SERVER.NAME, ! Server name buffer &
    IP_ADR IP, ! Ip address &
    BUFF MSG ! Message buffer

    I don't think that these comments are useful at all, with the
    possible exception of the one on IOSB. These comments just
    parrot the code. If I saw, "SOCKOPT.ITEMLIST" how is it not
    obvious that that is a, "Socket options list"? Note also that
    the comment omits the fact that it's an item list, which is a
    specific thing, rather than just a generic list. Half of the
    item lists are annotated as item lists in the comments, but
    the other half are not.

    I consider the following rather terse. Either the programmer knows how to use
    system services, or perhaps remedial training is called for.

    !**************************************************
    ! Assign channels to 'TCPIP$DEVICE:'
    !**************************************************

    Dev$ = "TCPIP$DEVICE:"

    Stat% = SYS$ASSIGN( Dev$ , ListenCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign listener channel - "; E$
    GoTo 4900
    End If

    Print #KB%, "Internal VMS channel for listener socket:"; ListenCh%

    Stat% = SYS$ASSIGN( Dev$ , ClientCh% , , )
    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to assign client channel - "; E$
    GoTo 4900
    End If

    It's also rather repetitive. It'd be better to wrap assignment
    in some kind of helper function, IMHO. Without knowing more
    about VMS BASIC, however, it's difficult to tell whether one
    could do much better.

    However, when details might be helpful, there is usually never too much.

    !**************************************************
    ! Create Listener socket
    ! Bind server's IP address and port # to listener
    ! socket, set socket as a passive socket

    I'm not sure this comment is accurate: it appears that most of
    what this code is doing until the $QIOW is setting up data for
    the $QIOW. Something like this may be more useful:

    ! Initialize IOSB data for listener socket creation,
    ! then create the socket and bind it to the server's
    ! IP address with the given port number.

    ! Note: we used to do this in 2 calls, but can be combined

    Grammar: "but they were combined." Again, we see how missing
    the history can lead to questions: why were they combined, and
    when? Is that better somehow, other than the general principle
    of doing less work?

    !**************************************************

    LISTEN.OPTN::PROTOCOL% = TCPIP$C_TCP ! Listener socket optn
    LISTEN.OPTN::TYP$ = Chr$(TCPIP$C_STREAM)
    LISTEN.OPTN::AF$ = Chr$(TCPIP$C_AF_INET)

    SOCKOPT.ITEMLST::LEN% = 8% ! Socket options buffer
    SOCKOPT.ITEMLST::TYP% = TCPIP$C_SOCKOPT
    SOCKOPT.ITEMLST::ADR% = Loc(REUSEADR.ITEMLST::Len%)

    REUSEADR.ITEMLST::LEN% = 4% ! Reuse adr (port #)
    REUSEADR.ITEMLST::TYP% = TCPIP$C_REUSEADDR
    REUSEADR.ITEMLST::ADR% = Loc(ReuseAdrVal%)

    ReuseAdrVal% = 1% ! Set to 'True'

    SERVER.ITEMLST::LEN% = 16% ! Server item list
    SERVER.ITEMLST::TYP% = TCPIP$C_SOCK_NAME
    SERVER.ITEMLST::ADR% = Loc(SERVER.ADR::Fam%)

    SERVER.ADR::Fam% = TCPIP$C_AF_INET ! Server Ip adr/port
    SERVER.ADR::PORT% = SWAP%(ServerPort%)
    SERVER.ADR::IP.ADR% = TCPIP$C_INADDR_ANY
    SERVER.ADR::ZERO1% = 0%
    SERVER.ADR::ZERO2% = 0%

    BACKLOG% = 1%

    Stat% = SYS$QIOW( , ! Event flag &
    ListenCh% By Value, ! VMS channel &
    IO$_SETCHAR By Value, ! Operation &
    IOSB::Stat%, ! I/O status block &
    , ! AST routine &
    , ! AST parameter &
    LISTEN.OPTN::Protocol%, ! P1 &
    , ! P2 &
    SERVER.ITEMLST::Len%, ! P3 - local socket name &
    BACKLOG% By Value, ! P4 - connection backlog &
    SOCKOPT.ITEMLST::Len%, ! P5 - socket options &
    ) ! P6

    If ( Stat% And SS$_NORMAL ) = 0%
    Then E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to queue create and bind listener socket - "; E$
    GoTo 4900
    End If

    If ( IOSB::Stat% And SS$_NORMAL ) = 0%
    Then Stat% = IOSB::Stat%
    E$ = FnVMSerr$( Stat% )
    Print #KB%, "Unable to create and bind listener socket - "; E$
    GoTo 4900
    End If

    My opinion is, the above is essential, without it, there would be much studying
    of code, wondering what is being referenced, and such. I always use one line for each argument in a QIO and such, which makes it very clear what is happening. Without that, even the best will still have some "fun" reading the
    code to figure out what is happening.

    I agree that well-commented code is useful.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Mon May 6 16:28:12 2024
    In article <v16nsc$1gbho$2@dont-email.me>, ldo@nz.invalid says...

    On Sun, 28 Apr 2024 17:03:19 +1200, David Goodwin wrote:

    In article <v0kbcs$q4lf$4@dont-email.me>, ldo@nz.invalid says...

    You were the one who claimed it was ?still supported?, not me. It is up
    to you to prove that point, if you can.

    Microsoft says its still supported. I don't see any reason to claim or believe otherwise without proof.

    Nope, all you?ve done is continue to insist that Microsoft?s PR weasel
    words still mean something, contrary to past experience.

    Can you point to some recent examples where Microsoft has ended support
    earlier than they claimed they would? Or failed to patch critical vulnerabilities for products that were still in support?

    I can remember them *extending* the support period for old products on occasion. And they have on occasion provided patches for particularly
    serious issues in products that were out of support.

    There are APIs to make something else work - the same APIs the Win32 Environment Subsystem uses. The main roadblock is almost certainly the
    fact the GUI that ships with the system is good enough and modifying it
    is far easier than starting from scratch.

    That is absolutely laughable to claim it is ?good enough?, given the long- standing complaints about the inflexibility of the Windows GUI.

    I've no doubt some people don't like the Windows GUI. Some people don't
    like the Mac GUI either. Clearly not enough people have big enough
    issues to bother doing something about it though.

    The only part you can't really "easily" replace (AFAIK) is the window
    manager. I've never really desired a different window manager on Windows
    so don't care it can't be replaced - on Linux I've almost always just
    gone with whatever the default is too.

    There are alternative shells but they've never been popular I guess
    because most people think the default one is fine.

    Mount points as an alternative to drive letters--only work with NTFS. I
    think also system booting only works with NTFS.

    This is primarily because NTFS is the only filesystem that ships with windows that has the required features.

    Like I said, in Linux these are not ?features? specific to the filesystem, they are implemented in the VFS layer. So they are able to work across different filesystems--even ones from the Windows world, where Windows
    itself is unable to support those features.

    Mounted folders are implemented using reparse points - the same feature used for hard links, symbolic links, junctions and other such things. I think these are stored as extended attributes or similar which are not supported by FAT.

    Why do you need on-disk attributes to store information about mount
    points?

    Why does Unix need a text file to store information about mount points?
    Because that's how it was designed. Windows NT and Unix are different
    operating systems and so do some things differently. This is ok.

    Those are all for network security, not local security. I?m talking
    about things like SELinux and AppArmor. And containers.

    As far as I can see most of what SELinux adds has been in Windows NT
    since version 3.1.

    You realize SELinux was created by the NSA? It offers military-strength role-based mandatory access control.

    Maybe Windows has something equivalent to one of the simpler LSMs, like
    maybe AppArmor. Not SELinux.

    How wonderful. So they (partially) reinvented GUI login display
    managers that *nix systems have had since the 1990s. Have they figured
    out how to add that little menu that offers you a choice of GUI
    environment to run, as well?

    They could put that menu there.

    Nobody could, apart from Microsoft. The GUI is not easily replaceable, remember.

    The login screen is a DLL. You can replace it. Novell *did* replace it.
    You can put whatever buttons you like on your replacement login screen.
    Novell *did* put whatever buttons they liked on their login screen. This
    is why it is a DLL and why Microsoft published the specifications for
    the DLL - so that people could replace it if needed.

    It also goes beyond what binfmt does.

    Does it indeed? Weren?t you making apologies about its limitations, due
    to its being 30 years old, elsewhere?

    No, I was not. And I think I've described NTs architecture more than
    enough at this point for you to know that binfmt is not the same concept
    as NTs Environment Subsystems.

    Ah, first you were claiming these ?go beyond? binfmt, now you are trying
    to backpedal by saying they are somehow not comparable at all?

    Want to change your story yet again?

    Binfmt handles executable formats - it alone can't make Linux look like Windows. It is not the same concept as Windows NTs Environment
    Subsystems which are responsible for providing most of the userspace environmnet.

    If you take away binfmt, Linux still looks and works like Linux. If you
    take away CSRSS, Windows NT is practically some other operating system.

    I'm not really sure how much clearer I can make this. I think you are
    being more than a little disingenous here.

    I ported C-Kermit for Windows in about a day IIRC.

    Not sure why that?s relevant.

    You were implying the transition from 32bit to 64bit is not easy. From
    my experience this is not the case. I suspect you are just making assumptions here.

    No, I was looking for some relevance to the 32-bit-to-64-bit transition,
    and your story had nothing about that.

    All those ports are gone. All the non-x86 ones, except the ARM one,
    which continues to struggle.

    Yes, because all of those platforms are gone.

    No, ARM and POWER and MIPS are all still very much here and continuing to
    be made and sold. And like I said, even with the massive popularity of
    ARM, Microsoft still can?t get Windows running properly on it.

    Been a long time since I've seen PowerPC or MIPS PCs on store shelves...

    The PowerPC port ended when IBM stopped including ARC-compatible
    firmware on new machines. The MIPS port ended when you could no longer
    buy MIPS workstations with ARC firmware. Compatible hardware was
    discontinued so the ports were discontinued.

    Microsoft could have taken on supporting these platforms with whatever
    random firmware they have like Linux does. But Microsoft is selling a
    product here - if the number of sales to people who want to run Windows
    rather than AIX on their brand new RS/6000 doesn't cover the costs its
    not worth doing.

    That doesn't mean it can't be done or that Windows NT isn't portable. It
    just means it doesn't make business sense to do it.

    Same goes for ARM - Windows runs on ARM devices built to run Windows.
    For business reasons Microsoft doesn't spend money porting Windows to
    any random ARM device thats designed and sold for some other purpose.

    The fact that [Windows NT] has been ported to so many architectures
    clearly demonstrates that it is fairly portable.

    The fact that every single one of those ports ran in into trouble clearly demonstrates that that ?portability? was more of a PR claim than
    practical.

    None of them ran into technical problems. The ports exist and they work.
    I have PowerPC and Alpha hardware here running Windows NT and it works
    just fine. Only reason I don't have a MIPS is because they're extremely
    rare. The operating system itself is indistinguishable from the regular
    x86 version and all the included utilities work just the same. The
    operating system is portable and its a bit absurd to try and claim
    otherwise.

    But the level of vendor support does make a difference. IBM put in only
    minimal effort and abandoned it quickly. Few machines were sold and so
    hardware and software vendors rarely built drivers and software for
    PowerPC.

    DEC put far more effort in and it shows. A lot more software and drivers
    built for Alpha, plus their binary translation software (FX!32) works
    very well for running regular x86 binaries. Its really a shame Compaq
    killed the Win2k effort as Win2k RC2 works quite nicely on Alpha.

    Drive letters are a feature of the Win32 environment subsystem - the
    Win32 namespace. This is implemented on top of the NT namespace which
    is provided by the Object Manager.

    Which is somehow specifically tied into NTFS. Try this: create and
    mount a FAT volume, mount it somewhere other than a drive letter,
    create a directory within it, and mount some other non-NTFS volume on
    that directory.

    It would seem it isn't necessarily tied to NTFS but rather requires
    certain filesystem features FAT doesn't have.

    Like I said, on Linux this has nothing to do with filesystem-specific features. It is all handled within the VFS layer.

    Would be interested to see Linux using fat32 as the root filesystem.
    Last I checked it wasn't possible due to missing features in that
    filesystem.

    ?Compatibility?. Go on, say it: WSL1 could not offer good enough
    compatibility with Linux.

    Not good enough for what?

    Not good enough to do the things Linux users/developers expect from their systems as a matter of course.

    What in your experience was it not good enough for? I ran WSLv1 for
    quite a while and don't remember having any issues with it.

    Not good enough to pass for Linux.

    Based on your extensive experience with WSLv1 I assume?

    I'm still not entirely sure what the point of this discussion is. Is
    there some point you're trying to make here or are we just trying to
    find the differences between two operating systems?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Gary R. Schmidt on Mon May 6 05:51:25 2024
    On Mon, 6 May 2024 15:37:57 +1000, Gary R. Schmidt wrote:

    On 06/05/2024 06:24, Lawrence D'Oliveiro wrote:
    On Sun, 5 May 2024 18:04 +0100 (BST), John Dallman wrote:

    I had significant trouble with the [btrfs] version in RHEL7/CentOS7,
    where it was the default root filesystem.

    I wonder if Oracle customers have trouble with it too?

    ZFS has been perfectly fine ...

    But Oracle doesn’t offer that with its Linux. It offers btrfs instead.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gary R. Schmidt@21:1/5 to Lawrence D'Oliveiro on Mon May 6 15:37:57 2024
    On 06/05/2024 06:24, Lawrence D'Oliveiro wrote:
    On Sun, 5 May 2024 18:04 +0100 (BST), John Dallman wrote:

    I had significant trouble with the [btrfs] version in RHEL7/CentOS7,
    where it was the default root filesystem.

    I wonder if Oracle customers have trouble with it too?

    ZFS has been perfectly fine on the various Solaris systems I and $WORK
    and $CUSTOMERS operate since the 6/6 update to Solaris 10. (Bloody
    hell, that's nearly twenty bloody years! It should be bloody stable by
    now, even after Oracle eviscer^reorganised things.)

    I understand there were/are people who've had problems when they've
    pushed it into edge territory - lots and lots and lots of vdevs in a
    zpool, frex (Sun recommended a maximum of 9) - but people who Just Use
    It(TM) seem to be fine.

    I use XFS on my Linux boxes, but then I did work at SGI for a time. :-)

    Cheers,
    Gary B-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to david+usenet@zx.net.nz on Mon May 6 12:59:25 2024
    In article <MPG.40a3022658647d279896e1@news.zx.net.nz>,
    David Goodwin <david+usenet@zx.net.nz> wrote:
    In article <v16nsc$1gbho$2@dont-email.me>, ldo@nz.invalid says...
    [snip]
    Why does Unix need a text file to store information about mount points?

    Just a minor technical point, but it doesn't really _need_ to
    per se. The kernel will traverse mount points just fine
    regardless of whether the list of currently mounted filesystems
    is in mtab or not. That file exists purely for the convenience
    of userspace utilities.

    Of course, that said, there's no system call to retrieve the set
    of mounted filesystems. Maybe there should have been. Dunno.

    [snip]
    I'm still not entirely sure what the point of this discussion is. Is
    there some point you're trying to make here or are we just trying to
    find the differences between two operating systems?

    This. The person you're responding to is not only disingenuous,
    but I would argue a rather blatant crank. His MO seems to be to
    make some specious observation and offer that as "proof" that a
    conclusion he has chosen to draw is fact. He then argues it
    over and over again, asserting the same things without building
    any supporting basis for his claims. (The stuff on his web page
    about mathematics is even worse.)

    My suggestion is to just ignore him.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to David Goodwin on Mon May 6 13:41:00 2024
    In article <MPG.40a3022658647d279896e1@news.zx.net.nz>,
    david+usenet@zx.net.nz (David Goodwin) wrote:

    In article <v16nsc$1gbho$2@dont-email.me>, ldo@nz.invalid says...

    No, ARM and POWER and MIPS are all still very much here and
    continuing to be made and sold. And like I said, even with the
    massive popularity of ARM, Microsoft still can't get Windows
    running properly on it.

    Oh, it runs, reasonably well. Microsoft are a bit confused about what
    they should be doing with it, but they are gradually working towards it
    being an all-purpose platform. Qualcomm seem to have convinced them at
    one point that the hardware should be all be Qualcomm proprietor
    platforms, but they seem to be climbing out of that hole now.

    Been a long time since I've seen PowerPC or MIPS PCs on store
    shelves...

    The PowerPC port ended when IBM stopped including ARC-compatible
    firmware on new machines. The MIPS port ended when you could no
    longer buy MIPS workstations with ARC firmware. Compatible hardware
    was discontinued so the ports were discontinued.

    Microsoft could have taken on supporting these platforms with
    whatever random firmware they have like Linux does. But Microsoft
    is selling a product here - if the number of sales to people who
    want to run Windows rather than AIX on their brand new RS/6000
    doesn't cover the costs its not worth doing.

    That doesn't mean it can't be done or that Windows NT isn't
    portable. It just means it doesn't make business sense to do it.

    My employer had an explanation for Windows NT platforms, back in the late 1990s:

    x86 is the default. If you don't have good reason for wanting
    a different platform, you want x86.

    We supported it then, and still do to this day.

    Alpha is the fastest. That's a good reason.

    We supported it until about 2000, by which time it was no longer the
    fastest and was being dropped by Compaq.

    PowerPC is what you want if you're very keen on IBM and believe
    their claims of integration with AIX and MacOS.

    We never supported this. We looked at it, but there was no significant
    customer demand and the hardware was very expensive.

    MIPS was used to develop Windows NT but doesn't have a reason as
    compelling as PowerPC.

    We worked on a port. We hit the same problem as we had on MIPS/Ultrix and
    Irix, which seems to go back to MIPS' original code generator from
    RISC/os (not to be confused with RISC OS). We had to get it fixed
    separately on all three platforms.

    The compiler assumed that any C struct passed by value would have uniform alignment requirements for all of its members. It simply pushed the
    members onto the stack, ignoring any padding in the struct. It did not
    pop the members into a buffer in the called function, it just used the
    copy on the stack as the passed variable. If omitting padding had caused
    any members to become misaligned, you got a SIGBUS as soon as you
    accessed them.

    About the time we'd got MS to fix the Windows version of this bug, it
    became clear the Pentium Pro had destroyed any performance advantage MIPS
    held over x86, and the customer abandoned MIPS and decided to build x86 workstations instead. They went bust a year or so later.

    Same goes for ARM - Windows runs on ARM devices built to run
    Windows. For business reasons Microsoft doesn't spend money porting
    Windows to any random ARM device thats designed and sold for some
    other purpose.

    There is also a distinct shortage of ARM SoCs with high performance-per-
    thread suitable for development machines. The good ones are made by Apple,
    and Microsoft don't seem to want to support them.

    The fact that every single one of those ports ran in into trouble
    clearly demonstrates that that ?portability? was more of a PR
    claim than practical.

    None of them ran into technical problems. The ports exist and they
    work. I have PowerPC and Alpha hardware here running Windows NT and
    it works just fine. Only reason I don't have a MIPS is because
    they're extremely rare. The operating system itself is
    indistinguishable from the regular x86 version and all the included
    utilities work just the same. The operating system is portable and
    its a bit absurd to try and claim otherwise.

    Yup. I've used it on x86, x86-64, Alpha, Itanium and Aarch64. The
    problems have been with hardware performance/availability and marketing,
    not the OS.

    Also, something Dave Cutler did while at Microsoft was very good for
    everyone. When Intel had to admit that Itanium was not working out and
    they needed to do a 64-bit x86, they initially wanted to use a different instruction encoding from AMD, so that binaries could not be compatible
    with both Intel and AMD. Dave Cutler's response was "You can do that if
    you want, but you won't have Windows for it." Intel had to climb down.

    Would be interested to see Linux using fat32 as the root
    filesystem. Last I checked it wasn't possible due to missing
    features in that filesystem.

    I've done something similar to that on Android, on devices that didn't
    have enough built-in storage so I had to use large micro-SD cards for
    test data. You really do not want to see what FAT32 does to the
    performance of directory seeks in directories with lots of files.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Tue May 7 07:07:14 2024
    On Mon, 6 May 2024 16:28:12 +1200, David Goodwin wrote:

    Why does Unix need a text file to store information about mount points?

    Linux does not need a text file to store information about mount points.

    Been a long time since I've seen PowerPC or MIPS PCs on store shelves...

    They are used in computers, just because the stores you frequent don’t
    carry them, is merely a reflection on the kinds of stores you frequent.

    The PowerPC port ended when IBM stopped including ARC-compatible
    firmware on new machines.

    It didn’t stop Linux from continuing to support POWER, though.

    The MIPS port ended when you could no longer
    buy MIPS workstations with ARC firmware.

    So Windows needed some special handholding to run on non-x86
    architectures, where Linux was able to operate without such training
    wheels.

    Microsoft could have taken on supporting these platforms with whatever
    random firmware they have like Linux does. But Microsoft is selling a
    product here ...

    Funny, isn’t it. The Linux kernel project has maybe 1000 regular contributors. Microsoft has not one, but close to two orders of magnitude greater developer talent on its payroll. Yet those Linux developers are managing to support about *two dozen* major processor architectures, while Microsoft struggles to get beyond one.

    None of them ran into technical problems.

    I didn’t say they did. But they were just too expensive and difficult to maintain. Windows simply wasn’t designed to make this sort of thing easy.

    Would be interested to see Linux using fat32 as the root filesystem.
    Last I checked it wasn't possible due to missing features in that
    filesystem.

    Linux will boot off any filesystem that GRUB will read. <https://askubuntu.com/questions/938076/install-boot-on-fat32-partition>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gary R. Schmidt@21:1/5 to Lawrence D'Oliveiro on Tue May 7 17:53:28 2024
    On 06/05/2024 15:51, Lawrence D'Oliveiro wrote:
    On Mon, 6 May 2024 15:37:57 +1000, Gary R. Schmidt wrote:

    On 06/05/2024 06:24, Lawrence D'Oliveiro wrote:
    On Sun, 5 May 2024 18:04 +0100 (BST), John Dallman wrote:

    I had significant trouble with the [btrfs] version in RHEL7/CentOS7,
    where it was the default root filesystem.

    I wonder if Oracle customers have trouble with it too?

    ZFS has been perfectly fine ...

    But Oracle doesn’t offer that with its Linux. It offers btrfs instead.

    I don't know of anyone who runs btrfs on Oracle Linux, they all run XFS.
    (Maybe because they're all ex-SGI, too. ;-) )

    Cheers,
    Gary B-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to Lawrence D'Oliveiro on Tue May 7 10:39:33 2024
    On Tue, 2024-05-07 at 07:07 +0000, Lawrence D'Oliveiro wrote:
    Why does Unix need a text file to store information about mount
    points?

    Linux does not need a text file to store information about mount
    points.

    It's a text file, actually. /etc/mtab.
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Lawrence D'Oliveiro on Tue May 7 07:41:32 2024
    On 5/6/2024 1:51 AM, Lawrence D'Oliveiro wrote:
    On Mon, 6 May 2024 15:37:57 +1000, Gary R. Schmidt wrote:
    On 06/05/2024 06:24, Lawrence D'Oliveiro wrote:
    On Sun, 5 May 2024 18:04 +0100 (BST), John Dallman wrote:
    I had significant trouble with the [btrfs] version in RHEL7/CentOS7,
    where it was the default root filesystem.

    I wonder if Oracle customers have trouble with it too?

    ZFS has been perfectly fine ...

    But Oracle doesn’t offer that with its Linux. It offers btrfs instead.

    Oracle Linux is a RHEL clone, so it offers what Redhat wants to
    put in RHEL.

    :-)

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Single Stage to Orbit on Tue May 7 13:45:25 2024
    On 5/4/24 07:57, Single Stage to Orbit wrote:
    On Sat, 2024-05-04 at 02:11 +0000, Lawrence D'Oliveiro wrote:
    Oracle gets money that would otherwise likely go to Red Hat ...

    Interesting that they won’t offer their own ZFS next-generation
    filesystem product with it, preferring to bundle btrfs instead. Vote
    of confidence in your own product over rivals, much?

    My experience with btrfs was awful. It's fortunate I only tested it and
    took backups, and it kept losing data. Turned to ZFS and it has been
    rock solid. Ten years.

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation
    that was not recoverable. Why use anything else ?.

    FreeBSD was the only alternative os to offer their own clean room
    zfs many years ago, but they moved to OpenZFS. Again, rock solid
    and would not choose any other fs, other than for quick hacks, or
    testing.

    Back on topic, who remembers the dec advfs for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to chrisq on Tue May 7 08:50:25 2024
    On 5/7/2024 8:45 AM, chrisq wrote:
    Back on topic, who remembers the dec advfs  for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    SpiraLog may be even more on topic ...

    :-)

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to All on Tue May 7 18:13:09 2024
    On 5/7/24 13:50, Arne Vajhøj wrote:
    On 5/7/2024 8:45 AM, chrisq wrote:
    Back on topic, who remembers the dec advfs  for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    SpiraLog may be even more on topic ...

    :-)

    Arne



    Had never even heard of it, needed to look it up :-). Will have a
    look later, but good report in the Digital Tech Journal,
    volume 8, section 2, 1996. Load of other interesting reports there
    as well.

    It'a quite amazing, looking back to just how much effort digital and
    others put into basic research. Stuff some take for granted now,
    all the great books have been written etc, but just how many
    don't even notice and continue to make the same mistakes over and
    over again ?...

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Tue May 7 18:04:39 2024
    On 5/4/24 03:08, Lawrence D'Oliveiro wrote:
    On Fri, 3 May 2024 13:05:18 +0100, chrisq wrote:

    On 4/30/24 23:56, Lawrence D'Oliveiro wrote:

    On Sun, 28 Apr 2024 12:22:03 +0100, chrisq wrote:

    The way that so much of the unix infrastructure has been replaced,
    coercing the system to suit the needs of systemd ...

    For example?

    Normally run FreeBSD for development, but needed to run a current
    version of Linux, to test against an open source project, that it would
    build and run without issue. Installed latest Xubuntu and Debian, both
    of which operate under systemd, with no opout at install time.

    So why didn’t you try a distro that didn’t have systemd?

    All looks good at desktop level, but the networking config didn't stick
    without a reboot, and things like ifconfig, ntp, inetd and other stuff
    was missing.

    ifconfig was superseded by the iproute2 suite years ago, nothing to do
    with systemd. But of course systemd builds on that work--why reinvent the wheel?

    And also inetd is one of the many pieces of legacy baggage superseded by systemd. systemd offers a much more modular way of managing individual services--either get used to it, or go use something else. The choice, as always, is up to you.

    It's also not clear how to remove the systemd stuff ...

    It’s called “building your own distro”. Go learn from the experts before
    attempting this sort of activity yourself.


    Fine, but generally, I want use an os for work, and expect to to
    just work and be easily configurable out of the box, just like any
    similar unix system.

    Systemd looks like someone's wet dream intellectual self
    abuse, to see how different and opaque it can be made, just for the
    sake of it, while contributing nothing that wasn't already there in
    some other form. Coding standards and system layout are crap as well,
    and where is the doc that describes the data structures, code flow
    and how it all works ?. Serious operating systems, VMS, Solaris and
    FreeBSD, for example, publish extensive internals books, describing
    the code and data structures in detail.

    Ymmv, of course, but you still haven't answered the question, ie:
    What is its usp and reason for existence, technically ?.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to chrisq on Tue May 7 13:19:36 2024
    On 5/7/2024 1:13 PM, chrisq wrote:
    On 5/7/24 13:50, Arne Vajhøj wrote:
    On 5/7/2024 8:45 AM, chrisq wrote:
    Back on topic, who remembers the dec advfs  for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    SpiraLog may be even more on topic ...

    :-)

    Had never even heard of it, needed to look it up :-). Will have a
    look later, but good report in the Digital Tech Journal,
    volume 8, section 2, 1996. Load of other interesting reports there
    as well.

    I remembered it.

    The demise of SpiraLog and the Snapshot Services thing in many
    ways marked VMS changing from frontrunner to legacy.

    It'a quite amazing, looking back to just how much effort digital and
    others put into basic research. Stuff some take for granted now,
    all the great books have been written etc, but just how many
    don't even notice and continue to make the same mistakes over and
    over again ?...

    DEC did a lot of research. Was it 4 major research centers they had?
    WRL and 3 more?

    So did IBM.

    Today it is Google/Facebook/Amazon/Microsoft that does that
    type of stuff.

    One need to make a lot of money to be able to support
    such long term research.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Eder@21:1/5 to Single Stage to Orbit on Tue May 7 23:51:58 2024
    On Di 07 Mai 2024 at 10:39, Single Stage to Orbit <alex.buell@munted.eu> wrote:

    On Tue, 2024-05-07 at 07:07 +0000, Lawrence D'Oliveiro wrote:
    Why does Unix need a text file to store information about mount
    points?

    Linux does not need a text file to store information about mount
    points.

    It's a text file, actually. /etc/mtab.

    Well, here it is not! It is a symbolic link to /proc/self/mounts.

    'Andreas

    --
    ceterum censeo redmondinem esse delendam

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Single Stage to Orbit@21:1/5 to Andreas Eder on Wed May 8 01:00:57 2024
    On Tue, 2024-05-07 at 23:51 +0200, Andreas Eder wrote:
    Linux does not need a text file to store information about mount
    points.

    It's a text file, actually. /etc/mtab.

    Well, here it is not! It is a symbolic link to /proc/self/mounts.

    Yes, same here. Missed that yesterday.
    --
    Tactical Nuclear Kittens

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Andreas Eder on Wed May 8 01:40:51 2024
    On Tue, 07 May 2024 23:51:58 +0200, Andreas Eder wrote:

    Well, here it is not! It is a symbolic link to /proc/self/mounts.

    /proc/«pid»/mounts is part of the kernel API. The point being, there is no actual “text file” that the kernel needs to keep track of mounts. All tracking of mounts is done within the kernel, and filesystems can be
    mounted and unmounted any time, without having to edit any config files.

    And note that different processes can see entirely different views of what filesystems are mounted, and where: this is part of the “namespaces” concept.

    There are config files (text-based, of course) that distros will typically
    use to remind themselves to tell the kernel that certain filesystems must always be mounted at startup: that is traditionally /etc/fstab, though systemd-mount offers a newer and more flexible way.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Wed May 8 01:36:13 2024
    On Tue, 7 May 2024 07:41:32 -0400, Arne Vajhøj wrote:

    Oracle Linux is a RHEL clone, so it offers what Redhat wants to put in
    RHEL.

    Don’t you think it wants to give customers a reason to choose its product over Red Hat?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Wed May 8 14:34:09 2024
    In article <v1cjv2$343as$1@dont-email.me>, ldo@nz.invalid says...

    On Mon, 6 May 2024 16:28:12 +1200, David Goodwin wrote:

    Why does Unix need a text file to store information about mount points?

    Linux does not need a text file to store information about mount points.

    Been a long time since I've seen PowerPC or MIPS PCs on store shelves...

    They are used in computers, just because the stores you frequent don?t
    carry them, is merely a reflection on the kinds of stores you frequent.

    Care to name some widely available MIPS or PowerPC desktop computers
    that a significant number of people/companies are likely to be
    interested in paying to run Windows on?

    The PowerPC port ended when IBM stopped including ARC-compatible
    firmware on new machines.

    It didn?t stop Linux from continuing to support POWER, though.

    The MIPS port ended when you could no longer
    buy MIPS workstations with ARC firmware.

    So Windows needed some special handholding to run on non-x86
    architectures, where Linux was able to operate without such training
    wheels.

    Please don't be absurd. Special hand-holding? I'm really not sure how
    you think Windows NT has more special hand-holding than Linux here.
    Delete all the "special handholding" OpenFirmware support code from the
    linux kernel and see how well it boots on a SPARCstation.

    Linux has "special hand-holding" to support a bunch of random firmware implementations. Most of it was developed by people in their spare time,
    or in some cases sponsored by the hardware vendor.

    Windows NT has/had had "special hand-holding" to support three kinds of firmware: ARC, the PC BIOS and (U)EFI. These are all variously open-
    standards - if you wanted to sell PowerPC hardware in the 90s that ran
    NT you just needed either ARC-compatible firmware, or some shim that
    provides an ARC-compatible interface (this is what IBM did on some
    machines). Depending the design of the machine you may also need to
    supply a HAL DLL.

    This is a reasonable choice when you're a company that is after some
    kind of return on investment. No point spending a pile of money adding
    support for booting from OpenFirmware if Sun is never going to offer
    Windows as an option on a brand new SPARCstation and the number of
    people who would buy Windows and install it themselves is near zero.
    That would just be a waste of money.

    Microsoft could have taken on supporting these platforms with whatever random firmware they have like Linux does. But Microsoft is selling a product here ...

    Funny, isn?t it. The Linux kernel project has maybe 1000 regular contributors. Microsoft has not one, but close to two orders of magnitude greater developer talent on its payroll. Yet those Linux developers are managing to support about *two dozen* major processor architectures, while Microsoft struggles to get beyond one.

    Companies exist to make money. You don't make money by developing a
    product no one will buy no matter how cheap or easy that product is to
    develop. That is how you loose money which is the *opposite* of what
    most companies aim to do.

    Its really not that hard.

    So, I we've arrived at: Windows is plenty portable and not all that
    difficult to port. But Microsoft only ports it to and maintains it for platforms where they think they'll make money because *thats what
    companies do*. The various people contributing to Linux have different objectives and are not necessarily looking for a return on investment.

    None of them ran into technical problems.

    I didn?t say they did. But they were just too expensive and difficult to maintain. Windows simply wasn?t designed to make this sort of thing easy.

    See previous answers. Lack of desire to waste money does not imply it is expensive or difficult to port, or that it was not designed to be
    portable. It just means that the people in charge don't feel like
    wasting time and money.

    Given that we've got to the point where you're pretending you don't know
    how companies work to try and prove Windows isn't portable despite the
    number of CPUs its already been ported to I don't think there is any
    point in discussing its portability any further.

    Would be interested to see Linux using fat32 as the root filesystem.
    Last I checked it wasn't possible due to missing features in that filesystem.

    Linux will boot off any filesystem that GRUB will read. <https://askubuntu.com/questions/938076/install-boot-on-fat32-partition>

    I didn't ask if it would boot off of a FAT32 filesystem. I asked if it
    could run with a FAT32 root filesystem (/). No disk images hiding other filesystems. No other filesystems complied into the kernel at all - just
    FAT and nothing but FAT. How does the VFS layer handle the complete lack
    of symlinks or hard links? How does the VFS layer handle the complete
    lack of security? Or POSIX filenames?

    I presume it doesn't because its not really a use case worth writing and maintaining a pile of code to support.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to ldo@nz.invalid on Wed May 8 21:19:29 2024
    In article <v1ekuc$3mm19$1@dont-email.me>,
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Tue, 7 May 2024 07:41:32 -0400, Arne Vajhøj wrote:

    Oracle Linux is a RHEL clone, so it offers what Redhat wants to put in
    RHEL.

    Don’t you think it wants to give customers a reason to choose its product >over Red Hat?

    It does that by making it free. God knows it's not the Cloudflare
    distribution rather than mirrors that make customers want it.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to All on Thu May 9 21:58:32 2024
    On Tue, 7 May 2024 08:50:25 -0400, Arne Vajhøj wrote:

    SpiraLog may be even more on topic ...

    I thought it was abandoned for performance reasons.

    I have heard it said that flash-storage firmware implements a form of log- structured filesystem.

    Apart from that, are there any log-structured filesystems in any kind of regular/common/production/non-research use today?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Thu May 9 22:00:40 2024
    On Tue, 7 May 2024 18:04:39 +0100, chrisq wrote:

    ... generally, I want use an os for work, and expect to to just
    work and be easily configurable out of the box, just like any similar
    unix system.

    So why didn’t you try a distro that didn’t have systemd?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Thu May 9 21:56:50 2024
    On Tue, 7 May 2024 13:45:25 +0100, chrisq wrote:

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation that
    was not recoverable. Why use anything else ?.

    And yet, Oracle won’t offer it, preferring to give their customers btrfs instead.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Fri May 10 10:25:16 2024
    In article <v1d7p6$38li0$1@dont-email.me>, devzero@nospam.com says...

    On 5/4/24 07:57, Single Stage to Orbit wrote:
    On Sat, 2024-05-04 at 02:11 +0000, Lawrence D'Oliveiro wrote:
    Oracle gets money that would otherwise likely go to Red Hat ...

    Interesting that they won?t offer their own ZFS next-generation
    filesystem product with it, preferring to bundle btrfs instead. Vote
    of confidence in your own product over rivals, much?

    My experience with btrfs was awful. It's fortunate I only tested it and took backups, and it kept losing data. Turned to ZFS and it has been
    rock solid. Ten years.

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation
    that was not recoverable. Why use anything else ?.

    FreeBSD was the only alternative os to offer their own clean room
    zfs many years ago, but they moved to OpenZFS. Again, rock solid
    and would not choose any other fs, other than for quick hacks, or
    testing.

    Back on topic, who remembers the dec advfs for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    Late last year I had a go at building GCC 4.7.4 for Tru64 5.1B on my
    trusty AlphaServer 800 (notes here for anyone interested in doing it: https://www.zx.net.nz/vc/dunix/gcc.shtml)

    During this process I ran out of disk and ended up having to slot
    another drive in the machine which led me to interacting with the AdvFS management tools. And it turns out its a pretty impressive filesystem
    for its age. Its got the whole storage pools thing that ZFS does which
    is pretty nice.

    No COW or Checksumming that I can see though, but despite that it seems
    to be a more capable filesystem than whats normally been used on linux
    for the past decade or two. Its a shame HP never released their Linux
    port of it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Fri May 10 01:43:35 2024
    On 5/9/24 23:00, Lawrence D'Oliveiro wrote:
    On Tue, 7 May 2024 18:04:39 +0100, chrisq wrote:

    ... generally, I want use an os for work, and expect to to just
    work and be easily configurable out of the box, just like any similar
    unix system.

    So why didn’t you try a distro that didn’t have systemd?

    I do, Suse 11.4 on an old laptop and another machine, because of
    some specific capabilities. Also looked at Devuan, but Linux
    is not the be all and end all of operating systems. FreeBSD is
    an excellent alternative, and very professional in it's
    development process. So is Open Indiana Hipster, a spin off from
    the original open Solaris project. That gets ever better, and
    with a fraction of the development effort and funding that goes
    into Linux. Loads of os choice these days, depending on project
    need and application.

    Anyway, you still, again, haven't answered the question as to
    the systemd usp and what is so special about it ?. C'mon, you
    seem to think it's so good, then you must have a good reason,
    or is it just fashion of the month ?...

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to Lawrence D'Oliveiro on Fri May 10 01:50:42 2024
    On 5/9/24 22:56, Lawrence D'Oliveiro wrote:
    On Tue, 7 May 2024 13:45:25 +0100, chrisq wrote:

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation that
    was not recoverable. Why use anything else ?.

    And yet, Oracle won’t offer it, preferring to give their customers btrfs instead.

    Still very much in Solaris, but suspect conflicting licensing issues,
    Linux and ZFS, being the main reason it's not offered. It's been in
    FreeBSD for years, but still not in mainstream Linux afaik, unless
    they are now using OpenZFS...

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From chrisq@21:1/5 to David Goodwin on Fri May 10 01:58:42 2024
    On 5/9/24 23:25, David Goodwin wrote:
    In article <v1d7p6$38li0$1@dont-email.me>, devzero@nospam.com says...

    On 5/4/24 07:57, Single Stage to Orbit wrote:
    On Sat, 2024-05-04 at 02:11 +0000, Lawrence D'Oliveiro wrote:
    Oracle gets money that would otherwise likely go to Red Hat ...

    Interesting that they won?t offer their own ZFS next-generation
    filesystem product with it, preferring to bundle btrfs instead. Vote
    of confidence in your own product over rivals, much?

    My experience with btrfs was awful. It's fortunate I only tested it and
    took backups, and it kept losing data. Turned to ZFS and it has been
    rock solid. Ten years.

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation
    that was not recoverable. Why use anything else ?.

    FreeBSD was the only alternative os to offer their own clean room
    zfs many years ago, but they moved to OpenZFS. Again, rock solid
    and would not choose any other fs, other than for quick hacks, or
    testing.

    Back on topic, who remembers the dec advfs for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    Late last year I had a go at building GCC 4.7.4 for Tru64 5.1B on my
    trusty AlphaServer 800 (notes here for anyone interested in doing it: https://www.zx.net.nz/vc/dunix/gcc.shtml)

    During this process I ran out of disk and ended up having to slot
    another drive in the machine which led me to interacting with the AdvFS management tools. And it turns out its a pretty impressive filesystem
    for its age. Its got the whole storage pools thing that ZFS does which
    is pretty nice.

    No COW or Checksumming that I can see though, but despite that it seems
    to be a more capable filesystem than whats normally been used on linux
    for the past decade or two. Its a shame HP never released their Linux
    port of it.

    Older versions of gcc, 2.7.2, for example, were not too difficult to
    build and have built gcc cross, even on a Sun 3. Modern
    versions are more difficult, needing obscure math libraries resident,
    and a whole raft of gnu infrastructure in place. Gnu is still a great
    set of tools though and more than anything else, sounded the death
    knell of expensive and locked down proprietary tools...

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Fri May 10 13:12:07 2024
    In article <v1jr12$v90k$3@dont-email.me>, devzero@nospam.com says...

    On 5/9/24 22:56, Lawrence D'Oliveiro wrote:
    On Tue, 7 May 2024 13:45:25 +0100, chrisq wrote:

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation that
    was not recoverable. Why use anything else ?.

    And yet, Oracle won?t offer it, preferring to give their customers btrfs instead.

    Still very much in Solaris, but suspect conflicting licensing issues,
    Linux and ZFS, being the main reason it's not offered. It's been in
    FreeBSD for years, but still not in mainstream Linux afaik, unless
    they are now using OpenZFS...

    Chris

    Oracle would have to relicense their ZFS code, and then all the OpenZFS contributors would have to relicense their contributions for ZFS to be
    included in the Linux kernel.

    I guess too much work for the people at Oracle to be bothered with given
    doing it wouldn't actually make them any additional money. And perhaps
    they're still trying to gain Solaris customers for which ZFS is a
    selling point, though to me it more looks like Solaris is on life
    support.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Goodwin@21:1/5 to All on Fri May 10 13:22:59 2024
    In article <v1jrg2$v90k$4@dont-email.me>, devzero@nospam.com says...

    On 5/9/24 23:25, David Goodwin wrote:
    In article <v1d7p6$38li0$1@dont-email.me>, devzero@nospam.com says...

    On 5/4/24 07:57, Single Stage to Orbit wrote:
    On Sat, 2024-05-04 at 02:11 +0000, Lawrence D'Oliveiro wrote:
    Oracle gets money that would otherwise likely go to Red Hat ...

    Interesting that they won?t offer their own ZFS next-generation
    filesystem product with it, preferring to bundle btrfs instead. Vote >>>> of confidence in your own product over rivals, much?

    My experience with btrfs was awful. It's fortunate I only tested it and >>> took backups, and it kept losing data. Turned to ZFS and it has been
    rock solid. Ten years.

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation
    that was not recoverable. Why use anything else ?.

    FreeBSD was the only alternative os to offer their own clean room
    zfs many years ago, but they moved to OpenZFS. Again, rock solid
    and would not choose any other fs, other than for quick hacks, or
    testing.

    Back on topic, who remembers the dec advfs for Tru64 ?. Never
    actually used it, but what were it's advantages / usp ?...

    Late last year I had a go at building GCC 4.7.4 for Tru64 5.1B on my
    trusty AlphaServer 800 (notes here for anyone interested in doing it: https://www.zx.net.nz/vc/dunix/gcc.shtml)

    During this process I ran out of disk and ended up having to slot
    another drive in the machine which led me to interacting with the AdvFS management tools. And it turns out its a pretty impressive filesystem
    for its age. Its got the whole storage pools thing that ZFS does which
    is pretty nice.

    No COW or Checksumming that I can see though, but despite that it seems
    to be a more capable filesystem than whats normally been used on linux
    for the past decade or two. Its a shame HP never released their Linux
    port of it.

    Older versions of gcc, 2.7.2, for example, were not too difficult to
    build and have built gcc cross, even on a Sun 3. Modern
    versions are more difficult, needing obscure math libraries resident,
    and a whole raft of gnu infrastructure in place. Gnu is still a great
    set of tools though and more than anything else, sounded the death
    knell of expensive and locked down proprietary tools...

    Yeah, building 4.7.4 required building quite a pile of libraries. Even
    had to build GNU tar as DEC tar couldn't untar the GCC archive properly.
    And DEC C couldn't build GCC 4.7 so I had to build an older version of
    GCC first. Whole thing took at least 40 hours. It was kind of a shame to
    turn off the machine after that - its unlikely to ever achieve three
    days uptime again.

    IIRC the whole reason I did it was wanting to run the p7zip benchmark to
    see how the 500MHz EV5 compared to other machines I'd run it on. And DEC
    C and the old version of GCC on the freeware CD couldn't build p7zip.
    Though building it with GCC rather than DEC C probably makes it less of
    a fair test

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to devzero@nospam.com on Sat May 11 16:02:18 2024
    In article <v1jr12$v90k$3@dont-email.me>, chrisq <devzero@nospam.com> wrote: >On 5/9/24 22:56, Lawrence D'Oliveiro wrote:
    On Tue, 7 May 2024 13:45:25 +0100, chrisq wrote:

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation that
    was not recoverable. Why use anything else ?.

    And yet, Oracle won’t offer it, preferring to give their customers btrfs >> instead.

    Still very much in Solaris, but suspect conflicting licensing issues,
    Linux and ZFS, being the main reason it's not offered. It's been in
    FreeBSD for years, but still not in mainstream Linux afaik, unless
    they are now using OpenZFS...

    Oracle Linux basically follows Red Hat, and since there's no ZFS support
    in RH, there's none in Oracle Linux. However, you CAN get OpenZFS from
    EPEL which works just fine on Oracle Linux 8 unless you want your root filesystem to be on ZFS.

    For the most part I am using xfs for giant filesystems, since it is
    relatively foolproof.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sun May 12 02:25:33 2024
    On Fri, 10 May 2024 01:43:35 +0100, chrisq wrote:

    On 5/9/24 23:00, Lawrence D'Oliveiro wrote:

    On Tue, 7 May 2024 18:04:39 +0100, chrisq wrote:

    ... generally, I want use an os for work, and expect to to just work
    and be easily configurable out of the box, just like any similar unix
    system.

    So why didn’t you try a distro that didn’t have systemd?

    I do, Suse 11.4 on an old laptop and another machine, because of some specific capabilities. Also looked at Devuan, but Linux is not the be
    all and end all of operating systems. FreeBSD is an excellent
    alternative, and very professional in it's development process. So is
    Open Indiana Hipster, a spin off from the original open Solaris project.
    That gets ever better, and with a fraction of the development effort and funding that goes into Linux. Loads of os choice these days, depending
    on project need and application.

    In other words, you have no need to use systemd, and therefore no need to
    go on moaning in such an ill-informed way about something that doesn’t
    even affect you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to chrisq on Sun May 12 02:26:37 2024
    On Fri, 10 May 2024 01:50:42 +0100, chrisq wrote:

    On 5/9/24 22:56, Lawrence D'Oliveiro wrote:

    On Tue, 7 May 2024 13:45:25 +0100, chrisq wrote:

    Yes, ZFS here since the very early versions of Solaris 10. Absolutely
    rock solid and has never lost any data here, nor had a situation that
    was not recoverable. Why use anything else ?.

    And yet, Oracle won’t offer it, preferring to give their customers
    btrfs instead.

    Still very much in Solaris, but suspect conflicting licensing issues,
    Linux and ZFS, being the main reason it's not offered.

    Yes, but Oracle *owns* the licence to ZFS. So they can offer it on
    whatever terms they like.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to David Goodwin on Sun May 12 02:33:58 2024
    On Wed, 8 May 2024 14:34:09 +1200, David Goodwin wrote:

    In article <v1cjv2$343as$1@dont-email.me>, ldo@nz.invalid says...

    So Windows needed some special handholding to run on non-x86
    architectures, where Linux was able to operate without such training
    wheels.

    Please don't be absurd. Special hand-holding? I'm really not sure how
    you think Windows NT has more special hand-holding than Linux here.
    Delete all the "special handholding" OpenFirmware support code from the
    linux kernel and see how well it boots on a SPARCstation.

    The point is, Linux has all that built-in support so it doesn’t need the handholding. It is versatile and adaptable to the wide world of non-x86 hardware out there. Windows, on the other hand, has a very specific and inflexible set of requirements for the hardware before it can even be
    ported.

    This is a reasonable choice when you're a company that is after some
    kind of return on investment.

    Except I suspect that all the non-x86 ports of Windows have been dead
    losses so far. Including the current decades-old money pit that is Windows-on-ARM.

    You don't make money by developing a
    product no one will buy no matter how cheap or easy that product is to develop.

    Precisely my point. Nobody wanted Windows on those architectures, but they
    do want Linux.

    I asked if [Linux] could run with a FAT32 root filesystem (/).

    Of course it can. I see online some mention of lack of support for
    symlinks, but that’s just an issue with the more elaborate userlands that
    you typically run on Linux distros. You won’t need symlinks just to run a simple command.

    Remember, you can boot up a Linux kernel and specify whatever command you
    want to run for its “init” (PID 1) process. That can be as simple as a shell. And shells on Linux can cope with whatever filesystems Linux itself
    can cope with.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexander Schreiber@21:1/5 to Lawrence D'Oliveiro on Sun May 12 14:29:11 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    Remember, you can boot up a Linux kernel and specify whatever command you want to run for its “init” (PID 1) process. That can be as simple as a shell. And shells on Linux can cope with whatever filesystems Linux itself can cope with.

    And "init=/bin/bash" used to be the standard fix for "Dang, I forgot the
    root password again". ;-)

    Kind regards,
    Alex.
    --
    "Opportunity is missed by most people because it is dressed in overalls and
    looks like work." -- Thomas A. Edison

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bob Eager@21:1/5 to Alexander Schreiber on Sun May 12 22:59:29 2024
    On Sun, 12 May 2024 14:29:11 +0200, Alexander Schreiber wrote:

    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    Remember, you can boot up a Linux kernel and specify whatever command
    you want to run for its “init” (PID 1) process. That can be as simple
    as a shell. And shells on Linux can cope with whatever filesystems
    Linux itself can cope with.

    And "init=/bin/bash" used to be the standard fix for "Dang, I forgot the
    root password again". ;-)

    I remember:

    SET/STARTUP OPA0:

    !!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robert A. Brooks@21:1/5 to Bob Eager on Sun May 12 21:55:44 2024
    On 5/12/2024 6:59 PM, Bob Eager wrote:
    On Sun, 12 May 2024 14:29:11 +0200, Alexander Schreiber wrote:

    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    Remember, you can boot up a Linux kernel and specify whatever command
    you want to run for its “init” (PID 1) process. That can be as simple >>> as a shell. And shells on Linux can cope with whatever filesystems
    Linux itself can cope with.

    And "init=/bin/bash" used to be the standard fix for "Dang, I forgot the
    root password again". ;-)

    I remember:

    SET/STARTUP OPA0:

    !!

    Still works . . .

    --

    --- Rob

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthew R. Wilson@21:1/5 to Lawrence D'Oliveiro on Tue May 14 17:01:52 2024
    On 2024-05-12, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Fri, 10 May 2024 01:50:42 +0100, chrisq wrote:

    On 5/9/24 22:56, Lawrence D'Oliveiro wrote:

    On Tue, 7 May 2024 13:45:25 +0100, chrisq wrote:

    And yet, Oracle won’t offer it, preferring to give their customers
    btrfs instead.

    Still very much in Solaris, but suspect conflicting licensing issues,
    Linux and ZFS, being the main reason it's not offered.

    Yes, but Oracle *owns* the licence to ZFS. So they can offer it on
    whatever terms they like.

    Oracle doesn't own any of the work that the OpenZFS community has done
    to port ZFS to Linux, though. All of that work is also licensed under
    the CDDL. So Oracle can't wave their magic wand and re-license the
    entire project; they can only relicense whatever subset of code in
    OpenZFS actually originated and remains unaltered from OpenSolaris.
    OpenZFS, the only version of ZFS that runs on Linux, would remain
    incompatible with the GPL.

    Now... if Oracle truly were inclined to re-license their ZFS code under,
    say, the GPL, I'm sure the OpenZFS community would be very interested in getting their major contributors to also agree to re-license their code.

    But Oracle doing that brings to mind something about pigs flying...

    -Matthew

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to Dan Cross on Wed May 15 00:22:05 2024
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:
    Kludge writes:
    People today just seem to think this is the normal way of doing business. >>Surely we can do better.

    Because it's the law of large numbers, not any particular fault
    that can be reasonably addressed by an individual, organization,
    etc.

    Yes, this is why the key is to simplify things. I want to read my email,
    which requires I log in from my desktop computer through a VPN that requires
    an external server for downloading some scripts to my machine. Once I am
    on the VPN, I can log into the mail server which is dependent on an active directory server for authentication and three disk servers to host the mail. Since it's running a Microsoft product that isn't safe to connect to the outside world there is also an additional isolation server between the mail server and the outside world. All of these things need to be working for me
    to be able to read my mail.

    Given the complexity of this system, it's not surprising that sometimes
    it isn't working. This seems ludicrous to me.

    If a marginal solder joint mechanically weakened by a bumpy ride
    in a truck causes something to short, and that current draw on a
    bus spikes over some threshold, pulling a voltage regulator out
    of spec and causing voltage to sag by some nominal amount that
    pulls another component on a different server below its marginal
    threshold for a logic value and a bit flips, what are you, the
    software engineer, supposed to do to tolerate that, let alone
    recover from it? It's not a software bug, it's the confluence
    of a large number of factors that only emerge when you run at a
    scale with tens or hundreds of thousands of systems.

    Yes, precisely. I don't want to be dependent on systems running at
    that scale.

    Can we do better? Maybe. There were some lessons learned in
    that failure; in part, making sure that the battery room doesn't
    flood if the generator catches on fire (another part of the
    story). But the reliability of hyperscalar operations is
    already ridiculously high. They do it by using redundency and
    designing in an _expectation_ of failure: multiple layers of
    redundent load balancers, sharding traffic across multiple
    backends, redundant storage in multiple geolocations, etc. But
    a single computer failing and rebooting? That's expected. The
    enterprise is, of course, much further behind, but I'd argue on
    balance even they do all right, all things considered.

    Redundancy helps a lot, but part of the key is to look at the
    opposite, at the number of single points of failure.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Matthew R. Wilson on Wed May 15 05:52:05 2024
    On Tue, 14 May 2024 17:01:52 -0000 (UTC), Matthew R. Wilson wrote:

    OpenZFS, the only version of ZFS that runs on Linux, would remain incompatible with the GPL.

    So you are of the opinion that the CDDL is incompatible with the GPL?
    Because this seems to be a matter of contention, and Ubuntu for one
    doesn’t seem to agree.

    If Oracle were to bundle OpenZFS with Linux, that would settle the issue
    once and for all, wouldn’t it?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthew R. Wilson@21:1/5 to Lawrence D'Oliveiro on Wed May 15 08:45:31 2024
    On 2024-05-15, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Tue, 14 May 2024 17:01:52 -0000 (UTC), Matthew R. Wilson wrote:

    OpenZFS, the only version of ZFS that runs on Linux, would remain
    incompatible with the GPL.

    So you are of the opinion that the CDDL is incompatible with the GPL?
    Because this seems to be a matter of contention, and Ubuntu for one
    doesn’t seem to agree.

    I agree that it's a point of contention. But I personally know somebody
    who was in the room when Sun directed the lawyers to come up with an alternative copyleft license that was incompatible with the GPL. Whether
    they were successful is open for debate, but I have high confidence that
    a goal of the CDDL (for at least some within Sun) was, in fact, GPL incompatibility.

    I'm not sure Canonical disagrees that it's incompatible, I suspect they
    are more just gambling that nobody will take them to court over it (i.e.
    Oracle may have more to gain letting the uncertainty remain out there
    versus taking the risk of losing and having case law on the books
    against the idea that it's incompatible or that it even matters at all).

    If Oracle were to bundle OpenZFS with Linux, that would settle the issue
    once and for all, wouldn’t it?

    As far as we know, Oracle's lawyers are telling them the CDDL is,
    indeed, incompatible and if Oracle bundles OpenZFS with their Linux, the OpenZFS contributors could take action against them! lol

    But, my speculation is obviously of little value. The real fact we can
    see is that Oracle has had _plenty_ of time and opportunity to move in
    that direction, and they haven't, so while we don't know their reasons,
    we do know their decision.

    -Matthew

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Matthew R. Wilson on Wed May 15 08:57:08 2024
    On Wed, 15 May 2024 08:45:31 -0000 (UTC), Matthew R. Wilson wrote:

    As far as we know, Oracle's lawyers are telling them the CDDL is,
    indeed, incompatible and if Oracle bundles OpenZFS with their Linux, the OpenZFS contributors could take action against them! lol

    Another point is that, if they bundle their ZFS code with Linux, then the recipients are entitled to accept it under the terms of the GPL, which
    allows them to redistribute it to others under the same terms, and that
    would be the effective end of the CDDL.

    But, my speculation is obviously of little value. The real fact we can
    see is that Oracle has had _plenty_ of time and opportunity to move in
    that direction, and they haven't, so while we don't know their reasons,
    we do know their decision.

    Sure. We are aware of the legal maneouvring behind the scenes. But the immediate optics of it, intended or not, is that they are reluctant to
    give a vote of confidence in their own technology, instead favouring a different open-source rival.

    That has got to be a source of corporate embarrassment.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Dallman@21:1/5 to D'Oliveiro on Wed May 15 10:47:00 2024
    In article <v21td4$pa2n$2@dont-email.me>, ldo@nz.invalid (Lawrence
    D'Oliveiro) wrote:

    Sure. We are aware of the legal maneouvring behind the scenes. But
    the immediate optics of it, intended or not, is that they are
    reluctant to give a vote of confidence in their own technology,
    instead favouring a different open-source rival.

    That has got to be a source of corporate embarrassment.

    I think you underrate Oracle's ability to justify their actions to
    themselves, and overrate the extent to which they care about what pundits
    say.

    If customers start dropping Oracle Linux and telling Oracle it's because
    of the lack of OpenZFS, that might have some effect. But Oracle Linux
    customers are mostly seeking an all-Oracle stack AFAIK, so they're
    unlikely to drop Oracle Linux.

    John

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Dorsey@21:1/5 to John Dallman on Wed May 15 14:10:34 2024
    John Dallman <jgd@cix.co.uk> wrote:

    If customers start dropping Oracle Linux and telling Oracle it's because
    of the lack of OpenZFS, that might have some effect. But Oracle Linux >customers are mostly seeking an all-Oracle stack AFAIK, so they're
    unlikely to drop Oracle Linux.

    People are using Oracle Linux because they want Red Hat compatibility
    without paying Red Hat fees.

    They used to use Scientific Linux or Centos, but those aren't the same
    any longer. So they go to Oracle Linux or to Rocky. If they need a
    Common Critera cetification for government work, they go to Oracle Linux because Rocky hasn't been tested.

    Nobody is going to Oracle Linux because they like Oracle Linux specifically, they are going to it for RH compatability.
    --scott
    --
    "C'est un Nagra. C'est suisse, et tres, tres precis."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to Scott Dorsey on Wed May 15 17:52:32 2024
    In article <v20v7d$pvb$1@panix2.panix.com>,
    Scott Dorsey <kludge@panix.com> wrote:
    Dan Cross <cross@spitfire.i.gajendra.net> wrote:
    Kludge writes:
    People today just seem to think this is the normal way of doing business. >>>Surely we can do better.

    Because it's the law of large numbers, not any particular fault
    that can be reasonably addressed by an individual, organization,
    etc.

    Yes, this is why the key is to simplify things. I want to read my email, >which requires I log in from my desktop computer through a VPN that requires >an external server for downloading some scripts to my machine. Once I am
    on the VPN, I can log into the mail server which is dependent on an active >directory server for authentication and three disk servers to host the mail. >Since it's running a Microsoft product that isn't safe to connect to the >outside world there is also an additional isolation server between the mail >server and the outside world. All of these things need to be working for me >to be able to read my mail.

    Given the complexity of this system, it's not surprising that sometimes
    it isn't working. This seems ludicrous to me.

    But this is conflating two things: scale, and complexity. They
    are not the same, but this treats them as if they are.

    The fact is that services have to scale to meet demand, which is
    tied to users, who are often tied to revenue; thus, use is a
    desirable condition from a business standpoint. And while it is
    true that there is some inherent complexity in a highly-scalable
    service, it does not follow that the sort of Rube Goldberg
    machine you just described for reading your email is the
    ncessary outcome.

    Consider, instead, Google search. If you go to `google.com`,
    you actually get a pretty simple interface: right now, for me,
    it's just the Google logo, a text box, and a few buttons. I
    enter my search term into the text box and click "Google Search"
    and off I go. But! When I click that button, I am one of many
    millions of users in that same second simultaneously clicking
    that button; in order to serve all of those users
    simultaneously, there is an enormous pile of resources sitting
    behind that simple web page that lets it scale. And when I
    say enormous, I mean enormous: O(10^6) individual servers with
    O(10^7) CPUs and many petabytes of RAM total, exabytes of
    stable storabe, and terrabits of network bandwidth all
    connecting them, in a constellation of globally distributed
    data centers often built to be near redundant, high-capacity
    electricity sources (i.e., built near a dam, say).

    But when you're working at that scale, things simply break, and
    it's not because _you_ did anything wrong; it's just the nature
    of systems that have been scaled to that size. Therefore, you
    have two choices: architect your system to be resilient to the
    breakage, or don't operate at that scale. Period. Those are
    your only choices. "Make your system simpler" doesn't work;
    even if it were dead stupid, things would _still_ break.

    If a marginal solder joint mechanically weakened by a bumpy ride
    in a truck causes something to short, and that current draw on a
    bus spikes over some threshold, pulling a voltage regulator out
    of spec and causing voltage to sag by some nominal amount that
    pulls another component on a different server below its marginal
    threshold for a logic value and a bit flips, what are you, the
    software engineer, supposed to do to tolerate that, let alone
    recover from it? It's not a software bug, it's the confluence
    of a large number of factors that only emerge when you run at a
    scale with tens or hundreds of thousands of systems.

    Yes, precisely. I don't want to be dependent on systems running at
    that scale.

    If you use the Internet, at all, you already are.

    Can we do better? Maybe. There were some lessons learned in
    that failure; in part, making sure that the battery room doesn't
    flood if the generator catches on fire (another part of the
    story). But the reliability of hyperscalar operations is
    already ridiculously high. They do it by using redundency and
    designing in an _expectation_ of failure: multiple layers of
    redundent load balancers, sharding traffic across multiple
    backends, redundant storage in multiple geolocations, etc. But
    a single computer failing and rebooting? That's expected. The
    enterprise is, of course, much further behind, but I'd argue on
    balance even they do all right, all things considered.

    Redundancy helps a lot, but part of the key is to look at the
    opposite, at the number of single points of failure.

    This is overly simplistic, but let's take it on its face: I look
    at the number of single points of failure, and then...do what?
    Obviously, make them not be single points of failure...but what
    does _that_ mean? Make them redundant? Rearchitect the system
    to eliminate them entirely? And then what? What if I still
    need to scale out resources to meet sheer demand?

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to John Dallman on Thu May 16 00:10:00 2024
    On Wed, 15 May 2024 10:47 +0100 (BST), John Dallman wrote:

    In article <v21td4$pa2n$2@dont-email.me>, ldo@nz.invalid (Lawrence D'Oliveiro) wrote:

    Sure. We are aware of the legal maneouvring behind the scenes. But the
    immediate optics of it, intended or not, is that they are reluctant to
    give a vote of confidence in their own technology, instead favouring a
    different open-source rival.

    That has got to be a source of corporate embarrassment.

    I think you underrate Oracle's ability to justify their actions to themselves, and overrate the extent to which they care about what
    pundits say.

    I’m thinking of their marketing machine, and how they explain themselves
    to customers.

    If customers start dropping Oracle Linux and telling Oracle it's because
    of the lack of OpenZFS, that might have some effect.

    Last I checked (some years ago, admittedly), Oracle’s “Unbreakable” Linux had achieved about 0.1% the market penetration of RHEL.

    Maybe Oracle Linux is just some kind of corporate vanity project, and they aren’t too bothered about the fact that it isn’t very popular.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Clubley@21:1/5 to Scott Dorsey on Thu May 16 12:20:11 2024
    On 2024-05-15, Scott Dorsey <kludge@panix.com> wrote:
    John Dallman <jgd@cix.co.uk> wrote:

    If customers start dropping Oracle Linux and telling Oracle it's because
    of the lack of OpenZFS, that might have some effect. But Oracle Linux >>customers are mostly seeking an all-Oracle stack AFAIK, so they're
    unlikely to drop Oracle Linux.

    People are using Oracle Linux because they want Red Hat compatibility
    without paying Red Hat fees.

    They used to use Scientific Linux or Centos, but those aren't the same
    any longer. So they go to Oracle Linux or to Rocky. If they need a
    Common Critera cetification for government work, they go to Oracle Linux because Rocky hasn't been tested.


    Scientific Linux no longer exists because it was retired in favour of
    CentOS. This was before all the changes were made to CentOS by RH.

    Scientific Linux was an excellent distribution and it was my personal
    favourite until it was retired.

    Simon.

    --
    Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
    Walking destinations on a map are further away than they appear.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)