HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 444/1208 Sans filtre

Escape Analysis in Go: Stack vs. Heap Allocations Explained

L'article explique l'analyse d'échappement en Go, un processus du compilateur qui décide si une valeur peut rester sur la pile ou doit être allouée sur le tas. Il détaille les causes courantes d'échappement, notamment le retour de pointeurs locaux, les closures et goroutines capturant des variables, le passage via des interfaces et le stockage dans des slices, maps ou structures persistantes. On y décrit comment inspecter ces décisions grâce au compilateur (go build -gcflags="-m") et pourquoi les logs bruts sont bruyants et difficiles à relier au code source. La fonctionnalité d'analyse d'échappement de l'IDE GoLand parse les sorties du compilateur pour afficher des marqueurs dans l'éditeur, filtrer et comparer les résultats, et faciliter l'investigation sans changer de contexte. Enfin l'article recommande de prioriser la mesure et le profilage, de se concentrer sur les chemins critiques et de privilégier la lisibilité du code plutôt que des micro‑optimisations prématurées.

Splink – Fast, accurate and scalable probabilistic data linkage

Ce package Python effectue du rapprochement probabiliste de fichiers et la déduplication d'enregistrements en l'absence d'identifiants uniques. Il implémente une variante du modèle de Fellegi‑Sunter et propose des ajustements pour la fréquence des termes ainsi qu'une logique d'appariement floue configurable afin d'améliorer la précision. L'outil est conçu pour être rapide et évolutif, capable d'exécuter des millions d'appariements localement via DuckDB ou sur des environnements big data comme AWS Athena ou Spark, et les modèles peuvent être entraînés de manière non supervisée. Les données d'entrée doivent être standardisées et contenir plusieurs colonnes peu corrélées pour de meilleurs résultats, l'approche étant déconseillée pour un unique champ de type "bag of words". Il est largement utilisé par des administrations, des institutions de recherche et des organisations internationales, fournit des sorties interactives et une documentation, bénéficie d'un forum de support et a reçu plusieurs distinctions.

For most US drivers, EVs offer emissions benefits and cost savings

Une nouvelle étude de chercheurs du MIT conclut que, malgré les variations régionales, les véhicules électriques émettent moins de gaz à effet de serre et ne coûtent pas plus que des véhicules à essence comparables pour la plupart des conducteurs et des flottes aux États-Unis. Les auteurs ont intégré des données détaillées par code postal et par conducteur — incluant météorologie, durée et distance des trajets, congestion, composition du mix électrique et prix moyens des carburants — et ont finalisé l'analyse fin 2024 et début 2025. Les résultats montrent que les véhicules 100 % électriques réduisent les émissions de 40 à 60 % en plupart d'endroits, avec des gains plus importants en zone urbaine, que les climats froids diminuent moins les bénéfices qu'on le pense souvent, et que les comportements de conduite comptent autant que le mix électrique régional. Sur le plan des coûts, les modèles indiquent que les véhicules électriques sont compétitifs en coût total de possession dans la plupart des régions, parfois moins chers que les hybrides ou les véhicules thermiques quand l'électricité est bon marché, même sans crédits d'impôt. Les chercheurs, dont Marco Miotti et Jessika Trancik, publient l'étude dans Environmental Research Letters, mettent à jour l'outil public carboncounter.com et prévoient d'ajouter une dimension temporelle et d'étendre l'analyse à d'autres régions et types de véhicules.

JEP 540: Simple JSON API (Now in Incubator)

La proposition introduit une API incubatrice légère dans le JDK pour analyser et générer des documents JSON conformes à la RFC 8259 sans dépendances externes. L'API vise à être petite et simple, facilitant la navigation et l'extraction de données via un modèle en arbre centré sur JsonValue et ses sous-types, avec des conversions vers les types Java courants. La méthode de parsing est stricte : aucune extension syntaxique n'est autorisée, les objets avec noms de membres dupliqués sont rejetés et les erreurs produisent des exceptions détaillées pour un échec rapide. L'API fournit des moyens pour gérer l'évolution des documents et les valeurs optionnelles ou nulles (tryGet, tryValue) et propose des conversions numériques contrôlées (asInt, asLong, asDouble) ainsi que l'usage de BigDecimal pour un traitement sans perte. Le projet exclut le data binding et le streaming afin de rester minimal, sera rigoureusement testé, suppose des documents tenus en mémoire et s'utilise en incubation via l'option --add-modules jdk.incubator.json.

Show HN: Remux – an open-source tmux workspace designed for iPhone

Remux permet de gérer des sessions, fenêtres et panneaux tmux depuis un appareil iOS avec une interface pensée pour le mobile. Il offre des aperçus de fichiers et de serveurs de développement, l'upload de photos et fichiers avec balisage d'images, ainsi que des contrôles de curseur et une palette de raccourcis enregistrés. La navigation inclut le balayage entre fenêtres, la sélection de panneaux via une feuille inférieure avec prévisualisations en direct, et des options pour diviser, zoomer ou fermer les panneaux. L'application se connecte directement en SSH sans relais ni compte central, en stockant mots de passe et clés privées dans le trousseau iOS et en mémorisant les clés hôtes de confiance. Remux est disponible en bêta publique sur TestFlight, peut être compilé depuis les sources avec Xcode et GhosttyKit, et utilise le cœur terminal Ghostty ainsi que Citadel pour SSH.

A taxonomy of omnicidal futures involving artificial intelligence (2025)

Le rapport propose une taxonomie et des exemples de scénarios d'événements omnicides potentiels causés par l'intelligence artificielle. Il précise que ces événements sont des possibilités à éviter et non des fatalités inévitables. L'auteur soutient que rendre ces scénarios publics peut contribuer à encourager des mesures préventives. Le document souligne que les grandes institutions ont souvent besoin d'un certain soutien public pour entreprendre des actions de prévention. L'objectif affiché est d'informer le débat public afin de réduire les risques catastrophiques liés au développement de l'IA.

Converting Files into Minecraft Worlds

L'auteur a conçu un outil qui encode n'importe quel fichier dans un monde Minecraft en mappant chaque octet sur un bloc distinct. Il construit une palette fixe de 256 blocs en filtrant ceux avec des états variables ou multi-blocs, puis traduit octet→bloc et bloc→octet via un tableau et une recherche inverse. Les octets sont disposés déterministiquement dans le monde en remplissant des sections 16x16x16, 24 sections par colonne (de Y -64 à 320), 32x32 chunks par région, ce qui donne environ 96 MiB par fichier de région. L'encodage écrit d'abord un en-tête contenant une signature et la taille du fichier, place les blocs correspondant aux octets, et le décodage relit ces blocs pour reconstruire le fichier d'origine. Parmi les erreurs corrigées figurent une disposition spatiale erronée (plaque plate), la lecture des mauvais octets initiaux d'un .mca qui produisait une taille astronomique et les blocs invisibles pour les entités multi-bloc, et le projet est publié sur un dépôt public.

Show HN: Trifle – Open-source analytics that stores answers, not events

Trifle est une plateforme open source de métriques temporelles qui permet de suivre compteurs, revenus et données hiérarchiques en s'appuyant sur la base de données existante. Les bibliothèques pour Ruby, Elixir et Go offrent une API simple (par exemple Trifle::Stats.track) qui envoie un point avec clé, horodatage et valeurs imbriquées et les agrège en buckets pour requêtes à différentes résolutions. Le flux de données comprend un appel unique pour écrire, le stockage en buckets consultables à toute granularité, et une couche visuelle pour dashboards, alertes et digests lisant la même base. Les cas d'utilisation couvrent le suivi des revenus, la surveillance des workers en arrière-plan, l'analyse d'usage des fonctionnalités, les KPIs métier et les analytics pour agents IA avec CLI et skills pour agents tels que Claude et Codex. Les bibliothèques sont sous licence MIT, l'App et le CLI sous ELv2, la solution revendique une grande échelle d'événements et propose une offre promotionnelle avec onboarding personnalisé pour les premiers clients.

Emacs Is a Lispboard

L'article présente Emacs comme un « Lispboard » : un environnement de travail intégré avec un interpréteur Lisp, des modules interconnectés et une machine virtuelle multiplateforme. L'auteur précise qu'Emacs n'est ni un simple éditeur de texte, ni un système d'exploitation ni un IDE prêt à l'emploi, mais un cadre Elisp qui réimplémente de nombreux programmes sur un runtime agnostique. Il décrit des usages concrets — automatisation et interfaces graphiques en Elisp, développement (LSP, Magit, assistants IA), prise de notes avec org-mode, gestion des mails et conversations, lecture RSS et multimédia — pour illustrer l'intégration. L'article oppose Emacs au navigateur web, qui fournit aussi une VM multiplateforme mais dont les onglets sont des silos contrôlés par des tiers et qui limitent l'accès au système hôte. La conclusion est que l'intégration profonde d'Emacs crée une habitude de travail durable et que sa valeur tient à la possibilité de posséder, personnaliser et étendre entièrement son environnement.