markjgsmith

2023/12/21 #

RSS generation refactor - I've refactored the RSS generation plugin for my static site generator at least once previously. After the last refactor the feeds generated were a lot better because I was able to swap out a library that did things in a weird way, with one that was a lot more standard. The weird one ended up loosing me loads of time. At the time it looked very well used, according to stats anyway, but I digress.

I've been working for a while on creating an interleaved main page with all posts types displayed together. Along with that I've put in a bunch of work to create an accompanying everything RSS feed. Before even starting either of these bits of work, a long time before, around when I had to migrate the site off of Heroku, an item still remaining from that nightmare, was restructuring the podcast data. I'm still waiting to deploy the refactored data.

For whatever reason the universe just keeps deciding that the feed generation has to change in some way, but then something blocks the necessary change. Each time I go into the code, and it's happened again today, circumstances around me get super wierd. Strange synchronicities, huge distractions, really obnoxious people materialise. It's the most bizare thing. It keeps happening.

It's almost as if there is some evil force monitoring my every move, and when I do RSS coding, they release the hounds do to speak. Seriously, it's really fucking weird, and at times actually very dark.

Anyhow, because of all the head winds, there are a few places where the code gets a bit narly and convoluted. I was able refactor away some of the cruft today, still need to test and debug it, but it's nice to untangle it somewhat. The reason I was doing the refactor in the first place was that a couple of days ago I had an epiphany. The current implementation is done in a serverside component. It works quite well but it always felt a bit out of place. I couldn't figure out exactly what is was.

The thing with building software is that different parts evolve at different speeds, and at different times. For example, since the initial feed component was written, the entire rendering engine went through a massive refactor. It's now possible to create render pipelines, where you can easily reuse plugins, configuring them so the output of one plugin is passed as input to the next pipeline plugin. Well guess what, I think it should be possible to move the code from the feed component into a render pipeline. That will mean all the other pipeline plugins become available to use along side the RSS feed generation.

It's one of those things that looks quite obvious in retrospect, with the benefit of hindsight, but at the time was totally not obvious at all.

Guess what, as I was writting this note, really obnoxious, and very friggin strange people turned up, and just kept sticking their nose in my business. So if it's unusually difficult to read, that was definitely a big contributing factor.

Update: The instant I finished writting the note they disapeared. Literally. WTF?

Update 2: Started typing again and they were back wearing exoskeletons and shouting loudly into megaphones. Metaphorically.

Update 3: Stopped typing and they disapeared again! #

Multi protocol fediverse - David Pierce has a good piece about the current state of social media as 2024 approaches. He's not super into the term fediverse and is sure that we should have only 1 protocol.

Personally I'm totally fine with the term fediverse, though I suppose some central bankers might get a bit confused, but you gotta think a central banker would know the difference between real and virtual by the time they are running a central bank, no? Anyhow, I like that it has the vibe of something vaste, like a virtual universe.

I know that there is a popular saying in software development that 1 protocol is better than many, and I can understand the reasoning, but for some reason my gut feeling in this case is I'm OK with several. I've read through the ActivityPub, Bluesky and Nostr protocols, and I think they are all pretty cool. I think as long as it's clear to all that there are multiple protocols then having many isn't an issue. Shouldn't it be a free market for protocols?

The ones people like will get popular. Though you probably don't want too many. Could be time consuming to learn them all. I imagine they will end up getting progressively more complicated as technology evolves.

It would be cool if they all supported RSS so we can have a mininum of easily implementable interop between them all. It feels like it could be like how there are many flavours of Linux, but they all support reading and writing to files, "everything is a file". Maybe all social networks have file based feeds.

Note: More weird people arrived as I was writting this note. They literally only talk when I'm typing. And in the last hour they were having very bizare conversations indeed. #

Social space hackers go home - These people cause so many problems imho. Maybe one day we will all see what's been going on all these years. #

Today’s links:

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.