HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11978 articles Page 742/1198 Sans filtre

Designing an FPGA Calculator from Scratch

Le projet est né pendant une panne de courant à Austin en février 2021, lorsque l'auteur, inspiré par son HP‑41CV, a décidé de construire sa propre calculatrice. La phase exploratoire a alterné essais et erreurs pour établir la faisabilité, et des méthodes numériques ont montré que tan, ln, exp et sqrt peuvent être obtenues à partir d'additions, soustractions et multiplications avec une référence vérifiée visant jusqu'à 16 décimales. Un cadre de test a été développé pour exécuter le même code Verilog dans ModelSim, Verilator, une interface Qt et WebAssembly, puis le projet a progressé vers du matériel réel avec une première carte PCB comportant une matrice de touches et un écran OLED. L'architecture du processeur a été conçue sur mesure avec mémoire adressable par nibble, instructions fixes de 12 bits, un jeu d'opérations ALU incluant ajustements BCD inspirés du 8086, et la microcode a été écrite et mise au point à partir de prototypes C++ avec un petit interpréteur de scripts et des outils de débogage source‑level. Après une refonte de l'unité arithmétique pour assurer la précision de 16 chiffres (gardes, bit sticky, arrondi bancaire), l'appareil final a été réalisé sur PCB avec FPGA soudé, registres STO/RCL, suite trigonométrique, générateur de nombres aléatoires et interruptions, aboutissant à une calculatrice scientifique fonctionnelle et à des réflexions honnêtes sur les compromis et l'ergonomie.

What Is Date:Italy?

Le code Ruby expose des constantes (Date::ITALY, Date::ENGLAND, Date::GREGORIAN, Date::JULIAN) qui représentent des numéros de jour julien correspondant au basculement vers le calendrier grégorien pour différents contextes. Le basculement grégorien officiel a été ordonné par le pape Grégoire XIII en 1582, supprimant dix jours (4 octobre 1582 suivi de 15 octobre 1582) et Ruby gère ces jours invalides en levant une exception ou en les sautant selon le paramètre de départ. Le jour julien est un comptage continu des jours débutant à midi le 1er janvier 4713 av. J.-C., conçu comme un intermédiaire universel pour convertir sans ambiguïté entre calendriers adoptés à des dates différentes. Dans Date.new le quatrième argument "start" indique le jour julien du passage au grégorien, Date::GREGORIAN et Date::JULIAN étant représentés par -∞ et +∞ pour forcer respectivement l'usage toujours grégorien ou toujours julien. L'inspect d'un Date affiche le numéro de jour julien et le point de basculement, et la classe offre des méthodes utiles comme gregorian_leap?, julian_leap?, jisx0301, rfc2822 et rfc3339 pour travailler avec ces représentations.

Coding on Paper

L'auteur a acheté un écran e‑ink Onyx BOOX Mira Pro Color 25,3 pouces et l'a utilisé comme écran principal pendant environ trois mois. Il précise que ce n'est pas un article sponsorisé ni un test formel, et qu'il n'encourage pas nécessairement l'achat vu le prix élevé d'environ 2000 dollars. Pour l'utiliser au quotidien il a adapté son environnement NixOS et ses thèmes vers des interfaces claires et à fort contraste, créé des thèmes personnalisés pour Neovim, Zed et Ghostty, et réglé Firefox en mode contraste élevé. Il contrôle les modes d'affichage (lecture et écriture) via un paquet NodeJS et des raccourcis Hyprland, la lecture offrant des couleurs vives mais une latence pénible pour la frappe tandis que l'écriture privilégie la réactivité au détriment de la netteté et des couleurs. L'écran couleur est jugé plus sombre que le monochrome et nécessite souvent un éclairage d'appoint, mais l'auteur trouve l'expérience globale satisfaisante malgré les compromis.

Show HN: InsForge – Open-source Heroku for coding agents

Ce projet est une plateforme backend open-source tout-en-un qui fournit aux agents de programmation l'authentification, la base de données, le stockage, des fonctions edge, une passerelle de modèles, du compute et le déploiement de sites. Les agents interagissent via un MCP Server (auto-hébergé ou cloud) ou via une interface CLI associée à des Skills disponible en cloud, leur permettant de lire le contexte backend, déployer des fonctions et configurer des ressources. La distribution propose un démarrage rapide en cloud ou en local avec Docker Compose, des instructions pour faire tourner plusieurs projets isolés et des options de déploiement en un clic sur des plateformes comme Railway. Le dépôt contient une documentation complète, un guide de contribution, un canal Discord pour le support et une adresse e-mail de contact, et le projet est distribué sous licence Apache 2.0. Les auteurs invitent les utilisateurs intéressés à étoiler le dépôt sur GitHub et fournissent des badges «Made with» pour promouvoir les projets construits avec la plateforme.

War game exposed U.S. vulnerability to low-tech warfare

Un rapport d'après-action récemment déclassifié sur un exercice de guerre de 2002 a révélé des avertissements internes selon lesquels l'armée américaine était vulnérable à une guerre à faible technologie. Lors de l'exercice Millennium Challenge 2002, un groupe de combat de la marine américaine a été vaincu en dix minutes par un adversaire ayant lancé des attaques depuis des navires commerciaux et en utilisant d'autres moyens non conventionnels. Les conclusions de cette analyse post mortem, issue d'un exercice de 250 millions de dollars, présageaient les défis rencontrés par les États-Unis lors de l'invasion de l'Irak en 2003 et dans des conflits ultérieurs. Nate Jones a demandé la déclassification en 2013 alors qu'il travaillait au National Security Archive après avoir découvert un article citant le lieutenant général Paul Van Riper, qui critiquait l'exercice comme étant « truqué ». Après onze ans et l'examen par cinq agences différentes, le Pentagone a finalement accepté de déclassifier partiellement le document.

The Futility of Lava Lamps: What Random Means

Cloudflare expose des murs de lampes à lave présentés comme une source d'entropie pour le chiffrement, mais l'auteur considère cela surtout comme du théâtre de sécurité et potentiellement préjudiciable. L'article rappelle que le hasard pertinent pour la sécurité est une propriété de notre ignorance (épistémique) et illustre que l'apparence d'imprévisibilité ne suffit pas. Par une analogie avec un one‑time pad, il montre que le masquage idéal fonctionne uniquement pour un usage unique et que la réutilisation de la même clé révèle progressivement des informations. En pratique, on dérive des volumes illimités de pseudo‑aléa sûrs à partir d'une clé maître de 256 bits via des chiffrements en flux fiables (ChaCha20, AES‑256), avec des mesures comme l'effacement rapide des clés et la gestion prudente des seeds pour limiter l'impact d'une fuite. La recommandation finale est d'abandonner les lampes à lave pour la génération de hasard en production, de privilégier la génération locale de graines, l'usage opportun de RNG matériels et la simplicité pour réduire la surface d'attaque.

The FBI Wants to Buy Nationwide Access to License Plate Readers

Des documents d'achats du FBI consultés par 404 Media révèlent que l'agence cherche à obtenir un accès aux lecteurs automatiques de plaques d'immatriculation (ALPR) à l'échelle nationale. Un tel accès permettrait vraisemblablement de suivre les déplacements de véhicules, et par extension de personnes, à travers le pays sans mandat. Les dossiers indiquent que les ALPR restent un outil recherché par les forces de l'ordre, non seulement par les polices locales et les collectivités, mais aussi par des agences fédérales. Ces révélations surviennent alors que des protestations et des oppositions contre l'utilisation des ALPR se multiplient à travers le pays. L'article mentionne par ailleurs des sollicitations envers les fournisseurs de ces systèmes et signale que une partie du contenu est réservée aux abonnés payants.