HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12123 articles Page 480/1213 Sans filtre

Learning a few things about running SQLite

J'utilise SQLite pour un site Django et j'ai vite réalisé que, même pour un petit site, SQLite reste une base de données qui demande des connaissances d'exploitation. Après avoir activé WAL j'ai découvert qu'exécuter ANALYZE a radicalement amélioré les performances d'une requête FTS5 (de ~5s à ~0,05s) car cela génère des statistiques pour le planificateur. Les opérations de nettoyage (suppressions massives) sont délicates car elles peuvent prendre plus de 5 secondes, provoquer des timeouts d'écriture, bloquer d'autres workers et même faire planter la VM, d'où la nécessité de supprimer en petits lots ou de prévoir une maintenance. Pour les sauvegardes j'ai utilisé soit un flux avec VACUUM INTO puis restic vers S3, soit Litestream pour des réplications incrémentales, sans toutefois avoir testé systématiquement la restauration. Il est possible de répartir les tables sur plusieurs fichiers de base de données et des projets qui ont fait ce choix montrent que SQLite peut rester viable selon les besoins du projet.

TP-Link Kasa cameras leaked home GPS via unauthenticated UDP for 6 years

Une analyse a révélé trois vulnérabilités critiques: clés RSA globales extractibles, stockage de mots de passe en MD5 sans sel, et exposition non authentifiée de coordonnées GPS précises. Les clés privées RSA identiques à l'échelle de la flotte et les hachages MD5 permettent l'extraction via lecture du flash SPI et facilitent la prise de contrôle croisée des comptes TP‑Link. Une requête UDP non authentifiée sur le port 9999 renvoie des coordonnées GPS sub‑métriques et des identifiants matériels lisibles, ce qui permet d'identifier et localiser les propriétaires, y compris sur des appareils remis sur le marché. TP‑Link a corrigé ces problèmes dans la version 2.4.1, en remplaçant l'architecture de certificats par des clés par appareil, en chiffrant le stockage des identifiants au repos et en supprimant les coordonnées GPS de la réponse get_sysinfo. Le processus de divulgation coordonnée a inclus un calendrier détaillé, des échecs de triage, un appareil rendu inutilisable par une mise à jour bêta 2.4.00 et une validation finale de correctifs après reflash et déploiement bêta.

The Zilog Z80 has turned 50

L'article retrace l'histoire du microprocesseur Z80 en situant ses racines dans le Datapoint 2200 et les processeurs Intel 8008 et 8080. Il explique les imperfections des 8008/8080 (pile interne, multiplexage des bus, exigences d'alimentation et signaux complexes) qui ont poussé à concevoir un processeur plus simple à interfacer et plus rapide. Federico Faggin et Masatoshi Shima ont fondé Zilog et développé le Z80, compatible binaire avec l'8080 mais enrichi de registres indexés, banques de registres, nouvelles instructions et modes d'interruption. Le Z80 simplifie l'électronique externe (alimentation 5 V, signaux MREQ/IORQ/RD/WR, rafraîchissement DRAM) et offre des instructions puissantes pour le transfert et la manipulation de blocs, ce qui a favorisé son adoption dans micro-ordinateurs, consoles et systèmes embarqués. Malgré son influence sur des architectures ultérieures et son long succès industriel, des liens commerciaux, notamment avec Exxon, ont limité certaines opportunités et le Z80 a été finalement retiré du marché en juin 2024.

First atmosphere found on Earth-like planet in habitable zone of distant star

Des chercheurs ont détecté la première atmosphère autour d'une planète rocheuse de type terrestre située dans la zone habitable d'une étoile lointaine. La planète LHS 1140 b, située à 48 années-lumière, orbite une naine rouge beaucoup plus petite et plus froide que le Soleil. Le seul gaz identifié pour l'instant est l'hélium, probablement dans la haute atmosphère, ce qui à lui seul n'est pas compatible avec la vie mais d'autres gaz plus bas pourraient exister. Les auteurs estiment que cette découverte renforce l'espoir de trouver des mondes aux conditions proches de la Terre, sans toutefois constituer une preuve de vie. Dans le même temps, des cas précédents comme K2-18b ont vu des indices contestés après réanalyses et les observations des mondes de TRAPPIST-1 restent pour l'instant inconclusives.

Reviving a 15-year-old netbook with Arch Linux

L'auteur a ressorti un ASUS Eee PC 1000HE de 2009 équipé d'un Intel Atom N280 et 1 Go de RAM, et a décidé de remplacer Windows XP par un système très léger pour le remettre en service. Il a choisi Arch Linux 32 (version communautaire x86) et décrit le processus d'installation détaillé : vérification de l'ISO, création d'une clé USB, connexion Wi‑Fi avec iwd, synchronisation de l'horloge et partitionnement du disque. Pendant le partitionnement il a opté pour MBR par erreur, créé une partition swap généreuse de 4 Go, puis installé le système avec pacstrap, genfstab et chroot avant de configurer le fuseau horaire, les locales et le mot de passe root. Il installe GRUB pour le démarrage, configure le réseau avec systemd-networkd, systemd-resolved et iwd, installe des outils usuels, utilise un helper AUR (paru) et rencontre des erreurs d'espace lors de compilations qu'il résout en relançant la construction. Pour améliorer la stabilité lors des builds il remplace la RAM par un module DDR2 de 2 Go, constate des gains limités dus au processeur et au disque dur, et choisit LXQt sur X11 comme environnement de bureau léger et optionnel.

Show HN: Leaves – A text-UI disk usage treemap visualizer

Leaves est un analyseur d'utilisation disque en mode texte, inspiré de WinDirStat et QDirStat, qui représente fichiers et répertoires par des rectangles imbriqués dont l'aire est proportionnelle à la taille. Le programme se compile avec une toolchain Rust (rustup) ou via Nix et s'installe/exécute avec cargo, et des binaires précompilés sont fournis sur la page des releases lorsqu'ils sont disponibles. Par défaut il ignore les fichiers cachés et ceux listés dans .gitignore/.ignore, mais propose des options pour inclure ces éléments (-A, -H, -I, -G, -E), un contrôle de profondeur (--max-depth) et des overrides par globs de style git. L'interface textuelle affiche une barre de titre, une arborescence latérale synchronisée avec le treemap central, navigation clavier/souris, coloration des fichiers par extension et des répertoires par nom (palettes configurables via LEAVES_COLORS), mode x‑ray, vue focalisée et commandes d'expansion/deflation pour agréger ou détailler des sous-arbres. Leaves ne suit pas les liens symboliques, ne détecte pas les hard links (qui seront double comptés), peut représenter des millions de fichiers en mémoire avec les très petits éléments affichés par des points, se configure via un fichier settings.toml dans le répertoire de configuration utilisateur ou via des variables LEAVES_*, et il est recommandé d'exclure les systèmes virtuels (comme /proc, /sys, /dev) lorsqu'on scanne la racine.