HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 582/1208 Sans filtre

Show HN: Nub – A Bun-like all-in-one toolkit for Node.js

Nub est un outil tout-en-un écrit en Rust qui fournit un runtime TypeScript-first et des utilitaires pour exécuter des fichiers, gérer les scripts et installer des dépendances. Ses composants natifs offrent de fortes améliorations de performance : nub run exécute les scripts environ 24× plus vite que pnpm run, nubx est ~19× plus rapide que npx pour lancer des bins locaux, et nub install dépasse pnpm et npm en temps d'installation. Il ajoute sans remplacer Node le support complet de TypeScript (y compris enums et namespaces), JSX/TSX, décorateurs, résolution d'import favorable à TypeScript, chargeurs pour formats courants et polyfills ou déverrouillages d'APIs expérimentales selon la version de Node. Nub infère et installe automatiquement la version de Node attendue par un projet en respectant NODE_EXECUTABLE, package.json#devEngines, .node-version, .nvmrc ou package.json#engines, et propose un mode watch qui suit le graphe de dépendances résolu et les fichiers invalidants. Son gestionnaire de paquets basé sur le moteur Aube reste compatible avec les configurations des gestionnaires existants, fournit un sous-outil nub pm pour installer des shims de gestionnaires, et applique des protections par défaut comme le blocage des postinstall, des vérifications osv.dev et des politiques de provenance.

Optimizing [sqlx:test] rebuild time

L'auteur travaillant sur le bot bors a constaté des temps de recompilation incrémentale élevés pour sa suite de tests #[sqlx::test], autour de 8–10 secondes par rebuild. L'analyse a montré que, outre la génération du débogage, le chargement persistant de la session incrémentale et l'édition de liens, le principal facteur était que le proc-macro sqlx intégrait les migrations dans le code généré pour chaque test, produisant des mégaoctets de source Rust. Réduire le nombre de migrations ou déplacer leur chargement à l'exécution a fortement réduit la taille du code développé (de 32 MiB à 6 MiB) et fait chuter le temps de rebuild d'environ 7,5 s à ~5 s. La solution pratique adoptée a été d'extraire les migrations dans une variable partagée (const/static MIGRATOR) et de référencer cette variable via migrator = "crate::MIGRATOR" dans chaque #[sqlx::test], ce qui a amélioré sensiblement les temps de recompilation tout en conservant l'exécution des tests. Le principal enseignement est d'utiliser le trick migrator pour les projets avec de nombreux #[sqlx::test] et d'employer cargo expand pour estimer l'impact des proc-macros générant beaucoup de code, l'auteur ayant aussi proposé d'ajouter un paramètre par défaut dans sqlx.toml.

Ending respiratory infections

L'article explique que, contrairement aux maladies hydriques, les infections respiratoires restent omniprésentes malgré des progrès scientifiques récents. Les auteurs identifient deux obstacles principaux : la difficulté technique liée à la diversité et à la mutation des virus respiratoires, et le manque de financement soutenu pour des solutions à large spectre. Ils présentent Intercept, une initiative philanthropique de 500 millions de dollars visant à accélérer le développement de deux familles de produits : des préventifs à large spectre (BSP) et des technologies de purification de l'air (ACT). L'argument de fond est que les infections respiratoires causent un lourd fardeau sanitaire et économique, augmentent le risque de maladies à long terme et que la combinaison de BSP et d'ACT pourrait réduire significativement la transmission. Le programme prévoit une stratégie en deux volets pour financer des candidats cliniques et des projets précoces, générer des preuves opérationnelles pour les ACT, mobiliser des acheteurs et collaborer avec les régulateurs pour faciliter l'adoption à grande échelle.

What I'm Finding About LLM Code Style and Token Costs

Les modèles de langage génèrent souvent des implémentations longues et héritées parce que leur corpus privilégie des patterns Node.js anciens, alors que les runtimes modernes comme Deno exposent nativement l'API Web. L'utilisation des API Web natives (URLSearchParams, FormData, AbortSignal.timeout, Promise.allSettled, éléments HTML sémantiques) peut réduire le nombre de tokens en sortie de l'infrastructure d'un facteur de l'ordre de 7–10×, passant de centaines à quelques dizaines de tokens pour un handler typique. Ces API natives améliorent également la sécurité et la fiabilité en évitant des vecteurs d'attaque et des bugs courants (pollution de prototype, erreurs de décodage, fuites de timers, problèmes d'accessibilité) parce qu'elles sont conformes aux spécifications et testées largement. Les commentaires influencent fortement la génération : les commentaires périmés nuisent à la compréhension du modèle tandis que les commentaires décrivant les intentions de conception et les contraintes sont utiles, et la réduction de la mise en forme économise des tokens d'entrée mais reste secondaire par rapport aux gains en sortie. La recommandation pratique est de préciser explicitement dans les prompts d'utiliser les APIs natives et d'appliquer une discipline de commentaires axée sur les invariants, car le levier structurel le plus puissant est d'exploiter ce que la plateforme fournit déjà au lieu de réinventer des solutions coûteuses.

The Xteink X4 E-Ink Reader

L'auteur a utilisé le lecteur e-ink Xteink X4 pendant quelques mois ; il coûte environ £40 et est suffisamment petit pour se coller à l'arrière d'un téléphone. L'appareil est très léger avec un écran net pour sa taille, livré avec une carte microSD 16 Go, un lecteur de cartes et un anneau adhésif pour fixation MagSafe, mais la fente microSD est peu pratique et le système d'origine est en chinois. Le firmware d'origine est minimal, mais la communauté propose plusieurs firmwares basés sur CrossPoint — faciles à flasher et offrant des améliorations notables comme Papyrix pour une typographie avancée et Inx pour une interface plus complète et des statistiques de lecture. D'autres forks et projets transforment l'appareil en outil d'écriture ou plateforme d'applications (MicroSlate, TernOS, PlusPoint) et des expérimentations incluent des applications originales et des outils de personnalisation d'écran. Comparé aux liseuses e-ink pleine taille et aux modèles couleur, le X4 se distingue surtout par sa portabilité et, avec un firmware alternatif, propose pour £40 une expérience de lecture étonnamment performante.

Matt's Script Archive: The Scripts That Reshaped the Web

En 1995, Matt Wright a publié de simples scripts web (formulaires de contact, livres d'or, WWWBoard) qui sont devenus très utilisés et ont contribué à l'émergence des premiers forums en ligne. Beaucoup de ces scripts comportaient des failles de sécurité graves, y compris des vulnérabilités critiques comme CVE-1999-1479 permettant l'exécution de code à distance en tant que root. Le London Perl Mongers a créé des remplaçants de substitution plus sûrs nommés nms, mais nms est aujourd'hui obsolète et illustre le passage des pratiques web hors du CGI. L'article souligne que les outils faciles à utiliser et largement diffusés (et le "vibe coding" moderne) démocratisent la création web tout en augmentant l'exposition aux exploitations, ce qui pose des défis pour les équipes de sécurité. Le domaine original a ensuite changé de mains et a été restauré par une personne préservant l'héritage de l'archive, montrant l'intérêt persistant pour l'histoire du web primitif.

Computer use in Gemini 3.5 Flash

Gemini 3.5 Flash intègre désormais nativement la fonctionnalité de computer use, auparavant disponible comme modèle autonome dans Gemini 2.5, et offre des performances améliorées pour les tâches agentiques d'utilisation d'ordinateurs. Cette intégration permet aux développeurs de créer des agents capables de voir, raisonner et agir à travers des environnements navigateur, mobile et bureau, utile pour des automatisations longues et des tâches d'entreprise comme les tests continus et le travail de connaissance. Les développeurs et entreprises peuvent accéder à cette fonctionnalité via l'API Gemini et la Gemini Enterprise Agent Platform, avec des cas d'usage illustrés tels que l'analyse des fonctionnalités d'une application et l'audit d'accessibilité de documentation. Pour la sécurité, Google a appliqué un entraînement adversarial ciblé et propose deux mécanismes optionnels pour les entreprises permettant d'exiger une confirmation explicite pour les actions sensibles et d'arrêter automatiquement les tâches en cas d'injection de prompt indirecte, tout en recommandant des mesures complémentaires comme le sandboxing et la vérification humaine. Les clients rapportent déjà des gains d'utilisation et il est possible de tester la fonctionnalité via une démonstration hébergée par Browserbase ou d'accéder à l'implémentation de référence et à la documentation via l'API et la plate-forme d'entreprise.

Show HN: Brain Frog – Can you be random enough for 11 lines of JavaScript?

Vous lancez des coups à gauche ou à droite en tapant ou en utilisant les touches ← et →. La grenouille apprend votre pattern et bloque le côté où elle pense que vous allez frapper, donc restez imprévisible. Elle ne réagit pas au coup mais se décide une fraction de seconde avant votre geste en ne regardant que vos trois dernières frappes et si elles ont touché. L'objectif est d'atteindre 50 frappes avant d'épuiser vos coups, et se connecter permet de jouer en mode classé pour gagner des pièces. En mode Entraînement, le Coach montre une lecture en direct et vous pouvez appuyer sur C pour l'afficher ou le masquer.

PR spam today looks like email spam in the early 2000s

Le dépôt OpenClaw a connu une explosion de pull requests, passant d'environ deux par semaine à 3 400 par semaine, tandis que le taux de fusion est tombé de ~48 % à moins de 9,3 %. De nombreuses PRs étaient de faible qualité et souvent générées par des agents d'IA, certains contributeurs soumettant des dizaines à centaines de PRs en quelques secondes. Les auteurs proposent des mécanismes de filtrage inspirés du courriel, avec listes de blocage, filtres de confiance et systèmes de réputation comme Vouch pour limiter les mauvais acteurs. La généralisation des mêmes assistants d'IA conduit à des contributions très similaires, ce qui réduit la diversité des perspectives et affaiblit l'efficacité de la revue collaborative. Les refactorings révélant une compréhension approfondie du code ont beaucoup plus de chances d'être fusionnés que les nouvelles fonctionnalités, et la communauté devra construire des primitives d'identité et de réputation pour s'adapter.