HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

7182 articles Page 1/719 Sans filtre

06:05

Cdbx.ai – AI-powered browser IDE to describe, build, and publish apps

cdbx est un environnement de développement complet dans le navigateur offrant l'éditeur Monaco, un terminal réel, un aperçu instantané et des assistants IA capables de générer des applications à partir d'une description en langage naturel sans configuration préalable. Des agents intégrés accompagnent tout le flux Think → Build → Ship, avec un Planning Agent qui lit le contenu connecté pour produire PRD/ADR/RFC, un générateur de code qui crée des applications à partir d'une description et des fonctions d'auto-réparation et d'itération visuelle. La plateforme se connecte à des services externes comme Notion, GitHub, Slack, Google Drive, Figma et Linear que l'IA interroge à la demande via un serveur MCP compatible, et elle permet d'exposer des instances locales avec ngrok ou d'utiliser des serveurs auto-hébergés ou tiers. Un API Runner exécute du code dans des sandboxes isolés, supporte une trentaine de langages (Python, Go, Node, Rust, Java, C/C++, etc.), renvoie stdout/stderr et fournit des protections par isolation réseau, limites mémoire et profils seccomp. Le modèle commercial inclut un forfait gratuit et une offre Pro avec plus de crédits IA, espace d'équipe, collaboration en temps réel, publication en un clic, export vers GitHub et options de domaine personnalisé.

06:05

Linux 0.11 rewritten in idiomatic Rust, boots in QEMU

Le projet réécrit le noyau Linux 0.11 en Rust moderne en préservant sa sémantique tout en adoptant des types plus forts, des frontières de modules claires et des abstractions idiomatiques. Le noyau démarre sur i386 émulé (QEMU) et exécute un userland auto-hébergé complet comprenant init, un shell POSIX partiel et plus de 80 utilitaires de base. Il implémente les principales fonctionnalités de Linux 0.11 : gestion des processus, mémoire virtuelle avec pagination à la demande et fork CoW, système de fichiers Minix v1, pilotes ATA, consoles VGA/PS2 et série, couche TTY, signaux et table d'appels système. Le projet inclut une bibliothèque utilisateur de style std, des outils pour construire en une commande une image de disque bootable, des crates utilitaires (mbrkit, miniximg), un conteneur de développement prêt à l'emploi et des tests end-to-end automatisés. L'état actuel est quasiment équivalent fonctionnellement à Linux 0.11, avec des travaux en cours sur le polissage, les outils et la rédaction d'un tutoriel complet.

06:05

Estimating the heights of New Yorkers from their scuff marks

Un mur en béton d'une station de Brooklyn présente une bande assombrie d'environ 18 pouces au-dessus du sol formée par les frottements des chaussures des voyageurs. L'auteur a utilisé une photo et un pavé numérique jaune mesuré à 32 pouces comme étalon pour convertir des coordonnées en pixels en distances physiques. Il a isolé la région usée, calculé la luminance relative des pixels et tracé la moyenne d'obscurité par rangée en fonction de la hauteur depuis le sol. En se basant sur une expérience personnelle où la trace se situe à 27 % de sa taille corporelle (soit un facteur 3,7), il a converti la courbe en une distribution de tailles, mais la variance obtenue inclut des tailles irréalistes. Le texte conclut que l'angle de flexion des jambes biaise les estimations et propose d'utiliser un modèle bayésien tenant compte de la distribution des angles pour corriger les hauteurs estimées et inviter à collaborer.

06:05

The Origins of Heikki's Garden of Flowers

Le texte décrit une interface permettant d'ajuster la grille d'affichage d'images entre 100 et 400 pixels. Il indique qu'il n'y a actuellement aucune image affichée avec le compteur "Total images: 0 / 0". L'interface propose une option pour supprimer tous les filtres et affiche une liste de catégories de filtrage telles que lieu, année, personne et sujet. D'autres filtres disponibles incluent le genre, le style de police, la technologie, le type, l'écriture et la période temporelle. Des champs additionnels mentionnés sont la publication, l'entreprise, les curations et une mention du format "json".

06:04

Backtrack-Free Cursive

L'auteur aime écrire en cursive mais constate que l'alphabet latin impose de fréquentes retouches (« backtracking »), contrairement au cyrillique qu'il a appris en premier. Il a quantifié le problème en comparant les versions anglaise et russe de Crime and Punishment, trouvant que 51 % des mots anglais nécessitent en moyenne 0,68 retouches contre 6,4 % et 0,066 en russe, ce qui complique aussi l'usage d'outils numériques. Pour réduire ces retouches, il a conçu une variante cursive inspirée de SmithHand et du script russe, qui rend la plupart des minuscules en un seul trait et remplace x par deux « c » miroir tandis que t reçoit un trait auxiliaire traversant les hampes. Il a résolu i et j en fusionnant un petit cercle aligné au-dessus de la hampe avec la boucle d'attaque, développé des ligatures pour tt et tte et adapté quelques capitales (T, F, K) pour éviter les levées de stylo. Après plusieurs mois d'utilisation sur papier et tablette, la pratique a réduit les retouches et rendu l'écriture anglaise aussi plaisante que le russe, malgré quelques irrégularités persistantes.

06:04

Show HN: DOM-docx – HTML to native, editable Word docs (MIT)

La bibliothèque convertit des fragments HTML sémantiques en documents Word éditables (OOXML) en mappant titres, paragraphes, listes, tableaux et images en éléments natifs plutôt qu'en captures d'écran ou astuces de mise en page. Le projet est développé avec une boucle de régression visuelle qui rend le HTML dans Chromium, convertit en .docx, rasterise via LibreOffice et évalue la fidélité de mise en page et de structure avec une métrique validée par des humains. L'installation requiert Node.js ≥ 20 et le chemin par défaut "inline" fonctionne en pur JavaScript sans Playwright, tandis que l'option "computed" et la rasterisation in‑place nécessitent Playwright+Chromium côté Node; un bundle navigateur permet des conversions entièrement côté client. L'API convertHtmlToDocx retourne un Buffer (Node) ou un Blob (navigateur) et accepte de nombreuses options — taille et orientation de page, marges, police par défaut, métadonnées, en‑tête/pied de page, couverture, table des matières, numérotation des pages et résolution d'images externe — avec prise en charge automatique des data:images. La version 0.1.x couvre un sous-ensemble pratique d'HTML mais n'inclut pas les feuilles de style externes sur le chemin inline, les dispositions CSS complexes, les SVG/graphismes complexes sans rasterisation, les polices web ni certains cas de mise en page multi‑page, et la documentation, les outils de test et le code source sont fournis sous licence MIT.

06:04

Show HN: BillAI Bass, an AI-Powered Big Mouth Billy Bass Using Strands Agents

Ce guide explique comment transformer une figurine animatronique Big Mouth Billy Bass en assistant vocal en temps réel en utilisant un Raspberry Pi 5, Strands Agents en streaming bidirectionnel et Amazon Nova 2 Sonic sur Bedrock. Il décrit la liste d'achats et les prérequis, notamment la création d'un utilisateur IAM restreint à l'appel du modèle Nova Sonic, la configuration AWS et la sauvegarde des clés sur le Pi. Les étapes logicielles couvrent le flash de la carte SD, la configuration audio ALSA, l'installation d'un environnement Python avec Strands et une première conversation de test avant toute intervention physique. La partie matérielle détaille l'ouverture du poisson, le repérage et la conservation du bouton, la soudure des fils sur un pilote MX1508, le branchement aux GPIO du Pi et les tests moteurs via scripts Python. Le projet inclut le code final qui synchronise la bouche et coordonne tête/queue en analysant le niveau audio en lecture, des conseils de personnalisation, des options pour une identité IoT plus sûre et une section de dépannage.

06:04

Rendering Fonts Quickly on the GPU

Le texte décrit le développement d'un moteur d'animation WebGPU et l'implémentation d'une technique de rendu de polices TrueType inspirée de Loop et Blinn. L'auteur explique la structure des polices TTF, où les glyphes sont définis par des chemins constitués de courbes quadratiques avec points de départ, d'arrivée et de contrôle. Il présente l'algorithme de Casteljau et la fonction lerp pour évaluer les splines, puis explique pourquoi ces méthodes ne conviennent pas directement au rendu par fragment shader. La technique consiste à former un triangle avec les trois points de la spline de sorte que les coordonnées UV interpolées apparaissent comme y = x^2 et que le shader dessine la courbe via le test uv.x * uv.x < uv.y. Pour rendre des caractères complets on triangule le glyphe (ear clipping), on ajoute des triangles aux coins traités par le shader pour les courbes intérieures et extérieures, en laissant de côté le hinting basse résolution au profit d'un rendu haute résolution pour les animations et la bibliothèque animoo.