HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6286 articles Page 147/629 Sans filtre

06:02

Using HTTP/2 Cleartext for a server in Go 1.24

L'application utilise des flux SSE longue durée (15 minutes) et rencontre un problème connu sur Google Cloud Run où les déconnexions clients ne sont pas propagées lorsque le backend communique en HTTP/1.1. Pour résoudre cela, l'auteur a exploré l'utilisation de HTTP/2 cleartext (h2c), que Cloud Run peut acheminer depuis son frontend TLS vers le service backend. Avant Go 1.24 il fallait utiliser golang.org/x/net/http2 et h2c.NewHandler avec une configuration relativement complexe, tandis qu'à partir de Go 1.24 on peut activer directement SetUnencryptedHTTP2 et SetHTTP1 sur http.Server. La configuration locale se vérifie avec curl --http2-prior-knowledge et la mise en production nécessite de déclarer le port h2c et d'ajuster timeout et concurrence dans la ressource Cloud Run (par exemple timeout = "900s" et max_instance_request_concurrency = 200). Aucun changement particulier du load balancer n'a été nécessaire car le frontend HTTPS négocie correctement HTTP/2 et les timeouts par défaut des backends serverless sont compatibles avec des connexions SSE longues.

06:02

Build Adafruit projects right from Firefox

Firefox permet de se connecter directement aux cartes matérielles compatibles via le navigateur. La fonctionnalité Web Serial autorise la communication avec des périphériques depuis des outils web pris en charge. L'usage nécessite peu de configuration : il suffit d'ouvrir Firefox, brancher l'appareil et commencer à coder sans application de bureau séparée. Firefox est un navigateur open source développé par Mozilla, une organisation axée sur le web indépendant et les utilisateurs. Cette approche facilite le passage de l'idée à un projet matériel connecté sans outils supplémentaires compliqués.

06:02

Scientists solve 200-year-old puzzle of how tobacco plants make nicotine

Des chercheurs ont élucidé le processus par lequel les plantes de tabac synthétisent la nicotine, résolvant une énigme vieille d'environ deux siècles. L'étude publiée dans Nature Communications identifie les gènes et les enzymes manquants et a permis de recréer la biosynthèse en laboratoire et chez des plantes vivantes. Les auteurs montrent que la nicotine se forme d'abord liée à une molécule de glucose qui fournit l'énergie nécessaire avant d'être détachée à l'étape finale, ce qui explique pourquoi cette étape avait été jusque-là invisible. Deux enzymes spécifiques, nommées NaGR et NicGS, et les structures précises de ces protéines ont été déterminées, décrivant comment deux moitiés de la molécule proviennent de voies métaboliques différentes. Cette découverte ouvre la possibilité d'éliminer ou de détourner la production de nicotine dans les plantes utilisées pour la production moléculaire afin d'éviter la contamination des vaccins et médicaments et de concevoir de nouveaux composés pharmaceutiques.

06:02

Memory has grown to nearly two-thirds of AI chip component costs

La part de la mémoire HBM dans les dépenses composants des puces IA est passée de 52 % au T1 2024 à 63 % au T4 2025, selon des estimations pondérées par volume de production pour Nvidia, AMD, Google et Amazon. La part des dies logiques est restée stable autour de 13–14 %, tandis que l'emballage avancé est passée de 19 % à 15 % et les composants auxiliaires de 15 % à 9 %. En valeur absolue, les dépenses totales en composants pour ces puces ont augmenté d'environ 22 milliards de dollars en 2024 à 52 milliards en 2025, la dépense en HBM passant d'environ 12 milliards à 32 milliards et constituant l'essentiel de la hausse. La part de la HBM devrait encore augmenter en 2026 en raison d'une offre mémoire tendue et de prix en hausse, un effet déjà reflété dans les orientations d'investissement de Microsoft (incluant environ 25 milliards de dollars liés à la hausse des composants) et la hausse de 10 milliards de dollars de la fourchette de capex annoncée par Meta. Les estimations résultent du calcul des coûts par puce pour quatre catégories (mémoire HBM, dies logiques, emballage avancé et composants auxiliaires) multipliés par les volumes de production trimestriels pour obtenir les parts de dépenses de T1 2024 à T4 2025.

06:02

Constraint Decay: The Fragility of LLM Agents in Back End Code Generation

Les auteurs étudient la capacité des agents LLM à respecter des contraintes structurelles dans la génération de backends multi-fichiers. Ils ont conçu 100 tâches (80 de génération greenfield et 20 d'implémentation de fonctionnalités) couvrant huit frameworks web et un contrat d'API unifié, évaluées par des tests comportementaux end-to-end et des vérificateurs statiques. L'étude révèle un phénomène de « constraint decay » où la performance des agents chute fortement à mesure que les exigences structurelles s'accumulent, avec une perte moyenne de 30 points dans les taux d'assertions pour les configurations capables. L'analyse par framework montre des disparités marquées : les agents réussissent mieux dans des frameworks minimaux et explicites (par exemple Flask) et moins bien dans des environnements axés sur les conventions (par exemple FastAPI et Django). L'analyse des erreurs identifie des défauts au niveau de la couche de données, comme des compositions de requêtes incorrectes et des violations d'ORM à l'exécution, comme principales causes des échecs.

06:01

I spent 50 hours drawing a line graph

L'auteur décrit comment il a passé cinquante heures à dessiner à la main une visualisation de données simple qu'un logiciel pourrait réaliser en vingt minutes. Il raconte l'émerveillement du voisin qui imaginait des techniques informatiques avancées et sa propre fascination pour le dessin manuel plutôt que pour PowerBI, Python ou R. Il recommande plusieurs livres historiques et contemporains sur la visualisation et le dessin technique, dont des ouvrages de Tufte, Du Bois et Willard Brinton. Il détaille les outils et la méthode : préparation d'une grille, traçage des points, utilisation d'un pochoir circulaire pour contrôler l'épaisseur des lignes, encrage et effacement des traits de crayon, puis ajout de texte et signature. Il conclut en réfléchissant à la dimension artistique et méditative de l'exercice et se demande pourquoi il a choisi de consacrer autant de temps à quelque chose que le logiciel peut faire rapidement.

06:01

The Eternal Sloptember

L'auteur prédit que l'adoption des agents d'IA en développement logiciel constituera l'une des erreurs les plus coûteuses de l'histoire du domaine. Il affirme que ces agents sont des modèles statistiques sophistiqués qui imitent la distribution du code mais produisent des sorties souvent incorrectes de manière subtile et de plus en plus difficile à détecter. Après six mois d'expérimentations sur des projets concrets, il rapporte que les agents accélèrent l'amorçage et la création de prototypes mais échouent régulièrement à fournir la finition et la qualité attendues d'un ingénieur logiciel. Il met en garde que les grandes organisations, en raison de boucles de rétroaction plus lentes et de contrôles moins stricts, risquent d'augmenter la production de code médiocre lorsque les contributeurs moins performants s'appuient excessivement sur ces outils. S'alignant sur la position sceptique de chercheurs comme LeCun et Marcus, il conclut que des agents capables de programmer nécessiteront des modèles du monde plus riches et que la vraie question sera qui saura éviter les dommages liés à l'engouement pour l'IA.

06:01

C constructs that still don't work in C++

L'article met à jour une revue de constructions C incompatibles avec C++ en expliquant que les différences persistent mais que la frontière a bougé avec C++20 et C23. C++20 introduit des initialiseurs désignés limités aux agrégats et à l'ordre de déclaration des membres, ce qui n'implémente pas les formes complètes de C99 comme les désignateurs de tableau, imbriqués ou mixtes. C23 rend une déclaration de fonction sans liste de paramètres équivalente à void, imposant la correspondance des arguments et fermant une source d'appels non protégés présente en C17. Les règles sur malloc et la durée de vie des objets ont été partiellement améliorées pour certains types à durée de vie implicite, mais les constructeurs, l'initialisation, la sécurité des exceptions et la gestion de la propriété restent des responsabilités explicites en C++. L'article recommande de toujours préciser le mode langage (par exemple C17, C23, C++17, C++20), de ne pas confondre compilation et comportement défini, de traiter malloc comme simple stockage, de confiner const_cast et les extensions de restrict aux passerelles testées, et de réserver les flexible array members aux limites ABI.

06:01

White Rabbit – sub-nanosecond synchronization for large distributed systems

La technologie fournit une synchronisation sub-nanoseconde avec une précision de l'ordre des picosecondes pour de grands systèmes distribués. Elle permet une délivrance de données déterministe et fiable tout en autorisant l'étiquetage temporel précis des mesures et le déclenchement d'acquisitions via le même réseau. Le système prend en charge des milliers de nœuds sur des distances typiques d'environ 10 km et utilise un transport Ethernet gigabit fiable. Son matériel, microcode et logiciel sont entièrement ouverts et disponibles auprès de plusieurs fabricants commerciaux. CERN publie régulièrement des offres d'emploi pour des développeurs FPGA et des postes de recherche, notamment pour faire évoluer une carte eRTM dont le jitter, intégré entre 100 Hz et 20 MHz, est inférieur à 100 femtosecondes.

06:00

A fundamental principle of aeronautical engineering has been overturned

La traînée aérodynamique est un frein majeur aux grandes vitesses et dépend surtout de l'état de la couche limite, laminaire ou turbulente, la clé étant de retarder la transition vers la turbulence. Une équipe de l'université Tohoku a montré que l'application d'une micro-irrégularité distribuée (DMR) sur une surface peut réduire la traînée aérodynamique jusqu'à 43,6 % en retardant la transition, en utilisant des motifs convexes de billes de verre (38–53 µm) ou concaves obtenues par sablage dont l'épaisseur ne représente qu'environ 1 % de la couche limite. Les mesures précises ont été rendues possibles grâce au système de balance magnétique de 1 m qui lévite le modèle sans supports, et les essais en soufflerie ont couvert un grand intervalle de nombres de Reynolds (0,35 × 10⁶ à 3,6 × 10⁶), montrant un seuil critique passant d'environ 1,9 × 10⁶ à 2,2 × 10⁶ et une traînée inférieure pour la surface DMR jusqu'au Reynolds maximal mesuré. Des simulations par grand tourbillon (LES) et des visualisations de l'écoulement ont établi que la majeure partie de la réduction de traînée provient d'une diminution de la résistance de frottement de paroi liée au maintien du régime laminaire, et non d'une suppression de la séparation de l'écoulement. Comme la DMR est passive, omnidirectionnelle et peu coûteuse à mettre en œuvre, elle présente des avantages par rapport aux procédés de type « peau de requin » et pourrait permettre des économies de carburant et de CO₂, les chercheurs prévoyant d'optimiser la forme et la densité des micro-irrégularités et d'étendre la plage de vitesses applicables.