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! #