Quand on regarde le retour du cargo tree sur tera, regex-syntax v0.8.4 apparaît plusieurs fois.
La même lib (avec la même version) est utilisée par plusieurs dépendances de tera, pourtant tu n'auras qu'une seule lib installée.
C'est vrai. Note toutefois que ces doublons ne sont pas décomptés dans mon total de 126 (j'ai juste fait rg "name =" Cargo.lock | wc -l).
Et je ne dis pas que les dépendances sont « mal » (au contraire, c'est un soulagement d'avoir enfin un langage de bas niveau où c'est facile d'utiliser des dépendances). Je critique plus une certaine culture d'en ajouter sans prendre en compte leur coût. Je suis tout à fait prêt à utiliser tokio, ou regex, ou pulldown-cmark, ou toml. Je suis sceptique sur Tera parce que les dépendances me paraissent excessives rapportées au service rendu.
Cargo est parfaitement capable de créer et d'utiliser des librairies dynamiques, mais en gros les seuls qui le font sont ceux qui ont besoin de FFI avec d'autres langages (souvent C, mais aussi tout langage capable de comprendre l'ABI C, comme C++ ou Python).
Déjà, le principe même de vouloir mettre à jour une librairie dynamique sans recompiler ses dépendants est fondamentalement en conflit avec la monomorphisation des génériques, c'est-à-dire le fait qu'une même fonction dans la librairie peut être appelée avec des types différents dans le dépendant, non connus à l'avance, ce qui nécessite de la recompiler une fois par type avec lequel elle est utilisée dans le dépendant. C'est la même chose en C++ avec les templates. Toute tentative de créer une librairie dynamique à l'ABI stable se heurte à ce problème, qui rend le code pas du tout idiomatique parce que les génériques sont partout dans le langage.
Le souci, c'est que les cas simples (comme le mien) sont faciles à implémenter, mais fournir une API qui couvre à peu près bien tous les cas intéressants est beaucoup, beaucoup plus compliqué. Il faut notamment penser à : ce qui se passe quand on rencontre un symlink vers un dossier, ce qui se passe quand on n'a pas les permissions, proposer une manière de limiter la profondeur de recherche, ou de filtrer des dossiers au fur et à mesure qu'ils sont lus (pour éviter de descendre dedans), etc. Donc je peux comprendre que ce soit trop pour la stdlib, même si ça se discute.
Je suppose que dans les 50 lignes produites par l'auteur, il y a plus que ça.
Non, il n'y a vraiment rien de plus que la base de la base (OK, 40 lignes, pas 50) :
Les engins JavaScript modernes sont des monstres d'optimisation JIT. Cette fonction est extrêmement simple et se compile très bien. Il n'y a aucun polymorphisme, aucune branche, juste une boucle et des calculs flottants.
Il faut se garder d'en tirer des conclusions générales sur la performance de JavaScript, vu que la plupart du code réel ne passe pas la majorité de son temps dans des calculs numériques comme ça.
Au passage, voici une manière de ramener le code Python au même ordre de grandeur de performance que C et JavaScript :
Je confirme. Mon propre serveur (pour https://lilypond.community) a été en blacklist dès le premier message (pourquoi tant de haine ?) et j'ai dû les relancer de multiples fois et refuser d'accepter plusieurs réponses « désolés, notre bullshit automatisé a déterminé que nous ne pouvions pas répondre favorablement à votre demande » avant d'obtenir le déblacklistage.
Même système (Fedora 40). J'ai cloné ton dépôt et fait sudo dnf install libshumate-devel meson; meson setup build; cd build; ninja. Pas d'erreur, j'obtiens un exécutable qui affiche une jolie carte.
Tu as passé des options particulières à Meson ? Tu as des réglages particuliers de pkg-config ? (env | grep PKG_CONFIG)
Maintenant que l'UE, le Royaume-Uni et le Japon l'ont fait, on peut espérer que d'autres pays suivent, mais quelqu'un sait-il ce qu'il en est aux États-Unis ? Est-ce qu'il y a des velléités dans ce sens ? Est-ce que leurs autorités de concurrence ou je ne sais-quoi observent les mesures des autres pays ? Ou est-ce que c'est simplement impensable dans leur culture ?
[Zut, le mot « théorie » dans le titre est une coquille pour « théorique ».]
Dans ce billet de blog, je parle du théorème de Gödel, donc pas vraiment dans le sujet des logiciels libres, mais comme j'ai aussi essayé d'expliquer ce qu'est l'informatique théorique en tant que science, je me suis dit que ça pouvait intéresser ceux qui se demandent ce que peuvent bien faire les universitaires dans les départements d'informatique.
En fait, j'étais surtout inquiet car cette quantité de connexions me paraissait anormale, mais de ce que je comprends de toutes les réponses, c'est en fait courant. L'Internet est encore moins joli que ce que je croyais !
Pour la différence entre TCP et UDP, c'est simple:
Un paquet TCP entre dans un bar, et commande une bière. Vous voulez une bière ? Oui, je voudrais une bière. Voici une bière.
Un paquet UDP entre dans un bar, et commande un bière.
Oui, je comprends la différence à ce niveau-là. Mais je ne saurais pas expliquer comment s'agencent les bits d'un message TCP (en fait je ne connais même pas la taille moyenne d'un paquet TCP). Je ne cherche pas des réponses à toutes ces questions ici (je suis en train de me renseigner sur les réseaux en ce moment, de manière générale), je dis juste que j'ai beau être compétent en informatique — surtout du côté théorique — j'ignore plein de choses qui font partie des connaissances de base des gens qui administrent de vrais systèmes et réseaux.
Je suis bien d'accord que c'est un cauchemar que l'État français officialise que les deux seuls compétiteurs possibles sur le marchés des smartphones soient Google et Apple. Pour les autres inconvénients, je n'en avais pas conscience et ça m'incite à me renseigner, merci pour l'info. En tous cas, je parlais plus du principe général que de l'implémentation particulière.
Personnellement, j'ai toujours trouvé l'application GNOME Software atrocement lente au point de l'avoir tout simplement désinstallée à chaque fois. Je désinstalle aussi le démon packagekitd, qui périodiquement se mettait à faire chauffer l'ordinateur en prenant beaucoup de CPU, et dont je suppose qu'il est à la racine de la lenteur de GNOME Software. J'installe tout en ligne de commande avec dnf et flatpak.
Peut-être qu'on va enfin se mettre à déployer à grande échelle des systèmes de cryptographie asymétrique comme PGP ou S/MIME, en les liant à une vraie vérification d'identité comme l'identité numérique certifiée.
Non, pardon, c'est juste moi qui rêve, là. Les mails vont continuer d'avoir une sécurité nulle et on va continuer les « Bonjour, vous avez été classé premier au concours de maître de conférences en cryptographie et nous vous en félicitons. Afin d'organiser votre recrutement, merci de nous envoyer par mail un scan de votre carte d'identité ainsi que le document ci-joint avec une photo de votre signature »…
… qui ressort d'une discussion avec un proche, c'est que ce genre de marketing n'est pas à destination des utilisateurs, mais à destination des investisseurs et de la bourse.
C'est drôle, je n'y avais absolument pas pensé, ce qui prouve bien que je n'y comprends rien au monde de l'entreprise.
En gros : la proposition a très peu de chances d'aboutir telle quelle. Par contre, il se dit ouvert à des propositions pour rendre KDE plus visible aux côtés de GNOME, sans pour autant changer le fait que GNOME est ce que vont télécharger les gens qui n'y connaissent rien et qui cliquent juste sur le premier lien dans le site de Fedora.
Oui, tu as absolument raison, j'aurais dû le préciser. Il y a quand même un certain nombre de cas où le compilateur ne peut pas déduire que l'indice est dans les bornes, comme quand on stocke des indices dans un tableau à l'intérieur d'un autre tableau, mais ce n'est pas si courant.
[^] # Re: Un peu de nuance
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à 6.
C'est vrai. Note toutefois que ces doublons ne sont pas décomptés dans mon total de 126 (j'ai juste fait
rg "name =" Cargo.lock | wc -l
).Et je ne dis pas que les dépendances sont « mal » (au contraire, c'est un soulagement d'avoir enfin un langage de bas niveau où c'est facile d'utiliser des dépendances). Je critique plus une certaine culture d'en ajouter sans prendre en compte leur coût. Je suis tout à fait prêt à utiliser tokio, ou regex, ou pulldown-cmark, ou toml. Je suis sceptique sur Tera parce que les dépendances me paraissent excessives rapportées au service rendu.
[^] # Re: Éternel problème des SPOF
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à 6.
Cargo est parfaitement capable de créer et d'utiliser des librairies dynamiques, mais en gros les seuls qui le font sont ceux qui ont besoin de FFI avec d'autres langages (souvent C, mais aussi tout langage capable de comprendre l'ABI C, comme C++ ou Python).
Déjà, le principe même de vouloir mettre à jour une librairie dynamique sans recompiler ses dépendants est fondamentalement en conflit avec la monomorphisation des génériques, c'est-à-dire le fait qu'une même fonction dans la librairie peut être appelée avec des types différents dans le dépendant, non connus à l'avance, ce qui nécessite de la recompiler une fois par type avec lequel elle est utilisée dans le dépendant. C'est la même chose en C++ avec les templates. Toute tentative de créer une librairie dynamique à l'ABI stable se heurte à ce problème, qui rend le code pas du tout idiomatique parce que les génériques sont partout dans le langage.
[^] # Re: walkdir, la place est dans la bibliothèque standard ?
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal Mon inquiétude sur les dépendances en Rust. Évalué à 3. Dernière modification le 02 juillet 2024 à 15:08.
Il y a une issue pour ça : https://github.com/rust-lang/rust/issues/69684
Le souci, c'est que les cas simples (comme le mien) sont faciles à implémenter, mais fournir une API qui couvre à peu près bien tous les cas intéressants est beaucoup, beaucoup plus compliqué. Il faut notamment penser à : ce qui se passe quand on rencontre un symlink vers un dossier, ce qui se passe quand on n'a pas les permissions, proposer une manière de limiter la profondeur de recherche, ou de filtrer des dossiers au fur et à mesure qu'ils sont lus (pour éviter de descendre dedans), etc. Donc je peux comprendre que ce soit trop pour la stdlib, même si ça se discute.
Non, il n'y a vraiment rien de plus que la base de la base (OK, 40 lignes, pas 50) :
C'est juste que les itérateurs sont un poil verbeux, mais rien de très notable.
# Conséquences amusantes
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Contraint de bloquer des noms de domaine, OpenDNS décide de quitter la France . Évalué à 6.
Il y en a qui ne peuvent plus allumer la lumière chez eux à cause de ça :
https://x.com/bortzmeyer/status/1806760064302072050
(désolé, je n'ai pas trouvé l'info ailleurs que sur 𝕏).
# Pas très surprenant
Posté par jeanas (site web personnel, Mastodon) . En réponse au message Je veux bien que JavaScript soit optimisé, mais quand même !.... Évalué à 7.
Les engins JavaScript modernes sont des monstres d'optimisation JIT. Cette fonction est extrêmement simple et se compile très bien. Il n'y a aucun polymorphisme, aucune branche, juste une boucle et des calculs flottants.
Il faut se garder d'en tirer des conclusions générales sur la performance de JavaScript, vu que la plupart du code réel ne passe pas la majorité de son temps dans des calculs numériques comme ça.
Au passage, voici une manière de ramener le code Python au même ordre de grandeur de performance que C et JavaScript :
[^] # Re: MS et le mail : une plaie
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Pypi bloque les mails en outlook.com et hotmail.com. Évalué à 8.
Je confirme. Mon propre serveur (pour https://lilypond.community) a été en blacklist dès le premier message (pourquoi tant de haine ?) et j'ai dû les relancer de multiples fois et refuser d'accepter plusieurs réponses « désolés, notre bullshit automatisé a déterminé que nous ne pouvions pas répondre favorablement à votre demande » avant d'obtenir le déblacklistage.
# ChezMoiÇaMarche ®
Posté par jeanas (site web personnel, Mastodon) . En réponse au message [résolu] Problème de dépendance dans un build meson. Évalué à 2.
Même système (Fedora 40). J'ai cloné ton dépôt et fait
sudo dnf install libshumate-devel meson; meson setup build; cd build; ninja
. Pas d'erreur, j'obtiens un exécutable qui affiche une jolie carte.Tu as passé des options particulières à Meson ? Tu as des réglages particuliers de
pkg-config
? (env | grep PKG_CONFIG
)# Et les US ?
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Le Japon impose le choix du navigateur à Apple. Évalué à 2.
Maintenant que l'UE, le Royaume-Uni et le Japon l'ont fait, on peut espérer que d'autres pays suivent, mais quelqu'un sait-il ce qu'il en est aux États-Unis ? Est-ce qu'il y a des velléités dans ce sens ? Est-ce que leurs autorités de concurrence ou je ne sais-quoi observent les mesures des autres pays ? Ou est-ce que c'est simplement impensable dans leur culture ?
# C'est crodwsourcé depuis Mastodon
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien La politique de confidentialité de XScreenSaver pour Android. Évalué à 5.
Ici : https://mastodon.social/@jwz/112580392962217146
# Arrivé trop tard ?
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal Publication de Moustache, votre nouvel ami dans la transformation de texte . Évalué à 6.
Il existe déjà Minijinja, un clone de Jinja en Rust par le même auteur (Armin Ronacher). Avec la CLI kivabien.
# Autres réactions
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Nouvelle proposition à l'UE pour casser le chiffrement de bout en bout des messageries. Évalué à 3.
# Mi-HS
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Vulgarisation sur l'informatique théorique et le théorème d'incomplétude de Gödel. Évalué à 3.
[Zut, le mot « théorie » dans le titre est une coquille pour « théorique ».]
Dans ce billet de blog, je parle du théorème de Gödel, donc pas vraiment dans le sujet des logiciels libres, mais comme j'ai aussi essayé d'expliquer ce qu'est l'informatique théorique en tant que science, je me suis dit que ça pouvait intéresser ceux qui se demandent ce que peuvent bien faire les universitaires dans les départements d'informatique.
[^] # Re: Éviter le bruit
Posté par jeanas (site web personnel, Mastodon) . En réponse au message Nombre de connexions SSH malveillantes à un serveur. Évalué à 2.
Merci pour ces pistes, je vais regarder ça.
En fait, j'étais surtout inquiet car cette quantité de connexions me paraissait anormale, mais de ce que je comprends de toutes les réponses, c'est en fait courant. L'Internet est encore moins joli que ce que je croyais !
Oui, je comprends la différence à ce niveau-là. Mais je ne saurais pas expliquer comment s'agencent les bits d'un message TCP (en fait je ne connais même pas la taille moyenne d'un paquet TCP). Je ne cherche pas des réponses à toutes ces questions ici (je suis en train de me renseigner sur les réseaux en ce moment, de manière générale), je dis juste que j'ai beau être compétent en informatique — surtout du côté théorique — j'ignore plein de choses qui font partie des connaissances de base des gens qui administrent de vrais systèmes et réseaux.
# Quoi ??
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Qu’est-ce qu’Albert, l’intelligence artificielle française déployée par le gouvernement ?. Évalué à 7.
« [Albert] sera également mis au service […] de la gestion RH des fonctionnaires. »
Pardon ?
# Merci
Posté par jeanas (site web personnel, Mastodon) . En réponse à la dépêche Fedora Linux 40 est de sortie avec un nouveau GNOME et KDE Plasma. Évalué à 9. Dernière modification le 23 avril 2024 à 11:35.
C'est un plaisir de lire une dépêche aussi détaillée, en plus bien écrite.
[^] # Re: Intéressant
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien La signature scannée n'est pas une preuve suffisante du consentement à une obligation. Évalué à 2.
Je suis bien d'accord que c'est un cauchemar que l'État français officialise que les deux seuls compétiteurs possibles sur le marchés des smartphones soient Google et Apple. Pour les autres inconvénients, je n'en avais pas conscience et ça m'incite à me renseigner, merci pour l'info. En tous cas, je parlais plus du principe général que de l'implémentation particulière.
[^] # Re: gnome-software
Posté par jeanas (site web personnel, Mastodon) . En réponse à la dépêche Fedora Linux 40 Beta est disponible pour les tests. Évalué à 2.
Personnellement, j'ai toujours trouvé l'application GNOME Software atrocement lente au point de l'avoir tout simplement désinstallée à chaque fois. Je désinstalle aussi le démon packagekitd, qui périodiquement se mettait à faire chauffer l'ordinateur en prenant beaucoup de CPU, et dont je suppose qu'il est à la racine de la lenteur de GNOME Software. J'installe tout en ligne de commande avec
dnf
etflatpak
.# Intéressant
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien La signature scannée n'est pas une preuve suffisante du consentement à une obligation. Évalué à 8. Dernière modification le 18 avril 2024 à 14:23.
Peut-être qu'on va enfin se mettre à déployer à grande échelle des systèmes de cryptographie asymétrique comme PGP ou S/MIME, en les liant à une vraie vérification d'identité comme l'identité numérique certifiée.
Non, pardon, c'est juste moi qui rêve, là. Les mails vont continuer d'avoir une sécurité nulle et on va continuer les « Bonjour, vous avez été classé premier au concours de maître de conférences en cryptographie et nous vous en félicitons. Afin d'organiser votre recrutement, merci de nous envoyer par mail un scan de votre carte d'identité ainsi que le document ci-joint avec une photo de votre signature »…
# J'aurais dû me douter qu'il y avait un XKCD là-dessus
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal Le marketing des logiciels, épisode 20240410. Évalué à 3.
Je suis tombé sur celui-ci par hasard : https://xkcd.com/1707/
# Une explication possible…
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal Le marketing des logiciels, épisode 20240410. Évalué à 9.
… qui ressort d'une discussion avec un proche, c'est que ce genre de marketing n'est pas à destination des utilisateurs, mais à destination des investisseurs et de la bourse.
C'est drôle, je n'y avais absolument pas pensé, ce qui prouve bien que je n'y comprends rien au monde de l'entreprise.
# Réaction de Drew DeVault
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien [Reddit] Le créateur de Hyprland (tiling compositor pour wayland) banni de Freedesktop. Évalué à 5.
https://drewdevault.com/2024/04/09/2024-04-09-FDO-conduct-enforcement.html
[^] # Re: Quelqu'un pour donner un avis éclairé ?
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Joshua Strobl propose à Fedora de remplacer GNOME par Plasma par défaut. Évalué à 3.
Réaction du Fedora project leader : https://discussion.fedoraproject.org/t/f42-change-proposal-fedora-plasma-workstation-system-wide/111343/41
En gros : la proposition a très peu de chances d'aboutir telle quelle. Par contre, il se dit ouvert à des propositions pour rendre KDE plus visible aux côtés de GNOME, sans pour autant changer le fait que GNOME est ce que vont télécharger les gens qui n'y connaissent rien et qui cliquent juste sur le premier lien dans le site de Fedora.
# Réaction du projet Python
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Backdoor in upstream xz/liblzma leading to ssh server compromise. Évalué à 3.
Rassurante : https://discuss.python.org/t/cpython-pypi-and-many-python-packages-are-not-affected-by-the-backdoor-of-xz/49873
# Une réponse argumentée
Posté par jeanas (site web personnel, Mastodon) . En réponse au lien Réfléchissez à deux fois avant d'abandonner Xorg. Wayland casse tout !. Évalué à 10.
https://refi64.dev/posts/dont-boycott-wayland.html démonte un certain nombre d'arguments plus ou moins fallacieux dans ce gist au ton excessivement polémique.
[^] # Re: Gestion mémoire etc.
Posté par jeanas (site web personnel, Mastodon) . En réponse au journal PullRequest d'une application en Rust. Évalué à 1.
Oui, tu as absolument raison, j'aurais dû le préciser. Il y a quand même un certain nombre de cas où le compilateur ne peut pas déduire que l'indice est dans les bornes, comme quand on stocke des indices dans un tableau à l'intérieur d'un autre tableau, mais ce n'est pas si courant.