Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

USENET would be a better laboratory if there were more labor and less oratory. -- Elizabeth Haley


devel / comp.lang.python / RE: XML Considered Harmful

SubjectAuthor
* XML Considered HarmfulMichael F. Stemper
+- Re: XML Considered HarmfulJon Ribbens
+* Re: XML Considered Harmfulalister
|`* Re: XML Considered HarmfulMichael F. Stemper
| +* Re: XML Considered HarmfulPete Forman
| |+* Re: XML Considered HarmfulJon Ribbens
| ||`- Re: XML Considered HarmfulPete Forman
| |`- Re: XML Considered HarmfulMichael F. Stemper
| +- Re: XML Considered Harmfulalister
| +* Re: XML Considered HarmfulEli the Bearded
| |+- Re: XML Considered HarmfulJoe Pfeiffer
| |`* Re: XML Considered HarmfulMichael F. Stemper
| | +* Re: XML Considered HarmfulDennis Lee Bieber
| | |`- Re: XML Considered HarmfulMichael F. Stemper
| | `* Re: XML Considered HarmfulChristian Gollwitzer
| |  `* Re: XML Considered HarmfulEli the Bearded
| |   +- Re: XML Considered HarmfulMichael F. Stemper
| |   `* Re: XML Considered HarmfulChris Angelico
| |    `* Re: XML Considered HarmfulEli the Bearded
| |     `- Re: XML Considered HarmfulChris Angelico
| `* Re: XML Considered Harmfuldn
|  `* Re: XML Considered HarmfulStefan Ram
|   +- Re: XML Considered HarmfulChris Angelico
|   +- Re: XML Considered HarmfulDan Stromberg
|   +- Re: XML Considered HarmfulChris Angelico
|   `- Re: XML Considered Harmfuldn
+* Re: XML Considered HarmfulStefan Ram
|`- Re: XML Considered HarmfulJoe Pfeiffer
+- Re: XML Considered HarmfulEthan Furman
+- Re: XML Considered HarmfulDan Stromberg
+- Re: XML Considered HarmfulDennis Lee Bieber
+* Re: XML Considered HarmfulMark Lawrence
|+- Re: XML Considered HarmfulMichael F. Stemper
|+* Re: XML Considered HarmfulMostowski Collapse
||`- Re: XML Considered HarmfulMostowski Collapse
|`* Re: XML Considered HarmfulMostowski Collapse
| `* Re: XML Considered HarmfulMostowski Collapse
|  `- Re: XML Considered HarmfulMostowski Collapse
+- Re: XML Considered HarmfulMats Wichmann
+- Re: XML Considered HarmfulChris Angelico
+* RE: XML Considered HarmfulAvi Gross
|+* Re: XML Considered HarmfulStefan Ram
||+- RE: XML Considered HarmfulAvi Gross
||`- Re: XML Considered HarmfulJon Ribbens
|`- Re: XML Considered HarmfulStefan Ram
+- Re: XML Considered HarmfulJulio Di Egidio
+* Re: XML Considered HarmfulPeter J. Holzer
|`- Re: XML Considered HarmfulGreg Ewing
+* Re: XML Considered HarmfulPeter J. Holzer
|`- Re: XML Considered HarmfulGreg Ewing
+- Re: XML Considered HarmfulPeter J. Holzer
+* Re: XML Considered Harmfuldn
|`- Re: XML Considered HarmfulGreg Ewing
+* Re: XML Considered HarmfulChris Angelico
|+* Re: XML Considered HarmfulJon Ribbens
||`* Re: XML Considered HarmfulPeter J. Holzer
|| `- Re: XML Considered HarmfulJon Ribbens
|`- Re: XML Considered HarmfulGreg Ewing
+- Re: XML Considered HarmfulDavid L Neil
+- Re: XML Considered HarmfulKarsten Hilbert
+* Re: XML Considered HarmfulMichael F. Stemper
|+* Re: XML Considered HarmfulStefan Ram
||+- Re: XML Considered Harmfuldn
||`- Re: XML Considered HarmfulPaul Rubin
|+* RE: XML Considered HarmfulAvi Gross
||`* Re: XML Considered HarmfulMichael F. Stemper
|| +* RE: XML Considered HarmfulAvi Gross
|| |`* Re: XML Considered HarmfulMichael F. Stemper
|| | +* Re: XML Considered HarmfulStefan Ram
|| | |`* Re: XML Considered HarmfulMichael F. Stemper
|| | | +- Re: XML Considered HarmfulKarsten Hilbert
|| | | +* Re: XML Considered HarmfulStefan Ram
|| | | |`- Re: XML Considered HarmfulChris Angelico
|| | | `- Re: XML Considered Harmfuldn
|| | +- RE: XML Considered HarmfulAvi Gross
|| | `* Re: XML Considered HarmfulGreg Ewing
|| |  `* Re: XML Considered HarmfulMichael F. Stemper
|| |   `- RE: XML Considered HarmfulAvi Gross
|| `* Re: XML Considered HarmfulPeter J. Holzer
||  `* Re: XML Considered HarmfulMichael F. Stemper
||   `* RE: XML Considered HarmfulAvi Gross
||    `* Re: XML Considered HarmfulMichael F. Stemper
||     `- RE: XML Considered HarmfulAvi Gross
|+* Re: XML Considered Harmful2QdxY4RzWzUUiLuE
||`* Re: XML Considered HarmfulMichael F. Stemper
|| `- Re: XML Considered HarmfulChris Angelico
|`- Re: XML Considered Harmfuldn
`- Re: XML Considered Harmfuldn

Pages:1234
Re: XML Considered Harmful

<config-20210928165017@ram.dialup.fu-berlin.de>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19866&group=comp.lang.python#19866

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: 28 Sep 2021 15:53:24 GMT
Organization: Stefan Ram
Lines: 56
Expires: 1 Dec 2021 11:59:58 GMT
Message-ID: <config-20210928165017@ram.dialup.fu-berlin.de>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me> <00a401d7b255$d27d72c0$77785840$@verizon.net> <mailman.813.1632605975.4164.python-list@python.org> <sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net> <mailman.865.1632790868.4164.python-list@python.org> <sivcss$5mp$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de EfKLdVMDshGYnmfAlLblIgGXFR5iTfsezygaS3Qp1uDVSU
X-Copyright: (C) Copyright 2021 Stefan Ram. All rights reserved.
Distribution through any means other than regular usenet
channels is forbidden. It is forbidden to publish this
article in the Web, to change URIs of this article into links,
and to transfer the body without this notice, but quotations
of parts in other Usenet posts are allowed.
X-No-Archive: Yes
Archive: no
X-No-Archive-Readme: "X-No-Archive" is set, because this prevents some
services to mirror the article in the web. But the article may
be kept on a Usenet archive server with only NNTP access.
X-No-Html: yes
Content-Language: en-US
Accept-Language: de-DE, en-US, it, fr-FR
 by: Stefan Ram - Tue, 28 Sep 2021 15:53 UTC

"Michael F. Stemper" <michael.stemper@gmail.com> writes:
>Well, I could continue to hard-code the data into one of the test
>programs

One can employ a gradual path from a program with hardcoded
data to an entity sharable by different programs.

When I am hurried to rush to a working program, I often
end up with code that contains configuration data spread
(interspersed) all over the code. For example:

....
open( "C:\\example\\data.txt" )
....

1st step: give a name to all the config data:

....
project_directory = "C:\\example\\"
open( project_directory + "data.txt" )
....

2nd: move all config data to the top of the source code,
directly after all the import statements:

import ...

project_directory = "C:\\example\\"
....

....
open( project_directory + "data.txt" )
....

3rd: move all config data to a separate "config.py" module:

import ...
import config
....

....
open( config.project_directory + "data.txt" )
....

>but that would mean that every time that I wanted to look
>at a different scenario, I'd need to modify a program.

Now you just have to modify "config.py" - clearly separated
from the (rest of the) "program".

>And when I discover anomalous behavior, I'd need to copy the
>hard-coded data into another program.

Now you just have to import "config.py" from the other program.

Re: XML Considered Harmful

<sivkrl$6u6$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19867&group=comp.lang.python#19867

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: michael.stemper@gmail.com (Michael F. Stemper)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Tue, 28 Sep 2021 12:53:49 -0500
Organization: A noiseless patient Spider
Lines: 72
Message-ID: <sivkrl$6u6$1@dont-email.me>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me> <config-20210928165017@ram.dialup.fu-berlin.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 28 Sep 2021 17:53:57 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="2c6d83c17adf255925cdec679cb2b269";
logging-data="7110"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18VKaPgxGN7uQDCLhxZvP8Dzjc3V2SX57k="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.10.0
Cancel-Lock: sha1:thFpIdChuZAgQ7cSjdghPRCnqL4=
In-Reply-To: <config-20210928165017@ram.dialup.fu-berlin.de>
Content-Language: en-US
 by: Michael F. Stemper - Tue, 28 Sep 2021 17:53 UTC

On 28/09/2021 10.53, Stefan Ram wrote:
> "Michael F. Stemper" <michael.stemper@gmail.com> writes:
>> Well, I could continue to hard-code the data into one of the test
>> programs
>
> One can employ a gradual path from a program with hardcoded
> data to an entity sharable by different programs.
>
> When I am hurried to rush to a working program, I often
> end up with code that contains configuration data spread
> (interspersed) all over the code. For example:

> 1st step: give a name to all the config data:

> 2nd: move all config data to the top of the source code,
> directly after all the import statements:

> 3rd: move all config data to a separate "config.py" module:
>
> import ...
> import config
> ...
>
> ...
> open( config.project_directory + "data.txt" )
> ...
>
>> but that would mean that every time that I wanted to look
>> at a different scenario, I'd need to modify a program.
>
> Now you just have to modify "config.py" - clearly separated
> from the (rest of the) "program".

Well, that doesn't really address what format to store the data
in. I was going to write a module that would read data from an
XML file:

import EDXML
gens = EDXML.GeneratorsFromXML( "gendata1.xml" )
fuels = EDXML.FuelsFromXML( "fueldata3.xml" )

(Of course, I'd really get the file names from command-line arguments.)

Then I read a web page that suggested use of XML was a poor idea,
so I posted here asking for a clarification and alternate suggestions.

One suggestion was that I use YAML, in which case, I'd write:

import EDfromYAML
gens = EDfromYAML( "gendata1.yaml" )
fuels = EDXML.FuelsFromYAML( "fueldata3.yaml" )

>> And when I discover anomalous behavior, I'd need to copy the
>> hard-coded data into another program.
>
> Now you just have to import "config.py" from the other program.

This sounds like a suggestion that I hard-code the data into a
module. I suppose that I could have half-a-dozen modules with
different data sets and ln them as required:

$ rm GenData.py* FuelData.py*
$ ln gendata1.py GenData.py
$ ln fueldata3.py FuelData.py

It seems to me that a more thorough separation of code and data
might be useful.

--
Michael F. Stemper
The name of the story is "A Sound of Thunder".
It was written by Ray Bradbury. You're welcome.

RE: XML Considered Harmful

<mailman.870.1632853412.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19868&group=comp.lang.python#19868

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: avigross@verizon.net (Avi Gross)
Newsgroups: comp.lang.python
Subject: RE: XML Considered Harmful
Date: Tue, 28 Sep 2021 14:23:26 -0400
Lines: 128
Message-ID: <mailman.870.1632853412.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
<039f01d7b495$ede60300$c9b20900$@verizon.net>
Mime-Version: 1.0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Trace: news.uni-berlin.de 2qI8rUYGwsaWI1cDOfGhYwQvOYeiwsfvH0Jvy3wwnHrQ==
Return-Path: <avigross@verizon.net>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=verizon.net header.i=@verizon.net header.b=h2lc2YbW;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.016
X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'generated': 0.03; 'csv':
0.03; '(which': 0.04; 'fairly': 0.05; 'random': 0.05;
'explanation': 0.07; 'hopefully': 0.07; 'modules': 0.07;
'electrical': 0.09; 'enough.': 0.09; 'obviously': 0.09;
'practice.': 0.09; 'realistic': 0.09; 'though.': 0.09; 'tons':
0.09; 'url:mailman': 0.15; 'anomalous': 0.16; 'avi': 0.16;
'calculations': 0.16; 'columns': 0.16; 'construct.': 0.16;
'copper': 0.16; 'diced': 0.16; 'efficiently': 0.16; 'explicit':
0.16; 'extensions': 0.16; 'gross': 0.16; 'handful': 0.16;
'indeed': 0.16; 'linear': 0.16; 'ones.': 0.16; 'prime': 0.16;
'received:(vzm hermes smtp server)': 0.16; 'rotates': 0.16;
'scenario,': 0.16; 'simulation': 0.16; 'simulations': 0.16;
'somewhat': 0.16; 'sounds': 0.16; 'structure.': 0.16; 'such,':
0.16; 'things,': 0.16; 'variable.': 0.16; 'wrote:': 0.16;
'python': 0.16; 'values': 0.17; 'addressed.': 0.19; 'to:addr
:python-list': 0.20; 'language': 0.21; 'written': 0.22; 'creates':
0.22; 'purposes': 0.22; 'lines': 0.23; 'run': 0.23; "i'd": 0.24;
'skip:- 10': 0.25; 'url-ip:188.166.95.178/32': 0.25; 'url-
ip:188.166.95/24': 0.25; 'depends': 0.25; 'url:listinfo': 0.25;
'url-ip:188.166/16': 0.25; 'again,': 0.26; 'function': 0.27;
'fact': 0.28; 'sense': 0.28; 'thinking': 0.28; 'example,': 0.28;
'computer': 0.29; 'it,': 0.29; 'code,': 0.31; 'modify': 0.31;
'program,': 0.31; 'url-ip:188/8': 0.31; 'program': 0.31; 'think':
0.32; 'files,': 0.32; 'half': 0.32; 'here,': 0.32; 'python-list':
0.32; 'structure': 0.32; 'but': 0.32; "i'm": 0.33; 'there': 0.33;
'100': 0.33; 'someone': 0.34; 'able': 0.34; 'mean': 0.34; 'header
:In-Reply-To:1': 0.34; '"the': 0.35; 'complex': 0.35;
'definitely': 0.35; 'words': 0.35; 'yes,': 0.35; 'down': 0.64;
'about.': 0.64; 're:': 0.64; 'your': 0.64; 'plan': 0.64; 'his':
0.65; 'parts': 0.65; 'benefit': 0.65; 'yours': 0.65; 'look': 0.65;
'well': 0.65; 'numbers': 0.67; 'shows': 0.67; 'worked': 0.67;
'outside': 0.67; 'time,': 0.67; 'per': 0.68; 'further': 0.69;
'and,': 0.69; 'generator': 0.69; 'refers': 0.69; 'sentence': 0.69;
'varying': 0.69; 'within': 0.69; '500': 0.70; '2021': 0.71;
'north': 0.71; 'hundreds': 0.75; 'combination': 0.76; 'sent:':
0.78; 'thousands': 0.78; 'field': 0.78; 'discover': 0.80;
'industry': 0.81; 'points': 0.84; 'america,': 0.84; 'car': 0.84;
'dozen': 0.84; 'editing.': 0.84; 'fifty': 0.84; 'generators,':
0.84; 'generators.': 0.84; 'michael,': 0.84; 'miles': 0.84;
'narrow': 0.84; 'privately': 0.84; 'received:74.6.129.81': 0.84;
'received:sonic317-26.consmr.mail.bf2.yahoo.com': 0.84;
'skeleton': 0.84; 'valid,': 0.84; 'brain': 0.91; 'consecutive':
0.91; 'particular,': 0.91; 'usage.': 0.91; 'hundred': 0.93;
'mind,': 0.93; 'guides': 0.96
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verizon.net; s=a2048;
t=1632853408; bh=5Tl9+isYe7GeL3HlpNZfwTLtVW8rbHl8rxHYRS/7aOQ=;
h=From:To:References:In-Reply-To:Subject:Date:From:Subject:Reply-To;
b=h2lc2YbWV5HXi6TG9MOvNPXg8xfpQc0+HZ3f3J9qmIbjgbBTUD7hQ6IvsYgEAQ8KCsQz5rEoO1EjugIgYYckjvQCDS58Z6Gk77br1JuRPZ29ndLwj404k49H62OOVuaW9nCPd2Tj/LzMz7bQIxlGysXBRwgnNCgPxSaQZYouJpqeUXd/qdyzqXYArJLqae3YPEJjiheF4OTgGynttqe9jS+0jtH5hnZtxFk6DVnKzkuiSAO7sXfmjF6bbZAzmP8+jzbzbpI09HuCwDC3OKQJ7WQxXds4I46kXuohaqDBOPG+6hPLAqZsWtgj1dd7fK4w6murPyM5JfJs7Rb4RpRt4g==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
t=1632853408; bh=vOcOwRfn4cZnWDtX8cdy/QgKn6bpg0zVEQIV/o+YsLA=;
h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
b=eQ7kSGZTuvMd9B3Gel2EME5NrSdhuwhvoR7FKkr9j8kquleiiL/GdaHvRFw4suvS24cmrVg+mat8sJA4czjVoonT+StiE3vfxjs8pmVlmLe16goPDUQmMsWndWYieXA93j82xwJMlZ7qkwSKmFy9MjpzN0k+JHA5cvfjSdvUNWqo1vA5EhV7++hQuUWVuPLykacjCAZlGhX64vBTAlYZRGT9Kx0dCzvNP9uE/7hvJc3nERPNokzQL6L/FeHa4ApXBZlBf0+F6JB/bRgJRArp/h4ajtOtnFTZuJbTaYg7lMOv50octo8d3/vAq3bFRvWsZrYCvH5DdL33te/a1J+iwg==
X-YMail-OSG: 8An_vxgVM1m56qzYd8S2mSigTxXmQM6JfZrRnAcRAYcXsEdA6ADvHGngBDpPs3o
M5RNGwRccHbfFFFF8GzrY5Hvp3_KrhirA8nQ895hUnJzR44eMqhSH188vh68sSDt73ULgVnWAGnx
ZLA.XhW0VwisXR5eiBsvxlw1PYtatJCO4NoHXBZeIK_qJaXE_RlARlIvULFMPuhE2uPQGPN2g88k
bDReWJqIAO89twmKjrWRiy9_f6vdr58t6GYRM_MN6K48ex8JMnoaQtBIaN5nVJlB_23Qsg3uNyRq
MIl2K8EaT.wgieVUOPkZF63H5zfdxFNIhn5myS9mRPedhkG4Lojv1Fil.cwvesKCVPyMcKd.W2jG
qOAXolfgxZM3u7aB1UDD9AKwDq4DVRoqBSjjvKvgt57RIEqs_LoJAAwK6X_3eromPmfkjZzWAb2e
k8k7RgTuWNTIjTaOZf2ilbvsOFUkwhJ2qWm23hTfTp39mgXa3gmw72lnw4IGGhSXrMRp1nlyEuvp
d9pOWxwFSCw1GPnVYcCdYtz.QxAcY3abgAmAf_w1QIDEnwWCXkNW0OcgP2xMwflNdKUUQ_DF0gY5
CbXp214sjD7Jekq9qeOXjGDpU_2bTs3fKWnITVZlmwqu4JTlg5quwGmxbJU7lYMP7E_1IfVu21lP
jSyK0vpPZf7blMS5NRZu.nHVBuJtfivMMY7vHNxwpl3jXbKS0J2eh4FCi0UOOaHus5TPg5YOVzLR
428pwdh.cxR7Tx2cBaxVkWsDISxGJs.SgRQ9UWA_WCaZts4rtPhho04jWNmf51felsHnLf9dOdwd
VggsDY2yb7_3f9u0qmSqBM9JOLkvwaLtXlRm8riWzpH0oBoyIpgPgFs20idaIDeFqKj0H_w0lFpf
NyIq4yq9MsMKVbGDy6_AOw8_ek1GMPMkcBCWT5tgxsT75pBP5sewF_Ld3830i38j9uL4NvWOhgnL
Q5fn7eqWMj_qEW9hxkspvD4Lp2_c1wCHMuXJpjaYatnuKYy8E0THfWNn.IEdyYryklWEgorDToOi
hL74m8JSwvlZmK2uZA7ZHVayFuukuRG9GjNUD4bHE7yYfgk9C5KUCLYwaY9sD8.Skoxee8r11k8T
S3sFegn4_2ieryNlKuHgzirCfNHa24.PkkKEjVZQbwUTRseT8uos0w0qtdoZvXdbN1xAPyKEXLij
5HLz1Z4GtnsmRrdLQalJ26fxkk2bgI.0SXwOTMBRroY5OnXRJ8.G_nppE1ww74I8fX6ursgK7TcF
aJOOas12f.zBaHkRUFAgH96e4ufglzsSweeooEIJXMJA9A_DGwkAIqrlq.oxADMPflS_2vcc.vHe
65jN7YG0IQOj4JXdydyFZ3diP9MwzbjUVQvCSc8ooYsym80bsTlg525so1vRt13GrVS5fkvX3z5u
bILbmEQCbPCH76bQJdHN9hSpG7bVztgRkcb8DJh.XHEYDTyAPXQypkm7dWpcRrj_Hit5QVM3_k6A
SXlEXhXLVSv9tLQ07Z6QPG8Yl.N7Dj9Xg1DGESTEaakSCNO2pLEiS8VVKnNhsTPcrRbeNBYJBfwv
0lUPvSL27CQAssLuktox_5NhlAqjnPXvfhchTSnTQX6yFnHFPDzWOi_4.xE7VLA6rD2yUnmUoz0v
tcuA73tN1SeOB47PMql..D9JKY1va_66Kc0DiAAnFTvXmIMnhJPr3JBuKID8S9Ki0F9OZesf7L.X
IJm_UmlBffW7vsnrpXs6R8BdcoS4UlJ_Z_fbw3PJoiOqqiYJRam3gOUvxC8oEnld0pk7LS8bLCV9
ampbiseFJbjWjQJ2iGIMd5ChY.MTagS6v8Ulzw4oVMapKJF02I0i0fQb1h5f_Y81rUmpNzqBfbOF
NpZgiLCRv.BM60Xmvi0VtgxrdMKzfbZP9ADEUKnyeMzCxMptIZ3IpLzM1qofignOMqGBDwNL3FU5
pnKlcKdyT9W_B20l4jv6Bk..Vv76KNpLW3ZoFH7uwQx.CD6V92WlwwJCu94w.K0xgx6X_g8TU73s
hVxHj7OXTGtl.BkFIj6uDFoexeLa45AtChAb9eCJ.STrB_5vMHa7.J8AMaluf_xb8nj2U0jlwYsJ
pTnLOQS2DWaDwG012zErNtZXUeNx87BI6rDaPMs4Bf.jo6B9uTsdAgXSN1DoeuN_gmeGi6UMtVYv
5w_2b8nq8YkkhNdu3g5pqVXAL552ug_phkMg3ld_uur73_TbGyzHHMmBu9Divn2bK0HKS9H8FRRS
wxVn4iwMlnKCwxrM-
X-Sonic-MF: <avigross@verizon.net>
In-Reply-To: <sivcss$5mp$1@dont-email.me>
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQIM0QdUeAgRsd0W4oMJY1ZZhLXuWAHJpWwRAbS5U/QBQ75KKwH8pWQjAYYmaMYBtKQXvQErjIEEqvZconA=
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <039f01d7b495$ede60300$c9b20900$@verizon.net>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me> <00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
 by: Avi Gross - Tue, 28 Sep 2021 18:23 UTC

I replied to Michael privately but am intrigued by his words here:

"The thing that creates realistic test cases is my brain."

I consider extensions to my brain to include using a language like Python on
my computer and in particular, to take a model I think of and instantiate
it. Lots of people have shared modules that can be tweaked to do all kinds
of simulations using a skeleton you provide that guides random number usage.
Some will generate lots of those and stare at them and use their brain to
further narrow it down to realistic ones. For example, in designing say a
car with characteristics like miles per gallon should randomly range between
10 and 100 while engine size ranges from this to that and so on, it may turn
out that large engines don't go well with large number for miles per gallon.

I have worked on projects where a set of guides then created hundreds of
thousands of fairly realistic scenarios using every combination of an
assortment of categorical variables and the rest of the program sliced and
diced the results and did all kinds of statistical calculations and then
generated all kinds of graphs. There was no real data but there was a
generator that was based on the kinds of distributions previously published
in the field that helped guide parameters to be somewhat realistic.

In your case, I understand you will decide how to do it and just note you
used language with multiple meanings that misled a few of us into thinking
you either had a python function in mind using one of several ways Python
refers to as generators, such as one that efficiently yields the next prime
number when asked. Clearly your explanation now shows you plan on making a
handful of data sets by hand using an editor like vi. Fair enough. No need
to write complex software if your mind is easily able to just make half a
dozen variations in files. And, frankly, not sure why you need XML or much
of anything. It obviously depends on how much you are working with and how
variable. For simpler things, you can hard-code your data structure directly
into your program, run an analysis, change the variables to your second
simulation and repeat.

I am afraid that I, like a few others here, assumed a more abstract and much
more complex need to be addressed. Yours may be complex in other parts but
may need nothing much for the part we are talking about. It sounds like you
do want something easier to create while editing.

-----Original Message-----
From: Python-list <python-list-bounces+avigross=verizon.net@python.org> On
Behalf Of Michael F. Stemper
Sent: Tuesday, September 28, 2021 11:38 AM
To: python-list@python.org
Subject: Re: XML Considered Harmful

On 27/09/2021 20.01, Avi Gross wrote:
> Michael,
>
> Given your further explanation, indeed reading varying numbers of
> points in using a CSV is not valid, albeit someone might just make N
> columns (maybe a few more than 7) to handle a hopefully worst case.
> Definitely it makes more sense to read in a list or other data structure.
>
> You keep talking about generators, though. If the generators are
> outside of your program, then yes, you need to read in whatever they
produce.

My original post (which is as the snows of yesteryear) made explicit the
fact that when I refer to a generator, I'm talking about something made from
tons of iron and copper that is oil-filled and rotates at 1800 rpm.
(In most of the world other than North America, they rotate at 1500 rpm.)

Nothing to do with the similarly-named python construct. Sorry for the
ambiguity.

> But if
> your data generator is within your own program,

The data is created in my mind, and approximates typical physical
characteristics of real generators.

> My impression is you may not be using your set of data points for any
> other purposes except when ready to draw a spline.

Nope, the points give a piecewise-linear curve, and values between two
consecutive points are found by linear interpolation. It's industry standard
practice.

> Can I just ask if by a generator, you do NOT mean the more typical use
> of "generator" as used in python

Nope; I mean something that weighs 500 tons and rotates, producing
electrical energy.

> Do you mean something that creates
> realistic test cases to simulate a real-word scenario?

The thing that creates realistic test cases is my brain.

> These often can
> create everything at once and often based on random numbers.

I have written such, but not in the last thirty years. At that time, I
needed to make up data for fifty or one hundred generators, along with tie
lines and loads.

What I'm working on now only needs a handful of generators at a time; just
enough to test my hypothesis. (Theoretically, I could get by with two, but
that offends my engineering sensibilities.)

> create everything at once and often based on random numbers. Again, if
> you have or build such code, it is not clear it needs to be written to
> disk and then read back.

Well, I could continue to hard-code the data into one of the test programs,
but that would mean that every time that I wanted to look at a different
scenario, I'd need to modify a program. And when I discover anomalous
behavior, I'd need to copy the hard-coded data into another program.

Having the data in a separate file means that I can provide a function to
read that file and return a list of generators (or fuels) to a program.
Multiple test cases are then just multiple files, all of which are available
to multiple programs.

> You may of course want to save it, perhaps as a log, to show what
> your program was working on.

That's another benefit of having the data in external files.

--
Michael F. Stemper
A preposition is something you should never end a sentence with.
--
https://mail.python.org/mailman/listinfo/python-list

RE: XML Considered Harmful

<mailman.871.1632853664.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19869&group=comp.lang.python#19869

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: avigross@verizon.net (Avi Gross)
Newsgroups: comp.lang.python
Subject: RE: XML Considered Harmful
Date: Tue, 28 Sep 2021 14:27:35 -0400
Lines: 55
Message-ID: <mailman.871.1632853664.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<YVLDbplfwLAQylV7@hjp.at>
<mailman.868.1632813943.4164.python-list@python.org>
<sivdaf$93d$1@dont-email.me>
<03a801d7b496$8247da00$86d78e00$@verizon.net>
Mime-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de BDibNWOv+BvMvTeUvlacEA9bDPy304WnjC8cG8HD9hOg==
Return-Path: <avigross@verizon.net>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=verizon.net header.i=@verizon.net header.b=SNrlK1G5;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.155
X-Spam-Level: *
X-Spam-Evidence: '*H*': 0.69; '*S*': 0.00; 'bigger': 0.05; 'talk,':
0.05; 'aspect': 0.09; 'fact,': 0.09; 'slide': 0.09; 'though.':
0.09; 'url:mailman': 0.15; 'avi': 0.16; 'devices': 0.16; 'gross':
0.16; 'holzer': 0.16; 'modelling': 0.16; 'operation.': 0.16;
'picture,': 0.16; 'received:(vzm hermes smtp server)': 0.16; 'url-
ip:129/8': 0.16; 'url:www2': 0.16; 'wrote:': 0.16; 'python': 0.16;
'to:addr:python-list': 0.20; 'written': 0.22; 'first,': 0.22;
'maybe': 0.22; 'skip:- 10': 0.25; 'url-ip:188.166.95.178/32':
0.25; 'url-ip:188.166.95/24': 0.25; 'url:listinfo': 0.25; 'url-
ip:188.166/16': 0.25; 'tried': 0.26; 'old': 0.27; 'output': 0.28;
'it,': 0.29; 'program,': 0.31; 'url-ip:188/8': 0.31; 'expand':
0.32; 'professor': 0.32; 'python-list': 0.32; 'but': 0.32; 'header
:In-Reply-To:1': 0.34; 'understood': 0.35; 'yes,': 0.35;
'url:edu': 0.36; 'work,': 0.36; 'people': 0.36; 'could': 0.38;
'read': 0.38; "couldn't": 0.40; 'something': 0.40; 'want': 0.40;
'should': 0.40; 'michael': 0.60; 'search': 0.61; 'from:': 0.62;
'to:': 0.62; 'subject': 0.63; 'data,': 0.63; 'mainly': 0.64;
're:': 0.64; 'skip:r 40': 0.64; 'your': 0.64; 'rate': 0.67;
'shows': 0.67; 'worked': 0.67; 'back': 0.67; 'bad': 0.67;
'outside': 0.67; 'sentence': 0.69; '2021': 0.71; "you'll": 0.73;
'sent:': 0.78; 'guy': 0.84; 'points': 0.84; 'publish': 0.84;
'11:45': 0.84; 'burning': 0.84; 'electricity': 0.84; 'fuel': 0.84;
'generators,': 0.84; 'heat': 0.84; 'michael,': 0.84;
'received:74.6.129.81': 0.84;
'received:sonic317-26.consmr.mail.bf2.yahoo.com': 0.84;
'url:classes': 0.84
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verizon.net; s=a2048;
t=1632853661; bh=5o21phbVNE2FZSW1raS+L1qWnfnWuJEDHGDlgLsLhjs=;
h=From:To:References:In-Reply-To:Subject:Date:From:Subject:Reply-To;
b=SNrlK1G5KSs5UrUK9rLBeSsIXS6MdDcFE5zvwu01PS1EHeUoW2VTOmv+ucQ5w+dUeMlak1DYL+CLOcI77w9GRqGhksJx/GGqwzQqnYpEJ6XcQhv3usQZIIK240Gk2KFVEAv+skcFpUwANx4pGcP56umcxsWgl4xXwcDgWOS6j7kG2iTrPWcmCRd19WrFyCoehEU/FI4sp0DGbAdpWjx6pOETmVtbPtxfZAMjMdAh1wIeqal28eNArPTJCln22b+ZTDBdK25WBOd4VspYXynUUEhjIs4plGWM41Kb5uHGzYw9K9rwSrsTzdhBP/mFigCkFhiIOtuoyI8eDa+1XBiNRg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
t=1632853661; bh=+GkX3GRiGLn+yv7atjDkdwtARg0lrCidTND0YjalEOZ=;
h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
b=INU3bfe/2t7+Zw9xhGj29IzAKQkeAHNi1HG8FU8dEjfEUsvDhPyPLEeLAdkHISy9KDxmkD5G76RC+jI+kW4WdBwFFSS4FHQKlviMcXzbhHF/3RWpSH7kO+i8NCNqtlRFBxIuBRLjqMzP82oHk1zJ+DRnlwxpxyOMmSjMNVZqfKcJ4VJAlBeEC5MUaUp+dhjEMSZqATSmMuOax4c2mslVn7AYzHW6SghVe1fUl6OtWW38K4cu5xzHhLFh2mFjlpz3KdFGoOwgJVvZrhSyEtvsiHrmczdieWeiWXq+JaB0ahCB1WAJNQwECVpiZXHp3RK1+qsymvu2EemeVVUc85jNtA==
X-YMail-OSG: oECs9ecVM1nHoJenmxX.PW0h.hcA2Adb9q.mkR53Wd423p9F5uSHE3200MHzGNm
9LFL6ihKxUjOtIMgCee1EuAWKWaQnDRQN2qfHAUYbj8454zzRFP5zopdr4zmkvglyeD4wNiFiQyp
kdWRcAWi2NqCqwsO9wNPOWTUO3Ecu7fenHFawpSeHH1s8Yn.FcsNbMWsx.cCqCt8e5wNoEyb6BiM
s9zccOwSQrjjXhbMnnVOz9gX50vyyOtSP.4razstAKDMAnIh5EFOx9r1S6v1P9PeB89WCe3fF3nP
nnYHZT4aG2vHtViZPw9kBCcmA.MITOm8uh5t7NxyTRiXlIAeUTSIESFxhjj1AH0AU6WPTHOO.zum
1G8kRbcqeH2A1JQK.6wa65G5DbBSjmnXnRf8XkotjFQ.IzKh_5KosMppnclaHYAAJ7kIuzipkUeO
VjxdYYf3bu.8X7.zyD4sG5IL6xeKhc7jjfDT8bBABga9tMXNihCTjcg7VEJPYKEDbpiu3SKyShH9
RKsqPiVSmjDl1kQ.T3Wy8ZONUxiRyMAD8l2A1ghK8.hrwHs3ZzcBfVGVLoNvVsL31iAooQmwy_0d
HltE9mGhK1uPzu.CrGG1LjmNoNmqrKTRKK0PPVP9l8n3IyXjzIgDfcmVQIIUAY4IfElcUfccwQBe
d8lh2oDwK9iZB1mKueK.qz3cqEAAeFvUG2F9U6J1JfdQAxqPJafZC4gEuuOv8kKWetQ7oS35jOZr
XKo1a1mEN7NXdvzOvexIxhzUXOxV9JJJpUPgMYWMImDkVlf6xeIs8BQ55.c3dxcusik9DFWjj2Ot
oaBM3W.fH42TCxjogaGHajo.VIFPgUWv3v1eK1oSInLPqGt5B2XZ1iG0qwyw5pSaepaF44CzhK3a
9wjzKuS22aVkUmp2KXDsMTxbRoln8_eq.wVPuKktpw2HtXepWMf17EnTeb2z2VAlLlLQifmTzh0c
_C9kMmfjw.QELWBs334RGPuX.MkhB16o5fvIv15c1mG9JIjybZ7NmjLqnoiZRa4D1Nou7NwFIE2P
gROa9KCo6BHeZF0LgOYHlBkwErAC1vn6nao8DyfGdZGrMLsEtxM2FSuIVxLlo0R5_S7o45O14veN
Kucqxl1FsUnqWBhXjtbcRATU8atLEQnigWKE1._N8K7G79QIL.O69y2Quyx0ahFTLSrKzedqoPiK
ZzBevTGXSQmmKHjYYuk_sI.6IRD.lRobXQEHfdanwu0bswarf8eeRxLSCpZ900.MbTJ3ZzQWRkhr
ZXk3xPr9kcgYWZBB76P.T.2.pmHs.TXcNojZigHt6SnUpHdYdwqDiU_lsTCsttDOrO7gY9W1zO1x
vfTtWhpuxB_s5lKsSnbSVzrPDZ9EHAPMrJKp.0U6zf6D7iCgG4dgL2.aCXcdXNQSKYC4XHh54uka
OXSJO3WVp8W_FpssIKCcsoUjlsHMOr3dSmXfWHWKfJVIj7zv_pOpknJp9OB6W33cvNNod0WfHksJ
cdFRxWLsBSZ9Pb4TBbmWM_JcsSrkA7PT8D5O3Lz4eNpi.vy9FZyLmIE3v_dwtJRjeeGrIKTbVGlJ
wAtX3kiDf70YFg3kSYbmDyMyuKsL5TX9cY4OxTX5RyhOj8wja.EUGNL1FtO3ZzeEMj825QbDgxJr
8iNyCo2EXym06wlEycUGzGQYNp0gMnCgx4NsZXfOEgKJIxLDXTqaHTA4riYkZsvtpwaVhl3iOk6_
wNuZchiciwR9uRCXy48rg25GY358ks3_KXyMafmQEcwn6RqWCoeXnP7aiSpMFOHRlN6U6IdEzDjF
Hqb1.Y1pRm2tavFDZCXbtYseNiNW8JLhgdbAxqSWX1bC7tp58ZddBN2AaPZrJ.dorH503ty08tI_
MR7L2j3Hk005zQKztxBYeDR1xFdbesYu88EDjqeF.ByprX5EaFlwnfQ8g8aJ9v6eQdevHVuyo2vs
9cpR3C0vGM9R6dRx3YmjWcp.VhlZMmRDqrhHEiHqE_HYeumEkzaJNyLxJDzOTitvb_A9DEVDI5XC
coWVyaUMh8w.LRpPx2cbnfGSWfvS0N2QBnVhNcvmjtgcUK2dnUnHBLQwp8YbdhwGyj3.w9os8ip8
miMWTHAXD4Q2bAWjCPCt8LJ8qP4oCPhF3szsOdvpkjwp1.RWtDB0W_bAg5VaztqpCGSuFDR3DY7V
Xg_IzIBvT7MzS3fvvsSgeDEeMW_1AgjnD33y5rcx1Y8KfnvMl8g6XyOn5EX8wQoC0JCdxObbtmtz
nkEpmUW8FxPnN8LLHxnWGaOvYwQIsrt.cMIRQohh5HGMALu.69sATQPkco0SM5tQh0GuA
X-Sonic-MF: <avigross@verizon.net>
In-Reply-To: <sivdaf$93d$1@dont-email.me>
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQIM0QdUeAgRsd0W4oMJY1ZZhLXuWAHJpWwRAbS5U/QBQ75KKwH8pWQjAYYmaMYCH4TFNAHSIgpYAezTSAaq3m8OcA==
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <03a801d7b496$8247da00$86d78e00$@verizon.net>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me> <00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<YVLDbplfwLAQylV7@hjp.at>
<mailman.868.1632813943.4164.python-list@python.org>
<sivdaf$93d$1@dont-email.me>
 by: Avi Gross - Tue, 28 Sep 2021 18:27 UTC

Well, Michael, if you want to go back to the eighties, and people you worked
with, I did my Thesis with a professor who later had an Erdős number of 1!
Too bad I never got around to publishing something with him or I could have
been a 2!

But that work, being so long ago, was not in Python but mainly in PASCAL.

Ah the good old days.

-----Original Message-----
From: Python-list <python-list-bounces+avigross=verizon.net@python.org> On
Behalf Of Michael F. Stemper
Sent: Tuesday, September 28, 2021 11:45 AM
To: python-list@python.org
Subject: Re: XML Considered Harmful

On 28/09/2021 02.25, Peter J. Holzer wrote:
> On 2021-09-27 21:01:04 -0400, Avi Gross via Python-list wrote:
>> You keep talking about generators, though. If the generators are
>> outside of your program, then yes, you need to read in whatever they
produce.
>
> As I understood it, the "generators" don't generate the data, they are
> the subject of the data: Devices that generate electricity by burning
> fuel and he's modelling some aspect of their operation. Maybe
> efficiency or power output or something like that (I tried to search
> for "IHR curve", but couldn't find anything).

If you expand "IHR curve" to "incremental heat rate curve", you'll get
better results. When power engineers talk, we say the first, when we publish
papers, we write the second.

If you want to see the bigger picture, search on "Economic Dispatch".
In fact, doing so points me to something written by a guy I worked with back
in the 1980s:
<http://www2.econ.iastate.edu/classes/econ458/tesfatsion/EconomicDispatchInt
roToOptimization.DKirschen2004.LTEdits.pdf>

Slide 3 even shows a piecewise-linear curve.

--
Michael F. Stemper
A preposition is something you should never end a sentence with.
--
https://mail.python.org/mailman/listinfo/python-list

Re: XML Considered Harmful

<mailman.872.1632853858.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19870&group=comp.lang.python#19870

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: Karsten.Hilbert@gmx.net (Karsten Hilbert)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Tue, 28 Sep 2021 20:30:54 +0200
Lines: 32
Sender: <karsten.hilbert@gmx.net>
Message-ID: <mailman.872.1632853858.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me>
<016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
<config-20210928165017@ram.dialup.fu-berlin.de>
<sivkrl$6u6$1@dont-email.me> <YVNfXvHnHrhS3D0h@hermes.hilbert.loc>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de rQbDGtBKUTJUgn966lw5SQ6znwtifJTa/nmnQQ7H/WYg==
Return-Path: <karsten.hilbert@gmx.net>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="1024-bit key; unprotected key"
header.d=gmx.net header.i=@gmx.net header.b=id0ETUqX;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.004
X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'modules': 0.07;
'received:212.227': 0.07; 'suggestion': 0.07; 'gpg': 0.09;
'karsten': 0.09; 'module.': 0.09; 'schrieb': 0.09; 'import': 0.15;
'...,': 0.16; '1713': 0.16; 'received:212.227.15': 0.16; 'sounds':
0.16; 'python': 0.16; 'code.': 0.17; 'tue,': 0.19; 'to:addr
:python-list': 0.20; 'sep': 0.32; 'header:In-Reply-To:1': 0.34;
'could': 0.38; 'michael': 0.60; 'received:212': 0.62; 'skip:r 20':
0.64; 'your': 0.64; 'received:77': 0.67; 'generator': 0.69;
'2021': 0.71
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
s=badeba3b8450; t=1632853855;
bh=240H0AG+zaKc888A8GK4dOhz5CLkRd8YXxqYBzaRxEQ=;
h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To;
b=id0ETUqXmYDL+epGM1qE+2bp2jGyTmvS3lQ6LPH3Fd7UVRWWRaqOKWoTzgDPT/mbe
MtXuOsZxt0p6xkjEHPWhcNd6BkuxuQNGQazkskryFu/P4g+O6WUgjFgYOac/tnTVow
jVe+EKbY3AAprpAs0oJF2Tf1DzyXmRC5MlctR7/U=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Content-Disposition: inline
In-Reply-To: <sivkrl$6u6$1@dont-email.me>
Ma_X_il-Followup-to: d
Re_X_turn-receipt-to: Karsten.Hilbert@gmx.net
Di_X_sposition-Notification-To: Karsten.Hilbert@gmx.net
X-Confi_X_rm-Reading-To: Karsten.Hilbert@gmx.net
X-Pri_X_ority: 2 (High)
X-Provags-ID: V03:K1:w1Fab63HQG07D4yksmiwFMl1XLvJ8DU3txe6RAKJWU7LHi5rLmr
CzxodRw84sW2Ql3PEIRKDozLGpXuKeqE83onJI19K+ljpNrkx8MMFWPKmV/Fw+aw4oB8GT6
B1VWL6oYFISOIBrNvK9jX+8JQEJ4xDUT5khQLcrnivzwuBQE2Rl70OY4Ur9Aqfkm0AZwaQb
+13luVtDcP9wXVd4xFZdg==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:EdUuKCGF/Ck=:BLcXZpS2tk2g9rcAdkIWBc
gkjK5TdpBFltp/ckksD/xieTmOeBm58vayj3kAMtcoddEO56xrtWHyX20JTfhMvj1W6BYKm/h
j8CaprCmBbuTNtBrCvAHAwFmz0C3tvjWXQDUvhKsFK8FswSVTTLZFqHcGZUdAlwFAfglq+8ny
6rdD5aA2UPCU3y49VYDTnpjY95ujbpiaN+cPxc3eYbHM8XT/EBp36cEKwWo0bqj/LzWciFClA
xm6SGThTtoRzzXTYVvrN/O7KEar9BhB7B9d/a6SWG6WsP2rTDVEKZBg8/zaiAbe0cCiYslVGy
RH3rFzZJf5q4PYnymhkxrx/QXgMPUl8zQeDKV4c9I7i8V+M4T8UMTp2XvQIjbCUSuxQkEwJVU
Q3Mgi0aBtHS7aH9FOOGuKbMDhsiDV4kO6P0QYjTeVnMczmb9Aidz13lfMpcJ246JHWM96SuGJ
XOzLIvoeZSaC6/P5oKjOx2TPVQs2T1Gpv1k7ZXjMXY4ftPYxL78jxxy2bpq3xxrNpZpDpyo3L
Wdr/V4zWuWjUAcd7RwodbQpBn8X1jt8XBS0vDwGYYdrf0crR5exju06LunqvS8xOmK2PlBymE
K5N2L0C2tzsmTqGbE6LPDNX62uztzSuzyNHdGDf7xjcbbgeYRHzjZ3FhD2ArogvR77i3tP7rq
XMY62wnzaDSM+svdK+3D9uh5Wr2rf+uUBouhMLXLTMcf9uFV0i8UF4Jj5EPMweM23wNO3TBmm
zpXmlyPZKnnHjlnlxslm1ZkJAViQd5buF5zvRc2CIPQTN1iaPXIfWMo7OoSnLfILFnhOzDVkO
tu1rYtrKpeGYfOa5VWL95pSrzTw1FrZHsEhmog/DtyRDdvgme3SgW23iGdEr8kzzkBAeoZknl
v57L47h7VpC1m50Dgj7HlTj2mKF2LDKvEdTAuK6Y4pLZioDK00NipgzDk6FDl7HgJ9iQS4WJf
H1oGZkNYHiUaUDIPEieZ2rQRvXR2CVLnW2PfwRtckkN44OE1ICYHQezIfZh/ylvEkOEztnhtr
+6OWgz3QAduElsYJgRGwcr2oDEtUI9T/UtXRFnS5sXwSkETnnaifZbPs1EmQZ1hJNczDEfpkO
iBPSChW9cZIahs=
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <YVNfXvHnHrhS3D0h@hermes.hilbert.loc>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me>
<016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
<config-20210928165017@ram.dialup.fu-berlin.de>
<sivkrl$6u6$1@dont-email.me>
 by: Karsten Hilbert - Tue, 28 Sep 2021 18:30 UTC

Am Tue, Sep 28, 2021 at 12:53:49PM -0500 schrieb Michael F. Stemper:

> This sounds like a suggestion that I hard-code the data into a
> module. I suppose that I could have half-a-dozen modules with
> different data sets and ln them as required:
>
> $ rm GenData.py* FuelData.py*
> $ ln gendata1.py GenData.py
> $ ln fueldata3.py FuelData.py

vi data.py

generators = {}
generators['name1'] = {'fuel': ..., ...}
generators['name2'] = {...}
...

vi simulation.py

import sys
import data

generator = data.generators[sys.argv[1]]
run_simulation(generator)

or some such ?

Your data "format" is ... Python code.

Karsten
--
GPG 40BE 5B0E C98E 1713 AFA6 5BC0 3BEA AC80 7D4F C89B

Re: XML Considered Harmful

<sivnk8$sam$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19871&group=comp.lang.python#19871

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: michael.stemper@gmail.com (Michael F. Stemper)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Tue, 28 Sep 2021 13:41:04 -0500
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <sivnk8$sam$1@dont-email.me>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<YVLDbplfwLAQylV7@hjp.at>
<mailman.868.1632813943.4164.python-list@python.org>
<sivdaf$93d$1@dont-email.me> <03a801d7b496$8247da00$86d78e00$@verizon.net>
<mailman.871.1632853664.4164.python-list@python.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 28 Sep 2021 18:41:12 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="2c6d83c17adf255925cdec679cb2b269";
logging-data="29014"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19NBZYpFgFnhtas+kHhTEd9KUQDHSTUmYY="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.10.0
Cancel-Lock: sha1:L6z9/C+w3YIkJlD4y+/Ig2Qwn2Q=
In-Reply-To: <mailman.871.1632853664.4164.python-list@python.org>
Content-Language: en-US
 by: Michael F. Stemper - Tue, 28 Sep 2021 18:41 UTC

On 28/09/2021 13.27, Avi Gross wrote:
> Well, Michael, if you want to go back to the eighties, and people you worked
> with, I did my Thesis with a professor who later had an Erdős number of 1!
> Too bad I never got around to publishing something with him or I could have
> been a 2!

Lucky you. If a paper that a friend of mine is submitting to various
journals gets accepted by one of them, I'll end up with a 4 or 5 through
him. However, as the months pass, it's looking more like mine will end
up NaN.

--
Michael F. Stemper
Isaiah 58:6-7

RE: XML Considered Harmful

<mailman.873.1632856902.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19872&group=comp.lang.python#19872

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: avigross@verizon.net (Avi Gross)
Newsgroups: comp.lang.python
Subject: RE: XML Considered Harmful
Date: Tue, 28 Sep 2021 15:21:35 -0400
Lines: 44
Message-ID: <mailman.873.1632856902.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<YVLDbplfwLAQylV7@hjp.at>
<mailman.868.1632813943.4164.python-list@python.org>
<sivdaf$93d$1@dont-email.me> <03a801d7b496$8247da00$86d78e00$@verizon.net>
<mailman.871.1632853664.4164.python-list@python.org>
<sivnk8$sam$1@dont-email.me>
<042f01d7b49e$0e10e660$2a32b320$@verizon.net>
Mime-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de lWszGcuWGjNHx0P1EBNM7gVULAu0i7buKIwEesWkBi1A==
Return-Path: <avigross@verizon.net>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=verizon.net header.i=@verizon.net header.b=cv6n2/Mx;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.180
X-Spam-Level: *
X-Spam-Evidence: '*H*': 0.65; '*S*': 0.01; 'guido': 0.07; 'van': 0.07;
'python.': 0.08; 'like,': 0.09; 'url:mailman': 0.15; 'avi': 0.16;
'gross': 0.16; 'prolific': 0.16; 'received:(vzm hermes smtp
server)': 0.16; 'received:74.6.131': 0.16; 'spoke': 0.16;
'wrote:': 0.16; 'problem': 0.16; 'to:addr:python-list': 0.20;
'all,': 0.20; 'languages': 0.22; 'skip:- 10': 0.25; 'url-
ip:188.166.95.178/32': 0.25; 'url-ip:188.166.95/24': 0.25;
'url:listinfo': 0.25; 'url-ip:188.166/16': 0.25; 'anyone': 0.25;
'hey': 0.27; 'url-ip:188/8': 0.31; 'concept': 0.32; 'professor':
0.32; 'python-list': 0.32; 'but': 0.32; "i'll": 0.33; 'there':
0.33; 'header:In-Reply-To:1': 0.34; 'months': 0.35; 'people':
0.36; "it's": 0.37; 'could': 0.38; 'ago': 0.39; 'submitting':
0.40; 'something': 0.40; 'want': 0.40; 'should': 0.40; 'michael':
0.60; 'including': 0.60; 'from:': 0.62; 'to:': 0.62; 'paper':
0.62; 'true': 0.63; 're:': 0.64; 'look': 0.65; 'years': 0.65;
'worked': 0.67; 'back': 0.67; 'bad': 0.67; 'lucky': 0.69; 'pass,':
0.69; 'them,': 0.70; 'you.': 0.71; '2021': 0.71; 'loved': 0.76;
'sent:': 0.78; 'paul': 0.81; 'publish': 0.84; 'michael,': 0.84;
'remotely': 0.91; 'degrees': 0.93; 'friend': 0.95
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verizon.net; s=a2048;
t=1632856899; bh=6allKqL/APWx727A+ohGn6meKbUsFFMLTyFSO77Mp8o=;
h=From:To:References:In-Reply-To:Subject:Date:From:Subject:Reply-To;
b=cv6n2/MxKzVQQt86u+yEFMLQ7CQphcipPP0eGH/C4IBgpFG7RnjwEk+h1CKqS0ABKlgL4js38EpihYt1RyBOudr4hA/vuq4qY5/FmxyCDDCbSlpDSAFkU7zK7D3QTg+yBmb3/IUWGTB0wPKteiOebul5Z6GFJiFrYLRrqW9J6dc4Lo2EuwkP84JkIQ3wdCVqjRMdOwU6vbe29eFU9WxbrdA2PgHEqCJauVzSnVLTbxzdyk+UizjiuodiJCqTnDok/a3RR9cIhragPeTGy6WEKCyQxDyWfzIrQ/Ur0QnPlMUcvbRH5H7zFDZgNtZYbbvsDe2+mU9X1/7inCv7q2nP+A==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
t=1632856899; bh=MLn2ieIbHnJ81jM79TtI9DoFVmu5H9l/r/SucL3N5dT=;
h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
b=Yh+NHx/2j8v/uths/kzoqpH6sftePpho6UdMyIOpFcyHelr7vxQzN7rSIG+KnlkcdFL7lDjhie7/ysuueLo0wwQSjHUtTI+B8dME3EOXtU+ofT+CdKhVw3v524T6rnebZiWO3pWRywEEY0a7CyIoY+HU5ipHbmPavCIanvuVRCoM2qsx9dvY/PWozdVvyvy3+yMvTm0VAJm6vQEbitEMjkrnOKN+cgIjt2wgcY06tsz7ny3TWhf6OTMKm0ZyAHd1E6D8rFAwgWfDIrWVpSer+8pTJ3PeMLfcUcGQkvhZnzgrI49qEhpkOmKpKu7bxrlodFKiMLsVmsPrnn7NzLfsdQ==
X-YMail-OSG: C08eQqgVM1k46EXOdlVqq4x7JXo6N5NnQR1CVDXVrTfZDQ_G7qXS0uNOXbz9Tnp
Wzo0_Ju4IXJ0n_iyqoM9KVGXEzZDJmE_m6ZJy7bcs1XrPQ2AGdVOZTrZTtXKMpl2yA_nLDweYCWP
XAumzAsxuELckBkRo.W5OxbUttVjedyK.a29jnnwzV1o0oQOTszEInD68uFIo3nwhYv8IPef.D2b
69SLEnd.ubZZU6hnCmr2vptcMxp1IHXpYoo5RL3852SexRPaFTNZg4fr2qyl16jIIcPYClPw9AJd
JPPUXsa97HauD5QE2aeCj_4WHTCb.bqGrXSc6TZiHW7xs1qVBkoxR2jFRIE3rDp2RSXml_1S_j5l
JjHrE3GFEcwBVTw1GAkF87d.HmqZ2SdUH6jHhvaxq6dOCp5CkN6KgpmaN4dHt_gvOWrHZ7w_VNcs
DL1Lofcm1GQqmYSSmO2B634yxBa89HY9mSe4SxpxVEf0vE1cKzQVDcQNCAS9xDoipbWSGc2u4j2X
xtsAwH8VSEZ5eirsuKqsYuwAKhOYbuR8F.Y0QUoa4i9MBvolL.LAjpLpvbWGexiaddUx5ecLBRC.
piyxz8GyRtKmbUvHQ_LaCNjwmeZvofnFD383DVwfVp4nKBCCFzte5aYM7d0fVoML03PPa1pCuFGd
jBIWQfD7130XyfkEZh_nyww.ATjN6RWKNHi3hMpfhdmhW2Hpcj2I8SoEJ28575UfhspEgkSGk7PR
PiDZp2ExCx666C7_2D754fzGTWErtWs6hfLp5zR6qTRnS5pdY2wMJM.0TZHJQEXCDVFTFO2YGjUp
XhjLItrL4cUPEurc3kpt3iDsE5S1WT1NbizoU3WIuqwmOKqt_dka6soVrXeCmK4zjnYqaxqbYAzm
iOTzGyHirLghy_j6GFlfeUNglxJbkehW712YUUPaCK4UIaDubwtI1g8nGKMLTbDNT1rn8WghrybD
4Hgw55NW4z_CKhWzMHyGLMjzBxVmXK1VZexvcgjqXPdPlQi9AAmVGQvhstEsKSqj7vfVTeikk3Uo
WpwitnQ3tBvRW5OL0Z2CxxhWzeoeALiqOpFOd.fRKMnRIxzctmRGvrlP0yYQ8Otyy04bs4uGjPO8
kb_3qaPnMrXBM8OyE_VQDFxJsQ3s3lnElFijxfAloiEvepF_li2Nx5kIqlZe03GpQO91Qe961HF6
hLd0vNbvveGPikKBxkRSRcUXB8sRt.8sOLMqTLwDMuede3YEJU3aTTlokBOJFCnx8ptRT766t2HQ
L.rIB7vkFLUlwK54thFEeVOmH79e1zKpPw5bshUM8Oongrp02xoCVL8DxwSkY125VI0HFzY4sG1i
Z_CPfAarGj4ccgvwZkZwRDPhx38h9XtPsoCpWcs0mSVWkUdGaerh6Ev6AT2cWFNnlLvY3i8Ir35R
tOKwr9D2t7GNBCcbsVuWDG.rlc7H2g_k0f9CmhbZ9qMVrqWoKn.8XpvJLGkewNBh_DqsI6tUN9yF
UfufMc8HVXBVuzH3wc2BAI.5EIP0piS2MNOFKZtJsRsdN.NgxGYnF2_eFNXrSp6cGoxrz_6QToot
KfavSn3nplcUoVSNNofQrYQVenN0M4ztR2Gk0vF1Vfhpy2R1meqtfonF5_UWyTQa3TIpqymN2DWh
q1al.cuqgBoyZtWbr1LiHntduzwezlE5gGTopPz8kEF5WPqiDFk329Lux3CtRxFfQL.smnKnit0Y
M3kp2.HDhl7dOzJ38atWh8xU40jxE9sRDsnT3gBn3B7spa4rFeEL0BPNQOol16FqaxPZcVXOinTn
1F5u_1Y6dm1CIOSczjMtvR9JBo91m1WAmXVDgCUllXXW8ZngtILBsRJjC5hB4lealJhSlqsxp79h
fxmAKrzgFCpuFB_kVBAOA6Ox8qFhgjHxNbvfdIiuhlzZorV9rtzjc9O4FWhZMyUgLqJZJpO2JUoZ
lpgoYjWzCbK1Lvc0xbLawCdS.sp1t2VRgpx8f5p.XGE5irLS9WBVOsRMaCEp51LMRX.Pqi0_W6Co
masFhZWVT9t6bNgD53t3fY45bbNs38sFHjzAy2Hk0NXpxYe.WuePwCxDp9Yml6J1Dr.8vYzQLkNr
zytdj.fH5XpNjQEmeaSVjvH5SLK0injSshSJj1flhcj2l5d1ypZqu7srjYLOcRE4_fQTfA4L44Gd
EMrkgcq8aevOOyGDgRJgJY9Jjvb6_y0q3zg6Y2s_YQMR65gBt0SgngENLF4GkDR4Mc1pTR8Ad6K9
yeB.RJKihwGmCeBB.rSdAiQ4O8J9t6or2WHf3ne_vr4dFguT4UIkXC5smmOwqliWGO5BRAg--
X-Sonic-MF: <avigross@verizon.net>
In-Reply-To: <sivnk8$sam$1@dont-email.me>
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQIM0QdUeAgRsd0W4oMJY1ZZhLXuWAHJpWwRAbS5U/QBQ75KKwH8pWQjAYYmaMYCH4TFNAHSIgpYAezTSAYBjmCzMAE9lO9VAWa5FhuqvOa/cA==
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <042f01d7b49e$0e10e660$2a32b320$@verizon.net>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me> <00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<YVLDbplfwLAQylV7@hjp.at>
<mailman.868.1632813943.4164.python-list@python.org>
<sivdaf$93d$1@dont-email.me> <03a801d7b496$8247da00$86d78e00$@verizon.net>
<mailman.871.1632853664.4164.python-list@python.org>
<sivnk8$sam$1@dont-email.me>
 by: Avi Gross - Tue, 28 Sep 2021 19:21 UTC

Not lucky at all, Michael. The problem is he published a number of things
with Paul Erdős a few years after I got my degrees and went to Bell
laboratories. I never met Erdős but he was prolific and had 507 people
publish with him as co-authors. I would have loved to as I also speak
languages he spoke including Hungarian and Math.

Well, time to get back to something remotely about Python. Is there any
concept of a Rossum Number where anyone who worked directly with Guido Van
Rossum is a 1 (or True or truthy) and ...

Hey I just realized my Berners-Lee number might be 1 but it was so long ago
we worked on what Hypertext should look like, ...

-----Original Message-----
From: Python-list <python-list-bounces+avigross=verizon.net@python.org> On
Behalf Of Michael F. Stemper
Sent: Tuesday, September 28, 2021 2:41 PM
To: python-list@python.org
Subject: Re: XML Considered Harmful

On 28/09/2021 13.27, Avi Gross wrote:
> Well, Michael, if you want to go back to the eighties, and people you
> worked with, I did my Thesis with a professor who later had an Erdős
number of 1!
> Too bad I never got around to publishing something with him or I could
> have been a 2!

Lucky you. If a paper that a friend of mine is submitting to various
journals gets accepted by one of them, I'll end up with a 4 or 5 through
him. However, as the months pass, it's looking more like mine will end up
NaN.

--
Michael F. Stemper
Isaiah 58:6-7
--
https://mail.python.org/mailman/listinfo/python-list

Re: XML Considered Harmful

<data-20210928223137@ram.dialup.fu-berlin.de>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19873&group=comp.lang.python#19873

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: 28 Sep 2021 21:40:56 GMT
Organization: Stefan Ram
Lines: 112
Expires: 1 Dec 2021 11:59:58 GMT
Message-ID: <data-20210928223137@ram.dialup.fu-berlin.de>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me> <00a401d7b255$d27d72c0$77785840$@verizon.net> <mailman.813.1632605975.4164.python-list@python.org> <sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net> <mailman.865.1632790868.4164.python-list@python.org> <sivcss$5mp$1@dont-email.me> <config-20210928165017@ram.dialup.fu-berlin.de> <sivkrl$6u6$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de KcWvNCPel4QKqJ5p+gu8XQoytjMviXVHVPS5xBRxbpESLT
X-Copyright: (C) Copyright 2021 Stefan Ram. All rights reserved.
Distribution through any means other than regular usenet
channels is forbidden. It is forbidden to publish this
article in the Web, to change URIs of this article into links,
and to transfer the body without this notice, but quotations
of parts in other Usenet posts are allowed.
X-No-Archive: Yes
Archive: no
X-No-Archive-Readme: "X-No-Archive" is set, because this prevents some
services to mirror the article in the web. But the article may
be kept on a Usenet archive server with only NNTP access.
X-No-Html: yes
Content-Language: en-US
Accept-Language: de-DE, en-US, it, fr-FR
 by: Stefan Ram - Tue, 28 Sep 2021 21:40 UTC

"Michael F. Stemper" <michael.stemper@gmail.com> writes:
>Well, that doesn't really address what format to store the data
>in.

The format would be Python.

Some people have worked with compiled languages like C.
So they got used to a separation between a "compile time"
and a "run time". Some data should be loaded at "run time"
because one does not want to "recompile" the project,
so one need to find a format for those data.

Python usually is interpreted, and the separation between
a "compile time" and a "run time" is gone. When you change
a python module, there's no need to "recompile" it.

Sometimes, people work with languages like C that have no
rich sublanguage for data structures like list literals and
dictionary literals. So they need to find a different format
for those data.

Python has a rich sublanguage for list literals and
dictionary literal. So the separation between a "procedure
language" and a "data language" is gone. You can write your
structured data directly in Python.

JSON is a kind of a subset of JavaScript for JavaScript
programmers. In Python, we can use JSON too, or we can
use Python itself.

When some external requirement to use a data exchange
notation like JSON should appear, one can still "translate"
such Python modules to JSON. This path is not blocked.

>This sounds like a suggestion that I hard-code the data into a
>module.

Why do we try to avoid "hard-coding"? Part of this rejection
comes from "hard-coding" at "compile time" what cannot be
changed at "run time". With an interpreted language, this
difference is gone.

Part of the rejection comes from a confusing mixture of
concerns (data vs. code) in a single entity, but this is
gone when you clearly split them using modules.

> I suppose that I could have half-a-dozen modules with
>different data sets and ln them as required:
>$ rm GenData.py* FuelData.py*
>$ ln gendata1.py GenData.py
>$ ln fueldata3.py FuelData.py

Maybe "ln" is a bit inspired by compiler-based development
approaches. Let me call the three lines above a "batch file".
In Python you could use a Python "batch file" instead:

batch.py

import application
application.accept_GenData( "gendata1.py" )
application.import_module( "fueldata3", as_="FuelData" )
application.run()

You configure the application similar to how this was done
using "ln". You tell it to use "fueldata3.py" as it "FuelData".
Then you start it. The file "application.py" does not have to
be modified when changing the configuration, as from "fueldata3"
to "fueldata2", for example.

Of course, you could also read all those names (such as
"gendata1" and "fueldata3") from the commandline:

py example.py gendata1 fueldata3

(source code for this is not included in this post).

For completeness, here are the other files:

application.py:

import importlib

def accept_GenData( gendata_argument ):
global gendata
gendata = gendata_argument

def import_module( module_name, *, as_ ):
globals()[ as_ ]= importlib.import_module( module_name )

def run():
print( "This is the application." )
print( gendata )
FuelData.greet()

fueldata3.py

def greet():
print( "This is fueldata3." )

Output:

This is the application.
gendata1.py
This is fueldata3.

>It seems to me that a more thorough separation of code and data
>might be useful.

Such a separation can be useful indeed, but does not require
the use of two different languages.

Re: XML Considered Harmful

<mailman.874.1632866891.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19875&group=comp.lang.python#19875

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: rosuav@gmail.com (Chris Angelico)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Wed, 29 Sep 2021 08:07:57 +1000
Lines: 17
Message-ID: <mailman.874.1632866891.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
<config-20210928165017@ram.dialup.fu-berlin.de> <sivkrl$6u6$1@dont-email.me>
<data-20210928223137@ram.dialup.fu-berlin.de>
<CAPTjJmrokVZc=UmJRC75WpMuXgQRV_ffyoNaZt0e1VDb5htAzA@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
X-Trace: news.uni-berlin.de q/dpfeC++WVe5LD+s2lckgxy9hMpdpX2CHscGPVqjfLQ==
Return-Path: <rosuav@gmail.com>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=gmail.com header.i=@gmail.com header.b=lVzw+Axm;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.010
X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'modules': 0.07; 'ram':
0.07; 'used.': 0.07; 'json': 0.09; 'mechanism': 0.09; 'unlike':
0.09; '8:00': 0.16; 'chrisa': 0.16; 'from:addr:rosuav': 0.16;
'from:name:chris angelico': 0.16; 'subset': 0.16; 'wrote:': 0.16;
'python': 0.16; 'code.': 0.17; "can't": 0.17; 'to:addr:python-
list': 0.20; 'language': 0.21; 'code': 0.23; '(and': 0.25;
'python,': 0.25; 'stefan': 0.26; 'code,': 0.31; 'sep': 0.32;
'to:name:python': 0.32; 'message-id:@mail.gmail.com': 0.32; 'but':
0.32; 'path': 0.33; 'header:In-Reply-To:1': 0.34;
'received:google.com': 0.34; 'yes,': 0.35; 'from:addr:gmail.com':
0.35; 'received:209.85': 0.37; 'received:209': 0.39; 'handle':
0.39; 'use': 0.39; 'wed,': 0.39; 'still': 0.40; 'exchange': 0.40;
'should': 0.40; 'requirement': 0.64; 'malicious': 0.69;
'transport': 0.69; '2021': 0.71; 'itself.': 0.84; 'exists': 0.91;
'trusted': 0.93
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
bh=yaEvSGdArFGBxfOiK6I5z4xY5BaE17jrC3zOQAiQmk8=;
b=lVzw+AxmwUFo8fFiBaBXujhXebJrEIKgzS76kFfTwFtVqGe/yahLYLl/mMhJJKic1e
mlOQ358mF6fa1Ipw9GmcjkYFq6f6bG2VuA6+XyFNVItLp/sB4HIE0J2nr0WNEuEruXqG
UE5hx9ujg9Ym8TCzjwhpbD+xFFWEvaLJ6ucgGELH52Z2rTh9FbMYuZQGXldFEUbM7C2f
mbiRCt0j8d96SrHjnVdRmJTmPWVAJeju9rWHy9hnRwMLllgp+yDBRUqSAXGBSbYdRz5k
r5Bp3TVoS2Pil75dhCvseSH50eYulUoMZiwdpouB+lc1PhsFw38RcyNvfBqLmzgtSOyn
m6sQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to;
bh=yaEvSGdArFGBxfOiK6I5z4xY5BaE17jrC3zOQAiQmk8=;
b=LO6YAB79sta/iJXdJ3S8+EXelK3aCWzYmekGllU8bGstqKAnTtyCjOoOHgN3dtkwUV
dnhVro7EcBkK/dnmNJ7iqQ8vDRUiUuB/UzKTXgsPKYRvcNPM9Ji+9SK2FrP9JlOOVluL
SIgAdC0rU2whe2S3lSGmKeAn8Gfvl9IBD942E0UT395AfCPYlWVuGyd/T7QIbmKsWvRy
0Sk9+i3YBvUmYFDArAGCsTvkBRwda+uR5ubAF25d7m6C0bqL1zFSeTGd1XLAap9q78py
DufHe4XxrjOFlWVT5Oa6KAaeqgua9VcnN7V/h/H7Hjp4qdhPhnlTjwWL7V+2dMvE2uep
PseA==
X-Gm-Message-State: AOAM531ZRLMi2ow+UV5VD38XacpOLq13eMyUvGVY7RU/r/60JyatuEUK
a5xQ/+drESjDq5aH1LtcaFxYt0Ba8vgBmqI92rJyE7DuyvU=
X-Google-Smtp-Source: ABdhPJwnD5QCH3Gswj6d5upnt75t6AGf8I4dd6+TTA6DjwnOKVXFul+A2ezVPCaHIFFif1h1ZGhB3Z/9uI4BlMNFXWU=
X-Received: by 2002:a1c:ac86:: with SMTP id v128mr7040451wme.3.1632866889332;
Tue, 28 Sep 2021 15:08:09 -0700 (PDT)
In-Reply-To: <data-20210928223137@ram.dialup.fu-berlin.de>
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <CAPTjJmrokVZc=UmJRC75WpMuXgQRV_ffyoNaZt0e1VDb5htAzA@mail.gmail.com>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
<config-20210928165017@ram.dialup.fu-berlin.de> <sivkrl$6u6$1@dont-email.me>
<data-20210928223137@ram.dialup.fu-berlin.de>
 by: Chris Angelico - Tue, 28 Sep 2021 22:07 UTC

On Wed, Sep 29, 2021 at 8:00 AM Stefan Ram <ram@zedat.fu-berlin.de> wrote:
> JSON is a kind of a subset of JavaScript for JavaScript
> programmers. In Python, we can use JSON too, or we can
> use Python itself.
>
> When some external requirement to use a data exchange
> notation like JSON should appear, one can still "translate"
> such Python modules to JSON. This path is not blocked.

JSON exists as a transport mechanism because it is restricted and
can't contain malicious code. A Python equivalent would be
ast.literal_eval - a strict subset of the language but restricted for
safety. For trusted code, yes, straight code can be used.

(And ast.literal_eval, unlike JSON, can handle comments.)

ChrisA

Re: XML Considered Harmful

<irhmbkFfdj0U1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19878&group=comp.lang.python#19878

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: greg.ewing@canterbury.ac.nz (Greg Ewing)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Wed, 29 Sep 2021 12:21:22 +1300
Lines: 8
Message-ID: <irhmbkFfdj0U1@mid.individual.net>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: individual.net buYCnE1y/LpsS740ADkD6QK7ZZDLCmz5w7ap+QM6jtutdsRwHP
Cancel-Lock: sha1:bZSCTIHMQNq8BsPRibwS+UpzN8M=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:78.0)
Gecko/20100101 Thunderbird/78.4.0
In-Reply-To: <sivcss$5mp$1@dont-email.me>
Content-Language: en-US
 by: Greg Ewing - Tue, 28 Sep 2021 23:21 UTC

On 29/09/21 4:37 am, Michael F. Stemper wrote:
> I'm talking about something made
> from tons of iron and copper that is oil-filled and rotates at 1800 rpm.

To avoid confusion, we should rename them "electricity comprehensions".

--
Greg

Re: XML Considered Harmful

<mailman.878.1632872959.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19880&group=comp.lang.python#19880

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: PythonList@DancesWithMice.info (dn)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Wed, 29 Sep 2021 12:49:05 +1300
Organization: DWM
Lines: 261
Message-ID: <mailman.878.1632872959.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me> <config-20210928165017@ram.dialup.fu-berlin.de>
<sivkrl$6u6$1@dont-email.me>
<24e888de-dd3c-9a48-5e51-5f70b5ff88f7@DancesWithMice.info>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de zLczBay0wJErNEeB1VXyOwHaAIbIHT1453yhTUhKxwJA==
Return-Path: <PythonList@DancesWithMice.info>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=danceswithmice.info header.i=@danceswithmice.info
header.b=QJtYBj40; dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.000
X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; '(which': 0.04; 'def':
0.04; 'bunch': 0.05; 'parameter': 0.05; 'thread': 0.05; 'modules':
0.07; 'ram': 0.07; 'suggestion': 0.07; 'view,': 0.07; 'wrong.':
0.07; '=dn': 0.09; 'collecting': 0.09; 'compiler': 0.09;
'construct': 0.09; 'example:': 0.09;
'from:addr:danceswithmice.info': 0.09; 'from:addr:pythonlist':
0.09; 'fundamental': 0.09; 'implicit': 0.09; 'incorporated': 0.09;
'module.': 0.09; 'module:': 0.09; 'routine': 0.09; 'solution,':
0.09; 'terminal': 0.09; 'writes:': 0.09; 'coding': 0.13; 'import':
0.15; '(because': 0.16; '(even': 0.16; 'above)': 0.16;
'algorithms': 0.16; 'anomalous': 0.16; 'arguments': 0.16;
'attributes': 0.16; 'command-line': 0.16; 'computers': 0.16;
'dict': 0.16; 'ensuring': 0.16; 'expectation': 0.16; 'folk': 0.16;
'frequently': 0.16; 'iirc': 0.16; 'interface,': 0.16; 'later?':
0.16; 'many,': 0.16; 'message-id:@DancesWithMice.info': 0.16;
'point)': 0.16; 'received:51.254': 0.16; 'received:51.254.211':
0.16; 'received:51.254.211.219': 0.16; 'received:cloud': 0.16;
'received:rangi.cloud': 0.16; 'results,': 0.16; 'scenario,': 0.16;
'sounds': 0.16; 'stick': 0.16; 'tdd': 0.16; 'tuple': 0.16;
'useful.': 0.16; 'workable,': 0.16; 'wrote:': 0.16; 'problem':
0.16; 'python': 0.16; 'larger': 0.17; 'code.': 0.17; 'probably':
0.17; 'to:addr:python-list': 0.20; 'issue': 0.21; 'input': 0.21;
'machine': 0.22; 'maybe': 0.22; 'problem,': 0.22; 'returns': 0.22;
'code': 0.23; "i'd": 0.24; 'idea': 0.24; '(and': 0.25; 'past':
0.25; 'actual': 0.25; 'programming': 0.25; 'seems': 0.26;
'attack': 0.26; 'brought': 0.26; 'opening': 0.26; 'programming,':
0.26; 'stefan': 0.26; 'thorough': 0.26; 'creating': 0.27; "isn't":
0.27; 'leave': 0.27; 'function': 0.27; 'old': 0.27; '>>>': 0.28;
'etc': 0.28; 'expect': 0.28; 'output': 0.28; 'thinking': 0.28;
'suggest': 0.28; 'computer': 0.29; 'header:User-Agent:1': 0.30;
'code,': 0.31; 'within': 0.69; 'terms': 0.70; 'compared': 0.71;
'ignore': 0.71; 'quote': 0.74; 'process,': 0.75; 'skip:f 20':
0.75; 'card': 0.76; 'languages,': 0.76; 'need,': 0.76; 'poor':
0.76; 'received:localhost.localdomain': 0.76; 'business': 0.77;
'1st': 0.78; 'successful': 0.78; 'major': 0.78; 'discover': 0.80;
'received:localdomain': 0.81; 'waste': 0.81; 'known': 0.84;
'points': 0.84; 'practical': 0.84; 'trial': 0.84; "'how": 0.84;
'adjustment': 0.84; 'brevity': 0.84; 'disaster': 0.84;
'distinction': 0.84; 'donald': 0.84; 'enact': 0.84; 'ensuing':
0.84; 'eventually': 0.84; 'further,': 0.84; 'generators,': 0.84;
'inputs': 0.84; 'interpreting': 0.84; 'luxury': 0.84; 'michael,':
0.84; 'realise': 0.84; 'received:47': 0.84; 'shows,': 0.84;
'similarly': 0.84; 'thus,': 0.84; 'todo': 0.84; 'whole.': 0.84;
'expensive': 0.91; 'aspects': 0.93; 'optimization': 0.93
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on vps517507.ovh.net
X-Spam-Level:
X-Spam-Status: No, score=-5.6 required=5.0 tests=ALL_TRUSTED,BAYES_00,
DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, NICE_REPLY_A,
WEIRD_QUOTING autolearn=ham autolearn_force=no version=3.4.0
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.rangi.cloud CE05D4D7A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=danceswithmice.info;
s=staff; t=1632872954;
bh=Fk22EzObuOhOSF6FJeP5Q6/ROC3N2FVMrgV3PO0RAe8=;
h=Subject:To:References:From:Date:In-Reply-To:From;
b=QJtYBj40HHoOZfhCHRqTvKmrkkJT/yesHU1+SM+wSRuCxGHXzOCZ02iKHW55XOzy2
WsPT4JN6SGGuaI1j0N5bC26xBESZgz/dp3yT5COe9IqgP76bwlriD5mUs8rcCAk3pe
fbqn6YkQMejPAPGKMUx69zYcYwXdo5hHIzNPRTaZqGdXJ+6TemyguYPTE4BdYEnFly
9q0P8pRfWCohVBfm/9/RWo/AbRDi3rKEKrkkBc5/ysiccdvVIEZ4kcpCY2/vB8od5C
ObehYGdBWfgOY/fXDyfqYmIveYggX/O0iM5dTjIK7iBDiqn5ntohNd19glosVasnzJ
aKIZ42xoeZbbw==
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
In-Reply-To: <sivkrl$6u6$1@dont-email.me>
Content-Language: en-GB
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <24e888de-dd3c-9a48-5e51-5f70b5ff88f7@DancesWithMice.info>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me> <config-20210928165017@ram.dialup.fu-berlin.de>
<sivkrl$6u6$1@dont-email.me>
 by: dn - Tue, 28 Sep 2021 23:49 UTC

On 29/09/2021 06.53, Michael F. Stemper wrote:
> On 28/09/2021 10.53, Stefan Ram wrote:
>> "Michael F. Stemper" <michael.stemper@gmail.com> writes:
>>> Well, I could continue to hard-code the data into one of the test
>>> programs
>>
>>    One can employ a gradual path from a program with hardcoded
>>    data to an entity sharable by different programs.
>>
>>    When I am hurried to rush to a working program, I often
>>    end up with code that contains configuration data spread
>>    (interspersed) all over the code. For example:
>
>>    1st step: give a name to all the config data:
>
>>    2nd: move all config data to the top of the source code,
>>    directly after all the import statements:
>
>>    3rd: move all config data to a separate "config.py" module:
>>
>> import ...
>> import config
>> ...
>>
>> ...
>> open( config.project_directory + "data.txt" )
>> ...
>>
>>> but that would mean that every time that I wanted to look
>>> at a different scenario, I'd need to modify a program.
>>
>>    Now you just have to modify "config.py" - clearly separated
>>    from the (rest of the) "program".
>
> Well, that doesn't really address what format to store the data
> in. I was going to write a module that would read data from an
> XML file:
>
> import EDXML
> gens = EDXML.GeneratorsFromXML( "gendata1.xml" )
> fuels = EDXML.FuelsFromXML( "fueldata3.xml" )
>
> (Of course, I'd really get the file names from command-line arguments.)
>
> Then I read a web page that suggested use of XML was a poor idea,
> so I posted here asking for a clarification and alternate suggestions.
>
> One suggestion was that I use YAML, in which case, I'd write:
>
> import EDfromYAML
> gens = EDfromYAML( "gendata1.yaml" )
> fuels = EDXML.FuelsFromYAML( "fueldata3.yaml" )
>
>>> And when I discover anomalous behavior, I'd need to copy the
>>> hard-coded data into another program.
>>
>>    Now you just have to import "config.py" from the other program.
>
> This sounds like a suggestion that I hard-code the data into a
> module. I suppose that I could have half-a-dozen modules with
> different data sets and ln them as required:
>
> $ rm GenData.py* FuelData.py*
> $ ln gendata1.py GenData.py
> $ ln fueldata3.py FuelData.py
>
> It seems to me that a more thorough separation of code and data
> might be useful.

Dear Michael,

May I suggest that you are right - and that he is right!
(which is a polite way of saying, also, that both are wrong. Oops!)
(with any and all due apologies)

There are likely cross-purposes here.

I am interpreting various clues, from throughout the thread (from when
the snowflakes were still falling!) that you and I were trained
way-back: to first consider the problem, state the requirements
("hypothesis" in Scientific Method), and work our way to a solution
on-paper. Only when we had a complete 'working solution', did we step up
to the machine (quite possibly a Card Punch, cf a 'computer') and
implement.

Also, that we thought in terms of a clear distinction between
"program[me]" and "data" - and the compiler and link[age]-editor
software technology of the time maintained such.

Whereas 'today', many follow the sequence of "Test-Driven Development"
(er, um, often omitting the initial test) of attempting some idea as
code, reviewing the result, and then "re-factoring" (improving), in a
circular progression - until it not only works, but works well.

This requires similar "stepwise decomposition" to what we learned, but
differs when it comes to code-composition. This approach is more likely
to accumulate a solution 'bottom-up' and component-wise, rather than
creating an entire (and close-to-perfect) solution first and as an whole.

Let's consider the Python REPL. Opening a terminal and starting the
Python interpreter, gives us the opportunity to write short "snippets"
of code and see the results immediately. This is VERY handy for ensuring
that an idea is correct, or to learn exactly how a particular construct
works. Thus, we can 'test' before we write any actual code (and can
copy-paste the successful 'prototype' into our IDE/editor!).

We didn't enjoy such luxury back in the good?bad old days. Young people
today - they just don't know how lucky they are!
(cue other 'grumpy old man' mutterings)

Other points to consider: 'terminals' (cf mainframes), interpreted
languages, and 'immediacy'. These have all brought "opportunities" and
thus "change" to the way developers (can) work and think! (which is why
I outlined what I think of as 'our training' and thus 'our thinking
process' when it comes to software design, above)

Another 'tectonic shift' is that in the old days 'computer time' was
hugely expensive and thus had to be optimised. Whereas these days (even
in retirement) programming-time has become the more expensive component
as computers (or compute-time in cloud-speak) have become cheaper - and
thus we reveal one of THE major attractive attributes of the Python
programming language!

Accordingly, (and now any apologies-due may be due to our colleague -
who was amplifying/making a similar comment to my earlier contribution):
if we decompose the wider-problem into (only) the aspects of collecting
the data, we can assume/estimate/document/refer to that, as a Python
function:

def fetch_operating_parameters():
"""Docstring!"""
pass

(yes, under TDD we would first write a test to call the function and
test its results, but for brevity (hah!) I'll ignore that and stick with
the dev.philosophy point)

Decomposing further, we decide there's a need to pull-in characteristics
of generators, fuel, etc. So, then we can similarly expect to need, and
thus declare, a bunch more functions - with the expectation that they
will probably be called from 'fetch_operating_parameters()'. (because
that was our decomposition hierarchy)

Now, let's return to the program[me] cf data contention. This can also
be slapped-together 'now', and refined/improved 'later'. So, our first
'sub' input function could be:

def fetch_generator_parameters() -> tuple[ dict ]:
"""Another docstring."""
skunk_creek_1 = {
"IHRcurve_name" : "normal",
"63" : "8.513",
"105" : "8.907",
etc
}
...
return skunk_creek_1, ...

Accordingly, if we 'rinse-and-repeat' for each type of input parameter
and flesh-out the coding of the overall input-construct
(fetch_operating_parameters() ) we will be able to at least start
meaningful work on the ensuing "process" and "output" decompositions of
the whole.

(indeed, reverting to the Input-Process-Output overview, if you prefer
to stick with the way we were taught, there's no issue with starting at
'the far end' by writing an output routine and feeding it 'expected
results' as arguments (which you have first calculated on-paper) to
ensure it works, and continuing to work 'backwards' through 'Process' to
'Input'. Whatever 'works' for you!)

Note that this is a Python-code solution to the original post about
'getting data in there'. It is undeniably 'quick-and-dirty', but it is
working, and working 'now'! Secondly, because the total-system only
'sees' a function, you may come back 'later' and improve the
code-within, eg by implementing a JSON-file interface, one for XML, one
for YAML, or whatever your heart-desires - and that you can have the
entire system up-and-running before you get to the stage of 'how can I
make this [quick-and-dirty code] better?'.

(with an alternate possible-conclusion)

Here's where "skill" starts to 'count'. If sufficient forethought went
into constructing the (sub-)function's "signature", changing the code
within the function will not result in any 'ripple' of
consequent-changes throughout the entire system! Thus, as long as
'whatever you decide to do' (initially, and during any
improvements/changes) returns a tuple of dict-s (my example only), you
can keep (learning, experimenting, and) improving the function without
other-cost!

(further reading: the Single Responsibility Principle)

So, compared with our mouldy-old (initial) training, today's approach
seems bumbling and to waste time on producing a first-attempt which
(must) then require time to be improved (and watching folk work, I
regularly have to 'bite my tongue' rather than say something that might
generate philosophical conflict). However, when combined with TDD,
whereby each sub-component is known to be working before it is
incorporated into any larger component of the (and eventually the whole)
solution, we actually find a practical and workable, alternate-approach
to the business of coding!


Click here to read the complete article
Re: XML Considered Harmful

<sj1o8r$qac$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19895&group=comp.lang.python#19895

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: michael.stemper@gmail.com (Michael F. Stemper)
Newsgroups: comp.lang.python
Subject: Re: XML Considered Harmful
Date: Wed, 29 Sep 2021 08:04:27 -0500
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <sj1o8r$qac$1@dont-email.me>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me> <irhmbkFfdj0U1@mid.individual.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 29 Sep 2021 13:04:28 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="af85694e9e85e056fb158bee69cfbdc4";
logging-data="26956"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/v60sCxGez2CCPieDzGNnF3IVjdQAmFPo="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.10.0
Cancel-Lock: sha1:LYRd6zZ8FubqaNoyv1mmUy9mBCk=
In-Reply-To: <irhmbkFfdj0U1@mid.individual.net>
Content-Language: en-US
 by: Michael F. Stemper - Wed, 29 Sep 2021 13:04 UTC

On 28/09/2021 18.21, Greg Ewing wrote:
> On 29/09/21 4:37 am, Michael F. Stemper wrote:
>> I'm talking about something made
>> from tons of iron and copper that is oil-filled and rotates at 1800 rpm.
>
> To avoid confusion, we should rename them "electricity comprehensions".

Hah!

--
Michael F. Stemper
If you take cranberries and stew them like applesauce they taste much
more like prunes than rhubarb does.

RE: XML Considered Harmful

<mailman.892.1632961774.4164.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=19903&group=comp.lang.python#19903

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: avigross@verizon.net (Avi Gross)
Newsgroups: comp.lang.python
Subject: RE: XML Considered Harmful
Date: Wed, 29 Sep 2021 20:29:28 -0400
Lines: 38
Message-ID: <mailman.892.1632961774.4164.python-list@python.org>
References: <sid7a6$kcu$1@dont-email.me> <sio0ab$1ve$1@dont-email.me>
<00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me> <irhmbkFfdj0U1@mid.individual.net>
<sj1o8r$qac$1@dont-email.me>
<021101d7b592$3ac439b0$b04cad10$@verizon.net>
Mime-Version: 1.0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Trace: news.uni-berlin.de 8ftdUH00UBWvpKYjM8duTwWm75w20ZoY9hWR5kdamyoA==
Return-Path: <avigross@verizon.net>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=verizon.net header.i=@verizon.net header.b=Twon9dM4;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.128
X-Spam-Level: *
X-Spam-Evidence: '*H*': 0.75; '*S*': 0.00; 'expression': 0.09; 'tons':
0.09; 'url:mailman': 0.15; 'copper': 0.16; 'greg': 0.16;
'received:(vzm hermes smtp server)': 0.16; 'rotates': 0.16;
'tuples': 0.16; 'wrote:': 0.16; 'python': 0.16; 'to:addr:python-
list': 0.20; 'language': 0.21; 'skip:- 10': 0.25; 'url-
ip:188.166.95.178/32': 0.25; 'url-ip:188.166.95/24': 0.25;
'url:listinfo': 0.25; 'url-ip:188.166/16': 0.25; 'wednesday,':
0.26; 'sense': 0.28; 'am,': 0.31; 'url-ip:188/8': 0.31; 'think':
0.32; 'python-list': 0.32; 'but': 0.32; "i'm": 0.33; 'header:In-
Reply-To:1': 0.34; 'room': 0.36; 'using': 0.37; 'others': 0.37;
'way': 0.38; 'list': 0.39; 'something': 0.40; 'should': 0.40;
'michael': 0.60; 'from:': 0.62; 'to:': 0.62; 're:': 0.64;
'generator': 0.69; 'took': 0.69; '2021': 0.71; 'sent:': 0.78;
'established': 0.80; '4:37': 0.84; 'comprehend': 0.84;
'electricity': 0.84; 'pairs': 0.84; 'think,': 0.91
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verizon.net; s=a2048;
t=1632961772; bh=SULjPAPhZGka/XWc7mAesJRnHP5X+ApkXFOJEHjg5wk=;
h=From:To:References:In-Reply-To:Subject:Date:From:Subject:Reply-To;
b=Twon9dM4bF7dRVCSqMLsJMoDXJBaZRcv1GA4L40kuq8NUAH4h9I605gs9fa5Q1MrhH3iFCHHzMPT0XpX60Bp/35JDlhW0qwdYxUwR/s1poNK3CkK2RZQDWAE2z9bPfCsL1UkDHdXJq7/SB2VM2Eg23xuSY29OAlLAesMA8k/cm4yQTw594lAOSlVI19ZlVsTit0OzbNl5Ei8dGpFGb0dZD8OMCpkOF1H+9DxmiqUZWYeUaPe41F7qA5jKpWI1AE+0Nyo/+UcVfR/D/lrxaclb4KCSaSYRwkom0x/1djXh2t0JP8xGeh+QNaHPlTrBcS7a/+OYA8MmukpgIDcM9ma0w==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
t=1632961772; bh=viERsQJZk4BjVuMG9BjDbNpYgXRnCiw9svLJBc+lqmM=;
h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
b=eAH6oydGp7S4fG73QcJxbGIG8V4uk6so7rxHOHnZNdIymrI7EQ1oY4qDUp1OCDzy9r5h3ert7jP01HCZ2aM8e7XjijnLcDERYCdqlgYlcd9bRrpLyD/lB48NIVo4UqnxGwL3ZHZSWPucwvw5rKbQ4F6H4DEE9OZBAHdWkGxVrkFU18ON+CeZ5TGJ7rVrHB/yJ1G5wDtYpi1e3IKuOgBK0d/XeebKpuGN1UMkoO8IcO9u9rq/q5ssrdYdPV53mDo4vk0lVQ4KfzIMgpHOBt8PcsuZgP6YRG3Ds5TnBJGcz7X9uEBb0+eQSNo+bZ0eZ8YZP9VtJE381eQnBffcgRrduA==
X-YMail-OSG: bJZSMbQVM1kL24zxc1VBXtUXfh8vLozgai8680EZQ8sfbLaO7xKc8SgHSuzQzB7
HXjXcxbnss0bvVlPoofXPnYbcbsI5G.2L6Kicnxy5k5NNWKrdqBTSUlhjb3J_S.1GBTRv_AvENXV
5n0puHUCvEg6hES_CM.GcEfx5Dx3Pr.rB2Wb6xGtmHbazgYLV9_arJQRUEJhb7EgIDcp14FK0NG_
_1lGFy2aU7HiM_mYwa4ofgHlhfYlTvxvkwzICy_DUG4rrRYZzZcPNxi0VNrwaDqi21F4j8nGwKMf
jwcDobf5MoetG7jz1Ffrxyd6ubYVMZ37b3H5SuvMvDZBORMirK_O.mUWX36MCOxoRAyfAx18ga5L
VGv7988eJ8VFyqHqkc9i8219L92ybFCqPP12L1HzFZDGtG3q7zOLoAaZIlISpW.lDsz1HuusdI3W
2tn.rCbK7Y1cDvs3Ddt9vk1jYctpCGgxjPGnU1dDPDUSxyjYOKN4qZJbUtq8AZ8j0d2aeUm6e.R_
RfZE8QKmcopp6a0Tfk8Tahtyl.XHIsVvnUvIqGHOX0vTXvUb9.v_P_cfukqXnXYnQIOrWP6AcZvn
itPbXbV5P24MEXoCfZcc1FyMeSvr0LSrgVfZImtth5gpZwuxbbAcaGksxelYqvUg9ciLAkuxGfE5
JjO1WeeAyV7Kn1JQlxj13yscvWosjOAnGsLfQl6ibZmVk51PLB709YNIVGuDEyqzyIL.sBgjKAxO
b2fMGe1G7dMomaDCKXJVC8Wh5iaBtLMEeIuAtnZ3077tBUDf5G5XV4GzIbKY_eiOtiFTisFSBL7v
ubC2gtjFdLyuw5U6hm6Q3HkEXwbjDeUPqJBlfauH5h7WD7dKeaZzZXAR.NMsc9lgy5Bldxm_YUXz
wtlHnn_0l2W8EIh.dIwvz21vSEWZ0Oym_pckBeSkPevKJoXBZWgAtlvIItaso4U8OLMnzxp5KD1G
IIjHiMzPPQQL6Ieaf07dQgiHZgIbbiFKY7X9uuhuA4V8nqi.RbGI.NdlRr1Zsh.9dvNpqzAk7dRu
pjQ2yu1G44pGNTuDGlS_2YqaDJ1O2yUorICHXyyFCmpKaOFZlNthcab1qOcHsLvsS.0fHISSgiWn
4a9KlmLg.D7OGbnSIXHGjwoTZJbjEH_gzuA7i0vmJVK_e.XjAuyO6hkALlPoso8pZHDr9pr_BpYw
v2j6ArVkVSQHrKvFskLRYQLzPLJ6RK4iesQa_QV3bREOj7OexHlINDWUINXhXeud0OLDU_mLk6JN
AsZEM8L9G2h_KyoQkY2BcEgvoz1BQUTJBTlridtWbvRfEYZIV5RY8j5tYSW36fC4kWJrSu0KDBqq
io6VzeDXiGXYEQCgQgKJG4SDH5cci_Nmgs0RbGi8f8YnTQcOdkuSE899b.HrEe3Xat5sSPiyFryJ
_epNyywk_NGpV2_O6KSacennHfVVxl.GpVIdC2w5xaekEL6YE38yC3tL580Tyg_9MBi8EXIBGYYC
H1h90mxjkVOV4QP.X9rSZ1tDKLs2r7P5n9kNTM8aQwHFEyKfEVRj_OUndVITOrA6rxjZ8.vEvp95
ff4hV.fq4pHaomCM6XGztZffUw7IbZ3YfbKNCd_yoQkxmZZeqC33aC57hVy8awUphwbVGgY8JZhK
TBS_Guctt.fbMgvtCxy7uOArUxahRKqAH3UPlc9mJe7eJSUqiM95fWWLaIsMqyk_jsY26q7qEEdL
rSn.nE_9LOzU39j2nh0ddjVBqQN_mZsM4tatRpiDKFxKgugQX6EIBQAdVTdfM0Sv.SFPNyUXfJaL
hUld3JjojQ7ToaOBdjEK8NGZi8pMyB.It941oaKpxs0uzGGtqfYkFyf6RhFJO7SHBcHzsnOkshFz
WAwP._YWFK4vaHzQtgl5NPWlLC8NAHKyfjfHRbkTsQVtg7h2kMVYUdQPMh3LljKaREsTLqrQkRFP
IOclw6gbLVLqCSNgJrjp1jA30M0oeTQ9xHPSbDdzSuWHQ5aY4nYwLl5kiTG15ID0WW86jff_EzMX
.nhFJS0VVRNOx51wVrPboeygyRyP7rheNwKTmPeACMFexHw_QMTQRNl3zPZRNHkMvinIZGoyEV6h
nZC_JubbnM7ewhdaLWhr7emq5is9hRUoq3o19gd7qxfj6CUlg7GWAuKS.15e3lqysVwBydfs2RQ_
yoTmNIWFhr3i1hncu43SOOXb206SKJBgYKO5XpvArCnXSyKtf2lVkpi36idU1ivB22dJ_tZAp_yr
P7NU4iTFldjTd5CurMgQxrGiKIHr4qZrsMQ--
X-Sonic-MF: <avigross@verizon.net>
In-Reply-To: <sj1o8r$qac$1@dont-email.me>
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQIM0QdUeAgRsd0W4oMJY1ZZhLXuWAHJpWwRAbS5U/QBQ75KKwH8pWQjAYYmaMYBtKQXvQErjIEEAdPmO1QChsMbYqrVgnUw
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <021101d7b592$3ac439b0$b04cad10$@verizon.net>
X-Mailman-Original-References: <sid7a6$kcu$1@dont-email.me>
<sio0ab$1ve$1@dont-email.me> <00a401d7b255$d27d72c0$77785840$@verizon.net>
<mailman.813.1632605975.4164.python-list@python.org>
<sisole$544$1@dont-email.me> <016501d7b404$5006a2c0$f013e840$@verizon.net>
<mailman.865.1632790868.4164.python-list@python.org>
<sivcss$5mp$1@dont-email.me> <irhmbkFfdj0U1@mid.individual.net>
<sj1o8r$qac$1@dont-email.me>
 by: Avi Gross - Thu, 30 Sep 2021 00:29 UTC

I think that to make electricity comprehend, you need a room temperature
superconductor. The Cooper Pairs took a while to comprehend but now ...

I think, seriously, we have established the problems with guessing that
others are using the language in a way we assume.

So how many comprehensions does Python have?

[] - list comprehension
{} - dictionary OR set comprehension
() - generator expression

Tuples are incomprehensible and I wonder if any other comprehensions might
make sense to add, albeit we may need new symbols.

-----Original Message-----
From: Python-list <python-list-bounces+avigross=verizon.net@python.org> On
Behalf Of Michael F. Stemper
Sent: Wednesday, September 29, 2021 9:04 AM
To: python-list@python.org
Subject: Re: XML Considered Harmful

On 28/09/2021 18.21, Greg Ewing wrote:
> On 29/09/21 4:37 am, Michael F. Stemper wrote:
>> I'm talking about something made
>> from tons of iron and copper that is oil-filled and rotates at 1800 rpm.
>
> To avoid confusion, we should rename them "electricity comprehensions".

Hah!

--
Michael F. Stemper
If you take cranberries and stew them like applesauce they taste much more
like prunes than rhubarb does.
--
https://mail.python.org/mailman/listinfo/python-list


devel / comp.lang.python / RE: XML Considered Harmful

Pages:1234
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor