gpk blog
George Kettleborough
Occasional ramblings about my hobbies and interests, including programming and long-distance walking
October 2026
Top Words
- emacs
- static
- kubernetes
- maps
All posts (31)
I’ve been meaning to write down my thoughts about AI, specifically as it relates to programming, for a while now, but it has never seemed like the right time. Things have been changing rapidly since I first installed an “AI agent” on my PC 14 months ago. Every time I felt I’d gathered my thoughts, something changed:...
I recently bought a house with an Ideal boiler and a wireless thermostat called a “Halo”. The boiler has a “Halo Smart Interface” fitted into it, which should tell the boiler when to fire. The Halo itself contains the thermostat and communicates with the Smart Interface using Zigbee. During some decorating work the...
It’s been about eight years since I started running network services in my home. It all started with Pi-hole, which I ran not on a Raspberry Pi, but an Atom-powered Dell Mini “thin client” I acquired from eBay. Today I run a lot more and it’s become what is now known as a Homelab. I’m quite fond of it all, so...
Currently, “AI agents” like Claude Code are all the rage for software development. These programs facilitate feeding context into LLMs directly from your codebase and environment by empowering the LLM to read/write files and run arbitrary code on your system. If you’re at all security conscious, the above should...
The SQL standard includes a boolean type which, unsurprisingly, represents a Boolean value. This can be useful, but I’m going to argue that it should almost never be used in a normalised data model. The Problems with Boolean Here are few of the problems you’ll inevitably run into if you use boolean in a normalised...
If you are thinking about using an LLM to communicate with me, you will be glad to hear I’ve just developed an exciting new technique which will save us both time. Rarely are such wins possible, so this is surely cause for a celebration. The technique goes as follows: Type up your LLM prompt, (Here’s where it gets...
Metabase is a really nice free software business intelligence tool. It’s quite easy to deploy; they provide a Docker image and all you really need for a production instance is your own database. I use Flux to manage my cluster so I thought it would be nice to utilise image update automation to keep up to date with...
One of the most tried and tested techniques in programming is to build components that map closely to the real-world problems you are trying to solve. In domain-driven design (DDD), one of the key tenets is to have a domain model at the centre of your application. The domain model should be built in close...
Talos Linux is a minimal Linux distribution designed purely for running Kubernetes nodes. It’s pretty neat, check out its website here: https://www.talos.dev/ I use XCP-ng in my homelab for running virtual machines and decided to set up a Talos cluster there. I followed the excellent Getting Started guide but there...
In a previous article I wrote about adding maps to my blog, which is a static site. I use these maps to write about walks I’ve done. These maps can be dragged, rotated and zoomed, but there is no backend tileserver supporting it, it all comes from a single static file. This is thanks to the PMTiles format and...
The West Highland Way is a waymarked, long-distance path in Scotland. It starts just north of Glasgow and ends at Fort William in the Highlands. It is probably the most famous of Scotland’s Great Trails (similar to the National Trails in England and Wales). In September 2024 I walked the West Highland Way over seven...
I’ve been using Kubernetes successfully for a while, but I felt like I still didn’t fully understand the difference between an Ingress and a LoadBalancer. Whenever I tried to find an explanation I’d find some vague thing like “they are sort of the same, but not really”. The problem is I was thinking about these...
Page 1 of 3