HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

2893 articles Page 22/290 Sans filtre

06:03

John Deere to pay $99M in right-to-repair settlement

Les agriculteurs ont obtenu un accord historique avec John Deere, qui versera 99 millions de dollars dans un fonds pour les exploitants ayant payé des réparations via des concessionnaires autorisés depuis janvier 2018. Selon les documents judiciaires, les plaignants récupéreront entre 26 % et 53 % des dommages liés aux surfacturations, bien au-delà des taux habituels. Deere s'engage à fournir pendant dix ans les outils numériques nécessaires à la maintenance, au diagnostic et à la réparation de ses machines, une avancée formelle après des années de bidouillage logiciel par les agriculteurs. Les difficultés de service avaient fait grimper le prix des matériels d'occasion, certains vieux tracteurs doublant de valeur car ils étaient plus faciles à réparer et réduisaient les temps d'arrêt. L'accord doit encore être approuvé par un juge et ne met pas fin à une autre action en justice de la FTC, tandis que l'issue de l'affaire pourrait établir un précédent important pour d'autres secteurs.

06:03

Understanding Traceroute

L'article explique le principe de traceroute : envoyer des paquets UDP avec un TTL croissant pour provoquer des messages ICMP « Time Exceeded » renvoyés par chaque routeur. L'auteur réécrit traceroute en Rust en envoyant des UDP vers le port 33434 et en capturant les réponses ICMP sur une socket brute pour identifier les adresses et mesurer les temps de trajet. Le code distingue les types ICMP pour savoir quand on atteint la cible, mesure le RTT et envoie trois sondes par TTL afin d'observer la variance, améliorer la fiabilité et détecter le load balancing. L'implémentation nécessite des privilèges root à cause des sockets RAW, alors que les utilitaires système utilisent souvent le setuid ou des sockets ICMP non bruts selon la plateforme. L'article souligne aussi les limites de l'outil, notamment l'asymétrie des chemins, les tunnels MPLS, le filtrage ou la limitation d'ICMP et le fait que des étoiles indiquent l'absence de réponse plutôt qu'une coupure.

06:03

I imported the full Linux kernel git history into pgit

L'auteur a importé l'historique complet du noyau Linux dans pgit/PostgreSQL avec pg‑xpatch, couvrant 1 428 882 commits, 24 384 844 versions de fichiers et 20 ans de développement, et l'import a pris environ 2 heures sur un serveur dédié. La base compressée occupe environ 2,7 Go de données effectives (xpatch a comprimé 123 Go de texte en ~1,1 Go), tandis que git gc --aggressive produit une packfile plus petite (≈1,95 Go), mais pgit offre en échange un historique entièrement interrogeable en SQL. Le travail a été réalisé sur un serveur Hetzner équipé d'un AMD EPYC 7401P (24 cœurs/48 threads), 512 Go de RAM, deux SSD en RAID 0 et un cache xpatch de 350 Go, avec des réglages PostgreSQL et système optimisés pour parallélisme et débit. Les analyses SQL ont montré 38 506 auteurs mais seulement 1 540 commiteurs (flux de fusion concentrés : David S. Miller, Greg Kroah‑Hartman et Linus Torvalds fusionnent ~22,5 % des commits), 90 % des commits touchent cinq fichiers ou moins, et un fort couplage de fichiers apparaît dans des sous‑systèmes comme i915 et btrfs. Les requêtes SQL interactives ont permis d'identifier d'autres faits saillants — 665 corrections pointant vers l'import initial de Linus, seulement sept jurons dans les messages de commit, trois triples revert historiques — et la plupart des analyses se sont exécutées en secondes à dizaines de secondes sans vues matérialisées.

06:03

Show HN: A (marginally) useful x86-64 ELF executable in 301 bytes

Il s'agit d'un exécutable ELF de 298 octets fournissant l'état de la batterie pour les ordinateurs portables Linux x86-64. Le programme affiche l'énergie restante en Wh ou, si seuls des fichiers charge_* sont présents, en Ah, suivi du pourcentage. L'installation consiste à décoder une chaîne base64 puis à décompresser avec xz pour obtenir le binaire exécutable. Le logiciel ne prend en charge que x86-64 sous Linux, utilise le chemin /sys/class/power_supply/BAT0 et ignore les batteries supplémentaires. Des cas non gérés peuvent provoquer une boucle infinie si ni energy_full ni charge_full n'existent, et le comportement varie selon la présence d'une alimentation lors de la sortie de veille.

06:02

Expanding Swift's IDE Support

L'extension Swift est désormais disponible sur le registre Open VSX de la Fondation Eclipse, permettant son utilisation par des éditeurs compatibles avec les extensions VS Code. Elle offre un support de premier ordre pour les projets Swift Package Manager et la prise en charge multiplateforme sur macOS, Linux et Windows. Les fonctionnalités incluent l'auto-complétion, le refactoring, le débogage complet, un explorateur de tests et la prise en charge de DocC. Des éditeurs et IDEs modernes tels que Cursor, VSCodium, AWS Kiro et Antigravity peuvent installer automatiquement l'extension, facilitant l'intégration dans des environnements agentiques. Pour l'utiliser, il suffit de rechercher « Swift » dans le panneau Extensions d'un éditeur compatible Open VSX et des guides dédiés, notamment pour Cursor, expliquent la configuration et l'intégration des workflows IA.

06:02

MegaTrain: Full Precision Training of 100B+ Parameter LLMs on a Single GPU

Les auteurs présentent MegaTrain, un système centré sur la mémoire qui permet d'entraîner des modèles de langage de plus de 100 milliards de paramètres en précision complète sur un seul GPU. Le système stocke paramètres et états d'optimiseur en mémoire hôte et considère le GPU comme un moteur de calcul transitoire, en diffusant couche par couche les poids entrants et les gradients sortants pour réduire l'état persistant sur le périphérique. Pour surmonter le goulot d'étranglement CPU–GPU, les auteurs introduisent un moteur d'exécution pipeline à double tampon qui superpose prélecture des paramètres, calcul et déchargement des gradients sur plusieurs flux CUDA, ainsi que des gabarits de couches sans état qui remplacent les graphes autograd persistants en liant dynamiquement les poids. Sur un GPU H200 avec 1,5 To de mémoire hôte, MegaTrain entraîne de manière fiable des modèles jusqu'à 120 milliards de paramètres et atteint 1,84× le débit d'entraînement de DeepSpeed ZeRO-3 avec offloading CPU pour des modèles de 14 milliards. La méthode permet également d'entraîner un modèle à 7 milliards de paramètres avec un contexte de 512 000 tokens sur un seul GH200, réduisant la métadonnée persistante et offrant une plus grande flexibilité d'ordonnancement.

06:02

Git commands I run before reading any code

Avant d'ouvrir le code, l'autrice exécute cinq commandes git pour obtenir un diagnostic rapide de l'historique des commits et repérer qui a travaillé, où les problèmes se concentrent et si l'équipe déploie avec confiance. Une commande liste les fichiers les plus modifiés sur l'année pour repérer les hotspots de churn, qui peuvent indiquer du code difficile à maintenir quand personne ne veut s'en occuper. Un shortlog des contributeurs permet d'évaluer le bus factor et l'activité récente en signalant aussi que les workflows de squash-merge peuvent masquer les véritables auteurs. La recherche de commits contenant des mots-clés liés aux bugs, croisée avec les hotspots de churn, identifie les fichiers à risque élevé, tandis que l'analyse mensuelle du nombre de commits montre l'évolution de la vélocité du projet. La fréquence de reverts et de hotfixes révèle si l'équipe est en mode gestion de crise et ces cinq commandes, rapides à lancer, aident à prioriser les fichiers à lire en premier avant d'explorer le code.

06:02

ML promises to be profoundly weird

L'auteur décrit les systèmes dits « IA » comme des modèles d'apprentissage automatique qui prédisent des suites probables de tokens (texte, image, audio) et distingue l'entraînement coûteux de l'inférence peu onéreuse. Ces modèles produisent souvent des confabulations ou des hallucinations plausibles parce qu'ils complètent statistiquement des entrées sans compréhension ni métacognition. Ils montrent des performances impressionnantes dans certains domaines pratiques (génération de code, visualisation, prédiction de structures protéiques) tout en échouant de manière absurde sur des tâches simples, formant un fronton de compétences dentelé et imprévisible. La recherche ignore encore pourquoi les transformeurs fonctionnent si bien et l'amélioration future par augmentation de paramètres ou d'énergie de calcul reste incertaine et sujette à rendements décroissants. Même sans percées supplémentaires, le déploiement à grande échelle de ces modèles pose des risques pratiques et sociaux importants (désinformation, erreurs coûteuses, changements du travail et de la culture) qui méritent attention et régulation.

06:01

Map Gesture Controls - Control maps with your hands

Cette solution propose des commandes gestuelles par la main pour les cartes OpenLayers, basées sur MediaPipe et sans backend. L'exécution est entièrement locale dans le navigateur via MediaPipe WASM, sans serveur ni WebSocket et sans envoi de données hors de l'appareil. L'intégration s'effectue comme un contrôleur plug-and-play pour OpenLayers, permettant de panner avec la main gauche, zoomer avec la main droite et faire pivoter avec les deux mains. L'overlay de la webcam est configurable en position, taille et opacité, et des réglages permettent d'ajuster la sensibilité, le lissage et les zones mortes des gestes. L'API est écrite en TypeScript et exporte des types et configurations typés tels que GestureMapControllerConfig, WebcamConfig et TuningConfig.