HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11521 articles Page 112/1153 Sans filtre

Line Scan Photos from MUNI Heritage Weekend in San Francisco

L'auteur s'est rendu à San Francisco pour le Muni Heritage Weekend 2026 et a passé trois heures au bord des voies à scanner des tramways avec un appareil line scan. Les photographies de tramways sont diffusées sous licence CC BY-SA 4.0 et de nombreuses images ont été téléversées sur Wikimedia Commons. L'événement a présenté plusieurs véhicules historiques, notamment Muni No. 1 (1912), No. 162 (1914–1958), le Blackpool No. 233 (1934), le Melbourne No. 496 (1928) et le "Dinky" No. 578 (1896). Le Milan Peter Witt No. 1815 a été difficile à capturer en line scan malgré plusieurs tentatives, tandis que d'autres PCC et des véhicules divers comme des Waymo, des bus anciens et une voiture de police ont également été photographiés. Des images des coulisses montrent le dispositif de scan et des portraits pris par l'ami Daniel Du, pour lesquels un crédit photo est indiqué.

College Is Coming Apart After Successive, Overlapping Crises

L'intelligence artificielle est passée d'une crise à un usage banal sur les campus, permettant désormais aux étudiants d'effectuer automatiquement une grande partie de leurs travaux tandis que des professeurs et administrateurs l'emploient aussi pour des tâches académiques et administratives. Simultanément, les chercheurs et les universités tirent avantage de l'IA pour la production de connaissances dans les sciences et les administrations investissent massivement dans des initiatives et des programmes liés à l'IA. Mais ces développements révèlent un problème plus profond : l'enseignement supérieur américain est une mosaïque de finalités incompatibles, surtout entre la délivrance d'un diplôme credentialisant et l'expérience de formation personnelle, et cette division a été amplifiée par la pandémie et les coupes de financement fédéral. La pandémie a montré que la délivrance des diplômes peut perdurer sans la vie de campus, et l'IA a encore séparé le processus d'apprentissage de ses produits en rendant possible l'obtention de travaux sans effort intellectuel, ce qui fragilise particulièrement les humanités. Il est peu probable que les universités réparent ces inconciliabilités à court terme, si bien que les bâtiments, les diplômes et les rituels perdureront en apparence pendant que l'esprit collectif et les missions éducatives se délitent.

A custom virtual machine for the Stars 4X game

L'auteur a créé une machine virtuelle embarquant un émulateur 80286 et un pont Win16→Win32 pour exécuter un ancien jeu 16 bits sous Windows moderne comme un exécutable natif. Les versions signées sur GitHub intègrent une copie compressée du jeu original dans un EXE 32 bits (requérant SSE2) offrant une interface moderne, mise à l'échelle 4K et un comportement Windows plus propre que l'original. L'émulateur s'appuie sur le matériel x87 de l'hôte pour les flottants, est validé par un fuzzer différentiel, mappe les handles et structures entre Win16 et Win32, gère les interruptions DOS et expose un protocole (MCP) permettant à des agents IA de voir et piloter l'interface et la mémoire invitée. Pour accélérer la génération de tours, l'auteur a tracé les routines chaudes, réécrit des blocs critiques en C et les a mappés comme nouvelles instructions 80286 patchées à l'exécution, a mis en tampon les I/O et réimplémenté les interfaces sonores, obtenant ainsi un gain de près de deux fois. Le projet compresse les actifs embarqués pour réduire la taille, neutralise la protection par clé en injectant un code fixe et une signature matérielle d'émulateur (désactivable), et publie le code source et des instructions de compilation pour les personnes souhaitant modifier ou étudier le système.

Show HN: jevals – replacing LLM judges with typed Jev decisions

Jevals propose d'évaluer des traces d'agents en envoyant, en une seule requête, des questions typées (oui/non, choix, rubriques) à un modèle de décision Jev plutôt qu'à un juge LLM générateur, ce qui réduit fortement coût et latence. La bibliothèque permet de définir des evals en Python ou YAML avec trois méthodes (state, questions, reduce), d'agréger plusieurs métriques dans une seule requête et d'exécuter ces évaluations en batch, en surveillance ou en boucle d'agent. Elle s'intègre à divers backends (Jev via Vercel AI Gateway, Kev, Laya ou en émulation avec un chat LLM) et fournit des composants prêts à l'emploi pour l'agent et la sécurité, comme ToolChoice, Grounded, IndirectInjection, PII/PHI et des métriques de qualité RAG. Les gates associent des evals à des politiques allow/escalate/block pour intercepter appels d'outils, résultats et boucles, avec calibration des seuils, conservation des preuves pour audit et possibilité d'escalade humaine sur les actions irréversibles. Les benchmarks montrent des coûts et latences très inférieurs aux juges LLM classiques, mais la calibration sur données humaines est recommandée; le projet est en alpha, open source, avec exemples, CLI, MCP et adaptateurs pour SDKs d'agents.

Prompts aren’t Real

Dan, ingénieur à Los Angeles avec vingt-cinq ans d'expérience, raconte son travail récent sur des agents destinés aux consommateurs. Il constate que, malgré les capacités des grands modèles de langage, les agents échouent de façon intermittente et parfois triviale en production. Pour contenir ces défaillances il recommande des mesures systématiques, des tests répétés (pass^k), des jeux de tests de validation et une surveillance continue en production. Plutôt que de se focaliser sur la rédaction manuelle de prompts, il préconise des boucles d'optimisation automatisées, des juges LLM et des datasets d'exemples bons/mauvais pour entraîner et évaluer les comportements. Il met en garde contre la charge mentale et les risques organisationnels associés, en soulignant que les prompts sont éphémères et que l'effort devrait se concentrer sur des systèmes auto-correctifs et des mesures robustes.

What's been going on in w64devkit the past year

Le projet w64devkit a accueilli un co-mainteneur, Peter0x44, dont les contributions ont orienté plusieurs améliorations reversées en amont. Les livraisons sont désormais signées, produites par des GitHub Actions automatisées et rendues immuables avec une attestation pour empêcher toute modification ultérieure. La chaîne d'outils x64 est devenue multilib pour compiler aussi en 32 bits, GCC peut être invoqué sans modifier le PATH, et Binutils gère maintenant bigobj par défaut pour éviter la limite de sections. De nombreux outils ont été ajoutés ou améliorés pour faciliter les builds et l'installation, notamment CMake configuré pour Ninja, ccmake, ccache amélioré pour Windows, widl/uuidgen, make2compdb, un outil de corbeille, quilt, NSIS et zstd. Au niveau des runtimes, une implémentation légère de threads C11 a été intégrée, std::terminate a été modifié pour trapper en débogage, et l'auteur envisage de réactiver LTO avec des runtimes FatLTO tout en conservant un support XP pour la version x86.

Coding Theory: A Playful Introduction

L'article commence par une mise en situation simple où deux voisins communiquent avec une lampe torche pour introduire les notions d'encodage, de décodage, de symbole et de mot de code. Il présente plusieurs méthodes: dessiner des lettres, cligner la lampe (système en base 1), optimiser par analyse de fréquence, puis passer au code Morse à points et traits en expliquant l'importance de la ponctuation et le problème des préfixes. Pour éviter les ambiguïtés on peut utiliser des codes de longueur fixe comme l'ASCII ou des codes préfixes optimaux générés par l'algorithme de Huffman, qui réduit fortement la taille et le temps d'envoi comme le montrent les exemples chiffrés. L'article souligne les compromis: Huffman est optimal pour la compression mais sensible aux erreurs bit à bit, ce qui motive les codes de canal pour la détection et la correction d'erreurs ainsi que la cryptographie pour la confidentialité. Enfin il décrit les aspects pratiques de la couche physique — codage de ligne (NRZ, NRZ‑I, Manchester, Differential Manchester), 4B5B, UTF‑8 et autres conventions — et conclut que ces techniques forment la base des échanges et du stockage modernes.

Trying the software factory pattern

L'auteur décrit la difficulté de suivre en 2026 des patterns d'IA qui émergent plus vite qu'il ne peut les adopter, en donnant des exemples concrets des changements chez Imprint. Au fil de l'année, l'équipe a déployé Claude Code pour les ingénieurs, mis en place des workspaces locaux multi-repos, migré de Jira vers Linear pour simplifier la gestion des tâches, puis lancé un système d'orchestration interne appelé Agent Fleet. Ils expérimentent le pattern de software factory, où un harness agentique boucle sur un objectif général et orchestre le travail en évaluant la documentation, les métriques (Datadog, Snowflake) et l'état des tickets. L'implémentation actuelle est un skill /linear-project-loop qui audite la présence d'un RFC dans Notion et de dashboards, crée les éléments manquants, ajoute et met à jour des issues, et réalise des tâches non bloquées comme rédiger ou mettre à jour des pull requests. Le système fonctionne localement pour l'instant mais doit être migré vers l'orchestrateur central, ce qui facilite le suivi post-release et évite la rétention d'information individuelle tout en dépendant fortement d'outils fournissant métriques et d'une source unique de vérité.

Show HN: Gdocs-me-up: a high-fidelity Google Docs exporter

Ce script Node.js exporte des documents Google Docs vers du HTML et du CSS en reproduisant fidèlement la mise en forme essentielle (titres, interlignes, alignements, listes à puces, images, sens RTL et table des matières). Il interroge l'API Google Docs pour extraire les styles nommés, les métriques de paragraphe, les tailles et recadrages d'images et les polices, puis injecte ces informations dans du HTML accompagné d'une feuille de style générée qui neutralise les comportements par défaut des navigateurs. L'installation exige Node.js (v20.9+), un compte de service Google Cloud avec API Docs et Drive activées et un fichier JSON d'authentification, puis on exécute node gdocs-me-up.js <DOC_ID> <OUTPUT_DIR> avec diverses options pour feuilles de style, scripts, nom de fichier HTML et dossier d'images. Les images inline et positionnées sont exportées aux dimensions du document avec recadrage responsive et redimensionnement sans agrandissement, les JPEG sont reconvertis en WebP de qualité élevée et les PNG sont optimisés ou convertis conditionnellement selon l'entropie et l'économie d'octets, tandis que les polices demandées sont centralisées via Google Fonts avec préconnect. Le projet comporte des tests unitaires, des tests de contenu et des comparaisons visuelles, offre des options de personnalisation (largeur de colonne, interlignes, balises de titres) et est publié sous licence MIT pour contributions et adaptations.

Custom home server built from spare parts

Agacé par les relances des services cloud et refusant de louer de l'espace ou d'exposer ses photos, l'auteur a décidé d'auto-héberger les fichiers familiaux et les sauvegardes. Il a transformé un Zotac MAGNUS EN1070K en stockage domestique en imprimant une extension pour loger une cage ICY Dock cinq baies plus un sixième disque, en ajoutant alimentation DC-DC, ventilateurs Noctua et adaptateur ASM1166 pour obtenir six ports SATA. Le système utilise six disques WD Red Plus en RAIDZ2 sur ZFS (43,7 To bruts, 29 To utilisables), chiffré et déverrouillé au démarrage par un serveur de clés local, et a survécu à l'extraction d'un disque pendant un test de résilience. Face aux limites de TrueNAS (absence de support Wi‑Fi et incompatibilité avec le GPU Pascal), il a déployé Kubuntu 24.04 avec ZFS, des services en Docker Compose, un tableau de bord personnalisé et une API d'actions, le tout versionné et testé via Git. Des compromis subsistent, notamment des températures de disque élevées malgré des améliorations de refroidissement, mais la machine offre en plus un petit écran tactile piloté par un ESP32-S3 pour afficher l'état et illustre la volonté de reprendre le contrôle des données familiales hors du cloud.