HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11615 articles Page 179/1162 Sans filtre

Animation in Bevy: The Big Picture

L'auteur décrit la difficulté de faire fonctionner un modèle 3D animé .glb dans Bevy en l'absence d'un modèle mental clair fourni par les exemples officiels. Le mécanisme d'animation de Bevy repose sur le composant AnimationPlayer, qui contrôle la lecture, et sur des AnimationGraph contenant plusieurs animations identifiées par des NodeIndex. Pour jouer une animation, il faut ajouter au même entity que l'AnimationPlayer un AnimationGraphHandle (référence au graphe) puis appeler player.play(node_index). L'exemple montre comment extraire un graphe et un index avec AnimationGraph::from_clip, ajouter le graphe aux assets, spawn la scène avec un composant AnimationToPlay et observer un système qui reçoit l'entité racine quand la scène est prête. Comme les scènes GLTF créent une hiérarchie d'entités, l'exemple parcourt les descendants avec iter_descendants pour trouver l'AnimationPlayer, y insérer le AnimationGraphHandle et lancer la lecture de l'animation.

Replacing a Rust Enum with a 64-Bit Word Made My Interpreter 17% Faster

L'article décrit une refonte de la représentation des valeurs dans l'interpréteur et la machine virtuelle Plush visant à réduire la mémoire et accélérer l'exécution pour atteindre un rendu 3D temps réel malgré l'interprétation. La représentation initiale utilisait un enum Rust étiqueté occupant 16 octets par valeur, ce qui gaspillait de la mémoire et pénalisait les caches quand de grandes structures de données étaient manipulées. La nouvelle implémentation emploie un nouveau type u64 avec étiquetage sur les bits de poids faible, encodant fixnums, flonums (via un schéma de self-tagging), immédiats et deux types de pointeurs, et conçue pour permettre des comparaisons rapides et des chemins chauds en une instruction. Sur des benchmarks variés la refonte réduit significativement l'empreinte mémoire sur les charges intensives et accélère tous les tests mesurés, grâce au fait que les valeurs tiennent désormais dans un registre (moins de spills et de trafic mémoire), même si certains cas provoquent des allocations de boxage d'entiers corrigibles par des réécritures mineures. L'auteur conclut que le changement est un succès pour l'efficacité et la performance, évoque comme pistes futures une machine registre (déjà réalisée après coup), l'exploration d'un dialecte minimaliste (JetLISP) et l'ambition d'atteindre des performances suffisantes pour des jeux et rendu 3D interactif.

We built our house for LAN parties (2024)

La maison a été conçue et construite par Kenton Varda et Jade Wang sur un terrain acheté en 2019 et achevée fin 2023, avec l'architecte Richard Varda, RSP Architects et Blue Horse Building & Design pour la construction. L'espace de jeu en sous-sol intègre douze stations encastrées, une table convertible révélant six stations supplémentaires et une «engine room» contenant vingt machines identiques démarrant par réseau depuis une image partagée, avec overlays copy-on-write et climatisation dédiée. L'infrastructure réseau comprend de nombreux câbles Cat6 et équipements UniFi (prises murales, points d'accès PoE, caméras et intercoms), un accès fibre 2 Gbps et des liaisons fibre longues pour DisplayPort/USB qui n'ajoutent pratiquement pas de latence, l'auteur reconnaissant toutefois l'erreur d'avoir omis des panneaux de brassage. Les postes de jeu assemblés en 2023 utilisent des composants ciblés (i5-13600KF, 32 Go DDR5, RTX 4070, châssis 4U), des périphériques simples et une image unique gérée par des scripts publiés sur GitHub; les 22 machines ont coûté environ 75 000 $ et la maison a été financée en partie par la vente d'une propriété antérieure, des actions et des investissements. La philosophie des LAN parties est sociale et sur invitation uniquement, privilégiant la convivialité et les jeux coopératifs plutôt que la compétition stricte, et la maison offre aussi des aménagements quotidiens (bureau, salles de réunion, chambres d'amis, portes pour chats, emplacements pour litière et dalles DDR intégrées) pour concilier vie familiale et jeu.

Getting phpBB 1.4.4 working in Docker

Un développeur a adapté une ancienne version de phpBB pour la faire tourner sous PHP5 et MySQL4 et fournit un package Docker permettant de rejouer l'expérience des forums d'il y a vingt ans. Les correctifs principaux portent sur l'initialisation de la base de données (AUTO_INCREMENT/NOT NULL), la gestion du cookie de connexion, et le traitement de chaînes vides pour les dates de dernier message, ainsi que quelques ajustements de php.ini liés à d'anciens paramètres comme register_globals. Cette version conserve des fonctions classiques telles que le choix de thèmes, l'attribution de grades, le BBCode et les émoticônes, ainsi que des outils de modération, d'inspection d'IP et de bannissement. Un dépôt et un fichier docker‑compose permettent de lancer l'ensemble localement en quelques commandes en indiquant que la base est joignable sur l'hôte 'db' avec les identifiants par défaut phpbb/phpbb, et il est fortement déconseillé d'exposer cette instance en production. Après l'installation il convient de verrouiller config.php, de supprimer ou renommer les scripts d'installation et d'upgrade, et de purger les volumes si l'on veut réinitialiser complètement la base, la documentation et le dépôt détaillent ces étapes.

A Topological Picture Book, Rendered

Le rendu vise l'esthétique des surfaces hachurées à la main dans la veine de Francis, Apéry et Hilbert–Cohn‑Vossen et propose des commandes interactives (glisser pour tourner, molette pour approcher, gestes tactiles pour tourner et zoomer). L'image est construite par traits plutôt que pixels : les silhouettes sont extraites comme l'ensemble nul de n·v avec normales interpolées et chaînées en courbes lisses, les bords et la courbe double sont ajoutés, et toutes ces chaînes sont dessinées en rubans effilés suivant un modèle de plume avec variation de poids et une oscillation manuelle cohérente. La visibilité est résolue sur GPU via un passage de lignes cachées qui trace les parties occultées en tireté et ajoute un halo papier unilatéral sous les contours proches, tandis que le hachurage provient de lignes de courant du champ des droites principales de courbure tracées à l'instanciation en trois densités imbriquées, avec croisement dans les zones sombres, sélection tonale des familles et réserves pour les hautes lumières, et ordre des directions principal basé sur la courbure signée pour assurer la continuité. Les chaînes de contour sont légèrement lissées avant encrage, les traits dépassent légèrement leurs extrémités selon la pratique du rendu esquissé et des effets manuels comme des boursouflures d'encre et un effilochage dans le grain du papier sont simulés, les étiquettes sont calligraphiées à la main, reliées par des leaders et estompées lorsque leur point est caché. Le document s'appuie sur une large bibliographie de travaux en rendu non photoréaliste et en topologie (Francis, Hertzmann, Jobard, Appel, Praun, etc.) et fournit des notations et fonctions JavaScript prêtes à l'emploi pour générer immersions et surfaces (boy, torusknot, apery, kusner) ainsi que les opérateurs mathématiques disponibles.

Science of the Gaps (2025)

L'auteur soutient que la science établie paraît souvent plus définitive qu'elle n'est en raison d'une illusion cognitive et de la tendance humaine à combler automatiquement les lacunes. L'entretien entre Joe Rogan et Mel Gibson sert d'exemple : on suppose l'existence de génomes d'hominidés anciens alors que l'ADN très ancien se conserve rarement et que seuls des génomes récents comme ceux des Néandertaliens et Denisoviens sont disponibles. Les paléontologues notent que le registre fossile est souvent saccadé et inattendu, ce qui a remis en question le gradualisme darwinien et favorisé des modèles alternatifs comme l'équilibre ponctué ou le saltationnisme. Le texte affirme que l'éducation scientifique et la communication publique exposent des preuves partielles qui incitent le public à imaginer à tort que les preuves complètes et cohérentes existent déjà. L'auteur conclut, sans plaider pour le créationnisme, que la pratique scientifique est complexe et imparfaite et que le consensus perçu par le grand public est fréquemment surestimé.

Benchmarking Qwen3.8 27B quantizations: 4-bit holds up, 1-bit collapses

L'article analyse l'impact des quantifications du modèle Qwen3.8 27B, dont la version BF16 pèse 55 Go, tandis que les quantifications vont de 29 Go en 8 bits à 6,2 Go en 1 bit. Sur des benchmarks pratiques (GPQA Diamond, IFBench et Terminal-Bench 2.1), la quantification 4 bits Q4_K_M (17 Go) reproduit les performances du modèle BF16, et tient sur une carte 24 Go comme la RTX 4090 en laissant de la place pour un contexte long. Les quantifications 2 bits montrent une légère dégradation sur certains tests et demandent un peu plus de tokens de sortie, tandis que les quantifications 1 bit provoquent un effondrement marqué des performances jusqu'au niveau du hasard, surtout avec un raisonnement long. L'auteur note que le réglage de l'effort de raisonnement et la taille du cache KV (F16, environ 2,3 Go par 32k tokens) influent fortement sur les résultats et sur la mémoire GPU requise. Le rapport conclut que, pour des expérimentations locales, il vaut mieux choisir le meilleur quantifié qui tient en mémoire avec le contexte nécessaire et recommande d'adopter la quantification plutôt que de la craindre, en soulignant aussi les coûts élevés des tests sur GPU loués.