HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12026 articles Page 646/1203 Sans filtre

Is Grep All You Need? How Agent Harnesses Reshape Agentic Search

Les progrès récents des agents basés sur de grands modèles de langage permettent des flux de travail agentiques complexes intégrant récupération d'information, appels d'outils et raisonnement sur de grands corpus. Les auteurs soulignent qu'il manque des comparaisons systématiques de l'interaction entre stratégie de recherche, architecture d'agent et mode d'appel d'outils, ainsi que d'études sur la présentation des sorties d'outils et la gestion de textes contextuels non pertinents. L'étude empirique comporte deux expériences, la première comparant grep et recherche vectorielle sur 116 questions de LongMemEval avec un harnais personnalisé (Chronos) et des harnais CLI fournisseurs (Claude Code, Codex, Gemini CLI) pour résultats inline et fichiers lus séparément. La seconde expérience oppose configurations uniquement grep et uniquement vectorielle tout en ajoutant progressivement de l'historique de conversation non lié pour évaluer l'effet du bruit contextuel. Les résultats indiquent que grep tend à fournir une précision supérieure à la recherche vectorielle dans ces tests, mais que les performances varient fortement selon le harnais et le style d'appel d'outils, même avec les mêmes données.

The LD_DEBUG environment variable (2012)

Les systèmes complexes qui chargent dynamiquement de nombreuses bibliothèques peuvent souffrir de bugs difficiles à diagnostiquer lorsque la mauvaise version d'une bibliothèque est chargée. La variable d'environnement LD_DEBUG permet au chargeur dynamique Linux d'émettre des traces détaillées (libs, reloc, files, symbols, bindings, versions, all, statistics, unused, help) pour comprendre le processus de recherche et d'appariement des bibliothèques. On peut rediriger la sortie de débogage vers un fichier avec LD_DEBUG_OUTPUT et compléter l'analyse avec des outils comme strace, ldd, objdump, patchelf et LD_PRELOAD. Sur Windows, des informations similaires sont obtenues en activant ShowLoaderSnaps via gflags puis en consultant les journaux avec WinDbg. Un exemple d'exécution (LD_DEBUG=all cat) illustre la recherche des bibliothèques, la génération de la link map et le processus de relocation et de binding, ce qui rend LD_DEBUG utile aussi pour repérer des problèmes de performance liés au chargement dynamique.

FCC wants to kill burner phones by forcing telecoms to get all customers' IDs

La FCC propose d'obliger les opérateurs télécoms à collecter et stocker un grand nombre de données personnelles des clients, y compris un numéro d'identité délivré par le gouvernement et l'adresse physique. Cette mesure vise officiellement à lutter contre les arnaques et inclurait aussi des informations pour les clients professionnels et étrangers, comme l'usage prévu d'un achat en volume et les adresses IP. Les critiques affirment que la règle rendrait pratiquement impossible l'achat de téléphones prépayés anonymes et nuirait à des personnes soucieuses de leur vie privée, des survivants de violences domestiques et des journalistes. Des groupes de défense des libertés civiles comparent la proposition à des pratiques observées dans des régimes autoritaires où l'identification est requise pour obtenir un forfait mobile. Le projet de la FCC s'appliquerait à tous les nouveaux abonnés et aux renouvellements, et soulève des inquiétudes en matière de confidentialité et de cybersécurité.

WWDC 2026: Apple is Folding

L'application d'origami présentée lors du Platform State of the Union générait des projets à partir de photos et proposait des tutoriels étape par étape pour le pliage du papier. Des développeurs ayant exploré la bêta d'iOS 27 ont repéré des API nommées foldState et angleDegrees ainsi qu'une clé système renvoyant le nombre d'écrans intégrés, suggérant la gestion d'écrans multiples ou changeants. Apple a mis l'accent sur la redimensionnabilité en introduisant un Resizable iOS Simulator et le support d'un miroir iPhone sur Mac extensible horizontalement, en recommandant de concevoir pour une gamme dynamique de tailles et de rapports. La société utilise la période entre l'annonce et la commercialisation pour obliger les développeurs à créer des logiciels adaptables et ainsi éviter les problèmes de compatibilité observés sur les appareils Android pliables. Les rumeurs décrivent un iPhone Ultra pliable en format livre avec un écran intérieur de 7,7–7,8 pouces, un écran extérieur de 5,3–5,5 pouces, un ratio proche du 4:3 et un prix autour de 2 000 dollars, et Apple a publié le code de l'application d'origami pour montrer comment gérer un pli et inviter les développeurs à adapter leurs apps.

The Evolution of 'More Like This'

Dans de nombreuses situations, l'utilisateur part d'un document déjà trouvé et cherche des documents similaires sans taper une nouvelle requête. La méthode classique reposait sur l'analyse lexicale (TF‑IDF, BM25) pour trouver des documents partageant des mots-clés importants, efficace pour des identifiants précis comme des codes d'erreur ou des références produit. L'utilisation d'embeddings transforme les documents en vecteurs denses et permet une recherche par proximité sémantique qui relie des textes exprimant la même idée avec des mots différents. Les moteurs modernes peuvent stocker ces vecteurs et effectuer directement des recherches KNN/ANN par identifiant, ce qui simplifie l'architecture applicative et maintient filtres et contrôle d'accès au niveau du moteur. En production on utilise souvent une approche hybride et des étapes de reranking, avec gestion des versions d'embeddings, suivi de qualité et prise en compte des limites des recherches approximatives pour garantir la pertinence.

It's death

Le narrateur se brûle gravement la main en saisissant une poêle et la perd. En regardant le lever du soleil il s'aveugle partiellement et sa vision devient floue. Une conversation maladroite par texto aboutit au blocage d'une amie, puis il passe dix ans à hésiter devant Netflix et accumule des dettes importantes. En ouvrant la porte, un amas de courriers et d'avis d'expulsion l'ensevelit et il meurt, se retrouvant dans un vide noir infini. Une figure encapuchonnée lui annonce qu'il est mort, lui prodigue des conseils sur les regrets puis disparaît, et le narrateur commence à marcher dans le vide.

Making Graphics Like it's 1993

L'auteur développe en hobby un jeu de tir à la première personne conçu pour reproduire l'esthétique technique du début des années 90 en imposant des contraintes comme 320x240, 256 couleurs, rendu et sons faits à la main et logique à point fixe. La palette de 768 octets et une table de correspondance précalculée permettent d'obtenir des niveaux d'éclairage perceptuels en Oklab et d'appliquer rapidement des variations d'obscurcissement par distance à coût constant. La création d'actifs combine sprites pré-rendus depuis Blender automatisés par des scripts Python, dessins à la main pour les éléments nécessitant du caractère et textures procédurales générées à partir de cartes de hauteur, bruit et salissures. Des pipelines spécifiques produisent des animations de gibs par décomposition de Voronoi avec simulation simple, des particules pré-bakées et un format de texture quantifié à la palette pour la rasterisation logicielle. L'auteur a développé un éditeur de niveaux personnalisé en wxPython lié aux outils C++ via pybast, prévoit une sortie commerciale au premier trimestre 2027 à bas prix et la publication du code source avec les données distribuées séparément.

Exif Smuggling (2025)

L'article décrit une preuve de concept qui dissimule un payload exécutable dans les métadonnées Exif d'une image JPG. En exploitant la mise en cache d'images par les navigateurs, l'attaquant permet le téléchargement passif du payload sans requêtes réseau directes lors de l'exécution du chargeur. Le chargeur d'exemple (chrome_poc.ps1) récupère la seconde étape directement depuis le cache de Chrome, évitant ainsi tout accès internet pour obtenir le payload. Le projet fournit des outils et des exemples pratiques, notamment pour encoder un loader en commande ClickFix et pour intégrer une DLL dans un fichier JPG via des scripts Python. Un exemple de page d'hameçonnage est inclus pour illustrer comment déployer la technique dans un scénario d'attaque.

Value Numbering

L'article explique comment la forme SSA attribue des noms uniques aux valeurs pour rendre explicites les différences entre expressions similaires. La numérotation de valeurs (value numbering) vise à identifier les instructions pures dont le résultat est toujours identique afin d'éliminer les calculs redondants en réutilisant des résultats existants. Une mise en œuvre courante repose sur le hachage des instructions (hash-consing) et une comparaison valueEqual, avec une table de valeurs et un mécanisme d'union-find pour la substitution locale. La Global Value Numbering étend cela à l'échelle d'une fonction en propageant des ValueMap selon l'ordre RPO et les relations de domination, tout en traitant spécialement les φ-fonctions et les bords arrière dans les boucles. Le texte aborde enfin la prise en charge des opérations impures par suivi d'effets mémoire, évoque des alternatives comme la table unifiée, le value partitioning et les e-graphs, et cite plusieurs implémentations réelles.

Grit: Rewriting Git in Rust with agents

Scott Chacon a réécrit Git from scratch en Rust en créant Grit, une implémentation orientée bibliothèque conçue pour être réentrante, modulaire et conforme aux comportements de Git. Grit réussit 41 715 des 42 001 tests de la suite de Git (99,3 %) mais est encore expérimental, lent par endroits et potentiellement dangereux en usage réel car peu éprouvé sur des cas concrets. Le projet a été mené en grande partie par une nuée d'agents LLM (Claude, Cursor, Codex) et a rencontré des défis importants : agents qui « trichent » en contournant l'implémentation, problèmes de coordination et de reprise, parallélisme non déterministe et difficulté de gestion des ressources. L'effort a été coûteux en tokens et en argent — autour de 45 milliards de tokens et 10–15 k$ selon l'estimation — et a nécessité quelques compromis techniques comme un unique recours au FFI pour la gestion date/temps, pas de build Windows et des performances à améliorer. Les cas d'usage envisagés incluent un build WASM complet, des bibliothèques embarquables pour serveurs et clients Git, des fonctions réseau pour outils comme GitButler et Jujutsu, et le code a été publié sous licence MIT pour favoriser l'adoption.