+++*

Symbolic Forest

A homage to loading screens.

Blog

Something on the radio

A random Lego project

One issue with writing this blog for so long—especially given it’s not long since I had a hiatus for a year—there’s a lot of draft posts and ideas-for-posts that I’ve logged, and never done anything with. Write about The Mother being taken to hospital in May 2022, for example, which was overtaken by events when she died a few months later. Some of them I have no context on at all, such as writing about The History of Grimsby by Edward Gillett. Yes, it is a classic work of local history from the 1960s. No, I don’t know what significant or interesting things I had to say about it.

A more recent note, though, should be easier for me to turn into a post! About eighteen months ago, I noted “Post about Lego radio”. Which is nice and straightforward, because I took plenty of pictures whilst I built it.

The early stages of a Lego radio

Like a real radio, it does have a couple of controls: a “tuning knob” to move a needle against a frequency scale, and a switch which turns a sound brick on and off. The switch’s mechanism was both fun to build and tactile to fiddle with afterwards.

A compact Lego mechanism consisting of a small number of gears and cams

Alternatively, the back of the radio comes off, and there’s a Lego-build phone holder inside, so you can use your phone as a speaker. I dare say, if you have a Bluetooth speaker that resembles a phone in physical size and shape, it would sound even better. It can be rather louder than the built in sound brick too.

A finished 1950s style Lego radio

I have to admit, this was the sort of project where I buy it purely because I’m in the shop and feel like I’d be too disappointed to leave with nothing. It’s a fun little build, true, but not really one that, for me, is worth keeping on display. It comes back to the start of this post: given I found it a fairly routine build, why did I want to write a blog post about it? I honestly don’t know at this point, other than the ever-present sense that I should document everything I build. I did have a nice time building it, but I haven’t really thought about it at all since it was finished; very different to other Lego sets like the lighthouse or the Swiss Crocodile locomotive. Writing this does, at least, cross the idea off the list!

The space between the lines

Pondering on what scale, exactly, to build the model railway

A week or so ago, I wrote about the train set I’d recently bought, as the nucleus of a model railway inspired by the Brecon & Merthyr line in South Wales. The train set is N Gauge, or N Scale. Is this, though, the best scale for me to build it in?

The term “gauge” means the distance between the inside edges of the rails, just as it does on a normal train. Model trains come in a huge variety of scales and gauges, ranging from those large enough to sit on, to those barely large enough to see. N Gauge was created by the Bavarian toy company K. Arnold in the early 1960s, and is named for the fact its gauge is nine millimetres—or neun Millimeter, I suppose. If I put a piece of the track that came with the train set next to a ruler, you can get a rough idea of its size.

A piece of model train track on a black workbench, next to a 15cm steel ruler.  You can see, by comparing the ruler and the track, that the track gauge is around nine millimetres.  The track is quite chunky, with thick rails and sleepers.

Because it’s so small, you can fit more train into a tight space; that’s always been one of the reasons I’ve struggled to build myself a model railway.

Lots of trains are made in N Gauge, off the shelf; and train sets, like the one I bought, to give you an easy start. However, it’s not the only gauge or scale that’s roughly this sort of size. The other one, in fact, is even older.

N Gauge’s scale, for British models, is 1 to 148; or a fraction over 2mm of model to every real-world foot. However, since the 1930s, modellers had already been handbuilding models to exactly 2mm to the foot. It’s an extremely similar scale, roughly 1 to 152. Given the trains are so small to begin with, the difference is barely even visible. One pioneering 2mm Scale model railway built in the 1940s, the Inversnecky & Drambuie Railway, has survived and is partially on display in the National Railway Museum in York.

Unlike N Gauge, you can’t buy any trains or train sets in 2mm Scale. There is, however, a 2mm Scale Association who produce various different products to help modellers build their own 2mm Scale trains. A while ago now, I bought one of their “starter packs”, which includes a short length of track, which you assemble yourself from rails and a plastic base. It’s much more fragile than train set track, so I glued it down to a piece of foamboard and tried to make it look ballasted.

A piece of model train track, stuck down to a small piece of painted foamboard, on the same workbench as the last picture and next to the same ruler.  You can see that the track gauge is roughly the same, but the rails are much smaller and thinner, and the sleepers are spaced more widely apart.

The track gauge isn’t 9mm, though; it’s 9.42mm instead. Very very close, but not close enough to run the same trains reliably. You can see it has much thinner rails; that’s because it tries to be an exact scale model of real track. For most of the twentieth century, most British railway line was made of individual 60-foot panels; so this piece of track is 12cm long as a result. 9.42mm is the exact width of real track, scaled down to 2mm scale; N Gauge, on the other hand, if you scaled it up to real life, would be about 10cm too narrow.

The question, then, is: which way should I go with this model? Go with N Gauge and trains I can just buy; or 2mm Scale and have to build an awful lot of stuff on my own. With the trains, at least, it’s possible to get N Gauge trains and just give them 2mm wheels; because as I said, they’re so close in size that few people can tell the difference. It might be an awkward, fiddly job though.

At the moment, I’m just not sure. Before things go much further, I’ll have to make a decision, and choose to go one way or the other. At least for now.

Possibly the worst cryptid sighting ever

A cryptid, at a distance, whilst zooming along a motorway

Ever since I was a wee girl, I loved Forteana. Tales of the unexplained. Creepy stories, earth mysteries, that sort of thing.

Most of them were remote, in relatively exotic places like Bermuda, the Harz mountains, or New Jersey. There were a few, though, that were a lot more local. Crop circles, even if they didn’t tend to pop up much in The North. The Loch Ness Monster, even further away. And alien big cats.

The classic alien big cat from that time period was the Beast of Bodmin, but they popped up all over the country. The Beast of Exmoor wasn’t too far from Bodmin, but they’ve popped up further and further north over the years. There was a spate of sighting in Lincolnshire in the nineties, for example. I always kept a lookout, but I never saw one.

Until, towards the back end of 2024.

They weren’t on my mind at all, that day. I was zooming south down the A1, just past Peterborough, just coming up to the Huntingdon exit, when I saw it. About here.

On the right, was a landscape of rolling hills leading up away from the road, arable fields, with woodland to either side. In the nearer field was a large, black animal. Too dark to be a stag. I thought at first, it must be a cow, but then realised that it was the wrong shape. It was moving, away from me, and it was stalking. Keeping itself low, its shoulders moving stealthily.

It was a big cat. Like nearly all British big cat sightings, it was a black one.

I would have left it at that—I had other things on my mind that day. But the next day I thought to search for other sightings; and a few of weeks earlier, another had been spotted only about twenty miles to the north, around the area where Lincolnshire starts to fade into Cambridgeshire.

I only had it in sight for a couple of seconds, to be fair. I could have misjudged the distance or the scale. No big cats have ever been reported as roadkill in Britain. But if there really aren’t any here, then many, many other people in Britain have made the same mistake as me over the past fifty years; and in one case now, genetic evidence of a big cat has been found. I’ve never seen a feral wallaby either, but nobody doubts that they exist in Britain.

More than that, though, I want to have seen it. They’ve been in the back of my mind since I was small, after all. Now—for over a year, even—I can genuinely tell people I’ve seen one.

The impermanent way

In which we build a train set on the dining table

A few weeks ago, I posted about how I’d finally made the decision to start building a model railway, because perfection is the enemy of the possible or something along those lines.

A few days later, a box arrived.

A big cardboard box, sitting on the carpet

No, I don’t know why they sent such a big box, because the contents were much, much smaller.

If you want to model the Brecon & Merthyr Railway in the 1950s, Great Western pannier tank locos were extremely common. Conveniently, at the moment, you can easily buy an N Gauge train set containing a Great Western pannier tank, a couple of wagons, and a brake van to go on the back. Buying a set, with an oval of track and a power unit, means you bootstrap yourself: you can get everything you need to run one train in one box, even if all you can do is send one single train round and round in a circle. I’ll do a post explaining what “N Gauge” means at some point.

A tiny model of a Great Western Railway steam engine, pulling some wagons, on top of a dining table

Some people might point out that the loco is in 1945-47 condition, but the wagons are in pre-1937 condition; lots of wagons never got repainted though, so really they just need to look a bit dirtier and worn-looking than they are. You might notice I’ve also bought myself a few more wagons, the well known “BR 16 ton” type. Over 200,000 of them were built in the 1950s, and they were ubiquitous on the railways from the mid-50s through to the early 1980s. The ones I bought come in pre-rusted condition from the factory, so they’re really more like a wagon of the 1970s, after the B&M had closed; but, regardless, they’re still appropriate for the train.

Ever since I was small, also, I’ve read model railway advice that says “never run your train set on the carpet! There’s too much fluff!” So, this is on our dining table, which is also nice and friendly on my knees. I deserve comfort, you know.

Naturally, I wasn’t satisfied with just a single circle of track. It wasn’t long before another box arrived.

Pieces of model train track, in packaging, inside a freshly-opened cardboard box with brown paper padding

The track is a different brand to the train set, but it’s all the same track gauge, and also, all the track is the same shape: the curves are the same radius, the straight bits are all the same length. You’d think it would all just slot together, wouldn’t you?

Well, it didn’t.

Although the track was all compatible on paper, the “rail joiners” on the train set track were bigger and chunkier than the ones on the extra track. The extra track didn’t have enough clearance, between the rails and the plastic base, for the joiner on the train set track to slide on.

If this was a proper model railway and all of the track was fastened down, I wouldn’t care about this. I’d just pull all the joiners off and replace them with thinner ones. Because this is still just a train set, which has to be taken apart again whenever we want to stop playing trains and play a board game instead, that wasn’t really an option. Option two was to replace all the joiners anyway, and just hope that the new joiners stay in place. It would have done the job, but it also sounded like a lot of effort. Option three: buy more track. The original oval of train set track went in the spares box, and I just bought myself an oval from the other brand instead.

With that done, though, we had something you could imagine was a little station. It’s not much station and you need a lot of imagination, but nonetheless, you can shunt your train about!

A model railway on a table, with a loop and a siding.  The train is passing through the loop, and there are a few wagons in the siding

(This is a still from a video, so it’s a slightly blurry photo. Never mind that)

Where do we go from here? Well, there’s a few more things a full railway will need. More than one train, for one thing. I’ll post about that soon. For now though: there’s something extremely fun and simple about just being able to run your train round in a circle on the dining table, without really worrying about accuracy, authenticity, and anything else. Until we do need the dining table for something else.

Forging ahead

Or, how Cait ended up building her own tool to build the site

When I last wrote an article about how this blog is built, how it is turned from Markdown text into an array of thousands of static HTML pages, over eighteen months ago now, I said that “another big change to how the site is published” was coming soon. It did, indeed, come soon; I just didn’t write about it. Since summer 2024, this site has been published by an entirely new static site generator. Moreover, it’s my static site generator.

When, in 2020, I decided to switch the site from hosted Wordpress to being static, there were a few options to choose from. Jekyll is (and was) one of the leaders, but it’s written in Ruby, which would have been a whole new ecosystem for me. Eleventy seemed like a good option, and I can’t really remember why I didn’t choose it at the time. The tool I eventually went with was Wintersmith, because it seemed simple and straightforward, and a quick proof-of-concept showed that it had all the features I needed. The only red flag, though, was that it didn’t seem to have been updated very recently. Nevertheless, I thought, I could always move again later.

I reimplemented the site with Wintersmith, got everything working, and built new Wintersmith plugins to provide all the features that Wordpress had, like tagging and categories. And all was good. Except, Wintersmith still wasn’t getting updates.

Wintersmith was part of the JavaScript ecosystem, distributed via NPM. Every time I ran a build, NPM would warn me that a big stack of Wintersmith’s dependencies were outdated and had security risks. None that genuinely affected me; but still, it was more and more of a concern. I thought: well, I could patch it; but then, I saw, someone else had already submitted a patch to do just that, and the patch was sitting there in the project repository, unmerged. I had to switch.

Rather than learn a new system, though, why not take Wintersmith and fork it? It’s open-source software, after all. A fork is simply when someone takes an existing project which doesn’t quite do what they want, or which is going in a direction they don’t like; and they make it their own. Like two different branches of the evolutionary tree; things split off in different ways, and we end up with mammals and lizards and birds all happily coexisting.

So, I picked a name—Iceforge, to give it a nod to its heritage—and got started. And along the way, I changed a lot. Iceforge is a classic Ship of Theseus. Every single line of code is changed, but it will still build a basic Wintersmith site, and plugins only need slight changes to port them from Wintersmith to Iceforge.

The reason I can guarantee every single line of code in the application has changed—aside from possibly some of the blank ones—is that Wintersmith was written in CoffeeScript. You might not have heard of CoffeeScript; I had used it, in the early 2010s. It is essentially an alternative syntax for JavaScript. It’s a much terser syntax; it’s heavily whitespace-dependent, and at the time it was created it included a few features JavaScript didn’t have, like classes.

I didn’t like using CoffeeScript, although I understood it well enough to write my own Wintersmith plugins; so I immediately knew that Iceforge would use something else. The obvious choice was TypeScript: a more verbose version of JavaScript, more verbose because it includes compile-time type checking.

Naturally, I had to switch over from using CoffeeScript classes to JavaScript classes; that wasn’t an issue at all. The asynchronous coding style also, I thought, could do with an update to it. “Asynchronous coding” means that, when the application goes and asks the computer to do something that might take a while, like reading a file, it will get on with something else whilst it’s waiting until the file is ready. When I’m cooking food I’ll pop it in the oven, and then I’ll go take the rubbish out whilst it’s roasting. Asynchronous coding is just like that, but not as tasty.

Originally, Node.JS handled asynchronous coding through something called continuation-passing. It relies on the fact that functions, individual pieces of code, can be passed to other functions which can then call them. With continuation-passing style, if you want to read a file, you call a system function and give it first the filename, and then the piece of code to call when the file has been read. It worked well given the limits of JavaScript at the time, but it means that code can end up a little bit broken up and fragmentary. The code that gets run after a “slow operation” has to be separate from the code that gets run before a slow operation. Moreover, Wintersmith was largely plugin-based, and continuation-passing clutters up the plugin API. Every Wintersmith plugin has to be written in a continuation-passing style and the plugin authors have to remember to call their continuation functions even if the plugin itself isn’t calling any slow operations.

From 2015, JavaScript gained an awful lot of new features; one of them was “promises”, a new way of calling slow operations without passing continuation functions. A couple of years later, it gained the await keyword to go with them. A slow function, nowadays, can return a Promise object, and the developer can choose whether to treat that in a continuation-passing style, or to use await to pause that particular line of execution until the result from the slow operation is ready. Because, in my opinion, that produces much more readable code, I restructured all of Iceforge to use awaited Promises everywhere that the code had been using continuation-passing. When a developer is writing an Iceforge plugin, their plugin registration function has to return a Promise, but they don’t have to worry about adding a continuation boilerplate call any more.

I made various other useful changes, such as building into Iceforge’s “blog” site template a lot of the features I’d developed for this site. The Markdown parser had to be tweaked a bit, just because the API of the underlying Markdown rendering library has changed a bit. I developed a unit test suite, not something Wintersmith has ever has as far as I’m aware. The one thing I haven’t done yet is documentation. At present, all I’ve done is to add documentation to the code itself; learning how to use Iceforge is left as an exercise for the developer. At some point, when I find the time to write all that, I’ll get a documentation site online. After that there are a few other things I’d like to do, such as port over the rest of the existing Wintersmith plugins, and implement footnote support in the basic Markdown plugin. After that… Iceforge 2.x could do with a much bigger rewrite, to tidy up aspects of the API that I’ve just found a bit weird. There’s no rush, though.

If you want to use Iceforge you can install it from NPM, either as a global tool, or if you’re willing to consider your website source code to be an NPM module, locally within that module. I like the latter, because it works cleanly with CI/CD toolchains, but you could do it the other way too. This blog post isn’t meant to be Iceforge documentation, so I’ll let you play with it yourself, but feel free to try it out and give it a go. I will get the documentation site finished some day, I promise.

Theory and practice

In which Cait once more attempts something she's always wanted

Occasionally, over the past few years, I’ve mentioned how I’d like a model railway, but there are just too many interesting railways to choose from. In fact, I’ve always wanted a model railway. My father also always wanted a model railway, but never quite managed to do anything about it either.

This has led me to an interesting place in life. I’ve always had many, many plans for different model railways. I’ve tried to start building them, and I’ve never got very far, but the research I’ve done has been immense. On the actual railway history side, I know my stuff. I know my Bristol & Exeter from my Bristol & Gloucester. I know my Midland from my Great Northern from my Midland & Great Northern. I know why the Great Western Railway had LNER-style signals, and I know where the LNER ran in North Wales and why. On the modelling side, I know my theory too. I know why cassettes are better than traversers, and the difference between EM and P4. I know who Edward Beal was, and how his West Midland Railway wasn’t the real one. I know John Ahern created the Madder Valley, that Barry Norman doesn’t mean the film critic, and that Cyril Freezer has had his day. I know that dyed sawdust is a thing of a past, and I’ve admired Copenhagen Fields. I know the theory. I’m just no good at putting it into practice.

Like any skill, though, this is a classic chicken and egg situation. I’m just no good at putting it into practice, because I don’t try.

The answer to that, of course, is to just pick something and start. And nowadays, model railways have come on a long way from where they were when I was a small girl. There’s so much more that is either available to buy off the shelf, or has been at some point and can be found on the second-hand market. You just have to be judicious what you choose to build. If you want to model something from after 1950 or so, it’s much easier than something before around 1925, just because the amount of diversity in the railway network dropped dramatically following the creation of British Railways and the National Coal Board.

That means that building a model of, say, the Brecon & Merthyr Railway in 1905, would be difficult for a practical beginner, even though it would be incredibly interesting and different to most of the model railways out there. A model of the Brecon & Merthyr fifty years later, though, would be relatively straightforward. A few obscure local locomotives were still around, but most were fairly common Great Western and British Railways types. All the obscure little 4-wheel coaches the line had in 1905 had been scrapped and replaced with ordinary GWR ones; all the colliery-owned coal wagons with hand-painted lettering had been replaced with plain grey British Railways 16 ton ones.

With that in mind… I’ve bought myself a treat. I’ve bought myself a regular train set with a few extra bits and pieces, so I have enough there and then to at least get something moving and give me the inspiration to build more. Let’s see where it goes from here!

Update: To see where it did go from here, read the next episode in this saga!

Folklore in the rough

Or, the evolution of tradition. But for real. And almost with sausage rolls.

Folklore is… something we had, right? The things people used to do, especially all those people who lived out in the country and whose lives were devoted to threshing and winnowing and all those sort of rural verbs we just don’t use in the modern world. Folklore is all that stuff, from the ancient Static Past that never changed.

This view is nonsense, nowadays, among historians and folklorists, but it used to be their genuine assumption, say a hundred years ago, and as a result I have a feeling it still lurks in the back of a lot of people’s minds as a kind of default opinion if they ever think about the topic. In reality, folklore was always fluid and adaptable; we’re just missing a lot of it, because it was only about 150 or so years ago that people started writing it down, and saying “I guess this is what the peasants have always done since Time Immemorial”. Folklore is still around us today, and it’s still changing and growing too.

The reason I’m writing this, though, is that last weekend we went out and committed an act of folklore. We—me, R, and the Two Children—went into Newport, to see the Newport Mari Lwyd.

The Mari Lwyd is Welsh, as you might guess from the name. Specifically, it’s a South Wales tradition, from the time around the New Year. The Mari itself is a horse skull on a stick, carried around by someone hiding under a white sheet, like all the best ghosts. It’s led around by a Leader, smartly dressed in a top hat. And it’s great fun. We still sometimes call it by the name The Child Who Likes Fairies used when she couldn’t pronounce Welsh very well: the Ghost Pony.

The Newport Mari Lwyd, a decorated horse's skull on a stick, held by a man under a white sheet, with her Leader in a smart suit and top hat

The Newport Mari Lwyd is done by the Widders Border Morris, from Chepstow. For about an hour or so, the Mari is lead around the centre of the city, with stops for morris dances. Between the stops, the Leader is the MC of proceedings, interprets for the Mari, and generally “holds her back” when she wanders into shops to terrorise people. If you don’t mind being terrorised by a very large skull on a stick, it’s great fun.

We followed all the way from start to finish: into Greggs in search of a sausage roll, into the pet shop for more food, or the slightly mouldy greengrocer, or the Arcadia coffee shop. We stopped outside a pub, with a guy stood outside it holding a toddler in his arms. The Mari bent down so the wee boy could stroke her nose like a real horse, and the boy did, looking confused and baffled but treating her entirely like he would a living horse. The followers all had their phones out recording, or their SLRs, some with selfie sticks to get their phones up above the crowd. And of course all the time we were passing people who weren’t part of it, who hadn’t come along specially, some of them jumping in fright and getting away, some of them intrigued and coming to stroke the Mari too.

This isn’t, of course, what the Mari used to do. The organisers specifically describe it as an Urban Mari Lwyd, in this form because it works well in a city centre, popping her head into all the shops along the way then finishing in the record shop in the arcade to ask the owner to play “Crazy Horses” by The Osmonds.

When the “original” Mari Lwyd tradition was recorded, the Mari would go around knocking on the doors of houses. At each there would be a battle of riddles with the person who opened the door; and when the householder lost, the Mari’s party would go inside and cause havoc: eat the food, drink the beer, grope the women, rake out the fire. And then, on to the next house. The party would often include people in blackface, and a Mr Punch. By the time it was written down, it was almost gone, and by the 1930s the tradition was effectively extinct. A few decades later it came back, as a deliberate revival, much as many “folkloric” aspects of British life were. In the early 1970s, a form of the Mari appears as an evil antagonist in Susan Cooper’s young adult fantasy novel Silver On The Tree, which I quoted here previously. Cooper’s Mari is almost untirely unlike the real one, and pops up in a part of Wales in which she wasn’t a tradition. Nowadays, many places in Wales have some sort of modern Mari Lwyd, like the Newport one. Going into private houses: out. Actually taking people’s food: out. Groping people: very definitely out. The modern Maris (Mariau?) are all suited to the modern world, frightening people only if they like it.

Being a skull on a stick, the Mari comes across as a very gothic, a very pagan figure. That’s probably not really true originally either. The name Mari might very well come from the Virgin Mary, although there’s an alternative explanation that, being a horse, it’s just from the English word “mare”. As a tradition, like other British hobby horse traditions, it probably doesn’t date back any earlier than the 16th century. It’s become a very Welsh icon—there was a large Welsh flag being carried by someone at the Newport one this year—but very similar traditions are found in other parts of Britain too with different variations. In Derbyshire they used a ram’s skull instead of a horse, which is why Derby County football club still has a ram as its symbol. That, though…in folklore, that’s kind of irrelevant. Mari Lwyd might have been different in the past, but the Mari Lwyds happening now, like the one we took part in, are very real and just as genuine. They’re still folklore, but folklore being endlessly created and recreated, today and in the future. Some day, in years to come, a folklorist will write down that the song “Crazy Horses” is deeply associated with “the Newport Mari tradition”, as an ancient survival; until someone else points out the song was only released in 1972, in summer, so really shouldn’t be associated with a seasonal winter tradition.

In a sense, all this is unimportant. We were carrying out a Welsh pagan tradition, because we made it one. And moreover, as I said near the start, it’s great fun for the participants. Even if the Mari never did get her Greggs sausage roll.

So this is the new year

In which we reflect on the past and the future

Welcome, 2026!

I opened up the blog to post that, and suddenly realised that, well, it’s nearly a year since the last blog post. Every few weeks I’ve opened up an editor, and pondered writing something from the to-do list, but something else has always come up. And so, the archives menu has no entries between January 2025 and January 2026.

That’s partly, to be honest, because 2025 was such a big year for me. It had its ups and it had its downs, but more than anything, it was busy. I felt I was constantly on the road. Days when I was in Leeds for a work meeting in the morning, but had to leave mid-afternoon for a medical appointment multiple hours away. I barely spent a single weekend in my own house.

It was all for good reasons though. It wasn’t just work or medical things. There were trips to museums; trips to pick lavendar; trips to meet internet friends; trips to visit my partner’s family; trips to ride behind steam trains; trips to go swimming in the sea. The main problem, in fact, was knowing how to fit in everything we wanted to do.

I said “partner” there, didn’t I. I haven’t really mentioned relationships on this blog for a few years, I don’t think. At the start of last year, though, I’d just met someone new, someone who went from “internet friend” to “lover” to “life partner” within the space of a year. In the middle of the year she moved house, and by the end of the year we were getting joint Christmas cards from her family. We spend most of our (non-work) time together, largely playing board games.

Close-up of the corner of a board game board, on a dark table.  There are small coloured wooden cubes in two zigzag lines, one red and one yellow.  The yellow line is longer and turns into a vertical stack of cubes at the end.  A board game fan might recognise it as the game Clank! at or very near the end, after the yellow player has died.

I’ve been introducing R to trains and my favourite board games; she’s been introducing me to her hobbies and her favourite board games, and I wish I could put into words more about just how amazing she is. The future is bright; but even busier than before.

Still, I do want to try to post more often on this site again, in between going to work, sorting out the rest of all my inherited junk, holding board game nights with our friends, and everything else that goes along with both having a partner, and having kids with an ex. There is, after all, a long long list of things I’ve been planning to write, some of them lurking on the list for years. There are going to be lots of new ideas too, I’m sure. I can’t promise it will work, I can’t promise I’ll keep writing, but I do want to keep trying to write.

So, this is the new year. Hello 2026. And to the blog: welcome back!

Keyboard news

In which Caitlin buys more keyboards and bits, but not too many more

A few months ago, I wrote about my first exploration into the world of mechanical keyboards, and said, at the time, “am I going to turn into a keyboard nerd?” At that point, I’d found that mechanical keyboards can be extremely practical, that I found them much, much easier to type on than a cheap stock keyboard; but I was very wary of how keyboard nerdery can turn into something expensive and all-consuming. Frankly, I already have too many expensive and all-consuming hobbies. So. Did I succumb?

Well… sort of. It hasn’t become all-consuming, at least not yet. This, though, is how my desk looks now. Yes, that is another keyboard.

Two mechanical keyboards on my desk, one white and pink and the other black and purple

This is a slightly fake photo, I have to admit, because I’d never use both at once. The bottom one in the photo is the Keychron K10 chassis I wrote about previously, but with a prettier set of keycaps. The black pudding keycaps I bought were fine as a first set, but they weren’t really pretty. Moreover, the switches I’d fitted don’t really let enough light through for the translucent part of the pudding to work as expected. The shine-through colours were quite dim, only really visible in a darkened room. Because of this, the keycaps have been replaced by something prettier, a purple gradient set with blank tops.

Above is the new keyboard, a Royal Kludge 65% model in a pink and white colourway, with slightly less key travel. The reason they don’t normally come out together is: this is my new “travel keyboard”, small enough to fit into my work backpack alongside my laptop. It’s wired only, so I bought a matching pink cable to go with. It’s not too loud for office use, but it’s definitely eye-catching; so far I’ve hardly had a single office trip without at least one person asking me where I got it.

“Now hang on there cutie,” I can hear you saying, “didn’t you already talk about a smaller keyboard in your last keyboard post?” Well yes, I did. But as I said at the time, that keyboard is a 60% model. This one is a 65%, and that extra five percent makes all the difference. It means this one has dedicated cursor keys, rather than have the cursor functions doubled-up. In other words, I can code without chording. It makes my life much easier. Moreover, this one is lighter and less bulky in the backpack, due to the lower travel, and is slightly quieter and less annoying to colleagues. It’s also deliberately intended to go with a new-to-me laptop I’ve been playing with, a small pink model that used to belong to The Child Who Likes Fairies, which I’ve wiped and put Gentoo Linux on, so that I can use it as a small, lightweight laptop to use if I’m ever going to be forced to use a small, lightweight laptop for any period of time—in bed recuperating from anything medical, for example. I wasn’t completely sure how well Bluetooth would be likely to work with Linux on a random laptop, which is the main reason I plumped for a wired-only model.

Are there going to be more keyboard developments. Well… maybe. The blank top keycaps on the Keychron do have shine-through legends on the key fronts, which are a bit ineffective in the same way as the pudding keycaps were. The “clicky” switch I still have on the Insert key is a transparent-body switch, by pure chance—I found it in a friend’s spares box—and I can see what a big difference that makes to the shinethrough effect. Because of that, a set of transparent-body red switches and a keyboard rebuild might be on the horizon at some point; there’s no rush, though. Aside from that, though, I do have enough keyboards now, including keeping that first one as a spare. If I find myself tempted to buy more, I really should just sit on my hands.

Crossing things off (part two)

What, continuing with a craft project instead of starting a new one?

For once, I have managed to continue on with the ongoing craft projects without starting any new ones for, ooh, must be nearly a couple of months now. Most of the crafting time has been devoted to the cross-stitch project I mentioned back in July. Despite a break for my holiday—because it’s too large to go in the luggage—I’ve got on quite a way with it. Here’s the progress to date.

Progress on the new cross stitch project

It’s quite hard to take a decent photograph of, because that black background greatly confuses any camera which attempts any degree of automation. Maybe I should try telling them to use Night Mode.