HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11567 articles Page 137/1157 Sans filtre

Jev Ultrafast: A browser agent with a dynamic, indexed action space

Le système Jev est un agent navigateur qui transforme chaque observation en une table d'éléments indexée et choisit dynamiquement une opération et une cible compatibles pour chaque décision. Les opérations supportées incluent CLICK, TYPE_TEXT, SELECT, SCROLL_UP, SCROLL_DOWN, WAIT, DONE et BLOCKED, et un petit modèle LLM n'est sollicité que pour TYPE_TEXT dont la sortie doit être un petit objet JSON avant d'être tapé. La boucle de décision effectue une requête réseau par cycle avec des têtes d'opération et de cible qui partagent l'état observé, et l'exécuteur revalide l'actualité du DOM, l'occlusion des contrôles et attend des états utiles de façon atomique. La démo a effectué une recherche Google Flights Zurich→Londres en environ 7,1 secondes avec vérification indépendante des résultats, et les mesures montrent une réduction notable des appels protocole du navigateur par rapport à la version précédente. Le projet est disponible en open source avec instructions de configuration, scripts de test et composants (agent.py, snapshot.js, browser.py, model.py, questions.py), tandis que l'actuelle version MVP laisse de côté les shadow roots, frames, canvas, uploads et certains widgets complexes.

Reverse-engineered Jev-like model

Ce projet propose un modèle léger qui, à partir d'un contexte et d'une liste d'options textuelles variables, calcule en une seule passe une probabilité pour chaque option comme le fait le modèle commercial Jev de TypeSafe, et fournit une implémentation indépendante avec la même forme d'entrée et de sortie. L'architecture transforme chaque option en un vecteur de requête qui pondère par attention les jetons du contexte pour produire un vecteur contextuel par option, puis calcule un score par produit scalaire suivi d'un softmax sur les options. Le dépôt contient des exemples visuels pour Doom et pour des parties d'échecs, fournit des checkpoints et indique des métriques d'exemple tout en précisant que les fenêtres sélectionnées servent de démonstration et ne constituent pas des affirmations de compétence généralisée. Les données s'organisent en JSONL avec les champs context, options et label, et le guide rapide montre comment créer des données synthétiques, entraîner, évaluer et prédire localement ainsi que l'option d'utiliser un encodeur Hugging Face gelé. Le projet est décrit comme un starter de recherche avec des limites (faiblesses du codeur d'octets, nécessité d'avoir la liste complète d'options avant prédiction, coût mémoire du chemin préentraîné) et le code est publié sous licence MIT.

Anecdotally, programmers dislike "reduce"

L'auteur constate que map et filter sont généralement appréciés et rarement critiqués lors des revues de code. En revanche, reduce suscite souvent des remarques portant sur la difficulté de lecture et apparaît moins fréquemment dans les contributions. Il propose plusieurs explications : reduce serait moins familier, plus difficile à lire, potentiellement moins performant et moins élégant dans des langages comme JavaScript, Python et Swift. En Clojure il n'a pas reçu ces critiques, mais il admet souvent remplacer reduce par d'autres constructions pour faciliter l'acceptation des patchs. Il note aussi une baisse récente de la rigueur des revues et invite les lecteurs à partager leurs observations et préférences concernant reduce.

Cloudflare/Security-Audit-Skill

Il s'agit d'une compétence pour agents de code qui orchestre des agents isolés afin d'auditer la sécurité d'un dépôt via une méthodologie structurée en six phases. Les six phases couvrent la reconnaissance, le hunting piloté par la couverture, la validation des candidats, la production d'un format structuré, la vérification indépendante des enregistrements et la production de rapports neutres vis-à-vis de la cible. Le dépôt fournit des guides détaillés pour chaque phase, des classes d'attaque spécialisées, des validateurs zéro-dépendance pour findings.json et coverage-ledger.json, ainsi que des tests et scripts associés. L'installation se fait via la Skills CLI et l'usage active automatiquement la compétence pour réaliser des audits complets ou des travaux ciblés, avec des sorties versionnées dans des répertoires dédiés lorsque demandé. Les principes de conception imposent une validation adversariale, la confirmation uniquement sur preuve source complète, l'exécution dans un sandbox strict et une évaluation de gravité fondée sur impact et probabilité.

Japan's book scene is moving from bookstores to libraries

Beaucoup d'amateurs de livres visitent les librairies locales en voyage et l'auteur le fait aussi, collectionnant même des ouvrages dans des langues qu'il ne lit pas. Au Japon, les bibliothèques évoluent pour devenir des centres communautaires, un mouvement illustré par l'exemple de Tsutaya à Takeo qui a intégré un café et une librairie dans une bibliothèque publique. L'expérience de Takeo a attiré des visiteurs de loin, encouragé la fréquentation autour des livres et montré que de telles initiatives peuvent contribuer à transformer une ville. Des bibliothèques modestes comme celles de Nankan et Yahiko misent sur une sélection réfléchie et des espaces accueillants pour favoriser les rencontres fortuites avec des livres plutôt que sur une architecture spectaculaire. L'auteur souhaite orienter les voyageurs vers ces lieux authentiques et méconnus pour découvrir la culture locale au-delà des sites touristiques habituels.

Part-human part-mouse brain developed in science breakthrough

Des chercheurs américains ont implanté des organoïdes cérébraux humains dans le cerveau de souris génétiquement modifiées pour presque ne pas développer de cortex. Les cellules humaines ont survécu, se sont organisées et ont formé des connexions avec le reste du cerveau et la moelle épinière de la souris. L'objectif est de créer un modèle permettant d'étudier des troubles cérébraux humains difficiles à reproduire chez le rongeur, comme l'épilepsie, l'autisme et la paralysie cérébrale, afin d'améliorer le développement de traitements. Après quelques mois, les souris implantées n'ont montré ni amélioration cognitive notable ni comportement sensiblement différent lors de tests de base, selon les chercheurs. La méthode suscite des questions éthiques sur la modification de la cognition animale et son utilisation restera limitée à quelques laboratoires sous strictes normes de bien‑être.

PCB is brought to you by Fable 5

L'auteur voulait concevoir un PCB simple depuis des années et, après une première déception avec Claude Opus 4.8, il a décidé de faire entièrement confiance à Fable 5 en imposant deux règles: aucune modification manuelle et résolution de tous les problèmes avant fabrication. Fable 5 a généré de manière autonome une carte de développement de 31,8 × 37,32 mm sur quatre couches basée sur un MCU RP2350A, capable de piloter un écran E-ink 1,54" et intégrant une mémoire flash QSPI de 8 Mo. Le projet comportait des erreurs importantes, notamment 65 erreurs DRC, des composants choisis avec des boîtiers incompatibles pour la mémoire SPI et un routage inachevé où Freerouting a laissé de nombreux nets non connectés. L'auteur a ensuite utilisé KiCadRoutingTools pour terminer le routage, commandé cinq cartes assemblées chez JLCPCB, et constaté que les PCB fonctionnaient bien avec des applications démonstratives affichant des images persistantes sur l'E-ink. Il se sent partagé entre l'émerveillement face à la simplicité offerte par ces outils et le manque d'accomplissement personnel, compte continuer à expérimenter rapidement pour ses projets personnels, espère une intégration fabricant-chat plus poussée et prépare un prochain projet basé sur un NVIDIA Jetson Orin Nano.

Reversing Factorio's RNG

L'auteur a décompilé et vérifié le générateur pseudo‑aléatoire de Factorio et a établi qu'il s'agit de taus88, composé de trois LFSR dont la sortie est déterministe et prévisible si on connaît l'état interne. Mathématiquement, les LFSR sont linéaires sur GF(2) et il est possible d'inverser leurs matrices de transition pour reconstituer l'état interne à partir d'observations — par exemple trois sorties consécutives ou suffisamment d'observations partielles — en résolvant un système linéaire. L'implémentation en jeu utilise des combinators et des recycleurs (notamment le recyclage de Repair Packs) pour collecter 88 observations de bits, précompute la pseudo‑inverse en Python et exécute les multiplications en GF(2) avec des circuits en jeu afin de reconstruire l'état et prédire les futurs appels RNG. Des adaptateurs exploitent ces prédictions pour afficher les qualités à venir, trier les assembleurs ou automatiser la production de pièces légendaires en consommant les appels RNG indésirables via des recettes rapides, mais la technique demande beaucoup d'appels et une gestion complexe de la productivité. La méthode reste toutefois fragile car le jeu contient plusieurs générateurs RNG globaux et d'autres mécaniques peuvent désynchroniser l'état à tout moment, et la mise à jour 2.1 a modifié l'utilisation des appels RNG (partage et appel systématique), ce qui réduit la praticabilité sans isolation stricte des sources de hasard, bien que l'auteur fournisse code et blueprints pour expérimentation.

Performance Improvements in .NET 11

L'article présente un inventaire détaillé des optimisations de performance introduites dans la version 11 de .NET, montrant des gains cumulés via des centaines d'améliorations. Les améliorations touchent en profondeur le compilateur JIT (désabstraction, inlining, analyse d'échappement, optimisation guidée par profil) et déplacent une partie du lowering async/await dans le runtime pour réduire les allocations et les coûts des chaînes d'appels asynchrones. L'élimination accrue des vérifications de bornes, une analyse de plages plus fine, la propagation d'assertions et une vectorisation/intrinsification étendues permettent de supprimer des vérifications inutiles et d'exploiter mieux les instructions SIMD et les capacités matérielles modernes. De nombreuses bibliothèques et services du framework ont été optimisés (collections, chaînes et encodages, I/O, réseau, JSON, regex, chiffrement, BigInteger, numerics), réduisant allocations, copies et latences au profit du débit et du démarrage. Le constat général est que de nombreuses améliorations modestes et composables aboutissent à un runtime sensiblement plus rapide et plus léger, et l'article fournit de nombreux micro-benchmarks et recommandations pour mesurer et tirer parti de ces gains.