HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3464 articles Page 229/347 Sans filtre

07:01

Ten Years of Deploying to Production

En 2018, l'entreprise disposait d'une équipe d'exploitation chargée de la production, regroupée dans un coin du bureau. L'équipe a commencé à envisager AWS, mais les déploiements en production avaient lieu toutes les deux semaines et dépendaient de sa disponibilité. Les modèles en production se comportaient mal et les clients signalaient des résultats incohérents, ce qui poussait l'équipe à corriger le modèle ou la logique métier. Pour résoudre le problème, l'auteur a collaboré avec les équipes et l'équipe d'exploitation, appris Chef, créé un dépôt PyPi interne utilisant des tags Git comme versions et mis en place le versionnage ainsi que des revues de PR, puis déployé en production pour répondre aux préoccupations des clients. Depuis lors, il observe une évolution vers une équipe d'ingénierie de plateforme visant une expérience développeur fluide et une production plus résiliente, même si les détails restent à préciser.

07:01

Autoresearch: Agents researching on single-GPU nanochat training automatically

Le texte décrit un projet qui laisse des agents d'IA autonomes expérimenter et optimiser un cadre d'entraînement LLM en modifiant uniquement train.py, après préparation des données via prepare.py et en suivant les instructions dans program.md. Le fichier train.py contient le modèle GPT, l'optimiseur et la boucle d'entraînement, et constitue la cible unique de modification par l'agent, tandis que prepare.py et program.md restent fixes. Les expériences s'enchaînent sur un budget fixe de cinq minutes par essai et la performance est mesurée par val_bpb, une métrique indépendante du vocabulaire où une valeur plus faible est meilleure. Le design vise la simplicité et la traçabilité des résultats, avec un fonctionnement sur une seule GPU et des exécutions estimées à une douzaine par heure ou cent par nuit. Le dépôt souligne des choix de conception simples, encourage les forks et indique une licence MIT, tout en mentionnant l'existence d'un cadre plus large dans le dépôt parent nanochat.

07:01

Yoghurt delivery women combatting loneliness in Japan

Au Japon, pays au vieillissement rapide, la solitude des personnes âgées est de plus en plus problématique et des femmes qui livrent Yakult jouent un rôle clé dans le lien social. Les Yakult Ladies ne se limitent pas à livrer la boisson probiotique, elles forment un filet social informel et une source de sécurité pour les habitants. Leur visite hebdomadaire offre des conversations et une vigilance qui donnent énergie et réconfort à des personnes vivant souvent seules. L’initiative est née en 1935 et a été formalisée en 1963, reposant sur un réseau de vendeuses autonomes qui parcourent les rues à vélo jusqu’aux maisons. Le modèle s’est étendu à l’international, avec des Yakult Ladies dans des pays comme la Chine, l’Indonésie, la Malaisie, le Brésil et le Mexique, tout en restant une forme de soutien social autant que commercial.

07:01

Dumping Lego NXT firmware off of an existing brick (2025)

Dans cet article, l’auteur décrit ses tentatives d’archiver le firmware 1.01 du Lego Mindstorms NXT et les opportunités d’exécution arbitraire découvertes au passage. Différentes approches sont explorées, notamment le SAM-BA, le JTAG et le développement via un programme NXT, mais chacune présente des obstacles techniques ou de sécurité. La piste clé consiste à exploiter l’IO-Maps du VM pour lire des structures internes et modifier le pointeur de fonction pRCHandler, ouvrant la porte à du code natif. L’exploit est mis en œuvre en utilisant un memory pool de 32 KiB et un NOP sled pour injecter et exécuter du code ARM en mémoire. Le processus permet de dump le firmware et les données, et suggère une éventuelle applicabilité à d’autres firmwares dérivés, avec des implications pour archivage et sécurité.

07:00

Emacs internals: Deconstructing Lisp_Object in C (Part 2)

Lisp_Object est un mot-machine de 64 bits dont les trois bits les plus faibles portent le tag du type. Pour les fixnums, les 62 bits supérieurs contiennent directement la valeur et la plage est -2^61 à 2^61-1. Les autres types utilisent des pointeurs vers des structures heap et sont manipulés via des macros comme XUNTAG et XFIXNUM, avec l'enum Lisp_Type définissant Lisp_Symbol, Lisp_Cons, Lisp_String, Lisp_Vectorlike et Lisp_Float. L’approche est data-first et relie les axiomes de McCarthy à des primitives C, en répartissant les responsabilités entre lisp.h pour les données et alloc.c, lread.c et eval.c pour la mémoire et l’évaluation. Le texte montre aussi l’usage de macros C ressemblant à du Lisp pour favoriser l’inlining et illustre le motif plus général du tagged pointer, présent dans d’autres langages comme C++, Rust ou Lisp.

07:00

MonoGame: A .NET framework for making cross-platform games

MonoGame est un cadre .NET simple et puissant pour créer des jeux multiplateformes. Il s'agit d'une ré-implémentation open-source du framework XNA et il a été utilisé pour des jeux tels que Streets of Rage 4, Carrion, Celeste, Stardew Valley et beaucoup d'autres. Il prend en charge Windows, Linux et macOS, les appareils mobiles Android et iOS, et les consoles pour les développeurs enregistrés. Des ressources, des exemples et des outils comme le pipeline de contenu, mgcb et mgfxc et les templates accompagnent le développement. Le code source est disponible sur GitHub sous licence publique Microsoft, avec des directives de contribution, un système de discussions et des dons optionnels.

07:00

CasNum

CasNum est une bibliothèque qui réalise l'arithmétique à précision arbitraire en utilisant des constructions au compas et à la règle, partant d'un plan où l'on considère l'origine et une unité. Dans ce cadre, un nombre x est représenté par le point (x,0) et toutes les opérations arithmétiques et logiques (addition, produit, division; ET, OU, XOR) s'obtiennent par des constructions géométriques comme les milieux de segments et les similarités de triangles. Parmi les usages possibles figurent l'exécution d'un petit programme RSA et l'intégration dans l'unité arithmétique d'un émulateur Game Boy, afin que le système fonctionne entièrement par constructions géométriques. Des exemples prévus et disponibles, notamment basic et rsa, démontrent l'approche, et l'intégration dans PyBoy a été rendue fluide avec peu de modifications dans le code des opcodes. Le projet privilégie le cache Python pour améliorer les performances, énumère des dépendances (Sympy, pyglet optionnel, pytest-lazy-fixtures, pycryptodome, etc.) et est publié sous licence MIT avec des crédits à des composants tiers comme PyBoy.

07:00

"Warn about PyPy being unmaintained"

Le texte indique que PyPy ne semble plus être activement développé et est progressivement abandonné, même par numpy. Il n’existe pas de déclaration officielle du projet, mais une issue de numpy est attribuée à un développeur PyPy. Une mise en garde a été ajoutée pour éviter que les utilisateurs supposent que PyPy bénéficie d’un support et d’un développement adéquats. La MR mentionnée met à jour le paquet astral-sh/uv vers la version 0.9.27 et inclut diverses améliorations. Les notes de version indiquent notamment des mises à jour Python (Pyodide 0.29.2 et GraalPy 25.0.2), des améliorations et des corrections de bogues.

07:00

Cloud VM benchmarks 2026

Cette étude compare 44 types de VM parmi 7 fournisseurs et utilise 2x vCPU comme unité minimale pour les résultats. AMD EPYC Turin domine les performances par thread, tandis que Granite Rapids apporte une amélioration et plus de stabilité par rapport aux générations précédentes. Les options ARM comme Google Axion, Azure Cobalt 100 et AmpereOne M offrent des alternatives intéressantes, avec une variabilité notable sur Emerald Rapids selon les nœuds. En termes de coût, OCI et Hetzner offrent les meilleures valeurs, et Oracle propose une offre gratuite ainsi que des tarifs compétitifs sans engagement de réservation. Les conseils pratiques recommandent d’adopter les CPU modernes, d’envisager des réservations à 1 ou 3 ans et d’utiliser les instances spot lorsque la tolérance à l’interruption le permet.