HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11293 articles Page 23/1130 Sans filtre

Show HN: Entombed in a Raycaster

L'auteur raconte comment, en découvrant l'algorithme du jeu Entombed de l'Atari 2600, il a été intrigué par une table mystérieuse qui gouverne la génération de labyrinthes. Le procédé génère chaque cellule à partir de ses cinq voisins (deux à gauche et trois au-dessus) pour indexer une table retournant mur, passage ou tirage aléatoire, ce qui permet de créer une ligne en un seul passage sans backtracking. Conçu pour un système avec seulement 128 octets de RAM, l'algorithme produit la carte une ligne à la fois et utilise des passes de correction pour éviter des répétitions ou l'isolement de zones, sans aucune garantie formelle de solution. L'auteur a implémenté une version personnelle en combinant cette logique avec un moteur de raycasting de type Wolfenstein, représentant les lignes par des uint32, en retirant la symétrie originale, en élargissant la carte et en conservant les lignes générées. Un démonstrateur Three.js et un dépôt GitLab accompagnent le projet, et l'article cite plusieurs travaux d'archéologie logicielle expliquant l'histoire et l'étrangeté de cet algorithme.

Testing 12 different Zigbee temperature/humidity sensors

L'auteur a comparé côte à côte douze capteurs Zigbee de température et d'humidité, provenant de plusieurs marques et principalement achetés sur AliExpress, en les alimentant par piles, sans affichage, et en les mesurant par rapport à un capteur de référence Xiaomi MHO-C401 étalonné sur un thermomètre de laboratoire (~4 °C) via Zigbee2MQTT. Tous les appareils se sont appairés sans problème au réseau Zigbee créé avec Zigbee2MQTT 2.12.1-dev et un coordinateur SMLight, et les tests ont comparé précision, résolution, intervalle de rapport, format, type de pile, résistance aux intempéries et possibilités de calibration ou de modification de l'intervalle d'envoi. Sur la précision, les meilleurs capteurs de température étaient Paulie (SONOFF SNZB-02P), Carmela (SONOFF SNZB-02B), Tony, Junior et Chris avec une déviation moyenne d'environ 0,2 °C, alors que Livia, Adriana, Richie, Furio et Meadow présentaient les plus grandes déviations; pour l'humidité, Tony, Chris, Paulie, Meadow et Carmela étaient les plus proches du benchmark. Un test en frigorifique autour de 5 °C a montré que Richie, Furio, Melfi, Meadow et Adriana étaient les moins fiables (écarts et rapports irréguliers), tandis que Tony, Carmela, Paulie, Junior, Chris et Livia ont mieux suivi les cycles de température, avec la précision d'envoi souvent plus discriminante que la précision de mesure; l'auteur précise que ces capteurs ne sont pas conçus pour un usage frigorifique prolongé. La conclusion recommande de privilégier le type de pile, la taille et la possibilité d'ajuster l'intervalle plutôt que la seule précision (puisque tous peuvent être recalibrés via Zigbee2MQTT), avec Paulie comme meilleur choix global, Chris comme meilleur second, Carmela comme meilleur modèle AAA, Junior comme unique option IP65 et Tony pour le format le plus compact en suggérant la version T1 pour améliorer la connectivité.

Show HN: Photoc – Command-line tools for photographers

photoc est un ensemble d'outils en ligne de commande pour photographes qui permet de relire, organiser et préparer des photos depuis le terminal. Il fonctionne principalement avec des fichiers JPEG et lit les métadonnées des RAW Sony ARW, proposant des commandes en lecture seule (exif, stats, timeline, query, duplicates, focus, check) et des commandes d'organisation et de copie (rename, sort, compress, contact, scrub). Les opérations ne modifient jamais les originaux par défaut : rename et sort n'agissent qu'avec --apply, scrub n'écrase qu'avec --in-place, et les créations écrivent des copies sans écriture automatique sur des fichiers existants. photoc produit du JSON pour l'automatisation, envoie résultats sur stdout et statuts/progrès sur stderr, et utilise des codes de sortie distincts pour succès, erreurs de traitement et usage invalide. L'installation recommandée se fait via le tap Homebrew ou l'installeur shell précompilé pour macOS et Linux, Windows n'est pas encore pris en charge, et le projet est distribué sous licence MIT avec contributions bienvenues.

Anthropic reported diary entry to police, woman faces felony charge

Une femme de Bonita Springs, Carli Michelle Heller, a été inculpée après avoir écrit dans le chatbot Claude qu'elle prévoyait d'attaquer le bureau du shérif. Les systèmes de sécurité d'Anthropic ont détecté l'entrée, l'ont escaladée à un réviseur humain qui a jugé la menace crédible et a signalé les informations aux forces de l'ordre. Heller a été interpellée sans incident et fait face à une accusation de menace écrite de violence, une infraction de deuxième degré selon la loi de Floride 836.10. La société indique qu'elle peut communiquer des informations utilisateurs dans des urgences limitées pour prévenir la mort ou des blessures graves, et l'affaire intervient alors que d'autres entreprises d'IA sont visées par des poursuites liées à des non-signalisations alléguées. Des rapports récents montrent aussi que des réviseurs humains travaillant sur l'éditeur d'images Microsoft Copilot peuvent consulter les invites, les photos téléchargées et les modifications générées, parfois contenant des contenus sexuels ou potentiellement illégaux.

Web Search API

L'API de recherche en ligne est désormais disponible en version bêta et permet aux agents et applications d'interroger Internet pour fonder leurs réponses sur des informations en direct plutôt que sur des données de formation obsolètes. Au lancement, trois fournisseurs sont proposés : Ceramic.ai, Exa et Linkup, qui prennent tous en charge la politique Zero Data Retention pour les requêtes via Cloudflare et respectent les standards de crawling de bots vérifiés de Cloudflare. Les recherches transitent par AI Gateway, apparaissent dans les journaux du gateway et sont facturées sur les crédits AI Gateway au tarif public de chaque fournisseur sans majoration, avec la possibilité d'utiliser votre propre clé API fournisseur. L'API se consomme via des appels REST (par exemple curl) ou depuis un Worker grâce à la liaison AI, et renvoie des résultats JSON exploitables par vos applications. Pour commencer, la documentation fournie contient des instructions et des exemples d'intégration.

Friendship ended with Deno, now Node is my best friend

L'auteur est retourné à Node après une longue utilisation de Deno et constate que Node a beaucoup évolué avec un meilleur support ECMAScript et des API modernisées. Pour la gestion des versions et des paquets il a préféré FNM et PNPM, a créé des alias npm/npx vers pnpm/pnpx, et a ajusté des paramètres de pnpm-workspace.yaml (minimumReleaseAge et trustPolicy) pour réduire les risques de paquets malveillants. Node gère mieux TypeScript mais refuse de traiter des fichiers TypeScript sous node_modules (stripping types unsupported), ce qui l'a poussé à utiliser des outils comme tsdown et à permettre explicitement ses propres paquets dans la politique de confiance. La migration de son générateur de site statique depuis Deno vers Node a demandé peu de changements (remplacement de Deno fs et @std/path par node:fs et node:path, et Deno.serve par l'adaptateur Hono) et a abouti à des builds environ 15 % plus rapides. L'auteur attribue le déclin de Deno à des choix organisationnels et techniques (problèmes d'intégration ZSH, erreurs 429 de JSR, soucis sur les requêtes HTTP concurrentes) et a finalement désinstallé Deno.

Resurrecting iChat Audio and Video Conferencing

L'auteur a tenté de faire fonctionner iChat AV sur des Mac anciens et a découvert que l'application échoue à récupérer snatmap.txt car la redirection vers HTTPS est incompatible avec la pile TLS d'OS X Leopard, entraînant l'échange d'adresses LAN privées et l'échec des appels. Avec l'aide d'un LLM ils ont analysé le protocole SNATMAP, documenté son format (UDP sur le port 5678, paquets de 16 octets contenant type, nonce, IP et port) et développé un serveur compatible en Python. Ils ont testé la solution dans un laboratoire en construisant un « Internet » virtuel avec deux routeurs NAT et des services (Jabber, web, SNATMAP) pour itérer jusqu'à obtenir une connexion RTP pair-à-pair fonctionnelle. La solution pratique est d'héberger snatmap.txt pointant vers l'adresse publique du serveur SNATMAP ou d'ajouter la ligne 157.230.2.213 configuration.apple.com dans /etc/hosts sur les anciens Mac pour utiliser le serveur public de l'auteur, en supposant que le NAT préserve les ports (sur pfSense/OPNsense il faut activer la conservation du port source). L'auteur précise que des webcams modernes comme la Logitech C920 fonctionnent également, et il fournit le code source et la spécification pour ceux qui souhaitent héberger leur propre serveur.