HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 611/1208 Sans filtre

How Japan's railways stayed one while splitting apart

Le JR Rail Pass donne l'impression d'un réseau national, mais le groupe JR est en réalité composé de sept sociétés distinctes issues de la privatisation de Japanese National Railways à la fin des années 1980. Le Nippon Design Center a conçu en 124 jours une identité visuelle commune — le sigle JR choisi parmi plus de cent propositions — sous la direction de Yōji Yamamoto, qui a dessiné logotypes, manuels et applications et a poussé le détail jusqu'au dernier instant. La palette des compagnies est née d'une contrainte technique: quinze couleurs disponibles pour un procédé de transferts thermiques, chaque compagnie en choisissant une principale et une secondaire et les reliant à des motifs régionaux. Pour les noms japonais Yamamoto a redessiné les kanji car le caractère standard pour « chemin de fer » comportait une composante signifiant « perdre », si bien qu'ils ont choisi une variante historique validée par des spécialistes pour éviter la connotation négative. Le déploiement a été massif et rapide — près de dix mille véhicules marqués à la main dans la nuit du basculement — et le logo a perduré grâce à sa lisibilité, sa suggestion de vitesse, son adaptation pratique aux matériels et à la stabilité managériale qui n'a pas nécessité de refonte.

Building a robotics research setup that lives next to my desk

L'auteur soutient que la recherche en robotique est devenue suffisamment abordable et accessible pour qu'une seule personne puisse mener des expériences matérielles, grâce à du matériel robotique industriel à bas prix et à des modèles fondamentaux publics adaptés à la robotique. Il a construit un banc de manipulation sur table autour d'un bras UFACTORY xArm Lite 6, d'une caméra poignet Intel RealSense D405, d'une webcam Logitech C920 et d'un SpaceMouse pour la téléopération, la configuration matérielle coûtant environ 4 570 € hors TVA et compute. Le logiciel est un empilement Python sur mesure appelé robo qui exécute des services multi‑threads communiquant via un bus pub/sub en mémoire afin de garder un contrôle total sur la pile logicielle et la latence, plutôt que de s'appuyer sur ROS 2. Les données et l'observabilité sont assurées par un enregistreur Rerun pour les épisodes multimodaux et par une pile locale Prometheus, InfluxDB et Grafana pour les métriques et la télémétrie, les enregistrements bruts consommant environ 1,4 Go par minute. La sécurité combine un arrêt d'urgence matériel et plusieurs défenses logicielles (zonage de sécurité, limitation des vitesses, expiration des commandes de téléopération et arrêt en cas de plantage), et les prochaines étapes consistent à collecter des démonstrations, entraîner des politiques et évaluer des approches allant du apprentissage from-scratch aux modèles vision‑langage‑action.

I found 10k GitHub repositories distributing Trojan malware

L'auteur a découvert des milliers de dépôts GitHub clonés contenant un lien vers une archive ZIP qui distribue un cheval de Troie, les dépôts conservant les mêmes commits et contributeurs mais ayant des noms et auteurs différents. Le schéma observé comportait des commits périodiques intitulés « Update README.md » ne modifiant que le fichier README pour y ajouter le lien vers l'archive, des dépôts non forkés et une répétition fréquente des pushes. Pour trouver ces dépôts, l'auteur a utilisé gharchive pour filtrer les événements de push, a contourné la limite de l'API GitHub et a écrit un script qui a identifié initialement quelques dizaines puis finalement 10 000 dépôts correspondant au modèle, chaque archive contenant un exécutable malveillant détecté uniquement dans le ZIP. L'article formule des hypothèses selon lesquelles les opérateurs ciblent les nouveaux dépôts pour profiter de l'indexation et de la confiance liée à l'historique des commits, et qu'ils modifient ou réécrivent les commits pour tenter d'échapper aux mécanismes de détection de GitHub. En réponse, GitHub a commencé à supprimer les dépôts signalés, des travaux antérieurs avaient déjà documenté des campagnes similaires, et l'auteur publie son script et la liste des dépôts ainsi que des mises à jour sur plusieurs plateformes.

Zero-Touch OAuth for MCP

L'extension EMA est désormais stable et permet aux organisations de gérer centralement les autorisations des serveurs MCP tout en offrant aux utilisateurs un accès unique à plusieurs serveurs. Elle remédie aux frictions du modèle d'autorisation par utilisateur en supprimant les consentements répétés, en évitant les connexions manuelles serveur par serveur et en empêchant le mélange des comptes personnels et professionnels. Techniquement, le client obtient une assertion d'identité JWT (ID-JAG) auprès de l'IdP lors du SSO puis l'échange contre un jeton d'accès auprès du serveur MCP, supprimant les écrans de consentement par application. Les bénéfices attendus sont l'autorisation une fois pour tous, la centralisation des politiques et des traces d'audit dans l'IdP, et une meilleure séparation entre comptes personnels et d'entreprise. Okta, Anthropic, Visual Studio Code et plusieurs serveurs (Asana, Figma, Slack, etc.) participent déjà aux premières implémentations et la communauté est invitée à consulter la spécification et à rejoindre le groupe d'intérêt pour contribuer.

Gribouille 0.3.0: A Grammar of Graphics for Typst

La nouvelle version introduit des contrôles de guides plus fins via guides(...), permettant de masquer d'un seul argument les graduations, étiquettes ou légendes, y compris des options spécifiques pour les axes radiaux. La fonction compose() accepte désormais un paramètre theme: qui s'applique au chrome de la composition et aux panneaux sans thème propre, et l'ancien plot(..., defer: true) est remplacé par defer(plot, ...) tandis que les panneaux ne peuvent plus définir leur largeur ou hauteur individuelle. Geom-area empile désormais par défaut avec stat: "align" et position: "stack", et rééchantillonne les groupes ayant des abscisses différentes pour permettre un empilement correct. Annotate() reçoit un argument clip: (par défaut true) et clip: false permet aux annotations de déborder du panneau, avec une correction qui évite leur suppression lorsqu'elles sont hors des limites. De nombreuses corrections internes améliorent la disposition des légendes, le comportement des statistiques et des échelles, le paquet inclut des docstrings Tinymist pour l'aide en éditeur, et les rapports de bugs sont encouragés via le tracker du projet.

DuckDB Internals: Why Is DuckDB Fast? (Part 1)

Né d'un projet de recherche à CWI Amsterdam en 2019, DuckDB s'est rapidement imposé dans des usages variés comme notebooks, pipelines ETL, outils BI, produits SaaS et services cloud. C'est une base SQL analytique embarquée (in-process) optimisée pour des scans, agrégations et jointures sur de grands volumes, fournie comme une bibliothèque légère et un binaire unique pouvant lire directement des répertoires de Parquet, CSV ou JSON. En tournant dans le même processus que l'application cliente, DuckDB évite la sérialisation ligne-à-ligne des protocoles classiques, permet le zéro-copy via des buffers NumPy/Arrow et profite d'ADBC pour réduire les coûts de transfert de données. Les requêtes sont transformées en AST puis liées, optimisées par une trentaine de passes modulaires (pushdown de filtres, réécriture de sous-requêtes, optimisation de l'ordre de jointures par programmation dynamique, etc.) et traduites en un plan physique. L'exécution est organisée en pipelines parallélisés par morsels avec des sinks qui combinent et finalisent l'état local par thread, et le stockage est colonnaire en row groups avec zonemaps; DuckDB exploite aussi les métadonnées Parquet pour le pruning et implémente un détecteur de dialecte et de types pour les CSV, ce qui explique sa rapidité sur machine unique.

To study how chips work, MIT researchers built their own operating system

Fractal est un noyau développé au CSAIL du MIT qui démarre directement sur le matériel pour offrir un environnement expérimental à faible bruit et permettre de changer le niveau de privilège à l'exécution. Il introduit un "fil noyau externe" et une technique de concurrence multi-privilege qui permettent d'exécuter les mêmes instructions dans le même espace d'adresses avec et sans privilèges noyau afin d'isoler les effets microarchitecturaux. En étudiant les prédicteurs de branche de la puce Apple M1, l'équipe a montré que le processeur charge des cibles dans le cache d'instructions avant que la protection CSV2 n'intervienne, ce qui est observable par un canal auxiliaire. Les chercheurs ont aussi produit la première preuve de spéculation de type "Phantom" sur Apple Silicon et ont démontré l'absence d'isolation de privilège pour le prédicteur de branche conditionnelle, corrigeant des conclusions antérieures biaisées par le comportement de planification de macOS. Fractal, compatible x86_64, ARM64 et RISC-V et conçu comme infrastructure réutilisable pour la recherche microarchitecturale, a été présenté à l'IEEE Symposium on Security and Privacy et ses résultats ont été communiqués à Apple.

Many Let's Encrypt renewals had errors today

Le support de Let's Encrypt est assuré par la communauté et les informations sur l'état et les pannes sont disponibles sur https://community.letsencrypt.org. L'API ACME de production est acme-v02.api.letsencrypt.org, hébergée dans les centres High Assurance Datacenter 1 et 2. Les environnements de mise en scène incluent acme-staging-v02.api.letsencrypt.org et portal-staging.letsencrypt.org, tous deux situés dans High Assurance Datacenter 1. Le portail de production portal.letsencrypt.org est hébergé dans High Assurance Datacenter 1 et 2, tandis que les hôtes *.c.lencr.org en production sont répartis dans les Public Data Centers et stg-*.c.lencr.org sert la mise en scène dans les centres publics. Le site web et les services de journalisation (log.twig.ct.letsencrypt.org, log.sycamore.ct.letsencrypt.org et log.willow.ct.letsencrypt.org) sont hébergés dans les Public Data Centers.

Map Clustering Is Not My Favorite

Il y a une vingtaine d'années, Google Maps et d'autres outils créaient un élément DOM par repère, rendant l'affichage de centaines ou milliers de points lent et obligeant à limiter les informations visibles. Atlas Obscura affiche plus de 30 000 lieux regroupés en clusters, une solution qui oblige l'utilisateur à zoomer pour découvrir les éléments individuels et nuit à l'exploration directe. Le clustering peut masquer des points très proches ou superposés, déplacer visuellement des marqueurs par "moyennage" et rendre une carte couverte de chiffres difficile à lire. Les technologies de cartographie modernes fondées sur le GPU et des bibliothèques comme MapLibre ou Protomaps permettent aujourd'hui de rendre et d'interagir efficacement avec de grands ensembles de points sans recourir systématiquement au clustering. Après avoir testé les données d'Atlas Obscura, l'auteur estime que l'on peut désormais afficher directement les points avec des techniques visuelles adaptées et que le clustering est devenu une méthode dépassée.