RRB-Trees: Efficient Immutable Vectors (2012) [pdf]
Résumé indisponible pour cet article.
Les meilleurs longs formats de Hacker News, relus plus calmement.
Résumé indisponible pour cet article.
Résumé indisponible pour cet article.
Après des années sur Proxmox, l'auteur a migré son homelab vers NixOS pour le système hôte et Incus pour gérer conteneurs et machines virtuelles. La bascule a été motivée par la découverte de la reproductibilité et des mises à jour atomiques de NixOS, notamment après des problèmes de pilotes NVIDIA et une restauration réussie sur un nouveau disque. L'approche déclarative a permis de documenter et d'automatiser des correctifs matériels, d'éviter la dérive d'état provoquée par des modifications manuelles dans l'interface et de récupérer rapidement une configuration fonctionnelle. Incus est utilisé pour maintenir des workloads hérités et des VMs persistantes en complément de NixOS, et l'auteur a développé des scripts pour migrer les conteneurs LXC et les disques de VM depuis Proxmox. L'ensemble de l'infrastructure est maintenant géré depuis un dépôt Git, ce qui facilite l'utilisation d'agents IA capables de lire, modifier et vérifier la configuration déclarative.
Ce plugin Tailwind CSS crée un masquage élégant des bords piloté par le défilement, utilisable avec une seule classe et sans JavaScript. Il est développé par l'un des auteurs de tw-shimmer et s'installe via npm (npm i tw-fade). Il fournit des utilitaires comme fade-x, fade-y, fade-xy et fade-t ainsi que des options de taille et de plage (par exemple fade-size-2xl et fade-range-md) pour ajuster l'effet. Les dégradés alpha sont sensibles au défilement et n'apparaissent que lorsqu'il y a du contenu supplémentaire, s'estompant aux extrémités pour éviter une coupe franche. Les classes se composent directement sur l'élément de défilement sans wrapper additionnel et fonctionnent sur n'importe quel arrière-plan.
Le site trace la fréquence d'apparition de n'importe quel sujet, outil ou personne sur Hacker News sur 18 ans, en permettant de superposer plusieurs termes pour comparer leur évolution. Chaque courbe est un histogramme temporel en direct construit sur 45 millions de posts et commentaires à l'aide d'Upstash Redis Search, avec des contrôles pour cliquer un mois ou sélectionner une plage. Sous le graphique se trouvent les histoires et commentaires réels derrière les lignes, qui peuvent être filtrés par terme ou par auteur pour retrouver le contexte des pics. La page illustre de nombreux relais et changements de leadership dans les conversations tech — par exemple entre plateformes de déploiement, frameworks JavaScript, frameworks ML, bases de données, éditeurs et processeurs — en montrant des pics liés à sorties, scandales ou vagues d'intérêt. Des catégories organisent les données selon personnes, IA et LLM, produits et matériel, langages, frameworks, entreprises, cloud, incidents de sécurité, crypto, culture Internet, dev culture, science, licences open source, jeux et santé.
Ce dépôt explique comment modifier une NES pour utiliser deux PPU afin d'obtenir des fonctions graphiques avancées. Le projet vise notamment à offrir plus de couleurs, plus de sprites et du défilement parallaxe, et l'auteur propose une version modifiée de Mesen2 pour tester le concept sans modifier la console. La liste de matériaux demande deux consoles (une à modifier et une donneuse), deux RP2C02, une SRAM AS6C6264, un 74LS373, un 74LS139, des supports et divers composants de prototypage. La procédure de montage couvre la découpe du circuit prototype, la dessoudure des PPUs et des puces du donneur, le repositionnement de condensateurs, la soudure d'en-têtes, l'assemblage de la carte dual-PPU et l'installation d'un socket démultiplexeur avec fils de liaison reliant l'A12 du CPU et les /CE des PPU. Le dépôt renvoie vers des projets et démonstrations connexes hébergés sur GitHub pour explorer et expérimenter la configuration dual-PPU.
Cet article détaille une boucle d'entraînement PyTorch complète en expliquant l'ordre exact des opérations et les erreurs silencieuses qui surviennent si elles sont mal placées. La construction de la pipeline de données (Dataset, DataLoader, num_workers, pin_memory, persistent_workers, drop_last) et le placement sur l'appareil (to(device), non_blocking=True) sont essentiels pour l'efficacité GPU et la reproductibilité. Le modèle doit être déplacé sur le device avant de créer l'optimiseur, on doit utiliser model.train() en entraînement, model.eval() et torch.no_grad() en validation, et zero_grad() avant backward pour éviter l'accumulation involontaire des gradients ou utiliser l'accumulation contrôlée. La passe avant construit le graphe, la loss (par exemple CrossEntropyLoss) produit un scalaire, loss.backward() remplit .grad, il faut ensuite appliquer le clipping global des gradients, appeler optimiser.step() pour mettre à jour les poids et scheduler.step() hors de la boucle de batch pour ajuster le taux d'apprentissage correctement. Pour la performance, l'article recommande le mixed precision (autocast + GradScaler ou bfloat16 sans scaler), le profiling/cuDNN benchmark, torch.compile, et le checkpointing et le logging corrects (loss.item(), sauvegarde de l'état de l'optimiseur) pour reprendre et utiliser efficacement le GPU.
L'équipe a posé à plusieurs reprises la même banque de questions politiques, économiques et sociétales à chaque grand modèle d'IA, avec la recherche web désactivée, pour mesurer leurs réponses indépendamment d'internet. Chaque modèle est représenté par un nuage sur une carte bidimensionnelle (axe économique gauche-droite et axe social libertaire-autoritaire) montrant la distribution des réponses et l'incertitude. La plupart des modèles s'alignent globalement de la même manière mais avec des amplitudes et une stabilité différentes, quatre des six modèles évalués penchent à gauche du centre, et certains comme Grok ou Claude se distinguent par la direction et l'écart entre leur autopositionnement et la mesure. La méthodologie utilise un classifieur neutre pour coder les réponses, compte les refus comme des données, publie le corpus de questions, les données brutes et les intervalles de confiance, et réalise un petit test de bordure pour évaluer l'effet de la recherche. Le projet se veut descriptif plutôt que prescriptif et fournit des cartes, des profils comparés modèle par modèle et des outils pour explorer les correspondances entre modèles et figures politiques issues d'enquêtes d'experts.
La nouvelle version de GE-Proton repose sur Proton 11 bleeding-edge et intègre une refonte majeure de la lecture vidéo. Parmi les nouveautés on trouve des options facultatives comme d7vk, un pont Discord, le support d'optiscaler, des réglages ALSA (WINEALSA_CHANNELS et WINEALSA_SPACIAL), l'intégration de xrandr pour la détection d'écran, des correctifs et patches actualisés (y compris pour Star Citizen et des jeux VR), une bibliothèque rsx3d native pour d'anciens titres et une relocalisation dynamique des .exe qui corrige des problèmes d'espace d'adresses notamment pour Final Fantasy XIV. La reprogrammation vidéo remplace le chemin quartz->gstreamer par quartz->winedmo->FFmpeg, élimine les dépendances GStreamer et rend le pipeline de décodage plus déterministe en s'appuyant sur winedmo/FFmpeg pour l'audio PCM et la sortie vidéo, travail réalisé en grande partie avec l'aide d'outils d'IA pour comparer et corriger les logs et le code. Cette refonte permet désormais la lecture vidéo native sans winetricks ni overrides pour un grand nombre de titres testés (parmi eux Resident Evil 2 Remake, Final Fantasy XIV, Persona 4 Golden, Darksiders Warmastered Edition et Halo Infinite), et des correctifs autonomes pour la VR ont aussi été rebasés sur Proton 11. Des problèmes résiduels subsistent, comme des artefacts temporaires sur certains WMV ou des séparations de trame dans quelques vidéos, et l'auteur invite à ouvrir un ticket GE-Proton si un jeu n'a toujours pas de lecture vidéo correcte.
Résumé indisponible pour cet article.