HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11615 articles Page 943/1162 Sans filtre

Building an E2E Encrypted Chat Application with LanceDB and Libsodium

Le projet décrit une application de messagerie chiffrée de bout en bout où le serveur agit uniquement comme relais non fiable, utilisant libsodium dans le navigateur, un serveur FastAPI, LanceDB pour le stockage embarqué et WebSocket pour la diffusion en temps réel. LanceDB est choisi comme unique magasin de données pour son fonctionnement embarqué sans infrastructure, son stockage unifié des messages et pièces jointes, ses schémas PyArrow évolutifs et son efficacité colonnaire pour les requêtes par métadonnées. La conception cryptographique repose sur des clés X25519 longue durée conservées côté client, la génération d'une paire éphémère par message pour la confidentialité rétroactive et une auto-chiffrement des messages envoyés afin que l'expéditeur puisse les relire. Les images de canal sont traitées par chiffrement hybride : le contenu est chiffré une fois symétriquement (XSalsa20-Poly1305) et la petite clé symétrique est chiffrée pour chaque destinataire, tandis que les blobs chiffrés sont stockés directement dans une table d'attachements de LanceDB avec vérification d'appartenance au canal. Des mesures durs telles que la validation stricte des identifiants pour éviter les injections, l'export de clés protégé par Argon2id, la limitation de débit, l'interopérabilité PyNaCl/libsodium, une suite de tests et des recommandations de production (TLS, containers, persistance du rate‑limiting) complètent l'architecture.

StationeryObject

L'article présente une archive chronologique de collections de papeterie d'hôtels et de lieux associés couvrant plusieurs années. Les entrées, datées de 2017 à 2026, listent des hôtels, des trains et des compagnies maritimes situés en Amérique, en Europe, en Asie et ailleurs. Chaque notice indique le nom de l'établissement et la date de collecte, parfois accompagnés d'une courte remarque ou d'une citation. Le texte précise que la collection a été initiée par un voyage en 1997 au Chateau Marmont, qui a inspiré l'archivage continu. Les ajouts récents montrent une cadence soutenue et une diversité de provenance, illustrant un intérêt constant pour la papeterie hôtelière.

Circuit-level PDP-11/34 emulator

Ce projet offre un émulateur au niveau des circuits reproduisant fidèlement un PDP-11/34A de 1976 à partir des schémas, microcode et captures logiques. Le CPU KD11‑EA virtuel est implémenté en C avec un magasin de microcode 512x48, ROMs combinatoires reconstituées et un modèle précis du générateur d'horloge permettant de reproduire des bogues matériels. L'émulateur inclut une backplane UNIBUS avec décodage et timing, de nombreux périphériques (carte de boot, DL11, KW11, RK05, RL01/RL02, lecteur de bande, console et terminal VT100) et des modes d'émulation haut et bas niveau. Des outils de débogage avancés sont fournis, notamment une console programmeur, un débogueur microcode/instruction et un analyseur logique pouvant capturer 102 signaux à 180 ns d'échantillonnage avec export CSV. Des exemples livrés vont de jeux et RT-11 à V6 UNIX, le code se compile avec make et un compilateur C11 sur plusieurs plateformes, et une version WebAssembly avec interface photoréaliste est disponible.

TreeTrek – A raw Git repository viewer web app

Le dépôt fournit une URL de clonage Git affichée dans l'interface. La vue présente l'arborescence HEAD et une liste de fichiers et de dossiers. Parmi les entrées se trouvent des répertoires pour images, model, pages, render et styles. Des fichiers de configuration et de documentation tels que Config.php, index.php, INSTALL.md, LICENSE.md et README.md sont répertoriés avec leurs tailles. Un fichier robots.txt ainsi que des éléments liés au contrôle de version (.git et .gitignore) figurent également dans l'index.

rpg.actor Game Jam

La plateforme rpg.actor stocke les personnages sur des serveurs personnels via l'AT Protocol, ce qui permet aux joueurs de porter des fiches de stats et des sprites persistants entre plusieurs jeux. Le concours invite les développeurs à créer un jeu, un outil ou une nouveauté qui lit ou écrit au moins une lexique rpg.actor (par exemple actor.rpg.stats ou actor.rpg.sprite) et à soumettre leur projet sur itch.io. Des prix sont prévus pour les gagnants, allant d'un exemplaire physique de RPG Maker 2000 et d'un compte Ultimate Creator pour le premier prix à des comptes Master et Builder Creator pour les autres places. Le règlement autorise tout moteur et toute taille d'équipe, impose que l'intégration soit nouvelle pendant la période du jam, et encourage l'open source tout en demandant des pratiques de sécurité et de permissions prudentes. Le jam se déroule du 1er au 20 avril 2026, la documentation et les API REST sont fournies pour commencer, et les entrées ouvertes peuvent obtenir un badge de confiance (Verified, Reviewed ou Unvetted) après examen.

Cocoa-Way – Native macOS Wayland compositor for running Linux apps seamlessly

Ce projet fournit un compositeur macOS appelé Cocoa-Way qui affiche des applications Linux via sockets Unix en utilisant le protocole Wayland. Il propose un rendu natif Metal/OpenGL, accélération matérielle, décorations côté serveur et prise en charge HiDPI pour une intégration transparente au bureau macOS. La connexion s'effectue via waypipe-darwin (nécessaire) en lançant le compositeur localement puis en acheminant le protocole Wayland sur SSH ou socket vers le client distant. L'installation se fait principalement via Homebrew avec un tap recommandé, des binaires téléchargeables ou une compilation depuis le code source, et un script run_waypipe.sh facilite la liaison SSH. Le projet s'inscrit dans une recherche sur la virtualisation de protocole sans coût avec Rust et SIMD, et la feuille de route inclut des backends supplémentaires, le multi-écran et la synchronisation du presse-papiers.

Private equity turned vulnerable elderly people into human ATMs

En 1989, Robert Kilgour transforma un hôtel victorien en maison de retraite et créa Four Seasons Health Care, qui connut une croissance rapide grâce au transfert de la prise en charge sociale aux conseils locaux. Le secteur a attiré massivement des fonds de private equity qui ont employé des montages financiers tels que leveraged buyouts et sale-and-leaseback, augmentant la dette des groupes et dissociant propriété immobilière et exploitation. Ces montages opaques et l'endettement élevé ont souvent permis aux investisseurs d'extraire des dividendes et de facturer des frais, tandis que les opérateurs évoquaient un manque de financement public et des pressions pour réduire les coûts. Enquêtes, dénonciateurs comme Eileen Chubb et études académiques ont documenté une dégradation de la qualité des soins — moins de personnel, plus d'escarres, usage accru d'antipsychotiques et une mortalité supérieure après reprises par des fonds d'investissement — et la pandémie a aggravé ces problèmes. Kilgour regrette l'évolution et gère aujourd'hui des établissements haut de gamme payés au prix fort, tout en refusant pour l'instant des partenariats avec des fonds privés après l'effondrement de Four Seasons et ses conséquences.

C++26: A User-Friednly assert() macro

assert() est une macro utilisée pour vérifier des conditions à l'exécution et provoquer l'arrêt du programme si l'expression est fausse. Elle est fragile parce que le préprocesseur ne comprend que les parenthèses pour le groupement, ce qui fait échouer des assertions valides contenant des virgules, des chevrons de template ou des initialisations par accolade sauf si l'on ajoute des parenthèses supplémentaires. La proposition P2264R7 redéfinit assert comme macro variadique utilisant __VA_ARGS__ pour accepter (...) et ainsi permettre des assertions plus robustes sans parenthèses superflues. Le texte interdit l'utilisation de l'opérateur virgule au niveau supérieur pour éviter des assertions toujours vraies et recommande d'utiliser && pour joindre un message diagnostic, tout en restant compatible avec le code existant. En février 2026, les principaux compilateurs ne supportaient pas encore la modification, mais celle-ci est petite, rétrocompatible et améliore la lisibilité et la fiabilité des assert dans les bases de code.