How rewriting my blog software accidentally led me to the IndieWeb.
https://brine.dev/posts/accidental_indieweb #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://4d2.social/@brine/116206548151930374",
"content": {
"html": "<p>How rewriting my blog software accidentally led me to the IndieWeb.</p><p><a href=\"https://brine.dev/posts/accidental_indieweb\"><span>https://</span><span>brine.dev/posts/accidental_ind</span><span>ieweb</span></a> <a href=\"https://4d2.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "How rewriting my blog software accidentally led me to the IndieWeb.\n\nhttps://brine.dev/posts/accidental_indieweb #indieweb"
},
"published": "2026-03-10T19:33:25+00:00",
"post-type": "note",
"_id": "47593404",
"_source": "8007",
"_is_read": false
}
Thomas Ricouard is joining OpenAI. Thomas worked on the Medium iOS app, Ice Cubes for Mastodon (written in SwiftUI), and Codex Monitor. From a thread on Twitter / X:
I also can’t wait to bring my iOS and macOS expertise to help shape the Codex experience around those platforms.
He appears to have stopped posting to the fediverse. It’s too bad the AI community is so entrenched on Twitter / X.
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://avatars.micro.blog/avatars/2025/22/3.jpg"
},
"url": "https://www.manton.org/2026/03/10/thomas-ricouard-is-joining-openai.html",
"content": {
"html": "<p>Thomas Ricouard is joining OpenAI. Thomas worked on the Medium iOS app, Ice Cubes for Mastodon (written in SwiftUI), and Codex Monitor. From a thread <a href=\"https://x.com/Dimillian/status/2031418694220341293\">on Twitter / X</a>:</p>\n<blockquote>\n<p>I also can\u2019t wait to bring my iOS and macOS expertise to help shape the Codex experience around those platforms.</p>\n</blockquote>\n<p>He appears to have stopped posting to the fediverse. It\u2019s too bad the AI community is so entrenched on Twitter / X.</p>",
"text": "Thomas Ricouard is joining OpenAI. Thomas worked on the Medium iOS app, Ice Cubes for Mastodon (written in SwiftUI), and Codex Monitor. From a thread on Twitter / X:\n\nI also can\u2019t wait to bring my iOS and macOS expertise to help shape the Codex experience around those platforms.\n\nHe appears to have stopped posting to the fediverse. It\u2019s too bad the AI community is so entrenched on Twitter / X."
},
"published": "2026-03-10T13:41:18-05:00",
"post-type": "note",
"_id": "47592735",
"_source": "12",
"_is_read": false
}
Finally posted Jottit to Hacker News today. Was genuinely nervous about it. Spent ages on the wording.
90 minutes later: zero points.
I'm laughing at myself. All that build-up for nothing. Going to try again tomorrow.
https://jottit.org
#indieweb #openweb #webdev #jottit
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@simoncarstensen/116205898736870374",
"content": {
"html": "<p>Finally posted Jottit to Hacker News today. Was genuinely nervous about it. Spent ages on the wording.</p><p>90 minutes later: zero points.</p><p>I'm laughing at myself. All that build-up for nothing. Going to try again tomorrow.</p><p><a href=\"https://jottit.org\"><span>https://</span><span>jottit.org</span><span></span></a></p><p><a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://mastodon.social/tags/openweb\">#<span>openweb</span></a> <a href=\"https://mastodon.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://mastodon.social/tags/jottit\">#<span>jottit</span></a></p>",
"text": "Finally posted Jottit to Hacker News today. Was genuinely nervous about it. Spent ages on the wording.\n\n90 minutes later: zero points.\n\nI'm laughing at myself. All that build-up for nothing. Going to try again tomorrow.\n\nhttps://jottit.org\n\n#indieweb #openweb #webdev #jottit"
},
"published": "2026-03-10T16:48:16+00:00",
"post-type": "note",
"_id": "47591491",
"_source": "8007",
"_is_read": false
}
Check out this quick starter guide for the IndieAgora Atrium - a fast, friendly tour of the new system and how to log in with your PeerTube credentials. Great for joining the indie web and the Fediverse! #IndieAgora #Atrium #PeerTube #HowTo #Tutorial #IndieWeb #Fediverse #OpenSource #English
https://stream.indieagora.com/videos/watch/3b48fa8d-bc79-4465-9dc2-1e8f0ba31710
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mstdn.party/@reeltubes/116205867899030501",
"content": {
"html": "<p>Check out this quick starter guide for the IndieAgora Atrium - a fast, friendly tour of the new system and how to log in with your PeerTube credentials. Great for joining the indie web and the Fediverse! <a href=\"https://mstdn.party/tags/IndieAgora\">#<span>IndieAgora</span></a> <a href=\"https://mstdn.party/tags/Atrium\">#<span>Atrium</span></a> <a href=\"https://mstdn.party/tags/PeerTube\">#<span>PeerTube</span></a> <a href=\"https://mstdn.party/tags/HowTo\">#<span>HowTo</span></a> <a href=\"https://mstdn.party/tags/Tutorial\">#<span>Tutorial</span></a> <a href=\"https://mstdn.party/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://mstdn.party/tags/Fediverse\">#<span>Fediverse</span></a> <a href=\"https://mstdn.party/tags/OpenSource\">#<span>OpenSource</span></a> <a href=\"https://mstdn.party/tags/English\">#<span>English</span></a><br /><a href=\"https://stream.indieagora.com/videos/watch/3b48fa8d-bc79-4465-9dc2-1e8f0ba31710\"><span>https://</span><span>stream.indieagora.com/videos/w</span><span>atch/3b48fa8d-bc79-4465-9dc2-1e8f0ba31710</span></a></p>",
"text": "Check out this quick starter guide for the IndieAgora Atrium - a fast, friendly tour of the new system and how to log in with your PeerTube credentials. Great for joining the indie web and the Fediverse! #IndieAgora #Atrium #PeerTube #HowTo #Tutorial #IndieWeb #Fediverse #OpenSource #English\nhttps://stream.indieagora.com/videos/watch/3b48fa8d-bc79-4465-9dc2-1e8f0ba31710"
},
"published": "2026-03-10T16:40:27+00:00",
"post-type": "note",
"_id": "47591367",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@here_is_wmbk/116205843073480230",
"content": {
"html": "<p>\u2728\u535a\u5ba2\u63a8\u9001\uff1a WordPress \u4f18\u5316 \u2013 \u628a\u535a\u5ba2\u7684\u56fe\u7247\u6302\u8f7d\u5230\u514d\u8d39\u7684 Cloudflare R2 \u50a8\u5b58\u6876 \u6765\u81ea <a href=\"https://wuminboke.site/uncategorized/wordpress-offload-images-to-cloudflare-r2-bucket-for-free/\"><span>https://</span><span>wuminboke.site/uncategorized/w</span><span>ordpress-offload-images-to-cloudflare-r2-bucket-for-free/</span></a> <a href=\"https://mastodon.social/tags/blog\">#<span>blog</span></a> <a href=\"https://mastodon.social/tags/blogging\">#<span>blogging</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "\u2728\u535a\u5ba2\u63a8\u9001\uff1a WordPress \u4f18\u5316 \u2013 \u628a\u535a\u5ba2\u7684\u56fe\u7247\u6302\u8f7d\u5230\u514d\u8d39\u7684 Cloudflare R2 \u50a8\u5b58\u6876 \u6765\u81ea https://wuminboke.site/uncategorized/wordpress-offload-images-to-cloudflare-r2-bucket-for-free/ #blog #blogging #indieweb"
},
"published": "2026-03-10T16:34:07+00:00",
"post-type": "note",
"_id": "47591293",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@here_is_wmbk/116205843004715679",
"content": {
"html": "<p>\u2728Blog Notify: WordPress Optimization \u2013 Mount your blog\u2019s images to a free Cloudflare R2 bucket from <a href=\"https://translate.google.com/translate?hl=en&sl=zh-cn&u=https://wuminboke.site/uncategorized/wordpress-offload-images-to-cloudflare-r2-bucket-for-free/\"><span>https://</span><span>translate.google.com/translate</span><span>?hl=en&sl=zh-cn&u=https://wuminboke.site/uncategorized/wordpress-offload-images-to-cloudflare-r2-bucket-for-free/</span></a> <a href=\"https://mastodon.social/tags/blog\">#<span>blog</span></a> <a href=\"https://mastodon.social/tags/blogging\">#<span>blogging</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "\u2728Blog Notify: WordPress Optimization \u2013 Mount your blog\u2019s images to a free Cloudflare R2 bucket from https://translate.google.com/translate?hl=en&sl=zh-cn&u=https://wuminboke.site/uncategorized/wordpress-offload-images-to-cloudflare-r2-bucket-for-free/ #blog #blogging #indieweb"
},
"published": "2026-03-10T16:34:06+00:00",
"post-type": "note",
"_id": "47591294",
"_source": "8007",
"_is_read": false
}
I'm loving this month's IndieWeb Carnival blogging focus, museums (https://indieweb.org/IndieWeb_Carnival) with @capjamesg hosting it. His introduction is quite good: https://jamesg.blog/2026/03/01/indieweb-carnival-museum-memories
This took me down a bit of a rabbit hole as I have an affinity for museums (I initially was thinking just art museums, but I disabused myself of that quickly). I may have more than one post on museums, but the precursor is up https://vanderwal.net/random/entrysel.php?blog=2137
#indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@vanderwal/116205562545165682",
"content": {
"html": "<p>I'm loving this month's IndieWeb Carnival blogging focus, museums (<a href=\"https://indieweb.org/IndieWeb_Carnival\"><span>https://</span><span>indieweb.org/IndieWeb_Carnival</span><span></span></a>) with <span class=\"h-card\"><a class=\"u-url\" href=\"https://micro.blog/activitypub/capjamesg\">@<span>capjamesg</span></a></span> hosting it. His introduction is quite good: <a href=\"https://jamesg.blog/2026/03/01/indieweb-carnival-museum-memories\"><span>https://</span><span>jamesg.blog/2026/03/01/indiewe</span><span>b-carnival-museum-memories</span></a></p><p>This took me down a bit of a rabbit hole as I have an affinity for museums (I initially was thinking just art museums, but I disabused myself of that quickly). I may have more than one post on museums, but the precursor is up <a href=\"https://vanderwal.net/random/entrysel.php?blog=2137\"><span>https://</span><span>vanderwal.net/random/entrysel.</span><span>php?blog=2137</span></a></p><p><a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "I'm loving this month's IndieWeb Carnival blogging focus, museums (https://indieweb.org/IndieWeb_Carnival) with @capjamesg hosting it. His introduction is quite good: https://jamesg.blog/2026/03/01/indieweb-carnival-museum-memories\n\nThis took me down a bit of a rabbit hole as I have an affinity for museums (I initially was thinking just art museums, but I disabused myself of that quickly). I may have more than one post on museums, but the precursor is up https://vanderwal.net/random/entrysel.php?blog=2137\n\n#indieweb"
},
"published": "2026-03-10T15:22:46+00:00",
"post-type": "note",
"_id": "47590497",
"_source": "8007",
"_is_read": false
}
@elmine Dat zouden meer websites mogen zijn. Ik weet je motivatie tot verandering niet, maar hoe mooi zou het zijn als we meer websites krijgen met een eigen identiteit en eigenaardigheden. #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@dunesec/116205530059825178",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://deepthought.infullflow.net/@elmine\">@<span>elmine</span></a></span> Dat zouden meer websites mogen zijn. Ik weet je motivatie tot verandering niet, maar hoe mooi zou het zijn als we meer websites krijgen met een eigen identiteit en eigenaardigheden. <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "@elmine Dat zouden meer websites mogen zijn. Ik weet je motivatie tot verandering niet, maar hoe mooi zou het zijn als we meer websites krijgen met een eigen identiteit en eigenaardigheden. #indieweb"
},
"published": "2026-03-10T15:14:31+00:00",
"post-type": "note",
"_id": "47590319",
"_source": "8007",
"_is_read": false
}
First vouched webmention
Yesterday I received my first vouched webmention!
Jeff Bridgforth wrote a post for the IndieWeb carnival, where he links to my post.
His website sent my website a webmention.
Normally this would go into a queue for verification. But, because I follow James in my blogroll, and becaus…
https://robida.net/entries/2026/03/10/first-vouched-webmention
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://robida.net/entries/2026/03/10/first-vouched-webmention",
"content": {
"html": "<p><strong>First vouched webmention</strong></p><br /><br /><p>Yesterday I received my first <a href=\"https://indieweb.org/Vouch\">vouched webmention</a>!</p><ol><li><p><a href=\"https://jeffbridgforth.com/\">Jeff Bridgforth</a> wrote a <a href=\"https://jeffbridgforth.com/weeknotes-march-8-2026/\">post</a> for the <a href=\"https://indieweb.org/IndieWeb_Carnival\">IndieWeb carnival</a>, where he links to <a href=\"https://robida.net/entries/2026/03/02/museum-memories\">my post</a>.</p></li><li><p>His website sent my website a webmention.</p></li><li><p>Normally this would go into a queue for verification. But, because I follow <a href=\"https://jamesg.blog/\">James</a> in my <a href=\"https://robida.net/blogroll\">blogroll</a>, and becaus\u2026</p></li></ol><br /><br /><p><a href=\"https://robida.net/entries/2026/03/10/first-vouched-webmention\"><span>https://</span><span>robida.net/entries/2026/03/10/</span><span>first-vouched-webmention</span></a></p>",
"text": "First vouched webmention\n\nYesterday I received my first vouched webmention!Jeff Bridgforth wrote a post for the IndieWeb carnival, where he links to my post.His website sent my website a webmention.Normally this would go into a queue for verification. But, because I follow James in my blogroll, and becaus\u2026\n\nhttps://robida.net/entries/2026/03/10/first-vouched-webmention"
},
"published": "2026-03-10T14:58:30+00:00",
"post-type": "note",
"_id": "47590131",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@NathanMurdock/116205256911704765",
"content": {
"html": "<p>Canadas politikere fortsetter \u00e5 late som om de ikke blir utst\u00f8tt. Vil dette nyeste Toronto Police Recruit hjelpe Canada? <a href=\"https://jungyulkim.com/free-press/nb/articles/kanadiske-politikere-skyver-som-korrupsjon-tar-p%C3%A5-seg-ontarios-hovedstad.html\"><span>https://</span><span>jungyulkim.com/free-press/nb/a</span><span>rticles/kanadiske-politikere-skyver-som-korrupsjon-tar-p\u00e5-seg-ontarios-hovedstad.html</span></a> <a href=\"https://mastodon.social/tags/News\">#<span>News</span></a> <a href=\"https://mastodon.social/tags/Art\">#<span>Art</span></a> <a href=\"https://mastodon.social/tags/Canada\">#<span>Canada</span></a> <a href=\"https://mastodon.social/tags/NewYork\">#<span>NewYork</span></a> <a href=\"https://mastodon.social/tags/Toronto\">#<span>Toronto</span></a> <a href=\"https://mastodon.social/tags/Mafia\">#<span>Mafia</span></a> <a href=\"https://mastodon.social/tags/Crime\">#<span>Crime</span></a> <a href=\"https://mastodon.social/tags/Indieweb\">#<span>Indieweb</span></a> <a href=\"https://mastodon.social/tags/Headlines\">#<span>Headlines</span></a></p>",
"text": "Canadas politikere fortsetter \u00e5 late som om de ikke blir utst\u00f8tt. Vil dette nyeste Toronto Police Recruit hjelpe Canada? https://jungyulkim.com/free-press/nb/articles/kanadiske-politikere-skyver-som-korrupsjon-tar-p\u00e5-seg-ontarios-hovedstad.html #News #Art #Canada #NewYork #Toronto #Mafia #Crime #Indieweb #Headlines"
},
"published": "2026-03-10T14:05:03+00:00",
"post-type": "note",
"_id": "47589473",
"_source": "8007",
"_is_read": false
}
When there have been repeated investigations that show that engagement is driven by negative emotion, how can you trust the algorithm to show you content you like, instead of content that will keep you clicking more?
Switching to subscribing to RSS feeds is not a definitive cure. But it’s a step towards a more independent digital consumption.
https://danielprindii.com/blog/guide-rss-feeds
#rss #technology #internet #indieweb #socialmedia
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@klausblog/116204989035571256",
"content": {
"html": "<p>When there have been repeated investigations that show that engagement is driven by negative emotion, how can you trust the algorithm to show you content you like, instead of content that will keep you clicking more? <br />Switching to subscribing to RSS feeds is not a definitive cure. But it\u2019s a step towards a more independent digital consumption.<br /><a href=\"https://danielprindii.com/blog/guide-rss-feeds\"><span>https://</span><span>danielprindii.com/blog/guide-r</span><span>ss-feeds</span></a> <br /><a href=\"https://mastodon.social/tags/rss\">#<span>rss</span></a> <a href=\"https://mastodon.social/tags/technology\">#<span>technology</span></a> <a href=\"https://mastodon.social/tags/internet\">#<span>internet</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://mastodon.social/tags/socialmedia\">#<span>socialmedia</span></a></p>",
"text": "When there have been repeated investigations that show that engagement is driven by negative emotion, how can you trust the algorithm to show you content you like, instead of content that will keep you clicking more? \nSwitching to subscribing to RSS feeds is not a definitive cure. But it\u2019s a step towards a more independent digital consumption.\nhttps://danielprindii.com/blog/guide-rss-feeds \n#rss #technology #internet #indieweb #socialmedia"
},
"published": "2026-03-10T12:56:55+00:00",
"post-type": "note",
"_id": "47588762",
"_source": "8007",
"_is_read": false
}
#ActivityPub support in #Madblog
https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown
I am glad to announce that Madblog has now officially joined the #Fediverse family.
Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews…) and get those mentions directly rendered on your page.
It now adds ActivityPub support too, using #Pubby, another little Python library that I’ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.
Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.
Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn’t require a database, everything is based on plain Markdown files.
If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:
mkdir -p ~/madblog/markdown
cat <<EOF > ~/madblog/markdown/hello-world.md
This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
EOF
docker run -it \
-p 8000:8000 \
-v "$HOME/madblog:/data" \
quay.io/blacklight/madblog
And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing…
Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:
Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)
Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route
Email notifications: all interactions can have email notifications
Support for quotes, also on Mastodon
Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification
Support for hashtag federation
Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases
Support for custom profile fields, all rendered on Mastodon, with verification support
Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions
A partial (but comprehensive for the provided features) implementation of the Mastodon API
If you want you can follow both the profiles of my blogs - they are now both federated:
My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)
The #Platypush blog: @blog
{
"type": "entry",
"author": {
"name": "#webmentions",
"url": "https://mastodon.social/tags/webmentions",
"photo": null
},
"url": "https://manganiello.eu/objects/8653c315-7c8d-40f6-aa14-751b636ed9d0",
"content": {
"html": "<p><strong><a href=\"https://manganiello.eu/tag/activitypub\">#ActivityPub</a> support in <a href=\"https://manganiello.eu/tag/madblog\">#Madblog</a></strong></p><p><a href=\"https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown\">https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown</a></p><p>I am glad to announce that <a href=\"https://git.fabiomanganiello.com/madblog\">Madblog</a> has now officially joined the <a href=\"https://manganiello.eu/tag/fediverse\">#Fediverse</a> family.</p><p>Madblog has already supported <a href=\"https://manganiello.eu/tag/webmentions\">#Webmentions</a> <a href=\"https://blog.fabiomanganiello.com/article/webmentions-with-batteries-included\">for the past couple of weeks</a>, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews\u2026) and get those mentions directly rendered on your page.</p><p>It now adds ActivityPub support too, using <a href=\"https://manganiello.eu/tag/pubby\">#Pubby</a>, another <a href=\"https://git.fabiomanganiello.com/pubby\">little Python library</a> that I\u2019ve put together myself (just like <a href=\"https://git.fabiomanganiello.com/pubby\">Webmentions</a>) as a mean to quickly plug ActivityPub support to any Python Web app.</p><p>Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single <code>bind_webmentions</code> or <code>bind_activitypub</code> call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.</p><p>Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn\u2019t require a database, everything is based on plain Markdown files.</p><p>If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:</p><pre><code>mkdir -p ~/madblog/markdown<br />\ncat <<EOF > ~/madblog/markdown/hello-world.md<br /><br />\nThis is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!<br />\nEOF<br /><br />\ndocker run -it \\<br />\n -p 8000:8000 \\<br />\n -v \"$HOME/madblog:/data\" \\<br />\n quay.io/blacklight/madblog</code></pre><p>And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing\u2026</p><p>Federation support is also at a quite advanced state compared to e.g. <a href=\"https://manganiello.eu/tag/writefreely\">#WriteFreely</a>. It currently supports:</p><ul><li><p><strong>Interactions rendered on the articles</strong>: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)</p></li><li><p><strong>Guestbook support</strong> (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate <code>/guestbook</code> route</p></li><li><p><strong>Email notifications</strong>: all interactions can have email notifications</p></li><li><p><strong>Support for quotes</strong>, also on Mastodon</p></li><li><p><strong>Support for mentions</strong>, just drop a <code>@joe@example.com</code> in your Markdown file and Joe will get a notification</p></li><li><p><strong>Support for hashtag federation</strong></p></li><li><p><strong>Support for split-domain configurations</strong>, you can host your blog on <code>blog.example.com</code> but have a Fediverse handle like <code>@blog@example.com</code>. Search by direct post URL on Mastodon will work with both cases</p></li><li><p><strong>Support for custom profile fields</strong>, all rendered on Mastodon, with verification support</p></li><li><p><strong>Support for moderation</strong>, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions</p></li><li><p>A partial (but comprehensive for the provided features) implementation of the <strong>Mastodon API</strong></p></li></ul><p>If you want you can follow both the profiles of my blogs - they are now both federated:</p><ul><li><p>My personal blog: <span class=\"h-card\"><a class=\"u-url\" href=\"https://blog.fabiomanganiello.com/@fabio\">@<span>fabio</span></a></span> (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)</p></li><li><p>The <a href=\"https://manganiello.eu/tag/platypush\">#Platypush</a> blog: <span class=\"h-card\"><a class=\"u-url\" href=\"https://blog.platypush.tech/@blog\">@<span>blog</span></a></span></p></li></ul>",
"text": "#ActivityPub support in #Madblog\n\nhttps://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown\n\nI am glad to announce that Madblog has now officially joined the #Fediverse family.\n\nMadblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews\u2026) and get those mentions directly rendered on your page.\n\nIt now adds ActivityPub support too, using #Pubby, another little Python library that I\u2019ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.\n\nWebmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.\n\nMadblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn\u2019t require a database, everything is based on plain Markdown files.\n\nIf you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:mkdir -p ~/madblog/markdown\n\ncat <<EOF > ~/madblog/markdown/hello-world.md\n\n\nThis is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!\n\nEOF\n\n\ndocker run -it \\\n\n -p 8000:8000 \\\n\n -v \"$HOME/madblog:/data\" \\\n\n quay.io/blacklight/madblogAnd Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing\u2026\n\nFederation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook routeEmail notifications: all interactions can have email notificationsSupport for quotes, also on MastodonSupport for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notificationSupport for hashtag federationSupport for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both casesSupport for custom profile fields, all rendered on Mastodon, with verification supportSupport for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressionsA partial (but comprehensive for the provided features) implementation of the Mastodon APIIf you want you can follow both the profiles of my blogs - they are now both federated:My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)The #Platypush blog: @blog"
},
"published": "2026-03-10T12:51:34+00:00",
"post-type": "note",
"_id": "47588763",
"_source": "8007",
"_is_read": false
}
Es gibt eine neue Slash-Page (und ein paar aktualisierte Inhalte). Na, wer findet die neue Seite? 😆
#IndieWeb
https://bernhardkau.de/slashes/
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://dewp.space/@2ndkauboy/116204732587354128",
"content": {
"html": "<p>Es gibt eine neue Slash-Page (und ein paar aktualisierte Inhalte). Na, wer findet die neue Seite? \ud83d\ude06 </p><p><a href=\"https://dewp.space/tags/IndieWeb\">#<span>IndieWeb</span></a> </p><p><a href=\"https://bernhardkau.de/slashes/\"><span>https://</span><span>bernhardkau.de/slashes/</span><span></span></a></p>",
"text": "Es gibt eine neue Slash-Page (und ein paar aktualisierte Inhalte). Na, wer findet die neue Seite? \ud83d\ude06 \n\n#IndieWeb \n\nhttps://bernhardkau.de/slashes/"
},
"published": "2026-03-10T11:51:42+00:00",
"post-type": "note",
"_id": "47588215",
"_source": "8007",
"_is_read": false
}
I was recently interviewed by the wonderful @Sam@ethicalrevolution for NHAM about music, the indie-web, The Kalimera Show, spirituial vampires and such like. Was an absolutely plesasure!
NHAM do brilliant work bringing attention to indie music makers and very happy to have been asked to contribute.
Also be sure to check out the archive and other features, it's a very cool site.
https://nham.co.uk/2026/03/interview-with-inpc/
#Music #IndieWeb #IndependentMusic #SpiritualVampires #Internet #Dub #Electro #TripHop #FunnyNoises
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://go.mxtthxw.art/@inpc/statuses/01KKBQCG9GCP3PT1B8HJ1FXAHD",
"content": {
"html": "<p>I was recently interviewed by the wonderful @Sam@ethicalrevolution for NHAM about music, the indie-web, The Kalimera Show, spirituial vampires and such like. Was an absolutely plesasure!<br /><br />NHAM do brilliant work bringing attention to indie music makers and very happy to have been asked to contribute.<br /><br />Also be sure to check out the archive and other features, it's a very cool site.<br /><br /><a href=\"https://nham.co.uk/2026/03/interview-with-inpc/\">https://nham.co.uk/2026/03/interview-with-inpc/</a><br /><br /><a href=\"https://go.mxtthxw.art/tags/music\">#<span>Music</span></a> <a href=\"https://go.mxtthxw.art/tags/indieweb\">#<span>IndieWeb</span></a> <a href=\"https://go.mxtthxw.art/tags/independentmusic\">#<span>IndependentMusic</span></a> <a href=\"https://go.mxtthxw.art/tags/spiritualvampires\">#<span>SpiritualVampires</span></a> <a href=\"https://go.mxtthxw.art/tags/internet\">#<span>Internet</span></a> <a href=\"https://go.mxtthxw.art/tags/dub\">#<span>Dub</span></a> <a href=\"https://go.mxtthxw.art/tags/electro\">#<span>Electro</span></a> <a href=\"https://go.mxtthxw.art/tags/triphop\">#<span>TripHop</span></a> <a href=\"https://go.mxtthxw.art/tags/funnynoises\">#<span>FunnyNoises</span></a><br /><br /></p>",
"text": "I was recently interviewed by the wonderful @Sam@ethicalrevolution for NHAM about music, the indie-web, The Kalimera Show, spirituial vampires and such like. Was an absolutely plesasure!\n\nNHAM do brilliant work bringing attention to indie music makers and very happy to have been asked to contribute.\n\nAlso be sure to check out the archive and other features, it's a very cool site.\n\nhttps://nham.co.uk/2026/03/interview-with-inpc/\n\n#Music #IndieWeb #IndependentMusic #SpiritualVampires #Internet #Dub #Electro #TripHop #FunnyNoises"
},
"published": "2026-03-10T11:16:17+00:00",
"post-type": "note",
"_id": "47587910",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@NathanMurdock/116204313169933986",
"content": {
"html": "<p>For tiden skitnere enn Gestapo, kan Toronto-politiet oppdatere bildet sitt med rekrutteringen av en sensasjonell ny Mascot? <a href=\"https://jungyulkim.com/free-press/nb/articles/kanadisk-demokrati-i-fare-mens-toronto-mobber-styre.html\"><span>https://</span><span>jungyulkim.com/free-press/nb/a</span><span>rticles/kanadisk-demokrati-i-fare-mens-toronto-mobber-styre.html</span></a> <a href=\"https://mastodon.social/tags/News\">#<span>News</span></a> <a href=\"https://mastodon.social/tags/Art\">#<span>Art</span></a> <a href=\"https://mastodon.social/tags/Canada\">#<span>Canada</span></a> <a href=\"https://mastodon.social/tags/NewYork\">#<span>NewYork</span></a> <a href=\"https://mastodon.social/tags/Toronto\">#<span>Toronto</span></a> <a href=\"https://mastodon.social/tags/Mob\">#<span>Mob</span></a> <a href=\"https://mastodon.social/tags/Crime\">#<span>Crime</span></a> <a href=\"https://mastodon.social/tags/Indieweb\">#<span>Indieweb</span></a> <a href=\"https://mastodon.social/tags/Headlines\">#<span>Headlines</span></a></p>",
"text": "For tiden skitnere enn Gestapo, kan Toronto-politiet oppdatere bildet sitt med rekrutteringen av en sensasjonell ny Mascot? https://jungyulkim.com/free-press/nb/articles/kanadisk-demokrati-i-fare-mens-toronto-mobber-styre.html #News #Art #Canada #NewYork #Toronto #Mob #Crime #Indieweb #Headlines"
},
"published": "2026-03-10T10:05:02+00:00",
"post-type": "note",
"_id": "47587285",
"_source": "8007",
"_is_read": false
}
Greetings, folks
A new button arrived
to celebrate the oldies of the Wild Wide Web
Two versions are available — neutral (here since) and for rightfully opinionated ones (complaining since) 
https://backyardtinker.bearblog.dev/cataminated/
AND it's a GIF by default. I tried uploading here but each time it was in crappy quality 
#Button #ButtonBadges #Badge #IndieWeb #SmallWeb #Retro #Nostalgia #PixelArt
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://ohai.social/@strider/116204084838425495",
"content": {
"html": "<p>Greetings, folks</p><p>A new button arrived <img alt=\":blobcatcoffee:\" height=\"16\" src=\"https://files.mastodon.social/cache/custom_emojis/images/000/478/484/original/c6c6a7255e6eff91.png\" title=\":blobcatcoffee:\" width=\"16\" /> to celebrate the oldies of the Wild Wide Web</p><p>Two versions are available \u2014 neutral (here since) and for rightfully opinionated ones (complaining since) <img alt=\":blobcatcoy:\" height=\"16\" src=\"https://files.mastodon.social/cache/custom_emojis/images/000/859/655/original/0fc04f5a06250768.png\" title=\":blobcatcoy:\" width=\"16\" /></p><p><a href=\"https://backyardtinker.bearblog.dev/cataminated/\"><span>https://</span><span>backyardtinker.bearblog.dev/ca</span><span>taminated/</span></a></p><p>AND it's a GIF by default. I tried uploading here but each time it was in crappy quality <img alt=\":blobcatohno:\" height=\"16\" src=\"https://files.mastodon.social/cache/custom_emojis/images/000/480/919/original/b269de76bae05238.png\" title=\":blobcatohno:\" width=\"16\" /></p><p><a href=\"https://ohai.social/tags/Button\">#<span>Button</span></a> <a href=\"https://ohai.social/tags/ButtonBadges\">#<span>ButtonBadges</span></a> <a href=\"https://ohai.social/tags/Badge\">#<span>Badge</span></a> <a href=\"https://ohai.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://ohai.social/tags/SmallWeb\">#<span>SmallWeb</span></a> <a href=\"https://ohai.social/tags/Retro\">#<span>Retro</span></a> <a href=\"https://ohai.social/tags/Nostalgia\">#<span>Nostalgia</span></a> <a href=\"https://ohai.social/tags/PixelArt\">#<span>PixelArt</span></a></p>",
"text": "Greetings, folks\n\nA new button arrived to celebrate the oldies of the Wild Wide Web\n\nTwo versions are available \u2014 neutral (here since) and for rightfully opinionated ones (complaining since) \n\nhttps://backyardtinker.bearblog.dev/cataminated/\n\nAND it's a GIF by default. I tried uploading here but each time it was in crappy quality \n\n#Button #ButtonBadges #Badge #IndieWeb #SmallWeb #Retro #Nostalgia #PixelArt"
},
"published": "2026-03-10T09:06:58+00:00",
"photo": [
"https://files.mastodon.social/cache/media_attachments/files/116/204/084/859/035/404/original/ac43d1afd55ccce9.png"
],
"post-type": "photo",
"_id": "47586841",
"_source": "8007",
"_is_read": false
}
"I saw you on TrustMRR" is the new "I saw you on PH"
I never listed Best SaaS Boilerplates on TrustMRR 🤡
#tech #indiedev #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://alpaca.gold/@poppacalypse/116203334323163236",
"content": {
"html": "<p>\"I saw you on TrustMRR\" is the new \"I saw you on PH\"</p><p>I never listed Best SaaS Boilerplates on TrustMRR \ud83e\udd21<br /><a href=\"https://alpaca.gold/tags/tech\">#<span>tech</span></a> <a href=\"https://alpaca.gold/tags/indiedev\">#<span>indiedev</span></a> <a href=\"https://alpaca.gold/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "\"I saw you on TrustMRR\" is the new \"I saw you on PH\"\n\nI never listed Best SaaS Boilerplates on TrustMRR \ud83e\udd21\n#tech #indiedev #indieweb"
},
"published": "2026-03-10T05:56:06+00:00",
"photo": [
"https://files.mastodon.social/cache/media_attachments/files/116/203/334/567/464/599/original/7258bc01f5e788b3.png"
],
"post-type": "photo",
"_id": "47585915",
"_source": "8007",
"_is_read": false
}
@admin @TheyOfHIShirts
I am not opposed to this phoenix cycle, so long as it is building on the previous work and not redesigning the UI.
Yes, it would be great if someone financially backed a dedicated FLOSSy team project for decades. France and Germany have begun to do so; maybe it will become stylish again.
In the meantime, the #indieweb encourages us to tinker, to build our own if we want, and to share, collaborate.
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mamot.fr/@Amgine/116202523529148432",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://mastodon.slightlycyberpunk.com/@admin\">@<span>admin</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://glammr.us/@TheyOfHIShirts\">@<span>TheyOfHIShirts</span></a></span> </p><p>I am not opposed to this phoenix cycle, so long as it is building on the previous work and not redesigning the UI.</p><p>Yes, it would be great if someone financially backed a dedicated FLOSSy team project for decades. France and Germany have begun to do so; maybe it will become stylish again.</p><p>In the meantime, the <a href=\"https://mamot.fr/tags/indieweb\">#<span>indieweb</span></a> encourages us to tinker, to build our own if we want, and to share, collaborate.</p>",
"text": "@admin @TheyOfHIShirts \n\nI am not opposed to this phoenix cycle, so long as it is building on the previous work and not redesigning the UI.\n\nYes, it would be great if someone financially backed a dedicated FLOSSy team project for decades. France and Germany have begun to do so; maybe it will become stylish again.\n\nIn the meantime, the #indieweb encourages us to tinker, to build our own if we want, and to share, collaborate."
},
"published": "2026-03-10T02:29:55+00:00",
"post-type": "note",
"_id": "47584937",
"_source": "8007",
"_is_read": false
}
Citizen! External consequences got you down? Looking for a smaller circle or results? May we interest you in Jurisdictional Responsibility, the latest moral advancement from the Institute of Responsible Autonomy.
https://angrybunnyman.com/the-new-moralitytm-jurisdictional-responsibility/
#indieweb #satire #morality
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://indieweb.social/@Angrybunnyman/116202386284378410",
"content": {
"html": "<p>Citizen! External consequences got you down? Looking for a smaller circle or results? May we interest you in Jurisdictional Responsibility, the latest moral advancement from the Institute of Responsible Autonomy.</p><p><a href=\"https://angrybunnyman.com/the-new-moralitytm-jurisdictional-responsibility/\"><span>https://</span><span>angrybunnyman.com/the-new-mora</span><span>litytm-jurisdictional-responsibility/</span></a></p><p><a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://indieweb.social/tags/satire\">#<span>satire</span></a> <a href=\"https://indieweb.social/tags/morality\">#<span>morality</span></a></p>",
"text": "Citizen! External consequences got you down? Looking for a smaller circle or results? May we interest you in Jurisdictional Responsibility, the latest moral advancement from the Institute of Responsible Autonomy.\n\nhttps://angrybunnyman.com/the-new-moralitytm-jurisdictional-responsibility/\n\n#indieweb #satire #morality"
},
"published": "2026-03-10T01:55:00+00:00",
"post-type": "note",
"_id": "47584679",
"_source": "8007",
"_is_read": false
}
Simplified my blogroll a bit. It is no longer a periodically updated list of posts. It is now just a static list of websites. It may sound like a step backward but it removes a few moving parts and simplifies the website setup.
My blogroll is perhaps the only page on my website where every link is purple for me. I visit them all.
There is also an OPML file at the end that provides a feed of all the websites in my blogroll.
https://susam.net/roll.html
#blog #programming #lisp #webdev #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@susam/116201910435912232",
"content": {
"html": "<p>Simplified my blogroll a bit. It is no longer a periodically updated list of posts. It is now just a static list of websites. It may sound like a step backward but it removes a few moving parts and simplifies the website setup.</p><p>My blogroll is perhaps the only page on my website where every link is purple for me. I visit them all.</p><p>There is also an OPML file at the end that provides a feed of all the websites in my blogroll.</p><p><a href=\"https://susam.net/roll.html\"><span>https://</span><span>susam.net/roll.html</span><span></span></a></p><p><a href=\"https://mastodon.social/tags/blog\">#<span>blog</span></a> <a href=\"https://mastodon.social/tags/programming\">#<span>programming</span></a> <a href=\"https://mastodon.social/tags/lisp\">#<span>lisp</span></a> <a href=\"https://mastodon.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "Simplified my blogroll a bit. It is no longer a periodically updated list of posts. It is now just a static list of websites. It may sound like a step backward but it removes a few moving parts and simplifies the website setup.\n\nMy blogroll is perhaps the only page on my website where every link is purple for me. I visit them all.\n\nThere is also an OPML file at the end that provides a feed of all the websites in my blogroll.\n\nhttps://susam.net/roll.html\n\n#blog #programming #lisp #webdev #indieweb"
},
"published": "2026-03-09T23:54:00+00:00",
"photo": [
"https://files.mastodon.social/media_attachments/files/116/201/908/540/310/146/original/f8b1243dda296e62.png"
],
"post-type": "photo",
"_id": "47584323",
"_source": "8007",
"_is_read": false
}