My little feed reader on Bluesky is ready for you to follow.

Technically, this is how the pieces fit together.

  1. I'm using the OPML file for my blogroll category on feedland.social to determine what's posted on Bluesky. When I add or remove feeds from the category, the OPML adjusts dynamically.

  2. I'm running a new Node app that has a websocket connection to feedland.social. It gets all the new items as they are found from all feeds. It's feedland.social's firehose. Since I'm currently the only user of that server, it's getting news from all the feeds I follow, not just the ones in the blogroll category.

  3. The Node app checks each new item to see if it's in one of the feeds in the OPML list. If so, it reformats it to fit in a Bluesky post and sends it to the feediverse account.

  4. If you're subscribed you should see the item, with a link, in your Bluesky timeline.

Notes

  1. The Node app re-loads the OPML subscription list every minute so any change is quickly reflected.

  2. It's the same blogroll you see on my blog's home page.

  3. The biggest problem in getting this running was rate-limiting. I have dealt with this on Twitter and other services, but Bluesky was not, for a while, letting anything through with the error message that we were over the limit. It was suggested that we should cache the accessToken rather than get a new one for every message. I did that and cautiously turned the server on again at first with a 5 message per hour self-imposed limit, then gradually increased it to the current 10 per hour. That means that they bunch up just after the beginning of the hour if there's a lot of news.

  4. Thanks to Mark Cuban for the initial idea and his support. He saw a river of news from FeedLand and asked if it could work in Bluesky. That was the idea. I have always wanted a really tight coupling between Bluesky and RSS but I didn't know how to do it, I think what Mark may have shown me is how it would work if it could. We may have just skipped a step.

  5. We realllly could use some more formatting features in Bluesky messages. This is a really strong use-case imho for the "textcasting" idea.

  6. The coolest thing from my point of view is that I already had all the pieces, fully developed, the only thing that remained was to hook them together.

  7. Finally, there's a this.how page for LFROB. It's purposely brief, but I will put a link to this post on that page.

continue reading on scripting.com

⚠️ This post links to an external website. ⚠️