• criteria for acceptable languages for central QA tools in Debian (was:

    From Serafeim (Serafi) Zanikolas@21:1/5 to Holger Levsen on Thu Dec 12 00:00:01 2024
    XPost: linux.debian.devel.qa

    --8a15a0bd28b71376a5559c2b91dc007707386b6bb2c2d314fb7ddf03e4c0 Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain; charset=UTF-8

    [forking to -devel]

    On Wed Dec 11, 2024 at 11:15 AM CET, Holger Levsen wrote:
    On Tue, Dec 10, 2024 at 09:38:57PM +0100, Serafeim (Serafi) Zanikolas wrote:
    On Sat Dec 7, 2024 at 5:15 AM CET, Paul Wise wrote:
    Probably adequate is the logical place for this test, but adequate doesn't build/run on ports architectures since it moved to golang,
    so piuparts should probably keep its tests on those arches until
    adequate moves to a more portable language or golang gets ported.
    that's because unsupported ports architectures have not caught up to go 1.21,
    which was released ~1.5 year ago. I'd claim that that says more about the viability of those ports, than the suitability of go for Debian tooling. if you
    feel strongly otherwise, I'd be happy to continue this discussion with a wider
    audience at <D4CWM2UJBXDS.339WS39VNMVYO@debian.org> rather than reply here

    I dont feel strongly about this, but I'd like to point out that I
    disagree. IMO it was wrong to rewrite adequate (as any central QA tool
    for Debian) in a language which is not available *everywhere*.

    I'd like to discuss this with a focus on general principles, and only discuss specifics (adequate, golang) to the extent that it helps reason about general principles.

    so we have a qa testing package that was written 11y ago in perl, and has been orphaned for almost all of that time (10y!). it's not critical but it does serve
    a purpose, and it's therefore nonideal that it's been orphaned for so long. someone takes it over and rewrites it in a language that runs in all supported arches, and likely in many ports too as long as they keep up with a relatively recent version of the language (in this case, a version released 1.5y ago).

    given the above, this feedback is very surprising to me:
    IMO it was wrong to rewrite adequate (as any central QA tool for Debian) in a language which is not available *everywhere*.

    first, I find this concern of little practical relevance: most adequate checks are not arch-specific.

    second, I'd not have adopted adequate if I had to maintain it in perl. given this clarification, would you prefer the status quo (poor ports coverage but active adequate maintenance) or would you rather still prefer an unmaintained adequate with 100% ports coverage?

    on a meta level: I find it incredible that this conversation needs to be had at all, given the increasing median age of Debian contributors, and the limited popularity of perl among younger people

    thanks,
    serafi

    --8a15a0bd28b71376a5559c2b91dc007707386b6bb2c2d314fb7ddf03e4c0
    Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEA2RWqo7IwLCLSFYbT59tVQ7WEioFAmdaGMsACgkQT59tVQ7W Eiq4Xw//ZXfpbudUyJAAFAZuaz2tOr9T51Nq3sfFbGUWmHMe9nJL6faUl0h9L6gK beJyWsmVj578Pna2TCfSNqaS2quo1j0Xo16xo0N9Atd7lbW4xYKhzL8ShX08aAf2 YQk3Zm4yDdvClHEHISc593hFeQII2jeLH5jOchcc9FIGy9QIxCO+igsaCFKCf2pd wNh06iDZT39Pyb1pNKn8ZiWt0NDcEzYQYr++uum1alpt1v9UeKiZ8T0cEj8DtH1b PRtsBjVIEm84o6txYjVvMRfd+vt542vKPRV1yl3jUaHP8E9SYtJWxHJSVMyLyivE it0+s83ZlnAnroSA4QlCaGG3JW+oihzFMHacoKgUROhqAlkuzg1Ui5scyc3I3Q5L rIeK+JFGyWjIblQXQIn14SYUTA2wC/SqmWMQWoXlVEkvBaABA/z+Q0o1u76/Hcon YU0zBAZxG//oR8TVIYRMaDCnIWgzev6ar/3/2DejAhr9yczbzV9aq092MBDtPDjZ RFxw8wtwkZ35+R99H7LWK8JSkzK8GG6t208YabrpxRkTnP21oKqdgPWzVoKLQOWE tOTCxpnZs+++tr0T2W1O4G13txbH5AqNpeBmU7Q5lJ6sLdMDb332eyKOPQ4a/34E DGemqh8g4iwn2m+irjURaV0RlSw4E6VpCxocuDvexjm6bhA2GI4☼Fn
    -----END PGP SIGNATURE-----

    --8a15a0bd28b71376a5559c2b91dc007707386b6bb2c2d314fb7ddf03e4c0--

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?B?T3R0byBLZWvDpGzDpGluZW4=?@21:1/5 to All on Thu Dec 12 03:50:01 2024
    XPost: linux.debian.devel.qa

    Hi,

    [forking to -devel]

    On Wed Dec 11, 2024 at 11:15 AM CET, Holger Levsen wrote:
    On Tue, Dec 10, 2024 at 09:38:57PM +0100, Serafeim (Serafi) Zanikolas wrote:
    On Sat Dec 7, 2024 at 5:15 AM CET, Paul Wise wrote:
    Probably adequate is the logical place for this test, but adequate doesn't build/run on ports architectures since it moved to golang,
    so piuparts should probably keep its tests on those arches until adequate moves to a more portable language or golang gets ported.
    that's because unsupported ports architectures have not caught up to go 1.21,
    which was released ~1.5 year ago. I'd claim that that says more about the viability of those ports, than the suitability of go for Debian tooling. if you
    feel strongly otherwise, I'd be happy to continue this discussion with a wider
    audience at <D4CWM2UJBXDS.339WS39VNMVYO@debian.org> rather than reply here

    I dont feel strongly about this, but I'd like to point out that I
    disagree. IMO it was wrong to rewrite adequate (as any central QA tool
    for Debian) in a language which is not available *everywhere*.

    I'd like to discuss this with a focus on general principles, and only discuss specifics (adequate, golang) to the extent that it helps reason about general principles.

    I don't have the full context here, but to me it seems fine to use
    various programming languages for the tools. The language landscape is
    not like version control, where one solution (git) is by far more
    popular than anything else, and using an obscure alternative would be
    bound to cause friction to everybody else.

    If acceptable languages is reduced to a list of top-10 or top-5 on
    basis of general popularity, the specific language here (Go) would be
    on it. If the list had certain criteria, such as support for (almost)
    all Debian architectures, Go would still be on the list.

    I am not young anymore, but I and young enough to not have learnt Perl
    in the 90s, and if I see a Perl tool in Debian, I tend to not
    contribute to it. My own preference is Python, but I see a lot of good
    tools being written in Go and in Debian we have multiple recent new
    and very capable contributors doing stuff in Go (Thanks Serafi for
    adquate! Another is Nicolas who wrote lintian-ssg in Go). I am happy
    to touch occasional Go stuff to help grow the Debian community, or any
    other language that is reasonably mainstream and has the full
    toolchain packaged and maintainer team in Debian.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Dowland@21:1/5 to All on Thu Dec 12 15:40:01 2024
    XPost: linux.debian.devel.qa

    On Wed Dec 11, 2024 at 10:57 PM GMT, Serafeim (Serafi) Zanikolas wrote:
    I'd like to discuss this with a focus on general principles, and only discuss specifics (adequate, golang) to the extent that it helps
    reason about general principles.

    That's going to be pretty hard, because the scenario you present is
    still pretty specific.

    so we have a qa testing package that was written 11y ago in perl, and
    has been orphaned for almost all of that time (10y!). it's not
    critical but it does serve a purpose, and it's therefore nonideal that
    it's been orphaned for so long.

    Certainly non-ideal. "Orphaned" does not give the full picture about the
    state of the package, however: It could describe a package with critical
    bugs that aren't getting fixed, or nobody doing any QA or NMU uploads of
    it ever. Neither looks true for adequate.

    someone takes it over and rewrites it in a language that runs in all supported arches, and likely in many ports too as long as they keep up
    with a relatively recent version of the language (in this case, a
    version released 1.5y ago).

    "likely in many ports too" is dancing around the fact that it *doesn't*
    run on at least one port, hence Holger's complaint.

    An orphaned/unmaintained-but-functional package was still serving some
    purpose and was available, and by uploading a rewrite in Go, it became unavailable. That is a shame (how significant this is, is up for debate)

    If you'd chosen to upload "adequate-ng" instead, this wouldn't have
    happened, although, there would be plenty of drawbacks to that too.

    We're discussing the drawbacks of what you did, but I must acknowledge
    the benefits too: you've adopted a package, following the correct
    procedures, and (in many other respects) improved it. Thanks!

    You also made an effort to reach out to users and stakeholders before
    you took the action, which was a good idea.

    on a meta level: I find it incredible that this conversation needs to
    be had at all, given the increasing median age of Debian contributors,
    and the limited popularity of perl among younger people

    The "Perl Problem" is a wider issue we should explore in much more
    depth. I'm personally a little surprised if it's true that younger
    people are unprepared to take a stab at hacking Perl. But since that's
    the case, we have deeply embedded, critical stuff written in Perl
    everywhere. "adequate" is but the tip of the iceberg.



    --
    Please do not CC me for listmail.

    ๐Ÿ‘ฑ๐Ÿป Jonathan Dowland
    โœŽ jmtd@debian.org
    ๐Ÿ”— https://jmtd.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marco d'Itri@21:1/5 to Jonathan Dowland on Thu Dec 12 20:00:01 2024
    On Dec 12, Jonathan Dowland <jmtd@debian.org> wrote:

    The "Perl Problem" is a wider issue we should explore in much more depth.
    We would first need to determine that there is an actual problem.
    Perl is quite healthy as a language and has aged much better than many
    other younger languages: e.g. there is no need to update all code every
    few years because backward compatibility is preserved basically forever
    at this point.

    Perl is still a fundamental tool for system administrators.

    --
    ciao,
    Marco

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQnKUXNg20437dCfobLPsM64d7XgQUCZ1swoAAKCRDLPsM64d7X gSomAQC6TylB+U5WP2CMlA/2l8n0z/XKDjkGjOiaSu5fb+drFQEAm9c6v3AMRPRl 2xegVinFZ/kOcY7Q7b5b1rB+5NWp4QM=
    =tgnT
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeremy Stanley@21:1/5 to Jonathan Dowland on Thu Dec 12 19:30:01 2024
    On 2024-12-12 14:36:51 +0000 (+0000), Jonathan Dowland wrote:
    [...]
    The "Perl Problem" is a wider issue we should explore in much more depth.
    I'm personally a little surprised if it's true that younger people are unprepared to take a stab at hacking Perl. But since that's the case, we
    have deeply embedded, critical stuff written in Perl everywhere. "adequate" is but the tip of the iceberg.

    I think ageists like to assume all young people are lazy. Yes lazy
    people of any age are disinclined to participate in projects written
    in any language they're not already familiar with, or using any
    tools or platforms they're not already familiar with. Also they're
    going to disappear on you after a few months even if your project
    does use languages and tools they're well-versed in, so there's not
    a lot of point in putting in tons of effort to cater to them anyway.

    Industrious young people are quite capable of working with any
    available tools on projects in any language, I've met plenty of
    them, they do exist. I was young once too, if I hadn't been willing
    to learn to use tools and languages older than I am, I'd found other
    hobbies and/or gone into a different field of work.
    --
    Jeremy Stanley

    -----BEGIN PGP SIGNATURE-----

    iQKTBAABCgB9FiEEl65Jb8At7J/DU7LnSPmWEUNJWCkFAmdbKyFfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3 QUU0OTZGQzAyREVDOUZDMzUzQjJFNzQ4Rjk5NjExNDM0OTU4MjkACgkQSPmWEUNJ WCk9rxAAvty0I5lp0sZcIA+W/xNJ1A/eQL8jLH3kg08dkZZNgWgiEq0wsB0H9OQr v9RTbcLMJ7PDCE5ZZXmA+uhkmt6OAs6glJsDsS+Ty9q6ZWGCdsppPladQZgIcfdu kTKLtz2X5oRLPIqHvHWEZnAqTJqSNbO8HsYP/1vKlXhcnHfC1N6I88+yGdtbrb2a zid1CCN1A5LLyLA03gcID3iQbIz59tFnCOYTu8yCsbrS8TYpSFdCs15wecJNN2Kr EsgQ6bouQoiYpOpzVEiPVLI+ADtK3Ebx1CCfGdPuVm+5fioAQz5PVI8ISI/6Abqo XNyNBr8CeBf42tIU43L6XhyJZGObIeaZrFJsOohAQAz/idUORVFE2ZMz/5oqNHoV A0zpB4l1GqcAZuOTNelvifJxPkLZmWPcqBXg7vmp7eQ2hrDluH/+6BbSVJHH5/nd aIJ6uJbpJYmgfLHFkfC+W4bsxzILSHMQec59c/22AqP1uQU3A7y5KYsvWb462nWw ckhOgT0EzjeGfMZpJff1SLUjgskAJ8mhLbe80xYa/ugxncQRYzs9F+TwmWB9ft4u F/NESwnIoKCT/jNpT5XXI4PQXFvhP/ljaWxb1HSvw4riap0QUZlNAIe9Y476e/qD FmSXMGhBleGdkIMNIK0OmK9KeFK2FJEhjpVbVDbpoTs1oA0axAU=
    =exLQ
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32
  • From Marc Haber@21:1/5 to All on Fri Dec 13 07:20:01 2024
    On Thu, 12 Dec 2024 18:27:52 +0000, Jeremy Stanley <fungi@yuggoth.org>
    wrote:
    Industrious young people are quite capable of working with any
    available tools on projects in any language, I've met plenty of
    them, they do exist. I was young once too, if I hadn't been willing
    to learn to use tools and languages older than I am, I'd found other
    hobbies and/or gone into a different field of work.

    I am not a young person any more (sad smiley), and my inclination to
    work in uncomfortable or weird environments is significantly higher
    when I am getting paid. Since Debian doesn't pay, it needs to have
    comfortable or cool tools.

    That being said, I frequently consider other tools comfortable than
    young people do.

    Greetings
    Marc
    --
    ---------------------------------------------------------------------------- Marc Haber | " Questions are the | Mailadresse im Header Rhein-Neckar, DE | Beginning of Wisdom " |
    Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 6224 1600402

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sean Whitton@21:1/5 to Jonathan Dowland on Fri Dec 13 09:00:01 2024
    Hello,

    On Thu 12 Dec 2024 at 02:36pm GMT, Jonathan Dowland wrote:

    The "Perl Problem" is a wider issue we should explore in much more
    depth. I'm personally a little surprised if it's true that younger
    people are unprepared to take a stab at hacking Perl. But since that's
    the case, we have deeply embedded, critical stuff written in Perl
    everywhere. "adequate" is but the tip of the iceberg.

    People keep saying it, but is it true?

    If you don't dig too deep, Perl and Python are really very similar in
    what it is easier and more difficult to use them for.
    The deeper philosophical differences aren't too relevant to maintaining
    Debian stuff.

    Even if people tend to have a strong preference for one over the other,
    they can develop curiosity for learning a bit more about the other in
    order to fix something
    (happened to me recently in the direction Perl->Python).

    --
    Sean Whitton

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Haber@21:1/5 to All on Fri Dec 13 12:20:01 2024
    On Fri, 13 Dec 2024 09:30:22 +0200, Andrius Merkys <merkys@debian.org>
    wrote:
    On 2024-12-12 20:51, Marco d'Itri wrote:
    On Dec 12, Jonathan Dowland <jmtd@debian.org> wrote:
    The "Perl Problem" is a wider issue we should explore in much more depth. >> We would first need to determine that there is an actual problem.
    Perl is quite healthy as a language and has aged much better than many
    other younger languages: e.g. there is no need to update all code every
    few years because backward compatibility is preserved basically forever
    at this point.

    +1, advantages of Perl should not be ignored.

    I disagree violently with all efforts that would waste Debian people's
    time to rewrite existing and well-working times just for the sake of
    having them in a more "modern" programming language.

    That time is much better spent with improving existing tools.

    Greetings
    Marc
    --
    ---------------------------------------------------------------------------- Marc Haber | " Questions are the | Mailadresse im Header Rhein-Neckar, DE | Beginning of Wisdom " |
    Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 6224 1600402

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthias Urlichs@21:1/5 to All on Sat Dec 14 23:10:01 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------QcFV2uq0gzVTHy8Hdl8MtB0K
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    TWFyYyBIYWJlcjoNCg0KPiBJIGRpc2FncmVlIHZpb2xlbnRseSB3aXRoIGFsbCBlZmZvcnRz IHRoYXQgd291bGQgd2FzdGUgRGViaWFuIHBlb3BsZSdzDQo+IHRpbWUgdG8gcmV3cml0ZSBl eGlzdGluZyBhbmQgd2VsbC13b3JraW5nIHRpbWVzIGp1c3QgZm9yIHRoZSBzYWtlIG9mDQo+ IGhhdmluZyB0aGVtIGluIGEgbW9yZSAibW9kZXJuIiBwcm9ncmFtbWluZyBsYW5ndWFnZS4N CklUWU0gIndlbGwtd29ya2luZyB0b29scyIuDQo+IFRoYXQgdGltZSBpcyBtdWNoIGJldHRl ciBzcGVudCB3aXRoIGltcHJvdmluZyBleGlzdGluZyB0b29scy4NCg0KVGhlIHBvaW50IG9m IHJld3JpdGluZyAqaXMqIHRvIGltcHJvdmUgYW4gZXhpc3RpbmcgdG9vbC4gT3IsIG1vcmUg DQphY2N1cmF0ZWx5LCBwYXZlIHRoZSB3YXkgdG93YXJkcyBkb2luZyB0aGF0Lg0KDQpTZXJp b3VzbHkuICpJZiogdGhlIGNob2ljZSBpcyAoYSkgbm9ib2R5IHRvdWNoZXMgdGhlIGNvZGUg d2l0aCBhIA0KdGVuLWZvb3QtcG9sZSBhbmQgaXRzIGRlYmJ1Z3MgcGFnZSBhY2NydWVzIGNy dWZ0IG5vYm9keSdzIGdvaW5nIHRvIGZpeCwgDQpvciAoYikgc29tZWJvZHkgcmV3cml0ZXMg dGhlIHRvb2wgdG8gUHl0aG9uIGJlY2F1c2UsIHdlbGwsIEknbGwgbGVhdmUgDQplbnVtZXJh dGluZyB0aGUgcmVhc29ucyB3aHkgb25lIG1pZ2h0IHdhbnQgdG8gZG8gdGhhdCAoYW5kL29y IHdoeSBJIA0KcGVyc29uYWxseSBkaWQgZXhhY3RseSB0aGF0LCBhbmQgY29udGludWUgdG8g ZG8gdGhhdCkgZm9yIGFub3RoZXIgdGltZSDigKYNCg0K4oCmIGFueXdheSwgKmlmKiB0aGVz ZSBhcmUgb3VyIGNob2ljZXMgdGhlbiBJJ20gYWxsIGZvciAoYikuDQoNClRoZSBxdWVzdGlv biBpcyB3aGV0aGVyIHRoZXNlIHJlYWxseSAqYXJlKiBvdXIgb25seSBjaG9pY2VzLg0KDQot LSANCi0tIHJlZ2FyZHMNCi0tIA0KLS0gTWF0dGhpYXMgVXJsaWNocw0KDQo=

    --------------QcFV2uq0gzVTHy8Hdl8MtB0K--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEr9eXgvO67AILKKGfcs+OXiW0wpMFAmdd+ukFAwAAAAAACgkQcs+OXiW0wpOh vBAAlf2CdvEPz5XQLhF3eH100LflYn01EdRLZ8PhZC7MS012to45P2jRHLsS9nbx8+4005Dv6XuX JpRSweYSN8U04mnsBcsfCzALwqcW3f8XGyT64idB2R+6SGWdetNkNroXjMZlSwZK9P/2GMtOsBDE /RnIl0A1q0jDJNGKa3luFTdhIjirvpKJylI9DGdS00TxBs5mMJFQVEM5gR9qtR30Yb7grlFlmDzM nKKaQrX/ywnPkPB/0+k70zPubhnCx2XWeEdzoQ6E2s0Vp5eeLvMqVOrljy3NR2QwDTHOibQ+PkqX RuoF+V6YmXFJ+3WeEdDW1xLct3wetqPul1cN0GhUj8hKtAt12iVKRH43KCXY7oOie3XtkP3jwxim 76XmLPJhM/sRZOoYLupzhTuzucJ8XVWBbgZwcD92nwxP/G0k0Xl/bus5JcBoxbO0BBvrov77pakw 5b3sNOD+1fGb3UME1AFJ3b66zJn8WDLfHrsKQnO10GPKV626tkthGOCf/Dd8SBhAiwyc/3LXizCd 7HbOxXOkQp/lq+jT1imwH9RiR74CodyhmkGuIG2Y2xUd+Gdd8YqCzsJ6avz+zGG/LuzdMgcBhHIO eWGGxL8oZsmqxaKg/hlCVbcIjVkFAQzyRbC1+IFnlPojJ0UgPOPCHQfH7T8CamOb/O2YyiFbCatZ jCk=
    =ORCo
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthias Urlichs@21:1/5 to All on Sat Dec 14 22:40:01 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------K0lbn1x8M2H0Uxk7a2lLkhhX
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMTMuMTIuMjQgMDg6NTgsIFNlYW4gV2hpdHRvbiB3cm90ZToNCj4gSWYgeW91IGRvbid0 IGRpZyB0b28gZGVlcCwgUGVybCBhbmQgUHl0aG9uIGFyZSByZWFsbHkgdmVyeSBzaW1pbGFy IGluDQo+IHdoYXQgaXQgaXMgZWFzaWVyIGFuZCBtb3JlIGRpZmZpY3VsdCB0byB1c2UgdGhl bSBmb3IuDQoNClRoYXQgbWF5IHdlbGwgYmUsIGJ1dCB0aGF0IGp1c3QgbWVhbnMgdGhhdCB0 aGVyZSBtdXN0IGJlIGEgZGlmZmVyZW50IA0KcmVhc29uIHdoeSBQZXJsIGhhcyBmYWxsZW4g YnkgdGhlIHdheXNpZGUsIG1vcmUgb3IgbGVzcywgd2hpbGUgUHl0aG9uIA0KaGFzIGFueXRo aW5nIGJ1dC4NCg0KQ2FzZSBpbiBwb2ludCBJIGhhdmUgd3JpdHRlbiBhIHZlcml0YWJsZSB0 b24gb2YgUGVybCBjb2RlLCAzMCB0byANCjE1LW9yLXNvIHllYXJzIGFnbywgYnVpbGRpbmcg dGhlIGZpcnN0IHZlcnNpb24gb2Ygb3VyIGNvbXBhbnkncyBDTURCIHRvb2wuDQoNCk5vd2Fk YXlzPyBQeXRob24uIFNvcnJ5LiBWZXJzaW9uIDMgb2YgdGhhdCBDTURCIHN5c3RlbSBpcyBQ eXRob24gZnJvbSANCnRvcCB0byBib3R0b20uDQoNCkknbSBub3QgZ2V0dGluZyBpbnRvIHRo ZSByZWFzb25zIGhlcmUsIHRoYXQnZCBtYWtlIGZvciBhIHdheS10b28tbG9uZyANCnRleHQs IGJ1dCBzdWZmaWNlIHRvIHNheSB0aGF0IFB5dGhvbiBkYXRhIHN0cnVjdHVyZXMgYXJlIGZh ciBtb3JlIA0KKmRpc2NvdmVyYWJsZSogdGhhbiBQZXJsLCB3aGljaCB0cmFuc2xhdGVzIHRv IG11Y2ggZWFzaWVyIGJ1ZyBmaXhpbmcuIA0KVGhlIHNhbWUgdGhpbmcgYXBwbGllcyB0byB0 eXBpbmcuIERpZCB5b3UgdHJ5IHRvIHN0YXRpY2FsbHktdHlwZS1jaGVjayBhIA0KUGVybCBw cm9ncmFtIGxhdGVseT8NCg0KLS0gDQotLSBtaXQgZnJldW5kbGljaGVuIEdyw7zDn2VuDQot LSANCi0tIE1hdHRoaWFzIFVybGljaHMNCg0K

    --------------K0lbn1x8M2H0Uxk7a2lLkhhX--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEr9eXgvO67AILKKGfcs+OXiW0wpMFAmdd9hoFAwAAAAAACgkQcs+OXiW0wpP9 kxAA1Bvc/brbDq+LZgV9cvXPVde84TLHEQb20Dq+rHO9nDCMADjJIHCgjvJOrcxo+slGHcZcKlA8 Dx0Ny6sqEAY9bQUsVziilo5qnncjUoj7C/yE8jAzpbwZZBMTUpHs5F7vxsVJcaPcBl2kqJDMAND1 2jxbjKK9SBMhIIjSKz/bA+uhvRdMfgUp1tIYl2nKUNkebuhR5Rd29TfZyOkiMNE1tXa9x6kh7Fqt QQd5/Av6+BhEqQSdfmjro6i2MVUKjiK/c0IrUoK66VyYVLFDnbbzSh8s9HtP3tspJ41/LxobVNmK Al3NmyWPLX9JMPf7gIht1VTOsC1VmuSWkiNXWqXSF3aMhlp569IQdQYyjm35ZIuXfeg5uWbDqnc0 qAaBKPm+stD0u3vIuhC3l6Exjmd+KV2sKJLdyDoA989xC+X2+h2f7b6zwCsEvIczu8oUwlQ5qObH zgkGL8BqnOF5JC2w24o+JQc5Zu5R/fmzdggtSqZEeMbSiwB02nElSghd9OtSg3RgQ/9BHSA7Ih3l o4bW5kZK92Dbl6ZSK5aHjIwTYvIEdrSNExEHSulsvPcDb3ckB40MIEad731jyGgjcXgoOf3qOdI6 FY+naMoYiT0tBx3Sy60uvefr+hKUy5OEXGRaXfGi8KCHKDCB0Np7sM65n2dcO6r1jQRpHUeftBX8 dfE=
    =Zoy0
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sean Whitton@21:1/5 to Matthias Urlichs on Sun Dec 15 03:40:01 2024
    Hello,

    On Sat 14 Dec 2024 at 10:18pm +01, Matthias Urlichs wrote:

    That may well be, but that just means that there must be a different reason why Perl has fallen by the wayside, more or less, while Python has anything but.

    What gets and remains popular only sometimes does so because of its
    quality. We think Debian is very high quality, but at various times it
    has gained and lost popularity.

    I think Perl is a really good example of this.

    I'm not getting into the reasons here, that'd make for a way-too-long text, but suffice to say that Python data structures are far more *discoverable* than Perl, which translates to much easier bug fixing. The same thing applies to typing. Did you try to statically-type-check a Perl program lately?

    Yes, type checking is one advantage of Python over Perl.

    --
    Sean Whitton

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJNBAEBCgA3FiEEm5FwB64DDjbk/CSLaVt65L8GYkAFAmdeQLQZHHNwd2hpdHRv bkBzcHdoaXR0b24ubmFtZQAKCRBpW3rkvwZiQNeND/wOzZ+XfmO4Js0dh9H0cfvZ nsb0ae7QngJWavBZd/soseEpymaIO+MNteOXz31W9pYFqgvs+mDq3m0WiFdcxOoZ bDOhQm0WfrbSrViVXSrhvqypOVm4AnKaxhLz2bkabZi5gpO5IQQvIBEMkS664wQR f1S4ifj9nqw8WdoUBwjcW7D2zeTSIwGZ593wjAcNNjPj8MHpoBMV/c5DntQ1iQMk todggi+rsD6zuAfpHvf1wCxIn4tCvVEERr6Zpce+pqDNyKBOssG1L5hSyraooawj zgm+4OeLLRBcGO/WAGl0imL8i2bc45Oebp9KqlZpgzqGfMVBYBnl6duhqGSQckkp FhA5UJ1sW20usm/awyf/RP6geN6S03SY+nFoDbwfPE295gcIHHgCzwIjvTcUF4KD o8Y/kkVwSoqejI63NCORGU1TifD1Rv0pLIE8vYocDuUWh9xZgt/CdSagBeqrTtzR +VgkFANkBeBanOBy1AGIqTkfpmDU7s8PSVXZvYxUpeXbzMw7AedV0d8uE6WjiGBL R6xspA1QFPX0DLvEYVbvdme9oReiKcajEk4eAMIuHWtGVlSFAs/GRxJ8ymCgwVpj roz/8+Es4037W8yMaqr586TDCnbYcCC8ytU8Ur4qejwzOStbqvo5DhmXsqt6kvwR c5ve58xEQpbNDFNOZgtG6Q==/mrb
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Us
  • From Marc Haber@21:1/5 to matthias@urlichs.de on Sun Dec 15 14:20:01 2024
    On Sat, 14 Dec 2024 22:38:49 +0100, Matthias Urlichs
    <matthias@urlichs.de> wrote:
    Marc Haber:

    I disagree violently with all efforts that would waste Debian people's
    time to rewrite existing and well-working times just for the sake of
    having them in a more "modern" programming language.
    ITYM "well-working tools".
    That time is much better spent with improving existing tools.

    The point of rewriting *is* to improve an existing tool. Or, more
    accurately, pave the way towards doing that.

    Yes, go ahead with that, but don't force people to do that, and don't
    take the old version away until the new one is feature par and bug
    free.

    Greetings
    Marc
    --
    ---------------------------------------------------------------------------- Marc Haber | " Questions are the | Mailadresse im Header Rhein-Neckar, DE | Beginning of Wisdom " |
    Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 6224 1600402

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Philipp Kern@21:1/5 to Marc Haber on Sun Dec 15 23:30:01 2024
    Hi,

    On 12/15/24 2:11 PM, Marc Haber wrote:
    [ Rewriting existing tools in another language ]
    Yes, go ahead with that, but don't force people to do that, and don't
    take the old version away until the new one is feature par and bug
    free.

    I find the latter a bit offensive and unrealistic. Rewrites after a
    decade usually reduce complexity and excise features that turned out to
    be a bad idea. Or introduce some subtle bugs that get ironed out only
    when it sees usage.

    In today's world the alternative is to remove the package - given the
    rather aggressive removals we see in testing, if not unstable. That
    would also not give you a version that has either feature parity nor bug freeness - unless you count keeping it installed locally on your
    machines and never getting updates again.

    Kind regards
    Philipp Kern

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Josh Triplett@21:1/5 to Marc Haber on Mon Dec 16 02:50:01 2024
    Marc Haber wrote:
    don't take the old version away until the new one is feature par and
    bug free.

    Leaving aside the points Philipp Kern made (some features are
    intentionally removed, and code is rarely if ever "bug free")...

    Another way of phrasing "don't take the old version away" is "someone
    should keep maintaining the old version", and that has the standard
    problems of where to find a willing "someone", *and* to what degree the maintainer of the old version can convince the community to incur the
    costs of continuing to support the old version.

    Software exists in a community ecosystem, and one person willing to
    maintain an alternate version of something doesn't always justify the
    costs the rest of the community would incur to support that alternative.
    That argument applies in both directions: people who do a rewrite have
    to convince others that their version is worth supporting, and people
    who want to stick with the old version have to convince others that
    their version is worth supporting. And the community may not be willing
    to support both concurrently, even if both have a non-zero number of
    offers of maintenance. That isn't a bug.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Allombert@21:1/5 to All on Tue Dec 17 21:40:01 2024
    Le Thu, Dec 12, 2024 at 02:36:51PM +0000, Jonathan Dowland a Θcrit :
    The "Perl Problem" is a wider issue we should explore in much more depth.
    I'm personally a little surprised if it's true that younger people are unprepared to take a stab at hacking Perl. But since that's the case, we
    have deeply embedded, critical stuff written in Perl everywhere. "adequate" is but the tip of the iceberg.

    The actual perl problem is that, since perl is very strict about
    backward compatibility, perl scripts written 10 or 20 years ago still
    work without requiring maintainance, hence they may appear to be
    abandonned.
    Rewriting such software in a language that require yearly maintainance
    does not simplify maintainance in the long run, quite the opposite.

    Cheers,
    --
    Bill. <ballombe@debian.org>

    Imagine a large red swirl here.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Dowland@21:1/5 to Bill Allombert on Wed Dec 18 11:30:01 2024
    On Tue Dec 17, 2024 at 8:35 PM GMT, Bill Allombert wrote:
    The actual perl problem is that, since perl is very strict about
    backward compatibility, perl scripts written 10 or 20 years ago still
    work without requiring maintainance, hence they may appear to be
    abandonned.
    Rewriting such software in a language that require yearly maintainance
    does not simplify maintainance in the long run, quite the opposite.

    FWIW, a Ruby script I wrote to help me triage DSAsยน is approaching its
    20th birthday, I'm happy to report Ruby appears to have avoided any
    disasters like Python's 2โ†’3 transition.

    [1] https://jmtd.net/dsafilter/


    --
    Please do not CC me for listmail.

    ๐Ÿ‘ฑ๐Ÿป Jonathan Dowland
    โœŽ jmtd@debian.org
    ๐Ÿ”— https://jmtd.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wouter Verhelst@21:1/5 to All on Wed Dec 18 21:40:01 2024
    XPost: linux.debian.devel.qa

    Hi,

    On Wed, Dec 11, 2024 at 11:57:14PM +0100, Serafeim (Serafi) Zanikolas wrote:
    [forking to -devel]

    On Wed Dec 11, 2024 at 11:15 AM CET, Holger Levsen wrote:
    On Tue, Dec 10, 2024 at 09:38:57PM +0100, Serafeim (Serafi) Zanikolas wrote:
    On Sat Dec 7, 2024 at 5:15 AM CET, Paul Wise wrote:
    Probably adequate is the logical place for this test, but adequate doesn't build/run on ports architectures since it moved to golang,
    so piuparts should probably keep its tests on those arches until adequate moves to a more portable language or golang gets ported.
    that's because unsupported ports architectures have not caught up to go 1.21,
    which was released ~1.5 year ago. I'd claim that that says more about the viability of those ports, than the suitability of go for Debian tooling.. if you
    feel strongly otherwise, I'd be happy to continue this discussion with a wider
    audience at <D4CWM2UJBXDS.339WS39VNMVYO@debian.org> rather than reply here

    I dont feel strongly about this, but I'd like to point out that I
    disagree. IMO it was wrong to rewrite adequate (as any central QA tool
    for Debian) in a language which is not available *everywhere*.

    I'd like to discuss this with a focus on general principles, and only discuss specifics (adequate, golang) to the extent that it helps reason about general principles.

    so we have a qa testing package that was written 11y ago in perl, and has been
    orphaned for almost all of that time (10y!). it's not critical but it does serve
    a purpose, and it's therefore nonideal that it's been orphaned for so long. someone takes it over and rewrites it in a language that runs in all supported
    arches, and likely in many ports too as long as they keep up with a relatively
    recent version of the language (in this case, a version released 1.5y ago).

    My 2 cents, as an ex m68k porter:

    There is always work to be done to support an architecture. In Debian,
    most of that work goes to

    - Making sure the kernel works
    - Making sure gcc works
    - Making sure binutils work
    - Making sure libc works

    This doesn't cover everything, but it covers pretty much 75% of the
    work of keeping an architecture alive.

    Any language that builds on that work makes it more likely that it will
    be supported by all Debian architectures, including less popular ones as
    well as future ones that still need to be bootstrapped.

    Porting a language such as golang to a new architecture is a fairly
    significant undertaking, as it requires that you redo much of the work
    that had already been done while porting libc, as golang chose to have
    their own syscall interface and ABI rather than reusing the libc one (presumably for good reasons, I have no idea; regardless it's orthogonal
    to the point I'm trying to make). This is true not only for golang, but
    also for all compilation and/or runtime environments that require architecture-specific work.

    Yes, some architecture maintainer can work on the required patches, but
    there are only so many of them and they don't have infinite time for all
    the compilation and runtime environments out there that require
    architecture support, and they also may not have the required skill set
    to do this work for each of them. So sometimes the work gets postponed
    until the architecture has more users and then someone gets annoyed sufficiently to do the work, or the maintainers of the language
    environment see the architecture no longer as fringe and do it
    themselves.

    Sometimes patches for your architecture are difficult to submit; e.g.,
    at some point the LLVM project was notoriously bad at accepting porter
    patches for architectures they considered fringe or otherwise
    uninteresting, making use of LLVM-based runtimes and languages only
    implemented in LLVM (e.g., rust for much of its lifetime) problematic on
    those architectures. I have not followed along with LLVM in recent
    years, perhaps this situation has been resolved, but again this is not
    core to the point I'm trying to make.

    With that background,

    If you write something for the project, I think you should totally
    choose the language that you're most familiar and comfortable with.
    Sometimes that means disappointing people using architectures on which
    your language of choice is not available. That's fine, provided you're
    not trying to replace or implement a core component of Debian.

    If you're trying to write something that eventually should be running on *every* Debian system out there, then please, for the love of all that
    is important to you, don't use something that requires specific porter
    work. But outside that constraint? Do whatever makes you most
    productive.

    I did that when I chose perl as the language to write extrepo; knowing
    full well it's not as popular as it once was, I still decided that I
    could work with that most easily and that it would be much more
    efficient, *for me*, if I chose that language to write extrepo in.

    And you should absolutely do the same.

    --
    w@uter.{be,co.za}
    wouter@{grep.be,fosdem.org,debian.org}

    I will have a Tin-Actinium-Potassium mixture, thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Lewis@21:1/5 to Bill Allombert on Wed Dec 18 22:20:02 2024
    Bill Allombert <ballombe@debian.org> writes:

    Le Thu, Dec 12, 2024 at 02:36:51PM +0000, Jonathan Dowland a รฉcrit :
    The "Perl Problem" is a wider issue we should explore in much more depth.
    I'm personally a little surprised if it's true that younger people are
    unprepared to take a stab at hacking Perl. But since that's the case, we
    have deeply embedded, critical stuff written in Perl everywhere. "adequate" >> is but the tip of the iceberg.

    The actual perl problem is that, since perl is very strict about
    backward compatibility, perl scripts written 10 or 20 years ago still
    work without requiring maintainance, hence they may appear to be
    abandonned.

    Doesnt this assume that development is "finished"?

    I think the problem with perl is not the language (although it is harder
    to read than python, ruby, even shell) but that a lot* of the people who
    wrote those 10 or 20 year-old scripts are no longer responding to bugs
    or making changes.

    *not all, but it's only going one way

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sean Whitton@21:1/5 to Philipp Kern on Thu Dec 19 05:20:01 2024
    Hello,

    On Sun 15 Dec 2024 at 11:21pm +01, Philipp Kern wrote:

    Rewrites after a decade usually reduce complexity and excise features
    that turned out to be a bad idea.

    Indeed.

    Or introduce some subtle bugs that get ironed out only when it sees
    usage.

    Indeed, but this work can end up being very costly. A lot of knowledge
    might be built into the old code. Even if everything is well documented
    and there are comments in the right places, it's still easy to lose
    something in the rewrite.

    Then you have to balance the reductions in complexity and excision of
    features that weren't a great idea, against this risk of costly
    regressions. Keeping the old program will often win.

    In today's world the alternative is to remove the package - given the
    rather aggressive removals we see in testing, if not unstable.

    This seems like an overgeneralisation. For Perl, given their strict
    stance to backwards compatibility, we can just keep it.

    --
    Sean Whitton

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJNBAEBCgA3FiEEm5FwB64DDjbk/CSLaVt65L8GYkAFAmdjnVAZHHNwd2hpdHRv bkBzcHdoaXR0b24ubmFtZQAKCRBpW3rkvwZiQKQ9D/9BuOVamg9Ne2Wckkm4uok5 iwf8pqeGbzOl90FccnKnvJf6MUinACfOrrVR6q5wAhRMzpqrBAmorQjf0F0A431r zbfVAYbCdKgFYDbP5slFPBDx1/B9aGWfWx/e00wQ/mRI9CxQQ43aCMxG2rO5yBgC VufJ0LK5NyBnfkrRMoZYJpu2pSXnXTfcOFn2BzxnSOQTH5Q4ZYDdyWQ1XWKe5JWJ VxhFxF/GM5e4nBqJfHxgwK1cVGXjuaowuh1m2F91u+9ih4i9p3FMFjYhTL7YaPgC nAi+74pLQxrcIHwlqRJtlG3rVi8I3td5ttbv8WSXK0f5I4gGbEQHlSYkVxRb8jeE F4PMI7phSz77LX/G35xycBe+OxzqsCP3F1raRL0T42NKJUM8djZW8o8QRnKcA5dX 3hTgt2TGuauh/IvoHJxRBs+1mplnOiB1uwVbqvDPvveuQEx0jW6fbTb8voj8/VCN L2Qb9zTpZchAuml0KkYbJLoTOcG67ZEoh+5E3VTRa0ZHSjgTikPWSci/ZZZFz9uv hO7e2Vfaqi1h5JD3lPdkpCq3EV7MnwOFzgzg5OjOwKoLvFklTKAHtQvHd4eWidaR 7XENk11h8yKMPctnsCOWf1dAQ0MrHCEHda/+0bpfWewnTQcFZmG30xJAc+Ul46Fb 7KoHa80GXn95+dNoskPGbA==/olW
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Us
  • From Philipp Kern@21:1/5 to Sean Whitton on Sat Dec 21 19:40:01 2024
    On 2024-12-19 05:13, Sean Whitton wrote:
    On Sun 15 Dec 2024 at 11:21pm +01, Philipp Kern wrote:
    Or introduce some subtle bugs that get ironed out only when it sees
    usage.

    Indeed, but this work can end up being very costly. A lot of knowledge
    might be built into the old code. Even if everything is well
    documented
    and there are comments in the right places, it's still easy to lose
    something in the rewrite.

    Then you have to balance the reductions in complexity and excision of features that weren't a great idea, against this risk of costly
    regressions. Keeping the old program will often win.

    In today's world the alternative is to remove the package - given the
    rather aggressive removals we see in testing, if not unstable.

    This seems like an overgeneralisation. For Perl, given their strict
    stance to backwards compatibility, we can just keep it.

    Assuming there aren't any other mandates that need to be applied to make
    the package fit for release or someone can be found to implement them.
    It's possible that there are fewer of them, but you still need someone
    to patch them when they arise. (The context of my take was the lack of maintainer (or maintenance).)

    I guess I agree very much with the point raised by Richard: "the people
    who wrote these scripts are no longer responding" (for one reason or
    another).

    As a mental exercise, substitute Perl with COBOL. It is very costly to
    maintain these days because the knowledge went away - and because the
    things are very load-bearing so that there is a lot of hesitance to
    touch things. And younger people (ironically, like me) did not grow up
    with it and thus have aversions. Keeping the old program will indeed
    win, because even incremental changes are frowned upon.

    I am fully aware that there is readable and well designed Perl that is
    easier to maintain than some of the more freestyle Perl cobbled together
    (e.g. without "use strict"). The better the environment around it
    (tests, test instances etc.), the more comfortable people will feel to
    make changes. Which I guess is a lesson for new software we write[1].

    Kind regards
    Philipp Kern

    [1] I was amazed to see that snapshot has integration tests, for instance.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Serafeim (Serafi) Zanikolas@21:1/5 to Jonathan Dowland on Fri Dec 27 23:00:01 2024
    XPost: linux.debian.devel.qa

    --997d418c02d42e43956ff8acd528901bc0796440384eba10500cdb9faad1 Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain; charset=UTF-8

    hi Jonathan,

    On Thu Dec 12, 2024 at 3:36 PM CET, Jonathan Dowland wrote:
    On Wed Dec 11, 2024 at 10:57 PM GMT, Serafeim (Serafi) Zanikolas wrote:
    I'd like to discuss this with a focus on general principles, and only discuss specifics (adequate, golang) to the extent that it helps
    reason about general principles.

    That's going to be pretty hard, because the scenario you present is
    still pretty specific.

    so we have a qa testing package that was written 11y ago in perl, and
    has been orphaned for almost all of that time (10y!). it's not
    critical but it does serve a purpose, and it's therefore nonideal that it's been orphaned for so long.

    Certainly non-ideal. "Orphaned" does not give the full picture about the state of the package, however: It could describe a package with critical bugs that aren't getting fixed, or nobody doing any QA or NMU uploads of
    it ever. Neither looks true for adequate.

    someone takes it over and rewrites it in a language that runs in all supported arches, and likely in many ports too as long as they keep up with a relatively recent version of the language (in this case, a
    version released 1.5y ago).

    "likely in many ports too" is dancing around the fact that it *doesn't*
    run on at least one port, hence Holger's complaint.

    which one? https://buildd.debian.org/status/package.php?p=golang-defaults suggests that go is available in all ports and the issue is that many are on a several years' old version. I chose to use a couple of stdlib packages that are "only" 1.5y old. the use of those packages could be trivially eliminated but I'm
    rather skeptical that having adequate run on those ports is the most pressing matter for those ports (as I wrote earlier: most adequate checks are arch-indep and those that are not, are unlikely to manifest only in ports). patches welcome
    to eliminate the use of those packages by anyone feeling otherwise

    on a meta level: I find it incredible that this conversation needs to
    be had at all, given the increasing median age of Debian contributors,
    and the limited popularity of perl among younger people

    The "Perl Problem" is a wider issue we should explore in much more
    depth. I'm personally a little surprised if it's true that younger
    people are unprepared to take a stab at hacking Perl. But since that's
    the case, we have deeply embedded, critical stuff written in Perl everywhere. "adequate" is but the tip of the iceberg.

    "unprepared" is the wrong diagnosis imho. I fully agree with the responses of Richard Lewis (perl's okay, but old perl contributors gradually fade away without replenishment), Matthias Urlichs (life's too short to put up with weak type checking) and Marc Haber ("Since Debian doesn't pay, it needs to have comfortable or cool tools").

    thanks,
    serafi

    --997d418c02d42e43956ff8acd528901bc0796440384eba10500cdb9faad1
    Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEA2RWqo7IwLCLSFYbT59tVQ7WEioFAmdvINkACgkQT59tVQ7W EioYTQ/5AVuCcV4+Q7/wTya89VTKhEC9QNdb52JWjAX4ifwQy75dKTa+19uvUHVb VwpwAIkI15zXeq+8jZm21nVCJKdy6RhVfEUi/ItsPCnb7wzAW23ApT+A1uLFC9+E rKd6JmuqztnG6uc7GXdSdp3uIFO7mvZzg0DeiyBZKCosS9HDpvr7uWCsZsxuGHqZ ruhAPaHCaIcWTO+iI18HDeEctrNzEFuq2qqAh9bkJXlCzX45M16vN106Yiav2mez 8VeKwXxKE3MY0PDN1OrVfXmVvJ1mFhGjoGRgywDELVnCOjFBf4rUMAVziiWCA4eM ZuzjU2eFBETfmzC/UlquzybO/yKU4DgllriJpWRQiCISEGC7Fa0RHzBfDS5dwk+K 1lYYdFeOzccmxRq0sVSrISJ53LxlHQecZRptk9w/0qA/jRJaB66qA0pYH5NWgUR+ 8cdy5tBtSITa+MJ+8dKolhqmOCrJIuaf3IUEBOituIV5XcnGBP11YdD8b6yMGGeK osWeBRmvV2t6/sAB55K1Ozj13GiZn3dt5lWMyJugQmazPKR6GVx6/BbUdc6qlxnf hnzaBUKTxld0WhF2EhhedJTtsawOir4EMrs36KMhneg9uBW1okMrcFKTLFAS07bJ G/b0gv+6QUypYE3r4tPDYWGbJRzqFeH1BMqTrc5cRRnYIT0v1dU=QMDf
    -----END PGP SIGNATURE-----

    --997d418c02d42e43956ff8acd528901bc0796440384eba10500cdb9faad1--

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)