HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11935 articles Page 298/1194 Sans filtre

Stop Anthropomorphizing Intermediate Tokens as Reasoning/Thinking Traces

Les auteurs décrivent l'usage de la génération de jetons intermédiaires (ITG) comme méthode standard pour améliorer les performances des modèles de langage sur des tâches de raisonnement. Ces jetons intermédiaires sont souvent qualifiés de « traces de raisonnement » ou « traces de pensée », ce qui anthropomorphise implicitement les processus du modèle. Les auteurs présentent des éléments montrant que cette anthropomorphisation n'est pas inoffensive mais dangereuse, car elle perturbe la compréhension de la nature des modèles et de leur utilisation. Ils soutiennent que cette confusion conduit aussi à des choix de recherche discutables et potentiellement trompeurs. Ils appellent la communauté à éviter d'anthropomorphiser ces jetons intermédiaires.

Speeding Up (Small) Ruby Hashes

L'auteur admet détester rédiger ces billets mais les écrit pour clarifier et compiler ses idées. Il décrit que pour les très petites tables Ruby utilise une structure ar_table composée d'un tableau de paires et d'un octet d'indice par entrée plutôt qu'une table de hachage complète. La recherche y était linéaire O(n), comparant les hints un par un et appelant eql? pour résoudre les collisions, ce qui entraînait des différences de latence selon la position de la clé. Il propose et implémente une recherche SWAR qui compare huit octets en parallèle en construisant un masque, en XORant les valeurs recherchées et en localisant les correspondances via ntz/ctz en tenant compte de l'ordre des octets (endianness). Après ajustements pour gérer les mutations possibles via eql? et une spécialisation du premier match pour améliorer la prédiction de branchement, les benchmarks montrent des temps de recherche constants et supérieurs à l'implémentation st_table, et l'auteur prévoit de nettoyer le patch avant fusion.

Git at any scale

Le texte explique que Git, conçu par Linus pour un développement très décentralisé, pose d'importants problèmes d'hébergement à grande échelle principalement à cause du format packfile et des accès en graphe qui rendent la distribution et la mise en cache difficiles. Les premières solutions (distribution du système de fichiers, stockage objet distribué ou approches comme Spokes chez GitHub) ont résolu certains problèmes mais ont révélé des limites de scalabilité, de cohérence et d'exploitation opérationnelle, notamment à cause du recours au consensus 3PC et à la nécessité de répliquer chaque dépôt sur plusieurs nœuds. Cursor présente Continuity, un système qui utilise un journal de préécriture (WAL) stocké dans S3 comme source de vérité tout en conservant des dépôts Git complets sur NVMe locaux pour les opérations performantes. Cette architecture garantit la linéarisation des pushes via des opérations atomiques sur S3, permet de matérialiser les dépôts sur nœuds quelconques, utilise une réplication optimiste par gossip et offre une scalabilité horizontale élevée puisqu'autant de répliques que nécessaire peuvent se synchroniser depuis S3. Le compactage est centralisé sur un nœud principal et les packs compactés sont distribués depuis S3, ce qui améliore la disponibilité, la traçabilité et l'opérabilité du système, et constitue la base de la plateforme commerciale Origin.

SpacetimeDB: A Short Technical Review

SpacetimeDB a lancé la version 2.0 avec un marketing provocateur et des benchmarks publiés qui, selon l'auteur, sont techniquement biaisés et peu honnêtes. Son architecture combine base de données et serveur d'application en exécutant le code applicatif compilé en WebAssembly à l'intérieur de l'instance, avec un moteur de stockage en mémoire ressemblant à une table de hachage protégée par un unique mutex lecture-écriture global. Cette conception permet des performances élevées sur certains benchmarks car les écritures sont linéarisables et exécutées séquentiellement, mais elle impose des limitations de durabilité car le journal d'écriture est flushé de manière asynchrone (par défaut toutes les 50 ms) et la lecture confirmée peut retarder les réponses. La solution n'est pas distribuée au sens fort et sa montée en charge est essentiellement verticale, ce qui la rend mieux adaptée à des cas d'usage éphémères ou à faible besoin d'extensibilité, comme le backend d'un MMORPG, plutôt qu'à des bases de données multi-région hautement disponibles. L'auteur estime qu'il y a un produit et des idées intéressantes, mais que les choix techniques actuels présentent des risques pour des usages modernes comme les agents LLM et qu'une version future plus résiliente et distribuée serait préférable.

Linux 7.2

La version Linux 7.2 a été publiée selon le calendrier habituel après un cycle parmi les plus chargés, marqué par de nombreuses corrections. Le cycle a introduit des avancées importantes en ordonnancement, notamment la planification consciente du cache, des améliorations de MGLRU, le concept de sous-ordonnanceurs pour sched_ext et la création automatique de transparent hugepages multi-tailles. Igalia a contribué notamment au nouveau policy fair du planificateur DRM, qui reste pour l'instant optionnel en raison d'une régression détectée en fin de cycle mais dont le correctif est prêt et prometteur. Le pilote V3D des GPU Raspberry Pi 4 et 5 a reçu la gestion du Runtime Power Management et plusieurs corrections de bugs et de réinitialisation, tandis que des corrections anciennes pour le Raspberry Pi 3 devraient supprimer des blocages affectant RetroPie. Parmi les autres travaux, Igalia a participé à des tests et documentations pour futex (corrigeant un bug vieux de 14 ans), à diverses corrections de pilotes et à l'intégration d'un support initial HDMI 2.1 FRL dans amdgpu.

AliExpress runs silent WebAudio fingerprinting that breaks Bluetooth multipoint

L'auteur a constaté que la page d'accueil d'AliExpress créait silencieusement des contextes WebAudio qui interrompaient la commutation Bluetooth multipoint de ses écouteurs. En instrumentant AudioContext et AudioNode.prototype.connect(), il a identifié deux scripts obfusqués nommés collina.js et fireyejs.js chargés depuis un répertoire AWSC d'Alibaba. Ces scripts construisent un graphe WebAudio avec un oscillateur, un AnalyserNode, un ScriptProcessorNode et un GainNode à zéro connecté à la sortie, ce qui permet de mesurer la chaîne audio sans produire de son audible. Le code fait partie d'un dispositif de fingerprinting qui combine les mesures WebAudio avec des données canvas, WebGL, WebRTC, matériel et comportementales avant de chiffrer et d'envoyer des télémetries aux serveurs. Bloquer les deux scripts avec des règles uBlock Origin empêche la création des contextes audio et résout le problème, mais cela peut entraîner des CAPTCHAs ou des restrictions liées aux systèmes anti-fraude.

Mojo is now open source

Mojo est désormais entièrement open source sous licence Apache 2.0 avec exceptions LLVM, et le code du compilateur, des outils et de la bibliothèque standard est disponible dans le dépôt GitHub modular. Le langage se présente comme une proposition générale novatrice intégrant des avancées en recherche compilateur pour exploiter GPUs, accélérateurs IA et autres formes de calcul avancé. Après quatre ans de développement avec une communauté ouverte mais un compilateur fermé, Mojo a atteint la version 1.0 et l’équipe a publié le compilateur et la chaîne d’outils. Le dépôt contient des instructions pour cloner et construire le compilateur avec Bazel, en proposant --config=build-mojo pour compiler depuis les sources ou --config=prebuilt-mojo pour utiliser des binaires précompilés, et permet d’exécuter la suite de tests du standard library. Les contributions à la bibliothèque standard sont acceptées depuis 2024, les contributions au compilateur et aux outils seront ouvertes plus tard cette année selon l’équipe, et la communauté est invitée à rejoindre le forum pour poser des questions et partager des projets.

Vomit: Clean up Claude 5's token output with a separate LLM

Vomit convertit les tokens produits par Claude en anglais en les passant via un modèle local, et il fonctionne entièrement en local sans télémétrie ni dépendances externes. On installe le binaire avec go install, on configure la connexion au modèle local avec vomit init, et l'on peut remplacer la sortie de Claude via vomit scrub -claude. L'outil offre un mode non invasif et des commandes pour lister les sessions, suivre la sortie d'une session avec vomit tail et afficher l'aide avec vomit help. L'auteur signale des limites : le modèle local n'a accès qu'aux tokens de Claude et peut halluciner, le traitement est plutôt lent, l'outil a été testé surtout sur Mac, il peut manquer des messages et il écrit des fichiers temporaires, AgentsView étant proposé pour accéder aux messages originaux. Le projet est compatible avec Llama.app, Ollama et d'autres solutions utilisant l'API OpenAI, l'auteur recommande Llama.app avec GPT-OSS 20B si nécessaire, le code est publié sous licence GNU GPLv3 et un billet de blog fournit plus de détails.

Show HN: Huzzah – a novel approach to coding with AI

Au début de 2026, l'auteur décrit l'enthousiasme puis la fatigue face aux agents de codage qui ont remplacé l'écriture manuelle de code. Il identifie plusieurs problèmes : l'absence d'enregistrement fiable de l'intention humaine, des dialogues impératifs et temporaires qui répètent des instructions et gaspillent des tokens, et la lourdeur de la langue naturelle pour exprimer des spécifications techniques. Pour y remédier, il présente Huzzah, un éditeur expérimental où les "prompts" sont des pseudocodes déclaratifs et persistants stockés dans des fichiers ; lors de la sauvegarde Huzzah capture les diffs et les utilise pour demander au LLM de régénérer le code affecté. Des exemples (fizz buzz, panier, todo) illustrent une syntaxe concise et lisible, et l'auteur souligne des bénéfices tels que la clarté documentaire du pseudocode, la possibilité de concevoir la forme du code et la réutilisation multi-langages. Il nuance cependant son propos en signalant des limites possibles à l'échelle, une adéquation moindre pour des bases de code existantes ou sans expertise métier, l'absence de certaines fonctionnalités type LSP, et précise que Huzzah est à l'état expérimental avec le code accessible et en recherche de retours.