HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

5780 articles Page 539/578 Sans filtre

07:04

Show HN: A Lisp where each function call runs a Docker container

Il s'agit d'un ensemble d'images Docker conçues pour exécuter du code et produire des résultats à partir d'entrées. Tout d'abord, il faut construire les images de base et les éléments intégrés à l'aide des scripts fournis. Ensuite, les tests peuvent être lancés et il est recommandé d'être patient pendant leur exécution. Pour l'utilisation, il est possible d'évaluer des expressions avec eval et d'activer --trace pour voir les appels. Le flux de travail prévoit de construire les programmes avec build, de les exécuter avec run et d'utiliser run-tests ou clean pour la gestion.

07:03

Making the Vortex Mixer

Le texte retrace l'invention du vortex mixer par les frères Kraft entre 1958 et 1962 pour faciliter le mélange rapide de liquides. Le brevet a été déposé en 1959 et délivré en 1962; l'appareil, simple mais élégant, intégrait un petit moteur oscillant et une coupelle en caoutchouc qui transmettait le mouvement au liquide. Après une démonstration en 1958, Scientific Industries a commencé à fabriquer et vendre le vortexer, donnant naissance au premier modèle Vortex Jr. et à d'autres configurations. En 1965, les Kraft ont fondé Kraft Apparatus et ont perfectionné l'appareil avec une fonction tactile et des réglages de vitesse, avant de le vendre à Glas-Col en 1982. Aujourd'hui, les vortex mixers existent en plusieurs formats et tailles, pèsent environ 4 kilogrammes et restent des outils essentiels pour mélanger des volumes allant des microlitres aux millilitres.

07:03

Making a font with ligatures to display thirteenth-century monk numerals

Le texte s’inspire d’un billet de Chris Heilmann sur la création d’un générateur de chiffres cisterciens et propose d’utiliser des ligatures de police à la place. Les ligatures transforment des séquences de caractères en glyphes, ce qui permet d’afficher les chiffres sans JavaScript grâce à une police spéciale. Des polices dédiées, comme Fira Code, utilisent déjà des ligatures pour des séquences liées à la programmation, et ce principe pourrait être réutilisé pour les chiffres cisterciens. La définition des ligatures s’effectue en listant les séquences à remplacer et le glyphe correspondant via une règle feature liga, une opération qui peut impliquer des milliers de lignes de code et de données SVG. Le texte rappelle les limites et les risques, notamment en matière d’accessibilité et d’usage malveillant, tout en suggérant des extensions comme Cloud to Butt réalisées avec des ligatures.

07:03

R3forth: A concatenative language derived from ColorForth

Le texte présente les principaux outils et services destinés au développement logiciel, à l’intelligence artificielle et à l’intégration d’outils externes. On y retrouve des fonctionnalités telles que l’assistance au codage par IA, la création et l’amélioration du code, ainsi que des plateformes pour construire et déployer des applications intelligentes. Le document couvre les workflows développeur, les environnements de développement instantanés, la gestion des issues et le contrôle des changements de code. Il expose aussi des solutions de sécurité et de protection du code, ainsi que les options de support, de tarification et d’abonnements. Enfin, il liste les catégories d’utilisation, les secteurs, les ressources communautaires et les offres destinées aux entreprises et aux partenaires.

07:03

The Perils of ISBN

L’auteur compare Letterboxd à Goodreads et se demande pourquoi il n’existe pas encore d’équivalent centré sur les livres. Il critique les interfaces actuelles comme Google Books et OpenLibrary pour leur fragmentation des éditions et des formats, qui compliquent les recherches et le suivi des lectures. Le texte rappelle le modèle FRBR (œuvre, expression, manifestation et item) et affirme qu’on devrait viser les œuvres plutôt que les ISBN pour une expérience conviviale. Il note que The Movie Database sert de source canonique pour les films et que, bien qu’OpenLibrary compte des millions d’œuvres, les données restent incohérentes et insuffisantes. Malgré ces défis, l’auteur envisage de créer un projet similaire pour les livres et explore OpenLibrary comme base potentielle, tout en reconnaissant l’échelle et le financement comme obstacles majeurs.

07:03

Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript

Cet article présente Electrobun, un framework multiplateforme pour des applications de bureau, ultra rapide et léger, écrit en TypeScript. L’auteur raconte son parcours, passant de co(lab) initialement construit avec Electron à une architecture reposant sur Zig et Bun pour simplifier le flux de travail et les mises à jour. Le framework prend désormais en charge macOS, Windows et Ubuntu avec des installateurs, des artefacts de mise à jour et des mises à jour différentielles générées automatiquement. La partie OOPIF est devenue une véritable super iframe offrant une isolation de processus et une stabilité cross‑platform sans patchs du moteur, contrairement à Electron. Les prochaines étapes prévoient que co(lab) soit entièrement réécrit sur Electrobun, avec une communauté croissante et des retours qui orientent le développement.

07:02

Minecraft Java is switching from OpenGL to Vulkan

Mojang a annoncé que le rendu passerait d'OpenGL à Vulkan pour Minecraft Java Edition, ce qui constitue une modification majeure. Le passage est conçu pour profiter des fonctionnalités modernes et améliorer les performances et les visuels, mais il demandera du temps. L’objectif est de maintenir la compatibilité sur macOS et Linux grâce à une couche de traduction sur macOS, car Vulkan n’est pas pris en charge directement par Apple (Metal). Les moddeurs sont encouragés à préparer la transition en réduisant l’usage d’OpenGL et en réutilisant au maximum les API de rendu internes, avec la possibilité de discuter de besoins spécifiques. Le changement impliquera l’abandon progressif des vieux appareils non compatibles Vulkan, avec un déploiement en parallèle d’OpenGL et Vulkan durant les tests estivaux et une suppression d’OpenGL une fois les performances et la stabilité jugées satisfaisantes.

07:02

Visualizing the ARM64 Instruction Set (2024)

L’auteur visualise l’ensemble des instructions ARM64 en les plaçant sur une courbe de Hilbert et en les colorant selon leur classe d’instruction (général, advsimd, float, sve, etc.). Pour cela, il s’appuie sur la spécification Machine Readable Architecture (MRA) d’Arm, télécharge la version la plus récente (juin 2023) et utilise des outils qui extraient environ 3 000 encodages uniques avec les mnémoniques, la classe, la variante ARMv8 et un diagramme d’encodage. Il décode ensuite chaque instruction sur 32 bits et stocke son type d’encodage, tout en gérant les règles ASL et en retirant les encodages invalides via une passe post-traitement utilisant Capstone. Le graphique produit est une image où chaque pixel représente 256 instructions et où l’opacité reflète la densité, les couleurs indiquant la classe d’instruction et une version interactive permet l’inspection et le choix d’overlays. Par ailleurs, l’auteur décrit la visualisation du vérificateur Lightweight Fault Isolation (LFI) pour ARM64, qui analyse le code et produit une heatmap hilbert des instructions légales, avec environ 750 millions d’instructions autorisées et des limitations initiales à ARMv8.0.

07:02

DNS-Persist-01: A New Model for DNS-Based Challenge Validation

Le système Let’s Encrypt valide la possession des noms d’hôtes via des challenges ACME, et le DNS-01 a longtemps été la principale option pour les certificats wildcard ou lorsque l’infrastructure ne peut pas être exposée au public, mais avec des coûts opérationnels tels que la propagation DNS et les mises à jour au renouvellement. DNS-PERSIST-01 est une approche fondée sur un enregistrement TXT persistant lié à un compte ACME et à l’autorité de certification, permettant de réutiliser l’autorisation sans démonstrations répétées de contrôle. L’exemple montre l’enregistrement _validation-persist.example.com incluant accounturi et, le cas échéant, policy=wildcard ou persistUntil, et qui peut être réutilisé pour de nouvelles délivrances et renouvellements. Cette approche supprime les changements DNS du chemin critique et précise que l’autorisation peut rester valable indéfiniment par défaut, avec la possibilité d’imposer une expiration via persistUntil. Plusieurs CAs peuvent être autorisés simultanément en publiant plusieurs enregistrements TXT à _validation-persist.<YOUR_DOMAIN>, chacun portant l’identifiant du CA concerné.