HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

7182 articles Page 431/719 Sans filtre

06:07

Doom, Played over Curl

Un serveur HTTP exécute une instance headless de DOOM, rend chaque frame en blocs demi-hauteur ANSI et les streame vers un terminal via curl, sans dépendances autres que curl et bash. On peut y jouer de deux manières: en lançant un script one-liner via curl | bash qui gère la boucle de touches, ou en utilisant un unique POST streaming avec curl en mode raw pour envoyer les frappes et recevoir les frames sur la même connexion. Le serveur garde une session par joueur avec un processus doomgeneric, communique via pipes pour commandes et frames, downsample les images 640×400 en utilisant le glyphe ▀ pour doubler la résolution verticale et n'envoie des séquences SGR que lorsque la couleur change. La diffusion par défaut est 15 fps (configurable via le paramètre fps) pour éviter l'entassement de trames quand stdin est inactif, et on peut ajuster cols et rows via paramètres d'URL ou variables d'environnement. Le projet nécessite Node.js 18+, un compilateur C et le WAD shareware, s'installe avec npm et make, expose une API (POST /new, /tick, /play, /quit, etc.) et fournit des instructions pour héberger et personnaliser le serveur.

06:06

Cooperative Vectors Introduction

En 2021 l'équipe a commencé à intégrer des réseaux neuronaux dans leur moteur de rendu, d'abord pour des matériaux neuronaux en inférence seule, puis en étendant le cadre pour l'entraînement à la volée nécessaire au Neural Radiance Caching. Les accélérations matérielles existantes (Tensor Cores, XMX, WMMA) étaient fragmentées et l'extension cooperative matrix ne gérait pas les cas divergents où des pixels adjacents nécessitent des réseaux et des poids différents, ce qui a motivé la proposition VK_NV_cooperative_vector de NVIDIA. Les "long vectors" en HLSL sont des vecteurs par invocation stockés en VGPR permettant à chaque thread de porter des entrées distinctes, lesquelles peuvent être regroupées au niveau de la wave pour des opérations vector-matrice accélérées et utilisables dans plusieurs stades de shader. Les matrices existent en layouts transparents (row/column) et en layouts optimaux opaques (MulOptimal pour l'inférence, OuterProductOptimal pour l'entraînement), nécessitant des conversions contrôlées par l'API et exposant des opérations telles que MatMul, MatMulAdd, OuterProductAccumulate et VectorAccumulate pour inférer et calculer des gradients. En pratique il faut convertir entre layouts pour mise à jour CPU, les layouts optimaux empêchent l'accès élémentaire direct, la proposition DirectX évolue vers un ensemble "linear algebra" tandis que l'extension Vulkan pour vecteurs coopératifs reste propriétaire NVIDIA, et la solution antérieure de grouper par matériau reste un palliatif suboptimal.

06:06

Bouncer: Block "crypto", "rage politics", and more from your X feed using AI

L'extension de navigateur permet de filtrer en temps réel les publications indésirables sur le fil Twitter/X en utilisant des filtres décrits en langage naturel. Elle prend en charge plusieurs backends d'IA (locaux ou via API cloud comme OpenAI, Google Gemini, Anthropic, OpenRouter) et propose l'inférence locale via WebLLM pour ne pas envoyer de données à l'extérieur. Les modèles multimodaux peuvent analyser texte et images, chaque publication étant classée, masquée avec une animation et accompagnée d'une explication sur la raison du filtrage. L'extension est disponible via le Chrome Web Store et l'App Store iOS, et peut également être installée depuis le code source en chargeant l'extension dans Chrome/Edge. Un MutationObserver surveille le fil pour détecter de nouvelles publications et les résultats sont mis en cache pour éviter des inférences répétées.

06:06

Show HN: Claudraband – Claude Code for the Power User

Claudraband encapsule l'interface Claude Code TUI dans un terminal contrôlé pour conserver, reprendre et piloter des sessions via la ligne de commande. Il fournit des workflows non interactifs reprenables, un démon HTTP pour contrôle distant, un serveur ACP pour intégration d'éditeurs et une bibliothèque TypeScript pour automatiser ces flux. Ce projet n'est pas un substitut au SDK : il exige une authentification via Claude Code et chaque interaction passe par une session Claude Code réelle. L'installation nécessite Node.js ou Bun, une session Claude Code authentifiée et tmux pour le mode local ou démon, avec des commandes clés comme cband continue, sessions, serve et attach. Des exemples TypeScript, une option expérimentale --backend xterm et une gestion des sessions stockées dans ~/.claudraband sont documentés dans les fichiers docs et examples du dépôt.

06:06

Mark's Magic Multiply

L'article traite de la multiplication en virgule flottante simple précision sur processeurs embarqués et des optimisations logicielles et matérielles possibles. L'auteur présente Xh3sfx, une extension RISC‑V "firm floating point" qui accélère les routines de virgule flottante en remplaçant des fonctions runtime par des opérations ALU spécialisées, offrant par exemple l'addition simple précision en 14 cycles et la multiplication en 16 cycles. Il décrit l'implémentation par défaut de la multiplication qui consiste à dépaqueter exposants et significands, effectuer un produit exact 32×32→64, écraser et normaliser le produit puis reconditionner le résultat pour l'arrondi correct. Après avoir testé une multiplication "schoolbook" en quatre produits 16×16→32 qui coûte environ 33 cycles, l'auteur présente une astuce de Mark Owen utilisant seulement deux produits 32×32→32 pour calculer un produit 23×23→46 avec une correction bornée, réduisant le travail de manipulation de bits. L'auteur adapte la méthode de Mark Owen à RISC‑V, gagne quelques cycles (environ 30 cycles pour fmul) et suggère que la technique pourrait être généralisée au cas double précision sans l'avoir formellement démontré.

06:05

A Tour of Oodi

Oodi est une bibliothèque située près de la gare centrale d'Helsinki, conçue comme un espace innovant polyvalent. Le rez-de-chaussée propose un grand écran invitant au séjour, des espaces de jeu avec échecs et go, un restaurant et un cinéma intégré. Le deuxième étage regroupe des postes numériques professionnels, des studios d'enregistrement et de production sonore, la location d'instruments, de nombreuses salles de groupe à louer, une cuisine partagée et des salles de jeux avec consoles et équipement VR. Un makerspace équipé d'imprimantes 3D, de découpeuses laser, de graveurs, de machines à coudre et d'autres outils, avec du personnel pour former et assister les usagers, est également disponible. Le troisième étage abrite les collections traditionnelles accessibles sur des rayonnages bas, un café intégré, un espace enfants aménagé, de nombreux lieux de travail avec prises électriques, un système de robots pour le stockage des documents et la possibilité de visiter l'établissement en ligne.

06:05

Pro Max 5x quota exhausted in 1.5 hours despite moderate usage

L'auteur signale qu'après une remise à zéro du quota sur un plan Pro Max 5x, le quota a été consommé en 1,5 heure malgré une utilisation modérée. L'investigation indique que les jetons cache_read semblent être comptés au taux plein contre la limite de débit, annulant ainsi l'avantage du caching de prompts. Les fichiers de session montrent des lectures de cache très élevées, des sessions en arrière-plan qui partagent et épuisent le même quota, et des auto-compactions générant des pics coûteux. Le problème est amplifié par une fenêtre de contexte d'un million de jetons, car chaque appel envoie un contexte quasi-complet et rend les appels fréquents extrêmement consommateurs de quota. L'utilisateur propose de comptabiliser cache_read à un taux réduit (1/10) pour le quota, d'ignorer ou d'avertir les sessions inactives, et d'améliorer la visibilité ainsi que les estimations de coût avant les opérations.