HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3702 articles Page 169/371 Sans filtre

07:02

90% of Claude-linked output going to GitHub repos w <2 stars

La compilation contient de nombreuses corrections de bugs et améliorations fonctionnelles réparties sur plusieurs projets, notamment des corrections de génération, d'i18n et de workflow pour éviter les duplications et les courses critiques. Plusieurs projets reçoivent de nouvelles fonctionnalités d'infrastructure et d'intégration, telles que l'ajout d'un buffer Redis pour WhatsApp, l'intégration NHTSA pour le décodage VIN, une configuration Twilio pour la gestion téléphonique et des endpoints API supplémentaires. Des changements d'algorithmes et de configuration visent à améliorer la fiabilité et le rappel des protocoles en production, notamment l'ajout de seuils adaptatifs, de chunks de bridge denses pour les protocoles défaillants et la prévention du cache CDN pour les résultats vides. La bibliothèque scientifique a été enrichie avec des algorithmes et optimisations (DBSCAN, mise en cache FFT, interpolations RBF/Akima, optimiseur BFGS) tandis que des fonctionnalités produit et interface ont été ajoutées comme des statistiques de projet avec graphiques, un mega menu de navigation et une page de politique de confidentialité. Des travaux d'architecture et de plateforme incluent la mise en place d'un scaffold Mission Control complet, l'ajout d'agents de modération et d'options de mutation pour les tests, ainsi que des ajustements Docker et CI pour réduire la taille des images et simplifier les déploiements.

07:01

My DIY FPGA board can run Quake II

L'auteur a conçu une nouvelle carte avec un FPGA Efinix Ti60F256 et une puce DDR3 1 Go IM8G16D3FFBG en boîtier BGA, acceptant le défi du soudage BGA pour obtenir un design plus avancé. La carte à six couches a nécessité le respect serré du matching des longueurs de traces, des compromis sur le placement des condensateurs de découplage et l'ajout de composants tels qu'un TFP410, un limiteur de courant USB, une sélection 3,3V/1,8V pour la carte SD, une horloge temps réel, un module ESP32 et un port USB‑C secondaire. L'assemblage s'est fait avec pochoir, plaque chauffante et pistolet à air chaud après des essais sur circuits de test, et la première unité a fonctionné malgré un défaut de brochage sur l'ESP32 qui a retardé la fonctionnalité Wi‑Fi. Le FPGA héberge un SoC défini en HDL en s'appuyant sur des IP comme VexRiscv et SpinalHDL, plusieurs contrôleurs tiers et le contrôleur DDR3 propriétaire d'Efinix, l'auteur ayant progressivement préféré SpinalHDL malgré une courbe d'apprentissage raide. Le design occupe environ 89% des ressources logiques et 95% des blocs mémoire du FPGA, fournit un cœur RISC‑V à 207 MHz avec 1 Go de RAM et des performances mesurées (511 Dhrystone DMIPS, CoreMark 783, lecture SD 45 MB/s, DMA memset 1 130 MB/s), la création d'un GPU ayant été limitée par les ressources disponibles.

07:01

Two studies in compiler optimisations

Cet article examine le fonctionnement de plusieurs passes d'optimisation LLVM à travers deux études de cas pour montrer comment de petites modifications de code peuvent produire des effets de performance inattendus. Dans le premier cas (incrément modulo) l'auteur montre comment remplacer une division coûteuse par un cmov en renseignant le compilateur via [[assume]] ou assert, et explique que la transformation est réalisée par InstCombine et ses analyses (simplifyICmpInst, motifs sur urem) avec des subtilités liées aux phi et aux invariants de boucle. Le second cas (conversion d'endianness) montre que le repli de plusieurs chargements d'octets en un seul load ou en load+bswap est effectué plus tard par la phase d'instruction selection (DAGCombiner) tandis qu'AggressiveInstCombine peut le faire plus tôt quand le code est instancié ou déroulé, et que la profondeur de récursion et l'ordre des passes limitent parfois les simplifications. L'article illustre aussi des écueils pratiques, comme la prévention par le back-end des chargements dupliqués, les différences entre optimisation pour vitesse et pour taille (-O vs -Os), et la nécessité parfois d'utiliser des pragmas ou une indirection pour obtenir le code optimal. La conclusion recommande d'aider le compilateur avec des templates, des contraintes explicites et des idiomes usuels, et d'apprendre l'ordre des passes et les outils (Compiler Explorer, opt, llc) pour produire des binaires plus performants et prévisibles.

07:00

Earthquake scientists reveal how overplowing weakens soil at experimental farm

Des chercheurs de l'université de Washington se sont rendus sur un terrain expérimental près de Harper Adams pour étudier l'impact du labour sur l'humidité du sol à l'aide de techniques d'agrosismologie. Ils ont posé des câbles à fibre optique juste sous la surface et utilisé le Distributed Acoustic Sensing (DAS) pour mesurer la vitesse sismique liée à la teneur en eau sur des parcelles en non-labour, labourées à 10 cm et à 25 cm avec différents niveaux de compactage. Les analyses montrent que le labour et le compactage détruisent des réseaux capillaires fins qui donnent au sol sa capacité d'éponge, entraînant l'accumulation d'eau en surface, la formation de croûtes, une érosion accrue et un risque d'inondation plus élevé. Cette méthode peu coûteuse et très sensible offre une résolution spatiale et temporelle supérieure aux outils précédents et pourrait aider les agriculteurs, alerter en temps réel sur les risques d'inondation, affiner les modèles climatiques et informer les cartes de risque sismique. L'étude, publiée le 19 mars dans Science, a été dirigée par Marine Denolle et Qibin Shi avec une équipe internationale et a reçu des financements de plusieurs fondations et organismes, notamment le Pan Family Fund, la Murdock Charitable Trust et la Packard Foundation.

07:00

ARC-AGI-3

Ce benchmark interactif met au défi des agents d'explorer des environnements nouveaux, d'acquérir des objectifs en cours d'exécution, de construire des modèles du monde adaptables et d'apprendre en continu. Obtenir un score de 100 % signifie que l'agent bat chaque jeu aussi efficacement que des humains, et l'évaluation porte sur l'apprentissage au fil du temps plutôt que sur des réponses finales. Il mesure l'intelligence via des environnements solvables par des humains, l'efficacité d'acquisition de compétences, la planification sur de longues horizons avec un retour d'information parcimonieux et l'adaptation expérience par expérience. Les principes de conception favorisent une prise en main humaine rapide, l'absence de connaissances préchargées ou d'instructions cachées, des objectifs clairs avec des retours significatifs et de la nouveauté pour prévenir le contournement par mémorisation brute. La suite inclut des parties rejouables et un outil développeur pour intégrer des agents, une interface pour visualiser et évaluer les décisions, et une documentation complète pour tester et itérer des agents.

07:00

Running Tesla Model 3's computer on my desk using parts from crashed cars

L'auteur a participé au programme de bug bounty de Tesla et a cherché à faire fonctionner sur son bureau un ordinateur de voiture Model 3 et son écran tactile pour exécuter le système d'exploitation du véhicule. Pour cela, il a acheté un MCU empilé avec l'ordinateur autopilote et a dû se procurer une alimentation 12V réglable, un module d'écran et le câble d'affichage, optant pour une alimentation 10A après estimer la consommation. La documentation publique Tesla (Electrical Reference) a permis d'identifier le connecteur Rosenberger 99K10D-1D5A5-D et le brochage, mais le câble isolé est introuvable pour l'achat, une tentative de remplacement par un câble LVDS de BMW a échoué et causé un court-circuit qui a endommagé un contrôleur d'alimentation, réparé ensuite en remplaçant la puce. Faute d'autre option, l'auteur a acheté un faisceau de câblage complet (référence 1067960-XX-E) qui contenait le câble voulu; une fois connecté le MCU a démarré et l'écran tactile s'est allumé. Le système exposait des services réseau accessibles (SSH nécessitant des clés signées et une interface ODIN sur le port 8080) et permet désormais d'explorer l'interface utilisateur, les bus CAN et l'extraction éventuelle du firmware.

07:06

curl > /dev/sda: How I made a Linux distro that runs wget | dd

L'article montre qu'on peut remplacer une installation Linux en téléchargeant une image disque directement sur le périphérique bloc (par exemple curl | dd ou curl > /dev/sda), ce qui fonctionne souvent même sur machines EFI. L'auteur explique qu'il a commencé par une astuce pratique pour éviter des frais de stockage et comme démonstration provocatrice, puis a approfondi le sujet jusqu'à une série en plusieurs parties. Sont décrites de nombreuses variantes opérationnelles, notamment l'usage de dd, gunzip, wget et de transferts via SSH pour écrire depuis le réseau sans fichier intermédiaire. Pour fabriquer une image amorçable il propose d'installer l'OS dans une VM (avec automatisation possible via NixOS), mais avertit que tenter d'écrire sur le disque système monté peut provoquer un plantage partiel. La solution pratique consiste à démarrer sur une image de secours ou à charger les utilitaires en RAM pour démonter le disque et réécrire l'OS en place, et l'article renvoie à la suite de la série pour plus de détails.