HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6954 articles Page 363/696 Sans filtre

06:03

Over-editing refers to a model modifying code beyond what is necessary

Le phénomène d'Over-Editing désigne la tendance des modèles à réécrire davantage de code que nécessaire pour corriger un bug, ce qui génère des diffs volumineux qui compliquent la revue et la maintenance malgré une correction fonctionnelle. Pour le quantifier, l'auteur a généré 400 exemples corrompus à partir de BigCodeBench et a utilisé une distance de Levenshtein au niveau des tokens ainsi que l'augmentation de la « cognitive complexity » pour mesurer l'écart entre le patch minimal et la sortie du modèle. Les résultats montrent que de nombreux modèles de pointe, en particulier leurs variantes de reasoning (par exemple GPT‑5.4), ont tendance à sur-éditer, tandis que des modèles comme Claude Opus 4.6 produisent des diffs beaucoup plus petits, et que l'ajout explicite d'une consigne de conservation du code initial réduit significativement la Levenshtein et parfois améliore la Pass@1. En entraînement, des méthodes comparées sur Qwen3 4B (SFT, rSFT, DPO, RL) ont révélé que la SFT sur-apprendait les corrections in-domain et échouait hors distribution en provoquant un oubli catastrophique, alors que l'entraînement par RL favorise une édition fidèle qui généralise et n'induit pas de dégradation des capacités générales, effet confirmé sur Qwen3 14B. Des expériences complémentaires montrent que LoRA à rang modéré peut approcher les gains de RL, que la conception de la récompense est critique pour éviter le reward hacking, et que l'Over-Editing est une faiblesse mesurable et corrigeable par prompting et entraînements ciblés.

06:02

Tempest vs. Tempest: The Making and Remaking of Atari's Iconic Video Game

Il s'agit d'un livre qui explore et analyse en profondeur le code et la conception des versions originales de 1981 et de 1994 de ces jeux. L'auteur explique de nombreux petits mécanismes du gameplay et détaille leur mise en œuvre en assembleur 6502 et Motorola 68K. Le format est léger et digeste, organisé en nombreux chapitres courts, chacun consacré à un élément précis du jeu. Le livre est disponible gratuitement au format PDF en deux versions (9 Mo et 27 Mo haute résolution) et l'on recommande l'affichage en double page pour consulter le code et les commentaires côte à côte. Le dépôt GitHub contient les sources et des informations sur la réalisation, et l'auteur propose également d'autres études détaillées sur des jeux connexes.

06:02

5x5 Pixel font for tiny screens

La police pixelisée de 5x5, dérivée de lcamtuf et inspirée par le ZX Spectrum, est conçue pour tenir dans un carré de 5 pixels et s'afficher proprement sur une grille 6x6. L'auteur affirme que 5x5 est la plus petite résolution sans compromis sur la lisibilité, alors que 4x4 ou moins empêchent de dessiner correctement certaines lettres et 3x3 reste illisible en pratique. L'utilisation d'une largeur constante (un caractère occupant 6 colonnes avec espacement) simplifie le calcul des longueurs de chaîne et évite les problèmes de débordement dans les mises en page compactes. Le jeu de glyphe complet tient dans environ 350 octets, ce qui le rend idéal pour des microcontrôleurs 8 bits à faible mémoire et pour des écrans OLED basse résolution. L'article explore aussi des variantes plus petites (3x5, 3x4, 3x3, 2x3, 2x2), en explicitant les compromis de lisibilité, et fournit des liens vers le code source, un programme de test et des fontes analogues.

06:02

A True Life Hack: What Physical 'Life Force' Turns Biology's Wheels?

Pour se déplacer dans l'eau visqueuse qui entoure les micro-organismes, l'évolution a abouti à un moteur flagellaire rotatif qui permet aux bactéries de nager vers des sources de nourriture. Ce moteur moléculaire, auto-assemblé et très économe, fait tourner une flagelle à plusieurs cents tours par seconde; la rotation antihoraire propulse la cellule en ligne droite et la rotation horaire provoque le tumbling aléatoire. Des études récentes en cryo‑EM (depuis 2020, avec des pièces finales apportées en 2026) ont montré que le système comporte un anneau cytoplasmique de 34 protéines et des stators au rapport 5:2 qui agissent comme petit tourniquet en frottant le bord de l'anneau. Le flux de protons à travers les stators fournit le couple en faisant tourner les pentagones par pas d'un dixième de tour, et la commutation est déclenchée lorsque la phosphorylation de CheY provoque une bascule conformationnelle de l'anneau C qui change le point de contact avec les stators et inverse la rotation. Cette machine repose sur la force proton-motrice proposée par Peter Mitchell, qui résulte du pompage de protons hors de la cellule et de leur retour entropique, et la conversion de cette énergie en mouvement illustre un principe fondamental de la bioénergétique.

06:01

Borrow-checking without type-checking

L'article présente un langage jouet dynamique qui combine allocations sur la pile, pointeurs intérieurs, propriété unique et un emprunt limité contrôlé dynamiquement. Trois modes d'accès aux références sont décrits : déplacement (^) qui consomme l'original, emprunt (!) qui prête temporairement la valeur, et partage (&) qui permet plusieurs accès en lecture seule. La vérification des emprunts est effectuée à l'exécution avec des compteurs de références stockés sur la pile, des rôles « lender » et « owner » pour chaque référence, et des états de compteur (moved/borrowed/shared) pour garantir la sécurité. Le système impose des restrictions (pas d'emprunts vers le tas, interdiction de retourner des références vers des variables locales non déplacées, règles sur mutations et durées de vie) mais permet des usages expressifs comme itérateurs externes et références dans les tuples. L'article discute aussi des détails d'implémentation, des messages d'erreur améliorés via une recherche dans la pile, des interactions avec threads et code statique, et des compromis ergonomiques et pistes d'évolution.

06:01

We found a stable Firefox identifier linking all your private Tor identities

Une vulnérabilité dans les navigateurs basés sur Firefox permet de dériver un identifiant stable et déterministe lié au processus en examinant l'ordre des entrées renvoyées par indexedDB.databases(). Cet identifiant process-scoped permet à des sites non reliés de se reconnaître mutuellement et de lier des activités cross-origin, et il peut persister en navigation privée ou dans Tor Browser jusqu'au redémarrage du processus. La cause est une table de hachage globale qui mappe les noms de bases de données à des UUID pour la durée du processus, puis l'itération non triée d'un nsTHashSet produit un ordre déterministe exposé par l'API. Le vecteur offre une forte capacité d'empreinte (les permutations possibles sont de l'ordre de N! et atteignent environ 44 bits d'entropie pour 16 noms), ce qui en fait un identifiant utilisable pour le suivi. La correction consiste à éliminer l'entropie interne exposée en rendant l'ordre canonique (par exemple par tri lexicographique) et Mozilla a publié le correctif dans Firefox 150 et ESR 140.10.0 après divulgation responsable.

06:01

How does Shazam work?

Les téléphones captent le son comme une onde numérique, puis le transforment avec la transformée de Fourier rapide en un spectrogramme temps-fréquence. L'algorithme ne conserve que les crêtes les plus marquantes du spectrogramme pour former une « carte de constellations » sparse et résistante au bruit. Des paires de pics proches en fréquence et en temps sont converties en empreintes compactes (hashes) qui caractérisent un enregistrement précis. La recherche utilise un index inversé : chaque hash pointe vers des enregistrements possibles et la concordance des décalages temporels entre les hashes confirme la piste. La reconnaissance peut se faire côté serveur pour une couverture très large ou localement avec des bases réduites et des modèles ML plus robustes, au prix de compromis sur la mise à jour et l'étendue des chansons.

06:00

Apple fixes bug that cops used to extract deleted chat messages from iPhones

Apple a publié une mise à jour logicielle pour iPhone et iPad corrigeant un bug qui permettait d'extraire des messages supprimés ou disparus parce que le contenu des notifications était mis en cache jusqu'à un mois. Dans un avis de sécurité, Apple a indiqué que des notifications marquées pour suppression pouvaient être conservées de manière inattendue sur l'appareil. Le problème a été mis en lumière après un reportage de 404 Media révélant que le FBI avait pu extraire des messages Signal supprimés via des outils forensiques en raison du stockage du contenu des notifications dans la base de données du téléphone. Signal a demandé à Apple de régler ce problème, et la société a étendu le correctif aux appareils exécutant iOS 18, tandis qu'Apple n'a pas immédiatement expliqué pourquoi les notifications étaient enregistrées. Des militants de la vie privée ont exprimé leur inquiétude car la fonctionnalité de messages éphémères est utilisée par des personnes à risque pour protéger leurs conversations en cas de saisie d'appareils.