Guy Goma's Accidental BBC Interview Lives on After 20 Years
Resume indisponible pour cet article.
Edition quotidienne
Les meilleurs longs formats de Hacker News, relus plus calmement.
11 May 2026
06:02
Resume indisponible pour cet article.
11 May 2026
06:02
La première section immergée du tunnel du Fehmarnbelt a été posée avec succès, constituant une étape majeure du projet reliant l'Europe continentale à la Scandinavie. D'une longueur de 18 kilomètres, il deviendra le plus long tunnel immergé au monde et accueillera une autoroute à deux fois deux voies ainsi qu'une double voie ferrée pour favoriser le transfert du fret vers le rail. Les éléments préfabriqués sont construits par Femern Link Contractors, puis remorqués depuis des bassins et déposés dans une tranchée préparée ; 79 éléments standard de 217 m, 10 éléments spéciaux de 39 m et une jointure finale sont prévus. Le chantier est organisé en trois contrats distincts — TPR pour les portails et rampes, TDR pour le dragage et le remblaiement, et TUX pour la pose des éléments immergés — incluant la modification de la digue et la création d'infrastructures temporaires. Le groupement RAT (Ramboll, Arup, TEC) conseille le maître d'ouvrage Sund & Bælt, et les chiffres clés indiquent un point de tranchée à 45 m de profondeur, 33 000 m3 de béton par élément standard et un déplacement d'eau d'environ 75 000 tonnes par élément.
11 May 2026
06:02
L'article propose d'ordonner à Claude, un grand modèle de langage, de fonctionner comme une pile IP en espace utilisateur capable de répondre byte par byte à une requête ping. L'auteur décrit un fichier de commande qui lit un paquet depuis un dispositif TUN via un aide Python, puis analyse l'en-tête IPv4 et, si le protocole est ICMP, analyse l'en-tête ICMP. La construction de la réponse consiste à inverser les adresses source et destination, fixer le TTL, remettre à zéro les champs de checksum puis calculer manuellement les checksums IP et ICMP avant d'assembler et d'écrire la chaîne hexadécimale de retour. Des règles strictes imposent d'effectuer tous les calculs à la main, d'afficher les étapes de calcul des checksums, de respecter le format hexadécimal exact et d'abandonner en cas d'anomalie. Un exemple montre une réponse ICMP correcte générée par le modèle (testé avec Haiku 4.5) mais avec un temps de réponse très long d'environ 45 secondes, l'auteur qualifiant l'exercice de ludique et coûteux en tokens.
11 May 2026
06:02
dBase a dominé les bases de données sur PC mais a progressivement perdu sa position face à la concurrence après des choix stratégiques et juridiques. Ashton-Tate et ses successeurs ont multiplié les poursuites, audits et pratiques commerciales agressives qui ont détérioré la confiance des développeurs et des clients. Des décisions techniques et de produits (fragmentation, maintien du BDE obsolète, perte supposée de code source pendant les rotations Borland/Corel) ont freiné l'innovation tandis que le format de fichiers dBase a survécu via des usages GIS et mainframe. Les éditeurs tiers ont souvent livré des extensions uniquement en binaire, vendu des abonnements sans véritable évolution et parfois disparu, laissant des entreprises bloquées sur des environnements anciens. Aujourd'hui, des modèles d'IA peuvent analyser le code .PRG et les fichiers .NTX anciens pour traduire des applications dBase/Clipper/FoxPro vers des langages modernes comme Rust, Go ou Dart et faciliter la migration des systèmes hérités.
11 May 2026
06:01
Un plugin pour Claude Code fournit une pipeline de revue en six commandes qui orchestre des sous‑agents parallèles, des passes de validation, un état persistant au format JSON et une boucle d'autocorrection qui re‑revise et annule les régressions avant de valider. Les six commandes sont /adamsreview:review, /adamsreview:codex-review, /adamsreview:add, /adamsreview:walkthrough, /adamsreview:fix et /adamsreview:promote, chacune gérant respectivement la détection multi‑lentille, le pair‑review Codex, l'injection de trouvailles externes, la revue interactive, l'application automatique des correctifs et la promotion manuelle d'un finding. La phase de revue combine jusqu'à sept lenses (correctness, security, UX, etc.), une passe de dé‑doublonnage, une validation rapide‑puis‑approfondie et une passe transversale Opus optionnelle, tandis que les propositions de correctifs à haute confiance sont pré‑calculées pour acceptation groupée. L'état des revues est conservé sous ~/.adams-reviews/<slug>/<branch>/, l'installation s'effectue via /plugin marketplace add et /plugin install ou depuis un clone local, et les dépendances requises incluent uv, python3, bash, jq, gh et git sans script d'installation global. Le flux recommandé est review → add → walkthrough → fix, la commande walkthrough guide les décisions humaines pour les cas ambigus, fix applique les correctifs auto‑éligibles en parallèle puis re‑revise et revertit les régressions avant de committer, et le rapport distingue les sub‑agent tokens précis des orchestrator tokens opt‑in.
11 May 2026
06:01
L'auteur explique que la productivité réelle d'une équipe est principalement déterminée par les coûts de maintenance du code sur le long terme. Les agents d'IA qui accélèrent l'écriture de code peuvent augmenter la quantité de code produite mais aussi les coûts de maintenance, annulant ou inversant les gains initiaux. Si l'IA double la production sans réduire proportionnellement le coût de maintenance par unité de code, le temps passé en maintenance augmente et la productivité chute avec le temps. Arrêter d'utiliser l'agent ne supprime pas les obligations de maintenance sur le code déjà généré, ce qui peut créer un verrouillage coûteux. La recommandation est de viser des IA ou des processus qui réduisent les coûts de maintenance ou rendent la maintenance elle-même plus efficace, et de tester différents scénarios avec des modèles ou tableurs.
11 May 2026
06:01
Une dépendance compromise dans l'écosystème JavaScript a conduit au vol d'identifiants, permettant une attaque de la chaîne d'approvisionnement sur une bibliothèque Rust de compression intégrée à un outil de build Python. Un mainteneur a été victime d'un site de phishing et un paquet compromis a ajouté un script postinstall exfiltrant des fichiers de credentials, ce qui a permis de publier une version malveillante de la bibliothèque vulpine-lz4. Cette version malveillante, incluse dans snekpack, a propagé un malware sur les environnements de développement en ajoutant des clés SSH, en installant un reverse shell programmé et en modifiant le shell par défaut, impactant environ quatre millions de machines. La propagation a été interrompue de façon accidentelle lorsqu'un ver de minage a mis à jour les paquets vers une version rétablie, après quoi les mainteneurs ont publié un avis de sécurité et renouvelé les identifiants ; l'incident a été déclaré résolu au bout de 73 heures. Les recommandations incluent la signature des artefacts, le renforcement de l'authentification multifacteur, l'audit des dépendances transitives et l'amélioration de la gouvernance des mainteneurs et des outils de build.
11 May 2026
06:01
Des chercheurs en sécurité ont identifié une campagne d'ingénierie sociale très ciblée exploitant l'application de prise de notes Obsidian pour livrer un cheval de Troie d'accès à distance inédit nommé PHANTOMPULSE visant les secteurs financier et des cryptomonnaies sur Windows et macOS. Les attaquants gagnent la confiance des cibles via LinkedIn et Telegram, puis incitent à ouvrir un coffre Obsidian partagé et à activer la synchronisation des plugins communautaires, permettant l'exécution de versions malveillantes de plugins légitimes. La chaîne d'attaque déclenche un script (PowerShell sur Windows, AppleScript sur macOS) qui installe un chargeur appelé PHANTOMPULL, lequel déchiffre et lance PHANTOMPULSE directement en mémoire pour éviter les détections basées sur les fichiers. PHANTOMPULSE peut capturer les frappes, prendre des captures d'écran, exfiltrer des fichiers et exécuter des commandes, et il résout de façon résistante à la censure l'adresse de son serveur de commande en lisant des données depuis des transactions sur la blockchain Ethereum. Les mesures recommandées incluent la surveillance des processus enfants lancés par Obsidian, la vigilance sur les plugins communautaires, la désactivation de la synchronisation pour les coffres non fiables, l'application du principe du moindre privilège et le déploiement d'EDR et de contrôles d'application.
11 May 2026
06:00
L'auteur a expérimenté l'exécution de modèles locaux et décrit les défis d'installation, le choix entre outils comme Ollama, llama.cpp et LM Studio, et les contraintes de mémoire et de fenêtre de contexte. Après des essais, il a identifié qwen3.5-9b@q4_k_s sur LM Studio avec thinking activé et une fenêtre de 128K comme le meilleur compromis pour un MacBook Pro 24GB, avec des réglages recommandés pour le mode réflexion et le codage. Il fournit des exemples de configuration pour Pi et OpenCode et explique des ajustements pratiques comme cacher le bloc de thinking et modifier le template d'invite pour activer la réflexion. Comparé aux modèles SOTA, ce modèle local nécessite davantage de supervision pas à pas et se montre efficace pour des workflows interactifs et des tâches de développement simples, mais il peut se tromper, se bloquer ou mal gérer certaines interactions avec les outils. L'auteur conclut que les modèles locaux permettent de travailler hors ligne, de réduire la dépendance aux grandes entreprises et les coûts d'abonnement, tout en impliquant des compromis importants et en restant un loisir gratifiant à expérimenter.
11 May 2026
06:00
L'auteur relate sept mois de développement de k10s principalement assisté par l'IA et conclut que l'IA produit des fonctionnalités mais pas une architecture durable. Le code a dégénéré en une structure monolithique qui centralise tout l'état et des handlers volumineux, entraînant des bugs, des conflits de raccourcis et des fuites de données entre vues. Il synthétise cinq enseignements : l'IA optimise les fonctionnalités à court terme, tend vers des objets globaux, favorise l'expansion du périmètre, utilise des données positionnelles fragiles et ne gère pas bien les transitions d'état concurrentes. Pour corriger cela, il préconise de définir d'avance des interfaces concrètes, des règles d'ownership, des types structurés, des invariants de concurrence et des limites de scope, puis de placer ces directives dans des fichiers (ex. CLAUDE.md) que l'IA doit respecter. Il a entrepris une réécriture en Rust et insiste sur l'importance de faire la conception humaine préalable, car l'intervention humaine reste nécessaire pour éviter l'effondrement architectural.