Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

Courage is your greatest present need.


comp / comp.lang.misc / Re: Python (was Re: I did not inhale)

SubjectAuthor
* Re: I did not inhaleKalevi Kolttonen
`* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 +* Re: Python (was Re: I did not inhale)Kaz Kylheku
 |`* Re: Python (was Re: I did not inhale)Kalevi Kolttonen
 | +* Re: Python (was Re: I did not inhale)John Ames
 | |`- Re: Python (was Re: I did not inhale)D
 | +* Re: Python (was Re: I did not inhale)Muttley
 | |+* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||+* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| +* Re: Python (was Re: I did not inhale)Muttley
 | ||| |`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| | `* Re: Python (was Re: I did not inhale)Muttley
 | ||| |  +* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| |  |+* Re: Python (was Re: I did not inhale)Kaz Kylheku
 | ||| |  ||`- Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| |  |+- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | ||| |  |+- Re: Python (was Re: I did not inhale)Muttley
 | ||| |  |`* Re: Python (was Re: I did not inhale)Sebastian
 | ||| |  | `* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| |  |  +* Re: Python (was Re: I did not inhale)vallor
 | ||| |  |  |`- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | ||| |  |  `- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | ||| |  `- Re: Python (was Re: I did not inhale)Richard Kettlewell
 | ||| +* Re: Python (was Re: I did not inhale)Kenny McCormack
 | ||| |`- Re: Python (was Re: I did not inhale)Muttley
 | ||| +* Re: Python (was Re: I did not inhale)Kaz Kylheku
 | ||| |`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| | `* Re: Python (was Re: I did not inhale)Kaz Kylheku
 | ||| |  `* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | ||| |   `- Re: Python (was Re: I did not inhale)Kaz Kylheku
 | ||| `* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||  `* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   +* Re: Python (was Re: I did not inhale)David Brown
 | |||   |+* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   ||+* Re: Python (was Re: I did not inhale)Muttley
 | |||   |||`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   ||| +- Re: Python (was Re: I did not inhale)Muttley
 | |||   ||| `- Re: Python (was Re: I did not inhale)Bozo User
 | |||   ||+* Re: Python (was Re: I did not inhale)David Brown
 | |||   |||`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   ||| +* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   ||| |`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   ||| | `- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   ||| `* Re: Python (was Re: I did not inhale)David Brown
 | |||   |||  `* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   |||   +* Re: Python (was Re: I did not inhale)David Brown
 | |||   |||   |`- Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   |||   `* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   |||    `* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   |||     `- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   ||`* Re: Python (was Re: I did not inhale)Keith Thompson
 | |||   || `* Re: Python (was Re: I did not inhale)John Ames
 | |||   ||  +- Re: Python (was Re: I did not inhale)Muttley
 | |||   ||  `- Re: Python (was Re: I did not inhale)Stefan Ram
 | |||   |`- Re: Python (was Re: I did not inhale)Bart
 | |||   +* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   |`* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   | +* Re: Python (was Re: I did not inhale)Keith Thompson
 | |||   | |`- Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   | `* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   |  `* Re: Python (was Re: I did not inhale)Dmitry A. Kazakov
 | |||   |   +- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | |||   |   `- Re: Python (was Re: I did not inhale)D
 | |||   `* Re: Python (was Re: I did not inhale)vallor
 | |||    `- Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 | ||+- Re: Python (was Re: I did not inhale)Muttley
 | ||`- Re: Python (was Re: I did not inhale)Eric Pozharski
 | |`* Re: Python (was Re: I did not inhale)David Brown
 | | `- Re: Python (was Re: I did not inhale)Muttley
 | `* Re: Python (was Re: I did not inhale)David Brown
 |  +* C function prototype was Python (was Re: I did not inhale)James Harris
 |  |`- Re: C function prototype was Python (was Re: I did not inhale)David Brown
 |  +* Re: Python (was Re: I did not inhale)Keith Thompson
 |  |`- Re: Python (was Re: I did not inhale)David Brown
 |  `* Re: Python (was Re: I did not inhale)Kalevi Kolttonen
 |   +* Re: Python (was Re: I did not inhale)Muttley
 |   |+- Re: Python (was Re: I did not inhale)Lew Pitcher
 |   |`- Re: Python (was Re: I did not inhale)Kalevi Kolttonen
 |   +* Re: Python (was Re: I did not inhale)David Brown
 |   |`* Re: Python (was Re: I did not inhale)Kalevi Kolttonen
 |   | +* Re: Python (was Re: I did not inhale)David Brown
 |   | |+* Re: Python (was Re: I did not inhale)Muttley
 |   | ||`* Re: Python (was Re: I did not inhale)David Brown
 |   | || `* Re: Python (was Re: I did not inhale)Muttley
 |   | ||  `* Re: Python (was Re: I did not inhale)David Brown
 |   | ||   `* Re: Python (was Re: I did not inhale)Muttley
 |   | ||    `* Re: Python (was Re: I did not inhale)David Brown
 |   | ||     `* Re: Python (was Re: I did not inhale)Muttley
 |   | ||      +* Re: Python (was Re: I did not inhale)D
 |   | ||      |+* Re: Python (was Re: I did not inhale)Muttley
 |   | ||      ||`* Re: Python (was Re: I did not inhale)D
 |   | ||      || `* Re: Python (was Re: I did not inhale)Lew Pitcher
 |   | ||      ||  `- Re: Python (was Re: I did not inhale)Muttley
 |   | ||      |`- Re: Python (was Re: I did not inhale)David Brown
 |   | ||      `* Re: Python (was Re: I did not inhale)David Brown
 |   | ||       +* Re: Python (was Re: I did not inhale)Muttley
 |   | ||       |`* Re: Python (was Re: I did not inhale)John Ames
 |   | ||       | +- Re: Python (was Re: I did not inhale)Muttley
 |   | ||       | `* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 |   | ||       |  +* Re: Python (was Re: I did not inhale)John Ames
 |   | ||       |  +* Re: Python (was Re: I did not inhale)Bart
 |   | ||       |  `- Re: Python (was Re: I did not inhale)Kaz Kylheku
 |   | ||       `* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 |   | |`* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 |   | `* Re: Python (was Re: I did not inhale)Muttley
 |   `* Re: Python (was Re: I did not inhale)Lawrence D'Oliveiro
 `* Re: Python (was Re: I did not inhale)Kalevi Kolttonen

Pages:1234567891011
Subject: Re: Python (was Re: I did not inhale)
From: Kaz Kylheku
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 16:46 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 16:46:07 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <20240818094145.827@kylheku.com>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
Injection-Date: Sun, 18 Aug 2024 18:46:07 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="2b17ba883f856406324d250d25e0a3ae";
logging-data="2586842"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1//vUv48Wz0LysM/+FF5txeuyBdokbTw14="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:8j+tIP8F9yEviOoHk9U/suRetgY=
View all headers

On 2024-08-18, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On 2024-08-17 23:51, Lawrence D'Oliveiro wrote:
>> On Sat, 17 Aug 2024 12:58:31 +0200, Dmitry A. Kazakov wrote:
>>
>>> Windows inter-process API are far more advanced than what UNIX ever had.
>>> It would be enough to mention famous file locks.
>>
>> Except those file locks are more of a liability than an asset.
>
> Like so many things in UNIX...
>
>> They are
>> what prevent you from continuing to use a Windows system while it is being
>> updated, for example.
>
> Windows mutex gets collected when the last process using it dies. UNIX
> file lock does not.

Windows mutexes are mainly useful only for ensuring the dubious feature of
allowing only one instance of an application to run.

If a mutex is actually used to protect shared data against concurrent
access, and the owner dies while holding the mutex, the next thread
to try to grab the mutex must be informed so it can try to recover
the shared data into a sane state.

POSIX process-shared mutexes have this "robust" feature as an option.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: Python (was Re: I did not inhale)
From: Kaz Kylheku
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 16:52 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 16:52:18 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <20240818094627.218@kylheku.com>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9sbf4$2artq$1@dont-email.me> <v9shqt$2bn73$1@dont-email.me>
<v9t4vm$2eg9b$1@dont-email.me> <v9t6jg$2e96d$1@dont-email.me>
Injection-Date: Sun, 18 Aug 2024 18:52:18 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="2b17ba883f856406324d250d25e0a3ae";
logging-data="2586842"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18tSaYPbbBYUSbSi92VzdjY1N2r+Z6p6wg="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:OOctuzr4SP0TE9qKKtb9eXfj9TA=
View all headers

On 2024-08-18, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> If you want to compare Windows vs UNIX API, create a table and list
> commonly used process communication things. In the cells write the API
> call. E.g. mutex, pipe, pulse event etc.

PulseEvent is an unreliable API left over from 16 bit Windows.
It can only work meaningfully under cooperative multitasking on
a single processor.

Even Windows NT apologists from 1996 era comp.sys.os.advocacy
knew things like this; when/where were you beamed in from?

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: C function prototype was Python (was Re: I did not inhale)
From: David Brown
Newsgroups: comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 17:54 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.brown@hesbynett.no (David Brown)
Newsgroups: comp.lang.misc
Subject: Re: C function prototype was Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 19:54:19 +0200
Organization: A noiseless patient Spider
Lines: 52
Message-ID: <v9tcgb$2fdj5$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9t204$2dofg$1@dont-email.me> <v9t7tn$2eiop$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 18 Aug 2024 19:54:19 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="dcf5933836487a5711ce49e3b1d68f43";
logging-data="2602597"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19bQSjsbPQljJbW77dGYur2VsIf9mGTwOg="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:YkPucpbVJvHnx8wcjmlllzV34n0=
In-Reply-To: <v9t7tn$2eiop$1@dont-email.me>
Content-Language: en-GB
View all headers

On 18/08/2024 18:36, James Harris wrote:
> On 18/08/2024 15:55, David Brown wrote:
>
> ...
>
>> What does "static" mean inside square brackets in a C function prototype?
>
> I know there's a better newsgroup for it but, since you brought it up
> and it does also fit here, I should say that I had no idea that a C
> program could have square brackets in a function prototype and I cannot
> think of ever seeing such a thing.
>

I didn't mean we should go into detail about such features - it's just
an example of a feature of the core language of C that most C
programmers don't know about, and the lack of that knowledge does not
prevent them being able to write code in C. It is not a useful feature.

If you write "int foo(int xs[static 10]);", then it is undefined
behaviour to call "foo" with an argument that does not point to an array
of at least 10 elements (and it is therefore also UB to call it with a
null pointer). In theory, this could give a few more opportunities for
static error checking or optimisation. In practice, compilers will give
you exactly the same checks and optimisations without the "static".

> I presume you do mean C and not some sort of compiler extension.

Yes.

>
> As for static, IIRC labelling as "static" any external name (i.e. one
> not in a function) would make it private to the CU and not visible
> outside but that is just a guess.

It is also used for local variables in functions - these then have the
same scope as another local variable in the same place, but have
program-static lifetime.

But the use in array parameters is not related to either of these, and
is IMHO a potentially confusing and basically useless additional use of
the keyword.

(If anyone knows of it being useful in this context, please say so!)

>
> Or perhaps you meant a static formal parameter. Again, not something
> I've ever come across and would be curious as to what it meant.
>
> Would you care to say more about what you had in mind?
>
>

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 18:07 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 20:07:39 +0200
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <v9td99$2flkf$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9sbf4$2artq$1@dont-email.me> <v9shqt$2bn73$1@dont-email.me>
<v9t4vm$2eg9b$1@dont-email.me> <v9t6jg$2e96d$1@dont-email.me>
<20240818094627.218@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 18 Aug 2024 20:07:38 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="03e87f546f2e8f955e712fe5fed38868";
logging-data="2610831"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ADAAEQOdk+pNE4QxftFTcTtP4JYboH9w="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:CegMJTLV2cM3zCM4ZKuNs0+cQkk=
Content-Language: en-US
In-Reply-To: <20240818094627.218@kylheku.com>
View all headers

On 2024-08-18 18:52, Kaz Kylheku wrote:
> On 2024-08-18, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>> If you want to compare Windows vs UNIX API, create a table and list
>> commonly used process communication things. In the cells write the API
>> call. E.g. mutex, pipe, pulse event etc.
>
> PulseEvent is an unreliable API left over from 16 bit Windows.

It has a race condition, yes. But the argument is "Green are the grapes."

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 18:11 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 20:11:20 +0200
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <v9tdg7$2flkf$2@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<20240818094145.827@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 18 Aug 2024 20:11:19 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="03e87f546f2e8f955e712fe5fed38868";
logging-data="2610831"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+PxaSNWwKt732jBAWk71IuQYwYrJNxExo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:WE36BjZ7dHJ3TGocuS0ygh2GG+o=
In-Reply-To: <20240818094145.827@kylheku.com>
Content-Language: en-US
View all headers

On 2024-08-18 18:46, Kaz Kylheku wrote:

> If a mutex is actually used to protect shared data against concurrent
> access, and the owner dies while holding the mutex, the next thread
> to try to grab the mutex must be informed so it can try to recover
> the shared data into a sane state.

There is no recovery if a protected operation crashes, because the state
of the object is unknown.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: Keith Thompson
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: None to speak of
Date: Sun, 18 Aug 2024 19:24 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith.S.Thompson+u@gmail.com (Keith Thompson)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 12:24:11 -0700
Organization: None to speak of
Lines: 12
Message-ID: <87wmkdd484.fsf@nosuchdomain.example.com>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de>
<87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9t204$2dofg$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Sun, 18 Aug 2024 21:24:16 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="165039b03562a481d254474a1e374827";
logging-data="2630210"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Nde06mDdZ25FXl4mj7prO"
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:Uok+LdNLTPky8XiuoUtzBc7BGJw=
sha1:XKZzWocQnMoVNeef+jWNj33us50=
View all headers

David Brown <david.brown@hesbynett.no> writes:
[...]
> Without looking it up, what does the C standard library "fegetmode"
> function do?

Nothing, it's specific to GNU libc.

[...]

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

Subject: Re: Python (was Re: I did not inhale)
From: Richard Kettlewell
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: terraraq NNTP server
Date: Sun, 18 Aug 2024 21:15 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.gegeweb.eu!gegeweb.org!nntp.terraraq.uk!.POSTED.tunnel.sfere.anjou.terraraq.org.uk!not-for-mail
From: invalid@invalid.invalid (Richard Kettlewell)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 22:15:53 +0100
Organization: terraraq NNTP server
Message-ID: <wwvle0tbkhi.fsf@LkoBDZeT.terraraq.uk>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de>
<87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9sbf4$2artq$1@dont-email.me> <v9shqt$2bn73$1@dont-email.me>
<v9t4vm$2eg9b$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: innmantic.terraraq.uk; posting-host="tunnel.sfere.anjou.terraraq.org.uk:172.17.207.6";
logging-data="74548"; mail-complaints-to="usenet@innmantic.terraraq.uk"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:ZXihO6rn4jPuCv7J+jS4ZZHEtP4=
X-Face: h[Hh-7npe<<b4/eW[]sat,I3O`t8A`(ej.H!F4\8|;ih)`7{@:A~/j1}gTt4e7-n*F?.Rl^
F<\{jehn7.KrO{!7=:(@J~]<.[{>v9!1<qZY,{EJxg6?Er4Y7Ng2\Ft>Z&W?r\c.!4DXH5PWpga"ha
+r0NzP?vnz:e/knOY)PI-
X-Boydie: NO
View all headers

Muttley@dastardlyhq.com writes:
> Most (all?) versions of unix use copy-on-write when forking so while the
> processes are only reading its no different to threading. I doubt windows
> implements CoW since - in user space at least - it can't do fork and you
> wouldn't need it for executing a brand new process from scratch.

It does. It’s still a handy optimization for the mutable parts of
executables and (particularly) shared libraries even in the absence of
fork.

AIUI the kernel API gives you enough to implement fork (and that’s how
the POSIX subsystem worked when that was still a thing), but good luck
finding any public documentation about it.

> Windows sockets are not integers,

They are an unsigned integer type, I think 64 bits currently.

--
https://www.greenend.org.uk/rjk/

Subject: Re: Python (was Re: I did not inhale)
From: Lawrence D'Oliv
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 23:14 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 23:14:33 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 63
Message-ID: <v9tv8o$2iahp$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 01:14:33 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ef7435e5787fcab0adf5f487629d6274";
logging-data="2697785"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/P/QMui+aa9A0igl6va1GV"
User-Agent: Pan/0.159 (Vovchansk; )
Cancel-Lock: sha1:AcKB9chiCkipaWFPDhCdpht/mmw=
View all headers

On Sun, 18 Aug 2024 10:10:09 +0200, Dmitry A. Kazakov wrote:

> On 2024-08-17 23:51, Lawrence D'Oliveiro wrote:
>
>> On Sat, 17 Aug 2024 12:58:31 +0200, Dmitry A. Kazakov wrote:
>>
>>> Windows inter-process API are far more advanced than what UNIX ever
>>> had. It would be enough to mention famous file locks.
>>
>> Except those file locks are more of a liability than an asset.
>
> Like so many things in UNIX...

People voluntarily choose to use Unix-type OSes. There’s a reason why
Unix-type OSes are the official de-facto standard in the computing world,
not Windows.

>> They are what prevent you from continuing to use a Windows system while
>> it is being updated, for example.
>
> Windows mutex gets collected when the last process using it dies. UNIX
> file lock does not.

What happens to a file lock when there is no file for it to lock?

>>> The reason why processes are not included is that they are used to
>>> deal with some OS or design flaw that forces you to spawn some script
>>> or application.
>>
>> Or because the *nix tradition of being able to spawn a pipeline of
>> multiple processes, all cooperating to perform a common task, is
>> difficult and expensive, or even unreliable, under Windows.
>
> It is as expensive under Windows as it is under UNIX.

No it isn’t. An example is Git, which initially was built around the fork-
multiple-processes model as with traditional *nix software, and ran fine
that way on Linux, but had to compromise on that idea a bit in order to
gain acceptance under Windows.

Remember, the current Windows (aka Windows NT) was masterminded by Dave
Cutler, who came from the nest of Unix-haters at DEC. He carried over many
of the characteristics of his last major brainchild there, VMS. One of
them is that creating multiple processes is expensive, so you try to avoid
it.

> Windows has a pipe object named and anonymous. No problem.

One problem: you can’t use them with poll/select calls.

> P.S. It is no wonder that Windows process API are far beyond UNIX.

Linux has clone(2). This can create regular POSIX-style processes, as well
as regular POSIX-style threads. And quite a few things in-between.

> On the other hand, Windows NT was developed by people influenced with
> the VMS design. VMS had a very elaborated process communication API.

And single drive letters?

> They usually require processes be able to run on different nodes.

Massive parallelism is something else Linux does better than Windows.

Subject: Re: Python (was Re: I did not inhale)
From: Lawrence D'Oliv
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 23:18 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Sun, 18 Aug 2024 23:18:01 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <v9tvf9$2iahp$2@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9sbf4$2artq$1@dont-email.me> <v9shqt$2bn73$1@dont-email.me>
<v9t4vm$2eg9b$1@dont-email.me> <v9t6jg$2e96d$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 01:18:01 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ef7435e5787fcab0adf5f487629d6274";
logging-data="2697785"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18iYTFxkhZutZASU7mdig+h"
User-Agent: Pan/0.159 (Vovchansk; )
Cancel-Lock: sha1:vZjy6M9oQgjKxRZhYFPOkcBBD+k=
View all headers

On Sun, 18 Aug 2024 18:13:37 +0200, Dmitry A. Kazakov wrote:

> Windows did many things wrong, but accessing file descriptors by numbers
> is beyond even Windows. In Windows a file is an OS object. You access it
> getting an opaque handle to. Note that a handle can be marshaled from
> one process to another. Try that with process-local numbers!

Actually, that is a standard feature of “Unix” sockets, as available on
Linux, the BSDs, and all the other *nixes: being able to pass file
descriptors for open files from one process to another.

Subject: Re: Python (was Re: I did not inhale)
From: Eric Pozharski
Newsgroups: comp.unix.programmer, comp.lang.misc
Followup: comp.unix.programmer
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 20:47 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: apple.universe@posteo.net (Eric Pozharski)
Newsgroups: comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Followup-To: comp.unix.programmer
Date: Sun, 18 Aug 2024 20:47:46 +0000
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <slrnvc4nfi.235.apple.universe@freight.zombinet>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
Injection-Date: Mon, 19 Aug 2024 03:33:09 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="747bed46b9516b2762066fd259b22c55";
logging-data="2748233"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+HhxsFbqLJ5mTnOLSiPvJD"
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:Zqv/lgWbT+9l43rMCkCa0HyzxuU=
View all headers

["Followup-To:" header set to comp.unix.programmer.]
["Newsgroups:" comp.unix.shell has been dropped.]
with <v9pvoo$1sn55$1@dont-email.me> Dmitry A. Kazakov wrote:
> On 2024-08-17 11:01, Muttley@dastardlyhq.com wrote:
>> On Fri, 16 Aug 2024 15:02:20 -0000 (UTC)
>> kalevi@kolttonen.fi (Kalevi Kolttonen) gabbled:

>>> So it is indeed a vague question of what belongs in given
>>> programming languages.
>> Indeed. And this gives rise to inconsistency. Why is threading now
>> considered a core part of C++ but multi process isn't? Perhaps
>> because Windows is hopeless at the latter in user space but it could
>> just be personal preference within the C++ steering committee, who
>> knows.
> Windows inter-process API are far more advanced than what UNIX ever
> had. It would be enough to mention famous file locks. These days

But at what cost? (Hint: <CVE-2024-38063>.)

*SKIP* [ 6 lines 1 level deep]

--
Torvalds' goal for Linux is very simple: World Domination
Stallman's goal for GNU is even simpler: Freedom

Subject: Re: Python (was Re: I did not inhale)
From: Kaz Kylheku
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 04:54 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 04:54:44 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <20240818215317.300@kylheku.com>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<20240818094145.827@kylheku.com> <v9tdg7$2flkf$2@dont-email.me>
Injection-Date: Mon, 19 Aug 2024 06:54:44 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="896f64b1942145a2d62fd9abf0eabcbc";
logging-data="2896986"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19eWQgxn2ioHyyGJrKd/gNNYd16waw/2hs="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:KatWZalx3X4kjC4OGLupx5VZnIc=
View all headers

On 2024-08-18, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On 2024-08-18 18:46, Kaz Kylheku wrote:
>
>> If a mutex is actually used to protect shared data against concurrent
>> access, and the owner dies while holding the mutex, the next thread
>> to try to grab the mutex must be informed so it can try to recover
>> the shared data into a sane state.
>
> There is no recovery if a protected operation crashes, because the state
> of the object is unknown.

That is false; the object's state can be analyzed and repaired. How
easily you can do that depends on the data structure and algorithms
used to manipulate it. Think of recoverable file systems.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 07:09 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 09:09:09 +0200
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <v9ur2l$2pdrg$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<20240818094145.827@kylheku.com> <v9tdg7$2flkf$2@dont-email.me>
<20240818215317.300@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 19 Aug 2024 09:09:09 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7f0f8cffd5f8b7dd36dcbeaaba75ce11";
logging-data="2930544"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18d5J/7G3R6w/ZNWz7zJKz6XOhB3OtME7w="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Jc4GQToYdGtoYneAw4LHpjDNYv8=
Content-Language: en-US
In-Reply-To: <20240818215317.300@kylheku.com>
View all headers

On 2024-08-19 06:54, Kaz Kylheku wrote:
> On 2024-08-18, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>> On 2024-08-18 18:46, Kaz Kylheku wrote:
>>
>>> If a mutex is actually used to protect shared data against concurrent
>>> access, and the owner dies while holding the mutex, the next thread
>>> to try to grab the mutex must be informed so it can try to recover
>>> the shared data into a sane state.
>>
>> There is no recovery if a protected operation crashes, because the state
>> of the object is unknown.
>
> That is false; the object's state can be analyzed and repaired.

The object must be designed in a special way in order to support roll
backs etc. Such techniques exclude concurrent access, e.g. memory is
never overwritten etc.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 07:37 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 09:37:39 +0200
Organization: A noiseless patient Spider
Lines: 79
Message-ID: <v9uso3$2pdrg$2@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 09:37:39 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7f0f8cffd5f8b7dd36dcbeaaba75ce11";
logging-data="2930544"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/+pfP3HOWhup4ZvdefnkEVjtzheDaGRNg="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:AA9Ud7PSBgwg0vuOuO/SLjEB2xs=
In-Reply-To: <v9tv8o$2iahp$1@dont-email.me>
Content-Language: en-US
View all headers

On 2024-08-19 01:14, Lawrence D'Oliveiro wrote:
> On Sun, 18 Aug 2024 10:10:09 +0200, Dmitry A. Kazakov wrote:
>
>> On 2024-08-17 23:51, Lawrence D'Oliveiro wrote:
>>
>>> On Sat, 17 Aug 2024 12:58:31 +0200, Dmitry A. Kazakov wrote:
>>>
>>>> Windows inter-process API are far more advanced than what UNIX ever
>>>> had. It would be enough to mention famous file locks.
>>>
>>> Except those file locks are more of a liability than an asset.
>>
>> Like so many things in UNIX...
>
> People voluntarily choose to use Unix-type OSes. There’s a reason why
> Unix-type OSes are the official de-facto standard in the computing world,
> not Windows.

Both OSes contributed to the Dark Ages of computing. The reasons are not
technical, because both were worst on the market. The similar process
happened with programming languages, e.g. C and with the hardware
architectures, e.g. x86. It is always a race to the bottom...

>>> They are what prevent you from continuing to use a Windows system while
>>> it is being updated, for example.
>>
>> Windows mutex gets collected when the last process using it dies. UNIX
>> file lock does not.
>
> What happens to a file lock when there is no file for it to lock?

Windows does not use lock files. Under Linux you must log in as the root
and remove the stray file lock manually. It happens in UNIX
administration all the time.

> Remember, the current Windows (aka Windows NT) was masterminded by Dave
> Cutler, who came from the nest of Unix-haters at DEC. He carried over many
> of the characteristics of his last major brainchild there, VMS. One of
> them is that creating multiple processes is expensive, so you try to avoid
> it.

A wise decision. The look of UNIX SysV process list was a sheer horror
to any user of RSX or VMS. No wonder UNIX was many times slower on same
machines. A VMS 1Mb machine supported 4 users running an interactive IDE
sessions (in LSE). UNIX users enjoyed Vi and permanent fatal crashes.
The early filesystem rewrote the master block, so after the crash you
could not boot anymore and have to restore the system from the tape.
Under RSX you could turn the main disk off and on without reboot.

The reason why Windows NT could no compete Linux on servers is
unbearable maintenance and being fat. Linux had a monolithic kernel. I
compiled it for each machine to include only drivers I needed. I did not
install X11 stuff. The result was twice leaner than Windows NT.

On the other hand you still cannot have decent gaming under Linux.

>> Windows has a pipe object named and anonymous. No problem.
>
> One problem: you can’t use them with poll/select calls.

You can. See overlapped I/O.

>> P.S. It is no wonder that Windows process API are far beyond UNIX.
>
> Linux has clone(2). This can create regular POSIX-style processes, as well
> as regular POSIX-style threads. And quite a few things in-between.
>
>> On the other hand, Windows NT was developed by people influenced with
>> the VMS design. VMS had a very elaborated process communication API.
>
> And single drive letters?

They are dozens characters long actually, if you mean the device names.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: David Brown
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 07:44 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.brown@hesbynett.no (David Brown)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 09:44:56 +0200
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <v9ut5o$2pm4m$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9t204$2dofg$1@dont-email.me> <87wmkdd484.fsf@nosuchdomain.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 19 Aug 2024 09:44:56 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="13ca869cc57f3544f40c1966610e7f05";
logging-data="2939030"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/MZmfZp61eXcJFsyqeOIuHw6pltf1T6yg="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:S9TyChySS8bE5KHsD/SCfL7xLWI=
In-Reply-To: <87wmkdd484.fsf@nosuchdomain.example.com>
Content-Language: en-GB
View all headers

On 18/08/2024 21:24, Keith Thompson wrote:
> David Brown <david.brown@hesbynett.no> writes:
> [...]
>> Without looking it up, what does the C standard library "fegetmode"
>> function do?
>
> Nothing, it's specific to GNU libc.
>

(This has been discussed in a follow-up in comp.lang.c, but others here
might not see that.)

The function is in standard C23, but not earlier C standard versions.
C23 has not yet been adopted by ISO (it is due in a couple of months),
so "fegetmode" is not part of current standard C. But it will be soon.

Anyway, the point is that most C programmers can write useful C code
without knowing about such functions. I didn't intend to pick a new C23
function as an example, just a relatively obscure C standard library
function, and the standard version I happened to have open at the time
was C23.

Subject: Re: Python (was Re: I did not inhale)
From: Muttley@dastardlyhq.com
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 08:31 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Muttley@dastardlyhq.com
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 08:31:29 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 91
Message-ID: <v9uvt0$2q67i$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9sbf4$2artq$1@dont-email.me> <v9shqt$2bn73$1@dont-email.me>
<v9t4vm$2eg9b$1@dont-email.me>
<v9t6jg$2e96d$1@dont-email.me>
Injection-Date: Mon, 19 Aug 2024 10:31:29 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="50ecb2c92065ef4bbac9dec84c76b69e";
logging-data="2955506"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18L8hzkSKXeUuphdtQWjuka"
Cancel-Lock: sha1:evAgxvT4lCFxLCllyFu/5NrgUaM=
View all headers

On Sun, 18 Aug 2024 18:13:37 +0200
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> boringly babbled:
>On 2024-08-18 17:45, Muttley@dastardlyhq.com wrote:
>> On Sun, 18 Aug 2024 12:19:10 +0200
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> boringly babbled:
>>> On 2024-08-18 10:30, Muttley@dastardlyhq.com wrote:
>>>
>>>> The windows process API is crippled which is why threading is the main
>>>> parallel processing method in Windows and has been since 3.0.
>>>
>>> Threading is the main method because of its performance in a tight
>>> coupled application. Crossing the process borders is very expensive.
>>
>> Most (all?) versions of unix use copy-on-write when forking
>
>You seems do not understand that spawning a process is not an issue of
>interprocess communications. It is synchronization, e.g. events, mutexes
>which is.

Huh? I'm talking about the cost of spawning a CoW process vs a thread.

>> Also shared memory is pretty cheap too.
>
>Again, you need to synchronize in order to access shared objects, not to
>mention elaboration of such objects, e.g. calling constructors and
>destructors. With threads there is a linker support in most languages.
>With processes you are on your own.

No idea what you're talking about. Wtf have constructors and destructors
got to do with forking a process? A process fork involves creating a new
process table entry with a copy of all the parents memory page pointers and
thats pretty much it, until the child process starts to change some page data
then CoW kicks in.

>In the same library you might find portable implementation of basic
>communication objects and compare Windows vs Linux vs BSD implementations:
>
> http://www.dmitry-kazakov.de/ada/components.htm#12
>
>> No idea what the pages of all that crap is.
>
>Hmm, if you ever dealt with networking applications you should have had
>some idea...

I've probably written more network applications than you can imagine and
the networking functionality side - on unix - is usually pretty simple (unless
you have to use OpenSSL then things can get tricky). I don't know why you would
need all those pages of code just to handle sockets.

>> Windows sockets are not integers ,
>
>Windows did many things wrong, but accessing file descriptors by numbers
>is beyond even Windows. In Windows a file is an OS object. You access it
>getting an opaque handle to. Note that a handle can be marshaled from
>one process to another. Try that with process-local numbers!

Open sockets are inherited by the child process after fork(). No marshalling
nonsense required.

>> they can't be multiplexed with file
>> descriptors, pipes etc in a single call.
>
>Of course it can. Windows overlapped I/O supports sockets.

Not last time I tried it (2019) it didn't.

>> Like what? Why does the OS need to manage "objects"?
>
>Like a graphic context or a mutex. Things that leak if the process dies
>unless the OS takes care of.

Unix uses X11 (or wayland if you're unlucky) for graphics - even MacOS with
XQuartx installed. When the process dies all its graphics contexts die with it
and the OS is not involved.

>> I'm not talking about now, I was talking about when NT came out. Learn to
>> read.
>
>Honestly I do not know what you are talking about. The option to change
>the scheduling interval existed in Windows NT.

*sigh* Never mind.

>If you want to compare Windows vs UNIX API, create a table and list
>commonly used process communication things. In the cells write the API
>call. E.g. mutex, pipe, pulse event etc.

I have something called "a life" so no, I'm not wasting hours just to keep
some random poster happy. I'm sure someone has already done it and it can be
googled.

Subject: Re: Python (was Re: I did not inhale)
From: David Brown
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 08:40 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.brown@hesbynett.no (David Brown)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 10:40:32 +0200
Organization: A noiseless patient Spider
Lines: 133
Message-ID: <v9v0e0$2q822$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 10:40:33 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="13ca869cc57f3544f40c1966610e7f05";
logging-data="2957378"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191DZ8EYomausnaP4Axw19to+52Lmix3pQ="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:Cxrg82UGygDeqIcO3c4FSqDw1dw=
Content-Language: en-GB
In-Reply-To: <v9uso3$2pdrg$2@dont-email.me>
View all headers

On 19/08/2024 09:37, Dmitry A. Kazakov wrote:
> On 2024-08-19 01:14, Lawrence D'Oliveiro wrote:
>> On Sun, 18 Aug 2024 10:10:09 +0200, Dmitry A. Kazakov wrote:
>>
>>> On 2024-08-17 23:51, Lawrence D'Oliveiro wrote:
>>>
>>>> On Sat, 17 Aug 2024 12:58:31 +0200, Dmitry A. Kazakov wrote:
>>>>
>>>>> Windows inter-process API are far more advanced than what UNIX ever
>>>>> had. It would be enough to mention famous file locks.
>>>>
>>>> Except those file locks are more of a liability than an asset.
>>>
>>> Like so many things in UNIX...
>>
>> People voluntarily choose to use Unix-type OSes. There’s a reason why
>> Unix-type OSes are the official de-facto standard in the computing world,
>> not Windows.
>
> Both OSes contributed to the Dark Ages of computing. The reasons are not
> technical, because both were worst on the market.

What sort of time-frame are you thinking of here, what were the
alternatives that you think were "better", what markets or uses are you
considering, and in what way were other OS's "better" ?

There's no doubt that non-technical issues have had a big influence on
which OS's or types of OS have succeeded, but you seem to have something
specific in mind.

> The similar process
> happened with programming languages, e.g. C and with the hardware
> architectures, e.g. x86. It is always a race to the bottom...
>

The success of the x86 was very much a race to the bottom - it was
picked specifically to give a cheaper system rather than the technically
superior architecture (m68k) preferred by the engineers. Momentum and
backwards compatibility has kept it going ever since.

I am not as convinced with respect to C. It certainly has its flaws,
and it certainly has been, and continues to be, used in situations where
it is not a good choice of language. But I think much of the bad
reputation of C is the result of poor C programmers and poor use of the
language, rather than the language itself. Good programmers will write
good code in any language, bad programmers (or badly managed
programmers) will write bad code in any language.

>>>> They are what prevent you from continuing to use a Windows system while
>>>> it is being updated, for example.
>>>
>>> Windows mutex gets collected when the last process using it dies. UNIX
>>> file lock does not.
>>
>> What happens to a file lock when there is no file for it to lock?
>
> Windows does not use lock files.

Windows has locks on files, which are a different thing. While I can
understand the point of them, they can be a real inconvenience (try
deleting a directory tree when a file from that tree is in use).

> Under Linux you must log in as the root
> and remove the stray file lock manually. It happens in UNIX
> administration all the time.

As someone who has administrated Linux servers for decades, and used it
as my desktop OS on many machines, I am not sure I can ever remember
removing a stray lock file. Certainly needing to do so "all the time"
is a very wild exaggeration. Linux, like all systems, undoubtedly has
its flaws and weaknesses, but this is not one of them IME.

>
>> Remember, the current Windows (aka Windows NT) was masterminded by Dave
>> Cutler, who came from the nest of Unix-haters at DEC. He carried over
>> many
>> of the characteristics of his last major brainchild there, VMS. One of
>> them is that creating multiple processes is expensive, so you try to
>> avoid
>> it.
>
> A wise decision. The look of UNIX SysV process list was a sheer horror
> to any user of RSX or VMS. No wonder UNIX was many times slower on same
> machines. A VMS 1Mb machine supported 4 users running an interactive IDE
> sessions (in LSE). UNIX users enjoyed Vi and permanent fatal crashes.
> The early filesystem rewrote the master block, so after the crash you
> could not boot anymore and have to restore the system from the tape.
> Under RSX you could turn the main disk off and on without reboot.
>

Times change. Needs and uses change. Hardware changes.

Keeping things separate and modular has advantages in scalability,
security and stability. Keeping things monolithic has advantages in
efficiency (speed and memory) and consistency. There is no "right" answer.

> The reason why Windows NT could no compete Linux on servers is
> unbearable maintenance and being fat. Linux had a monolithic kernel. I
> compiled it for each machine to include only drivers I needed. I did not
> install X11 stuff. The result was twice leaner than Windows NT.
>
> On the other hand you still cannot have decent gaming under Linux.
>

I do almost all my gaming under Linux. Some games do work better under
Windows, but that is primarily because most games developers target
Windows as their main platform. It may also be because Linux systems
are more varied.

>>> Windows has a pipe object named and anonymous. No problem.
>>
>> One problem: you can’t use them with poll/select calls.
>
> You can. See overlapped I/O.
>
>>> P.S. It is no wonder that Windows process API are far beyond UNIX.
>>
>> Linux has clone(2). This can create regular POSIX-style processes, as
>> well
>> as regular POSIX-style threads. And quite a few things in-between.
>>
>>> On the other hand, Windows NT was developed by people influenced with
>>> the VMS design. VMS had a very elaborated process communication API.
>>
>> And single drive letters?
>
> They are dozens characters long actually, if you mean the device names.
>

I thought by "drive letters", he meant "drive letters" - "c:", "d:", etc.

Subject: Re: Python (was Re: I did not inhale)
From: Lawrence D'Oliv
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 08:45 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 08:45:26 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <v9v0n6$2q8h3$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 10:45:27 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7444151bca89b0c24707f9f31119bacd";
logging-data="2957859"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/LAxNQuzFHkNxmGgfyr1RY"
User-Agent: Pan/0.159 (Vovchansk; )
Cancel-Lock: sha1:8YJXY6AWYjDCvgUYTpojpQ3E3Yg=
View all headers

On Mon, 19 Aug 2024 09:37:39 +0200, Dmitry A. Kazakov wrote:

> On 2024-08-19 01:14, Lawrence D'Oliveiro wrote:
>
> Both OSes contributed to the Dark Ages of computing. The reasons are not
> technical, because both were worst on the market.

To paraphrase Winston Churchill: “Unix is the worst OS in the world ...
apart from all the others.”

> Windows does not use lock files.

*nix systems don’t need them either.

> The reason why Windows NT could no compete Linux on servers is
> unbearable maintenance and being fat. Linux had a monolithic kernel. I
> compiled it for each machine to include only drivers I needed. I did not
> install X11 stuff. The result was twice leaner than Windows NT.

You don’t think the design of Windows NT contributed to that failure?

> On the other hand you still cannot have decent gaming under Linux.

Actually, you can. Look at the Steam Deck, which runs a purpose-built GUI
for handheld gaming. Microsoft has been talking about bringing out a
Windows “Handheld Mode” for about two years now, but still has nothing to
ship.

>> On Sun, 18 Aug 2024 10:10:09 +0200, Dmitry A. Kazakov wrote:
>>
>>> Windows has a pipe object named and anonymous. No problem.
>>
>> One problem: you can’t use them with poll/select calls.
>
> You can. See overlapped I/O.

I said “poll/select calls”. Do you not know what those are? On Windows,
they work with sockets, but not with pipes. Or even ordinary files. So
unlike *nix systems, you have to keep in mind the different kinds of files
you might be working with.

>> And single drive letters?
>
> They are dozens characters long actually, if you mean the device names.

Drive names are only single letters. You’re not talking about reserved
file names, are you?

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 10:39 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 12:39:33 +0200
Organization: A noiseless patient Spider
Lines: 82
Message-ID: <v9v7d4$2r6q2$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0e0$2q822$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 12:39:33 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7f0f8cffd5f8b7dd36dcbeaaba75ce11";
logging-data="2988866"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19tLZu3HSF34clvp0TDjEoReG3podVI/gY="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:aJ6gCx9KYtlVlCpPOsp2KaLiamE=
Content-Language: en-US
In-Reply-To: <v9v0e0$2q822$1@dont-email.me>
View all headers

On 2024-08-19 10:40, David Brown wrote:
> On 19/08/2024 09:37, Dmitry A. Kazakov wrote:

>> Both OSes contributed to the Dark Ages of computing. The reasons are
>> not technical, because both were worst on the market.
>
> What sort of time-frame are you thinking of here, what were the
> alternatives that you think were "better", what markets or uses are you
> considering, and in what way were other OS's "better" ?
>
> There's no doubt that non-technical issues have had a big influence on
> which OS's or types of OS have succeeded, but you seem to have something
> specific in mind.

I think the main reason is that we do not pay the actual costs of
software developing. OS, compiler require huge investments. Vendors
never passed these to the end users funding developing from other
sources. That effectively killed the market. Free software only
aggravated the situation. In effect it is akin to the socialist
production method which always kills quality.

> Windows has locks on files, which are a different thing.  While I can
> understand the point of them, they can be a real inconvenience (try
> deleting a directory tree when a file from that tree is in use).

Oh, yes! I understand why I should not remove a locked file, but I still
enjoy Linux's ability to remove anything an be it all damned!

The usual case is when Windows locks some file on the Linux Samba server
share for some mysterious reason. It is a sheer fun to log into the
server do "rm -rf" on the file and then go back to Windows: "eat that!"

>> Under Linux you must log in as the root and remove the stray file lock
>> manually. It happens in UNIX administration all the time.
>
> As someone who has administrated Linux servers for decades, and used it
> as my desktop OS on many machines, I am not sure I can ever remember
> removing a stray lock file.  Certainly needing to do so "all the time"
> is a very wild exaggeration.  Linux, like all systems, undoubtedly has
> its flaws and weaknesses, but this is not one of them IME.

In main case it is packet manager. I am too lazy to find how to turn off
automatic update checks. So when I try to run apt or dnf I have to kill
the lock.

> Times change.  Needs and uses change.  Hardware changes.
>
> Keeping things separate and modular has advantages in scalability,
> security and stability.  Keeping things monolithic has advantages in
> efficiency (speed and memory) and consistency.  There is no "right" answer.

Yes. E.g. in automotive you still need the system booted right after you
turned the key.

Initially an ability to trim the system and sometimes to patch a driver
was a huge advantage Linux had over Windows NT.

>> On the other hand you still cannot have decent gaming under Linux.
>
> I do almost all my gaming under Linux.  Some games do work better under
> Windows, but that is primarily because most games developers target
> Windows as their main platform.  It may also be because Linux systems
> are more varied.

"You are in an open field on the west side of a white house with a
boarded front door." That sort of games? (:-))

>>> And single drive letters?
>>
>> They are dozens characters long actually, if you mean the device names.
>
> I thought by "drive letters", he meant "drive letters" - "c:", "d:", etc.

The official file name of "C:" would be some messy string with lots of
backslashes. C: is a "DOS name." There are API to convert DOS names into
proper names. It is a mess. All Windows API is a mess.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 11:03 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 13:03:23 +0200
Organization: A noiseless patient Spider
Lines: 60
Message-ID: <v9v8pr$2r6q2$2@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0n6$2q8h3$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 13:03:23 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7f0f8cffd5f8b7dd36dcbeaaba75ce11";
logging-data="2988866"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19LBB24V4kZnXQzqpHgZf0MCO177ripQsE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:FhCAP8TdV4t+Wxy2jHjtlA/l/eY=
Content-Language: en-US
In-Reply-To: <v9v0n6$2q8h3$1@dont-email.me>
View all headers

On 2024-08-19 10:45, Lawrence D'Oliveiro wrote:
> On Mon, 19 Aug 2024 09:37:39 +0200, Dmitry A. Kazakov wrote:
>
>> The reason why Windows NT could no compete Linux on servers is
>> unbearable maintenance and being fat. Linux had a monolithic kernel. I
>> compiled it for each machine to include only drivers I needed. I did not
>> install X11 stuff. The result was twice leaner than Windows NT.
>
> You don’t think the design of Windows NT contributed to that failure?

No. The design of Windows HAL was great. It is rather the business model
Microsoft pursued.

>> On the other hand you still cannot have decent gaming under Linux.
>
> Actually, you can. Look at the Steam Deck, which runs a purpose-built GUI
> for handheld gaming.

Well, handheld gaming to gaming is like masturbation to love. Sorry...

Microsoft has been talking about bringing out a
> Windows “Handheld Mode” for about two years now, but still has nothing to
> ship.
>
>>> On Sun, 18 Aug 2024 10:10:09 +0200, Dmitry A. Kazakov wrote:
>>>
>>>> Windows has a pipe object named and anonymous. No problem.
>>>
>>> One problem: you can’t use them with poll/select calls.
>>
>> You can. See overlapped I/O.
>
> I said “poll/select calls”. Do you not know what those are? On Windows,
> they work with sockets, but not with pipes. Or even ordinary files. So
> unlike *nix systems, you have to keep in mind the different kinds of files
> you might be working with.

Again. It is called overlapped I/O. You can start multiple
*asynchronous* I/O operations from a thread. It can be done on any sets
of file handles. When an I/O event happens on a handle the corresponding
event gets signaled. select() behavior is achieved by
WaitForMultipleObjects that waits for multiple events. Then you check
the overlapped results. If you never wait and only check the overlapped
results that would be polling.

>>> And single drive letters?
>>
>> They are dozens characters long actually, if you mean the device names.
>
> Drive names are only single letters. You’re not talking about reserved
> file names, are you?

No, I am talking about proper file paths under Windows. Letters is a DOS
layer on top of it. E.g. see QueryDosDeviceW call.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: Bart
Newsgroups: comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 13:47 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bc@freeuk.com (Bart)
Newsgroups: comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 14:47:39 +0100
Organization: A noiseless patient Spider
Lines: 69
Message-ID: <v9vidr$2spbt$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0e0$2q822$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 15:47:39 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="0bf1a1454db720ab6572298efe4d41ce";
logging-data="3040637"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+PlR9KbrijVtBqU1O7cbqp"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:AFo1RU5yJDpn4VUOs6aLMtF1sz4=
Content-Language: en-GB
In-Reply-To: <v9v0e0$2q822$1@dont-email.me>
View all headers

On 19/08/2024 09:40, David Brown wrote:
> On 19/08/2024 09:37, Dmitry A. Kazakov wrote:

>> The similar process happened with programming languages, e.g. C and
>> with the hardware architectures, e.g. x86. It is always a race to the
>> bottom...
>>
>
> The success of the x86 was very much a race to the bottom - it was
> picked specifically to give a cheaper system rather than the technically
> superior architecture (m68k) preferred by the engineers.  Momentum and
> backwards compatibility has kept it going ever since.
>
> I am not as convinced with respect to C.  It certainly has its flaws,
> and it certainly has been, and continues to be, used in situations where
> it is not a good choice of language.  But I think much of the bad
> reputation of C is the result of poor C programmers and poor use of the
> language, rather than the language itself.

It is the language itself. So many stupid quirks which ended up as
indispensible 'features' which meant you had to keep them forever.

Features which, granted that C is generally considered unsafe, just make
it stupidly unsafe.

Plus not helped by tooling which insists on allowing ancient, unsafe
practices by default so that again, bad habits and uses of unsafe
features are perpetuated.

(You of course will insist that such tools must only used with an
appropriate set of options to tune the language dialect to safer one.

In that case, you surely wouldn't object to defaulting to a safer
dialect and requiring an option to build legacy code.)

> Good programmers will write
> good code in any language, bad programmers (or badly managed
> programmers) will write bad code in any language.

C makes it considerably easier. I can't reproduce this in my language
for example:

int F() {
F(1,2.3,"four",F,F());
}

gcc 14.1.0 passes this by default.

Or this:

void G(int* p) {p[12345];}

int main() {
int i=0;
G(&i);

int (*A)[10];

*(A[i]); // index then deref is valid (this one is wrong)
(*A)[i]; // so is deref then index!

}

Again, gcc 14.1.0 passes it. (If pushed, it will report things like
'statement with no effect' or missing initialisation. I can fix those,
but the program is still likely to crash if run.)

Subject: Re: Python (was Re: I did not inhale)
From: Muttley@dastardlyhq.com
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 14:59 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Muttley@dastardlyhq.com
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 14:59:22 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <v9vmk9$2tga8$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0e0$2q822$1@dont-email.me>
<v9v7d4$2r6q2$1@dont-email.me>
Injection-Date: Mon, 19 Aug 2024 16:59:22 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="50ecb2c92065ef4bbac9dec84c76b69e";
logging-data="3064136"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18TlnkB0aPS3PWblbcsBRwx"
Cancel-Lock: sha1:YTPYTjQTVsnCs1h2uBLOdpStr+4=
View all headers

On Mon, 19 Aug 2024 12:39:33 +0200
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> boringly babbled:
>On 2024-08-19 10:40, David Brown wrote:
>> On 19/08/2024 09:37, Dmitry A. Kazakov wrote:
>> There's no doubt that non-technical issues have had a big influence on
>> which OS's or types of OS have succeeded, but you seem to have something
>> specific in mind.
>
>I think the main reason is that we do not pay the actual costs of
>software developing. OS, compiler require huge investments. Vendors
>never passed these to the end users funding developing from other
>sources. That effectively killed the market. Free software only
>aggravated the situation. In effect it is akin to the socialist
>production method which always kills quality.

You are a comedian arn't you. Its not a good idea to criticise the quality
of OSS when at the same time advocating for Windows, an OS thats had more
security holes than the entire cheese production of switzerland.

>Initially an ability to trim the system and sometimes to patch a driver
>was a huge advantage Linux had over Windows NT.

Linux can also load and unload drivers on the fly unlike Windows which AFAIK
still requires a reboot each time.

Subject: Re: Python (was Re: I did not inhale)
From: Dmitry A. Kazakov
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 15:35 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mailbox@dmitry-kazakov.de (Dmitry A. Kazakov)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 17:35:46 +0200
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <v9vooh$2tpcu$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0e0$2q822$1@dont-email.me> <v9v7d4$2r6q2$1@dont-email.me>
<v9vmk9$2tga8$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 19 Aug 2024 17:35:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7f0f8cffd5f8b7dd36dcbeaaba75ce11";
logging-data="3073438"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18vqGf8k4acpuj8KuJ/8LGIxX1WAkKe5uw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:CnhRCxhaSf452B5JWvn2oCckKxQ=
Content-Language: en-US
In-Reply-To: <v9vmk9$2tga8$1@dont-email.me>
View all headers

On 2024-08-19 16:59, Muttley@dastardlyhq.com wrote:
> On Mon, 19 Aug 2024 12:39:33 +0200

>> Initially an ability to trim the system and sometimes to patch a driver
>> was a huge advantage Linux had over Windows NT.
>
> Linux can also load and unload drivers on the fly unlike Windows which AFAIK
> still requires a reboot each time.

I was talking about monolithic kernel Linux had in 90's. Plug and play,
kernel modules came much later with much bigger machines. I ran Linux on
i386 25MHz 4Mb. Try it now.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Subject: Re: Python (was Re: I did not inhale)
From: Muttley@dastardlyhq.com
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 15:56 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Muttley@dastardlyhq.com
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 15:56:27 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <v9vpva$2u190$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0e0$2q822$1@dont-email.me> <v9v7d4$2r6q2$1@dont-email.me>
<v9vmk9$2tga8$1@dont-email.me>
<v9vooh$2tpcu$1@dont-email.me>
Injection-Date: Mon, 19 Aug 2024 17:56:27 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="50ecb2c92065ef4bbac9dec84c76b69e";
logging-data="3081504"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19kpVSI2DMRpRteR7odHUv5"
Cancel-Lock: sha1:0VEWcWxfSsqzpMGNe2G44ehyVdw=
View all headers

On Mon, 19 Aug 2024 17:35:46 +0200
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> boringly babbled:
>On 2024-08-19 16:59, Muttley@dastardlyhq.com wrote:
>> On Mon, 19 Aug 2024 12:39:33 +0200
>
>>> Initially an ability to trim the system and sometimes to patch a driver
>>> was a huge advantage Linux had over Windows NT.
>>
>> Linux can also load and unload drivers on the fly unlike Windows which AFAIK
>> still requires a reboot each time.
>
>I was talking about monolithic kernel Linux had in 90's. Plug and play,
>kernel modules came much later with much bigger machines. I ran Linux on
>i386 25MHz 4Mb. Try it now.

Loadable driver modules have been in linux since kernel 1.1 which was mid
90s.

Subject: Re: Python (was Re: I did not inhale)
From: Kaz Kylheku
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 17:40 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 643-408-1753@kylheku.com (Kaz Kylheku)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 17:40:59 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <20240819103934.850@kylheku.com>
References: <uu54la$3su5b$6@dont-email.me>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<20240818094145.827@kylheku.com> <v9tdg7$2flkf$2@dont-email.me>
<20240818215317.300@kylheku.com> <v9ur2l$2pdrg$1@dont-email.me>
Injection-Date: Mon, 19 Aug 2024 19:40:59 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="896f64b1942145a2d62fd9abf0eabcbc";
logging-data="3110786"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/nb4kOt/V2BJBsALB57Taj6pD66PPK3SI="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:RLdtyA8ISNOU2qMyfvNHKXlniwY=
View all headers

On 2024-08-19, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On 2024-08-19 06:54, Kaz Kylheku wrote:
>> On 2024-08-18, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>>> On 2024-08-18 18:46, Kaz Kylheku wrote:
>>>
>>>> If a mutex is actually used to protect shared data against concurrent
^^^^^^^^^^^^^^^^^^^^^^
>>>> access, and the owner dies while holding the mutex, the next thread
>>>> to try to grab the mutex must be informed so it can try to recover
>>>> the shared data into a sane state.
>>>
>>> There is no recovery if a protected operation crashes, because the state
>>> of the object is unknown.
>>
>> That is false; the object's state can be analyzed and repaired.
>
> The object must be designed in a special way in order to support roll
> backs etc. Such techniques exclude concurrent access, e.g. memory is
^^^^^^^^^^^^^^^^^^^^^^^^^^
> never overwritten etc.

Doh.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Subject: Re: Python (was Re: I did not inhale)
From: David Brown
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 19:09 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: david.brown@hesbynett.no (David Brown)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc
Subject: Re: Python (was Re: I did not inhale)
Date: Mon, 19 Aug 2024 21:09:57 +0200
Organization: A noiseless patient Spider
Lines: 171
Message-ID: <va05a6$2vsf9$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me> <uvbfii$3mom0$1@news.xmission.com>
<20240412094809.811@kylheku.com> <87il0mm94y.fsf@tudado.org>
<way-20240413091747@ram.dialup.fu-berlin.de> <87il0lldf8.fsf@tudado.org>
<choices-20240413123957@ram.dialup.fu-berlin.de>
<v9lm2k$12qhv$1@dont-email.me> <v9m4gd$14scu$1@dont-email.me>
<20240815182717.189@kylheku.com> <v9npls$1fjus$1@dont-email.me>
<v9posc$1rpdj$1@dont-email.me> <v9pvoo$1sn55$1@dont-email.me>
<v9r60h$2289h$2@dont-email.me> <v9sa91$2afht$1@dont-email.me>
<v9tv8o$2iahp$1@dont-email.me> <v9uso3$2pdrg$2@dont-email.me>
<v9v0e0$2q822$1@dont-email.me> <v9v7d4$2r6q2$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 21:09:58 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="f833deded671d14d9dc64f84d09e50d3";
logging-data="3142121"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+oqaBcIJQqs1DHKzpUXj0c6hBhCwyawiY="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:/RUUV+03DXDapuvdVXskX5cnQns=
Content-Language: en-GB
In-Reply-To: <v9v7d4$2r6q2$1@dont-email.me>
View all headers

On 19/08/2024 12:39, Dmitry A. Kazakov wrote:
> On 2024-08-19 10:40, David Brown wrote:
>> On 19/08/2024 09:37, Dmitry A. Kazakov wrote:
>
>>> Both OSes contributed to the Dark Ages of computing. The reasons are
>>> not technical, because both were worst on the market.
>>
>> What sort of time-frame are you thinking of here, what were the
>> alternatives that you think were "better", what markets or uses are
>> you considering, and in what way were other OS's "better" ?
>>
>> There's no doubt that non-technical issues have had a big influence on
>> which OS's or types of OS have succeeded, but you seem to have
>> something specific in mind.
>
> I think the main reason is that we do not pay the actual costs of
> software developing. OS, compiler require huge investments. Vendors
> never passed these to the end users funding developing from other
> sources. That effectively killed the market. Free software only
> aggravated the situation. In effect it is akin to the socialist
> production method which always kills quality.

Experience shows that commercial software vendors rarely passed the real
costs on to the users - they often pass vastly higher charges on to the
user for software than it cost to develop the software. Other times,
they might charge very little or nothing because they have other sources
of income, such as giving away the main software and charging
subscription fees for add-on features. There are all sorts of models -
free and open source software provides different models. At my company,
the software we write is closed source, but we never charge for licenses
for it. Customers either pay for the time used in development, or they
pay for it as part of the cost of the electronics boards we make for them.

If you use, for example, gcc or Linux, you don't pay the costs directly.
But you /do/ pay them indirectly. The solid majority of development
for major free and open source projects is paid work. Intel and ARM pay
developers to work on gcc - every time you buy a device with an Intel or
ARM processor in it, you are paying a little towards gcc. Google pays
for Linux development - every time you buy a new pair of shoes, some of
what you pay goes to the manufacturer's advertising budget, some of
which goes to Google, some of which goes to Linux development, so that
Google's servers can use a steadily better quality OS to serve up those
adverts.

It all goes around - there's always money there, somewhere.

Just like any other kind of competition, free and open source has been
disruptive in many software markets where some companies were used to
spending some money on development, then living off that software for
years as nearly pure profit. It has forced other companies to change
models - making their software better, or providing better support. But
it hasn't killed the good quality, imaginative and flexible software
companies. In the embedded development world, there are large numbers
of compilers available at a range of prices because they offer something
that pure gcc does not - support, certification, additional tools,
training, libraries, specialised extra features, or whatever. Other
companies exist by taking gcc (or clang) and adding more and charging
for it. These markets were not /killed/ by free and open source
compilers - they were /created/ by them.

And customer companies - successful, well-run ones at least - are still
quite happy to pay a lot of money for software if it does a better job
than equivalent free software, saving them money in the end. At my
company we have bought compilers when they were better tools for the job
than free tools. But they have to be /better/ - not just more
expensive, and they have to be better enough to justify the price.
Usually, they are not.

So no, free and open source development does not "kill quality" or "kill
markets". It is often /better/ quality than commercial alternatives, at
least in some ways, and it forces commercial alternatives to improve
their quality and cost-effectiveness. It does not /kill/ markets - it
/changes/ them. It spells the end for some suppliers, and opens up
opportunities for new ones, just like progress always does.

People who complain about how free and open source software has killed
their businesses are like saddle-makers sitting about complaining about
how the car killed their markets, while their competitors have switched
from making saddles to opening car repair shops.

>
>> Windows has locks on files, which are a different thing.  While I can
>> understand the point of them, they can be a real inconvenience (try
>> deleting a directory tree when a file from that tree is in use).
>
> Oh, yes! I understand why I should not remove a locked file, but I still
> enjoy Linux's ability to remove anything an be it all damned!
>
> The usual case is when Windows locks some file on the Linux Samba server
> share for some mysterious reason. It is a sheer fun to log into the
> server do "rm -rf" on the file and then go back to Windows: "eat that!"
>
>>> Under Linux you must log in as the root and remove the stray file
>>> lock manually. It happens in UNIX administration all the time.
>>
>> As someone who has administrated Linux servers for decades, and used
>> it as my desktop OS on many machines, I am not sure I can ever
>> remember removing a stray lock file.  Certainly needing to do so "all
>> the time" is a very wild exaggeration.  Linux, like all systems,
>> undoubtedly has its flaws and weaknesses, but this is not one of them
>> IME.
>
> In main case it is packet manager. I am too lazy to find how to turn off
> automatic update checks. So when I try to run apt or dnf I have to kill
> the lock.

Right... so your big complaint against Linux is actually due to your own
laziness and weird way of updating your system. (Like many Linux users,
I have automatic update checks enabled /and/ I use "apt" or other
package managers when I want to - without problems with lock files.)

>
>> Times change.  Needs and uses change.  Hardware changes.
>>
>> Keeping things separate and modular has advantages in scalability,
>> security and stability.  Keeping things monolithic has advantages in
>> efficiency (speed and memory) and consistency.  There is no "right"
>> answer.
>
> Yes. E.g. in automotive you still need the system booted right after you
> turned the key.
>
> Initially an ability to trim the system and sometimes to patch a driver
> was a huge advantage Linux had over Windows NT.
>

It still is, for those with such niche needs that it is worth the effort.

>>> On the other hand you still cannot have decent gaming under Linux.
>>
>> I do almost all my gaming under Linux.  Some games do work better
>> under Windows, but that is primarily because most games developers
>> target Windows as their main platform.  It may also be because Linux
>> systems are more varied.
>
> "You are in an open field on the west side of a white house with a
> boarded front door." That sort of games? (:-))
>

No, RTS, FPS, that sort of thing. I don't do a lot of fast-action
gaming these days - my reactions are not those of a kid any more! And
my PC is not optimised for very demanding games. But most (80%+) Steam
games run as well on Linux as on Windows, on the same hardware. I see
some games have trouble on Linux, and some run better (especially older
ones that find modern Windows confusing).

Overall, if someone wanted a pure gaming PC, I'd recommend Windows over
Linux - but it's absolutely fine for casual gaming.

>>>> And single drive letters?
>>>
>>> They are dozens characters long actually, if you mean the device names.
>>
>> I thought by "drive letters", he meant "drive letters" - "c:", "d:", etc.
>
> The official file name of "C:" would be some messy string with lots of
> backslashes. C: is a "DOS name." There are API to convert DOS names into
> proper names. It is a mess. All Windows API is a mess.
>

The file path the user sees regularly starts with a driver letter.
Users don't see API's.

It is a /long/ time since I have had to deal much with Windows APIs
directly. I remember such joys as a "CreateFile" call that you needed
to do things like open a comms port or handles to many other types of
devices or interfaces, but which was not useable for creating files.
These days my Windows programming is almost all in Python - so dealing
with the API is an SEP.

Pages:1234567891011

rocksolid light 0.9.8
clearnet tor