HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3748 articles Page 165/375 Sans filtre

07:00

Make macOS consistently bad unironically

L'auteur critique la mise à jour MacOS 26 pour ses coins de fenêtres incohérents et l'excès d'arrondis, citant l'interface de YouTube comme exemple particulièrement laid. Il souligne que le design d'interface est très influent et que les grandes entreprises dictent souvent les tendances suivies par d'autres designers. Après la mise à jour, il déplore l'incohérence visuelle et note que certains utilisateurs désactivent la protection d'intégrité du système (SIP), ce qui peut accroître la vulnérabilité de la machine. Pour homogénéiser l'apparence, il a adapté une solution existante en injectant une librairie dynamique qui remplace des méthodes de NSThemeFrame (swizzling) et fournit des instructions pour compiler, signer et charger cette dylib. Selon lui, la modification rend l'aspect des coins cohérent sur les applications tierces, même si l'apparence demeure esthétiquement discutable.

07:00

AMD's Ryzen 9 9950X3D2 Dual Edition crams 208MB of cache into a single chip

Depuis environ quatre ans, AMD propose des variantes X3D de ses processeurs haut de gamme avec 64 Mo supplémentaires de cache L3 empilés, une amélioration particulièrement bénéfique pour les jeux. Les puces 12 et 16 cœurs répartissent leurs cœurs sur deux chiplets, ce qui a conduit jusqu'ici à des modèles hybrides où une seule puce disposait du 3D V-Cache et nécessitait une gestion logicielle pour diriger les tâches vers ces cœurs. AMD présente le Ryzen 9 9950X3D2 Dual Edition qui intègre 64 Mo de 3D V-Cache sur chacun des deux dies, supprimant l'arrangement hybride précédent. Le processeur totalise 208 Mo de cache au total, combinant 16 Mo de cache L2, 32 Mo de L3 par die (64 Mo) et 64 Mo de 3D V-Cache par die (128 Mo). AMD affirme que ce nouveau modèle peut offrir jusqu'à 10 % de performances en plus par rapport au 9950X3D dans les jeux et applications tirant parti de ce cache supplémentaire.

07:00

Go hard on agents, not on your filesystem

Des utilisateurs signalent déjà des fichiers perdus, des arbres de travail vidés et des répertoires personnels effacés après avoir donné aux outils d'IA un accès ordinaire à leur machine. jai propose une solution intermédiaire : une commande unique qui crée une frontière légère pour les flux de travail locaux sans images ni Dockerfiles. Le répertoire de travail reste accessible en lecture/écriture, le répertoire personnel est monté en overlay copy-on-write pour capturer les modifications, et le reste du système est verrouillé en lecture seule avec /tmp et /var/tmp privés. Trois modes (casual, strict, bare) offrent différents niveaux d'isolation et de confidentialité — du simple overlay protégeant l'intégrité des originaux à une isolation plus stricte — mais aucune option ne garantit une sécurité équivalente à un conteneur durci ou à une VM. Cet outil est un logiciel libre développé par le groupe de recherche Stanford Secure Computer Systems et la Future of Digital Currency Initiative, conçu pour réduire le rayon d'impact des agents d'IA dans un usage courant plutôt que pour remplacer les solutions d'isolation fortes.

07:11

Show HN: New Causal Impact Library

Il s'agit d'un port fidèle du package R CausalImpact implémentant un estimateur bayésien de séries temporelles causales en Python, avec le noyau d'échantillonneur de Gibbs écrit en Rust via PyO3 pour accélérer de 10 à 30 fois. La méthode n'est valide que si les séries de contrôle ne sont pas contaminées par l'intervention, la relation traitement-contrôles est stable entre les périodes pré/post et la période pré-intervention est suffisamment longue (règle empirique : au moins trois fois la période post-intervention), sinon il faut considérer DID ou synthetic control. Le package nécessite Python 3.10+, s'installe par pip ou en développement en construisant l'extension Rust localement, et fournit une API CausalImpact(data, pre_period, post_period, model_args, alpha) avec des paramètres MCMC par défaut tels que niter=1000 et standardize_data=True. Le projet impose des tests d'équivalence numérique et une CI stricte comparant les sorties à R bsts sur plusieurs scénarios, incluant des contrôles déterministes ±1%, des tests TOST et des analyses ROPE pour garantir la parité statistique. La bibliothèque implémente les fonctionnalités R (niveau local, composantes saisonnières, spike-and-slab, régression dynamique) et ajoute des extensions Python comme le prior horseshoe, les tests placebo, l'inférence conforme et la sélection de contrôles par DTW, tout en affichant des gains de performance substantiels dans les benchmarks.

07:11

Taming LLMs: Using Executable Oracles to Prevent Bad Code

Les agents de programmation basés sur des modèles de langage peuvent être très efficaces sur des tâches fortement contraintes, mais ils produisent souvent du code incorrect ou de faible qualité lorsque des degrés de liberté restent ouverts. L'auteur propose de supprimer ces degrés de liberté en utilisant des oracles exécutables — outils automatisés comme des suites de tests, des fuzzers, des testeurs basés sur des propriétés, des profileurs de performance et des outils de couverture — pour encadrer et vérifier les résultats. Des exemples concrets montrent que des oracles appropriés peuvent réduire nettement les erreurs et améliorer la qualité (prévenir des miscompilations, guider l'optimisation ou permettre la synthèse de fonctions de transfert), tandis que des aspects tels que l'architecture logicielle ou l'ergonomie d'interface exigent encore une intervention humaine. Pour être efficaces, ces oracles doivent être rapides, déterministes, exploitables en sandbox, produire des sorties concises et disposer d'interfaces de ligne de commande documentées, car les LLMs ont tendance à contourner ou à manipuler des métriques faibles et nécessitent une supervision attentive. L'objectif visé est d'atteindre zéro degré de liberté en tant que contrainte aspiratoire, mais comme des dimensions importantes du code — sécurité, maintenabilité, modularité — restent difficiles à mesurer automatiquement, le code généré par les LLMs n'est pas encore adapté aux cas critiques.

07:10

Building a Blog with Elixir and Phoenix

L'auteur décrit la composition d'un blog construit avec Elixir et Phoenix en rendu côté serveur, les pages de billets étant générées à partir de fichiers Markdown via NimblePublisher. La stack est minimaliste sans base de données, utilise Tailwind pour le style et Makeup pour le surlignage de code, avec Earmark configuré pour injecter des classes CSS dans le HTML généré. Le flux CI/CD repose sur GitHub Actions, un Docker multi-étapes pour les images, et le déploiement automatique est assuré par Dokploy exécuté sur des serveurs Hetzner, avec bunny.net en CDN. Des fonctionnalités additionnelles incluent un flux RSS, un générateur de sitemap, une redirection pour conserver les anciens liens de blog, des balises SEO et des fichiers llms.txt pour l'indexation par IA. Le dépôt source est public et l'auteur souligne que cette approche offre un pipeline de publication rapide et simple, recommandable pour les développeurs Elixir souhaitant un site personnel flexible.

07:10

Show HN: Veil – Dark mode PDFs without destroying images, runs in the browser

Cette application propose un véritable mode sombre pour les PDF qui inverse le texte tout en préservant l'apparence des images et en laissant intacts les documents déjà sombres. Tout le traitement — OCR, rendu et exportation — s'effectue uniquement sur l'appareil de l'utilisateur, les fichiers ne quittent pas le navigateur et l'outil peut fonctionner hors ligne. Le logiciel analyse les images contenues dans les PDF pour extraire leur texte et rendre sélectionnables les éléments intégrés comme légendes de figures, axes et en-têtes de tableaux. L'export produit des PDF sombres de haute qualité, recherchables et compatibles avec n'importe quel lecteur, tout en conservant les liens internes et externes tels que la table des matières et les DOI. Conçu pour les chercheurs et étudiants qui lisent tard la nuit, le service est disponible sur bureau et propose un modèle de soutien pour maintenir la gratuité.

07:10

Cloudflare's Gen 13 servers: trading cache for cores for 2x performance

Cloudflare a comparé ses serveurs Gen 12 basés sur AMD Genoa‑X avec la génération 13 Turin et a constaté que Turin augmente fortement le nombre de cœurs tout en réduisant le cache L3 par cœur, ce qui pose un risque pour les charges sensibles à la localité. Les compteurs de performance ont montré une hausse marquée des défauts de cache L3 et une dépendance accrue aux accès DRAM, ce qui augmentait sensiblement la latence sous FL1 malgré un gain de débit brut. Des optimisations matérielles et des réglages (préfetchers, affinités, PQOS) ont apporté des gains marginaux mais n’étaient pas suffisants pour maintenir les SLA à haute utilisation. La réécriture complète en Rust du plan de traitement des requêtes (FL2) a réduit la dépendance au cache, amélioré les motifs d’accès mémoire et permis d’exploiter la montée en cœurs de Turin. En production, l’association Gen 13 Turin + FL2 a permis de doubler le débit par rapport à Gen 12 tout en abaissant la latence et en améliorant l’efficacité énergétique d’environ 50 %, entraînant un déploiement à grande échelle.

07:10

Zero Days: Electric Motorcycles Are a Security Nightmare

Les auteurs ont évalué la sécurité de l'application Android et du firmware des motos électriques Zero, débutant par des tentatives de dépotting du PCB qui ont été abandonnées après identification d'un encapsulant polyuréthane difficile à enlever. L'application Android contenait des informations sensibles (URL et token) et l'API FOTA permettait de récupérer des archives de firmware exploitables, y compris des fichiers .map facilitant la rétro‑ingénierie. Les firmwares et le bootloader vérifiaient uniquement un SHA‑512 salé statique (même sel sur toutes les machines) pour autoriser les mises à jour, et le mécanisme d'authentification BMS reposait sur un calcul local prévisible, rendant possible la génération de codes valides. La communication CAN et le protocole de mise à jour Bluetooth étaient dépourvus d'authentification adéquate, permettant via un script Frida ou un dongle CAN peu coûteux d'écrire des firmwares malveillants sur les ECUs et d'implanter un C2 capable d'altérer le comportement et la sécurité du véhicule. Après des mois de tentatives de divulgation restées sans réponse, CERT/CC a contacté le fabricant, qui a depuis mis le serveur FOTA hors ligne, désactivé l'accès séquentiel BOM et commencé les tests d'une signature ECDSA asymétrique pour les firmwares.