HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3081 articles Page 27/309 Sans filtre

06:04

Surelock: Deadlock-Free Mutexes for Rust

L'auteur présente surelock, une bibliothèque Rust préliminaire visant à garantir l'absence d'interblocages à la compilation. Le principe central est un MutexKey linéaire qui porte un état de verrouillage au niveau des types, de sorte que chaque appel .lock() consomme la clé et renvoie une clé attestant des verrous déjà acquis, évitant ainsi les cycles sans analyse globale ni coût d'exécution. Surelock combine deux mécanismes complémentaires : LockSet trie et acquiert atomiquement des verrous du même niveau en s'appuyant sur des LockId stables, tandis que des Level<N> et des contraintes LockAfter imposent par le typage un ordre strict pour l'acquisition incrémentale entre niveaux. L'API propose un usage implicite pratique via lock_scope et un modèle explicite (Locksmith → KeyVoucher → KeyHandle → MutexKey) pour les environnements no_std ou embarqués, et choisit un ordre total Level×LockId plutôt qu'un DAG pour garantir l'absence de deadlocks. La crate, publiée en pré-version et compatible no_std, fournit aussi une échappatoire feature-générée pour des verrouillages non vérifiés et vise à rendre la prévention des interblocages ergonomique en transformant les mauvais usages en erreurs de compilation.

06:03

Simplest Hash Functions

L'article compare les fonctions de hachage cryptographiques à des variantes minimalistes et très rapides comme rapidhash ou une simple addition de mots, en soulignant les dangers face à des entrées malveillantes. Il montre que l'addition sur blocs de 32 bits peut donner des distributions raisonnables pour de longs textes non structurés mais devient très mauvaise pour des données courtes et régulières comme les noms de domaine. L'auteur explique comment la finalisation par multiplication pliée (foldmul) et le chaînage de plusieurs opérations peuvent répartir l'entropie sur les bits et diminuer les collisions observées. Le texte aborde aussi l'importance de l'utilisation des bits hauts ou bas par les tables de hachage et comment le choix d'API et d'implémentation conditionne les exigences sur la qualité du hachage. La conclusion conseille d'adapter la simplicité ou la complexité du hachage au contexte d'utilisation, en privilégiant des méthodes très simples pour des données non adverses et des transformations supplémentaires pour les cas critiques.

06:03

Why meaningful days look like nothing while you are living them

L'auteur raconte une journée grise passée à Kumamoto où il suit un itinéraire entre statues de personnages de One Piece après avoir vu, quelques semaines plus tôt, une photo montrée par une connaissance. Sur le moment, la visite ressemble à une simple promenade sans rituel, ponctuée de statues en bronze et de scènes banales de la vie locale. Des mois plus tard, dans un autre pays et sous l'effet d'une petite dose de champignon, la diffusion en live action de One Piece déclenche chez lui une révélation sur le sens de cette expérience. L'essai analyse comment un récit long et persistant comme One Piece peut jouer le rôle d'une écriture sacrée moderne en accompagnant une génération tout au long de la vie. Il conclut que les pèlerinages peuvent ne pas être reconnus pendant qu'on les vit et que le poids signifiant des gestes ordinaires arrive souvent après, transformant des journées apparemment insignifiantes en moments décisifs.

06:03

Cirrus Labs to join OpenAI

En 2017, j'ai fondé Cirrus Labs dans l'esprit des Bell Labs pour aborder des problèmes d'ingénierie stimulants et en espérant faire émerger une entreprise en tant que sous-produit. La mission était d'aider les ingénieurs avec de nouveaux outils et environnements pour améliorer l'efficacité à l'ère du cloud, et l'entreprise est restée indépendante sans financement extérieur. Entre 2018 et 2022, Cirrus Labs a innové sur l'intégration continue et la virtualisation, notamment avec un système SaaS CI/CD multi‑OS permettant d'utiliser son propre cloud et avec Tart, une solution de virtualisation populaire pour Apple Silicon. Face à l'avènement de l'ingénierie agentique en 2026, l'équipe a accepté de rejoindre OpenAI au sein de l'Agent Infrastructure pour poursuivre et étendre sa mission de création d'outils pour ingénieurs humains et agents. Les sources des outils tels que Tart, Vetu et Orchard seront relicenciées sous une licence plus permissive et sans frais de licence, Cirrus Runners n'accepte plus de nouveaux clients mais restera supporté pour les contrats existants, et Cirrus CI fermera le 1er juin 2026.

06:03

Tofolli gates are all you need

Le principe de Landauer établit une borne inférieure à l'énergie nécessaire pour effacer un bit, E ≥ kB T ln 2, indépendante du support physique. Il n’existe pas de limite inférieure théorique pour l’énergie d’un calcul réversible, et bien que l’effacement d’un bit pratique demande environ un milliard de fois plus d’énergie que la borne de Landauer, les circuits réversibles peuvent néanmoins offrir des gains d’efficacité réels. Une porte de Toffoli prend trois bits en entrée et renvoie trois bits en sortie selon T(a,b,c) = (a,b,c XOR (a AND b)), c’est‑à‑dire qu’elle inverse le troisième bit si et seulement si les deux premiers sont à 1. La porte de Toffoli est son propre inverse et donc réversible, puisque l’appliquer deux fois annule l’effet sur le troisième bit. En envoyant (a,b,1) dans une Toffoli on obtient la NAND en troisième sortie, ce qui permet de construire toute fonction booléenne de manière réversible mais implique souvent d’entrer et de récupérer plus de bits que dans les portes non réversibles.

06:02

Advanced Mac Substitute is an API-level reimplementation of 1980s-era Mac OS

Ce logiciel est une réimplémentation au niveau API du Mac OS des années 1980 qui exécute des applications 68K sans ROM Apple ni logiciel système. Plutôt que d’émuler tout le matériel, il remplace le système d’exploitation (sauf le processeur 680x0) et lance directement les applications sans phase de démarrage. L’architecture est factorisée avec un backend émulateur 68K portable sur systèmes POSIX et un frontend de terminal bitmap fourni par SDL2, complété par des implémentations pour macOS, X11 et fbdev. Le projet prend en charge le graphisme 1‑bit, les régions, les primitives (cercles, lignes, roundrects), les GrafPorts, curseurs, fenêtres, contrôles, menus et dialogues, et il exécute plusieurs jeux et applications Macintosh classiques. Le code source est disponible sur GitHub et le logiciel peut être essayé sur macOS, sous X Window, sur une console framebuffer Linux ou via un client VNC.

06:02

Building a Z-Machine in the worst possible language – Whitebeard's Realm

La Z-machine est une machine virtuelle des années 1980 créée par Infocom pour permettre d'exécuter leurs jeux textuels sur plusieurs architectures. L'auteur a entrepris d'en implémenter une en Elm, ce qui pose un défi car Elm est purement fonctionnel et la Z-machine suppose un accès mémoire direct et une pile distincte. La crainte d'un désastre de performances liée à la copie des structures a été atténuée par l'utilisation des tableaux persistants d'Elm (variante de RRB trie), qui offrent de bonnes performances pour les mises à jour. Le projet fonctionne aujourd'hui: il exécute des fichiers .z3, réussit le test de conformité tchèque et est assez performant pour servir de lecteur d'Interactive Fiction. La bibliothèque propose une interface propre pour charger, exécuter et gérer les événements, avec des exemples (notamment une application node.js/elm avec Zork1) permettant de créer facilement des clients.

06:02

Pijul a FOSS distributed version control system

Il s'agit d'un système de contrôle de version distribué, libre (GPL2), fondé sur une théorie des patchs et conçu pour être rapide et évolutif. Sa propriété de commutation permet d'appliquer des changements indépendants dans n'importe quel ordre sans modifier le résultat ni l'identifiant de version, simplifiant les flux de travail par rapport aux rebase ou transplant et reléguant les branches à un rôle moins central. Le système garantit la préservation de l'ordre des lignes lors des fusions et considère comme conflit toute situation où l'ordre est indéterminé, contrairement aux fusions à trois voies qui peuvent parfois réagencer les lignes. Les conflits sont traités comme des entités de premier plan : chaque conflit oppose deux changements et se résout par un changement de résolution qui reste valable indépendamment d'autres changements, empêchant leur réapparition. La commutation permet des clones partiels en n'appliquant que les changements liés à un sous-ensemble du dépôt, et le logiciel est distribué en code source ouvert et disponible publiquement.

06:01

Dark Castle

La série comprend trois jeux emblématiques de plateforme initialement sortis en 1986 et 1987, puis relancée en 2008 avec une version en couleur. Le jeu original en noir et blanc a été un pionnier du jeu sur Macintosh, apprécié pour ses animations, son humour et sa mise en valeur des capacités son et graphisme de la machine. La réédition de 2008, développée par Z Sculpt après un long développement commencé en 1996, intègre tous les niveaux des deux premiers volets et plus de cinquante niveaux nouveaux, mêlant écrans fixes et niveaux à défilement. La jouabilité reste centrée sur l'exploration du château pour affronter le Chevalier Noir en collectant des orbes et en utilisant des armes comme le rocher, la boule de feu, le bouclier et la pierre spéciale. Un fichier téléchargeable facilite l'émulation en fournissant Mini vMac, une ROM Mac Plus et une image système contenant les deux premiers jeux (mais pas le troisième), avec une option festive activable le 25 décembre.