+++*

Symbolic Forest

A homage to loading screens.

Blog : Post Category : Meta : Page 1

Modern technology

Or, keeping the site up to date

Well, hello there! This site has been on somethng of a hiatus since last summer, for one reason and another. There’s plenty to write about, there’s plenty going on, but somehow I’ve always been too busy, too distracted, too many other things going on to sit down and want to write a blog post. Moreover, there are more technical reasons that I’ve felt I needed to get resolved too.

This site has never been a “secure site”. By that I mean, the connection between the website’s server and your browser has never been encrypted; anyone with access to the network in-between can see what you’re looking at. Alongside that, there’s no way for you to be certain that you’re looking at my genuine site, that the connection from your browser or device is actually going to me, not just to someone pretending to be me. Frankly, I’d never thought, for the sort of nonsense I post here, that it was very important. You’re not going to be sending me your bank details or your phone number; since the last big technical redesign, all of four years ago now, you haven’t been able to send me anything at all because I took away the ability to leave a comment. After that redesign was finished, “turn the site into a secure site” was certainly on the to-do list, but never very near the top of it. For one thing, I doubt anyone would ever want to impersonate me.

That changed a bit, though, in the last few months. There has been a concerted effort from the big browser companies to push users away from accessing sites that don’t use encryption. This website won’t shop up for you in search results any more. Some web browsers will show you an error page if you go to the site, and you have to deliberately click past a warning telling you, in dire terms, that people might interfere with your traffic or capture your credit card number. That’s not really a risk for this site, but the general trend has been to push non-technical users towards thinking that all non-encrypted sites are all extremely dangerous to the same degree. It might be a bit debateable, but it’s easy and straightforward for them to do, and it does at least avoid any confusion for the users, avoids them having to make any sort of value judgement about a technical issue they don’t properly understand. The side effect: it puts a barrier in front of actually viewing this site. To get over that barrier, I’d have to implement TLS security.

After I did the big rewrite, switching this site over from Wordpress to a static site generator back in 2020, I wrote a series of blog posts about the generation engine I was using and the work pipeline I came up with. What I didn’t talk about very much was how the site was actually hosted. It was hosted using Azure Storage, which lets you expose a set of files to the internet as a static website very cheaply. Azure Storage supports using TLS encryption for your website, and it supports you hosting it under a custom domain like symbolicforest.com. Unfortunately, it doesn’t very easily let you do both at the same time; you have to put a Content Delivery Network in front of your Storage container, and terminate your TLS connection on the CDN. It’s certainly possible to do, and if this was the day job then I’d happily put the parts together. For this site, though, a weird little hobby site that I don’t sometimes update for months or years at a time, it felt like a fiddly and expensive way to go.

During the last four years, though, Microsoft have introduced a new Azure products which falls somewhere in-between the Azure Storage web-hosting functionality and the fully-featured hosting of Azure App Service. This is Azure Static Web Apps, which can host static files in a similar way to Azure Storage, but with a control panel interface more like Azure App Service. Moreover, Static Web Apps feature TLS support for custom domains, out of the box, for free. This is a far cry from 20-something years ago, when I remember having to get a solicitor to prove my identity before someone would issue me with a (very expensive) TLS certificate; according to the documentation, it Just Works with no real configuration needed at all. Why not, I thought, give it a bit of a try?

With Azure Storage, you dump the files you want to serve as objects in an Azure Blob Storage container and away you go. With an App Service, you can zip up the files that form your website and upload them. Azure Static Web Apps are a bit more complex than this: they only support deployment via a CI/CD pipeline from a supported source repository hosting service. For, say, Github, Azure tries to automate it as much as possible: you link the Static Web App to your Github account, specify the repository, and Azure will create an Action which is run on updates to the main branch, and which uses Microsoft Oryx to build your site and push the build artefacts into the web app. I’m sure you could manually pull apart what Oryx does, get the web app’s security token from the Azure portal, and replicate this whole process manually, but the goal is clearly that you use a fully automated workflow.

My site had never been set up with an automated workflow: that was another “nice to have” which had never been that high on the priority list. Instead, my deployment technique was all very manual: once I had a version of the site I wanted to deploy in my main branch—whose config was set up for local running—I would merge that branch into a deploy branch which contained the production config, manually run npm run clean && npm run build in that branch, and then use a tool to upload any and all new or changed files to the Azure Storage container. Making sure this all worked inside a Github Action took a little bit of work: changing parts of the site templates, for example, to make sure that all paths within the site were relative so that a single configuration file could handle both local and production builds. I also had to make sure that the top-level npm run build script also called npm install for each subsite, including for the shared Wintersmith plugins, so that the build would run on a freshly-cloned repository without any additional steps. With a few other little tweaks to match what Oryx expected—such as the build output directory being within the source directory instead of alongside it—everything would build cleanly inside a Github action runner.

It was here I hit the major issue. One of the big attractions of Azure Static Web Apps is that they’re free! Assuming you only want a personal site, with a couple of domain names, they’re free! Being from Northern England, I definitely liked that idea. However, free Static Web Apps also have a size limit of 250Mb. Oryx was hitting it.

This site is an old site, after all. There are just over a thousand posts on here, at the time of writing,* some of them over twenty years old. You can go back through all of them, ten at a time, from the home page; or you can go through them all by category; or month by month; or there are well over 3,000 different tags. Because this site is hosted through static pages, that means the text of each post is repeated inside multiple different HTML files, as well as each post having its own individual page. All in all, that adds up to about 350Mb of data to be hosted. I have to admit, that’s quite a lot. An average of 350Kb or so per post—admittedly, there are images in there which bump that total up a bit.

In the short term, this is fixable, in theory. Azure Static Web Apps offer two Hosting Plans at present. The free one, with its 250Mb limit, and a paid one. The paid one has a 500Mb limit, which should be enough for now. In the longer term, I might need to look at solutions to reduce the amount of space per post, but for now it would work. It wasn’t that expensive, either, so I signed up. And found that…Oryx still fell over. Instead of clearly hitting a size limit, I was getting a much vaguer error message. Failure during content distribution. That’s not really very helpful; but I could see two things. Firstly, this only occurred when Oryx was deploying to my production environment, not to the staging environment, so the issue wasn’t in my build artefacts. Secondly, it always occurred just as the deployment step passed the five-minute-runtime mark—handily, it printed a log message every 15 seconds which made that nice and easy to spot. The size of the site seemed to be causing a timeout.

The obvious place to try to fix this was with the tag pages, as they were making up over a third of the total file size. For comparison, all of the images included in articles were about half, and the remaining sixth, roughly speaking, covered everything else including the individual article pages. I tried cutting the article text out of the tag pages, assuming readers would think to click through to the indivdual articles if they wanted to read them, but the upload still failed. However, I did find a hint in a Github issue, suggesting that the issue could also occur for uploads which changed lots of content. I built the site with no tag pages at all, and the upload worked. I rebuilt it with them added in again, and it still worked.

Cutting the article text out of the tag pages has only really reduced the size to about 305Kb per post, so for the long term, I am definitely going to have to do more to ensure that I can keep blogging for as long as I like without hitting that 500Mb size limit. I have a few ideas for things to do on this, but I haven’t really measured how successful they will be likely to be. Also, the current design requires pretty much every single page on the site to change when a new post is added, because of the post counts on the by-month and by-category archive pages. That was definitely a nuisance when I was manually uploading the site after building it locally; if it causes issues with the apparent 5-minute timeout, it may well prove to be a worse problem for a Static Web App. I have an idea on how to work around this, too; hopefully it will work well.

Is this change a success? Well, it’s a relatively simple way to ensure the site is TLS-secured whilst still hosting it for a relatively cheap cost, and it didn’t require too much in the way of changes to fit it in to my existing site maintenance processes. The site feels much faster and more responsive, subjectively to me, than the Azure Storage version did. There are still more improvements to do, but they are improvements that would likely have been a good idea in any case; this project is just pushing them further to the top of the heap. Hopefully it will be a while before I get near the next hosting size limit; and in the meantime, this hosting change has forced me to improve my own build-and-deploy process and make it much smoother than it was before. You never know…maybe I’ll even start writing more blog posts again.

* If I’ve added up correctly, this is post 1,004.

No more cookies!

Or, rather, no more analytics

Regular readers—or, at least, people who have looked at this site before the last month or two—might remember that it used to have a discreet cookie consent banner at the top of the page, asking if you consented to me planting a tracking cookie that I promised not to send to anyone else. It would pop up again about once a year, just to make sure you hadn’t changed your mind. If you clicked yes, you appeared on my Google Analytics dashboard. If you clicked no, you didn’t.

What you probably haven’t noticed is that it isn’t there any more. A few weeks ago now, I quietly stripped it out. This site now puts no cookies of any sort on your machine, necessary or otherwise, so there’s no need for me to ask to do it.

When I first started this site’s predecessor, twenty-something years ago, I found it quite fascinating looking at the statistics, and in particular, looking at what search terms had brought people to the site. If you look back in the archives, it used to be a common topic for posts: “look what someone was searching for and it led them to me!” What to do when you find a dead bat was one common one; and the lyrics to the childrens’ hymn “Autumn Days When The Grass Is Jewelled”. It was, I thought—and I might not have been right about this—an interesting topic to read about, and it was certainly a useful piece of filler back in the days of 2005 when I was aiming to publish a post on this site every day, rather than every month. If you go back to the archives for 2005, there’s a lot of filler.

Now, though? Hopefully there’s not as much filler on the site as there was back then. But the logs have changed. Barely anything reaches this site through “organic search” any more—”organic search” is the industry term for “people entering a search phrase in their browser and hitting a link”. Whether this means Google has got better or worse at giving people search results I don’t know—personally, for the searches I make, Google has got a lot worse for the sort of searches where I didn’t know what site I wanted to go to beforehand, but for the sort of lazy searches where I already know where I want to go, it’s got better. I suspect the first sort were generally the sort that brought people here. Anyway, all the traffic to this site comes from people who follow me on social media so follow the link when I tell them there’s a new blog post up.

Given that the analytics aren’t very interesting, I hadn’t looked at them for months. And, frankly, do I write this site in order to generate traffic to it? No, I dont. I write this site to scratch an itch, to get things off my chest, because there’s something I want to say. I write this site in order to write this site, not to drive my income or to self-promote. I don’t really need a hit counter in order to do that. Morover, I realised that in all honesty I couldn’t justify the cutesy “I’m only setting a cookie to satisfy my own innate curiosity” message I’d put in the consent banner, because although I was just doing that, I had no idea what Google were doing with the information that you’d been here. The less information they can gather on us, the better. It’s an uphill struggle, but it’s a small piece in the jigsaw.

So, no more cookies, no more consent banner and no more analytics, until I come up with the itch to write my own on-prem cookie-based analytics engine that I can promise does just give me the sort of stats that satisfy my own nosiness—which I’m not likely to do, because I have more than enough things ongoing to last me a lifetime already. This site is that little bit more indie, that little bit more Indieweb, because I can promise I’m not doing anything at all to harvest your data and not sending any of it to any third parties. The next bit to protect you will be setting up an SSL certificate, which has been on the to-do list for some months now; for this site, given that you can’t send me any data, all SSL will really do is guarantee that I’m still me and haven’t been replaced, which isn’t likely to be anything you’re particularly worried about. It will come, though, probably more as a side-piece to some other aspect of improving the site’s infrastructure than anything else. This site is, always has been, proudly independent, and I hope it always will be.

But first, a quick commercial break

Or, links to things going on elsewhere.

It’s been quiet around here lately, partly because I’ve been trying to hide from the various summer heatwaves, and partly because I’ve been beavering away at something else in the background. I’ve set up a YouTube channel, and have posted my first proper video, the start of a Lego build. It’s only small, and I’m still learning, but one thing I’ve already learned is that coming up with the idea, shooting all the footage, writing the narration, recording it, editing the whole thing together…well, it’s a lot more work than just writing a blog post.

It makes me think, actually: years and years and years ago, Radio Scotland had a documentary about blogging, and included posts from me, read by an actor. I wonder if the actor who played me found it as much effort.

Incidentally, after the previous post on the Perseids, I did go outside for a while each night last weekend, lie down on the grass, and watch for meteors. There were a few, each night, streaking across the sky; and lying on my back looking up seemed to be the best, most comfortable way to get a full view of as much of the sky as I could. The grass is much nicer for lying on, at this time of year, than it will be for the big meteor showers of winter.

State of independence

Or, getting the web back to its roots

When I rewrote and “relaunched” this site, back in 2020, I very consciously chose to stay simple. I didn’t want to tie myself to one of the major “content platforms”, because over the years too many of them have closed down on barely more than a whim. I didn’t want a complex system that would be high-maintenance in return for more functionality. I didn’t want to have to moderate what other people might want to say in my space. More importantly, though, I did want a space more like the online spaces I inhabited 20 or so years ago; or at least, like the online spaces of my imagination, where people would create in their own little corner not worrying about influence or monetisation or that sort of thing. It’s possible that place never really existed, except in my mind, but it was something I always aspired towards, and it was a place where I met a whole load of other people who shared a similar outlook on why they were writing down so much stuff out there on the internet for other people to read. That was why, when I rewrote this site, I kept it simple, and produced a static site that could be hosted almost anywhere, with source code that can be put into any private Git hosting service. I didn’t even go for one of the mainstream static site generators; I chose a relatively simple and straightforward open-source one that works by gluing a number of other open-source tools together to output HTML. It’s about as plain and independent as you can get.

There is, nowadays, a movement towards making the web more independent, making it more like it used to be, or at least as some of us remember it. It’s called the IndieWeb movement. The basic idea behind the IndieWeb is exactly this: that when you, an individual, post something online, it should stay yours. It should belong to you, under your control, forever. Essentially, that’s one of the main things I’ve always been aiming for.

I’m clearly IndieWeb-adjacent, whatever that phrase I’ve just invented means. This site, though, is a long way from being IndieWeb-complient. And the reason is: I’ve looked through their Getting Started pages, and, frankly, it takes effort. That might sound like me being lazy, and I’d be the first to agree that I am lazy, but it’s also because there are only so many hours in the day. The day job takes up a good chunk of them, of course, then there are The Children, there’s my other coding projects, all my craft projects,* the various organisations I do volunteer work for, all the other ways I’m trying to improve myself, not to mention the attraction of just going out for a long walk for a few hours. Aside from the original setup and occasional tweaks, this site is largely something to exercise the side of my brain that isn’t involved in coding. Spending time setting up and creating my own personal h-card, and automating syndication, isn’t really something I want to do in my relaxation hours.

Hopefully, though, the idea behind IndieWeb will grow, and will flourish, and we can make the web something that isn’t driven by advertising revenue, or by monetising hate and bigotry. I’d like us to make the web a place where seeds have space to germinate and flower, where everyone controls their own output and can express themselves without the point being to increase shareholder value or to feed the ego of some not-as-bright-as-he-thinks entrepreneur. Maybe I’ll add more IndieWeb features to this site, one by one, as time goes by. Hopefully, whatever I do, I’ll just keep doing my own thing for as longa as it makes me happy.

* I mean, I literally started two separate new ones yesterday.

Paddling like a swan

All quiet on the surface, but flapping away frantically underneath.

It’s been quiet around here lately, hasn’t it. Over a month since the last post, and that was just a quick note itself. As the title suggests, though, that’s because things have been busy. I’ve been pushing hard to get one of my personal coding projects to version 1.0. At work we started a new product from scratch four months ago, and it’s just had its first beta release. And in my personal life: well, it’s a long story, and if I were to write all that down it would probably turn into an entire memoir, but it’s taking up a lot of my headspace too at the moment.

Nevertheless, I still look at my list of topics to write about, my list of drafts I’ve started, and think on all the ideas I’ve had that I didn’t have the chance to write down at the time, and I keep promising myself I will come back at some point and write them, whether to publish them on here or do something else with them.

Sometimes, I do manage to make a quick note, and this post really is one of those. The other day, a conversation on Twitter with the artist Dru Marland led me to some amazing photographs of Britain in the mid-80s, taken by a Swedish photographer named Bjorn Rantil. They’re of miners and mining communities, taken in 1985 just after the end of the strike. I started with this set, taken in Treharris, Abercarn and Tilmanstone among other places, but there are a few other albums on his Flickr account. If you don’t remember the 1980s, go and look.

A prelude

Or, some prehistory

A couple of times recently, I’ve mentioned that I’ve been pulling data off the hard drive of my old desktop computer, nested inside which was the home folders from the previous desktop computer, and nested inside those, those from the one before that. So, lots of rather old files to go through, and there will be more photos to post I promise. One thing I’ve uncovered that I didn’t think I had, though, was a text-only archive of the posts from my old blog.

Back in August I noted that this blog had turned sixteen. This was, in a way, a slight piece of misdirection. I had another blog before that, hosted by an online friend, which had run for a few years prior. Next spring, it will be twenty years since I started writing that site; it lasted just over three before, due to one reason and another, I dropped it and began this one.

Looking back at some of the posts, for the first time in a very long time, I’m slightly surprised by the tone of some of the writing. I had essentially no filter, and openly talked about exactly what I’d been doing, where I would be, visits to the doctor, what clubs and gigs I would be at, things I would never think of mentioning now. I refer to myself by name, which I never do now.

This blog, since its restart, has tended towards fairly long, rambling, in-depth posts in which I can go into a single topic in detail; and partly that’s down to its publish process, which makes it straightforward and simple* to host and manage, at a cost of being slightly clunky to add a new article. Every new post, essentially, requires the whole site to be re-uploaded so that the menus on every page are still correct, and that takes time to do. So, I don’t tend to write small posts. The old blog, managed using Movable Type, was full of one-liner diary entries about what I’d had for my tea, or what clothes I’d just bought.

Not all of the posts are like that, though; aside from some of the very personal things, there is for example a very fun and cheery account of my first proper trip abroad. I think I might actually get around to doing something I’ve been threatening to do ever since this blog first started. The first post on this site is itself a piece of misdirection, claiming to be a clean fresh start whilst at the same time saying that earlier writing might at some point make an appearance. If I can edit them into a format that fits this blog—changing people’s names to make them all consistent, bringing in The Plain People Of The Internet to handle the “fake outside reader” voice which was already occasionally present—without actually losing their style and flavour, I might some time soon get around to doing it.

* Not to mention cheap.

Another anniversary

A more recent one this time

A few weeks ago, I noted it was sixteen years since I first started writing this blog. Well, today, it’s a whole year since I relaunched it, as something of a lockdown exercise. It had taken most of my spare time in the summer, to go through all of the old posts, edit them, redesign the sight, and get the whole production pipeline up and running.

Since then there have been a hundred and forty-two posts, including this one; about mountains, beaches, trains, castles, cemeteries, trains, Lego, trains, computing, and trains. Have many people read them? No, probably not. That’s not really the point, though: not whether people read them, but whether I enjoy writing them. I have. So doing it has been worth it.

Despite it being the pandemic years, still, a lot has happened and a lot has changed over the past year. There will, I am sure, be more changes over the next year too. We won’t know, until they happen.

Taken by the flood

An impressive onrush of current

Last January, I wrote about how I keep track of ideas for topics to write about. I said, when I have an idea, I create a “ticket” a bit like a “bug ticket” in a software development process, to keep track of it. What I didn’t say, though, is something that applies to writing ideas just as much as to bugs: it’s important to be descriptive. Things you think, now, are always going to be seared in your mind, will be over and gone in a few hours. Unfortunately, when I create a “writing ticket”, I will often only write down a few words and rely on my memory to know what the post was actually going to be about. When I come back to it later: baffled.

Take, for example, an idea I also wrote down back in January, a few weeks before writing that post. “Post about the fast-flowing waters of Stockholm.” Post what about them, exactly? I have no idea.

It’s true that the centre of Stockholm does have impressive fast-flowing water, a rushing, churning torrent that pours constantly in two streams, either side of Helgeandsholmen, the island taken up almost entirely by the Swedish parliament building. When I visited Stockholm, I walked through the old town and down to visit the museum of medieval Stockholm which lies underground, beneath the gardens in front of the parliament. When I reached the narrow channel of water separating the parliament building from Stockholm Palace, I was shocked and amazed by the speed and power of the water. It flowed from east to west in a solid, smooth-surfaced grey-green mass, as if it had an enormous weight behind it. It felt dangerous, unstoppable, and irresistable.

I already knew that Stockholm, and the Baltic in general, doesn’t really believe very much in having tides. Stockholm’s harbour is technically seawater, but there are many kilometres of archipelago between the city and the open sea, and to get to open ocean you have to go all the way around past Copenhagen and the tip of Jutland. Because of that, the Baltic isn’t particularly salty and doesn’t have very dramatic tides. This couldn’t, then, be a tidal flow. It took maps to show what it was.

OpenStreetMap map of Stockholm

The above extract from OpenStreetMap is © OpenStreetMap contributors and is licensed as CC BY-SA.

You can see how Stockholm is built around a relatively narrow point in the archipelago. What you can’t really see at this scale, though, is that all the channels of water to the right of the city centre are the main archipelago, leading out to see, but the channels of water to the left of the city centre are all part of Mälaren, a freshwater lake some 120km long and with an area of over a thousand square kilometres. Most significantly, its average altitude is about 70cm above sea level. That slight-sounding difference adds up to roughly 800 billion litres of water above sea level, all trying to flow downhill and restricted to the two channels, Norrström and Stallkanalen, the second narrow, the first wide, around Helgeandsholmen. Norrström, in particular, is a constant rush of choppy white water.

Norrström

Why only those two channels? Although you can’t really see from the map, the other paths of blue that look like channels of open water, around Stadsholmen and Södermalm, were long ago canalised, blocked off with large locks. The two northernmost channels are the only free-flowing ones.

So, you might be wondering, what was the point of this post? Was there going to be some deeper meaning I had uncovered, some great symbolism or relevance to my everyday life? Frankly, it’s entirely possible, but I have no memory at all of what I was thinking when I wrote that note originally.

Right now, it’s tempting to say that sometimes, instead of trying to understand life and everything around you, instead of trying to predict what will happen and what the best course of action to take will be, it’s better just to sit back and ride the rollercoaster, and tht the sight of the massive onrush of water through the centre of Stockholm made me think of just jumping in a small boat and shooting the rapids without worrying about what happens next. Equally, I might have been thinking of how you can find such a powerful force of nature right in the heart of somewhere as civilised as a modern European capital city. For that matter, it could have been a contrast between how placid, still and mirrorlike the waters of Mälaren a few hundred metres away outside Stockholm City Hall are, compared with the loud, rushing, foaming rapids we’re talking about here.

A few hundred metres away all is peaceful

To be honest, I really don’t know. I know which of those thoughts seems most apt right now, but it might not even have occurred to me in January. At least, now I’ve written this, I can close that ticket happy in the knowledge that something fitting, in one sense, has been written under that heading. Now I’ve done that, I can flow onwards to the sea.

Little and often

Or, how often should a blog update, and does it really matter?

It’s almost the end of August, already.

If you ever scan your eyes down the list of links to the various archive pages on this blog—somewhere over on the right on desktop, right down the bottom on mobile, at least with the current design—you’ll see there were only five posts published here this month. Over the last three months in fact, there has been a bit of a drop-off in posting, compared to the other months since the blog was relaunched.

There are reasons for that, which I’m not going to go into here but which mostly involve having other outlets for my writing. Some of it might be published one day, and some won’t be, but that isn’t really the point of this post. The thing I wanted to talk about today is: does it really matter?

This initially popped into my mind at work a few months back, when I was preparing to interview a potential job candidate. Naturally beforehand I did all the usual background research on the candidate in question, looking at what social media profiles they had listed on their CV, hunting down some of the ones they hadn’t listed, and reading all the other links they’d put on their CV. The person in question included a link to a blog. When I followed it up, I found I really enjoyed the articles I found there (all of them tech-related in some way), but there were only a handful. This candidate had started a blog up in lockdown, had updated it a couple of times, and then nothing more. It was still sitting there on their CV, even thought it seemed to be getting a little bit cobwebby.

But does that matter? Well, frankly, it shouldn’t. If you’re interviewing a candidate for a job, you’re interviewing them, not their sticking power at a spare-time project. This blog, on the other hand, is never getting near anyone who might want to employ me, so it doesn’t matter at all if I go a little quiet for a few months, a few years, or even forever. It’s sad, a little, to see someone has started a project only to see it sputter out barely before it has started, but I should try to avoid letting it colour my opinion of them, particularly my opinion of them in a different context.

This site has been a little quiet, but it’s not as if I ever posted in any way consistently to begin with. It comes and goes according to my whims and inspiration, and whether or not I remember to write my ideas down. As I write it largely (but not entirely) for my own amusement, it shouldn’t really matter too much. I do gather information on how many people read this stuff, but I rarely actually look at that information. If I write anything for you specifically to read, I’ll tell you, but otherwise these words are just being thrown out into the electronic void. Some day, there might be an echo back, but I don’t really expect one.

A birthday

The years march on

This blog is now a whole sixteen years old. At least, it’s now sixteen years from the date of the first official post. Looking at the calendar for that year, the site was put live on a Saturday, the day after someone had driven into the side of my car. Well, at least I had some content to post about. Since then there’s been over a thousand posts in total, I think, if you include all of the complete-nonsense ones that have been edited out in the interim.

Of course, there have been a few hiatuses over the course of the last sixteen years, some of which were longer than others. The site only really came back from its longest hiatus as a lockdown project, last summer, but it’s provided something of an outlet for me ever since. Whether it will still be going in another sixteen years’ time is, of course, a complete unknown, but we can only move in that direction and find out, can’t we.