Notes

Short thoughts, updates, and quick posts. (1740 total)

  • Web Cookies

    Stop the tracking circus. Kill the cookie banner!

    Tired of misleading cookie banners?

    The EU Commission has finally proposed a solution: set your privacy preferences in the browser once, and never see another banner. Unfortunately, the tracking industry is pushing back – and so far, they’ve been successful.

    We need YOUR help to #KillTheCookieBanner!

  • Belgique Mars Attacks

    De 2010 à 2013, j’ai été assez actif dans plusieurs mouvements citoyens qui ont vu le jour à cette époque, notamment celui des « Indignés ».

    Et quand je vois aujourd’hui le traitement médiatique réservé à Mars Attacks — son « front mou », son « manque d’interlocuteur clair », son supposé « noyautage » — ça me rappelle pas mal de souvenirs.

    Des souvenirs d’un appareil politique belge totalement incapable d’incarner une démocratie réelle et qui, lorsqu’il se heurte à une mobilisation citoyenne qu’il ne contrôle pas, reproduit toujours les mêmes réflexes. Avec, en soutien, un appareil médiatique largement intoxiqué par l’entre-soi politique.

    La réaction consiste alors à attendre que la tempête passe, à décrédibiliser le mouvement, à minimiser ce qu’il représente, à chercher qui se « cache derrière » plutôt qu’à écouter ce qu’il dit.

    Et pendant ce temps, on continue à pénaliser l’ensemble de la société avec des mesures profondément désastreuses. Du très classique en Belgique : tailler dans la population, les précaires, les services publics et une classe moyenne déjà sur les genoux, tout en préservant « les marchés » et les 5 ou 10 % les plus riches, qui concentrent une part immense du patrimoine du pays.

    Puis le service public sort ce genre d’article :

    On y retrouve précisément les insinuations venues du monde politique : qui se cache derrière ? qui manipule qui ? Et le fait que certains profs soient également membres de partis politiques devient soudain suspect.

    Mais on est en démocratie, non ?

    Depuis quand le fait d’avoir une appartenance politique disqualifie-t-il quelqu’un de participer à un mouvement social ? Et surtout, en quoi cela permet-il de discréditer les revendications d’un mouvement né dans les écoles du pays, qui a justement tout le mérite d’exister par lui-même et pour lui-même, dans l’intérêt des profs comme des élèves ?

    Pendant ce temps, le monde politique crache sur les citoyennes et citoyens qu’il est censé représenter, puis s’interroge gravement sur la « radicalisation de la société ».

    Comme si cette radicalisation était apparue spontanément.

    Comme si la dégradation du débat public, la perte de confiance, le sentiment d’impuissance démocratique et le mépris social n’avaient aucun rapport avec des décennies de fonctionnement politique.

    À force de vider la démocratie de sa substance, il ne faut peut-être pas s’étonner que les citoyens finissent par chercher d’autres manières de se faire entendre.

  • webmentions indieweb

    Found a bug on my “webmention sender” plugin for #indiekit

    I’m sorry to everyone who receive an old webmention from 2017 :))

    Backgog it is so that I fix this once and for all !

    coupled with my fork of indiekit’s own webmention plugin I can do things I always wanted my site to be able to do regarding webmentions : moderation !

  • LocalAI framework

    Do you own a Frame.work 16 laptop ? here is how to run a local-ai stack in one shot specifically tuned for this context. https://github.com/rmdes/framework16-local-llm

  • bluesky

    Just found an issue with the skyfleet it was producing duplicates on 6 or 7 accounts of the fleet.

    the reason ? I had not fully decommissioned the old docker deployment, so when I restarted the VM, the systemd service did its job and restarted part of the fleet, this created a situation in which the fleet plus individual duplicates containers for some account were running at the same time, hence creating duplicates.

    It’s now solved !

  • indiekit micropub

    Just updated the #indiekit demo site https://indiekit-demo.rmendes.net

    • Github activity now appears as Articles
    • Github PRs, Issues, Discussions display properly on the widget

    The post feature from github is powered by N8N: - Github API --> RSS --> indiekit-endpoint-rss --> Micropub -> Indiekit post

  • Mais quel drôle d’idée ☀️ #avions #bruxelles

  • Lecture

    Rejoins le mouvement de la seconde main et découvre des milliers de livres à des prix défiants toutes concurrence 📚😁 https://bookvillage.app

  • Dictatorship Trump Activism

    Autistici/Inventati (A/I), is an Italian collective that has been providing digital infrastructure – email, hosting, mailing lists, chat, videoconferencing, streaming, and services related to privacy and anonymity – to movements and activists since 2001.

    On August 26, Washington designated it as a Specially Designated Global Terrorist (SDGT), alleging that it has provided financial, material or technological support to terrorism and to organizations already subjected to sanctions.

    Read more

    Meanwhile the global far-right/neofascist militias are freely organizing and building the digital infrastructure to be the armed wing of democratically elected authoritarian regimes sponsored by nihilistic billionaires.

  • bluesky indiekit

    Testing if my double-post #bluesky bug is solved ?

  • bluesky indiekit

    What are the difference between my indiekit-syndicator-bluesky fork and upstream core package ?

    @rmdes/indiekit-syndicator-bluesky was cut from @indiekit/syndicator-bluesky around February 2026 and has since roughly doubled in size — about 1,050 lines against upstream’s 620 — while gaining no upstream commits back.

    Upstream remains a deliberately minimal syndicator: it posts notes and photos, natively likes and reposts Bluesky URLs, and silently declines anything else, returning undefined for likes or reposts of non-Bluesky links.

    The fork’s entire reason for existing is that last case: it turns external likes, reposts, and bookmarks into real Bluesky posts carrying an Open Graph link card, fetching the card metadata itself with jsdom and synthesising an SVG-to-PNG thumbnail through sharp when the target page has no OG image.

    On top of that it adds reply threading (in-reply-to → resolveReplyRef(), which upstream has no equivalent for), quote-post and recordWithMedia embeds, manual link facets so anchor text in HTML content stays clickable, and an own-domain-aware URL extractor that decides whether the OG card should show an external link or the post’s own permalink.

    Upstream, meanwhile, has not stood still: it added a includeCategories option that renders JF2 categories as trailing hashtags, moved to @atproto/api 0.20 / sharp 0.35 / html-to-text 10 and Node ≥ 24 — none of which the fork has picked up, and it still pins @atproto/api ^0.19.3.

    The one place the two actively disagree rather than merely differ is text truncation: upstream delegates to the brevity package for permashortlink-aware shortening, whereas the fork dropped that dependency and hand-rolls a 300-character slice. The fork also dropped upstream’s three test files and the plugin icon asset, so it carries the larger surface area with none of the automated coverage.

    Very soon some of these features will be ported to upstream core package, this is a work in progress.

  • microsub RSS

    I have been self-hosting RSS readers (tt-rss, freshrss, miniflux, etc) for over a decade now, after having tried and used most of the cloud hosted RSS reader such as google reader, NetNewsWire, Inoreader, Feedme etc… but its only when I added a Microsub plugin to my indiekit server that things really got interesting, I can now consume my favorite RSS feeds directly from where I blog, this means, likes, repost, bookmarks or simply writing a note against an item I just read is one click away, from the same UI.

    My microsub implementation use channels to segment different RSS feeds, I can import/export OPML, mark “read it later” if its something I want to return to later, the UI is a bit clunky but it works and its able to consume any type of feeds, RSS, Atom, JSONfeed or even pure indieweb h-feed, it has auto discovery built-in so adding a new source is really smooth.

    This plugin is being ported to indiekit origin, we are at PR 1 over 7 to come !

  • Enshitification

    Reading : X Kills Nitter And Xcancel, The Last Ways To Read Tweets Without Elon Watching

    X’s transformation from a kind of open decentralized communications protocol to a closed bullshit delivery mechanism is symptomatic of many of the things going wrong in the world today, from the enshittification of all sorts of products and services, to the rise of authoritarianism around the globe.

  • Security VPN Mullvad

    Pro tip: use reading-mode on Firefox or Vivaldi and then use built-in translation, resulting in full story, no ads.

    TLDR;

    One of Mullvad’s two founders/owners, Daniel Berntsson, has personally spent more than SEK 20 million acquiring property around a libertarian intentional community whose core network has significant documented overlap with Sweden’s far right, including Det Fria Sverige and former neo-Nazi activists.

    He has longstanding personal ties to the people running it, is a shareholder in the company owning its communal building, and confirms that he deliberately finances libertarian community-building projects.

    Separately, he gave SEK 5 million to a political party campaigning for large-scale remigration.

    More here

  • RSC RSS coding

    A small update about RSC (really simple syndication)

  • The AS/400 Revolution: “The System is the Solution” 🖥️

    The AS/400 (introduced in 1988) was revolutionary because it was one of the first systems to integrate the hardware, operating system, and database into a single box — way before that became a common concept. IBM’s “The System is the Solution” campaign was one of the most successful in computing history, and the platform lasted so long that it was rebranded as IBM i in 2008, yet still actively used in thousands of businesses worldwide in the 2020s.

    Even more impressive? RPG, which was created in the 1960s, is still in active use today — making it one of the longest continuously used programming languages in history. Many companies still rely on RPG programs written 30-40 years ago that continue to run flawlessly on IBM i systems.

  • Web Google

    Dreaming about a Chromium/Firefox extension that auto open any article on the web in reading mode.

    Wanting to see the original site would be a manual action.

    No ads, no pop-ups, no cookies walls, just plain text,titles and basic images.

    Reading on mobile without reading mode On for most news sites is such a pain in the A’s, it’s horrible what they have done with the Web.

    Thank God the blog ecosystem is clean, fast and un tarnished by these shenanigans.

    What bothers me even more is Google actively pushing scammy, dirty sites on its News pan on every Android devices shipped, Google is curating “News” sites filled with Ads, Scams and deep redirect that actively drive the user to even more scammy site is literally automated enshitification.

    It’s horrible to browse the web on mobile in 2026, we gotta to do something!

  • Oups… Accidentally turned my geekom IT15 off but thanks to herdr recovered my opencode session without an ounce of stress 😊

  • RSS ActivityPub

    This is actually a cool idea !

    In short: it’s a social, RSS-friendly radar for the open web, self-hosted, with magic-link auth, and connected to the fediverse (ActivityPub).

  • politics

    Bernie is right⁠.

    If healthcare, decent wages, taxing billionaires and protecting workers are now “radical” or “extreme”, then the current US administration is practicing something much closer to state terror against its own population.

    Americans are fed up. The tragedy is that a huge part of that anger was successfully redirected — and many of those who wanted to punish the system ended up voting its most brutal incarnation into the White House.