HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11752 articles Page 869/1176 Sans filtre

PHP 8.6 Closure Optimizations

Ce RFC propose deux optimisations pour les closures (y compris les arrow functions) : inférer le modificateur static quand elles n'utilisent pas $this, et mettre en cache les closures sans état entre utilisations. L'inférence de static s'applique seulement si la closure n'utilise pas $this, ni $$var, ni des appels dynamiques (par exemple $f(), call_user_func(), ou Foo::bar() qui pourrait être un appel d'instance), ne déclare pas de closure non statique imbriquée, et n'utilise pas require/include/eval. Les closures sans état (static, sans captures et sans variables static internes) sont instanciées une seule fois et réutilisées, réduisant le nombre d'objets et les cycles de références, avec des gains mesurés (p. ex. ~78 % des closures statiques inférées dans Symfony Demo et ~3 % d'amélioration sur un benchmark Laravel). Parmi les ruptures de compatibilité, ReflectionFunction::getClosureThis() pourra désormais retourner NULL pour des closures inférées comme static, deux closures créées au même emplacement lexical deviendront identiques (test() === test() retourne true), et des objets auparavant protégés par des cycles peuvent être collectés plus tôt, déclenchant leurs destructeurs plus tôt. Closure::bind()/bindTo() acceptent désormais explicitement un objet sur des closures inférées comme static (l'objet est alors ignoré pour limiter les régressions), et le RFC a été accepté et landed pour la version proposée PHP 8.6.

Show HN: CodeBurn – Analyze Claude Code token usage by task

Cet outil collecte et visualise l'utilisation des tokens et le coût des interactions avec des assistants de codage en lisant les sessions localement sur le disque, sans proxy ni clés API. Il prend en charge plusieurs providers (Claude Code, Codex, Cursor, OpenCode, Pi, GitHub Copilot) via un système de plugins et normalise les appels outils et modèles pour des rapports comparables. Une interface TUI interactive propose tableaux et graphiques, raccourcis clavier, export CSV/JSON, widget macOS pour la barre de menu, et commandes CLI pour vues Today/Month/Report/Export et filtrage par projet ou provider. Les analyses incluent répartition par tâche, outil, modèle, serveur MCP et projet, taux de réussite en une seule tentative pour les activités d'édition, cache hit, et diagnostics d'optimisation avec correctifs prêts à copier-coller. Les tarifs sont calculés à partir des prix LiteLLM avec conversion monétaire configurable, mise en cache des taux, déduplication et parsing spécifiques par provider pour garantir des estimations détaillées et reproductibles.

Show HN: MacMind – A transformer neural network in HyperCard on a 1989 Macintosh

Un transformeur à couche unique et tête unique de 1 216 paramètres est entièrement implémenté en HyperTalk et s'exécute dans une pile HyperCard sur du matériel Macintosh vintage ou dans des émulateurs. Le modèle est entraîné par des passes avant et arrière complètes avec perte d'entropie croisée et descente de gradient stochastique, apprenant la permutation d'inversion de bits utilisée dans la FFT à partir d'exemples aléatoires. Tous les poids, embeddings, projections et calculs d'attention sont stockés sous forme de nombres séparés par des virgules dans des champs HyperCard, ce qui rend chaque opération inspectable et modifiable depuis l'éditeur de scripts. Après convergence, la carte d'attention 8x8 révèle le motif en papillon de la FFT, et un script validate.py en Python/NumPy fournit une implémentation de référence pour vérification. L'entraînement sur un SE/30 réel ou en émulation prend des heures car HyperTalk est interprété, la pile conserve les poids entraînés entre les sessions, et le projet est distribué sous licence MIT.

Circuit Transformations, Loop Fusion, and Inductive Proof

L'article examine si une optimisation matérielle peut être vue comme une transformation de compilateur en étudiant un exemple concret. Il présente la méthode de l'addition carry-save, qui utilise des full-adders opérant en parallèle pour réduire trois opérandes binaires en deux sans propager immédiatement les retenues. Ensuite il rappelle l'optimisation de fusion de boucles en compilateur et applique cette idée à deux boucles successives effectuant des additions bit à bit. Les auteurs montrent par preuve inductive au niveau bit à bit que la version fusionnée du code produit les mêmes bits de somme que la version séquentielle, en manipulant des expressions en F2 et en prouvant des égalités sur les retenues. Ils concluent que des optimisations matérielles comme le carry-save peuvent être redécouvertes par des transformations de programmes et suggèrent d'exploiter la régularité des circuits pour trouver d'autres optimisations intermédiaires.

AI cybersecurity is not proof of work

L'analogie avec la preuve de travail est inadaptée car la recherche de collisions de hachage reste résoluble par effort continu, créant une asymétrie liée à la quantité de calcul disponible. Les bugs logiciels se comportent différemment parce que les exécutions des modèles explorent des embranchements finis du code qui finissent par être saturés. Au lieu que l'échelle M d'échantillonnage suffise, la limite devient le niveau d'intelligence I du modèle si l'on veut combiner des chemins d'exécution pour révéler un défaut. Le bug SACK d'OpenBSD illustre qu'un modèle faible peut halluciner des signes généraux de problème mais ne parvient pas à assembler la chaîne causale (validation de bornes, débordement d'entier, condition de pointeur) nécessaire pour produire l'exploit. En conséquence, la sécurité informatique future dépendra davantage de modèles plus puissants et d'un accès plus rapide à ces modèles que d'une simple augmentation brute de puissance de calcul, d'autant que les modèles plus forts hallucinent moins et peuvent donc sous-estimer un problème sans compréhension réelle.

FCC exempts Netgear from ban on foreign routers, doesn't explain why

Le FCC a accordé une exemption conditionnelle à Netgear pour ses routeurs Nighthawk et Orbi ainsi qu'à certains modems et passerelles câble, la première délivrée à un grand fabricant grand public. L'exemption, valable jusqu'au 1er octobre 2027, exige une justification de l'utilisation de la fabrication étrangère et un plan détaillé et limité dans le temps pour établir ou étendre la production aux États-Unis. Le processus d'approbation est opaque et l'administration se réserve le droit de bloquer les correctifs de sécurité et autres mises à jour logicielles à l'avenir. La mesure cible principalement les routeurs grand public et n'affecte pas immédiatement les modèles déjà autorisés, mais presque tous les nouveaux appareils devront obtenir une exemption en raison des chaînes d'approvisionnement mondiales. Des observateurs craignent que des délais d'examen lents et des obligations d'onshoring favorisent les grands acteurs, restreignent l'offre et retardent l'accès des consommateurs aux nouvelles normes comme le Wi-Fi 7.

Codex Hacked a Samsung TV

Cette recherche documente une expérience où les auteurs ont utilisé Codex d'OpenAI pour transformer une exécution de code limitée dans le navigateur d'une Samsung Smart TV KantS2 en accès root du système. Le dispositif comprenait un hôte contrôleur capable de compiler des binaires ARM statiques, un shell distant piloté via tmux, l'arbre source correspondant du firmware et un contournement memfd pour exécuter des binaires non signés en mémoire à cause de la prévention UEP. L'audit du code source et l'exploration du système ont révélé que /dev/ntksys acceptait des adresses physiques et tailles fournies par l'utilisateur et permettait leur mappage direct en espace utilisateur, fournissant un primitif "physmap", et /dev/ntkhdma donnait une adresse physique de référence utile pour valider ce primitif. En exploitant ce primitif, Codex a scanné la mémoire physique reconstruite depuis /proc/cmdline, identifié la structure cred du processus navigateur via son UID/GID, et a écrasé les champs d'identité pour obtenir un shell root sans exploitation de flux de contrôle kernel. Les auteurs précisent qu'ils n'ont pas fourni de bug ou recette exploitable dans le texte, qu'ils ont orchestré l'environnement permettant à Codex d'opérer et publient le writeup et les PoC sur GitHub pour étude.

The "Passive Income" trap ate a generation of entrepreneurs

L'auteur raconte la rencontre avec un jeune entrepreneur qui vendait en dropshipping des rouleaux de jade qu'il n'avait jamais utilisés, pris par l'idéologie du revenu passif. Le concept de "revenu passif" s'est transformé en une sorte de salut économique où l'on vend la promesse d'un système générant de l'argent sans effort, souvent via des cours et des publicités. Cette logique a produit une masse de boutiques Shopify, de sites affiliés et de contenus SEO optimisés de faible valeur, avec des taux d'échec très élevés et une pollution des résultats d'information en ligne. De nombreuses personnes compétentes ont gaspillé des années à enchaîner schémas et formations, s'éloignant des compétences et des entreprises qui créent réellement de la valeur. L'auteur conclut que la vraie création de richesse exige d'identifier un vrai problème, d'y répondre avec constance et soin, et que cela demande du travail actif et durable, pas de la passivité.

Show HN: Marky – A lightweight Markdown viewer for agentic coding

Cette application est une visionneuse Markdown pour macOS conçue pour ouvrir des fichiers .md depuis le terminal et afficher un rendu instantané et soigné. Parmi ses fonctionnalités on trouve une interface CLI-first avec ouverture de fichiers et dossiers, rechargement en direct, espaces de travail persistants, palette de commandes, coloration syntaxique Shiki, rendu KaTeX pour les formules, diagrammes Mermaid, prise en charge GFM et rendu assaini via DOMPurify. L'installation se fait via Homebrew (avec une signature en attente) ou depuis les sources en nécessitant Rust, Node.js et pnpm, et un script installe un binaire utilisateur dans ~/.local/bin. Le projet utilise Tauri v2, React/TypeScript et markdown-it avec un backend Rust pour la gestion des fichiers et la surveillance, et les contributeurs peuvent lancer un serveur de développement avec pnpm tauri dev et exécuter des tests frontend et Rust. La feuille de route prévoit l'ajout du support x86 et Linux, un chat IA intégré et une revue de diff Git, et le dépôt sur GitHub accepte les contributions via branches, tests et pull requests.

Artifacts: Versioned storage that speaks Git

Cloudflare présente un système de fichiers versionné compatible Git, conçu pour les agents et les environnements sans serveur afin de gérer une hausse massive du code généré par l'IA. Les API REST et Workers permettent de créer, importer, cloner et forker des dépôts de manière programmatique et de générer des identifiants pour des sessions ou des sandboxes. L'implémentation repose sur Durable Objects, R2, KV et une implémentation Git écrite en Zig compilée en WebAssembly pour fonctionner dans des environnements contraints tout en supportant les protocoles Git v1 et v2. Pour les très grands dépôts, un pilote de système de fichiers open source monte les dépôts de façon asynchrone en hydratant les fichiers à la demande afin de réduire fortement le temps de démarrage des environnements de travail. La solution est en bêta privée pour les abonnés Workers payants avec ouverture publique prévue début mai 2026, et sera facturée selon les opérations et le stockage avec des fonctionnalités à venir comme métriques, événements et SDKs.