PLAY PODCASTS
MicroVM Shuru pour agents IA & Réseaux sociaux devenus médias d’attention - Actualités Hacker News (22 févr. 2026)

MicroVM Shuru pour agents IA & Réseaux sociaux devenus médias d’attention - Actualités Hacker News (22 févr. 2026)

The Automated Daily

February 22, 202612m 28s

Audio is streamed directly from the publisher (mcdn.podbean.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

Merci de soutenir ce podcast en visitant nos sponsors:
- Découvrez l'avenir de l'audio IA avec ElevenLabs - https://try.elevenlabs.io/tad
- Conception assistée par l’IA sans effort pour des présentations, des sites web et bien plus avec Gamma - https://try.gamma.app/tad
- Investissez comme les professionnels avec StockMVP - https://www.stock-mvp.com/?via=ron


Soutenez directement The Automated Daily:
Offre-moi un café: https://buymeacoffee.com/theautomateddaily

Sujets du jour: MicroVM Shuru pour agents IA - Shuru exécute des agents IA dans des microVM Linux sur macOS via Virtualization.framework, avec environnements éphémères, checkpoints et réseau désactivé par défaut. Réseaux sociaux devenus médias d’attention - Analyse de Susam Pal: les plateformes Web 2.0 ont glissé vers la captation d’attention (scroll infini, notifications artificielles, algorithmes), tandis que Mastodon resterait plus chronologique. Git et VS Code au quotidien - Panorama d’outils Git/VS Code: extension Fresh File Explorer (fichiers récemment modifiés, Git history, restaurations), et “fichiers magiques” Git (.gitignore, .gitattributes, .mailmap, etc.). Développement distant FreeBSD via Linuxulator - Retour d’expérience: faire fonctionner VS Code Remote SSH sur FreeBSD malgré l’erreur “Unsupported platform”, en s’appuyant sur vscode-server-freebsd et la compatibilité Linux (linux_base-rl9). Transactions SQL et niveaux d’isolation - PlanetScale explique les transactions SQL (BEGIN/COMMIT/ROLLBACK), la cohérence de lecture, MVCC, et les anomalies (dirty/non-repeatable/phantom reads) selon Read Committed, Repeatable Read, Serializable. CSS box-sizing et border-box - Chris Coyier remet en avant box-sizing: border-box, clé pour des mises en page prévisibles: la largeur déclarée inclut padding et bordures, réduisant les calculs et surprises.

-https://susam.net/attention-media-vs-social-networks.html
-https://ochagavia.nl/blog/fix-your-tools/
-https://github.com/FreHu/vscode-fresh-file-explorer
-https://planetscale.com/blog/database-transactions
-https://css-tricks.com/international-box-sizing-awareness-day/
-https://hayzam.com/blog/02-linuxulator-is-awesome/
-https://shuru.run/
-https://nesbitt.io/2026/02/05/git-magic-files.html


Transcription de l'Episode

MicroVM Shuru pour agents IA
Commençons par le sujet le plus “pragmatique-sécurité” du jour: Shuru.

Shuru est un outil local-first pour exécuter des agents IA dans des microVM Linux, directement sur macOS, en s’appuyant sur Virtualization.framework d’Apple. L’idée, c’est d’obtenir des VMs ARM64 quasi natives sur Apple Silicon, sans passer par Docker, et surtout sans couche d’émulation.

La proposition centrale est simple: les sandboxes sont éphémères par défaut. Vous lancez une VM, l’agent installe des dépendances, compile, exécute des tests… puis, à la sortie, tout est jeté. Pas d’état résiduel, pas de “ça marchait hier sur la machine de l’agent”. Et si vous avez besoin de conserver une base propre — par exemple un environnement avec Node, Python, des outils système — Shuru propose des “checkpoints”, décrits comme des commits Git pour votre disque: vous sauvegardez un état, vous le restaurez plus tard, ou vous branchez dessus pour tester en parallèle.

Côté réseau, point important: c’est opt-in. Sans drapeau explicite, la VM n’a pas accès au réseau, et les tentatives échouent. Et si vous avez besoin d’exposer un service, Shuru gère le port forwarding, avec même une mention de tunnels via vsock qui peuvent fonctionner sans accès réseau “classique” dans l’invité. On voit bien l’usage visé: agents qui exécutent du code non fiable, évaluations reproductibles, environnements jetables, et une surface d’attaque réduite par défaut.

Réseaux sociaux devenus médias d’attention
Deuxième thème, plus sociotech: Susam Pal propose une lecture assez nette de l’évolution des “réseaux sociaux” Web.

Son argument: beaucoup de plateformes ne se comportent plus comme des réseaux sociaux, mais comme des médias de l’attention. Au début — il pense à l’ère Twitter/Web 2.0 — le flux ressemblait surtout à un fil d’actualités de personnes choisies. Les notifications signalaient plutôt de vraies interactions: un message, une réponse, une mention.

Puis, selon sa chronologie, la pente descendante s’accélère entre 2012 et 2016. Premier jalon: le scroll infini. Avant, une page avait une fin, donc une pause naturelle; après, la plateforme supprime le point d’arrêt. Deuxième jalon: les “fausses” notifications, ou notifications de faible valeur — des alertes pour des événements triviaux — qui transforment un outil au service de l’utilisateur en mécanisme d’activation au service de la plateforme.

Mais le changement le plus lourd, c’est la transformation du fil lui-même: de plus en plus de contenu d’inconnus, d’algorithmes, de recommandations “bruyantes”. Résultat: moins de relationnel, plus de volume; moins de signal, plus de distraction. Pal explique qu’il a fini par arrêter, par simple gestion de ressource: son attention est limitée, et il ne veut pas la dilapider dans des vidéos et posts sans intérêt pour lui.

En contraste, il décrit Mastodon comme un retour à un flux plus lisible: vous suivez peu de comptes, vous voyez ce qu’ils publient, et l’expérience reste calme — pas d’injonction permanente à scroller “parce qu’il y aura peut-être quelque chose”. Et il termine sur un souhait: que Mastodon ne glisse pas à son tour vers le modèle de capture d’attention.

Git et VS Code au quotidien
On enchaîne avec un bloc “vie de développeur”, parce qu’au fond, on perd souvent plus de temps sur l’outillage que sur le bug lui-même.

Adolfo Ochagavía raconte une enquête de bug sur une bibliothèque open source qu’il maintient, krossover. Le scénario est classique: il pose un breakpoint, lance le débogueur, s’attend à s’arrêter sur la ligne fautive… et rien. Le programme s’exécute jusqu’au bout, comme si de rien n’était, alors qu’il est persuadé que la ligne est bien atteinte.

Sa réaction initiale, très humaine: ignorer le problème d’outil et contourner avec des logs, du code de diagnostic, des essais successifs. Sauf que sans observabilité correcte, la frustration monte et les hypothèses se multiplient. Le déclic arrive quand il réalise que le vrai blocage n’est pas le bug applicatif, mais le débogueur. Il corrige la configuration avec un changement d’une ligne, et tout devient plus simple: enfin il peut observer l’état à l’exécution, comprendre rapidement, et corriger le vrai problème — avec une pull request à l’appui.

La morale est presque banale, mais utile: quand votre outil est cassé, réparez l’outil d’abord. Sinon, vous travaillez avec une main dans le dos, et vous confondez effort et progrès.

Développement distant FreeBSD via Linuxulator
Restons dans VS Code et Git, avec une extension qui vise un irritant concret: “dans ce dépôt géant, sur quoi suis-je vraiment en train de travailler ?”

Fresh File Explorer ajoute une vue d’explorateur dédiée aux fichiers “frais”, c’est-à-dire récemment modifiés. Elle s’appuie à la fois sur l’historique Git et sur vos changements non committés. Vous pouvez basculer entre un mode “Pending Changes” et des fenêtres temporelles (7 jours, 30 jours, etc.) pour garder sous les yeux ce qui bouge réellement.

Le détail intéressant, c’est l’ergonomie orientée gros monorepos: arbre de répertoires avec des compteurs, profondeur d’auto-expansion configurable, et option “heatmap” pour colorer les fichiers selon la récence. Il y a aussi un vrai effort sur les suppressions: un fichier supprimé apparaît “à sa place” dans l’arbre, on peut l’“Exhumer” dans une vue temporaire en lecture seule, ou le “Resurrect” pour le restaurer à son chemin d’origine — y compris pour plusieurs fichiers.

Autre idée pratique: une section épinglée en haut, par workspace, pour garder des fichiers importants, des fichiers externes, des fichiers supprimés, des Search Editors, et même de petites notes/todos. L’extension affiche aussi des indicateurs de synchro Git (en avance/en retard du remote, ou par rapport à une branche de base), avec des notifications configurables.

Et au-delà de la navigation, elle propose des outils de recherche Git: pickaxe/diff search (“quand cette chaîne a été ajoutée ou retirée ?”), historique de lignes/fonctions via git log -L, suivi des renommages, et des workflows de recherche “dans les fresh files” qui chaînent les résultats. Clairement, ce n’est pas un remplacement de GitLens; plutôt un complément focalisé sur la notion: “mes fichiers actifs du moment”.

Transactions SQL et niveaux d’isolation
Dans la même veine Git, Andrew Nesbitt rappelle un point qu’on oublie parfois: un dépôt peut transporter des fichiers “magiques” qui influencent le comportement des outils, sans toucher au répertoire .git/.

Évidemment, il commence par .gitignore: règles d’exclusion, présentes à plusieurs niveaux (fichiers .gitignore par dossier, .git/info/exclude en local, et ignore global via core.excludesFile). Il insiste aussi sur un piège fréquent: ignorer un fichier déjà suivi ne suffit pas; il faut d’abord le retirer de l’index, typiquement avec git rm --cached.

Ensuite, .gitattributes: c’est un couteau suisse pour configurer filtres, diff/merge drivers, gestion des binaires, normalisation des fins de ligne, et même le classement Linguist sur GitHub (marquer du code comme “vendored”, “generated”, ou “documentation”, par exemple). Sur Git LFS, il distingue .lfsconfig — paramètres de repo comme l’URL du serveur LFS — et .gitattributes, qui décide quels fichiers vont en LFS.

Il passe aussi par .gitmodules pour les submodules, avec leurs compromis: URLs, branches optionnelles, et surtout l’idée qu’un submodule est “pinné” à un commit. Puis .mailmap pour consolider les identités d’auteurs, ce qui impacte shortlog et certaines statistiques de forges.

Et un fichier que beaucoup apprécient quand un projet reformate son code: .git-blame-ignore-revs. Il permet d’indiquer à git blame — et souvent directement à GitHub/GitLab/Gitea — d’ignorer des commits de bruit (formatage, lint). Bref: ces fichiers sont de la configuration vivante du projet. Les connaître, c’est gagner du temps, et éviter des comportements “mystérieux” des outils.

CSS box-sizing et border-box
Toujours sur l’outillage, mais côté système: un auteur explique pourquoi FreeBSD, malgré ses qualités, lui posait problème au quotidien… jusqu’à ce qu’il débloque un workflow de développement distant.

Le point de départ: l’édition open source de VS Code tourne sur FreeBSD, mais la vraie difficulté, c’est le Remote Development, surtout quand on travaille sur des cibles distantes (embarqués Linux, OpenWRT, machines FreeBSD). Il a essayé des montages NFS et SSHFS, et décrit des lenteurs extrêmes: ouvrir un fichier pouvait prendre 5 à 10 minutes, avec en prime des soucis de permissions. Autant dire que sur des stacks modernes — il cite SvelteKit, un backend Go, et beaucoup de boulot OpenWRT — ça devient vite invivable.

Surprise: l’extension VS Code Remote SSH, pas officiellement supportée sur OpenWRT ni FreeBSD, a fonctionné immédiatement sur OpenWRT et donnait une sensation “locale”. Mais sur FreeBSD, blocage: “Unsupported platform: FreeBSD”.

La solution passe par deux briques: un projet communautaire (vscode-server-freebsd) et le Linuxulator de FreeBSD, c’est-à-dire la compatibilité Linux. Concrètement: activer le service linux, installer une base Linux (ici linux_base-rl9, Rocky 9), et faire en sorte que le serveur VS Code s’exécute dans cet environnement de compatibilité. L’auteur détaille une astuce de configuration avec un fichier .bash_linux, la propagation de variables d’environnement via SSH (AcceptEnv/SetEnv), et un RemoteCommand pointant vers /compat/linux/bin/bash.

Après ça, Remote SSH devient fluide, et la plupart des extensions suivent. L’exception notable: Rollup, faute de binaire FreeBSD — résolue en basculant vers une build WASM via un override npm. Le constat final est intéressant: la compatibilité Linux de FreeBSD est suffisamment solide pour faire tourner des composants serveur VS Code, et retrouver un vrai confort de dev distant.

Story 7
On passe maintenant à la base de données, avec un article PlanetScale de Ben Dicken qui explique clairement pourquoi les transactions SQL comptent.

Une transaction, c’est un groupe de lectures et d’écritures traité comme une unité atomique: on démarre avec BEGIN;, on termine avec COMMIT; pour appliquer, ou ROLLBACK; pour annuler. Cette atomicité n’est pas juste théorique: elle sert autant en cas de panne (coupure de courant, crash) qu’en cas de logique applicative (donnée manquante, contrainte violée, validation qui échoue). Les bases disposent de mécanismes de récupération: côté Postgres, on pense typiquement au WAL, qui aide à rejouer ou annuler correctement.

L’article insiste aussi sur l’isolation: tant que ce n’est pas committé, les autres sessions ne voient pas vos changements. Et si vous rollbackez, c’est comme si rien n’avait existé.

Puis vient la notion de “consistent reads”: à certains niveaux d’isolation, une transaction lit un instantané stable, même si d’autres transactions modifient les mêmes données en parallèle. Postgres met ça en œuvre via MVCC et versionnage de lignes: il crée de nouvelles versions, et des métadonnées comme xmin/xmax déterminent quelle version est visible, avec un nettoyage ultérieur via VACUUM. MySQL, lui, s’appuie plutôt sur l’undo log: il peut réécrire en place et reconstruire les versions antérieures quand une transaction en a besoin.

Enfin, PlanetScale rappelle les niveaux d’isolation — Read Uncommitted, Read Committed, Repeatable Read, Serializable — et les anomalies associées: dirty reads, non-repeatable reads, phantom reads. Et sous Serializable, la concurrence d’écriture diffère: MySQL s’appuie davantage sur des verrous et peut rencontrer des deadlocks, résolus en abortant une transaction; Postgres utilise une forme de Serializable Snapshot Isolation, plus optimiste, qui évite le deadlock classique mais peut tout de même forcer un abort en cas de conflit détecté. Message final: comprendre ces compromis, c’est écrire des applications correctes sans tuer les performances.

Story 8
On termine avec une note front-end, plus légère mais très utile: Chris Coyier “déclare” le 1er février comme journée internationale de sensibilisation à box-sizing.

Derrière le clin d’œil, il rappelle une pratique devenue quasi standard: appliquer box-sizing: border-box globalement, souvent avec un snippet qui inclut aussi :before et :after. L’intérêt est simple: avec border-box, la largeur que vous fixez est la largeur finale rendue. Padding et bordures sont inclus “à l’intérieur” du cadre, au lieu d’agrandir la boîte.

À l’inverse, avec le défaut content-box, la largeur réelle devient: largeur déclarée + padding gauche/droit + bordures. Et c’est là que les layouts à base de pourcentages, de grilles, ou de mélange d’unités deviennent pénibles: on passe plus de temps à faire de la comptabilité qu’à concevoir.

Coyier mentionne aussi une variante qui fait cascader box-sizing via l’héritage — pratique si vous voulez des overrides par composant, vu que box-sizing ne cascade pas naturellement. Et côté compatibilité, il rappelle l’époque des préfixes -webkit- et -moz-, en recommandant de laisser des outils comme Autoprefixer gérer ça.

Bref: ce n’est pas la propriété CSS la plus glamour, mais c’est l’une de celles qui réduisent le plus les surprises.



Abonnez-vous aux flux spécifiques par édition:
- Space news
* Apple Podcast English
* Spotify English
* RSS English Spanish French
- Top news
* Apple Podcast English Spanish French
* Spotify English Spanish French
* RSS English Spanish French
- Tech news
* Apple Podcast English Spanish French
* Spotify English Spanish Spanish
* RSS English Spanish French
- Hacker news
* Apple Podcast English Spanish French
* Spotify English Spanish French
* RSS English Spanish French
- AI news
* Apple Podcast English Spanish French
* Spotify English Spanish French
* RSS English Spanish French

Visit our website at https://theautomateddaily.com/
Send feedback to [email protected]
Youtube
LinkedIn
X (Twitter)