RSS Amplifier

Blog

Jack Jackson's Blog

Recent content on Jack Jackson's Blog

blog.scubbo.orgSource feed ↗94 posts

Live Last read · last published · next check

Latest posts

Animal Verbs

A strange observation the other day - a disproportionate number of animal names are themselves verbs.

Weeknotes 2026-05-10

Whoof, it’s really been a month since my last post ? That…tracks, honestly.

Weeknotes 2026-04-12

Things are a bit better than last week , thankfully.

Giving My Kubernetes Cluster Its Own DNS Identity

(Disclaimer - as with previous posts , this post was originally based on output generated by an LLM which I used to investigate and resolve the problem, though every word of it has been reviewed by my actual human brain, and meaningful edits were made) 
 I noticed something odd in my AdGuard Home dashboard: one host — culex 1 , a Kubernetes control-plane node — appeared to be responsible for…

Weeknotes 2026-04-05

Oof, it’s been a while. Not surprising, as this has been the most stressful couple of months I’ve had in a long time.

Accessing Homelab Services Over Tailscale

I’ve been using Tailscale as the VPN for my homelab for a while now, but I’d never actually tried to access my internal services from a remote location until recently. Turns out, just being on the tailnet doesn’t mean everything magically works - there were a few layers of configuration (and one very long detour) between “connected to Tailscale” and “watching…

Snowboarding Philosophy

Apologies for the LinkedIn Posting , but I’ve had an observation rattling around in my brain for weeks that I just have to get out. What else is a blog for, huh?

2025 Wrap Up Articles

Standout articles I read this year

Switching from Keycloak to Authentik

Remember when I set up Keycloak for SSO ? Well, I’ve switched to Authentik , and it was surprisingly painless.

2025 Wrap Up Books

Continuing a trend started way back in the seventh post on this blog , a summary of the books that I read this year.

Weeknotes 2025-11-30

What I Did

Weeknotes 2025-11-24

A little bit later than I intended, but…still counts!

Weeknotes 2025-11-16

I forgot I used to have the “ What I Did/What I’ll Do ” format for these - that’s a nice way to structure them.

Weeknotes 2025-11-09

So much for consistency. Forgive me Internet, for I have sinned - it has been five months since my last weeknotes.

MTG MCP 2

Another day, another instance of tinkering with my Magic: The Gathering MCP Server .

MTG MCP

I just built my first MCP 1 Server, and it was awesome.

Authentication in the New World

Contrary to my hopes in the previous post , Vault did not magically come back up again. I’m not sure why, but the ZVols created on TrueNAS by the previous cluster had truly gone away: thanks to zfs get , I could see that the creation times of all iSCSI ZVols was in the last week or so, i.e. while I’ve been rebuilding, not from the previous cluster. I guess when the StorageClass was…

A New Start

A couple of days ago, the Hard Drive that I’d initially been using as my NAS (before investing in a beefy TrueNAS setup) failed. Since my homelab Kubernetes cluster predated the TrueNAS, this was the drive on which I’d stored configuration files for the cluster itself, which meant the cluster immediately went down. I probably could have salvaged it while flying the plane, but this was…

Weeknotes: 2025-05-31

Written from the Oakland airport, on my way to L.A. to attend a live show of Dimension 20 with my good friend Patrick. 
 God, time has flown by. Is this really the end of my fifth week at Vercel? Feels like a few days. That’s a good sign, I suppose!

Weeknotes: 2025-05-18

Wow, have I really been at Vercel for three weeks? Time flies when you’re learning fast!

Weeknotes: 2025-04-18

Continuing my pattern of writing “week"notes every fortnight. It’s not intentional, I swear, it’s just working out that way!

Write With Sudo

A snippet that I find myself needing more often than I’d like to admit - when you’ve opened a file for editing in vim , but when you go to save you are reminded that it needs root permissions to do so.

Snowboarding Philosophy, and A Linguistic Tangent

Depending on how you look at it, I just finished up either the worst or the best snowboarding season of my life so far.

Weeknotes: 2025-04-06

Looks like I’m averaging about one “weeknotes” post every two weeks. That’s actually not too bad!

Excluding Weeknotes From Main Page

I just went to write up a new weeknotes post, and noticed that that would have meant that all three previewed posts on my main page would have been weeknotes. That simply will not do! So into the depths of Hugo layouts I ventured once more.

Weeknotes the Third

I had intended to write this weeknotes on the amusing rabbit-hole of yak-shaving I’d fallen down:

Weeknotes the Second: Month Notes

Well this has already been an interesting experiment. Only one week in, and I already feel more motivated and focused to work on personal projects and the goals that I’d set. Some of that might just be the ephemeral “New System Energy” that is plentiful when you start a new organizational system or habit, but what the hey; even if it’s fleeting, I’ll gladly ride it as…

Gitea Actions

As I hoped in my last post , I’ve set up Gitea Actions on my homelab, with a view to completely replacing Drone which I’ve found to be pretty buggy and missing some core features 1 . The process was reasonably smooth, but not entirely turnkey, so I’ve laid out the steps I took in the hopes that they’ll help someone else.

Weeknotes: The First

I’ve recently been struggling with a feeling of lack of tangible progress towards goals, or even of any idea of what those goals are or should be. Inspired both by GTD and by Simon Willison’s practice , I’ve decided to start writing “weeknotes” - records of what I’ve done each week, and what I’d like to focus on.

Jellyfin Over Tailscale

I know just enough about computer security to know that I don’t know enough about computer security, so I default to keeping my systems as closed-off from the outside world as possible. I use Cloudflare Tunnels for the few systems that I want to make externally available 1 (like Gitea ), and Tailscale to access “internal” services or ssh while on-the-go.

2024 Wrap Up Books

Continuing a trend started way back in the seventh post on this blog , a summary of the books that I read this year.

Zig Zig Zag, as Fast as You Can

In the spirit of one of my favourite books - Seven Languages In Seven Weeks - I’ve been working through this year’s Advent of Code in Zig , a “ general-purpose programming language and toolchain for maintaining robust, optimal , and reusable software ” 1 .

Upsert in Postgres

A real quick blog post just to record a useful technique I just discovered that I’ll want to have a record for in the future - if inserting into a Postgres table, so long as you’re on >9.5 , you can upsert-and-overwrite with the following syntax:

Attribution on Mastodon

Just a quick one to note that, following instructions on this article , I&rsquo;ve added a meta tag to posts from this blog ( <meta name="fediverse:creator" content="scubbo@fosstodon.org" /> 1 ) which should, hopefully, result in attribution when articles are shared on Mastodon (and apparently Discord too 🤷🏻‍♂️).

Uses Page

I&rsquo;ve fallen out of the habit of blogging, recently, due to some personal/family stuff going down. In an effort to kickstart that process again, I&rsquo;m taking on a smaller task that requires significantly less effortful thought - a rudimentary &ldquo;Uses&rdquo; page , inspired by the general practice of listing the stuff™️ used.

Auto Announce on Mastodon

I just set up a step in my publication pipeline to automatically post on Mastodon when I publish a new blog post.

Base App Infrastructure

In my previous post , I had figured out how to inject Vault secrets into Kubernetes Secrets using the Vault Secrets Operator . My runthrough of the walkthrough worked, but I swiftly ran into namespacing issues when trying to use it &ldquo; in production &rdquo;.

Conditional Cleanups in Pytest

A helpful pattern in testing is to take some cleanup action only if the test passes/fails. For instance, for a test which interacts with an on-filesystem database, the database should be deleted if the test passes, but it should stick around if the test fails so that the developer can examine it and debug.

Vault Secrets Into K8s

Continuing my recent efforts to make authentication on my homelab cluster more &ldquo;joined-up&rdquo; and automated, this weekend I dug into linking Vault to Kubernetes so that pods could authenticate via shared secrets without me having to manually create the secrets in Kubernetes.

Keycloak Backup

Setting up regular backup for my Keycloak installation was a lot trickier than I expected!

OIDC on K8s

I just configured OIDC login for the first service on my Homelab.

PVC Debug Pod

I&rsquo;ve been annoyed sufficiently-often by the fact that there is no single kubectl command to &ldquo; create a pod, and attach a PVC to it &rdquo; that I threw together the following script:

Project Management and Async Functions

In my greatest display yet of over-engineering and procrastinating-with-tooling, I&rsquo;ve started self-hosting OpenProject to track the tasks I want to carry out on my homelab (and their dependencies).

Backups and Updates and Dependencies and Resiliency

This post is going to be a bit of a meander. It starts with the description of a bug (and appropriate fix, in the hopes of helping a fellow unfortunate ), continues on through a re-consideration of software engineering practice, and ends with a bit of pretentious terminological philosophy. Strap in, let&rsquo;s go!

Automatic Merging

When working on my personal projects, I typically just push straight to main - opening a PR just to approve it seems entirely pointless, as if I had been able to find any issues in my own work, I wouldn&rsquo;t wait to do it in a PR! However, this does mean that, if I forget to run any quality checkers (linters, tests, etc.), I won&rsquo;t find out about it until on: push GitHub Action runs, and…

Adding RSS

Inspired by this article , I&rsquo;ve added (or attempted to?) an RSS feed to this blog. From Hugo&rsquo;s docs it seems pretty simple, but please let me know if you run into any issues!

2023 Wrap Up - Articles

Stand-outs among articles I read this year - abandoning the table layout from last year in favour of readability.

2023 Wrap Up - Books

Another End Of Year Wrap-up, focusing (as the previous installations did) initially on reading 1 .

Work in a Post Scarcity Utopia

Another snippet from Iain M. Banks&rsquo; wonderful &ldquo; Use Of Weapons &rdquo;, detailing the adventures of the mercenary called Zakalwe within and around the interstellar post-scarcity AI-led super-high-tech Culture. Here, we see a flashback to his cultural adjustment period after being recruited.

Almost All Numbers Are Normal

&ldquo;Almost All Numbers Are Normal&rdquo; is a delightful sentence. In just five words, it relates three mathematical concepts, in a way which is true but misleading - the meaning of the sentence is almost exactly the opposite of what a layman would expect.