HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 474/1208 Sans filtre

Mac gaming is finally getting the overpowered upgrade it deserves

La bêta récente du kit de portage d'Apple améliore nettement les performances des jeux Windows sur Mac, GTA V affichant environ 66 % d'images par seconde en plus sur un MacBook Pro M4 Pro. L'outil traduit en temps réel les appels DirectX vers l'API Metal et gère d'autres API Windows, ce qui permet de lancer des titres non natifs et d'aider les développeurs à évaluer des ports macOS. Des tests montrent des gains visibles sur plusieurs jeux, une meilleure fluidité et la possibilité d'augmenter les réglages graphiques sans pertes de fréquence d'images majeures. Ces progrès résultent principalement d'une réduction des coûts de traduction logicielle, libérant des ressources des puces Apple Silicon pour le rendu plutôt que pour l'émulation. Si Windows conserve un catalogue et un écosystème supérieurs, ces avancées rapprochent le Mac d'une plateforme de jeu plus crédible à condition que l'outil et l'engagement des développeurs se poursuivent.

Static search trees: 40x faster than binary search (2024)

L'article présente la mise en œuvre d'un arbre de recherche statique (S+ tree) visant à maximiser le débit pour trouver, dans un tableau trié de u32, le plus petit élément ≥ q. L'auteur détaille des optimisations basses couches : vectorisation automatique et manuelle (AVX2), transformations des comparaisons en masques, usage de popcnt et simplification du code assembleur pour réduire le nombre d'instructions. Le débit est ensuite amélioré par le traitement par lots, le préchargement explicite (prefetch), l'arithmétique sur pointeurs, l'interleaving des couches et des ajustements du layout mémoire et de la taille des nœuds. Le partitionnement par préfixe, les sous‑arbres compacts, les arbres chevauchants et la table de préfixes sont explorés pour gérer les distributions déséquilibrées, mais ils augmentent la complexité et n'offrent pas toujours de bénéfices supérieurs à l'interleaving. En combinant ces techniques, l'auteur passe d'environ 1150 ns/requête pour la recherche binaire à ~27 ns/requête pour la version optimisée, identifie le débit mémoire comme goulot d'étranglement et propose comme travaux futurs interpolation, compression des données et intégration aux recherches par suffix array.

Open Book Touch: open-source e-reader

Il s'agit d'un lecteur de livres électroniques pocketable à écran e‑paper avant‑éclairé de 4,26 pouces, minimaliste et conçu pour la lecture plutôt que pour des fonctions de tablette. Le système lit les fichiers EPUB et TXT depuis une carte microSD, propose une vraie composition typographique avec césure et justification, et embarque GNU Unifont comme police de secours couvrant environ 70 000 glyphes avec interface localisée et support des écritures droite‑à‑gauche et de l'arabe. Le matériel repose sur un ESP32‑S3 avec 16 Mo de flash, 8 Mo de PSRAM, connectique USB‑C, batterie LiPo remplaçable (800–1200 mAh selon approvisionnement), écran 480×800 en 1‑bit/2‑bit avec rétro‑éclairage chaud/froid et tactile capacitif. Le projet est open source (firmware MIT, schémas, fichiers de carte et CAD d'enceinte) et inclut la publication du framework Focus, tandis que le boîtier snap‑fit est imprimable en 3D et personnalisable ou disponible en édition spéciale premium. La campagne de financement a dépassé son objectif, le prix annoncé est de 149 $ (249 $ pour une édition « Author »), la production vise début 2027 mais dépend fortement de la disponibilité des dalles e‑paper et d'autres composants soumis à de longs délais et risques logistiques.

An Update on Igalia's Layer Based SVG Engine in WebKit (Reducing Layer Overhead)

Depuis 2021, LBSE a été intégré dans WebKit et a reçu de nombreux ajouts fonctionnels, mais il n'est pas activé par défaut et son développement a subi plusieurs pauses liées au financement. Le but de LBSE est de réutiliser la machinerie HTML/CSS (RenderLayer) pour donner à SVG l'accélération matérielle et hériter des améliorations sans réimplémenter séparément chaque fonctionnalité. La solution initiale consistant à créer une RenderLayer par renderer a permis de valider rapidement le concept mais a engendré un fort surcoût mémoire et de calcul pour des scènes contenant des milliers d'éléments. En juin 2026 l'équipe a activé la création conditionnelle des couches en déplaçant les données SVG et le cache de transform sur les renderers, et en peignant les éléments transformés 2D sans couche sauf pour les conteneurs transformés. Cette optimisation améliore le cas courant et les performances, mais provoque un problème de composition mixte où des éléments composités perdent l'ordre de peinture SVG, problème qui fera l'objet du prochain article.

Stenchill: 3D Printable Solder Paste Stencil Generator

Le service transforme un fichier Gerber en un fichier STL imprimable en 3D en quelques secondes et permet de prévisualiser, ajuster, télécharger et imprimer un pochoir. Son origine remonte à une discussion en direct d'un créateur français de matériel et de robotique actif sur Twitch et YouTube, qui montre l'intégration du flux de fabrication dans ses vidéos et sa communauté. Un pochoir est une plaque percée aux formes des pastilles qui permet d'étaler la pâte à braser rapidement et précisément pour positionner les composants SMD, et les versions imprimées en 3D conviennent surtout aux composants 0603 et plus gros ainsi qu'aux circuits à pas large. Le service offre une alternative gratuite et rapide aux pochoirs professionnels payants, propose des épaules d'alignement intégrées, un guide pas-à-pas et un plugin KiCad pour lancer la génération depuis l'éditeur PCB. Pour l'impression on recommande PLA ou PETG, un plateau lisse, une buse de 0,2 mm, une hauteur de couche de 0,1 mm, une épaisseur de pochoir de 0,3–0,4 mm, un remplissage à 100% et une vitesse d'impression de 30–40 mm/s.

DrDroid (YC W23) Is Hiring

Le poste basé à Bengaluru offre une rémunération de ₹1,7M–₹2,1M INR et une participation en actions de 0,01%–0,10%, et la possession d'un visa américain n'est pas exigée. Le rôle concerne l'ingénierie full stack et requiert des compétences en JavaScript, Python et TypeScript. DrDroid développe des agents d'IA pour les équipes plateformes et infrastructures afin d'automatiser le triage, le débogage et la remédiation des incidents en production. L'équipe publie plusieurs projets open source, notamment Playbooks pour l'automatisation des runbooks et Kenobi pour l'analyse d'événements des pipelines de données. La société est soutenue par Accel, a participé à la promotion W23 de Y Combinator et recrute des profils intéressés par des outils améliorant le quotidien des développeurs.

Kimi K3, and what we can still learn from the pelican benchmark

Moonshot AI a annoncé Kimi K3, un modèle de 2,8 billions de paramètres disponible via site et API, avec une mise à disposition des poids ouverts promise pour le 27 juillet 2026. Selon des benchmarks auto-rapportés et le rapport Artificial Analysis, K3 affiche un Elo de 1547 (+732 vs K2.6), dépassant notamment Claude Opus 4.8 max et GPT-5.5 high mais restant derrière Claude Fable 5 et GPT-5.6 Sol. La tarification est fixée à 3 $/million de tokens d'entrée et 15 $/million de tokens de sortie, faisant de K3 la sortie la plus coûteuse publiée par un laboratoire chinois à ce jour et la rapprochant des séries Claude Sonnet d'Anthropic. Un test pratique de génération SVG a produit 16 658 tokens de sortie (13 241 tokens de raisonnement) pour environ 0,25 $, l'entrée image a renvoyé une description alt text de bonne qualité pour ~0,006 $, et le modèle ne propose actuellement qu'un seul niveau d'effort de raisonnement ("max"). L'auteur souligne que le benchmark du pélican ne mesure pas la capacité agentique et l'appel d'outils sur de longues conversations, mais reste utile comme test rapide pour vérifier la génération SVG, l'estimation des coûts et les améliorations par rapport aux versions précédentes.

Vāgdhenu: A Sanskrit Chanting TTS System

Une démonstration permet de coller un vers sanskrit dans n'importe quelle écriture indienne et détecte automatiquement le mètre pour le chanter, le premier chant prenant environ 10–60 secondes le temps que le modèle se réchauffe. Le site propose des extraits de chants rendus dans six vṛttas différents, avec des exemples tirés du Mahābhārata, du Śrīmad Bhāgavatam et d'une stuti de Narasiṃha. Une application gratuite nommée Bhāgavata-VāNi offre le Śrīmad Bhāgavatam complet avec récitations synchronisées et karaoké ligne par ligne en dix écritures indiennes, utilisable hors ligne et sans publicités. L'outil compagnon Vāgbodhinī est un tuteur de chant métrique qui écoute l'utilisateur, fournit une récitation de référence et note chaque syllabe pour indiquer les corrections à apporter en sanskrit classique. Le système repose sur un moteur TTS réentraîné sur un corpus chanté dédié et sur un prétraitement script-aware qui gère les spécificités phonétiques et métriques du sanskrit, et il a produit à grande échelle des corpus pour le Mahābhārata et le Śrīmad Bhāgavatam.

Shipping OpenStrike: A Counter-Strike-Shaped FPS on a 2004 Handheld

OpenStrike est un jeu FPS solo inspiré de Counter‑Strike, livré open source et conçu pour tourner en fichier unique sur une PSP‑1000 à 60 FPS. L'architecture sépare un moteur natif Rust responsable du rendu et de la simulation et un produit JavaScript (rules.ts et hud.tsx) exécuté par QuickJS pour la logique et le HUD Solid. Les niveaux GoldSrc sont préalablement cuits par un outil qui produit un .p3d optimisé — PVS, quantification en i16, CLUT8, mipmaps et layout exact pour que le GPU lise les octets en place sans parsing ni copies. Pour atteindre 60 FPS sur un CPU MIPS 333 MHz et 24 MB de RAM, l'équipe a affiné le rendu et la logique avec un resampling palette‑aware, un biais de mip, un baking des lumières et une granularisation des signaux Solid pour réduire fortement le coût JavaScript. Le build est déterministe et testé par CI en émulateur bit‑par‑bit, et le projet montre que le même bundle JavaScript peut alimenter des cibles très différentes, validant la thèse du runtime Pocket.

Regressive JPEGs

Le format JPEG progressif permet d'enregistrer d'abord les composantes basses fréquences, de sorte qu'une image partiellement téléchargée s'affiche en basse résolution. Chaque fichier contient plusieurs "scans" avec en-têtes précisant les canaux et la plage spectrale, et l'exemple montre un premier scan contenant uniquement la composante DC pour les trois canaux YCbCr. Les canaux utilisent l'espace YCbCr et la chrominance est souvent stockée à demi-résolution, ce qui explique pourquoi des données de couleur peuvent être envoyées avant certains détails de luminance sans alourdir autant le fichier. En concaténant les scans de plusieurs images (en retirant les marqueurs SOI/SOF/EOI) on peut faire basculer l'affichage entre images pendant un téléchargement lent, et en réduisant chaque frame à un seul scan DC conforme on minimise le nombre de scans par image pour obtenir des dizaines de "frames" affichables (environ 90 dans Chrome) sans fantômes. Ces images DC-only sont standards et peuvent être générées avec des outils comme jpegtran -scans, mais la "lecture" dépend entièrement du délai réseau car il n'existe pas d'information de synchronisation; des démonstrations et le code (merge.c) accompagnent l'article.