HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11752 articles Page 234/1176 Sans filtre

Relm4 makes developing beautiful cross-platform applications idiomatic

La bibliothèque propose une syntaxe déclarative permettant d'écrire l'interface utilisateur en Rust pur de manière simple. Le modèle de programmation Elm rend les applications faciles à écrire et à comprendre, favorisant la simplicité conceptuelle. Une documentation complète est fournie sous la forme d'un livre dédié et de la documentation Rust pour accompagner les développeurs. S'appuyant sur GTK, l'outil est multiplateforme (Windows, macOS, Linux) et s'exécute de façon véritablement native sans runtime supplémentaire, tout en prenant en charge les tâches asynchrones et les mises à jour de l'interface. Le typage de Rust améliore la maintenabilité et la robustesse du code, et une architecture modulaire permet de créer des composants réutilisables entre applications.

Continuous Diffusion Language Models (CDLM's)

L'article retrace l'évolution des modèles de diffusion pour le langage, depuis les premières méthodes discrètes en 2021 jusqu'aux approches continues apparues en 2022 et à leur déclin fin 2023. Il expose les défis techniques des approches continues pour données catégorielles, notamment les stratégies d'embedding, les fonctions de perte, les calendriers de bruit et le rôle crucial de l'auto-conditionnement. Après une période de domination des méthodes discrètes pour des raisons de performance et d'efficacité d'entraînement, des travaux hybrides en 2025 puis l'adoption des flow maps en 2026 ont ravivé l'intérêt pour les approches continues. L'auteur met en avant l'avantage de la distillation de trajectoire pour les méthodes continues, qui facilite l'échantillonnage en peu d'étapes et ouvre des possibilités de post-entraînement et de contrôle du décodage. Enfin, il souligne la nécessité de standardiser les méthodologies d'évaluation et évoque une probable cohabitation future entre approches continues, discrètes et autoregressives.

Hacking IKEA Furniture

L'auteur souhaitait un meuble combinant l'aspect pratique d'un établi et l'esthétique d'un mobilier de salon et, faute d'offre satisfaisante, l'a construit lui‑même. Le projet réutilise un plateau de bureau découpé et deux modules IKEA Kallax 2x2 complétés par des panneaux MDF, inserts, vis, film décoratif et feuilles de caoutchouc. Après des tests de perçage et des ajustements d'outillage, l'assemblage a consisté à superposer et visser le plateau, le caoutchouc, les MDF et les Kallax pour améliorer la stabilité. Quelques difficultés sont apparues, notamment des planches mal coupées et des trous mal alignés corrigés au moyen de gabarits et de mastic, et une légère oscillation latérale subsiste contre laquelle un renfort est envisagé. Le coût estimé par unité est d'environ 130 € hors plateau récupéré et le meuble s'avère suffisamment stable pour un bureau domestique et pour supporter des appareils comme une imprimante 3D.

Why open source rocks – a new SM750 (Silicon Motion GPU) HDMI Driver

Il s'agit d'un pilote Linux pour une carte PCIe HDMI basée sur le contrôleur Silicon Motion SM750 et quelques composants précis, compatible uniquement avec le modèle testé (SM750G10-AC A1, PCI ID 126f:0750, SiI9024, 16 MiB et une sortie HDMI). Les utilisateurs d'Ubuntu 24.04 ou Linux Mint 22 peuvent construire et installer un paquet DKMS localement via git, make et le script build-package.sh, et le pilote est conçu pour les noyaux Linux 6.17 et ultérieurs. Par défaut, le pilote utilise les modes EDID, un scanout RGB565 ditherisé avec correction verte, un curseur matériel, des uploads DMA en blocs de huit lignes et un repli sûr vers des uploads CPU pour réduire le trafic sur le lien PCIe 1.1 x1. Des options expérimentales (notamment edid_only=0 et softscale_wide=1) exposent des modes ultralarges en compressant des bureaux 2464x1080 ou 2560x1080 vers un scanout 2048x1080 puis en laissant le moniteur les étirer, mais ces modes peuvent dépasser les limites du GPU, du transmetteur ou du moniteur et provoquer perte de signal ou affichage instable. Le projet est publié sous GPL-2.0-only, inclut une mention d'assistance IA dans son développement, fournit des outils de dépannage, et avertit explicitement que l'utilisation des modes non-EDID ou hors-spécification se fait aux risques et responsabilités de l'utilisateur.

Sort branches by last commit date

J'avais trop de branches Git et j'utilisais un script complexe pour afficher les plus récentes. Le script parcourait chaque branche, exécutait git log pour obtenir la date et triait la sortie afin de montrer l'ordre chronologique. Avec les versions modernes de Git, on peut simplement configurer le tri des branches par date du committer via git config branch.sort committerdate. On peut aussi utiliser ponctuellement git branch --sort committerdate pour obtenir le même résultat sans changer la configuration. La documentation renvoie à git-for-each-ref pour d'autres clés de tri possibles comme authordate, committerdate, creatordate, contents:size, refname ou upstream.

Transfer files over an Ethernet patch cable

Le texte explique comment connecter directement deux ordinateurs en Ethernet et configurer des adresses IPv6 sur chaque interface pour établir la connectivité. Il donne un exemple pratique montrant l'utilisation de ping puis de socat couplé à dd pour transférer un gros fichier entre machines. L'auteur indique qu'un câble et une prise standards peuvent atteindre environ 900 Mbit/s, ce qui dépasse souvent les performances d'une clé USB ou du transfert via le cloud. Les alternatives (stockage en nuage, Wi‑Fi, supports amovibles) sont critiquées pour leur lenteur, leurs interruptions potentielles et le besoin de recopier les données, ce qui augmente le temps total. L'article conclut qu'Ethernet reste la solution la plus fiable et résistante pour des liaisons point à point, qu'on peut l'utiliser sans pile TCP/IP et qu'un support USB‑C/Thunderbolt sous Linux est évoqué mais non testé par l'auteur.

Show HN: NFC Energy-Harvesting PCB Business Card with an MCU

L'auteur a conçu une carte de visite PCB sans batterie qui s'allume à l'approche d'un téléphone grâce à l'énergie NFC récoltée pour animer une vingtaine de LEDs, et le projet a servi d'apprentissage de KiCad. Le système repose sur une puce NFC capable d'exporter une tension (NXP NTAG I2C Plus) et un microcontrôleur ATtiny (changement du 412 au 816 pour plus de GPIOs), les LED étant pilotées par charlieplexing pour maximiser le nombre de sorties. Pour contourner la limite de capacité spécifiée sur la sortie VOUT, l'auteur a conçu un circuit combinant une résistance d'appel, un condensateur de 10 µF et un MOSFET à canal P comme commutateur pour obtenir un lissage important sans provoquer d'oscillation au démarrage. L'antenne a été dimensionnée pour résonner à 13,56 MHz autour de 2,75 µH et a été dessinée avec un script KiPython, tandis que le routage PCB a évité les boucles fermées et l'utilisation d'un plan de masse pour préserver la performance RF. Les cartes ont été fabriquées et assemblées chez JLCPCB en finition ENIG et RoHS, la programmation UPDI a nécessité un adaptateur dédié, et l'auteur envisage une version 2 avec couleurs LEDs supplémentaires, boutons et jeux tout en notant que l'intégration de ces techniques reste exigeante.

How to build a diffusion language model

L'article compare les modèles autoregressifs, qui génèrent un token à la fois sans possibilité de correction, aux modèles de diffusion discrets qui produisent la séquence entière par raffinements itératifs, offrant parallélisme, correction d'erreurs et attention bidirectionnelle. La diffusion masquée (MDLM) définit le bruit par masquage de tokens et s'interprète comme un processus avant/arrière analogue à la diffusion gaussienne, où un transformeur comble les masques et l'ELBO relie l'apprentissage à une perte de type BERT sur des taux de masquage aléatoires. Pour être opérationnels, les modèles modernes introduisent des extensions comme la diffusion par blocs pour longueur variable et cache KV, des architectures encodeur–décodeur pour accélérer le débruitage, des mécanismes de remasking ou de diffusion d'état uniforme pour permettre la révision des tokens, et des distillations progressives pour réduire le nombre d'étapes d'échantillonnage. Ces approches ont conduit à des succès en domaines scientifiques et biologiques (par ex. ESM3 pour protéines et NT‑v3 pour ADN) et à l'apparition de diffusion LLMs à grande échelle (LLaDA, Mercury, Gemma, Nemotron) qui montrent des compromis intéressants entre qualité et débit. Les auteurs estiment que la diffusion facilite la génération contrôlable et l'inférence parallélisée, offrant un potentiel pour de nouvelles lois d'échelle à l'inférence similaires à l'impact du transformeur sur l'entraînement, tout en notant que la méthode reste encore moins éprouvée à très grande échelle que les approches autoregressives.

Cores in space: The core memory module from a 1980 Spacelab computer

Spacelab embarquait des ordinateurs Mitra 125 MS européens équipés d'une mémoire à tores magnétiques totalisant 128 kilo-octets de RAM. La mémoire centrale était constituée de piles de plans de noyaux magnétiques avec des fils X et Y et des lignes de détection, la lecture y détruisant la valeur lue et nécessitant une réécriture. Le système employait une architecture 2½D qui supprimait la ligne d'inhibition en donnant des drivers X séparés par bit, et utilisait la technique de renversement de phase pour diminuer le nombre de drivers verticaux. Chaque carte mémoire comportait 1024 fils verticaux et 288 fils horizontaux, environ 294 912 noyaux en ferrite, des matrices de diodes et des amplificateurs de détection avec des paires torsadées et des croisements en «nœud papillon» pour réduire le bruit. La mémoire à tores, prisée pour sa non-volatilité et sa résistance aux radiations, était encore utilisée dans l'aérospatial en 1980 mais finit par être remplacée par la mémoire à semi-conducteurs dans les mises à jour ultérieures.

Understanding ChatGPT Work

OpenAI a lancé ChatGPT Work début juillet et le service existe en deux variantes : Work Cloud accessible via chatgpt.com et applications mobiles, et Work Local via l'application de bureau avec accès aux fichiers et exécution locale. L'accès à Work est réservé aux abonnés payants à partir de 20 $/mois et il propose des fonctionnalités absentes de l'interface Chat classique, comme une sélection avancée de modèles et l'exécution de code avec accès réseau. Work Cloud fournit un environnement capable d'installer des dépendances, de cloner des dépôts GitHub, de lancer un navigateur Chrome headless, d'exécuter du JavaScript sur le DOM et de conserver un système de fichiers persistant partagé entre sessions. Le service permet également de déployer des sites via Cloudflare Workers, d'orchestrer des sous-agents (Sol, Luna, Terra) et de programmer des automatisations de prompts pour des tâches récurrentes ou des workflows complexes. L'auteur souligne des préoccupations de sécurité liées aux risques d'injection de prompt et critique le manque de documentation publique sur les prompts système et la description des outils, rendant l'offre difficile à comprendre.