HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

Les meilleurs longs formats de Hacker News, relus plus calmement.

6194 articles Page 135/620 Sans filtre

06:01

How Shamir's Secret Sharing Works

De nombreux contextes exigent que plusieurs personnes soient présentes pour utiliser une clé maîtresse ou récupérer un compte afin qu'aucune personne isolée ne détienne tout le secret. En 1979, Adi Shamir a proposé de diviser un secret en parts telles que k parts permettent de le reconstituer et que toute coalition de moins de k parts n'en révèle absolument rien. L'idée centrale est géométrique : cacher le secret à l'ordonnée à l'origine d'un polynôme aléatoire et distribuer à chacun un point sur ce polynôme, deux points fixent une droite, trois une parabole, etc. En pratique on utilise des corps finis et des coefficients aléatoires pour que, avec moins de k parts, toutes les valeurs possibles du secret restent compatibles et aucune information utile ne soit divulguée. Des implémentations comme le Legacy Kit emploient le schéma de Shamir comme couche locale intégrée à une récupération assistée par serveur afin de pouvoir révoquer des cartes émises et limiter les risques liés à une carte perdue.

06:00

The User Is Visibly Frustrated

L'auteur, habituellement calme, se retrouve souvent irrité par les erreurs répétées d'un agent de codage. Bien que ces agents soient des machines probabilistes produisant parfois de bons et parfois de mauvais correctifs, leurs ratés provoquent une exaspération disproportionnée. Leur interface conversationnelle et leur ton humain créent l'illusion d'un collègue serviable, ce qui déclenche des réactions émotionnelles lorsque les erreurs apparaissent. Les erreurs récurrentes, malgré des excuses et des promesses d'amélioration, aggravent la frustration; les réflexions postérieures observées chez Claude Code sont perçues comme des remplissages peu utiles et l'auteur propose de supprimer la prétention humaine en adoptant un ton plus clinique. En pratique, l'auteur pense devoir se déconditionner vis-à-vis de l'illusion humaine des outils, tout en regrettant l'idée d'avoir à se méfier constamment des outils de son travail.

06:00

Notes on Pope Leo XIV's Encyclical on AI

Le Vatican a publié une encyclique du pape Léon XIV portant sur l'intégration de l'intelligence artificielle dans la société et la sauvegarde de la personne humaine. Le pape explique avoir choisi son nom en référence à Léon XIII et à Rerum novarum pour lier les défis sociaux de l'industrialisation passée à ceux posés par l'IA. Le texte met en garde contre l'opacité des grands modèles, leurs biais culturels et la simulation de relations affectives, tout en soulignant leur coût environnemental croissant. Il affirme la primauté de la dignité et du développement humain, appelle à la responsabilité et à la reddition de comptes pour les décisions automatisées, et dénonce l'amplification du pouvoir des acteurs économiques. L'encyclique propose de considérer les données comme un bien commun, plaide pour une gouvernance participative et durable, et conclut par un appel moral à des actes modestes et constants pour préserver l'humanité.

06:06

Curly braces: An evolution of Unix and C

L'article explique comment on produisait les accolades sur les anciens téléimprimeurs en retraçant la coévolution de UNIX et du langage C à travers des exemples de "hello, world". Le standard ASCII de 1963 et le Teletype Model 33 n'incluaient pas les minuscules ni des caractères essentiels comme { }, |, ` et ~, ce qui a conduit à des contournements et à l'adoption ultérieure du Teletype Model 37 qui supportait l'ASCII complet. Pour pallier cette absence, UNIX a implémenté dès V4 une traduction côté pilote remplaçant \( et \) par { et }, et le langage C a introduit plus tard les trigraphes (??< / ??>) puis les digraphes (<% / %>) pour représenter les accolades. L'article retrace aussi la filiation BCPL→B→"new B"→C, montrant comment des syntaxes héritées (comme $( $) ou des parenthèses pour structs) et des contraintes matérielles du PDP-7 et PDP-11 ont façonné l'évolution syntaxique et typée du langage. Ces limitations historiques expliquent des caractéristiques actuelles de UNIX et de la bibliothèque C (usage massif des minuscules, identifiants courts, style flatcase), et l'auteur précise qu'il collectionne des télétypes et recherche un Teletype Model 37.

06:06

Silk: Open-source cooperative fiber scheduler

Ce projet implémente un ordonnanceur coopératif de fibres stackful légères avec des threads ordonnanceurs par CPU, une intégration io_uring et un mécanisme de work-stealing conscient de la topologie, permettant une haute concurrence sans bloquer le thread OS. La documentation décrit la boucle d'ordonnancement, le changement de contexte, le modèle de suspension, l'E/S asynchrone, l'annulation des sleeps, la conception du work-stealing et des benchmarks, et inclut des primitives de synchronisation, une bibliothèque utilitaire, des exemples de tests et une extension GDB. La compilation nécessite CMake ≥ 3.28, Ninja et Clang 21, avec les en-têtes Boost et quelques dépendances optionnelles (par ex. libelf pour le profileur), tandis que de nombreux outils (GTest, liburing, libbpf, etc.) sont fournis en sous-modules. Le script de gestion ./bb expose des commandes pour configurer, formater, nettoyer, construire, tester et lancer des benchs, avec options pour le type de build, les sanitizers, la verbosité et le contrôle fin des tests. Les commandes de performance construisent et exécutent des benchs ciblés (file-perf, fio-perf, net-perf, http-perf, s3-perf) utilisant io_uring et serveurs internes ou externes, avec paramètres pour durée, warmup, connexions, iodepth et options de profilage comme la génération de flamegraphs.