HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11427 articles Page 79/1143 Sans filtre

Go Concurrency Distilled

Ce mini-livre propose un aperçu compact des concepts de concurrence en Go avec des exemples interactifs et s'adresse plutôt aux lecteurs déjà familiers du langage. Il explique les goroutines légères, la communication via des channels (bidirectionnels, directionnels, tamponnés), l'instruction select pour gérer les cas concurrents et le pattern des pipelines pour enchaîner des traitements. Le texte détaille les primitives de synchronisation — WaitGroup, mutex/RWMutex, sémaphores implémentées par channels, sync.Cond, sync.Once, sync.Pool — ainsi que l'utilisation des opérations atomiques et la prévention des data races et conditions de course. Il couvre la gestion temporelle avec time (Timer, Ticker, time.After), l'usage de context pour annulation et délais, et présente des approches pour tester le code concurrent de manière déterministe, y compris avec synctest. Enfin, le livre aborde l'ordonnancement des goroutines par le runtime et les outils de diagnostic et de profiling (metrics, pprof, trace, flight recorder) pour surveiller et analyser les applications concurrentes en production.

Pentium II at 600Mhz with Voodoo 3 Emulated on 86Box with M6 Mac Mini

86Box émule un PC ancien au niveau matériel et la précision du timing CPU, des chipsets et des périphériques est cruciale pour que les logiciels d'époque se comportent correctement. Presque tout le travail d'émulation repose sur un seul thread hôte, donc les performances mono‑coeur et la capacité à maintenir une fréquence élevée sans throttling déterminent le plafond d'émulation. Avec un build 86Box modifié et une charge composée de Cinebench 2000 plus lecture audio en temps réel, le Mac Mini M4 tient 500 MHz de Pentium II tandis que le M6 atteint 600 MHz stables, soit environ 20 % de mieux. Les scores Cinebench émulés sont significativement plus élevés que certains résultats rapportés sur matériel d'époque, une divergence dont l'origine exacte (timings mémoire, cache ou limites d'émulation) reste incertaine. Le projet a bénéficié d'améliorations logicielles pour ARM et d'un recompilateur JIT pour Voodoo, et les résultats montrent que les Mac Mini Apple Silicon, notamment le M6, sont de très bonnes machines pour l'émulation 86Box.

Why didn't anybody tell me about Redis hash slots?

L'auteur décrit un service qui choisit quel livreur se voit proposer une livraison et explique que l'estimation de distance via un moteur de routage est le principal contributeur à la latence. Comme les demandes d'itinéraires sont souvent répétitives, ils ont voulu mettre en cache les estimations en utilisant H3 pour regrouper les coordonnées, mais le format de clé origin:dest:res a empêché les MGET/MSET groupés dans un cluster Redis à cause des 16 384 slots. La solution a consisté à utiliser les hash tags Redis (contenus entre accolades) et à pré-calculer des balises numériques qui mappent chaque tag vers les slots des différents primaires afin de concentrer les clés sur peu de slots et d'envoyer des commandes multi-clés par nœud. Ils ont ensuite optimisé la fan-out en triant et regroupant localement les clés par slot pour éviter de saturer un nœud unique, remplacé les pipelines SET/EX par un script EVAL pour définir des expirations atomiques et réduit le coût CPU des valeurs en passant de JSON à un format CSV. L'ingénieur retient qu'il faut mesurer avant d'optimiser, construire des bancs d'essai qui reproduisent la charge réelle et n'adopter des algorithmes plus complexes que lorsque l'on sait que n est régulièrement important.

Meta's Muse appears to use an OpenAI model labeled muse-special

L'auteur a découvert dans les logs de Muse une session utilisant un modèle nommé azure/muse-special, isolé parmi la majorité des sessions routées vers le modèle interne Avocado. Des indices techniques — un tag gpt_responses_v1, un payload chiffré commençant par gAAAAA et des identifiants d'appel au format OpenAI — suggèrent que muse-special est un alias pour un modèle OpenAI servi via Azure. Le catalogue de modèles embarqué inclut aussi des variantes Claude d'Anthropic, des GPT-5.5/5.6 via OpenAI et Azure, ainsi que divers itinéraires Meta, et le runtime contient du code client pour Anthropic avec gestion des requêtes et du streaming. Meta dispose de clés API et d'un proxy avec un kill-switch, ce qui permet de router certains sous-agents vers fournisseurs externes pour des tâches spécifiques ou des tests A/B, la distillation et le RL étant évoqués mais non prouvés. Techniquement, les raisonnements bruts fournis par OpenAI/Anthropic sont chiffrés et non utilisés par le serveur RL tandis que les modèles Avocado inscrivent le texte de réflexion en clair dans les transcriptions, et l'auteur conclut que muse-special est probablement un modèle OpenAI via Azure.

Factorio that you can touch

L'initiative est née lors d'un playtest estival pour le DLC Space Age, où Wube et Prusa Research ont collaboré pour produire des modèles Factorio imprimables en 3D. L'équipe a développé 15 ensembles contenant 65 modèles individuels et a priorisé les éléments du début de partie, en particulier un système de grille pour les convoyeurs et les bras insérteurs. Les principaux défis techniques ont été l'évitement des supports pour l'impression FDM, la traduction de l'esthétique isométrique en volumes réels et la création de versions emboîtables ou à grand jeu pour l'assemblage. Pour les entités organiques comme les biters, les géométries ont été retravaillées, avec découpe de coques et optimisation de l'orientation d'impression afin de minimiser les marques de support et d'assurer la solidité. Tous les fichiers STL sont disponibles au téléchargement sur le profil Prusa Brands de Printables pour que la communauté puisse imprimer et personnaliser librement ces modèles.