HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

5872 articles Page 65/588 Sans filtre

06:00

MAI-Code-1-Flash

MAI-Code-1-Flash a été conçu pour fonctionner dans les workflows de production des développeurs en étant entraîné directement avec les harnesses GitHub Copilot. Le modèle a été évalué pendant l'entraînement sur des tâches d'ingénierie logicielle, la réponse aux questions de dépôts, le refactoring et des tâches fondées sur la télémétrie issues d'usages réels de Copilot. Cet alignement entre entraînement, évaluation et production vise à faire en sorte que les améliorations hors ligne se traduisent en qualité réelle pour les développeurs. MAI-Code-1-Flash utilise un contrôle adaptatif de la longueur des solutions pour ajuster la profondeur des réponses, ce qui réduit la latence et le coût en tokens tout en améliorant l'utilité. Dans le même environnement de production, il surpasse Claude Haiku 4.5 sur plusieurs benchmarks de code avec de meilleurs taux de réussite et résout des problèmes plus difficiles en utilisant jusqu'à 60 % de tokens en moins, incluant un écart de +16 points sur SWE-Bench Pro.

06:00

Use your Nvidia GPU's VRAM as swap space on Linux

Un petit démon alloue la VRAM via l'API CUDA et la sert comme périphérique bloc en utilisant NBD sur une socket Unix, permettant d'utiliser la mémoire vidéo comme espace d'échange. La solution évite d'écrire un module noyau ou d'utiliser les API P2P d'NVIDIA, qui sont restreintes sur les cartes grand public, et fonctionne avec cuMemcpyHtoD/DtoH sur n'importe quel GPU CUDA. Testée sur un RTX 3070 Laptop (8 Go de VRAM) avec kernel 6.17 et pilote 580.159.03, elle a permis d'allouer 7 Go de swap VRAM et d'augmenter l'espace total d'échange à environ 46 Go en combinant zram et SSD. L'installation se fait depuis le dépôt nbd-vram et un service systemd gère la configuration (taille, priorité) ainsi que la gestion d'alimentation qui peut arrêter le service sur batterie. Les performances séquentielles mesurées sont d'environ 1,3 Go/s, la latence est inférieure au NVMe et il est recommandé de donner une priorité élevée à la VRAM quand zram est déjà utilisé.

06:00

Agentic Mfw

Les agents d'IA génèrent désormais automatiquement des sites et du code, reléguant l'artisanat traditionnel et le code propre au second plan. Les entreprises privilégient la complexité, la consommation de tokens et une infrastructure voyante comme signaux de valorisation, au détriment de la maintenabilité. L'accessibilité, le HTML sémantique et les pratiques légères sont souvent négligés au profit d'applications agentiques, gourmandes en ressources et conçues pour capter l'attention. Les dépôts open source et les contributions sont submergés par des PR et des bots générés automatiquement, ce qui rend l'intégration des contributions sincères difficile. Quelques développeurs demandent encore aux agents de produire volontairement du code simple et soigné par nostalgie ou par esprit de défi, mais cette pratique reste marginale.

06:00

The Unreasonable Redundancy of Nature's Protein Folds

Ces dernières années, les modèles d'apprentissage profond ont permis de convertir l'échelle des séquences en échelle de structures prédictives, mais l'augmentation massive de séquences naturelles n'entraîne pas automatiquement une diversité comparable de plis protéiques. Les structures prédites contiennent des régions bruitées et des chaînes multi-domaines, donc les auteurs filtrent par pLDDT, fragmentent via une bisection spectrale basée sur le vecteur de Fiedler et rejoignent spatialement les fragments pertinents pour obtenir des unités structurales réutilisables. Après nettoyage et clustering structurel (Foldseek accéléré suivi d'un audit par TM-align), environ 1,96 million de fragments MGnify ont été réduits à ~25 300 amas non-singleton, dont 71,5 % des fragments multi-membres se concentrent dans les 1 000 premiers clusters. Pour l'entraînement, ils proposent un échantillonnage repondéré par une exponentielle de taille de cluster N^γ (γ ≈ 0,5 en pratique) afin d'équilibrer la fréquence naturelle des plis et la couverture de la diversité structurale. La conclusion est que la nature réutilise fortement un petit nombre de solutions structuralement récurrentes, ce qui suggère soit d'améliorer les sites actifs sur des échafaudages familiers, soit d'explorer la possibilité que des régions de l'espace des backbones non explorées par l'évolution soient exploitables par le design assisté par modèles.

06:00

1-Click GitHub Token Stealing via a VSCode Bug

L'article décrit qu'en cliquant simplement sur un lien vers github.dev, un attaquant peut récupérer le token GitHub OAuth envoyé au web IDE et qui permet d'accéder et modifier tous les dépôts de l'utilisateur, y compris les privés. La faille provient du modèle des webviews de VSCode : bien que rendues dans un iframe d'origine différente et isolées, elles transmettent des événements "keydown" au contexte principal via postMessage, et un script malveillant dans la webview peut falsifier ces événements pour déclencher des raccourcis claviers privilégiés. L'exploit démontré utilise un notebook contenant du JavaScript exécutable qui accepte la notification d'installation d'extension, installe une extension locale qui définit un raccourci clavier personnalisé pour appeler workbench.extensions.installExtension en contournant la vérification d'éditeur, puis l'extension nouvellement installée exfiltre le token et liste les dépôts privés via l'API GitHub; un PoC public est fourni. Les contre-mesures pratiques proposées incluent la suppression des cookies et des données locales pour github.dev, la désinstallation de toute extension de preuve de concept et la prudence face aux liens externes, tandis que VSCode bénéficie toutefois de défenses comme une CSP stricte et DOMPurify qui limitent l'impact d'autres vecteurs. L'auteur explique avoir pratiqué la divulgation complète du bug après un avertissement préalable envoyé à un contact de GitHub Security et indique la divulgation publique et le dépôt sur le tracker VSCode le 2 juin 2026.

06:08

Show HN: A CSS 3D Engine (no WebGL)

Cette bibliothèque génère des maillages polygonaux 3D rendus comme éléments HTML transformés par des matrices CSS et prend en charge couleurs, textures, éclairage, ombres, formes et animations. Elle s'installe via npm ou se charge depuis un CDN et propose des éléments personnalisés et des composants pour Vanilla, React et Vue afin de contrôler la caméra, la scène et les maillages. L'API expose des contrôles de caméra orthographique et perspective, des options de scène (lumières, atlas, stratégies de rendu) et un composant maillage capable de charger OBJ/MTL, glTF/GLB, VOX ou des primitives générées. La bibliothèque fournit une fonction d'export qui clone la scène rendue, inline les ressources en data:URI et produit un document HTML autonome, et elle représente la géométrie au niveau de polygones individuels pour permettre des événements et styles par face. Le rendu s'effectue entièrement via le DOM avec optimisation des primitives CSS selon la complexité, la performance dépendant du nombre d'éléments rendus et de la surface d'atlas, et l'écosystème est distribué en packages core, vanilla, React et Vue sous licence MIT.

06:08

Constant Q Transform – A Visual Guide

La transformée à Q constant (CQT) maintient un rapport constant entre la fréquence centrale et la largeur de bande des bins, ce qui impose des fenêtres d'analyse longues pour les basses fréquences et courtes pour les aiguës afin d'imiter la résolution logarithmique de la perception musicale. Contrairement à la FFT qui utilise des bins espacés linéairement en Hertz, la CQT espace ses bins logarithmiquement afin que les notes musicales occupent des largeurs proportionnelles et aient un poids visuel et analytique comparable. Sur un axe logarithmique les octaves sont également espacées et le nombre de bins par octave (par exemple 12, 24, 36) détermine la granularité en hauteur au prix de fenêtres plus longues aux basses fréquences. Chaque bin CQT est calculé avec une fenêtre de longueur Nk = ⌈Q·fs/fk⌉ qui garantit le même nombre de cycles par fenêtre, et des algorithmes efficaces utilisent l'FFT pour précalculer des noyaux spectraux ou recourir au sous-échantillonnage pour accélérer le calcul. La CQT sert de base au calcul de chromagrammes par repliement en octave et elle est largement utilisée pour le suivi de hauteur, la reconnaissance d'accords, la synthèse audio et comme entrée pour des modèles d'apprentissage profond en musique.

06:08

GitHub and the crime against software

L'auteur documente des problèmes récurrents de disponibilité, de sécurité et de performance chez GitHub. Il présente une expérience comparative sur le front-end de GitHub, GitLab et Codeberg montrant que GitHub télécharge beaucoup plus de code JavaScript/CSS et utilise davantage de mémoire et de temps de chargement. Selon l'article, l'intégration agressive de fonctionnalités d'IA et d'agents poussées par GitHub et sa maison-mère Microsoft augmente la charge et semble prioriser de nouvelles fonctionnalités au détriment de la fiabilité. L'étude fournit des mesures détaillées (HAR, snapshots mémoire, tests de compression) et recommande des correctifs pratiques comme la réduction du code, la mise en cache, la compression et la consolidation des ressources. En conclusion, l'auteur estime que ces problèmes reflètent des lacunes d'architecture et de gouvernance dans les grands services logiciels et invite à des améliorations concrètes pour restaurer performance et fiabilité.

06:07

A 10 year old Xeon is all you need

L'auteur décrit comment il a fait tourner localement un modèle Gemma 4 26B-A4B MoE sur un serveur recyclé (Intel Xeon E5-2620 v4, 128 Go DDR3, sans GPU) malgré le matériel ancien. Il explique que pour l'inférence la bande passante mémoire, et non la puissance brute du processeur, constitue le goulot d'étranglement, chaque token exigeant le transfert massif des poids de la RAM vers le cache. La solution a consisté à activer de nombreuses optimisations d'ik_llama.cpp — notamment le décodage spéculatif avec un petit drafter, le routage MoE adapté au CPU, la fusion des projections, run-time-repack, mlock, flash-attn et MLA — pour garder les données dans les caches et réduire les allers-retours vers la RAM. Avec ces réglages l'auteur rapporte une empreinte mémoire d'environ 82 Go (≈25 Go de poids et ≈56 Go de cache KV pour un grand contexte) et une génération à vitesse de lecture malgré l'absence de GPU, en notant que beaucoup d'options sont peu documentées ou échouent silencieusement. La leçon principale est que la limite pour exécuter localement des modèles open-weight de pointe est souvent logicielle et opérationnelle, et que comprendre et adapter le moteur d'inférence à l'architecture mémoire du système permet de réduire le fossé d'utilisabilité sans matériel exotique.