HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11427 articles Page 86/1143 Sans filtre

Opus 5.5 is good at explainer videos

Un agent serverless sur OpenComputer prend une URL ou un prompt et produit un MP4 d'environ quatre minutes en une seule exécution sans possibilité d'édition. Le film est écrit par le modèle anthropic/claude-opus-5.5 (environ 90k tokens d'entrée et 15k de sortie) et l'agent génère le code du film avant de le rendre. L'agent est une unique fonction TypeScript déployée avec opencomputer deploy et utilise trois outils principaux : web_fetch, check_scene et render_video. Le rendu se déroule dans une microVM jetable (Amazon Linux 2023, arm64, 4 vCPU, 8 Go RAM) où Chromium headless et ffmpeg produisent des images JPEG à 1920x1080 30 fps, la lecture étant pilotée par une horloge virtuelle pour garantir la déterminisme. Les MP4 finis sont uploadés vers un Blob Vercel public temporaire, l'agent ne stocke pas de secrets et la page suit la progression via une API de session et un flux d'événements.

Show HN: Koi.rest – watch some fish and regain your balance

Paul, développeur et explorateur ayant le TDAH, est au chômage depuis début août et a vécu beaucoup de stress cette année. Il souhaitait créer un jardin zen virtuel lié à un projet de balcon mais a reporté l'idée parce qu'il ne connaît pas JavaScript et n'avait pas la capacité d'apprendre. Finalement il a utilisé l'intelligence artificielle pour réaliser une version « suffisamment bonne » plutôt que de viser la perfection et a ajusté le résultat sans coder lui‑même. Le projet est désormais en ligne sous la forme d'un petit bassin de koi virtuel que des inconnus peuvent regarder tranquillement. Il espère que ce bassin aidera les autres comme il l'a aidé et indique qu'il est toujours à la recherche d'un emploi.

The forgotten battle of East Lansing

En juin 1937, un conflit a éclaté lorsque des membres de syndicats automobiles organisant une grève et la Flying Squadron du UAW se sont déplacés de Lansing vers East Lansing, provoquant une confrontation avec des étudiants du Michigan State College. Le mouvement a commencé après le licenciement de dirigeants élus d'une entreprise locale, une injonction judiciaire et l'arrestation de plusieurs responsables syndicaux, ce qui a conduit le syndicat à appeler à une "Lansing Labor Holiday" rassemblant environ 15 000 travailleurs. À East Lansing, des étudiants et des membres de l'ROTC ont bloqué les rues, affronté les syndicalistes, retiré certains d'entre eux des véhicules et jeté entre huit et vingt hommes dans la rivière Red Cedar lors d'altercations parfois violentes. La presse, des responsables politiques et des habitants ont majoritairement salué l'action étudiante tandis que le gouverneur Frank Murphy observa la scène depuis son cheval sans autoriser l'usage des montures par les étudiants. Malgré la couverture médiatique anti‑syndicale, l'entreprise concernée signa le jour même un contrat reconnaissant la représentation collective du UAW et les inculpations furent abandonnées, Lester Washburn se voyant infliger uniquement une amende.

Sourcehut account takeover via build logs (XSS in ansi2html)

L'auteur explique qu'il a audité SourceHut et les paquets ansi2html en cherchant à corriger un problème d'affichage dans les logs de build. Il a découvert qu'ansi2html convertit mal les séquences OSC 8 en HTML et permettait des hyperliens malformés ou en javascript, entraînant des XSS dans les pages de logs de builds.sr.ht. L'exploitation permettrait à un attaquant sans privilège d'injecter du JavaScript exécutable dans les logs, de lire des jetons CSRF et de resoumettre des jobs pour accéder potentiellement aux clés de déploiement, rendant la faille susceptible de propagation automatisée et ayant un fort impact sur la confidentialité et l'intégrité. Après signalement, SourceHut a appliqué une mitigation côté builds.sr.ht et les mainteneurs d'ansi2html ont publié des correctifs aboutissant à la version 1.9.4, suivis de mises à jour distribuées. L'article fournit les versions vulnérables, des indicateurs de compromission pour détecter les séquences OSC 8 malicieuses dans les logs et recommande des mesures de défense en profondeur comme un Content-Security-Policy strict et une sanitisation accrue.

Security auditing in the age of (good enough) AI

Avant même la revue de code, des agents ont été utilisés pour développer des outils personnalisés et des modèles formels afin d'améliorer la qualité et la profondeur de l'audit. Pour l'audit du Miden VM et de son langage d'assemblage MASM, l'équipe a passé six mois à faire générer par des agents un serveur LSP, un décompilateur, un moteur d'analyse statique et un modèle Lean de l'exécuteur. Les outils ont identifié plus de 400 emplacements où la validation de type pouvait être améliorée et ont découvert une vulnérabilité critique dans mod_12289 permettant potentiellement à un prouveur malveillant de forger des signatures Falcon et de dérober des fonds. Le travail formel a généré 95 preuves vérifiées par machine couvrant les composants arithmétiques binaires et a permis de révéler deux bugs subtils non détectés par les tests unitaires, l'un dans la rotation droite 64 bits et l'autre dans la multiplication 256 bits. Grâce aux agents automatisés, ces projets exploratoires sont devenus économiquement viables, les outils développés ont été adoptés par l'équipe Miden et devraient renforcer la sécurité lors des mises à jour futures.

California is chasing wealth that has feet

La Californie a certifié pour le scrutin de novembre une taxe unique de 5 % sur les milliardaires, payable sur cinq ans, visant à dégager environ 20 milliards de dollars par an pour la santé, l'aide alimentaire et les écoles. Les auteurs expliquent que cette taxe risque d'échouer parce que les milliardaires sont mobiles et peuvent changer de domicile fiscal, alors que la terre est immobile et représente une base fiscale beaucoup plus vaste et stable, évaluée à environ 8,14 billions de dollars (environ 8 140 milliards). Ils soulignent que la proposition surestime la base imposable en raison de la fuite de résidents fortunés — plusieurs milliardaires ont déjà quitté l'État — ce qui obligerait à relever le taux et encouragerait de nouvelles sorties de capitaux. Selon leur calcul, une taxe sur la valeur foncière de seulement 0,25 % rapporterait les mêmes 20 milliards par an et une taxe d'environ 1 % pourrait financer en permanence le budget californien de santé et services sociaux de 87 milliards de dollars. Les auteurs concluent que la taxation de la valeur foncière est plus efficace et difficilement évitable, qu’elle capture les plus-values créées par la collectivité et qu’elle s’attaque au problème structurel hérité de la Proposition 13 plutôt que de s’appuyer sur des taxes sur la richesse mobile.

The Board Game of the Alpha Nerds (2014)

Lors d'un tournoi à Dixiecon, l'auteur décrit une partie de Diplomacy qui a dégénéré en trahisons, humiliations et tensions émotionnelles intenses. Le texte retrace aussi l'histoire du jeu, créé en 1954 par Allan B. Calhamer, diffusé via jeux par correspondance et fanzines, et structuré par des rassemblements comme DipCon et le World DipCon, où des figures comme Edi Birsan ont beaucoup influé sur la communauté. Les règles simples — déplacements simultanés et absence de hasard — font de la négociation le cœur du jeu, ce qui le rend à la fois captivant et particulièrement propice aux conflits interpersonnels. La communauté est divisée entre joueurs coopératifs dits «care bears» et «tournament sharks» visant le solo, ce qui alimente une culture parfois toxique, des incidents de colère, des problèmes de rétention et une faible diversité parmi les participants. Des vétérans comme Edi Birsan affirment que Diplomacy est autant un jeu de confiance qu'un exercice stratégique et que, malgré les blessures et les controverses, il reflète des dilemmes de la vie réelle et inspire certains joueurs à privilégier l'honneur et la discussion plutôt que la trahison systématique.

Book review: Is parallel programming hard, and, if so, what can you do about it?

L'auteur du compte rendu, issu d'un parcours en TLA+ et en systèmes distribués, a entamé la lecture après une conférence qui l'a poussé à approfondir la concurrence, et il a lu le livre pendant des vacances au Canada. Le manuel est proposé en plusieurs formats PDF, mais l'abondance de liens internes rend la navigation sur liseuse tactile frustrante. Les premiers chapitres présentent clairement le matériel et les habitudes du processeur, et le lecteur a regretté l'absence d'une explication basique du protocole MESI qui aurait aidé à comprendre les effets de cache et l'impossibilité d'écritures littéralement concurrentes. Le chapitre sur les optimisations compilateur et les comportements processeur met en garde contre des transformations surprenantes, tandis que le chapitre sur le comptage explore de nombreuses techniques de comptage parallèle, souligne le problème du false sharing et aboutit à une solution avancée que le lecteur n'a pas entièrement assimilée. Globalement l'ouvrage est jugé excellent et stimulant, suscitant l'envie d'approfondir la programmation parallèle et d'étudier des sujets comme les collecteurs de déchets haute performance, tout en notant des lacunes sur la formalisation moderne des atomiques et sur le traitement détaillé du lock-free et de l'ordonnancement mémoire.

Writing Parquet files using Haskell

Les auteurs ont implémenté un écrivain Parquet dans DataHaskell/Dataframe avec une API simple (writeParquet) et une variante configurable (writeParquetWithOptions) pour produire des fichiers Parquet avec des valeurs par défaut raisonnables ou des options fines. L'article décrit la structure d'un fichier Parquet: une suite de row groups contenant des column chunks, eux‑mêmes composés de pages de données, et des métadonnées en fin de fichier pour localiser les chunks et stocker statistiques et filtres. Les options d'écriture exposent des paramètres comme pageSize, rowGroupSize, batchRows, subBatchRows, compressionCodec, strategy et maxRowsPerFile, et l'écrivain écrit par lots et sous‑lots pour approcher les tailles cibles tout en synchronisant le nombre de lignes par column chunk. L'implémentation utilise des buffers mémoire mutables (pinned MutableByteArray) gérés via IORef, un état composé de ColumnChunkState et PageState, et une boucle principale qui effectue un fold effectif sur le DataFrame en assemblant des pages puis en flushant des row groups sur disque. Actuellement le writer est mono‑thread, supporte Snappy et l'absence de compression, l'encodage Plain et des niveaux de définition limités à 1, et les améliorations prévues incluent plus de compressions/encodages, la parallélisation, l'ajout de statistiques/bloom filters et le basculement partiel vers des tampons sur disque pour réduire la mémoire.