09 Dec 2025

feedPlanet Grep

Lionel Dricot: Nos comptoirs virtuels

Nos comptoirs virtuels

La façade d'un grand café parisien. Zoom sur l'enseigne un peu décrépie ornée d'un pouce blanc sur fond de peinture écaillée : « Le Facebook ».

Intérieur bondé. Moyenne d'âge : 55-60 ans. Les murs sont recouverts de publicité. Les clients sont visiblement tous des habitués et alternent entre ballons de rouge et bières.

- Depuis qu'on peut plus fumer, c'est quand même plus pareil.
- Tout ça c'est la faute de communisses sissgenres !
- Les quois ?
- Les sissgenres. C'est un mot qu'y disent pour légaliser la pédophilie.
- Je croyais qu'on disait transse ?
- C'pareil. Enfin, je crois. Un truc de tarlouzes.
- En tout cas, on peut même plus se rouler une clope en paix !

Une voix résonne provenant d'une table voisine :
- Mon petit fils a fait premier au concours de poésie de son lycée.

Toute la salle crie « Bravo ! » et applaudit pendant 3 secondes avant de reprendre les conversations comme si rien ne s'était passé.

Fondu

Une cafétéria aux murs blancs couverts de posters motivationnels dont les images sont très visiblement générées par IA. Les clients portent tous des costumes-cravates ou des tailleurs un peu cheap, mais qui font illusion de loin. Tous consomment du café dans un gobelet en plastique qu'ils remuent légèrement avec une touillette en bois. Un petit pot contient des touillettes usagées sous une inscription « Pour sauver la planète, recyclez vos touillettes ! »

Gros plan sur Armand, visage bien rasé, lunettes, pommettes saillantes. Il a l'air stressé, mais essaie d'en imposer avec son sourire nerveux.

- Depuis que je fréquente « Le Linkedin », mon rendement de conversion client a augmenté de 3% et j'ai été officiellement nommé Marketing Story Customers Deputy Manager. C'est une belle réussite que je dois à mon réseau.

La caméra s'éloigne. On constate que, comme tous les autres clients, il est seul à sa table et en train de parler à un robot qui acquiesce machinalement.

Fondu

L'endroit branché avec des lumières colorées qui clignotent et de la musique tellement à fond que tu ne sais pas passer commande autrement qu'en hurlant. Des néons hyper design dessinent le nom du bar : « Instagram »

Les cocktails coûtent un mois de salaire, sont faits avec des jus de fruits en boîte. De temps en temps, un client fait une crise d'épilepsie, mais tout le monde trouve ça normal. Et puis les murs sont recouverts de posters géants représentant des paysages somptueux.

La barbe de trois jours soigneusement travaillée, Youri-Maxime pointe un poster à sa compagne.
- Cette photo est magnifique, on doit absolument aller là-bas !

Estelle n'a pas 30 ans, mais son visage est gonflé par la chirurgie esthétique. Sans regarder son compagnon, elle répond :
- Excellente idée, on prendra une photo là, je mettrai mon bikini jaune MachinBazar(TM) et je me ferai un maquillage BrolTruc(TM).
- Trop génial, répond le mec sans quitter des yeux son smartphone. Il me tarde de pouvoir partager la photo !

Fondu

Un ancien entrepôt qui a été transformé en loft de luxe. Briques nues, tuyauteries apparentes. Mais c'est intentionnel. Cependant, on sent que l'endroit n'est plus vraiment entretenu. Il y a des la poussière. Des détritus s'accumulent dans un coin. Les toilettes refoulent. Ça pue la merde dans tout le bar.

Au mur, un grand panneau bleu est barré d'un grand X noir. En dessous, on peut lire, à moitié effacé : « Twitter ».

Dans des pulls élimés et des pantalons de velours, une bande d'habitués est assise à une table. Chacun tape frénétiquement sur le clavier repliable de sa tablette.

Une bande de voyous s'approchent. Ils ont des tatouages en forme de croix gammées, d'aigles, de symboles vaguement nordiques. Ils interpellent les habitués.

- Eh, les mecs ! Vous faites quoi ?
- Nous sommes des journalistes, on écrit des articles. Ça fait 15 ans qu'on vient ici pour travailler.
- Et vous écrivez sur quoi ?
- Sur la démocratie, les droits des trans…

Un nazi a violemment donné un coup de batte de baseball sur la table, éclatant les verres des journalistes.

- Euh, enchaine aussitôt un autre journaliste, on écrit surtout sur le grand remplacement, sur les dangers du wokisme.

Le nazi renifle.

- Vous êtes cool les mecs, continuez !

Fondu

Exactement le même entrepôt sauf que cette fois-ci tout est propre. Le panneau, tout nouveau, indique « Bluesky ». Quand on s'approche des murs, on se rend compte qu'ils sont en fait en carton. Il s'agit d'un décor de cinéma !

Il n'y a pas d'habitués, le bar vient d'ouvrir.

- Bienvenue, lance le patron a la foule qui entre. Je sais que vous ne voulez pas rester à côté, car c'est devenu sale et rempli de nazis. Ici, pas de risque. Tout est pareil, mais décentralisé.

La foule pousse un soupir de satisfaction. Un client fronce les sourcils.

- En quoi est-ce décentralisé ? C'est pareil que…

Il n'a pas le temps de finir sa phrase. Le patron a claqué des doigts et deux cerbères sortis de nulle part le poussent dehors.

- C'est décentralisé, continue le patron, et c'est moi qui prends les commandes.
- Chouette, murmure un client. On va pouvoir avoir l'impression de faire un truc nouveau sans rien changer.
- En plus, on peut lui faire confiance, réplique un autre. C'est le patron de l'ancien bar. Il l'a revendu à un nazi et a pris une partie de l'argent pour ouvrir celui-ci.
- Alors, c'est clairement un gage de confiance !

Fondu

Une vielle grange avec de la paille par terre. Il y a des poules, on entend un mouton bêler.

Un type dans une chemise à carreaux élimée appuie sur un vieux thermos pour en tirer de la bouillasse qu'il tend à ses clients.

- C'est du bio issu du commerce équitable, dit-il. Du Honduras. Ou du Nicaragua ? Faut que je vérifie…
- Merci, répond une grande femme aux cheveux mauves d'un côté du crâne, rasés de l'autre côté.

Elle a un énorme piercing dans le nez, une jupe en voilettes, des bas résille troués et des chaussettes aux couleurs du drapeau trans qui lui remontent jusqu'aux genoux. Elle va s'asseoir devant une vieille table en tréteaux sur laquelle un type barbu en t-shirt « FOSDEM 2004 » tape fiévreusement sur le clavier d'un ordinateur Atari qui prend la moitié de la table. Des câbles sortent de partout.

Arrive une vieille dame aux yeux pétillants. Elle s'appuie sur une canne d'une main, tire un cabas à roulettes de l'autre.

- Bonjour tout le monde ! Vous allez bien aujourd'hui ?

Tout le monde répond des trucs différents en même temps, une poule s'affole et s'envole sur la table en caquetant. La vieille dame ouvre son cabas, faisant tomber une pile de livres de la Pléiade, un Guillaume Musso et une botte de poireaux.

- Regardez ce que je nous ai fait ! Une enseigne pour mettre devant le portail.

Elle déplie un ouvrage au crochet de plusieurs mètres de long. Inscrit en lettres de laine aux coloris plus que douteux, on peut vaguement déchiffrer « Mastodon ». Si on penche la tête et qu'on cligne des yeux.

- Bravo ! C'est magnifique ! entonne une cliente.
- Il fallait dire « Fediverse » dit un autre.
- Est-ce que ça ne rend pas l'endroit un peu trop commercial ? Faudrait pas qu'on devienne comme le bar à néon d'en face.
- Ouais, c'est sûr, c'est le risque. Faudrait que les clients d'en face viennent ici, mais sans que ce soit commercial.
- C'est de la laine bio, continue la vieille dame.

Dans l'étable, une vache mugit.

Je suis Ploum et je viens de publier Bikepunk, une fable écolo-cycliste entièrement tapée sur une machine à écrire mécanique. Pour me soutenir, achetez mes livres (si possible chez votre libraire) !

Recevez directement par mail mes écrits en français et en anglais. Votre adresse ne sera jamais partagée. Vous pouvez également utiliser mon flux RSS francophone ou le flux RSS complet.

09 Dec 2025 3:02pm GMT

Lionel Dricot: Mais c’est plus joli !

Mais c'est plus joli !

La nouvelle version de votre site web est inutilisable, vos emails sont longs et illisibles, vos slides et vos graphiques sont creux. Mais j'entends bien votre argument pour justifier toute cette merde :

C'est plus joli !

On fout tout en l'air pour faire « joli ». Même les icônes des applications sont devenues indistinguables les unes des autres, car « c'est plus joli ».

Le joli nous tue !

R.L. Dane réalise que ce qui lui manque le plus est son ordinateur en noir et blanc. Non pas parce qu'il veut revenir au noir et blanc, mais parce que le fait que certains ordinateurs soient en noir et blanc forçait les designeurs à créer des interfaces lisibles et simples dans toutes les conditions.

C'est exactement ce que je reproche à tous les sites web modernes et toutes les apps. Les concepteurs devraient être forcés de les utiliser sur un vieil ordinateur ou sur un smartphone un peu ancien. C'est joli si on a justement le dernier smartphone avec les derniers espiogiciels à la mode.

Je conchie le « joli ». Le joli, c'est la déculture totale, c'est Trump qui fout des dorures partout, c'est le règne du kitch et de l'incompétence. Votre outil est joli simplement parce que vous ne savez pas l'utiliser ! Parce que vous avez oublié que des gens compétents peuvent l'utiliser. Le joli s'oppose à la praticité.

Le joli s'oppose au beau.

Le beau est profond, artistique, réfléchi, simple. Le beau requiert une éducation, une difficulté. Un artisan chevronné s'émerveille devant la finesse et la simplicité d'un outil. Le consommateur décérébré lui préfère la version avec des paillettes. Le mélomane apprécie une interprétation dans une salle de concert là où votre enceinte connectée impose un bruit terne et sans relief à tous les passants dans le parc. Le joli rajoute au beau une lettre qui le transforme : le beauf !

Oui, vos logorrhées ChatGPTesques sont beaufs. Vos images générées par Midjourney sont le comble du mauvais goût. Votre chaîne YouTube est effrayante de banalités. Vos podcasts ne sont qu'un comblage d'ennui durant votre jogging. Le énième redesign de votre app n'est que la marque de votre inculture. Vos slides PowerPoint et vos posts LinkedIn sont à la limite du crétinisme clinique.

Thierry Crouzet parle de l'addiction à plaire. Mais même cela est faux. On ne veut pas réellement plaire, juste obéir à des algorithmes pour augmenter notre nombre de followers. On veut un profil qui fait « joli ».

Contre le rose bonbon kitch, le headbanging. Contre le technofascisme, le technopunk ringard !

Oui, mais, ça marche !

Le joli est un bonbon, une sucrerie. Cela n'a jamais été aussi vrai que sur les réseaux sociaux, une analogie que j'utilise depuis plus d'une décennie.

Sur son gemlog, Asquare approndit le concept de manière très intéressante : iel suggère que moins les sucreries sont bonnes, plus on en consomme. (oui, c'est sur Gemini, un truc pas joli pour lequel il faut un navigateur dédié et ça n'a rien à voir avec l'IA de Google)

Et ça a du sens : si vous mangez un morceau d'un excellent chocolat avec une tasse de thé de qualité, vous n'aurez pas envie d'en prendre 10 morceaux, de vous gaver. À l'inverse, un chocolat industriel donne une légère satisfaction, mais pas suffisante, on en veut toujours plus.

C'est pareil avec les réseaux sociaux : au plus vous scrollez sur des trucs vaguement intéressants, au plus vous continuez. La merde est addictive ! Et au plus il y a du contenu, au plus la qualité moyenne baisse, cela a été démontré.

Ce qui n'est pas sympa pour la merde, car, comme me le signalent de nombreux lecteurs, la merde est un excellent compost pour faire pousser de bonnes choses. Ce n'est pas le cas des réseaux sociaux, qui font surtout pousser le crétinisme et le fascisme.

À l'opposé de cette « jolie merde », si vous êtes abonnés, comme moi, à d'excellents blogs, vous lisez un article et cela vous fait réfléchir. Le carnet de Thierry Crouzet de novembre, par exemple, me fait beaucoup réfléchir. Après l'avoir lu, je n'ai pas envie de papillonner. Je m'arrête, je me pose des questions, j'ai envie d'y penser, mais aussi de le savourer.

Mais rien ne vaut pour moi la saveur, la beauté d'un bon livre !

L'artisanat derrière la beauté des livres

Je rencontre trop de gens qui me confient aimer beaucoup la lecture, mais n'avoir « plus le temps de lire ». Les mêmes, par contre, sont hyper actifs sur les réseaux sociaux, sur d'infinis groupes Whatsapp ou Discord. C'est comme prétendre n'avoir pas assez faim pour manger ses légumes parce qu'on mange des bonbons toute la journée. Forcément, on a un distributeur dans notre poche ! Et le bonbon n'étant pas vraiment satisfaisant, on reprend un autre… C'est pareil pour certains livres à grand succès produits à la chaîne !

Mais je parlais plus haut du fait qu'apprécier la beauté nécessite la compétence. Les éditions PVH ont justement décidé de se mettre à nu, d'exposer le travail derrière chaque livre pour justifier le prix de l'objet. C'est quelque chose que je remarque : mieux on comprend un travail, au plus on l'apprécie. Cela s'oppose à la nourriture industrielle sous blister qui présuppose de « ne pas savoir comment c'est fait ».

Outre ces explications, deux de mes livres sont à -50% jusqu'au 15 décembre. Si vous n'avez pas de librairie près de chez vous, c'est l'occasion de rentabiliser les frais de port (qui ont explosé, merci la poste française).

L'artisanat derrière l'écriture

PVH vient de sortir un roman de fantasy écrit à 10 mains : « Le bastion des dégradés ».

Julien Hirt, un des co-auteurs et l'auteur de Carcinopolis (que je recommande chaudement si vous n'êtes pas une âme sensible), nous décrit le processus dans un billet passionnant.

Les auteurs sont comme les chats : il est notoirement difficile de leur apprendre à marcher au pas.

À la lecture du billet, la première chose qui me vient à l'esprit, c'est que je suis impatient de lire ce roman. Ce sont tout·e·s des potes dont j'ai lu au moins un des romans, le mélange doit être ébouriffant !

La seconde chose, c'est que ça donne envie de faire pareil. Je regrette de ne pas vivre en Suisse. Comme dit Julien, la Suisse romande est à la fantasy ce que la Scandinavie est au polar. Mais moi, je suis en Belgique !

Bon, après, j'avoue que déjà je suis plus SF que fantasy, mais écrire dans un cloud en chattant, ce serait très très difficile pour moi. Je serais plutôt du genre à vouloir écrire dans un dépôt git en échangeant sur une mailing-liste. Un peu comme si je développais un logiciel libre. Comme le dit Marcello Vitali-Rosati, l'outil a une énorme influence sur l'écriture.

Je ferais plus facilement partie d'un collectif geek-SF, dans la mouvance Neal Stephenson/Charlie Stross/Cory Doctorow. Mais, comme le dit très bien Julien, il faut trouver des complémentarités. Les geeks-SF manquent trop souvent de poésie.

Je repousse sans cesse l'écriture de la suite de Printeurs, mais plus j'y pense, plus je crois que ça pourrait être un projet collectif. J'aime beaucoup par exemple « Chroniques d'un crevard », nouvelle issue du Recueil de Nakamoto. Je trouve que l'univers est parfaitement compatible avec celui de Printeurs.

Trouver le beau derrière le joli

Vous voyez le résultat ? Le fait de tenter de consommer de bonnes choses me donne des idées, me donne envie de produire moi-même des choses. J'éprouve de la gratitude envers les gens qui écrivent des choses que j'aime et avec qui je peux échanger « entre êtres humains ». C'est parfois tellement fort que j'ai l'impression d'être dans un âge d'or !

Bon, peut-être un peu trop, car j'ai trop d'idées qui se bousculent, je rencontre trop de gens intéressants. Finalement, la beauté est partout dès qu'on fait l'effort de mettre maintenir le « joli » à distance. S'il n'y avait pas tant de belles choses à découvrir, je pourrais peut-être me consacrer plus à l'écriture…

Sous les jolis pavés, la beauté de la plage !

Je suis Ploum et je viens de publier Bikepunk, une fable écolo-cycliste entièrement tapée sur une machine à écrire mécanique. Pour me soutenir, achetez mes livres (si possible chez votre libraire) !

Recevez directement par mail mes écrits en français et en anglais. Votre adresse ne sera jamais partagée. Vous pouvez également utiliser mon flux RSS francophone ou le flux RSS complet.

09 Dec 2025 3:02pm GMT

Lionel Dricot: La complainte du technopunk ringard

La complainte du technopunk ringard

Certains d'entre vous me lisent en étant abonnés via RSS ou via la newsletter. D'autres tombent par hasard sur certains de mes billets lorsque ceux-ci sont partagés sur des forums ou des réseaux sociaux. Peut-être que ce billet est le premier que vous découvrez de ce blog ! Si c'est le cas, bienvenue !

Mais il existe une troisième catégorie de lecteurs et lectrices : celles et ceux qui, tout simplement, se décident à aller de temps en temps sur ce site pour voir si j'ai publié des articles et si les titres les intéressent.

Étant moi-même accro au RSS, fréquentant des blogueurs qui parlent de leur nombre d'abonnés, de leurs mailings-listes, j'oublie trop souvent que cette simple solution est possible. C'est un lecteur qui me l'a expliqué lors d'une séance de dédicaces :

- Je suis ton blog depuis des années, j'ai presque tout lu depuis au moins 10 ans !
- Ah, génial. Tu es abonné au RSS ?
- Non.
- À la mailing-liste ?
- Non.
- Tu me suis sur Mastodon ?
- Non, je n'utilise pas les réseaux sociaux.
- Comment tu fais alors pour me suivre ?
- Ben, de temps en temps, je me demande si t'as écrit un article et je tape « www.ploum.net » dans la barre de mon navigateur et je rattrape mon retard.
- …

Enfoncé le ploum ! Lorsqu'on est le nez dans le guidon comme moi, on oublie parfois la simplicité, la liberté du web. Influencé malgré moi par une faune linkedinesque de junkies des statistiques, j'oublie trop souvent qu'un billet de blog s'adresse aussi (et même avant tout) à des personnes qui ne me connaissent pas, qui n'ont pas lu tous mes billets depuis 6 mois, qui ne savent pas ce qu'est le protocole Gemini.

Le papillonnage, la sérendipité sont l'essence de l'être humain. Et, cerise sur le gâteau, il est impossible de comptabiliser, de quantifier ce genre de lecteurs. Un usage autrefois normal, mais aujourd'hui incroyablement rebelle et anticapitaliste du web. Un usage technopunk !

La fin des crêtes

Non, je n'ai jamais porté de crête colorée ni de veste à clous. Mais je roule à vélo ! D'ailleurs, mon dernier roman s'intitule « Bikepunk ».

Dans son livre « L'odyssée du pingouin cannibale », le dandy punk Yann Kerninon fait une analyse intéressante du mouvement punk. Si celui-ci était indéniablement provocant et choquant dans les années 70, il est devenu ensuite la norme. Hurler, baiser et se bourrer la gueule ne sont que des choses normales, divertissantes. Kurt Cobain, héritier du mouvement punk, s'est suicidé lorsqu'il a compris que sa rébellion, son dégoût du système n'était qu'un énième spectacle consolidant le système en question.

La crête colorée n'est plus choquante, au contraire, elle rapportera des likes sur Instagram ! Ce qui devient punk, ce qui choque, c'est d'envoyer chier toutes les métriques, de refuser les diktats (des réseaux) sociaux, d'utiliser un dumbphone, de ne pas être sur Whatsapp, de ne pas être au courant des résultats des matchs de foot ni même du nom de l'émission de télé à la mode.

Essayez et vous verrez que votre entourage vous regardera avec un air d'incompréhension totale. De choc !

Alors que si vous hurlez « No Future » sur une place, je suis sûr que les passants vous filmeront pour récolter des likes.

Le rejet de la mode

La philosophie punk, à la base, c'est le refus total de la mode, de la tendance. Être technopunk, c'est donc se passionner pour les technologies vieilles, ennuyantes, sans budget marketing.

Terence Eden parle de ces technologies ouvertes qui existent en arrière-plan, n'attendant que l'occasion propice pour révéler leur utilité. La radio amateur. Les QR codes, qui ont soudain été popularisés durant la pandémie, parce que soudainement nécessaire.

Il en est de même selon lui pour le Fediverse : personne ne le remarque encore. Mais il est là et le restera jusqu'au moment où on aura besoin de lui. Le rachat de Twitter aurait pu être ce moment. Cela n'a pas été le cas. C'est pas grave, ce sera pour la prochaine fois.

Car les gens sont des moutons crétins. Celleux partis de Twitter sont allés sur Bluesky juste parce que le marketing prétendait que c'était « décentralisés ». Et puis c'était nouveau tout en étant exactement pareil.

J'avais, à l'époque alerté sur le fait que Bluesky était aussi décentralisé que la cryptomonnaie Ripple : c'est-à-dire pas du tout.

À ce tarif, Facebook est également décentralisé : ben oui, leur infrastructure repose sur des serveurs redondants décentralisés. Vous croyez que j'exagère ?

Patatas vient de découvrir que l'équipe Bluesky travaille en secret sur des algorithmes pour cacher certaines réponses qui ne plaisent pas.

Et comme le dit Patatas, il y a bien des tentatives de créer des solutions indépendantes pour se connecter au réseau BS, mais, premièrement, c'est très compliqué et, deuxièmement, presque personne ne les utilisera et donc c'est comme si elles n'existaient pas.

Je le dis depuis 2023 : Bluesky n'est pas décentralisé et ne peut, par sa conception même, pas l'être. Le protocole AT n'est qu'un écran de fumée pour faire croire aux programmeurs qui ne creusent pas trop que la décentralisation future est crédible. C'est un outil marketing.

Ces technologies qui attendent leur moment

C'est pareil pour le protocole XMPP, qui permet de chatter de manière décentralisée depuis 20 ans. Les gens préfèrent Whatsapp ? Pas grave, XMPP attendra d'être vraiment indispensable. Ou cette mode absurde de passer les salons de discussions sur des technologies propriétaires, y compris pour les communautés Open Source. Slack, Telegram maintenant Discord. La plus-value par rapport à un serveur IRC est à peu près nulle. C'est juste du marketing ! (oui, mais les émojis sont plus jolis… ta gueule !)

C'est aussi pour cela que j'aime tellement le réseau Gemini. C'est littéralement technopunk !

Quoi ? C'est compliqué ? Faut faire un effort ? C'est pas joli ? C'est élitiste ? Et tu crois qu'entretenir une crête colorée sur le sommet de son crâne, c'est à la portée de tout le monde ? Bien sûr qu'être technopunk ça demande un effort. Tu voudrais que tout soit facile, sans apprendre et joli justement dans l'esthétique à la mode que t'impose un marketeux défoncé ? Mais retourne dans les jupes de Zuckerberg !

Devoir apprendre et pouvoir apprendre sont des éléments indissociables de la low-tech !

La ligne de commande, ça aussi c'est punk. C'est pas joli, mais c'est hyper efficace : toute personne qui te voit utiliser ton ordinateur part en hurlant. Tes proches font venir un exorciste.

C'est pas pour rien que j'ai créé un navigateur web et gemini qui fonctionne en ligne de commande. Il s'appelle… Offpunk !

Oui, je lis les blogs et le web en ligne de commande. Rien à battre de vos polices de caractères choisies avec amour, de vos mises en pages CSS, de vos javascript pourris. On n'a de toute façon pas les mêmes goûts !

Punk et politique

La philosophie punk, opposition frontale au Thatcherisme, est indissociable de la politique. Et la technologie est complètement politique. Les GAFAM sont désormais complètement fascistes, comme le résume très bien mart-e.

Tu te disais ptêtre parfois que si t'avais vécu sous Pétain en 43, t'aurais été résistant. Ben si tu utilises les GAFAMs parce que plus facile/plus joli/tout le monde le fait/pas le choix, j'ai le regret de t'informer que non. T'es pas du tout résistant. En fait, tu es en train de mettre une affiche « travail - famille - patrie » sur la porte de ta maison. Exactement pour les mêmes raisons que ceux qui l'ont fait à l'époque.

Cyberpunk

C'est pas pour rien que le genre dystopique qui a accompagné l'essor d'Internet s'appelle… Cyberpunk. « Cyberpunk » est également le nom d'un récent essai d'Asma Mhalla qui décrit parfaitement la situation : nous vivons dans une dystopie fasciste avec une idéologie très assumée et si tu n'en ressens pas les effets, c'est juste que t'es pas encore dans les populations visées, que tu te plies bien à tout, que t'as ton petit compte Gmail, Whatsapp, Facebbok et Microsoft pour bien faire comme tout le monde en espérant que ta blancheur de peau, ton hétérosexualité cisgenre et ton compte en banque te permettent de passer entre les gouttes.

T'as essayé de n'avoir aucun de ces comptes ? De ne pas avoir un smartphone Apple ou Android ? Et bien tu verras comme de simples choses comme payer un ticket de bus ou ouvrir un compte en banque sont compliquèes, comme tu deviens un paria pour ne pas simplement obéir aux règles édictées par une poignée de multinationales fascistes !

À propos de cyberpunk, la version audio de mon roman Printeurs est désormais gratuite sur Les Mille Mondes :

Syfy le décrit comme « encore plus sombre et anticapitaliste » que le Neuromancien de Gibson. Et il est sous licence libre, disponible sur toutes les bonnes plateformes pirates. Parce que Fuck Ze System !

Bon, après, si t'es un bourgeois qui peut se permettre de lâcher une tite pièce, n'hésite pas à le commander chez ton libraire ou sur le site PVH.

Parce que les livres papiers et les libraires, ça, c'est vraiment hyper technopunk, mon adelphe !

Je suis Ploum et je viens de publier Bikepunk, une fable écolo-cycliste entièrement tapée sur une machine à écrire mécanique. Pour me soutenir, achetez mes livres (si possible chez votre libraire) !

Recevez directement par mail mes écrits en français et en anglais. Votre adresse ne sera jamais partagée. Vous pouvez également utiliser mon flux RSS francophone ou le flux RSS complet.

09 Dec 2025 3:02pm GMT

Lionel Dricot: Is Pixelfed sawing off the branch that the Fediverse is sitting on?

Is Pixelfed sawing off the branch that the Fediverse is sitting on?

In January 2025, I became aware that there was a real problem with Pixelfed, the "Instagram inspired Fediverse client". The problem is threatening the whole Fediverse. As Pixelfed received a lot of media attention, I choose to wait. In March 2025, I decided that the situation was quieter and wrote an email to Dansup, Pixelfed's maintainer, with an early draft of this post. Dan's promptly replied, in a friendly tone. But didn't want to acknowledge the problem which I've confirmed many times with Pixelfed users. I want to bring the debate on the public place. If I'm wrong, I will at least understand why. If Dan is wrong on this very specific issue, we will at least open the debate.

This post will be shared to my Fediverse audience through my @ploum@mamot.fr Mastodon account. But Pixelfed users will not see it. Even if they follow me, even if many people they follow boost it. Instead, they will see a picture of my broken keyboard that I posted a week ago.

The latest post of Ploum according to Pixelfed. The latest post of Ploum according to Pixelfed.

That's because, despite its name, Pixelfed is NOT a true Fediverse application. It does NOT respect the ActivityPub protocol. Any Pixelfed user following my @ploum@mamot.fr will only see a very small fraction of what I post. They may not see anything from me for months.

But why? Simple! The Pixelfed app has unilaterally decided not to display most Fediverse posts for the arbitrary reason that they do not contain a picture.

This is done on purpose and by design. Pixelfed is designed to mimic Instagram. Displaying text without pictures was deliberately removed from the code (it was possible in previous versions) in order to make the interface prettier.

This is unlike a previous problem where Pixelfed would allow unauthorised users to read private posts from unknowing fediverse users, which was promptly fixed.

In this case, we are dealing with a conscious design decision by the developers. Being pretty is more important than transmitting messages.

Technically, this means that a Pixelfed user P will think that he follows someone but will miss most of the content. On the opposite, the sender, for example a Mastodon user M, will believe that P has received his message because M follows him.

This is a grave abuse of the protocol: messages are silently dropped. It stands against everything the Fediverse is trying to do: allow users to communicate. My experience with open protocols allows me to say that it is a critical problem and that it cannot be tolerated. Would you settle for a mail provider which silently drop all emails you receive if they contain the letter "P"?

The principle behind a communication protocol is to create trust that messages are transmitted. Those messages could, of course, be filtered by the users but those filters should be manually triggered and always removable. If a message is not delivered, the sender should be notified.

In 2025, I've read several articles about people trying the Fediverse but leaving it because "there's not enough content despites following lot of people". Due to the Pixelfed buzz in January, I'm now wondering: "how many of those people were using Pixelfed and effectively missing most of the Fediverse content?"

The importance of respecting the protocol

I cannot stress enough how important that problem is.

If Pixelfed becomes a significant actor, its position will gravely undermine the ActivityPub protocol to the point of making it meaningless.

Imagine a new client, TextFed, that will never display posts with pictures. That makes as much sense as the opposite. Lots of people, like me, find pictures disturbing and some people cannot see pictures at all. So TextFed makes as much sense as Pixelfed. Once you have TextFed, you realise that TextFed and PixelFed users can follow each other, they can comment on post from Mastodon users, they can exchange private messages but they will never be able to see post from each other.

For any normal users, there's no real way to understand that they miss some messages. And even if you do, it is very hard to find that the cause is the absence of pictures in them make them "not pretty enough" to Pixelfed developers. Worse of all : some Mastodon posts do contain a picture but are not displayed in Pixelfed. That's because the picture is from a link preview and was not manually uploaded. Try to explain that to your friends that reluctantly followed you on the Fediverse. Have a look at any Mastodon account and try to guess which posts will we showed to the Pixelfed followers!

That's not something any normal human is supposed to understand. For Pixelfed users, there's no way to see they are missing on some content. For Mastodon users, there's no way to see that some of their audience is missing on some content.

With a broken trust in the protocol, people will revert to create Mastodon accounts to follow Mastodon, Pixelfed accounts to follow Pixelfed and Textfed to follow Textfed. Even if it is not 100% needed, that's the first intuition. It's already happening around me: I've witnessed multiple people with a Mastodon account creating a Pixelfed account to follow Pixelfed users. They do this naturally because they were used to do that with Twitter and Instagram.

Congratulations, you have successfully broken ActivityPub and, as a result, the whole Fediverse. What Meta was not able to do with Threads, the Fediverse did it to itself. Because it was prettier.

Pixelfed will be forced to comply anyway

Now, imagine for a moment that Pixelfed takes off (which is something I wish for and would be healthy for the Fediverse) and that interactions are strong between Mastodon users and Pixelfed users (also something I wish for). I let you imagine how many bug reports developers will receive about "some posts are not appearing in my followers timeline" or "not appearing in my timeline".

This will result in a heavy pressure for Pixelfed devs to implement text-only messages. They will, at some point, be forced to comply, having eroded trust in the Fediverse for nothing.

Once a major actor in a decentralised network starts to mess with the protocol, there are only two possible outputs: either that actor lose steam or that actor becomes dominant enough to impose its own vision of the protocol. In fact, there's a third option: the whole protocol becomes irrelevant because nobody trust it anymore.

What if Pixelfed becomes dominant?

But imagine that Pixelfed is now so important that they can stick to their guns and refuse to display text messages.

Well, there's a simple answer: every other fediverse software will now add an image with every post. Mastodon will probably gain a configurable "default picture to attach to every post so your posts are displayed in Pixelfed".

And now, without having formerly formalised it, the ActivityPub protocol requires every message to have a picture.

That's how protocol works. It already happened: that's how all mail clients started to implement the winmail.dat bug.

Sysadmins handling storage and bandwidth for the Fediverse thank you in advance.

We are not there yet

Fortunately, we are not there yet. Pixelfed is still brand new. It still can go back to displaying every message an end user expect to see when following another Fediverse user.

I stress out that it should be by default, not a hidden setting. Nearly all Pixelfed users I've asked were unaware of that problem. They thought that if they follow someone on the Fediverse, they should, by default, see all their public posts.

There's no negotiation. No warning on the Pixelfed website will be enough. In a federated communication system, filters should be opt-in. If fact, that's what older versions of Pixelfed were doing.

But, while text messages MUST be displayed by default (MUST as in RFC), they can still be displayed as less important. For example, one could imagine having them smaller or whatever you find pretty as long as it is clear that the message is there. I trust Pixelfed devs to be creative here.

The Fediverse is growing. The Fediverse is working well. The Fediverse is a tool that we urgently need in those trying times. Let's not saw off the branch on which we stand when we need it the most.

UPDATE: Dansup, Pixelfed Creator, replied the following on Mastodon:

We are working on several major updates, and while I believe that Pixelfed should only show photo posts, that decision should be up to each user, which we are working to support.

I'm Ploum, a writer and an engineer. I like to explore how technology impacts society. You can subscribe by email or by rss. I value privacy and never share your adress.

I write science-fiction novels in French. For Bikepunk, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, contact me!

09 Dec 2025 3:02pm GMT

Lionel Dricot: Don’t Do Snake Oil Writing

Don't Do Snake Oil Writing

In computer security, it is often said that the fact you don't see any vulnerability in the code you write is no proof that your code is secure. It is proof that you are blind to all the mistakes you made in your shitty code.

The less competent you are, the more confident you will be and the more vulnerable code you will write.

And people will exploit vulnerabilities of your code. Even if you honestly believe in your aptitude, you will end up writing "snake-oil" security systems.

But I'm not a cryptographer. I'm a writer.

When you use an LLM to generate text, the fact that you find the output good doesn't mean that it is good. It only means that you are blind to the shit you've generated.

The simple idea that you think you could get people read your bland generated text and not notice is the proof that you are totally incompetent at writing. You should not trust yourself with that the same way I would never trust myself to check if LLM-generated source code is secure.

Did you really expect nobody to notice that your text was generated? Seriously?

People will notice how stupid your writing is. Some, like myself, will be offended. Other will simply walk away with a bad feeling. One sure is certain: nobody will think it is interesting. Nobody will care about what you wrote. People will simply stop reading you. People will stop sharing you, stop discussing about your writing.

Because you are doing snake-oil writing.

Fortunately, the cure is very simple.

Even if you think that what you produce is bad, be honest, straight. People will notice that you want to improve. Some will even offer advice. You will learn. You will make mistakes, which is an essential part of learning. If you acknowledge those mistakes, people will appreciate your work even more.

Writing secure code is not about magical genius thinking from behind a Guy Fawkes mask. It is about tediously learning patterns of vulnerabilities, about humility that you can't catch everything alone.

Writing text is not about doing beautiful sentences. It is thinking about the information you really want to transmit. Some really good writers make awful sentences. But they are still good because each sentence gives you something, because you feel information and emotions flowing from the writer to you.

If you are tempted to use an LLM to generate a text, don't publish the output of the LLM. Publish the prompt! That's where your information is. It is what people want to hear.

You were tricked into doubting your own ability to write and to use a very costly text generator instead of trusting yourself. This impairs your ability to learn, to improve while insulting all the people that may read you. Like a cocaine addict, you are destroying yourself and destroying your reputation by screaming like a maniac. But you feel good because your brain is altered to believe that "you are better and more productive".

Stop the slop while you can.

If you are holding an MBA and using LLM to generate marketing content, it may be too late. If that's the case, follow Bill Hicks advice and, please, kill yourself!

I'm Ploum, a writer and an engineer. I like to explore how technology impacts society. You can subscribe by email or by rss. I value privacy and never share your adress.

I write science-fiction novels in French. For Bikepunk, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, contact me!

09 Dec 2025 3:02pm GMT

Frederic Descamps: Deploying on OCI with the starter kit – part 3 (applications)

We saw in part 1 how to deploy our starter kit in OCI, and in part 2 how to connect to the compute instance. We will now check which development languages are available on the compute instance acting as the application server. After that, we will see how easy it is to install a new […]

09 Dec 2025 3:02pm GMT

Frederic Descamps: Deploying on OCI with the starter kit – part 2

In part 1, we saw how to deploy several resources to OCI, including a compute instance that will act as an application server and a MySQL HeatWave instance as a database. In this article, we will see how to SSH into the deployed compute instance. Getting the key To connect to the deployed compute instance, […]

09 Dec 2025 3:02pm GMT

Frank Goossens: Ik ben bijna 57 en …

Fuck, ik word volgende week 57! Eigenlijk heb ik daar best vrede mee, net als met mijn kalend hoofd. Maar anderzijds stellen mensen zich af en toe de vraag wie ze zijn en ook daar ben ik geen uitzondering op. Ik ben onder andere…

Source

09 Dec 2025 3:02pm GMT

Dries Buytaert: The product we should not have killed

A lone astronaut stands on cracked ground as bright green energy sprouts upward, symbolizing a new beginning.

Ten years ago, Acquia shut down Drupal Gardens, a decision that I still regret.

We had launched Drupal Gardens in 2009 as a SaaS platform that let anyone build Drupal websites without touching code. Long-time readers may remember my various blog posts about it.

It was pretty successful. Within a year, 20,000 sites were running on Drupal Gardens. By the time we shut it down, more than 100,000 sites used the platform.

Looking back, shutting down Drupal Gardens feels like one of the biggest business mistakes we made.

At the time, we were a young company with limited resources, and we faced a classic startup dilemma. Drupal Gardens was a true SaaS platform. Sites launched in minutes, and customers never had to think about updates or infrastructure. Enterprise customers loved that simplicity, but they also needed capabilities we hadn't built yet: custom integrations, fleet management, advanced governance, and more.

For a while, we tried to serve both markets. We kept Drupal Gardens running for simple sites while evolving parts of it into what became Acquia Cloud Site Factory for enterprise customers. But with our limited resources, maintaining both paths wasn't sustainable. We had to choose: continue making Drupal easier for simple use cases, or focus on enterprise customers.

We chose enterprise. Seeing stronger traction with larger organizations, we shut down the original Drupal Gardens and doubled down on Site Factory. By traditional business metrics, we made the right decision. Acquia Cloud Site Factory remains a core part of Acquia's business today and is used by hundreds of customers that run large site fleets with advanced governance requirements, deep custom integrations, and close collaboration with development teams.

But that decision also moved us away from the original Drupal Gardens promise: serving the marketer or site owner who didn't want or need a developer team. Acquia Cloud Site Factory requires technical expertise, whereas Drupal Gardens did not.

For the next ten years, I watched many organizations struggle with the very challenge Drupal Gardens could have solved. Large organizations often want one platform that can support both simple and complex sites. Without a modern Drupal-based SaaS, many turned to WordPress or other SaaS tools for their smaller sites, and kept Drupal only for their most complex properties.

The problem is that a multi-CMS environment comes with a real cost. Teams must learn different systems, juggle different authoring experiences, manage siloed content, and maintain multiple technology stacks. It can slow them down and make digital operations harder than they need to be. Yet many organizations continue to accept this complexity simply because there has not been a better option.

Over the years, I spoke with many customers who ran a mix of Drupal and non-Drupal sites. They echoed these frustrations in conversation after conversation. Those discussions reminded me of what we had left behind with Drupal Gardens: many organizations want to standardize on a single CMS like Drupal, but the market hadn't offered a solution that made that possible.

So, why start a new Drupal SaaS after all these years? Because the customer need never went away, and we finally have the resources. We are no longer the young company forced to choose.

Jeff Bezos famously advised investing in what was true ten years ago, is true today, and will be true ten years from now. His framework applies to two realities here.

First, organizations will always need websites of different sizes and complexity. A twenty-page campaign site launching tomorrow has little in common with a flagship digital experience under continuous development. Second, running multiple, different technology stacks is rarely efficient. These truths have held for decades, and they're not going away.

This is why we've been building Acquia Source for the past eighteen months. We haven't officially launched it yet, although you may have seen us begin to talk about it more openly. For now, we're testing Acquia Source with select customers through a limited availability program.

Acquia Source is more powerful and more customizable than Drupal Gardens ever was. Drupal has changed significantly in the past ten years, and so has what we can deliver. While Drupal Gardens aimed for mass adoption, Acquia Source is built for organizations that can afford a more premium solution.

As with Drupal Gardens, we are building Acquia Source with open principles in mind. It is easy to export your site, including code, configuration, and content.

Just as important, we are building key parts of Acquia Source in the open. A good example is Drupal Canvas. Drupal Canvas is open source, and we are developing it transparently with the community.

Acquia Source does not replace Acquia Cloud or Acquia Cloud Site Factory. It complements them. Many organizations will use a combination of these products, and some will use all three. Acquia Source helps teams launch sites fast, without updates or maintenance. Acquia Cloud and Site Factory support deeply integrated applications and large, governed site fleets. The common foundation is Drupal, which allows IT and marketing teams to share skills and code across different environments.

For me, Acquia Source is more than a new product. It finally delivers on a vision we've had for fifteen years: one platform that can support everything from simple sites to the most complex ones.

I am excited about what this means for our customers, and I am equally excited about what it could mean for Drupal. It can strengthen Drupal's position in the market, bring more sites back to Drupal, and create even more opportunities for Acquia to contribute to Drupal.

09 Dec 2025 3:02pm GMT

Dries Buytaert: The house and the town square

Elizabeth Spiers recently wrote a great retrospective on early blogging. Spiers was the founding editor of Gawker, a provocative blog focused on celebrities and the media industry. She left in 2003, more than a decade before the site went bankrupt after a lawsuit by Hulk Hogan, funded by Peter Thiel.

Today, she continues to blog on her own site, and she captured the difference between the early web and social media perfectly:

I think of this now as the difference between living in a house you built that requires some effort to visit and going into a town square where there are not particularly rigorous laws about whether or not someone can punch you in the face.

In the early days of blogging, responding to someone's post took real work. You had to write something on your own site and hope they noticed. As Spiers puts it, if someone wanted to engage with you, they had to come to your house and be civil before you'd let them in. If a troll wanted to attack you, they had to do it on their own site and hope you took the bait. Otherwise, no one would see it.

It's a reminder that friction can be a feature, not a bug. Having to write on your own blog filtered out low-effort and low-quality responses. Social media removed that friction. That has real benefits: more voices, faster conversations, lower barriers to entry. But it also means the town square gets crowded fast, and some people come just to shout.

It's the same in real life. When I think about the best conversations I've had, they happened in someone's living room or around a dinner table, not out in a busy public square, which often feels better suited for protests and parades. It works the same way on the web, which is why I'm barely active on social media anymore.

I experienced this tension on my own blog. For years I had anonymous comments enabled. I've always believed in the two-way nature of the web, and I still do. But eventually I turned comments off. Every month I wonder if I should bring them back.

But as my blog gained traction, the quality of the comments had become uneven. There were more off-topic questions, sloppy writing, and the occasional troll. Of course, there were still great comments that led to real conversations, and those make me rethink turning comments back on. But between Drupal, Acquia, and family, I stopped having the time to moderate.

These days the thoughtful responses come by email. It takes more effort than a comment, so the people who write usually have something substantive to say. The downside is that these exchanges stay private, which can be a shame.

What I like the most about Spiers' blog post is that the early web didn't just enable better conversation. It required it. You had to say something interesting enough that someone would bookmark your URL and come back. Maybe that is the thing worth protecting: not the lack of a comments section, but the kind of friction that rewards effort.

In that spirit, I'm going to make an effort to link to more blog posts worth visiting. Consider this me knocking on Spiers' door.

09 Dec 2025 3:02pm GMT

Dries Buytaert: The freedom to leave is what makes customers stay

A glowing blue doorway opens into a lush, colorful forest.

When I tell people that Acquia Source will let customers export their entire website and leave our platform anytime, I usually get puzzled looks.

We really mean the entire site: the underlying Drupal code, theme, configuration, content, and data. The export gives you a complete, working Drupal site that you can run on any infrastructure you choose.

Most SaaS platforms do the opposite. They make it hard to leave. When you export, you may get all your content, but never the code.

Why do we want to make it easy for customers to leave?

First, when leaving is easy, customers stay because they want to, not because they are trapped. That accountability pushes us to build better products. It means that at Acquia, we have to earn our customers' business every day by delivering value, not by making it hard to leave.

Second, the ability to leave means teams can start small and scale without hitting a wall. All SaaS products have constraints, and Acquia Source is no exception. When your application reaches a level of complexity that requires deeper customization, you can take your entire site to Acquia Cloud or any other Drupal hosting environment. You never need to start over.

Last but not least, because Acquia Source is built on Drupal, we want it to reflect Drupal's open source freedoms. Full export is how we make those principles real in a SaaS context.

We call this Open SaaS.

We first tried this idea with Drupal Gardens in 2010, which also allowed full exports. I loved that feature then, and I still love it now. I have always believed it was a big deal. More importantly, our customers did too.

One of Acquia's largest customers began on Drupal Gardens more than a decade ago. They used it to explore Drupal, then naturally grew into Acquia Cloud and Site Factory as their needs became more complex. Today they run some of the world's biggest media properties on Drupal and Acquia.

Trust comes from freedom, not lock-in. The exit door you'll never use is exactly what makes you confident enough to stay. It does seem counterintuitive to make leaving easy, but not all SaaS is created equal. With our Open SaaS approach, you get the freedom to grow and the ability to leave whenever you choose.

09 Dec 2025 3:02pm GMT

Dries Buytaert: Thank you, Drupal Security Team

A blue heart

Today is Thanksgiving in the US. I know it's not a global holiday, but it has me thinking about gratitude, and specifically about a team that rarely gets the recognition it deserves: the Drupal Security Team.

As Drupal's project lead, I'm barely involved in our security work. And you know what? That is a sign that things are working really well.

Our Security Team reviews reports, analyzes vulnerabilities, coordinates patches across supported Drupal versions, and publishes advisories. They work with Drupal module maintainers and reporters to protect millions of websites. They also educate our community proactively, ensuring problems are prevented, not just fixed. It can be a lot of work, and delicate work.

To get an idea of the quality of their work, check out recent advisories at drupal.org/security. I know it's maybe strange to point out security advisories, but their work meets the highest standards of maturity. For example, Drupal is authorized as a CVE Numbering Authority, which means our security processes meet international standards for vulnerability coordination.

Whether you're running a small blog or critical government infrastructure, the Security Team protects you with the same consistency and professionalism.

While I'm on our private security team mailing list, they do all this without needing me to oversee or interfere. In fact, the team handles everything so smoothly that my involvement would only slow them down. In the world of open source leadership, there is no higher compliment I can pay them.

Security work is largely invisible when done well. Nobody celebrates the absence of breaches. The researchers who report issues often get more recognition than the team members who spend hours verifying, patching, and coordinating fixes.

All software has security bugs, and fortunately for Drupal, critical security bugs are rare. What really matters is how you deal with security releases.

To our Security Team: thank you for your excellence. Thank you for protecting Drupal's reputation through consistent, professional, often invisible work, week after week.

09 Dec 2025 3:02pm GMT

Dries Buytaert: Infinite scroll with htmx

A train moves quickly through a dimly lit underground tunnel, leaving streaks of light in its path.

Several years ago, I built a photo stream on my Drupal-powered website. You can see it at https://dri.es/photos. This week, I gave it a small upgrade: infinite scroll.

My first implementation used vanilla JavaScript using the Intersection Observer API, and it worked fine. It took about 30 lines of custom JavaScript and 20 lines of PHP code.

But Drupal now ships with htmx support, and that had been on my mind. So a couple of hours later, I rewrote the feature with htmx to see if it could do the same job more simply.

It's something I love about Drupal: how we keep adding small, well-chosen features like htmx support. Not flashy, but they quietly make everyday work nicer. Years ago, Drupal was one of the first CMSes to adopt jQuery, and our early adoption helped contribute to its widespread use. Today, we're replacing parts of jQuery with htmx, and Drupal may well be among the first CMSes to ship htmx in core.

If, like me, you haven't used htmx before, it lets you add dynamic behavior to pages using HTML attributes instead of writing JavaScript. Want to load content when something is clicked or scrolled into view? You add an attribute like hx-get="/load-more" and htmx handles the request, then swaps the response into your page. It gives you AJAX-style interactions without having to write JavaScript.

To make the photo stream load more images as you scroll, I added an "htmx trigger". When it scrolls into view, htmx fetches more photos and appends them to the right container. The resulting HTML looks like this:

<div hx-get="/photos/load-more?offset=25"
         hx-trigger="revealed"
         hx-target="#album"
         hx-swap="beforeend">
  <figure>
   ...
  </figure>
</div>

The hx-get points to a controller that returns the next batch of photos. The hx-trigger="revealed" attribute means "fire when scrolled into view". The hx-target="#album" tells htmx where to put the new content, and hx-swap="beforeend" appends it at the end of that #album container.

I didn't want users to hit the last photo and have to wait for more to load. To keep the scrolling smooth, I added the trigger a few photos before the end. This pre-fetches the next batch before the user even realizes they are running out of photos. This is what the code in Drupal looks likes:

// Trigger 3 images before the end to prefetch the next batch.
$trigger = array_keys($images)[max(0, count($images) - 4)];

foreach ($images as $key => $image) {
  …

  if ($key === $trigger) {
    // Add htmx attributes to the <div> surrounding the image.
    $build['#attributes']['hx-get'] = '/photos/load-more?offset=' . ($offset + $limit);
    $build['#attributes']['hx-trigger'] = 'revealed';
    $build['#attributes']['hx-target'] = '#album';
    $build['#attributes']['hx-swap'] = 'beforeend';
  }
}

And the controller that returns the HTML:

public function loadMorePhotos(Request $request) {
  $offset = $request->query->getInt('offset', 0);
  $limit = 25;
  $photos = PhotoCollection::loadRecent($offset, $limit);
  if (!$photos) {
    return new Response('');
  }

  $build = $this->buildImages($photos, $offset, $limit);
  $html = \Drupal::service('renderer')->renderRoot($build);
  return new Response($html);
}

Each response includes 25 photos. It continues fetching new photos as you scroll down until there are no more photos, at which point the controller returns an empty response and the scrolling stops.

As you can tell, there is no custom JavaScript in my code. It's all abstracted away by htmx. The htmx version took less than 10 lines of PHP code (shown above) instead of 30+ lines of custom JavaScript. The loadMorePhotos controller I needed either way.

The savings are negligible. Replacing a couple dozen lines of JavaScript won't change the world. And at 16KB gzipped, htmx is much larger than the custom JavaScript I wrote by hand. But it still feels reasonable. My photo stream is image-heavy, and htmx adds less than 0.5% to the initial page weight.

Overall, I'd say that htmx grew on me. There is something satisfying about declarative code. You describe what should happen, and the implementation disappears. I may try it in a few more places to improve the user experience of my site.

09 Dec 2025 3:02pm GMT

Dries Buytaert: DrupalCon Nara keynote Q&A

DrupalCon Nara just wrapped up, and it left me feeling energized.

During the opening ceremony, Nara City Mayor Gen Nakagawa shared his ambition to make Nara the most Drupal-friendly city in the world. I've attended many conferences over the years, but I've never seen a mayor talk about open source as part of his city's long-term strategy. It was surprising, encouraging, and even a bit surreal.

Because Nara came only five weeks after DrupalCon Vienna, I didn't prepare a traditional keynote. Instead, Pam Barone, CTO of Technocrat and a member of the Drupal CMS leadership team, led a Q&A.

I like the Q&A format because it makes space for more natural questions and more candid answers than a prepared keynote allows.

We covered a lot: the momentum behind Drupal CMS, the upcoming Drupal Canvas launch, our work on a site template marketplace, how AI is reshaping digital agencies, why governments are leaning into open source for digital sovereignty, and more.

If you want more background, my DrupalCon Vienna keynote offers helpful context and includes a video recording with product demos.

The event also featured excellent sessions with deep dives into these topics. All session recordings are available on the DrupalCon Nara YouTube playlist.

Having much of the Drupal CMS leadership team together in Japan also turned the week into a working session. We met daily to align on our priorities for the next six months.

On top of that, I spent most of my time in back-to-back meetings with Drupal agencies and end-users. Hearing about their ambitions and where they need help gave me a clearer sense of where Drupal should go next.

Thank you to the organizers and to everyone who took the time to meet. The commitment and care of the community in Japan really stood out.

09 Dec 2025 3:02pm GMT

Dries Buytaert: Drupal Canvas 1.0 released

A futuristic illustration of bikers merged with a screenshot of the Drupal Canvas visual page builder interface.

When we launched Drupal CMS 1.0 eleven months ago, I posted the announcement on Reddit. Brave of me, I know. But I wanted non-Drupal people to actually try it.

There were a lot of positive reactions, but there was also honest feedback. The most common? "Wake me up when your new experience builder is ready". The message was clear: make page building easier and editing more visual.

I was not surprised. For years I have heard the same frustration. Drupal is powerful, but not always easy to use. That criticism has been fair. We have never lacked capability, but we have not always delivered the user experience people expect.

Well, wake up.

Today we released Drupal Canvas 1.0, a new visual page builder for Drupal. You can create reusable components that match your design system, drag them on to a page, edit content in place, preview changes across multiple pages, and undo mistakes with ease.

Watch the video below. Better yet, show it to someone who thinks they know what Drupal looks like. I bet their first reaction will be: "Wait, is that Drupal?". That reaction is exactly what we have been working toward. It makes Drupal feel more modern and less intimidating.

I also want to set expectations. Drupal Canvas 1.0 helps us catch up with other page builders more than it helps us leap ahead. We had to start there.

But it helps us catch up in the right way, bringing the ease of modern tools while keeping Drupal's identity intact. This isn't Drupal becoming simpler by becoming less powerful. Drupal Canvas sits on top of everything that makes Drupal so powerful: structured content, fine-grained permissions, scalability, and much more.

Most importantly, it opens new doors. Frontend developers can create components in React without having to learn Drupal first. And as shown in my DrupalCon Vienna keynote, Drupal Canvas will have an AI assistant that can generate pages from natural language prompts.

Drupal Canvas is a remarkable piece of engineering. The team at Acquia and contributors across the community put serious craft into this. You can see it in the result. I'm thankful for the time, care, and skill everyone brought to it.

So what is next? We keep building. Drupal Canvas 1.0 is step one, and this is a good moment for more of the Drupal community to get involved. Now is the time to build on it, test it, and improve it. Especially because Drupal CMS 2.0 ships in less than two months with Drupal Canvas included.

Shipping Drupal Canvas 1.0 is a major milestone. It shows we are listening. And it shows what we can accomplish when we focus on the experience as much as the capability. I cannot wait to see what people build with it.

09 Dec 2025 3:02pm GMT

Amedee Van Gasse: A Field Guide to Dance Communities

Or How I Discovered That Fusion Is… Fine, I Guess 🕺

Last night I did something new: I went fusion dancing for the first time.
Yes, fusion - that mysterious realm where dancers claim to "just feel the music," which is usually code for nobody knows what we're doing but we vibe anyway.
The setting: a church in Ghent.
The vibe: incense-free, spiritually confusing. ⛪

Spoiler: it was okay.
Nice to try once. Probably not my new religion.

Before anyone sharpens their pitchforks:
Lene (Kula Dance) did an absolutely brilliant job organizing this.
It was the first fusion event in Ghent, she put her whole heart into it, the vibe was warm and welcoming, and this is not a criticism of her or the atmosphere she created.
This post is purely about my personal dance preferences, which are… highly specific, let's call it that.

But let's zoom out. Because at this point I've sampled enough dance styles to write my own David Attenborough documentary, except with more sweat and fewer migratory birds. 🐦

Below: my completely subjective, highly scientific taxonomy of partner dance communities, observed in their natural habitats.


🎻 Balfolk - Home Sweet Home

Balfolk is where I grew up as a dancer - the motherland of flow, warmth, and dancing like you're collectively auditioning for a Scandinavian fairy tale.

There's connection, community, live music, soft embraces, swirling mazurkas, and just the right amount of emotional intimacy without anyone pretending to unlock your chakras.

Balfolk people: friendly, grounded, slightly nerdy, and dangerously good at hugs.

Verdict: My natural habitat. My comfort food. My baseline for judging all other styles. ❤


💫 Fusion: A Beautiful Thing That Might Not Be My Thing

Fusion isn't a dance style - it's a philosophical suggestion.

"Take everything you've ever learned and… improvise."

Fusion dancers will tell you fusion is everything.
Which, suspiciously, also means it is nothing.

It's not a style; it's a choose-your-own-adventure.
You take whatever dance language you know and try to merge it with someone else's dance language, and pray the resulting dialect is mutually intelligible.

I had a fun evening, truly. It was lovely to see familiar faces, and again: Lene absolutely nailed the organization. Also a big thanks to Corentin for the music!
But for me personally, fusion sometimes has:

One dance feels like tango in slow motion, the next like zouk without the hair flips, the next like someone is trying to do tai chi at you. Mostly an exercise in guessing whether your partner is leading, following, improvising, or attempting contemporary contact improv for the first time.

Beautiful when it works. Less so when it doesn't.
And all of that randomly in a church in Ghent on a weeknight.

Verdict: Fun to try once, but I'm not currently planning my life around it. 😅


🤸 Contact Improvisation: Gravity's Favorite Dance Style

Contact improv deserves its own category because it's fusion's feral cousin.

It's the dance style where everyone pretends it's totally normal to roll on the floor with strangers while discussing weight sharing and listening with your skin.

Contact improv can be magical - bold, creative, playful, curious, physical, surprising, expressive.
It can also be:

It can exactly be the moment where my brain goes:

"Ah. So this is where my comfort zone ends."

It's partnered physics homework.
Sometimes beautiful, sometimes confusing, sometimes suspiciously close to a yoga class that escaped supervision.

I absolutely respect the dancers who dive into weight-sharing, rolling, lifting, sliding, and all that sculptural body-physics magic.
But my personal dance style is:

Verdict: Fascinating to try, excellent for body awareness, fascinating to observe, but not my go-to when I just want to dance and not reenact two otters experimenting with buoyancy. 🦦 Probably not something I'll ever do weekly.


🪕 Contra: The Holy Grail of Joyful Chaos

Contra is basically balfolk after three coffees.
People line up, the caller shouts things, everyone spins, nobody knows who they're dancing with and nobody cares. It's wholesome, joyful, fast, structured, musical, social, and somehow everyone becomes instantly attractive while doing it.

Verdict: YES. Inject directly into my bloodstream. 💉


🍻 Ceilidh: Same Energy, More Shouting

Ceilidh is what you get when Contra and Guinness have a love child.
It's rowdy, chaotic, and absolutely nobody takes themselves seriously - not even the guy wearing a kilt with questionable underwear decisions. It's more shouting, more laughter, more giggling at your own mistakes, and occasionally someone yeeting themselves across the room.

Verdict: Also YES. My natural ecosystem.


🇧🇷 Forró: Balfolk, but Warmer

If mazurka went on Erasmus in Brazil and came back with stories of sunshine and hip movement, you'd get Forró.

Close embrace? Check.
Playfulness? Check.
Techniques that look easy until you attempt them and fall over? Check.
I'm convinced I would adore forró.

Verdict: Where are the damn lessons in Ghent? Brussel if we really have to. Asking for a friend. (The friend is me.) 😉


🕺 Lindy Hop & West Coast Swing: Fun… But the Vibe?

Both look amazing - great music, athletic energy, dynamic, cool moves, full of personality.
But sometimes the community feels a tiny bit like:

"If you're not wearing vintage shoes and triple-stepping since birth, who even are you?"

It's not that the dancers are bad - they're great.
It's just… the pretentie.

Verdict: Lovely to watch, less lovely to join.
Still looking for a group without the subtle "audition for fame-school jazz ensemble" energy.


🌊 Zouk: The Idea Pot

Zouk dancers move like water. Or like very bendy cats.
It's sexy, flowy, and full of body isolations that make you reconsider your spine's architecture.

I'm not planning to become a zouk person, but I am planning to steal their ideas.
Chest isolations?
Head rolls?
Wavy body movements?
Yes please. For flavour. Not for full conversion.

Verdict: Excellent expansion pack, questionable main quest.


💃 Salsa, Bachata & Friends: Respectfully… No

I tried. I really did.
I know people love them.
But the Latin socials generally radiate too much:

If you love it, great.
If you're me: no, no, absolutely not, thank you.

Verdict: iew iew nééé. 🪳
Fantastic for others. Not for me.


🍷 Tango: The Forbidden Fruit

Tango is elegant, intimate, dramatic… and the community is a whole ecosystem on its own.

There are scenes where people dance with poetic tenderness, and scenes where people glare across the room using century-old codified eyebrow signals that might accidentally summon a demon. 👀

I like tango a lot - I just need to find a community that doesn't feel like I'm intruding on someone's ancestral mating ritual. And where nobody hisses if your embrace is 3 mm off the sacred norm.

Verdict: Promising, if I find the right humans.


🧘‍♂️ Ecstatic Dance / 5 Rhythms / Biodanza / Tantric Whatever

Look.
I'm trying to be polite.
But if I wanted to flail around barefoot while being spiritually judged by someone named Moonfeather, I'd just do yoga in the wrong class.

I appreciate the concept of moving freely.
I do not appreciate:

And also: what are we doing? Therapy? Dance? Summoning a forest deity? 🧚

Verdict: Too much floaty spirituality, not enough actual dancing.
Hard pass. ✨


📝 Conclusion

I'm a simple dancer.
Give me clear structure (contra), playful chaos (ceilidh), heartfelt connection (balfolk), or Brazilian sunshine vibes (forró).

Fusion was fun to try, and I'm genuinely grateful it exists - and grateful to the people like Lene who pour time and energy into creating new dance spaces in Ghent. 🙌

But for me personally?
Fusion can stay in the category of "fun experiment," but I won't be selling all my worldly possessions to follow the Church of Expressive Improvisation any time soon.
I'll stay in my natural habitat: balfolk, contra, ceilidh, and anything that combines playfulness, partnership, and structure.

If you see me in a dance hall, assume I'm there for the joy, the flow, and preferably fewer incense-burning hippies. 🕯

Still: I'm glad I went.
Trying new things is half the adventure.
Knowing what you like is the other half.

And I'm getting pretty damn good at that. 💛

Amen.
(Fitting, since I wrote this after dancing in a church.)

09 Dec 2025 3:02pm GMT