HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11200 articles Page 4/1120 Sans filtre

Push ifs up and fors down: The idiom, its algebra, and its limits

La heuristique consiste à remonter les conditions vers l'appelant et à descendre les boucles vers des traitements par lots afin de centraliser les branchements et favoriser des boucles internes sans branche. Par exemple, déplacer le test de None vers le code appelant permet de remplacer Option<Walrus> par Walrus et d'implémenter frobnicate_batch qui parcourt un vecteur sans considérer le cas None. Dans les bases de données on retrouve la même idée: pousser projections et sélections tôt dans le plan d'exécution et retarder les jointures pour réduire les volumes traités par les opérations chères. En programmation fonctionnelle et en théorie des catégories, cela s'interprète comme une restriction à un sous-objet et comme la factorisation d'une fonction sur un coproduit, et la loi filter/map issue de la naturalité explique quand déplacer un filtrage avant ou après un map est légitime. Ces réécritures ne sont valides que sous certaines contraintes (condition invariante de boucle, prédicat se limitant à une seule table, ou réduction p . f en un prédicat économique) et elles visent aussi des gains de coût en transformant A->B en traitements par lots [A]->[B].

A minimal kernel in Swift, running in QEMU

L'auteur a adopté l'attribut @c (formalisation de @_cdecl) et a mis à jour l'article et le code après le commentaire de Max Desiatov. Il a réalisé une expérience consistant à écrire un noyau très basique en Swift pour QEMU sur la cible aarch64-none-none-elf en utilisant Embedded Swift et un toolchain de développement. Le projet utilise un point d'entrée en assembleur (_start) qui configure la pile, démarre kernel_main exposée avec @c, et évite le linkage des bibliothèques standard via des options de compilateur et un script d'édition de liens. Pour fonctionner sans bibliothèque C, l'auteur a implémenté des fonctions basses comme putchar (écriture sur le registre UART de QEMU) et memmove, et a fourni un linker.ld précisant l'emplacement de la mémoire et des sections ELF. Le noyau exécutable affiche des messages, peut faire de l'écho via polling du UART, et les améliorations envisagées incluent l'effacement du .bss, une abstraction pour l'UART, la gestion des allocations, des interruptions et un ordonnanceur minimal.

Docker Agent

Docker-agent est un plugin CLI Docker qui permet de créer et d'exécuter des agents IA collaboratifs sans écrire de code en définissant leur comportement en YAML. La plate-forme prend en charge l'orchestration multi‑agents, un riche écosystème d'outils (locaux, distants ou Docker), et des capacités avancées de raisonnement comme think, todo et mémoire. Elle est agnostique aux fournisseurs de modèles (OpenAI, Anthropic, Google, AWS, Mistral, xAI, Docker Model Runner, etc.), propose des options RAG avec BM25 et embeddings, et permet de publier des agents sur des registres OCI. L'installation est disponible via Docker Desktop (préinstallé), Homebrew ou les releases binaires, et l'utilisation nécessite au moins une clé API ou un runner local pour les modèles. La documentation, des exemples et un guide de contribution sont fournis, la collecte de données d'usage anonymes est activée et une communauté est accessible sur le Slack Docker.

The 15-year search for a band that charted once and vanished

L'auteur relate une quête de quinze ans pour retrouver un groupe nommé Salvage et les deux morceaux «Electric» et «Searchlights», compliquée par des noms génériques, la perte du disque et une présence en ligne quasi inexistante. Après des recherches manuelles et l'utilisation de modèles d'IA pour analyser métadonnées, images et pistes audio, des indices sont apparus sur Discogs, l'Official Charts et via le code-barres menant à Key Production, mais la plupart des pistes étaient des impasses. La percée est venue d'une découverte sur Pandora et d'une référence au producteur Greg Haver, qui a permis de contacter le chanteur et guitariste Sam Tattersall. Il s'avère que Salvage a changé de nom pour devenir OK Tokyo, que leur site en Flash et leur MySpace n'ont pas été correctement indexés, et que les titres avaient été enregistrés à Cardiff avec une production voulant créer de grands espaces sonores. L'article contient une interview expliquant le virage stylistique, le processus d'enregistrement, les activités post‑groupe sous les noms OK Tokyo, Glacier et Summit, et indique où écouter les morceaux aujourd'hui.

Shipping JPEG XL in Chrome

Chrome 155 prend en charge le décodage du format JPEG XL (.jxl), qui propose une compression notablement supérieure au JPEG, le support HDR et des options de compression sans perte. Pour réduire les risques de sécurité liés aux décodeurs d'images, l'équipe a intégré jxl-rs, une réimplémentation en Rust visant à fournir la sécurité de la mémoire dès la source. Des optimisations matérielles, notamment l'utilisation sécurisée des instructions SIMD via la stabilisation de target_feature_11 et la couche d'abstraction jxl_simd, ont permis d'obtenir des performances proches des implémentations non sécurisées tout en limitant le code non sécurisé. La réimplémentation a été vérifiée par fuzzing, revues de code assistées par IA et mesures de performances multiplate‑formes, sans détection de bugs de sécurité mémoire dans l'historique d'implémentation. La décision s'est appuyée sur les retours des développeurs et la participation à l'étude Interop 2026, et l'équipe encourage les créateurs à tester le format .jxl, à signaler les bugs et à contribuer à son adoption.

Show HN: Bigwords.page – Turn any screen into a sign. The URL is the app

Ce service transforme un lien en affichage plein écran affichant un texte, un minuteur ou un message accessible sans compte ni application. Le lien contient tout le contenu et peut être partagé, mis en favori ou modifié via un éditeur intégré ou créé manuellement. Le texte s'adapte automatiquement à l'écran et fonctionne dans n'importe quel navigateur sur téléphone, tablette, ordinateur ou télévision connectée. Il prend en charge Markdown, des diapositives séparées par ||, des compteurs avec {countdown} et des paramètres URL pour fixer une date ou une durée, ainsi que des QR codes et images générés localement. La confidentialité est intégrée puisque le message est stocké dans la partie fragment de l'URL, qui n'est jamais envoyée aux serveurs.

'Jonathan' is the oldest land animal on Earth

Jonathan, une tortue géante d'Aldabra née vers 1832 et âgée d'environ 194 ans, vit depuis les années 1880 à Saint Helena. Des chercheurs ont séquencé pour la première fois son génome à partir d'écouvillons buccaux après des années de négociations et de difficultés logistiques. L'analyse a révélé des variantes génétiques inédites dans de nombreuses voies liées au vieillissement, notamment la réparation de l'ADN, la régulation de l'insuline, le fonctionnement mitochondrial et l'autophagie. La métylome mitochondriale de Jonathan présentait une faible entropie comparable à celle d'une tortue de cinq ans, ce qui suggère un rôle particulier de ces voies dans sa longévité. Les auteurs considèrent que ces résultats offrent des pistes pour de futures recherches sur des cibles potentielles visant à prolonger la santé et la durée de vie chez d'autres espèces.