HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11615 articles Page 954/1162 Sans filtre

Moving from GitHub to Codeberg, for lazy people

L'auteur a commencé à migrer plusieurs dépôts de GitHub vers Codeberg et explique que, même si la démarche semblait longue et rébarbative, la difficulté dépend beaucoup du projet et les notes visent à proposer une solution simple pour débuter. Codeberg offre une importation depuis GitHub qui fonctionne bien et conserve les numéros d'issues, labels et auteurs, avec une interface utilisateur très proche de celle de GitHub. Pour les pages statiques, on peut utiliser codeberg.page (qui n'offre pas d'engagement d'uptime mais n'a pas posé de problème pour l'auteur) ou des alternatives comme grebedoc.dev et statichost.eu. La CI est le point le plus problématique parce que les runners macOS gratuits et la capacité illimitée pour les dépôts publics de GitHub disparaissent, d'où la recommandation de privilégier la cross-compilation et d'auto-héberger un runner Forgejo Actions, qui est très similaire à GitHub Actions et fonctionne souvent sans gros changements de workflow. Concernant l'ancien dépôt GitHub, l'auteur a mis à jour le README et l'a archivé, en déconseillant de désactiver les issues (ce qui provoquerait des 404) et en évoquant la possibilité de maintenir un miroir en lecture seule ou d'utiliser des actions pour fermer automatiquement les pull requests.

Swift 6.3

Swift 6.3 étend l'interopérabilité avec le C via l'attribut @c pour exposer et implémenter des fonctions et énumérations Swift depuis du code C, et introduit des sélecteurs de module pour désambiguïser les API importées. La version ajoute des attributs d'optimisation pour les bibliothèques publiques, notamment @specialize, @inline(always) et @export(implementation), afin de mieux contrôler la spécialisation, l'inlining et la visibilité des implémentations. Swift Package Manager propose un aperçu de Swift Build pour un moteur de compilation unifié, ainsi que des améliorations comme les binaires préconstruits swift-syntax pour les macros et des commandes pour découvrir les traits des paquets. Les outils de test gagnent la gestion des warnings d'issues, l'annulation de tests et l'attachement d'images, tandis que DocC expérimente la sortie Markdown, l'inclusion de contenu HTML statique par page et de nouvelles annotations pour les blocs de code. Swift 6.3 renforce le support pour les environnements embarqués et publie pour la première fois un SDK officiel Swift pour Android, facilitant le développement natif Android en Swift et l'intégration avec Java/Kotlin.

Show HN: Fio: 3D World editor/game engine – inspired by Radiant and Hammer

Il s'agit d'un éditeur CSG basé sur des brosses et d'un moteur de jeu inspirés des anciens outils Radiant et Worldcraft/Hammer, conçus pour un usage immédiat "drop-in and play" sous Windows x64. Le moteur personnalisé OpenGL/PyGame vise la compacité et la légèreté pour des cibles comme le Snapdragon 8CX en OpenGL 3.3, et propose un rendu unifié en temps réel sans besoin de compilation préalable. Les fonctionnalités graphiques incluent éclairage en temps réel avec ombres stencil en développement, brouillard volumétrique, ainsi que shaders pour le verre et l'eau avec paramètres de surface configurables. Le système d'entités et d'E/S, inspiré de Half-Life 2, prend en charge logique, déclencheurs, lumières et haut-parleurs; l'éditeur propose aussi génération de terrain, support OBJ et un format de niveau JSON avec un "magic number" d'identification. Le projet est entièrement modulaire et open source sous licence MIT, requiert PyQt5, numpy, Pillow, PyOpenGL, pygame et PyGLM, et est présenté en mémoire de David Lynch.

CERN to host a new phase of Open Research Europe

CERN a été choisi pour héberger une nouvelle phase d'Open Research Europe, une initiative soutenue par la Commission européenne et un consortium de bailleurs de fonds nationaux et d'organisations de recherche. Le futur portail, construit sur le logiciel libre Open Journal Systems, étendra l'éligibilité des auteurs aux chercheurs affiliés aux pays membres du consortium et maintiendra la gratuité de publication pour les bénéficiaires financés par la Commission européenne et pour les auteurs des pays participants. La gouvernance et la supervision éditoriale resteront sous la responsabilité du consortium, tandis que CERN fournira l'infrastructure technique et opérationnelle en s'appuyant sur son expérience des services d'accès ouvert. Le modèle publish–review–curate combine vérifications d'intégrité, publication avant examen, évaluations par les pairs rendues publiques et curation en collections thématiques, avec possibilité de revue post-publication pour renforcer transparence et qualité. Lancée en 2021 et déjà utilisée pour plus de 1 200 articles par plus de 6 300 auteurs, l'initiative vise à promouvoir l'équité, la diversité et la durabilité de l'accès ouvert tout en développant la collaboration avec des partenaires comme OPERAS.

Colibri – chat platform built on the AT Protocol for communities big and small

Colibri est une plateforme de chat open source construite sur le protocole AT pour les communautés de toutes tailles. Par défaut, les conversations sont publiques afin de favoriser la transparence, la découverte et d'éviter que les données soient enfermées. Les développeurs prévoient d'ajouter des espaces privés dès que le protocole supportera le stockage sécurisé des données. La plateforme offre des échanges en temps réel, avec messagerie instantanée, appels vocaux et vidéo, et discussions de type forum, ainsi que des outils de modération pour bloquer, supprimer et exclure des membres. Le protocole AT est un réseau décentralisé qui permet de posséder son identité et ses données, celles-ci étant hébergées sur le serveur de données personnel du profil ATmosphere, et il compte déjà plus de 40 millions d'utilisateurs.

Show HN: Turbolite – a SQLite VFS serving sub-250ms cold JOIN queries from S3

turbolite est une VFS SQLite écrite en Rust qui sert des recherches ponctuelles et des jointures directement depuis un stockage S3 compatible, atteint des latences froides inférieures à 250 ms dans les tests et propose une compression au niveau de la page (zstd) et un chiffrement AES‑256 utilisables indépendamment de S3. La conception regroupe les pages par type en objets S3 appelés page groups avec un manifeste atomique pointant vers les versions, utilise des pages larges par défaut (64 KB) et une compression multi‑frame seekable pour permettre des Range GET ciblés, et combine un préfetch proactif (frontrunning via EXPLAIN QUERY PLAN) et réactif basé sur des horaires adaptatifs par arbre B‑tree. turbolite s'embarque comme bibliothèque Rust, extension chargeable (.so/.dylib) et paquets pour Python et Node (avec dépendances Go), fonctionne avec n'importe quel stockage compatible S3 et conserve la plupart des fonctionnalités SQLite telles que FTS, R‑tree, JSON et le mode WAL. Les benchmarks montrent des requêtes point + jointure en 77 ms sur S3 Express et 259 ms sur Tigris selon la configuration, et l'outil tiered‑tune ainsi que des paramètres runtime (threads de préfetch, pages_par_groupe, stratégies de préfetch, sync_mode) permettent d'ajuster les performances au compromis latence/bande passante du backend. L'outil est expérimental et peut contenir des bugs susceptibles de corrompre des données, n'autorise qu'un seul écrivain par préfixe, la durabilité dépend des checkpoints (les écritures entre checkpoints restent dans le WAL local) et des fonctionnalités comme l'expédition de WAL et l'affinage prédictif restent en développement.

Chopping my brain into bits – turning my brain into a 3D model on the web

L'auteur a reçu les données brutes d'une IRM cérébrale réalisée sur un appareil 7 Tesla dans le cadre d'une étude et a préféré examiner le fichier plutôt que de se contenter du compte rendu radiologique. En extrayant les métadonnées, il a retrouvé des détails techniques utiles pour l'analyse, notamment la séquence MP2RAGE, un voxel isotrope de 0,75 mm et des dimensions 224×320×320. Le traitement par FreeSurfer (recon-all) a permis la suppression du crâne, l'alignement sur des atlas et la segmentation automatique des tissus et structures profondes avec calcul de volumes. À partir des segmentations volumétriques, il a isolé des étiquettes, généré des maillages 3D par algorithme de marching cubes, puis décimé et lissé les modèles pour une visualisation interactive. L'expérience a fourni des mesures quantitatives du cortex et d'autres structures et illustre l'intérêt de demander les données brutes d'imagerie pour mieux explorer et comprendre sa propre anatomie.

Using FireWire on a Raspberry Pi

Apple a supprimé le support de FireWire dans macOS 26, ce qui m'a poussé à chercher des alternatives pour des périphériques FireWire anciens comme caméras DV et disques durs. J'ai choisi Linux et dvgrab, et j'ai mis en place un Raspberry Pi avec un GeeekPi Mini PCIe HAT et une carte StarTech Mini PCIe FireWire, que le système reconnaît via lspci. Il est nécessaire de recompiler le noyau Linux en activant CONFIG_FIREWIRE et CONFIG_FIREWIRE_OHCI, et de configurer le bus PCIe du Pi pour le DMA 32 bits (dtparam=pciex1 et dtoverlay=pcie-32bit-dma), puis de modifier cmdline.txt et redémarrer. Les contrôleurs FireWire anciens ne supportent pas l'accès 64 bits, l'alimentation auxiliaire est requise pour utiliser les ports FireWire 800 sur la carte Mini PCIe, et mes appareils FireWire 400 ont fonctionné sans problème. Avec dvgrab (installable via apt) on peut capturer la vidéo en mode caméra ou VCR, l'outil est utilisable en mode interactif ou dans des scripts, et un enregistrement d'exemple a été publié sur GitHub en attendant d'explorer des prototypes comme Firehat.

John Bradley, author of xv, has died

John Bradley, membre de longue date de la communauté et fondateur, producteur et guitariste principal de Booster Patrol, est décédé le 20 mars à l'âge de 61 ans. L'auteur a composé une chanson en hommage, dans le style maîtrisé par Bradley, et a partagé un premier mix en annonçant qu'il mettra la version finalisée dans la section Booster Patrol du site Unauthorized. Les paroles racontent l'arrivée de «Johnny B» au paradis, sa rencontre avec saint Pierre et la remise d'une Fender dorée qui devient son instrument sacré. Le texte décrit les anges et la chorale émus par son son «swampy» et le fait que son jeu de blues, mêlant tristesse et beauté, résonne désormais dans le ciel. Le morceau se conclut par des refrains appelant Johnny B à jouer et célèbre qu'il continue de jouer le blues au paradis.

HandyMKV for MakeMKV and HandBrake Automation

HandyMKV automatise le ripage de disques avec MakeMKV puis l'encodage avec HandBrake pour simplifier et accélérer le flux de travail, notamment sur des serveurs headless. Il propose le ripage et l'encodage en ligne de commande, des options de configuration flexibles, un affichage clair de la progression, l'exécution concurrente pour réduire les durées, le nettoyage automatique des fichiers MKV bruts et un historique des runs. Le système d'automatisations permet d'exécuter des scripts après l'encodage avec des paramètres obtenus par saisie, valeurs statiques ou données de run, ces paramètres étant fournis via des variables d'environnement préfixées HMKV_PARAM_ et disponibles avant la suppression des fichiers bruts. Compatible Windows, macOS et Linux, l'outil requiert makemkvcon et HandBrakeCLI dans le PATH (MakeMKV nécessitant une licence payante) et s'installe via script d'installation, binaires précompilés, go install ou compilation depuis les sources. Après configuration via l'assistant, une commande suffit pour lancer le ripage et l'encodage avec génération de manifestes consultables, prise en charge multi-disques et un comportement de concurrence conçu pour équilibrer les goulets d'étranglement liés au lecteur et aux encodages gourmands en ressources, tandis que les échecs de scripts d'automatisation sont signalés sans interrompre le pipeline.