HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11333 articles Page 45/1134 Sans filtre

CSS Bed: Classless CSS themes to use as starting points in web development

Le site propose une série de thèmes CSS sans classes destinés à servir de points de départ pour le développement web. L'intégration se fait en collant un extrait dans la balise <head> de votre site et le code source est disponible sur GitHub pour signaler des bugs ou contribuer. La collection comprend de nombreux thèmes variés comme awsm.css, pico.css, sakura, water.css et d'autres, avec la possibilité de voir la même page dans chaque thème. Parmi les avantages cités figurent la réactivité mobile, la bonne compatibilité entre navigateurs, la petite taille des fichiers et l'absence de courbe d'apprentissage liée à des classes. La page de démonstration montre des éléments HTML courants (formulaires, blocs de code, tableaux, typographie et titres) pour vérifier l'apparence des thèmes.

Using Opus 5.5 to discover a new eyewitness record of the dodo

Un chercheur en sécurité, Carter Church, a utilisé GPT‑6 Astra pendant six heures pour résoudre un chiffre napoléonien et illustre une méthodologie reproductible d'investigation historique assistée par IA. La procédure décrite combine une question spécialisée, un corpus historique bien édité (comme les archives VOC), des embeddings pour recherche sémantique, et l'emploi de modèles frontier pour repérer et classer des passages pertinents. Des agents comme Opus 5.5 ont permis de découvrir apparemment pour la première fois un journal de 1615 mentionnant des « dodos » et de corriger une mauvaise traduction qui cachait une référence au red rail de 1638. Les modèles excellent à scanner massivement des sources et à faire émerger des indices nouveaux, mais ils peinent à formuler les bonnes questions, à évaluer la portée historique des trouvailles et génèrent parfois des digressions difficiles à vérifier. L'auteur conclut que ces outils vont raccourcir de nombreuses listes de problèmes historiques mais qu'ils creuseront un nouveau goulot d'étranglement lié à la disponibilité d'experts capables de valider et d'interpréter les découvertes.

Git 3.0's upcoming SHA-256 default will be a costly mistake

Git est une base de données adressable par le contenu qui a historiquement utilisé SHA-1 pour identifier les objets, un choix rapide et pratique malgré l'existence de collisions théoriques publiées. La prochaine version majeure prévoit de passer par défaut à SHA-256, ce qui entraînera d'importants coûts, de la confusion et des ruptures d'écosystème pour un avantage pratique limité, selon l'auteur. Les attaques réalistes relèvent davantage de collisions intentionnelles introduites par des attaquants déjà présents ou de compromissions sociales et de mainteneurs, tandis que les secondes-préimages utiles sont pratiquement inexistantes en pratique. La migration casserait la compatibilité entre dépôts, signatures et outils, obligerait les hébergeurs et bibliothèques à gérer deux formats et rendrait obsolètes des liens, scripts et intégrations qui supposent la longueur de hachage actuelle. Une alternative proposée consiste à ajouter des empreintes indépendantes (SHA-256, BLAKE3, etc.) des contenus d'arbre dans les objets signés, méthode peu coûteuse, vérifiable et rétroactive qui permettrait de séparer la confiance dans le contenu du format de stockage.

StreetComplete on iOS is now in public beta

Ce ticket centralise et coordonne le développement d'un port iOS de StreetComplete en remplaçant une discussion et recherche antérieures. L'approche proposée s'appuie sur Kotlin Multiplatform et Compose Multiplatform pour partager le code métier et l'interface tout en limitant le code spécifique Android/iOS. La migration se déroule en plusieurs étapes : séparer le code spécifique aux plateformes, remplacer les dépendances Android par des équivalents multiplateformes, convertir les layouts XML vers Jetpack Compose puis vers Compose Multiplatform et utiliser des ViewModels. L'état actuel est suivi via un tableau Kanban, la migration est estimée à environ 50 % et le projet a été précédemment évalué à près d'une année-homme de travail supplémentaire. Les contributions attendues comprennent la reprise de tâches du project board, l'apprentissage des technologies (Jetpack/Compose Multiplatform), le soutien financier et l'aide à la maintenance et au triage des issues.

Turbo Haskell

Edward Kmett a développé THC, un compilateur « Turbo Haskell » qui prend le relais après GHC en compilant et exécutant le Core via Truffle/GraalVM et implémente les prim-ops de GHC 9.14.1. THC offre un JIT pour GHC Core, la compilation AOT via Native Image, prend en charge des fonctionnalités avancées comme Template Haskell et Linear Haskell, et peut compiler des programmes tels que pandoc, happy, alex et même GHC lui‑même. Il gère la résolution de paquets via Cabal, prend en charge les paquets multi‑bibliothèques et Backpack, et propose une FFI polyglotte vers Python, Ruby, R, JavaScript et Java avec conversion zéro‑copie entre Data.Text et les chaînes Truffle. Sur le plan d'exécution, THC propose deux backends Truffle (bytecode et AST), supporte les exceptions asynchrones et le masking, fonctionne avec le threading Java classique ou Project Loom pour des green threads et peut exécuter le bytecode produit par GHCi. Pour les performances, il utilise SIMD via l'API Vector incubatrice, optimise les appels terminaux chauds par transformation de code et détection par Bloom filter avec compactage temporaire de la pile, obtenant après warmup des performances souvent proches de GHC malgré quelques régressions ponctuelles, et le code est disponible sur github.com/ekmett/thc.

Pi Durable

Earendil annonce une version stable de Pi et publie en parallèle Pi Durable, un cadre expérimental pour exécuter des agents durables et modulaires. Un harness dans Pi Durable combine le stockage, la logique d'exécution et les environnements pour lancer des conversations avec des modèles et des outils, en permettant d'exécuter des tâches sur des environnements locaux ou distants. La plateforme vise la durabilité : chaque étape est une tâche avec point de contrôle, les exécutions reprennent après un crash, les appels sûrs sont rejoués et les sous-agents survivent aux redémarrages. Pi Durable gère de nombreuses conversations concurrentes, des extensions pour prompts, outils et hooks, la compaction automatique des historiques et des documents typés pour l'état applicatif atomique. Le système est conçu pour être malléable et collaboratif : on peut remplacer des extensions à chaud, plusieurs clients peuvent observer et piloter les conversations, et l'API expérimentale est fournie en TypeScript avec des exemples pour tester.

Automatic Transmission – a data-privacy study of connected vehicles

L'étude, menée en partenariat avec Consumer Reports, a analysé 21 véhicules récents et 30 applications mobiles associées en combinant captures Wi‑Fi, tests en tunnel de Faraday et interception du trafic des applications. Dix‑neuf des 21 véhicules ont contacté au moins un tiers via le Wi‑Fi, y compris des domaines liés à la publicité et au pistage. Sept des 30 applications ont transmis des identifiants sensibles (VIN, courriels, numéros de téléphone, position précise) à des sociétés tierces et l'appairage d'une application a en moyenne doublé l'exposition aux trackers, parfois en ajoutant plus de vingt acteurs. Les constructeurs interrogés ont majoritairement renvoyé la responsabilité vers les utilisateurs et les contrats, ce qui laisse peu de choix pratiques aux propriétaires, une exception notable étant Honda qui a modifié ses pratiques pour limiter l'envoi de géolocalisation précise. Les auteurs concluent qu'il existe un décalage important entre les divulgations publiques des fabricants et les pratiques réelles de partage de données, et ils demandent une meilleure transparence et une surveillance continue de l'écosystème des véhicules connectés.

SvelteKit 3

La version 3 apporte des raffinements, une meilleure sécurité des types et une migration facilitée via la commande npx sv migrate sveltekit-3 --tasks all --confirm qui automatise les conversions et génère une liste de tâches restantes. La création d'un nouveau projet se fait désormais avec sv create et l'équipe a rendu la migration aussi transparente que possible. Parmi les changements importants figurent le déplacement de la configuration vers vite.config.ts, le remplacement de l'alias $lib par #lib, des variables d'environnement enrichies, des service workers simplifiés et une gestion des erreurs améliorée. Les fonctions distantes ne sont pas encore prêtes à l'emploi et nécessitent pour l'instant Async Svelte activé par un flag expérimental, ce qui en fait une priorité de l'équipe. La communauté se retrouvera les 19 et 20 novembre à Ljubljana pour le Svelte Summit et la célébration du dixième anniversaire du projet.