To keep the database size down on my personal Mastodon instance I routinely delete everything older than a few days. This includes anything I bookmarked. The same is true for E’s instance. There’s no ready way to get those bookmarks out of Mastodon into something else. Unlike for public things where you can get an RSS feed from instances by adding .rss to a url, for the non-public bookmarks you need to use the API.

With some suggestions by my automaton junior coding assistant I quickly had a working API call to read the bookmarks (the url is yourinstance/api/v1/bookmarks, and you need to create an access token in your Mastodon instance under the developers menu heading).

Outputting those bookmarks as RSS is a straightforward way to make it accessible to various other applications. So I added code to make an RSS feed. And it works. The code is up on Github.
I’ve added the feed both to my regular feed reader (a self-hosted FreshRSS instance), and to the RSS plugin for Obsidian. The latter so that I can easily access the bookmarks in my notes. The former so that I can from within my feedreader send it to various websites I control as well as have a second route to my notes.

A quick and satisfying home cooked coding snack.

Bookmarked Feedly launches strikebreaking as a service (by Molly White)

Molly White does a good write-up of the extremely odd and botched launch by Feedly of a service to keep tabs on protests that might impact your brand, assets or people. Apparently in that order too. When E first mentioned this to me I was confused. What’s the link with a feedreader after all? Feedly’s subsequent excuse ‘we didn’t consider abuse of this service’ sounds rather hollow, as their communications around it seem to precisely focus on the potential abuse being the service announced.

The question ‘how did Feedly end-up here?’ kept revolving in my mind. Turns out the starting point is logged in my own blog:

Machines can have a big role in helping understand the information, so algorithms can be very useful, but for that they have to be transparent and the user has to feel in control. What’s missing today with the black-box algorithms is where they look over your shoulder, and don’t trust you to be able to tell what’s right.

Edwin Khodabakchian cofounder and CEO of RSS reader Feedly, in Wired, March 2018

In a twisted way I can see the reflection of that quote in the service Feedly announced. Specifically w.r.t. the first part, using algorithms to better understand information. The second part seems to have gone missing in the past 5 years though, the bit about transparency, avoiding black boxes, and putting users in control. Especially the ‘not trusting people to tell what’s right’ grates. It seems to me Feedly users in the past days very much could tell what’s right and Feedly hoped they wouldn’t.

I do agree with the 2018 quote though, but ‘algorithmic interpretation as a service‘ isn’t what follows to me. That’s just a different way of commoditising your customers.
Algorithmic spotting of emergent patterns is relevant if I can define the context and network of people (and perhaps media sources) whose feeds I follow. For that I need to be in control of the algorithm, and need to be the one who defines what specific emergent patterns I am interested in. That is on my list for my ideal feed reader. But this botched Feedly approach isn’t that.

Years ago I had a ‘Twitter radar’: a script that interrogated the Twitter API about tweets using a range of specific hashtags. It then pulled all mentioned URLs from those tweets and gave me an overview of the URLs and their frequency shared around a topic in the last 24 hours and 7 days. It would resolve the shortened URLs to determine whether what was shared was a site, a blogpost, a video, presentation, pdf etc. My Twitter radar would also look at who was frequently mentioning a topic, as a potential person to follow on Twitter.

When Twitter tightened who could interact with their API, I stopped using it.

Frank having alerted me to the possibilitiy of pulling in RSS feeds around topics from different instances (including specialised ones), makes me think of re-instating my radar, but now looking at Mastodon, and basing it on RSS rather than API access.
It would mean I don’t have to look at Mastodon in Tweetdeck-style with 70 columns.
I track # to e.g. see what is being said about specific EU laws online (AI, data governance, data spaces related).

I will have a poke around in my FreshRSS feedreader’s database to see if I can cook some basic scripts for this.

Bookmarked RSS Feeds in Mastodon (by Frank Meeuwsen)

Very useful tip from Frank Meeuwsen. Mastodon has RSS feeds, and you can also follow #topics through RSS that way. I knew that. But… you can use the feeds of any instance, and the feed for a hashtag is different per instance depending on the part of the fediverse they are aware of. This means that if you follow a hashtag feed from a large instance it will contain much more than if I follow the same feed on my personal instance (limiting the search to what the people I follow see). It also means you can follow hashtag from more focused or specialised instances, e.g. AI related terms from an instance focused on AI and ML. You can decide if you’d like the feed to come from the ‘general public’ as far as that exists on Mastodon, or from a more specific group of people. I hadn’t realised this, and it seems powerful. Thank you Frank.

Het valt mij op dat dezelfde hashtag verschillende berichten geeft over verschillende servers. Dat heeft vermoedelijk met de federatie van servers te maken. Server A volgt meer andere servers dan Server B. Dus de output van een feed bij A is anders dan bij B.

Frank Meeuwsen

Yesterday, musing about traversing my social graph through blogrolls, I suggested using OPML’s include attribute as a way of adding the blogrolls of the blogs I follow in my own blogroll. Ideally using a spec compliant OPML reader, you’d be able to seamlessly navigate from my blogroll, through the blogroll of one of the blogs I follow, to the blogroll of someone they follow, and presumably back to me at some point.
It does require having an OPML version of such blogrolls available. Peter publishes his blogroll as OPML as I do, allowing a first simple experiment: do includes get correctly parsed in some of the Outliner tools I have?

Adding an include into my OPML file

This little experiment starts with adding to my list of RSS feeds I follow a reference to Peter’s own OPML file of feeds he follows. I already follow two of Peter’s RSS feeds (blogposts and favourites) which I now placed in their own subfolder and to which I added an outline node of the include type, with the URL of Peter’s OPML file.


Screenshot of my OPML file listing the RSS feeds I follow. Click to enlarge. On line 22 you see the line that includes Peter’s OPML file by mentioning its URL.

Trying three outliners

Cloud Outliner (which I in the past used to first create outlines that could then be sent to Evernote) does not parse OPML includes correctly upon import. It also doesn’t maintain any additional attributes from OPML outline nodes, just the text attribute.


Screenshot of Cloud Outliner showing incorrect import of my OPML file. Click to enlarge.

Tinderbox like Cloud Outliner fails to load OPML includes as per spec. It does load some of the attributes (web url, and description, next to the standard text attribute), but not any others (such as the feed url for instance, the crucial element in a list of RSS feeds). It looks like it only picks up on attributes that are directly mappable on pre-existing default attributes within Tinderbox itself.


Screenshot of how Tinderbox imports my OPML file. It keeps some attributes but ignores most, and for includes just mentions the URL

Electric Drummer does correctly import the entire OPML outline. As Dave Winer is both the original creator of the OPML specification and more recently of the Electric Drummer app, this is consistent. Electric Drummer picks up on all attributes in an imported OPML file. Upon import it also fetches the external OPML files listed as includes from their URLs, and fully incorporates them into the imported outline.


Screenshot of Drummer, which incorporates the content of Peter’s OPML file I linked to in my OPML file. Click to enlarge.

Opening up options for tinkering

So at least there is 1 general outliner tool that can work with includes. It probably also means that Dave’s OPML package can do the same, which allows me to tinker at script level with this. One candidate for tinkering is, where a blogger has a blogroll, just not in OPML, to use the OPML package to convert scraped HTML to OPML, and include it locally. That allows me to traverse sets of blogrolls and see the overlap, closed triangles, feedback loops etc. I could also extend my own published blogroll by referencing all the published blogrolls of the bloggers I follow. For you my blogroll would then support exploration and discovery one step further outwards in the network. In parallel I can do something similar for federated bookshelves (both in terms of books as in terms of lists of people who’s booklists and their lists of people you follow)