HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 573/1208 Sans filtre

A Tiny Compiler for Data-Parallel Kernels

Un petit compilateur (~180 lignes de Python) abaisse des kernels écrits sous forme d'AST vers une IR intermédiaire où le parallélisme de données devient explicite. Il remplace les boucles classiques par des vector_for qui exécutent plusieurs itérations en parallèle via des lanes et utilisent des masques pour gérer les queues d'itération. La passe de classification identifie pour chaque expression si elle est uniforme (même valeur pour toutes les lanes) ou varying (valeur par lane) et propage cette information dans l'AST. Selon cette classification, des accès contigus deviennent masked_load/masked_store tandis que des accès par indices variables deviennent des gather, ce qui change le code émis. Ce lowering fournit la structure nécessaire pour générer ensuite des instructions vectorielles ciblées, tout en restant un prototype simplifié qui évite des questions comme les types, l'aliasing ou le contrôle de flux complexe.

Show HN: Smart model routing directly in Claude, Codex and Cursor

Weave Router est un proxy substituable pour Anthropic, OpenAI et Gemini qui choisit automatiquement le meilleur modèle pour chaque requête. Il effectue un routage par requête avec un scoreur de cluster inspiré d'Avengers‑Pro et utilise un petit embedder embarqué plutôt que des prompts basés sur l'intuition. Le routeur parle plusieurs API (Anthropic Messages, OpenAI Chat Completions, Gemini natif), gère le streaming, les outils et la vision, et prend aussi en charge des modèles open source via OpenRouter. La sécurité est BYOK par défaut avec les clés fournisseurs chiffrées au repos, et l'observabilité est assurée par des traces OTLP consultables dans le tableau de bord ou via Honeycomb, Datadog, Grafana, etc. L'installation se fait rapidement via npx ou en auto‑hébergement (fichier .env.local et make full-setup), il s'intègre à Claude Code, Codex, opencode et Cursor, et distingue les clés upstream (sk_...) des clés du routeur (rk_...).

Ultrasound imaging of the brain

L'article présente une imagerie neurovasculaire par ultrasons capable d’obtenir une résolution proche de l’IRM sans ouvrir le crâne. Les auteurs ont réalisé la première image 3D par microscopie d’ultrasons de localisation à travers le crâne humain vivant, montrant des vaisseaux piaux et des artérioles avec une résolution volumétrique environ cent fois supérieure au CT comparable. La méthode repose sur des microbulles de soufre hexafluorure comme agent de contraste injecté en continu pour localiser de manière super‑résolutive le centre de chaque bulle et reconstruire la microvasculature en accumulant des millions de positions. L’objectif à terme est d’atteindre une imagerie neurovasculaire sans contraste en tirant parti de sondes ultrasonores plus petites et moins chères et d’algorithmes d’apprentissage automatique capables d’extraire le signal faible des globules rouges. Le groupe ouvre le pipeline et un grand jeu de données pour favoriser des applications cliniques et la recherche sur les AVC, la maladie d’Alzheimer, les traumatismes crâniens et des interfaces cérébrales non invasives.

Anatomy of a Failed (Nation-State?) Attack

L'auteur a reçu un faux entretien visant à faire exécuter un code malveillant via un dépôt TypeScript piégé et a utilisé Claude pour accélérer l'analyse et extraire des indicateurs de compromission. Le code malveillant était injecté via patch-package dans typescript.js et _tsc.js, puis décodé et exécuté par un stub obfusqué qui se déclenche lors du premier typecheck ou build. Un second stade livré depuis un chunk PNG et un petit stub WASM installe un RAT appelé PinpinRAT qui génère une clé RSA, utilise AES-256-CBC pour les communications et permet l'exfiltration de fichiers, l'exécution de commandes et la persistance. Les indicateurs identifiés comprennent l'adresse C2 89.124.107.161:80, une tâche planifiée PinpinWrappedJs, un processus masqué com.apple.WebKit.Networking sur macOS, variables d'environnement spécifiques, patch typescript+5.9.2.patch et répertoires de cache temporaires contenant payload.js et mutex.js. L'auteur conseille de déconnecter immédiatement les systèmes infectés, de réinitialiser les identifiants depuis une machine propre et de rester vigilant face aux faux profils, invitations sans calendrier et demandes d'exécution de builds lors de tests techniques.

OpenTTD 16.0-Beta1

La première bêta de la nouvelle version est disponible et demande des tests. Parmi les nouveautés, les trains peuvent désormais reculer, les entreprises multijoueurs peuvent être ouvertes sans invitation et la génération de cartes a été améliorée (rochers dans le désert, meilleures côtes, phares sur grandes cartes, émetteurs après 1920 et contrôle de la hauteur moyenne des terres). D'autres améliorations comprennent l'activation de subventions pour les cargos utilisant CargoDist, la création de collections sauvegardées de NewGRF dans les fenêtres de sélection et la possibilité d'ajuster le taux de vieillissement des paiements de cargaison. L'interface a été améliorée avec des listes déroulantes filtrables, une fenêtre unique pour les aperçus de véhicules et de nombreux autres changements et corrections détaillés dans le changelog. Un concours pour créer le jeu-titre du menu principal a été lancé sur les forums, et les joueurs sont invités à signaler les bugs et à télécharger la bêta via le suivi de bogues et les liens de téléchargement.

We can still stop California's 3D printer surveillance scheme

L'Assemblée de Californie a adopté une version amendée d'AB 2047 visant à imposer un logiciel de surveillance et de censure pour les imprimantes 3D. Les amendements ont retiré la pénalisation de la revente privée mais ont laissé des dispositions qui, selon des critiques, menacent la vie privée, la liberté d'expression et l'innovation open source. Le projet prévoit une dérogation pour les outils open source uniquement s'ils intègrent un logiciel conforme, une condition jugée ambiguë et irréaliste par des développeurs. La norme de performance des algorithmes a été abaissée, la définition des standards est confiée à des tiers non gouvernementaux et des carveouts commerciaux favorisent les grands studios, ce qui soulève des risques de surveillance des fichiers et de fuite de propriété intellectuelle. Le texte est désormais transmis au Sénat d'État et plusieurs organisations appellent les sénateurs à s'y opposer en raison de ses impacts estimés sur les créateurs et les consommateurs.

SCC Technical Assistance Program

Un lecteur possède une Nissan Sentra 2001 modifiée pour le style mais pas pour la performance et demande de l'aide pour battre une Mazda MX-6 turbo. Le magazine a lancé un programme d'assistance technique à budget nul, a emmené la voiture au circuit et a relevé une ligne de base de 2 762 lb avec un 1/4 mile en 16,3 s à 84,0 mph et un 0–60 en 8,6 s. Sans dépenser d'argent, l'équipe a remplacé les jantes 19 pouces par des 15 pouces plus légères et a dépouillé l'habitacle, ce qui a réduit le poids et fait tomber le 1/4 mile à environ 16,0 puis 15,5 s et le 0–60 autour de 7,5–8,1 s. Ils ont ensuite appliqué des modifications « gratuites » (suppression d'échappement, admission ram-air, retrait d'accessoires et d'éléments aérodynamiques) puis ont enlevé le kit carrosserie et d'autres pièces pour descendre la masse sous 1 900 lb et abaisser le 1/4 mile vers 14,7–15,2 s. Pour retrouver une apparence séduisante, l'équipe a transformé la voiture en décapotable et a obtenu un 1/4 mile final de 14,3 s à 93,2 mph avec un 0–60 proche de 5,8 s.

A C++ implementation of a fast hash map and hash set using hopscotch hashing

La bibliothèque hopscotch-map est une implémentation C++ de tables de hachage rapides utilisant l'adressage ouvert et le hopscotch hashing, optimisée pour le cache et généralement plus performante que std::unordered_map tout en consommant moins de mémoire. Elle fournit plusieurs conteneurs (tsl::hopscotch_map, tsl::hopscotch_set, leurs variantes _pg et les versions "b" avec garanties amorties) et propose des politiques de croissance par puissance de deux ou par nombres premiers, la version prime étant recommandée en présence de motifs répétitifs dans les bits faibles du hash. Parmi les fonctionnalités on trouve une bibliothèque header-only compatible C++17, le support des types déplacables sans constructeur par défaut, des recherches hétérogènes, la possibilité de stocker les hachages pour accélérer réhash/lookup et un paramètre pour fournir un hachage pré-calculé. L'API est proche de std::unordered_map mais diffère sur l'invalidation des itérateurs (toutes les opérations modifiant la table sauf erase les invalident), sur la façon de modifier les valeurs via it.value(), sur l'absence de certaines méthodes de buckets et sur l'exigence d'un move nothrow pour les types move-only. Pour une protection contre les attaques DoS basées sur des collisions de hachage, les conteneurs tsl::bhopscotch_map et tsl::bhopscotch_set utilisent des arbres binaires pour les éléments débordants, offrent un pire cas en O(log n) et exigent que les clés soient LessThanComparable.

The gap between open weights LLMs and closed source LLMs

Le texte décrit une analyse montrant l'écart temporel entre la frontière de performance des modèles open weights et celle des modèles closed source sur le benchmark principal d'Artificial Analysis. L'écart est mesuré en nombre de mois nécessaires aux modèles open source pour rattraper les nouvelles capacités atteintes par la frontière fermée, et sur cet indice isolé il a commencé à se réduire à l'été 2024. Une extrapolation linéaire de cet indice unique prédit une convergence autour du 3 décembre 2026, mais l'auteur met en garde contre des conclusions hâtives basées sur un seul benchmark. En répétant l'analyse sur les 18 jeux de données fournis, la moyenne des écarts reste proche de cinq mois sur la période et la droite d'ajustement est presque plate. La plus grande amélioration concerne le benchmark de codage tandis que la plupart des autres jeux montrent des écarts modérés ou en légère augmentation, soulignant la difficulté de mesurer la qualité des LLM selon le critère choisi.