HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6662 articles Page 255/667 Sans filtre

06:00

Gemini API File Search is now multimodal

Le Gemini API File Search a été étendu pour permettre la construction de systèmes de RAG capables de traiter des données multimodales, incluant texte et images. Le service utilise le modèle Gemini Embedding 2 pour comprendre nativement les images et offrir une meilleure contextualisation visuelle. Les métadonnées personnalisées permettent d'attacher des paires clé-valeur aux fichiers afin de filtrer et de restreindre les recherches à des sous-ensembles pertinents. Les citations au niveau de la page lient les réponses du modèle aux pages sources indexées, facilitant la vérification et la traçabilité des informations. L'outil simplifie le chargement et la recherche de fichiers et la documentation développeur fournit des exemples de code pour intégrer File Search.

06:00

Show HN: Building a web server in assembly to give my life (a lack of) meaning

Un serveur web écrit entièrement en assembleur ARM64 fonctionne sans libc et utilise uniquement des appels système en mode fork-par-connexion pour MacOS sur Apple Silicon. Il sert des fichiers statiques depuis un répertoire document root (par défaut www/), supporte GET, PUT, DELETE, OPTIONS et HEAD, et gère les types MIME, les plages Range et les pages d'erreur personnalisées. La sécurité inclut la prévention du parcours de répertoires, le refus des chemins trop longs ou contenant des liens symboliques, des limites de taille et des délais de réception pour se protéger contre les attaques de type slowloris, et les PUT sont atomiques via des fichiers temporaires. La compilation nécessite les Xcode Command Line Tools et le binaire ne fonctionne que sur Apple Silicon en local (127.0.0.1), avec des options de configuration dans le fichier config.S et des constantes pour les tailles, délais et limites. Le code contient de nombreuses dépendances spécifiques à MacOS (numéros et conventions d'appels système, options d'open/rename, structures et gestion des signaux), ce qui complique sa portabilité vers Linux sans modifications importantes.

06:08

Human typing habits and token counts

Les tokenizers segmentent le texte selon des motifs fréquents et les fournisseurs facturent par token, si bien que fautes de frappe, abréviations et espaces superflus peuvent modifier la facture sans changer l'intention. Des erreurs d'orthographe et des formes rares fragmentent souvent les segments, multipliant les tokens pour le même mot (par exemple «template» vs «tempalte»). Les remplissages conversationnels (fillers, hésitations, formules de politesse) et les ponctuations expressives augmentent aussi le nombre de tokens sans contribuer à la tâche. Les abréviations et raccourcis ne sont pas toujours plus économiques, et des éléments techniques comme UUID, horodatages, URL ou chemins de fichier peuvent créer des fuites de tokens importantes. Les modèles peuvent retrouver le sens malgré ces variations, mais la facturation ne le fait pas, de sorte que les habitudes de frappe ont désormais un impact financier.

06:08

The surprisingly complex journey to text-selectable client-side generated PDFs

Le texte décrit des paramètres typographiques modifiables tels que la taille de base en pixels, la hauteur de ligne et l'échelle des tailles. Il précise des réglages détaillés pour les blocs de code, les citations et les graphiques, avec la possibilité de les remplacer individuellement. D'autres options concernent les marges, l'espacement des éléments, les retraits, l'épaisseur des bordures et la taille de police en em. L'enregistrement des paramètres se fait dans ~/.sdocs/styles.yaml et nécessite l'outil sdocs-dev, installé via npm link depuis la racine du projet ou npm i -g pour la CLI globale. Le projet indique être entièrement privé, open source avec vérification du serveur, fournit un dépôt GitHub et soumet l'utilisation à des conditions d'utilisation.

06:08

Man finds $1M worth of Yu-Gi-Oh cards in a dumpster

Un homme a suscité l'attention de la communauté Yu-Gi-Oh en vendant en ligne des centaines de feuilles non découpées et des cartes rares qu'il affirme avoir trouvées dans une benne. Les photos et les annonces étaient souvent floues et incohérentes, ses ventes ont été erratiques et certains acheteurs ont reçu des articles endommagés. Des collectionneurs ont rapidement suspecté un vol plutôt qu'une trouvaille fortuite, d'autant que Konami contrôle strictement la distribution et demande la destruction des feuilles non officielles ou des erreurs d'impression. La mère du vendeur est intervenue publiquement pour le défendre, tandis que des rumeurs et des témoignages indiquent que de nombreuses feuilles ont été écoulées localement à des prix importants. Le montant total recueilli et l'origine exacte des feuilles restent incertains, Konami n'a pas confirmé l'affaire, et l'événement soulève des questions juridiques et éthiques sur la provenance et la revente de ces objets de collection.

06:08

ClojureScript Gets Async/Await

Une nouvelle version de ClojureScript a été publiée et les utilisateurs sont invités à lire attentivement les notes de version. ClojureScript cible désormais ECMAScript 2016 et introduit le hint ^:async qui fait émettre par le compilateur des fonctions JavaScript async. L'exemple donné montre l'utilisation d'await dans des fonctions annotées ^:async, y compris dans des tests, et illustre l'interopération avec Promise. Cette amélioration répond à une forte demande de la communauté pour une meilleure interopérabilité JavaScript et évite souvent d'ajouter des dépendances supplémentaires pour les APIs modernes et bibliothèques. La version contient d'autres corrections et changements listés dans les notes et les contributeurs, dont Michiel Borkent, sont remerciés.