HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11890 articles Page 269/1189 Sans filtre

Servus München: Waymo Is Coming to Germany

Waymo amorce les préparatifs pour déployer son service de voitures autonomes à Munich, en commençant par des cartographies haute définition et des véhicules conduits manuellement avant un objectif d'ouverture commerciale vers la fin 2027. La société adopte une approche progressive avec des tests menés par des spécialistes formés, une phase de validation adaptée aux conditions locales de circulation et des démarches réglementaires auprès des autorités locales, régionales et fédérales. Les responsables allemands et bavarois saluent l'arrivée de Waymo comme un levier pour renforcer l'innovation, la production et l'écosystème technologique locaux, et annoncent des mesures pour assouplir la réglementation et soutenir le déploiement. Waymo met en avant des gains de sécurité mesurés sur plus de 350 millions de kilomètres autonomes parcourus — avec moins d'accidents graves ainsi que moins d'accidents impliquant piétons et cyclistes — et souligne le bénéfice attendu en matière d'accessibilité pour les personnes aveugles ou malvoyantes. Les premiers véhicules seront visibles prochainement dans Munich et le public est invité à s'inscrire sur waymo.com/waymo-in-germany pour recevoir des mises à jour.

HelloAssembly: The smallest possible complete Windows application (2021)

Le projet vise à créer la plus petite application Windows complète possible sans compression, avec une boucle de messages, une barre de titre fonctionnelle, un menu système et un texte centré visible. Le dépôt contient des variantes optimisées et de recherche dans les dossiers TinyOriginal, Lasse et Theron, ainsi qu'un code QRCode conservé comme vestige mais inutilisé. Des instructions de construction précises sont fournies pour assembler avec MASM32, pour lier avec Crinkler et pour générer un binaire avec Yasm, incluant les commandes et les chemins de bibliothèque recommandés. Les techniques d'optimisation employées peuvent provoquer des faux positifs par les antivirus, et il est recommandé de n'exclure ou désactiver un antivirus qu'à votre propre risque et de le réactiver après test. Le dépôt documente les tailles minimales obtenues pour chaque variante, allant de 383 octets avec Yasm à 1104 octets avec MASM32, avec des résultats intermédiaires de 818 et 540 octets selon l'utilisation de Crinkler.

Python's pre-declared constants are kinda weird

Python dispose de six "constantes" pré-déclarées — True, False, None, __debug__, Ellipsis (...) et NotImplemented — qui se comportent différemment selon leur catégorie. True, False et None sont des mots-clés reconnus au niveau du lexer plutôt qu'à la résolution de noms, ce qui entraîne des effets surprenants comme une SyntaxError pour une expression telle que x.True. Le symbole __debug__ vaut True par défaut (False avec l'option -O) et sert à conditionner du code d'optimisation, mais il est traité comme un identifiant spécial qu'on ne peut ni assigner ni supprimer normalement, avec des messages d'erreur particuliers et un comportement d'attribut distinct. Ellipsis et NotImplemented sont de simples objets dans builtins qui peuvent être ombrés par des noms globaux, tandis que ... est un token littéral qui reste inchangé, ce qui crée une différence de traitement entre le nom et la forme littérale. Les noms True, False, None et __debug__ existent aussi dans builtins et peuvent être modifiés via setattr sans affecter les littéraux ou le comportement du langage, illustrant l'incohérence entre ces "constantes".

I think the data center backlash is mostly about data centers

L'auteur soutient que la vague d'opposition aux centres de données s'explique principalement par des préoccupations concrètes locales (eau, énergie, environnement) plutôt que par des motifs secrets liés à l'IA ou à la lutte contre les géants du numérique. Les sondages montrent que les hyperscalers restent en grande partie favorables aux yeux du public, ce qui rend peu plausible l'hypothèse selon laquelle l'opposition viserait surtout à punir ces entreprises. Les enquêtes rapportent que la majorité des opposants invoquent des impacts tangibles des infrastructures, et la couverture médiatique ainsi que les réseaux sociaux ont amplifié des récits souvent peu contextualisés. L'auteur met en garde contre la tentation d'adopter des explications narrativement satisfaisantes qui projettent ses propres craintes sur la foule, tout en reconnaissant le risque de récupération politique du phénomène. En somme, l'analyse penche pour une réaction axée sur des objections d'objet et recommande de prendre au sérieux les motifs déclarés des citoyens plutôt que de supposer des motivations cachées.

One Go binary, one YAML file, one SQLite database: I wrote my monitoring tool

L'auteur a développé Gjallar, un service de supervision minimaliste écrit en Go consistant en un unique binaire, un fichier YAML et une base SQLite. Le projet évite CGO en utilisant des bibliothèques Go pures pour PostgreSQL, Oracle, ICMP et SQLite, produisant un binaire autonome multiplateforme d'environ 36 Mo. La conception du pipeline d'alertes est sans verrou grâce à un goroutine par contrôle et un seul consommateur qui gère l'état, les incidents et les écritures SQLite. La configuration centralisée supporte le rechargement à chaud, l'expansion d'environnement pour les secrets et une vérification en mode -check, et les notifications sont envoyées de façon asynchrone pour éviter les blocages. Gjallar refuse volontairement les fonctions de plateforme lourde (clustering, agents, tableaux de séries temporelles, comptes utilisateurs) en gardant un état compact et en déléguant aux outils existants, le code étant disponible sur GitHub.

Show HN: Lightweight system monitor for Linux VPS written in Go

Le logiciel est un moniteur système léger pour VPS Linux distribué en un unique binaire Go et consommant environ 5 Mo de RAM. Il surveille le processeur, la mémoire, le swap, le disque, le réseau, le temps de fonctionnement et le nombre de processus. L'interface Web nécessite une authentification et se met à jour automatiquement toutes les cinq secondes. L'installation et la désinstallation s'effectuent via des scripts téléchargés et exécutés avec curl pipés vers bash depuis le dépôt GitHub. Les variables d'environnement configurables incluent MONITOR_ADDR (par défaut :8088), MONITOR_USER (par défaut "admin") et MONITOR_PASS_HASH (hash bcrypt du mot de passe).

Fuzzing the Gleam Compiler

L'auteur décrit la mise en place d'un fuzzer structurel pour le compilateur Gleam afin de générer et exécuter massivement des programmes aléatoires en vue de découvrir des bugs. Le dispositif utilise l'API publique du compilateur en Rust, libFuzzer pour la phase de parsing et un "smith" générant des programmes respectant le typage pour comparer les cibles JavaScript et Erlang. Pour corriger les fausses comparaisons liées aux différences d'affichage entre Erlang et JavaScript, l'auteur a développé un parseur d'echo en Rust permettant une comparaison déterministe des sorties. Le fuzzer a déjà permis d'identifier plusieurs régressions et bugs, dont des plantages du compilateur et des erreurs de génération de code sur JavaScript et Erlang, certains rapportés upstream. L'article conclut sur des pistes d'amélioration comme le fuzzing par mutation, l'intégration en CI, les tests métamorphiques et l'extension du smith pour couvrir les génériques et le serveur de langage.

Show HN: I built self-hosted deployment automation tool for Windows and IIS

La licence est attribuée par instance de fDeploy Server, une licence par instance, avec un nombre illimité de cibles de déploiement, projets et utilisateurs sur tous les paliers, la version Community étant identique à la Professional en fonctionnalités mais différente en éligibilité et support. Les licences perpétuelles n'expirent pas, il n'y a pas de serveur de licences ni de mécanisme de coupure, et la maintenance, optionnelle, couvre uniquement les nouvelles versions. Le palier Community est gratuit pour les organisations dont le chiffre d'affaires annuel est inférieur à 1M$ / 900k€, compte les affiliés, et reste gratuit pour un usage personnel, éducatif, non productif ou pour les projets open source non commerciaux, avec téléchargement direct du Server et de l'Agent sans compte ni demande de licence. Les offres payantes incluent Professional (2 900$/2 700€ par an ou 7 250$/6 750€ en licence perpétuelle, maintenance perpétuelle optionnelle à 1 450$/1 350€ par an et support en heures de bureau) et Academic (1 450$/1 350€ par an ou 3 625$/3 375€ en perpétuel, maintenance optionnelle à 725$/675€), la catégorie Academic nécessitant une institution accréditée ou une association enregistrée et une vérification. Le niveau Enterprise prévoit plusieurs instances Server, un SLA contractuel et un séquestre du code source, les prix s'entendent hors TVA avec facturation en autodéclaration pour les clients UE hors Suède, et le paiement se fait par facture et virement.