YABR: Yet Another Blog Revival.
Three days ago, I decided to shake off the cobwebs that had collected around this piece of internet real-estate. However, I had massively under-estimated the size of technical debt that had accumulated alongside these cobwebs...
...that very nearly wasn't!
Three days ago, I decided to shake off the cobwebs that had collected around this piece of internet real-estate. However, I had massively under-estimated the size of technical debt that had accumulated alongside these cobwebs...
The first hint of how bad the technical debt had gotten was when I saw the version jump in the CMS I was using for the blog. The second hint was the version jump in the PaaS stack on which this CMS was supposed to be built. Combined, they were basically an entirely new ecosystem for someone who hadn't bothered about them for EIGHT long years...
Yeah, you read that right. EIGHT. LONG. YEARS. That's how long it has been since I last posted here...
Still, armed with all the confidence of an ignorant moron, I plowed ahead and dived headlong into the task, with one single focus - restoring this blog to its former glory. I wanted to make it so that it would seem like I had just carried on from where I left off, without letting anybody realise that, behind the scenes, the entire inner workings had been ripped and rebuilt thus making this blog a brand new AND old at the same time.
In other words, this blog was to be my very own version of Theseus' famed ship and I wasn't going to let eight years of technical debt stand in my way!
I'm not going to bore you with the details but here's a small glimpse of the agony I had to go through to get this stupid thing working...
- Carefully wiped my server down to (almost) barebones to ensure I had a clean-install. (SPOILER: I nearly wiped this entire blog - all 21 years of it - out of existence...)
- Mashed code-fragments from eleventy different blogs for two days to figure out why my MySQL containers weren't able to persist data. (SPOILER: The app was defaulting to an sqlite db; my MySQL containers weren't being used at all!)
- Nearly broke my site-wide HTTP server trying to force it to serve on a specific port. (SPOILER: The config vars for the exposed port of the proxy were incorrectly set...)
- Almost tore my hair out because my database containers wasn't attaching properly to my app container. (SPOILER: MariaDB doesn't like hyphens in database names...)
There are tons more of these, believe me.
But, on the brighter side, I now have a completely foolproof, step-by-step guide for this -highly specific- setup -- in case you want to try it yourself. Ping me on twitter @shrikant and I'll happily send it across. Or maybe, I'll make a separate post of it. At the moment, I'm just giving the standard side-eye treatment to see if it breaks when I'm not looking at it.
(NB: If you are a programmer, you know *exactly* what I mean by that.)
Anyway, the point of this post is two-fold. One, this is a ghost (hah!) of the original post I wrote, which was unfortunately lost in the battle I fought to erase the eight-year strong technical debt, which technically makes this a resurrection rather than a revival, no?
Two, this resurrection/revival might not be a flash in the pan. A lot has happened since I last posted - personally, professionally, and philosophically. There is a lot I need to document and there's also a lot I need to un-document. There's stuff that needs consolidating, and stuff that needs collating and categorizing. The internet is also rapidly evolving with each passing day and having a piece of it that I can call my 'own' seems more imperative than ever.
I certainly have a few ideas for the homebase that I'm going to try out over the next few days and weeks. Some of it might spill over to this specific corner, I'm guessing... :)
Cheers!