When we first added ActivityPub support to Micro.blog years ago, I used the phrase “Mastodon-compatible” because I was worried that “ActivityPub” would be confusing for normal people. It now seems time to adopt “fediverse” as a term throughout our UI instead. Curious how Threads will handle this.
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2023/09/25/when-we-first.html",
"content": {
"html": "<p>When we first added ActivityPub support to Micro.blog years ago, I used the phrase \u201cMastodon-compatible\u201d because I was worried that \u201cActivityPub\u201d would be confusing for normal people. It now seems time to adopt \u201cfediverse\u201d as a term throughout our UI instead. Curious how Threads will handle this.</p>",
"text": "When we first added ActivityPub support to Micro.blog years ago, I used the phrase \u201cMastodon-compatible\u201d because I was worried that \u201cActivityPub\u201d would be confusing for normal people. It now seems time to adopt \u201cfediverse\u201d as a term throughout our UI instead. Curious how Threads will handle this."
},
"published": "2023-09-25T12:26:13-05:00",
"post-type": "note",
"_id": "39011358",
"_source": "12",
"_is_read": false
}
{
"type": "entry",
"published": "2023-09-25T14:24:39+00:00",
"url": "https://werd.io/2023/subscribing-to-the-blogs-of-people-i-follow-on-mastodon",
"name": "Subscribing to the blogs of people I follow on Mastodon",
"content": {
"text": "It\u2019s no surprise to anyone that I prefer reading peoples\u2019 long-form thoughts to tweets or pithy social media posts. Microblogging is interesting for quick, in-the-now status updates, but I find myself craving more nuance and depth.Luckily, Blogging is enjoying a resurgence off the back of movements like the Indieweb (at one end of the spectrum) and platforms like Substack (at the other), and far more people are writing in public on their own sites than they were ten years ago. Hooray! This is great for me, but how do I find all those sites to read?I figured that the people I\u2019m connected to on Mastodon would probably be the most likely to be writing on their own sites, so I wondered if it was possible to subscribe to all the blogs of the people I followed.I had a few criteria:I only wanted to subscribe to blogs. (No feeds of updates from GitHub, for example, or posts in forums.)\nI didn\u2019t want to have to authenticate with the Mastodon API to get this done. This felt like a job for a scraper \u2014 and Mastodon\u2019s API is designed in such a way that you need to make several API calls to figure out each user\u2019s profile links, which I didn\u2019t want to do.\nI wanted to write it in an hour or two on Sunday morning. This wasn\u2019t going to be a sophisticated project. I was going to take my son to the children\u2019s museum in the afternoon, which was a far more important task.\nOn Mastodon, people can list a small number of external links as part of their profile, with any label they choose. Some people are kind enough to use the label blog, which is fairly determinative, but lots don\u2019t. So I decided that I wanted to take a look at every link people I follow on Mastodon added to their profiles, figure out if it\u2019s a blog I can subscribe to or not, and then add the reasonably-bloggy sites to an OPML file that I could then add to an RSS reader.Here\u2019s the very quick-and-dirty command line tool I wrote yesterday.Mastodon helpfully produces a CSV file that lists all the accounts you follow. I decided to use that as an index rather than crawling my instance.Then it converts those account usernames to URLs and downloads the HTML for each profile. While Mastodon has latterly started using JavaScript to render its UI \u2014 which means the actual profile links aren\u2019t there in the HTML to parse \u2014 it turns out that it includes profile links as rel=\u201cme\u201d metatags in the page header, so my script finds end extracts those to create the list of websites to crawl.Once it has the list of websites, it excludes any that don\u2019t look like they\u2019re probably blogs, using some imperfect-but-probably-good-enough heuristics that include:Known silo URLs (Facebook, Soundcloud, etc) are excluded.\nIf the URL contains /article, /product, and so on, it\u2019s probably a link to an individual page rather than a blog.\nLong links are probably articles or resources, not blogs.\nPages with long URL query strings are probably search results, not blogs.\nLinks to other Mastodon profiles (or Pixelfed, Firefish, and so on) disappear.\nThe script goes through the remaining list and attempts to find the feed for each page. If it doesn\u2019t find a feed I can subscribe to, it just moves on. Any feeds that look like feeds of comments are discarded. Then, because the first feed listed is usually the best one, the script chooses the first remaining feed in the list for the page.Once it\u2019s gone through every website, it spits out a CSV and an OPML file.After a few runs, I pushed the OPML file into Newsblur, my feed reader of choice. It was able to subscribe to a little over a thousand new feeds. Given that I\u2019d written the script in a little over an hour and that it was using some questionable tactics, I wasn\u2019t sure how high-quality the sites would be, so I organized them all into a new \u201cMastodon follows\u201d folder that I could unsubscribe to quickly if I needed to.But actually, it was pretty great! A few erroneous feeds did make it through: a few regional newspapers (I follow a lot of journalists), some updates to self-hosted Git repositories, and some Lemmy feeds. I learned quickly that I don\u2019t care for most Tumblr content \u2014 which is usually reposted images \u2014 and I found myself wishing I\u2019d excluded it. Finally, I removed some non-English feeds that I simply couldn\u2019t read (although I wish my feed reader had an auto-translate function so that I could).The upshot is that I\u2019ve got a lot more blogs to read from people I\u2019ve already expressed interest in. Is the script anything close to perfect? Absolutely not. It it shippable? Not really. But it did what I needed it to, and I\u2019m perfectly happy.",
"html": "<p>It\u2019s no surprise to anyone that I prefer reading peoples\u2019 long-form thoughts to tweets or pithy social media posts. Microblogging is interesting for quick, in-the-now status updates, but I find myself craving more nuance and depth.</p><p>Luckily, Blogging is enjoying a resurgence off the back of movements like the <a href=\"https://indieweb.org\">Indieweb</a> (at one end of the spectrum) and platforms like <a href=\"https://substack.com\">Substack</a> (at the other), and far more people are writing in public on their own sites than they were ten years ago. Hooray! This is great for me, but how do I find all those sites to read?</p><p>I figured that the people <a href=\"https://werd.social/@ben\">I\u2019m connected to on Mastodon</a> would probably be the most likely to be writing on their own sites, so I wondered if it was possible to subscribe to all the blogs of the people I followed.</p><p>I had a few criteria:</p><ol><li>I only wanted to subscribe to blogs. (No feeds of updates from GitHub, for example, or posts in forums.)</li>\n<li>I didn\u2019t want to have to authenticate with the Mastodon API to get this done. This felt like a job for a scraper \u2014 and Mastodon\u2019s API is designed in such a way that you need to make several API calls to figure out each user\u2019s profile links, which I didn\u2019t want to do.</li>\n<li>I wanted to write it in an hour or two on Sunday morning. This wasn\u2019t going to be a sophisticated project. I was going to take my son to the children\u2019s museum in the afternoon, which was a far more important task.</li>\n</ol><p>On Mastodon, people can list a small number of external links as part of their profile, with any label they choose. Some people are kind enough to use the label <em>blog</em>, which is fairly determinative, but lots don\u2019t. So I decided that I wanted to take a look at <em>every</em> link people I follow on Mastodon added to their profiles, figure out if it\u2019s a blog I can subscribe to or not, and then add the reasonably-bloggy sites to an OPML file that I could then add to an RSS reader.</p><p><a href=\"https://github.com/benwerd/mastodon-followed-blogs\">Here\u2019s the very quick-and-dirty command line tool I wrote yesterday.</a></p><p>Mastodon helpfully produces a CSV file that lists all the accounts you follow. I decided to use that as an index rather than crawling my instance.</p><p>Then it converts those account usernames to URLs and downloads the HTML for each profile. While Mastodon has latterly started using JavaScript to render its UI \u2014 which means the actual profile links aren\u2019t there in the HTML to parse \u2014 it turns out that it includes profile links as <code>rel=\u201cme\u201d</code> metatags in the page header, so my script finds end extracts those to create the list of websites to crawl.</p><p>Once it has the list of websites, it excludes any that don\u2019t look like they\u2019re probably blogs, using some imperfect-but-probably-good-enough heuristics that include:</p><ol><li>Known silo URLs (Facebook, Soundcloud, etc) are excluded.</li>\n<li>If the URL contains <code>/article</code>, <code>/product</code>, and so on, it\u2019s probably a link to an individual page rather than a blog.</li>\n<li>Long links are probably articles or resources, not blogs.</li>\n<li>Pages with long URL query strings are probably search results, not blogs.</li>\n<li>Links to other Mastodon profiles (or Pixelfed, Firefish, and so on) disappear.</li>\n</ol><p>The script goes through the remaining list and attempts to find the feed for each page. If it doesn\u2019t find a feed I can subscribe to, it just moves on. Any feeds that look like feeds of comments are discarded. Then, because the first feed listed is <em>usually</em> the best one, the script chooses the first remaining feed in the list for the page.</p><p>Once it\u2019s gone through every website, it spits out a CSV and an OPML file.</p><p>After a few runs, I pushed the OPML file into <a href=\"https://newsblur.com\">Newsblur</a>, my feed reader of choice. It was able to subscribe to a little over a thousand new feeds. Given that I\u2019d written the script in a little over an hour and that it was using some questionable tactics, I wasn\u2019t sure how high-quality the sites would be, so I organized them all into a new \u201cMastodon follows\u201d folder that I could unsubscribe to quickly if I needed to.</p><p>But actually, it was pretty great! A few erroneous feeds did make it through: a few regional newspapers (I follow a lot of journalists), some updates to self-hosted Git repositories, and some <a href=\"https://join-lemmy.org/\">Lemmy</a> feeds. I learned quickly that I don\u2019t care for most Tumblr content \u2014 which is usually reposted images \u2014 and I found myself wishing I\u2019d excluded it. Finally, I removed some non-English feeds that I simply couldn\u2019t read (although I wish my feed reader had an auto-translate function so that I could).</p><p>The upshot is that I\u2019ve got a lot more blogs to read from people I\u2019ve already expressed interest in. Is the script anything close to perfect? Absolutely not. It it shippable? Not really. But it did what I needed it to, and I\u2019m perfectly happy.</p>"
},
"author": {
"type": "card",
"name": "Ben Werdmuller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "article",
"_id": "39007892",
"_source": "191",
"_is_read": false
}
A short piece I wrote in 2019 on my love of #rss. If anything, I love it even more these days…
https://shellsharks.com/an-ode-to-rss
#mondayblogs #blogging #indieweb
{
"type": "entry",
"author": {
"name": "@shellsharks",
"url": "https://infosec.exchange/@shellsharks",
"photo": null
},
"url": "https://infosec.exchange/@shellsharks/111125374787510565",
"content": {
"html": "<p>A short piece I wrote in 2019 on my love of <a href=\"https://infosec.exchange/tags/rss\">#<span>rss</span></a>. If anything, I love it even more these days\u2026</p><p><a href=\"https://shellsharks.com/an-ode-to-rss\"><span>https://</span><span>shellsharks.com/an-ode-to-rss</span><span></span></a></p><p><a href=\"https://infosec.exchange/tags/mondayblogs\">#<span>mondayblogs</span></a> <a href=\"https://infosec.exchange/tags/blogging\">#<span>blogging</span></a> <a href=\"https://infosec.exchange/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "A short piece I wrote in 2019 on my love of #rss. If anything, I love it even more these days\u2026https://shellsharks.com/an-ode-to-rss#mondayblogs #blogging #indieweb"
},
"published": "2023-09-25T10:44:13+00:00",
"post-type": "note",
"_id": "39006038",
"_source": "7235",
"_is_read": false
}
I recently wrote a high level summary blog post:
W3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023
https://tantek.com/2023/262/b1/w3c-technical-plenary-tpac
of my time at the #W3C (@W3.org, @w3c@w3c.social, @W3C) #TPAC the week before.
Posting this note to explicitly #hashtag that article with topics mentioned therein:
#Sevilla #Seville #Spain #WICG #SocialCG #SWICG #Fediverse #SocialWeb #sustainability #IndieWeb #ActivityPub
because I forgot to put explicit categories (p-category markup) in the article post.
Adding that markup after publishing, and then sending an ActivityPub update (via #BridgyFed) is apparently not enough for #Mastodon to notice that the Update has new tags to display and aggregate on tag pages. In my next #w3cTPAC article post I’ll be sure to include category markup before publishing and see if that works.
Post glossary:
article post
https://indieweb.org/article
note post
https://indieweb.org/note
p-category
https://indieweb.org/p-category
tags
https://indieweb.org/tags
{
"type": "entry",
"published": "2023-09-24 18:33-0700",
"url": "http://tantek.com/2023/267/t1/summary-w3c-tpac-2023",
"category": [
"W3C",
"TPAC",
"hashtag",
"Sevilla",
"Seville",
"Spain",
"WICG",
"SocialCG",
"SWICG",
"Fediverse",
"SocialWeb",
"sustainability",
"IndieWeb",
"ActivityPub",
"BridgyFed",
"Mastodon",
"w3cTPAC"
],
"content": {
"text": "I recently wrote a high level summary blog post:\n\nW3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023\n\nhttps://tantek.com/2023/262/b1/w3c-technical-plenary-tpac\n\nof my time at the #W3C (@W3.org, @w3c@w3c.social, @W3C) #TPAC the week before.\n\nPosting this note to explicitly #hashtag that article with topics mentioned therein:\n\n#Sevilla #Seville #Spain #WICG #SocialCG #SWICG #Fediverse #SocialWeb #sustainability #IndieWeb #ActivityPub\n\nbecause I forgot to put explicit categories (p-category markup) in the article post.\n\nAdding that markup after publishing, and then sending an ActivityPub update (via #BridgyFed) is apparently not enough for #Mastodon to notice that the Update has new tags to display and aggregate on tag pages. In my next #w3cTPAC article post I\u2019ll be sure to include category markup before publishing and see if that works.\n\nPost glossary:\n\narticle post\n\u00a0 https://indieweb.org/article\nnote post\n\u00a0 https://indieweb.org/note\np-category\n\u00a0 https://indieweb.org/p-category\ntags\n\u00a0 https://indieweb.org/tags",
"html": "I recently wrote a high level summary blog post:<br /><br />W3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023<br /><br /><a href=\"https://tantek.com/2023/262/b1/w3c-technical-plenary-tpac\">https://tantek.com/2023/262/b1/w3c-technical-plenary-tpac</a><br /><br />of my time at the #<span class=\"p-category\">W3C</span> (<a href=\"https://W3.org\">@W3.org</a>, <a href=\"https://w3c.social/@w3c\">@w3c@w3c.social</a>, <a class=\"h-cassis-username\" href=\"https://twitter.com/W3C\">@W3C</a>) #<span class=\"p-category\">TPAC</span> the week before.<br /><br />Posting this note to explicitly #<span class=\"p-category\">hashtag</span> that article with topics mentioned therein:<br /><br />#<span class=\"p-category\">Sevilla</span> #<span class=\"p-category\">Seville</span> #<span class=\"p-category\">Spain</span> #<span class=\"p-category\">WICG</span> #<span class=\"p-category\">SocialCG</span> #<span class=\"p-category\">SWICG</span> #<span class=\"p-category\">Fediverse</span> #<span class=\"p-category\">SocialWeb</span> #<span class=\"p-category\">sustainability</span> #<span class=\"p-category\">IndieWeb</span> #<span class=\"p-category\">ActivityPub</span><br /><br />because I forgot to put explicit categories (p-category markup) in the article post.<br /><br />Adding that markup after publishing, and then sending an ActivityPub update (via #<span class=\"p-category\">BridgyFed</span>) is apparently not enough for #<span class=\"p-category\">Mastodon</span> to notice that the Update has new tags to display and aggregate on tag pages. In my next #<span class=\"p-category\">w3cTPAC</span> article post I\u2019ll be sure to include category markup before publishing and see if that works.<br /><br />Post glossary:<br /><br />article post<br />\u00a0 <a href=\"https://indieweb.org/article\">https://indieweb.org/article</a><br />note post<br />\u00a0 <a href=\"https://indieweb.org/note\">https://indieweb.org/note</a><br />p-category<br />\u00a0 <a href=\"https://indieweb.org/p-category\">https://indieweb.org/p-category</a><br />tags<br />\u00a0 <a href=\"https://indieweb.org/tags\">https://indieweb.org/tags</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "note",
"_id": "39004255",
"_source": "1",
"_is_read": false
}
I recently wrote a high level summary blog post:
W3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023
https://tantek.com/2023/262/b1/w3c-technical-plenary-tpac
of my time at the #W3C (@W3.org, @w3c@w3c.social, @W3C) #TPAC the week before.
Posting this note to explicitly #hashtag that article with topics mentioned therein:
#Sevilla #Seville #Spain #WICG #SocialCG #SWICG #Fediverse #SocialWeb #sustainability #IndieWeb #ActivityPub
because I forgot to put explicit categories (p-category markup) in the article post.
Adding that markup after publishing, and then sending an ActivityPub update (via #BridgyFed) is apparently not enough for #Mastodon to notice that the Update has new tags to display and aggregate on tag pages. In my next #w3cTPAC article post I’ll be sure to include category markup before publishing and see if that works.
Post glossary:
article post
https://indieweb.org/article
note post
https://indieweb.org/note
p-category
https://indieweb.org/p-category
tags
https://indieweb.org/tags
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fed.brid.gy/r/https://tantek.com/2023/267/t1/summary-w3c-tpac-2023",
"content": {
"html": "I recently wrote a high level summary blog post:<br /><br />W3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023<br /><br /><a href=\"https://tantek.com/2023/262/b1/w3c-technical-plenary-tpac\">https://tantek.com/2023/262/b1/w3c-technical-plenary-tpac</a><br /><br />of my time at the <a href=\"https://indieweb.social/tags/W3C\">#<span class=\"p-category\">W3C</span></a> (<a href=\"https://W3.org\">@W3.org</a>, <a href=\"https://w3c.social/@w3c\">@w3c@w3c.social</a>, <a class=\"h-cassis-username\" href=\"https://twitter.com/W3C\">@W3C</a>) <a href=\"https://indieweb.social/tags/TPAC\">#<span class=\"p-category\">TPAC</span></a> the week before.<br /><br />Posting this note to explicitly <a href=\"https://indieweb.social/tags/hashtag\">#<span class=\"p-category\">hashtag</span></a> that article with topics mentioned therein:<br /><br /><a href=\"https://indieweb.social/tags/Sevilla\">#<span class=\"p-category\">Sevilla</span></a> <a href=\"https://indieweb.social/tags/Seville\">#<span class=\"p-category\">Seville</span></a> <a href=\"https://indieweb.social/tags/Spain\">#<span class=\"p-category\">Spain</span></a> <a href=\"https://indieweb.social/tags/WICG\">#<span class=\"p-category\">WICG</span></a> <a href=\"https://indieweb.social/tags/SocialCG\">#<span class=\"p-category\">SocialCG</span></a> <a href=\"https://indieweb.social/tags/SWICG\">#<span class=\"p-category\">SWICG</span></a> <a href=\"https://indieweb.social/tags/Fediverse\">#<span class=\"p-category\">Fediverse</span></a> <a href=\"https://indieweb.social/tags/SocialWeb\">#<span class=\"p-category\">SocialWeb</span></a> <a href=\"https://indieweb.social/tags/sustainability\">#<span class=\"p-category\">sustainability</span></a> <a href=\"https://indieweb.social/tags/IndieWeb\">#<span class=\"p-category\">IndieWeb</span></a> <a href=\"https://indieweb.social/tags/ActivityPub\">#<span class=\"p-category\">ActivityPub</span></a><br /><br />because I forgot to put explicit categories (p-category markup) in the article post.<br /><br />Adding that markup after publishing, and then sending an ActivityPub update (via <a href=\"https://indieweb.social/tags/BridgyFed\">#<span class=\"p-category\">BridgyFed</span></a>) is apparently not enough for <a href=\"https://indieweb.social/tags/Mastodon\">#<span class=\"p-category\">Mastodon</span></a> to notice that the Update has new tags to display and aggregate on tag pages. In my next <a href=\"https://indieweb.social/tags/w3cTPAC\">#<span class=\"p-category\">w3cTPAC</span></a> article post I\u2019ll be sure to include category markup before publishing and see if that works.<br /><br />Post glossary:<br /><br />article post<br />\u00a0 <a href=\"https://indieweb.org/article\">https://indieweb.org/article</a><br />note post<br />\u00a0 <a href=\"https://indieweb.org/note\">https://indieweb.org/note</a><br />p-category<br />\u00a0 <a href=\"https://indieweb.org/p-category\">https://indieweb.org/p-category</a><br />tags<br />\u00a0 <a href=\"https://indieweb.org/tags\">https://indieweb.org/tags</a>",
"text": "I recently wrote a high level summary blog post:\n\nW3C Technical Plenary and Advisory Committee (TPAC) Meetings 2023\n\nhttps://tantek.com/2023/262/b1/w3c-technical-plenary-tpac\n\nof my time at the #W3C (@W3.org, @w3c@w3c.social, @W3C) #TPAC the week before.\n\nPosting this note to explicitly #hashtag that article with topics mentioned therein:\n\n#Sevilla #Seville #Spain #WICG #SocialCG #SWICG #Fediverse #SocialWeb #sustainability #IndieWeb #ActivityPub\n\nbecause I forgot to put explicit categories (p-category markup) in the article post.\n\nAdding that markup after publishing, and then sending an ActivityPub update (via #BridgyFed) is apparently not enough for #Mastodon to notice that the Update has new tags to display and aggregate on tag pages. In my next #w3cTPAC article post I\u2019ll be sure to include category markup before publishing and see if that works.\n\nPost glossary:\n\narticle post\n\u00a0 https://indieweb.org/article\nnote post\n\u00a0 https://indieweb.org/note\np-category\n\u00a0 https://indieweb.org/p-category\ntags\n\u00a0 https://indieweb.org/tags"
},
"published": "2023-09-25T01:33:00+00:00",
"post-type": "note",
"_id": "39003933",
"_source": "7235",
"_is_read": false
}
I believe large social networks won’t go away, but usage will drop. Users will instead flock to smaller interest-based communities.
#Fediverse #IndieWeb
{
"type": "entry",
"author": {
"name": "@duy",
"url": "https://mas.to/@duy",
"photo": null
},
"url": "https://mas.to/@duy/111121059377455276",
"content": {
"html": "<p>I believe large social networks won\u2019t go away, but usage will drop. Users will instead flock to smaller interest-based communities.</p><p><a href=\"https://mas.to/tags/Fediverse\">#<span>Fediverse</span></a> <a href=\"https://mas.to/tags/IndieWeb\">#<span>IndieWeb</span></a></p>",
"text": "I believe large social networks won\u2019t go away, but usage will drop. Users will instead flock to smaller interest-based communities.#Fediverse #IndieWeb"
},
"published": "2023-09-24T16:26:45+00:00",
"post-type": "note",
"_id": "39000734",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@lqdev",
"url": "https://toot.lqdev.tech/@lqdev",
"photo": null
},
"url": "https://toot.lqdev.tech/@lqdev/111117704034876483",
"content": {
"html": "<p>Tracy Durnell 20th anniversary of blogging <a href=\"https://toot.lqdev.tech/tags/blogs\">#<span>blogs</span></a> <a href=\"https://toot.lqdev.tech/tags/blogging\">#<span>blogging</span></a> <a href=\"https://toot.lqdev.tech/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://www.luisquintanilla.me/feed/tracy-durnell-20-blogging-anniversary?utm_medium=feed\"><span>https://www.</span><span>luisquintanilla.me/feed/tracy-</span><span>durnell-20-blogging-anniversary?utm_medium=feed</span></a></p>",
"text": "Tracy Durnell 20th anniversary of blogging #blogs #blogging #indieweb https://www.luisquintanilla.me/feed/tracy-durnell-20-blogging-anniversary?utm_medium=feed"
},
"published": "2023-09-24T02:13:26+00:00",
"post-type": "note",
"_id": "38996877",
"_source": "7235",
"_is_read": false
}
I spent most of the day working on Meetable, my event listing website that powers https://events.indieweb.org and a few other sites. Some great new features and bugfixes!
• Added passkeys for admin login
• "Live Now" indicator is now aware of the actual Zoom meeting status
• Zoom meeting updates if event time changes
• Added tooltip to show local time on event pages
{
"type": "entry",
"published": "2023-09-23T19:24:00-07:00",
"url": "https://aaronparecki.com/2023/09/23/11/meetable",
"category": [
"meetable",
"events"
],
"content": {
"text": "I spent most of the day working on Meetable, my event listing website that powers https://events.indieweb.org and a few other sites. Some great new features and bugfixes! \n\n\u2022 Added passkeys for admin login \n\u2022 \"Live Now\" indicator is now aware of the actual Zoom meeting status \n\u2022 Zoom meeting updates if event time changes \n\u2022 Added tooltip to show local time on event pages",
"html": "I spent most of the day working on Meetable, my event listing website that powers <a href=\"https://events.indieweb.org\"><span>https://</span>events.indieweb.org</a> and a few other sites. Some great new features and bugfixes! <br /><br />\u2022 Added passkeys for admin login <br />\u2022 \"Live Now\" indicator is now aware of the actual Zoom meeting status <br />\u2022 Zoom meeting updates if event time changes <br />\u2022 Added tooltip to show local time on event pages"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg"
},
"post-type": "note",
"_id": "38996667",
"_source": "16",
"_is_read": false
}
"Unlike its streamlined, efficient former self, #GoogleSearch is now bloated and overmonetized."
- The Tragedy of #Google Search
We can't depend on Google Search or #SocialMedia. Users nay have to depend of email newsletters, and yes, #Reddit, to find useful content.
Can we bring back webrings already?
#Indieweb #Tech
https://www.theatlantic.com/technology/archive/2023/09/google-search-size-usefulness-decline/675409/
{
"type": "entry",
"author": {
"name": "@liztai",
"url": "https://hachyderm.io/@liztai",
"photo": null
},
"url": "https://hachyderm.io/@liztai/111117219530766291",
"content": {
"html": "<p>\"Unlike its streamlined, efficient former self, <a href=\"https://hachyderm.io/tags/GoogleSearch\">#<span>GoogleSearch</span></a> is now bloated and overmonetized.\" <br />- The Tragedy of <a href=\"https://hachyderm.io/tags/Google\">#<span>Google</span></a> Search </p><p>We can't depend on Google Search or <a href=\"https://hachyderm.io/tags/SocialMedia\">#<span>SocialMedia</span></a>. Users nay have to depend of email newsletters, and yes, <a href=\"https://hachyderm.io/tags/Reddit\">#<span>Reddit</span></a>, to find useful content. <br />Can we bring back webrings already? </p><p><a href=\"https://hachyderm.io/tags/Indieweb\">#<span>Indieweb</span></a> <a href=\"https://hachyderm.io/tags/Tech\">#<span>Tech</span></a> </p><p><a href=\"https://www.theatlantic.com/technology/archive/2023/09/google-search-size-usefulness-decline/675409/\"><span>https://www.</span><span>theatlantic.com/technology/arc</span><span>hive/2023/09/google-search-size-usefulness-decline/675409/</span></a></p>",
"text": "\"Unlike its streamlined, efficient former self, #GoogleSearch is now bloated and overmonetized.\" \n- The Tragedy of #Google Search We can't depend on Google Search or #SocialMedia. Users nay have to depend of email newsletters, and yes, #Reddit, to find useful content. \nCan we bring back webrings already? #Indieweb #Tech https://www.theatlantic.com/technology/archive/2023/09/google-search-size-usefulness-decline/675409/"
},
"published": "2023-09-24T00:10:14+00:00",
"post-type": "note",
"_id": "38996318",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"published": "2023-09-23T13:18:53-0400",
"url": "https://martymcgui.re/2023/09/23/this-map-is-made-for-you-and-me/",
"category": [
"site-update",
"maps",
"stadia",
"stamen",
"toner",
"check",
"checkins",
"swarm",
"foursquare",
"IndieWeb"
],
"name": "This map is made for you and me",
"content": {
"text": "Well, it's a rainy day and a good day for someday projects. Also, oops, here's a post about a tiny site update that accidentally sprawled into a post about 6 (or 14) years of my relationships with Foursquare and the whole idea of sharing \"check in\"s (not \ud83d\udc14s).\nOh no it's backstory time\nIn 2009 I was living in Pittsburgh, working as a research programmer at Carnegie Mellon, a proud member of the newly formed HackPGH hacker space, starting down the slippery slope of joining the 3D printing industry, and basically excited about technology and the future. It was in this context that I vaguely remember being talked into joining Foursquare, so friends and I could keep up with one another at our usual haunts around town.\nI'm not sure how much serendipity it really enabled, but checkins did lead to conversations and a nice general awareness of what folks in my social network were up to. Oh, and some competition for points and mayorships, of course, thanks to gamification.\nI made use of checkins pretty regularly, in town and on trips, across a move to Baltimore and starting a new job in the aforementioned 3D printing industry. And then in 2012 I stopped. I don't 100% remember making this a conscious choice, but I do recall that most of my friends who used the app regularly were far away in Pittsburgh, privacy and surveillance capital concerns were on the rise, and \u2014 heck \u2014 I probably changed phones or something and just plain didn't install it.\nFast-forward about 5 years to 2017 and I'm all-in on the IndieWeb community. After learning about it in ~2015, putting together my first blog since ~2003, and attending my first IndieWebCamp in NYC in 2016, I found myself in Portland, OR for the IndieWeb Summit.\nAnd goodness these folks liked checking in with Foursquare (now Swarm)! They were tagging one another in the app, maximizing points with photos, just documenting the heck out of where we were going and what we were doing.\nAaron Parecki, one of the co-founders of IndieWeb, had set up a service called OwnYourSwarm which you could set up to watch your Swarm account for new checkins, at which point it would send 'em off your your website. While I probably should have been paying more attention to the excellent IndieWeb Summit discussions, I hacked up some bits of my site to understand posts from OwnYourSwarm and posted my first checkin to my own site.\nOwnYourSwarm is still around and working well, despite some speedbumps over the years from Swarm API changes. Thanks, Aaron!\nOkay, but something about maps?\nSpeaking of Aaron, I was jealous of how good his checkin posts looked. Like this example checking in for IndieWeb Summit day 1. I specifically liked the little map at the top and wanted one for myself.\nScreenshot of the top of Aaron's post checking in at Mozilla Portland. A small map in wide aspect ratio has a blue pin indicating the location among the streets in downtown Portland.So, uh, almost a year later, I was inspired by this really great post on privacy-preserving, self-hosted maps by Sebastian Greger, to finally put together my own setup and promptly never blogged about it. I know this because I bookmarked his post and found the Git commit from June 25th, 2018 where I switch from Javascript-powered Mapbox (which I don't really recall setting up) to my own static map setup.\n(Would we be shocked to discover that, on June 25th, 2018, I was checking in for that year's IndieWeb Summit? We should not be.)\nBlack and white map image with a purple push pin at the corner of SW 2nd Ave and SW Pine St in downtown Portland, OR. Map tiles provided by Stamen, contributions by OpenStreetMap contributors, etc.The closest thing to a write-up on my own site I was able to find was this comment I had made on a great post by Jeremy Keith about a map project of his own:\n\n I use https://github.com/dfacts/staticmaplite on my site. It\u2019s no longer under development but, as long as you point it at a working tilemap server, it works fine! I switched out the URLs hardcoded in the PHP file for the Stamen \u201cToner\u201d tiles, using the tile server URL pattern on the Open Street Map wiki.\n\nstaticMapLite is a little PHP service you can self-host that creates plain old map images, of the locations you want at the sizes you want with overlays and pins if you want them, and caches them forever. It does so the same way as pretty much all map tools on the web: by asking bigger servers (called \"tile servers\", or \"raster tile servers\") for larger sets of \"tile\" images, then slicing up those tiles to make the image you want. The project is archived and hasn't seen updates since 2018, but it works fine! Raster tile server technology hasn't changed much since then.\n\n Assuming, that is, that you have a raster tile server! You can run your own, but they require a ton of storage for all the map data, need regular updates, and generally are considered a pain to maintain.\n \n\nWhen I set this up I remember looking over the list of raster tile servers on the Open Street Map wiki to find one that was free, didn't require signup, and produced map images that were aesthetic and minimal. With its dithered black and white look, Stamen's Toner definitely fit the bill. Stamen, those data visualization folks, right? I don't really remember thinking too hard about it!\nWe were promised a site update\nOkay, okay! As it turns out Stamen also didn't like being maintainers of map tile servers. Especially when so many folks were freeloading on them!\n\n To that end, this year Stamen announced a partnership with Stadia to begin hosting Stamen's many tile designs with Stadia, a map service with a business model, instead. The tile images remain shareable under their Creative Commons attribution license, I can keep all my existing cached images, and so on. They're offering a free tier of up to 200,000 tile images a month which is welllll below what I'll need for my few static images on rare times that I make checkin posts.\n \n\nStadia has their own page about the Stamen maps project, and a fairly straightforward migration guide to using Stamen map tiles served by Stadia tile servers.\nSo, I've updated my deployment of staticmaplite to pull tiles from Stadia. Steps largely followed their migration guide:\nMake a (free) Stadia account.\n Generate an API key.\n Update staticmap.php to replace the \"a.tile.stamen.com\" map URL with \"https://tiles.stadiamaps.com/tiles/stamen_toner/{Z}/{X}/{Y}.png?api_key=MY_API_KEY_HERE\".\n \n Update my post template with the new attribution requirements.\n \n\nI went hunting around the map cache on my server to find the most recent map image and delete the cached image so it would re-generate. It took me a couple of tries to get my tiles.stadiamaps.com URL correct, as Stadia's example used lowercase placeholders like \"{x}\" while staticmapslite requires uppercase like \"{X}\". Also, Stadia supports an optional \"{r}\" value \u2014 either an empty string \"\" or \"@2x\" if you want double-resolution images for Retina displays \u2014 that staticmaplite doesn't understand (and that I opted not to use).\nAnyway, here's that most recent checkin, using the new map image.\nMap image of Brooklyn, NY with a purple pin near the southeast corner of 5th Ave and 3rd St. Map tile courtesy Stadia and Stamen and OpenStreetMap contributors.Looks pretty much the same, which is the point!\nSo.\n\n Was this a site update? Perhaps one long overdue from 2017 or 2018? Or is this a post about a very specific kind of admin tax? Or something else? I'm interested in your thoughts!",
"html": "<p>Well, it's a rainy day and a good day for <a href=\"https://sebastiangreger.net/2018/05/self-hosting-maps-control-privacy-ux/\">someday projects</a>. Also, oops, here's a post about a tiny site update that accidentally sprawled into a post about 6 (or 14) years of my relationships with Foursquare and the whole idea of sharing \"<a href=\"https://indieweb.org/checkin\">check in</a>\"s (not <a href=\"https://indieweb.org/chicken\">\ud83d\udc14</a>s).</p>\n<h2>Oh no it's backstory time</h2>\n<p>In 2009 I was living in Pittsburgh, working as a research programmer at Carnegie Mellon, a proud member of the newly formed <a href=\"https://hackpgh.org/\">HackPGH</a> hacker space, <a href=\"https://www.flickr.com/photos/schmarty/albums/72157622010516117\">starting down the slippery slope of joining the 3D printing industry</a>, and basically excited about technology and the future. It was in this context that I<i> vaguely</i> remember being talked into joining Foursquare, so friends and I could keep up with one another at our usual haunts around town.</p>\n<p>I'm not sure how much serendipity it really enabled, but checkins did lead to conversations and a nice general awareness of what folks in my social network were up to. Oh, and some competition for points and mayorships, of course, thanks to gamification.</p>\n<p>I made use of checkins pretty regularly, in town and on trips, across a move to Baltimore and starting a new job in the aforementioned 3D printing industry. And then in 2012 I stopped. I don't 100% remember making this a conscious choice, but I do recall that most of my friends who used the app regularly were far away in Pittsburgh, privacy and surveillance capital concerns were on the rise, and \u2014 heck \u2014 I probably changed phones or something and just plain didn't install it.</p>\n<p>Fast-forward about 5 years to 2017 and I'm all-in on the <a href=\"https://indieweb.org/\">IndieWeb</a> community. After learning about it in ~2015, putting together my first blog since ~2003, and attending my first <a href=\"https://martymcgui.re/2016/08/31/indiewebcamp-nyc2-wrap-up/\">IndieWebCamp in NYC in 2016</a>, I found myself in Portland, OR for the IndieWeb Summit.</p>\n<p>And goodness these folks liked checking in with Foursquare (now Swarm)! They were tagging one another in the app, maximizing points with photos, just documenting the heck out of where we were going and what we were doing.</p>\n<p><a href=\"https://aaronparecki.com/\">Aaron Parecki</a>, one of the co-founders of IndieWeb, had set up a service called <a href=\"https://ownyourswarm.p3k.io/\">OwnYourSwarm</a> which you could set up to watch your Swarm account for new checkins, at which point it would send 'em off your your website. While I probably should have been paying more attention to the excellent IndieWeb Summit discussions, I hacked up some bits of my site to understand posts from OwnYourSwarm and posted <a href=\"https://martymcgui.re/2017/06/23/132159/\">my first checkin to my own site</a>.</p>\n<p>OwnYourSwarm is still around and working well, despite some speedbumps over the years from Swarm API changes. Thanks, Aaron!</p>\n<h2>Okay, but something about maps?</h2>\n<p>Speaking of Aaron, I was jealous of how good his checkin posts looked. Like <a href=\"https://aaronparecki.com/2017/06/24/10/\">this example checking in for IndieWeb Summit day 1</a>. I specifically liked the little map at the top and wanted one for myself.</p>\n<img src=\"https://media.martymcgui.re/c5/55/7c/f2/f44baa763afe90113429def0a443796eaed9b0e712f609985a0cfcaf.png\" alt=\"\" />Screenshot of the top of Aaron's post checking in at Mozilla Portland. A small map in wide aspect ratio has a blue pin indicating the location among the streets in downtown Portland.<p>So, uh, almost a year later, I was inspired by this <a href=\"https://sebastiangreger.net/2018/05/self-hosting-maps-control-privacy-ux/\">really great post on privacy-preserving, self-hosted maps by Sebastian Greger</a>, to finally put together my own setup and promptly <i>never blogged about it</i>. I know this because I <a href=\"https://martymcgui.re/2018/05/30/self-hosting-maps-taking-control-over-ux-and-users-privacy-/-sebastian-greger/\">bookmarked his post</a> and found the Git commit from June 25th, 2018 where I switch from Javascript-powered Mapbox (which I don't really recall setting up) to my own static map setup.</p>\n<p>(Would we be shocked to discover that, <a href=\"https://martymcgui.re/2018/06/25/201057/\">on June 25th, 2018, I was checking in for that year's IndieWeb Summit</a>? We should not be.)</p>\n<img src=\"https://media.martymcgui.re/19/f6/9e/ad/2fe6ae7a6b08b85f8837b2620448d0a6b3cbd2d3071842705dff803b.png\" alt=\"\" />Black and white map image with a purple push pin at the corner of SW 2nd Ave and SW Pine St in downtown Portland, OR. Map tiles provided by Stamen, contributions by OpenStreetMap contributors, etc.<p>The closest thing to a write-up on my own site I was able to find was <a href=\"https://martymcgui.re/2019/10/31/164228/\">this comment I had made</a> on a <a href=\"https://adactio.com/journal/16058\">great post by Jeremy Keith about a map project of his own</a>:</p>\n<blockquote>\n <p>I use <a href=\"https://github.com/dfacts/staticmaplite\">https://github.com/dfacts/staticmaplite</a> on my site. It\u2019s no longer under development but, as long as you point it at a working tilemap server, it works fine! I switched out the URLs hardcoded in the PHP file for the Stamen \u201cToner\u201d tiles, using the tile server URL pattern on the <a href=\"https://wiki.openstreetmap.org/wiki/Tile_servers\">Open Street Map wiki</a>.</p>\n</blockquote>\n<p><a href=\"https://github.com/dfacts/staticmaplite\">staticMapLite</a> is a little PHP service you can self-host that creates plain old map images, of the locations you want at the sizes you want with overlays and pins if you want them, and caches them forever. It does so the same way as pretty much all map tools on the web: by asking bigger servers (called \"tile servers\", or \"raster tile servers\") for larger sets of \"tile\" images, then slicing up those tiles to make the image you want. The project is archived and hasn't seen updates since 2018, but it works fine! Raster tile server technology hasn't changed much since then.</p>\n<p>\n Assuming, that is, that you have a raster tile server! You <i>can</i> run your own, but they require a ton of storage for all the map data, need regular updates, and generally are considered a pain to maintain.\n <br /></p>\n<p>When I set this up I remember looking over the list of <a href=\"https://wiki.openstreetmap.org/wiki/Raster_tile_providers\">raster tile servers on the Open Street Map wiki</a> to find one that was free, didn't require signup, and produced map images that were aesthetic and minimal. With its dithered black and white look, Stamen's Toner definitely fit the bill. <a href=\"https://stamen.com/\">Stamen</a>, those data visualization folks, right? I don't really remember thinking too hard about it!</p>\n<h2>We were promised a site update</h2>\n<p>Okay, okay! As it turns out Stamen also didn't like being maintainers of map tile servers. Especially when so many folks were freeloading on them!</p>\n<p>\n To that end, this year <a href=\"https://maps.stamen.com/stadia-partnership/\">Stamen announced a partnership with Stadia</a> to begin hosting Stamen's many tile designs with Stadia, a map service with a business model, instead. The tile images remain shareable under their Creative Commons attribution license, I can keep all my existing cached images, and so on. They're offering a free tier of up to 200,000 tile images a month which is <i>welllll</i> below what I'll need for my few static images on rare times that I make checkin posts.\n <br /></p>\n<p><a href=\"https://stadiamaps.com/stamen/\">Stadia has their own page about the Stamen maps project</a>, and a fairly straightforward migration guide to using <a href=\"https://docs.stadiamaps.com/guides/migrating-from-stamen-map-tiles/#url-based-migration-steps\">Stamen map tiles served by Stadia tile servers</a>.</p>\n<p>So, I've updated my deployment of staticmaplite to pull tiles from Stadia. Steps largely followed their migration guide:</p>\n<ul><li>Make a (free) Stadia account.</li>\n <li>Generate an API key.</li>\n <li>Update staticmap.php to replace the \"a.tile.stamen.com\" map URL with \"https://tiles.stadiamaps.com/tiles/stamen_toner/{Z}/{X}/{Y}.png?api_key=MY_API_KEY_HERE\".</li>\n <li>\n Update my post template with the new attribution requirements.\n <br /></li>\n</ul><p>I went hunting around the map cache on my server to find the most recent map image and delete the cached image so it would re-generate. It took me a couple of tries to get my tiles.stadiamaps.com URL correct, as Stadia's example used lowercase placeholders like \"{x}\" while staticmapslite requires uppercase like \"{X}\". Also, Stadia supports an optional \"{r}\" value \u2014 either an empty string \"\" or \"@2x\" if you want double-resolution images for Retina displays \u2014 that staticmaplite doesn't understand (and that I opted not to use).</p>\n<p>Anyway, here's <a href=\"https://martymcgui.re/2023/08/25/213212/\">that most recent checkin, using the new map image</a>.</p>\n<img src=\"https://media.martymcgui.re/46/36/d6/8e/0f040fd8e3220600c696c13d65ef7b67829dc1754a1e6f6c732e3fc0.png\" alt=\"\" />Map image of Brooklyn, NY with a purple pin near the southeast corner of 5th Ave and 3rd St. Map tile courtesy Stadia and Stamen and OpenStreetMap contributors.<p>Looks pretty much the same, which is the point!</p>\n<p>So.</p>\n<p>\n <i>Was</i> this a site update? Perhaps one long overdue from 2017 or 2018? Or is this a post about a very specific kind of <a href=\"https://indieweb.org/admintax\">admin tax</a>? Or something else? I'm interested in your thoughts!\n <br /></p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "article",
"_id": "38993697",
"_source": "175",
"_is_read": false
}
This morning I started working on some updates to AmigaSource, a web directory for Amiga resources. The site maintainer reached out to me last week about helping to improve it and I agreed.
It's been a long time since I had to make a site that renders nicely in Mosaic...
#Amiga #IndieWeb
{
"type": "entry",
"author": {
"name": "@dungeonHack",
"url": "https://fosstodon.org/@dungeonHack",
"photo": null
},
"url": "https://fosstodon.org/@dungeonHack/111114950360521573",
"content": {
"html": "<p>This morning I started working on some updates to AmigaSource, a web directory for Amiga resources. The site maintainer reached out to me last week about helping to improve it and I agreed.</p><p>It's been a long time since I had to make a site that renders nicely in Mosaic...</p><p><a href=\"https://fosstodon.org/tags/Amiga\">#<span>Amiga</span></a> <a href=\"https://fosstodon.org/tags/IndieWeb\">#<span>IndieWeb</span></a></p>",
"text": "This morning I started working on some updates to AmigaSource, a web directory for Amiga resources. The site maintainer reached out to me last week about helping to improve it and I agreed.It's been a long time since I had to make a site that renders nicely in Mosaic...#Amiga #IndieWeb"
},
"published": "2023-09-23T14:33:09+00:00",
"post-type": "note",
"_id": "38992660",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://herestomwiththeweather.com/",
"photo": null
},
"url": "https://herestomwiththeweather.com/2023/09/22/webfinger-expectations/",
"published": "2023-09-22T14:34:49+00:00",
"content": {
"html": "<p>In an <a href=\"https://herestomwiththeweather.com/2023/01/08/correction-check_webfinger/\">earlier post</a> this year, I documented a problem I found and this post attempts to describe the issue a little more clearly and a plan to work around it.</p>\n\n<p>I have chosen <a href=\"https://herestomwiththeweather.com/.well-known/webfinger/?acct=tom@herestomwiththeweather.com\">@tom@herestomwiththeweather.com</a> as my personal identifier on the fediverse. If I decide I want to move from one activitypub server (e.g. Mastodon) to another, I would like to keep my same personal identifier. It follows that my activitypub server should not have to reside at the same domain as my personal identifier. I should be able to swap one activitypub server for another at any time. Certainly, I don\u2019t expect every activitypub server to support this but I\u2019m not obligated to use one that does not.</p>\n\n<p>Unfortunately, although my domain returns the chosen personal identifier in the subject field, because the JRD document returns a rel=self link to <a href=\"https://mastodon.social/users/herestomwiththeweather\">a Mastodon server</a> to provide my <a href=\"https://www.w3.org/TR/activitypub/#actor-objects\">actor document</a>, the mastodon servers do not seem to use my chosen personal identifier for anything other than resolving a search for my personal identifier to the mastodon profile to which it is currently associated. From that point forward, a completely new personal identifier with the domain component set to the domain of the mastodon server is used. In other words, a personal identifier that has been chosen for me by someone else is kept in a particular server\u2019s database table. I can later choose a different activitypub server but I may not be able to keep my preferred username because it may already be taken on the new server. In any case, choosing a new server means my personal identifier within the mastodon network also changes. Unless\u2026I don\u2019t use a mastodon server in the first place. Then, my personal identifier will be used as I would like by the mastodon network and I can potentially swap activitypub servers without ever having to change my personal identifier with my own domain.</p>\n\n<p>The two most relevant documents for understanding webfinger as it is currently used seem to be <a href=\"https://datatracker.ietf.org/doc/html/rfc7033\">RFC 7033: WebFinger</a> and <a href=\"https://docs.joinmastodon.org/spec/webfinger/\">Mastodon\u2019s documentation</a> and it is this mastodon documentation (in the section <a href=\"https://docs.joinmastodon.org/spec/webfinger/#mastodons-requirements-for-webfinger\">Mastodon\u2019s requirements for WebFinger</a>) that now describes the behavior (a problem for me) that I documented earlier. The new section explains</p>\n\n<pre><code>if the subject contains a different canonical account URI, then Mastodon will perform an additional Webfinger request for that canonical account URI in order to ensure that this new resource links to the same ActivityPub actor with the same criteria being checked.\n</code></pre>\n\n\n<p>This behavior makes sense if you assume that if you are using a mastodon server, then you inherit a personal identifier tied to that server. This makes validating a webfinger address simple for mastodon so advocating a change in this behavior in mastodon seems like it would be challenging. However, as I mentioned in the earlier post, instead of choosing mastodon as your activitypub server, your personal identifier with your own domain can be accepted by mastodon servers in a desirable way</p>\n\n<pre><code>as long as the fediverse node providing the actor document is smart enough to provide your personal domain in the subject when mastodon makes a webfinger call to it.\n</code></pre>\n\n\n<p>The problem here is that it seems that I would not be able to be \u201ctom\u201d on such an activitypub server if, for instance, tom@example.com was already pointing to that server unless the server could assign me a subdomain, for example.</p>",
"text": "In an earlier post this year, I documented a problem I found and this post attempts to describe the issue a little more clearly and a plan to work around it.\n\nI have chosen @tom@herestomwiththeweather.com as my personal identifier on the fediverse. If I decide I want to move from one activitypub server (e.g. Mastodon) to another, I would like to keep my same personal identifier. It follows that my activitypub server should not have to reside at the same domain as my personal identifier. I should be able to swap one activitypub server for another at any time. Certainly, I don\u2019t expect every activitypub server to support this but I\u2019m not obligated to use one that does not.\n\nUnfortunately, although my domain returns the chosen personal identifier in the subject field, because the JRD document returns a rel=self link to a Mastodon server to provide my actor document, the mastodon servers do not seem to use my chosen personal identifier for anything other than resolving a search for my personal identifier to the mastodon profile to which it is currently associated. From that point forward, a completely new personal identifier with the domain component set to the domain of the mastodon server is used. In other words, a personal identifier that has been chosen for me by someone else is kept in a particular server\u2019s database table. I can later choose a different activitypub server but I may not be able to keep my preferred username because it may already be taken on the new server. In any case, choosing a new server means my personal identifier within the mastodon network also changes. Unless\u2026I don\u2019t use a mastodon server in the first place. Then, my personal identifier will be used as I would like by the mastodon network and I can potentially swap activitypub servers without ever having to change my personal identifier with my own domain.\n\nThe two most relevant documents for understanding webfinger as it is currently used seem to be RFC 7033: WebFinger and Mastodon\u2019s documentation and it is this mastodon documentation (in the section Mastodon\u2019s requirements for WebFinger) that now describes the behavior (a problem for me) that I documented earlier. The new section explains\n\nif the subject contains a different canonical account URI, then Mastodon will perform an additional Webfinger request for that canonical account URI in order to ensure that this new resource links to the same ActivityPub actor with the same criteria being checked.\n\n\n\nThis behavior makes sense if you assume that if you are using a mastodon server, then you inherit a personal identifier tied to that server. This makes validating a webfinger address simple for mastodon so advocating a change in this behavior in mastodon seems like it would be challenging. However, as I mentioned in the earlier post, instead of choosing mastodon as your activitypub server, your personal identifier with your own domain can be accepted by mastodon servers in a desirable way\n\nas long as the fediverse node providing the actor document is smart enough to provide your personal domain in the subject when mastodon makes a webfinger call to it.\n\n\n\nThe problem here is that it seems that I would not be able to be \u201ctom\u201d on such an activitypub server if, for instance, tom@example.com was already pointing to that server unless the server could assign me a subdomain, for example."
},
"name": "Webfinger Expectations",
"post-type": "article",
"_id": "38990681",
"_source": "246",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://bookmarks.box464.com/m/312e3c23f7aa211749a8be81f31da893",
"content": {
"html": "<strong><a href=\"https://indiewebify.me/\">IndieWebify.Me - a guide to getting you on the IndieWeb</a></strong><br />",
"text": "IndieWebify.Me - a guide to getting you on the IndieWeb"
},
"published": "2023-09-23T03:28:46+00:00",
"post-type": "note",
"_id": "38989661",
"_source": "7235",
"_is_read": false
}
The best thing about being CEO of a successful social media platform is not needing to concern myself with larger Fediverse issues.
I'm the only user of this instance and my server farm bangs hard! (whilst having way less environmental impact than Meta's bullshit).
Whether or not folks from X come here does not affect company policy. If you're cool, we're cool. I'm up for chatting shit as much as the next person.
Long live mxtthxw.art
#CEO #SocialMedia #X #IndieWeb #Meta
{
"type": "entry",
"author": {
"name": "@mxtthxw",
"url": "https://mxtthxw.art/@mxtthxw",
"photo": null
},
"url": "https://mxtthxw.art/@mxtthxw/111108257249238465",
"content": {
"html": "<p>The best thing about being CEO of a successful social media platform is not needing to concern myself with larger Fediverse issues. </p><p>I'm the only user of this instance and my server farm bangs hard! (whilst having way less environmental impact than Meta's bullshit).</p><p>Whether or not folks from X come here does not affect company policy. If you're cool, we're cool. I'm up for chatting shit as much as the next person. </p><p>Long live mxtthxw.art <img alt=\":80spc:\" height=\"16\" src=\"https://files.mastodon.social/cache/custom_emojis/images/000/548/958/original/8bf31cd9b9af3ad0.png\" title=\":80spc:\" width=\"16\" /></p><p><a href=\"https://mxtthxw.art/tags/CEO\">#<span>CEO</span></a> <a href=\"https://mxtthxw.art/tags/SocialMedia\">#<span>SocialMedia</span></a> <a href=\"https://mxtthxw.art/tags/X\">#<span>X</span></a> <a href=\"https://mxtthxw.art/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://mxtthxw.art/tags/Meta\">#<span>Meta</span></a></p>",
"text": "The best thing about being CEO of a successful social media platform is not needing to concern myself with larger Fediverse issues. I'm the only user of this instance and my server farm bangs hard! (whilst having way less environmental impact than Meta's bullshit).Whether or not folks from X come here does not affect company policy. If you're cool, we're cool. I'm up for chatting shit as much as the next person. Long live mxtthxw.art #CEO #SocialMedia #X #IndieWeb #Meta"
},
"published": "2023-09-22T10:11:00+00:00",
"post-type": "note",
"_id": "38981664",
"_source": "7235",
"_is_read": false
}
As always, you can find a less substack-y version of this post on my website: https://dreamindani.com/posts/bookmark-beat-ep17/ #IndieWeb
{
"type": "entry",
"author": {
"name": "@dreamindani",
"url": "https://mastodon.design/@dreamindani",
"photo": null
},
"url": "https://mastodon.design/@dreamindani/111105732936516085",
"content": {
"html": "<p>As always, you can find a less substack-y version of this post on my website: <a href=\"https://dreamindani.com/posts/bookmark-beat-ep17/\"><span>https://</span><span>dreamindani.com/posts/bookmark</span><span>-beat-ep17/</span></a> <a href=\"https://mastodon.design/tags/IndieWeb\">#<span>IndieWeb</span></a></p>",
"text": "As always, you can find a less substack-y version of this post on my website: https://dreamindani.com/posts/bookmark-beat-ep17/ #IndieWeb"
},
"published": "2023-09-21T23:29:02+00:00",
"post-type": "note",
"_id": "38978276",
"_source": "7235",
"_is_read": false
}
In this #BookmarkBeat 🥁, I talk about choosing to make space for yourself - including picking up new hobbies (like film photography 📸)
https://open.substack.com/pub/bookmarkbeat/p/bookmark-beat-ep-17?r=1yus&utm_campaign=post&utm_medium=web
Plus, a reflection on how (and why) we connect with other people… with plenty of bookmarks along the way!
#Newsletter #IndieWeb #SelfCare
{
"type": "entry",
"author": {
"name": "@dreamindani",
"url": "https://mastodon.design/@dreamindani",
"photo": null
},
"url": "https://mastodon.design/@dreamindani/111105728415867406",
"content": {
"html": "<p>In this <a href=\"https://mastodon.design/tags/BookmarkBeat\">#<span>BookmarkBeat</span></a> \ud83e\udd41, I talk about choosing to make space for yourself - including picking up new hobbies (like film photography \ud83d\udcf8)<br /><a href=\"https://open.substack.com/pub/bookmarkbeat/p/bookmark-beat-ep-17?r=1yus&utm_campaign=post&utm_medium=web\"><span>https://</span><span>open.substack.com/pub/bookmark</span><span>beat/p/bookmark-beat-ep-17?r=1yus&utm_campaign=post&utm_medium=web</span></a> <br />Plus, a reflection on how (and why) we connect with other people\u2026 with plenty of bookmarks along the way!</p><p><a href=\"https://mastodon.design/tags/Newsletter\">#<span>Newsletter</span></a> <a href=\"https://mastodon.design/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://mastodon.design/tags/SelfCare\">#<span>SelfCare</span></a></p>",
"text": "In this #BookmarkBeat \ud83e\udd41, I talk about choosing to make space for yourself - including picking up new hobbies (like film photography \ud83d\udcf8)\nhttps://open.substack.com/pub/bookmarkbeat/p/bookmark-beat-ep-17?r=1yus&utm_campaign=post&utm_medium=web \nPlus, a reflection on how (and why) we connect with other people\u2026 with plenty of bookmarks along the way!#Newsletter #IndieWeb #SelfCare"
},
"published": "2023-09-21T23:27:53+00:00",
"post-type": "note",
"_id": "38978277",
"_source": "7235",
"_is_read": false
}
The moment I get _any_ kind of consistent income I am buying a domain name and making my own #website
#indieweb #webdev #foss
{
"type": "entry",
"author": {
"name": "@Tertle950",
"url": "https://mastodon.social/@Tertle950",
"photo": null
},
"url": "https://mastodon.social/@Tertle950/111103862579450242",
"content": {
"html": "<p>The moment I get _any_ kind of consistent income I am buying a domain name and making my own <a href=\"https://mastodon.social/tags/website\">#<span>website</span></a></p><p><a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://mastodon.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://mastodon.social/tags/foss\">#<span>foss</span></a></p>",
"text": "The moment I get _any_ kind of consistent income I am buying a domain name and making my own #website#indieweb #webdev #foss"
},
"published": "2023-09-21T15:33:23+00:00",
"post-type": "note",
"_id": "38974440",
"_source": "7235",
"_is_read": false
}
📝 New post! "Build a Blogroll with Eleventy"
This one's for the #IndieWeb folks. Here's a step-by-step walkthrough of how I set up my new blogroll on my @eleventy site, featuring links to those blogs' latest posts, updated daily. Check it out and let me know what you think!
https://benmyers.dev/blog/eleventy-blogroll/
{
"type": "entry",
"author": {
"name": "@ben",
"url": "https://a11y.info/@ben",
"photo": null
},
"url": "https://a11y.info/@ben/111103277023168351",
"content": {
"html": "<p>\ud83d\udcdd New post! \"Build a Blogroll with Eleventy\"</p><p>This one's for the <a href=\"https://a11y.info/tags/IndieWeb\">#<span>IndieWeb</span></a> folks. Here's a step-by-step walkthrough of how I set up my new blogroll on my <span class=\"h-card\"><a class=\"u-url\" href=\"https://fosstodon.org/@eleventy\">@<span>eleventy</span></a></span> site, featuring links to those blogs' latest posts, updated daily. Check it out and let me know what you think!<br /><a href=\"https://benmyers.dev/blog/eleventy-blogroll/\"><span>https://</span><span>benmyers.dev/blog/eleventy-blo</span><span>groll/</span></a></p>",
"text": "\ud83d\udcdd New post! \"Build a Blogroll with Eleventy\"This one's for the #IndieWeb folks. Here's a step-by-step walkthrough of how I set up my new blogroll on my @eleventy site, featuring links to those blogs' latest posts, updated daily. Check it out and let me know what you think!\nhttps://benmyers.dev/blog/eleventy-blogroll/"
},
"published": "2023-09-21T13:04:28+00:00",
"post-type": "note",
"_id": "38972866",
"_source": "7235",
"_is_read": false
}
@stshank @TechDesk Somewhat problematic to track usage like this as eg “Massive surge in blog posting” wouldn’t be possible to say due to the distributed nature of the #blogosphere and Mastodon / #Fediverse / #IndieWeb is similarly distributed and as such hard to make such claims for
Not saying it’s wrong, but it’s a way of using the silo numbers and the silo narrative to discuss the success of alternative platforms that in themselves are not aiming to be silos
{
"type": "entry",
"author": {
"name": "@voxpelli",
"url": "https://mastodon.social/@voxpelli",
"photo": null
},
"url": "https://mastodon.social/@voxpelli/111102653971028180",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://mstdn.social/@stshank\">@<span>stshank</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://flipboard.social/@TechDesk\">@<span>TechDesk</span></a></span> Somewhat problematic to track usage like this as eg \u201cMassive surge in blog posting\u201d wouldn\u2019t be possible to say due to the distributed nature of the <a href=\"https://mastodon.social/tags/blogosphere\">#<span>blogosphere</span></a> and Mastodon / <a href=\"https://mastodon.social/tags/Fediverse\">#<span>Fediverse</span></a> / <a href=\"https://mastodon.social/tags/IndieWeb\">#<span>IndieWeb</span></a> is similarly distributed and as such hard to make such claims for</p><p>Not saying it\u2019s wrong, but it\u2019s a way of using the silo numbers and the silo narrative to discuss the success of alternative platforms that in themselves are not aiming to be silos</p>",
"text": "@stshank @TechDesk Somewhat problematic to track usage like this as eg \u201cMassive surge in blog posting\u201d wouldn\u2019t be possible to say due to the distributed nature of the #blogosphere and Mastodon / #Fediverse / #IndieWeb is similarly distributed and as such hard to make such claims forNot saying it\u2019s wrong, but it\u2019s a way of using the silo numbers and the silo narrative to discuss the success of alternative platforms that in themselves are not aiming to be silos"
},
"published": "2023-09-21T10:26:01+00:00",
"post-type": "note",
"_id": "38971917",
"_source": "7235",
"_is_read": false
}
I might have to end up learning how to write #Wordpress plugins a lot sooner than initially anticipated. As a follower of the Norse Deities and beings, one of the little extra pages I want on my site is a sort of a rune of the day thing, where for each day,the page will shuffle the deck at random. #indieweb #personalsite #innovation #WP #stupidplugins
{
"type": "entry",
"author": {
"name": "@cambridgeport90",
"url": "https://social.platypush.tech/@cambridgeport90",
"photo": null
},
"url": "https://social.platypush.tech/@cambridgeport90/111099484032763443",
"content": {
"html": "<p>I might have to end up learning how to write <a href=\"https://social.platypush.tech/tags/Wordpress\">#<span>Wordpress</span></a> plugins a lot sooner than initially anticipated. As a follower of the Norse Deities and beings, one of the little extra pages I want on my site is a sort of a rune of the day thing, where for each day,the page will shuffle the deck at random. <a href=\"https://social.platypush.tech/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://social.platypush.tech/tags/personalsite\">#<span>personalsite</span></a> <a href=\"https://social.platypush.tech/tags/innovation\">#<span>innovation</span></a> <a href=\"https://social.platypush.tech/tags/WP\">#<span>WP</span></a> <a href=\"https://social.platypush.tech/tags/stupidplugins\">#<span>stupidplugins</span></a></p>",
"text": "I might have to end up learning how to write #Wordpress plugins a lot sooner than initially anticipated. As a follower of the Norse Deities and beings, one of the little extra pages I want on my site is a sort of a rune of the day thing, where for each day,the page will shuffle the deck at random. #indieweb #personalsite #innovation #WP #stupidplugins"
},
"published": "2023-09-20T20:59:51+00:00",
"post-type": "note",
"_id": "38967504",
"_source": "7235",
"_is_read": false
}