Site update

Posted .

You may have noticed that I’ve not posted here in (*blows dust off the last post to check the date*) about three and a half years. There’ve been many reasons for that which are unrelated to this post (some of which I may discuss in future).

But even during the hiatus, I kept thinking of things I wanted to put on my website. That’s why we have websites! So on occasion I’d sign in to its Wordpress back-end. But then my eyes would glaze over as I tried to understand the new interface (ok, not new) with its blocks, and I’d lose all motivation and just close the page.

That’s how it went for about three and a half years. But this doesn’t feel good. I have a website and I can’t use it. I want my website to be my place on the Web, but instead it felt like just another instance of fighting with technology[1].

At the same time, I have been thinking more about the resource usage associated with my digital life. When a page on a Wordpress site loads, the PHP engine runs, reads the PHP file for that page, executes a number of queries against the SQL database, and dynamically builds an HTML document to serve to the user. And the next page load does the same thing. A whole computational pipeline runs for every page load. Now I know that dynamic sites like Wordpress can be very efficient, can implement caching, etc., but I still have this mental model of a Wordpress site as a program which runs to render the page separately for each visitor[2]. It feels inefficient for a site whose content changes on average (at this point) on a multi-yearly basis (if you don’t include count comments).

So I decided a while back to export all the posts to Markdown files, and use them with a static site generator (SSG): a program I run on my computer which reads my Markdown files and writes plain old HTML files which I can stick on a server. This way, the program runs once each time I update the site, and thereafter it’s just HTML files on a server, like the good old days[3]. Also, I just like hypertext. I feel it’s an underused medium on the Web (!). And what purer way to express oneself in hypertext than with hypertext files on a webserver?

There are a lot of SSGs available, and for a while (about three and a half years, as it happens), I would take a look at a list, and try and commit to learning one, so that I could replace my Wordpress site with a set of static HTML files. I even got quite far with Eleventy (used it before) and Pelican (written Python, which I know very well). But whenever I started tweaking it, I’d get to a point where I was wrestling with yet more technology other people had designed for their own purposes, and it was no longer fun.

I don’t know if you’ve noticed this, but there’s also something else going on in the mid 2020s which is making using computers, and the Web, (and a few other things) less fun for me. So eventually, some months ago, I typed git commit -m "Render HTML fragment from Markdown”[4]. And since then, in the scant free time I have between several part-time jobs and kids and the aforementioned many reasons, I have been chipping away at this little project, with the personal commitment to do the whole thing myself, even if it takes a while.

So now here it is: you are reading this from an actual plain HTML file, generated by software I wrote by hand and ran on my laptop. It means I finished my project‼ I will continue to update the styling on and off, but I wanted to limit the scope of what counted as “publishable”, so that I actually got it out.

Even more than previous times I’ve done some replumbing, I realise that I may be breaking a lot of links, and I’m sorry but I’ve made peace with that. My SSG code is probably also quite buggy, so apologies in advance for that. If you spot something which looks wrong, or if you keep 404-ing and can’t find something you’re expecting, please let me know and I’ll try and fix it.


  1. This makes me sound, and feel, old. I do feel as if using computers is increasingly an exercise in frustration rather than an as part of the extended mind. Maybe I am getting old (I mean, obviously I am). But maybe some other things have changed too. ↩︎

  2. Not that I imagine I get a lot of visitors, but I don’t track the ones I do get so I guess I’ll never know. If you’re a visitor who wants to be perceived, email me! ↩︎

  3. I know that a program also needs to run to serve HTML files. But that is, as I understand it, far more optimised. ↩︎

  4. For the uninitiated, this implies that I wrote (by hand) sufficiently functional code that I was willing to take a permanent snapshot of it annotated with the message “[As of now, this code will r]ender HTML fragment from Markdown”. ↩︎