I occasionally write blog posts where I talk about software, hardware, or even plants that I'm working on.
Recent Posts
Replatforming RKE1 to Nix-based K8s - Part 1
RKE1 (Rancher Kubernetes Engine 1) was Rancher’s first way of automatically deploying Kubernetes to a cluster. Think of it like minikube or on-prem EKS or K3s. Three years ago, it was marked as end of life (EoL) with the last release being July 2025. They have no migration guide and their strategy is just rebuild the cluster. I have 3 nodes a bunch of services running in Kubernetes. I don’t want to take everything down and rebuild it all. Let’s rebuild it while the plane is in the air.
Continue reading...Syncing my Christmas lights to my Sonos
Last year, I setup a Christmas lights show at my house. I started with some basic light sequences just to learn. I wrote a post on the basics. This year, I upped the ante and added more lights and starting making sequences linked to music.
I have one light controller running Falcon Controller/FPP, a Kulp K8-B controller. How do I get sound out? I looked at options for getting sound out to a speaker. For my first pass, I decided to push it to a Sonos Move speaker since I had one.
Continue reading...Blogging on the Fediverse with ActivityPub
Previously, if you wanted to subscribe to changes from this blog, you’d have to subscribe to the RSS feed, but as of today you can also subscribe to it in your preferred Fediverse client, like Mastodon. Note this is considered Beta quality. If you have any issues, let me know.
What is the Fediverse? It’s a protocol for federated (meaning many independently operated) social networks, kind of like email. Under the hood, it uses a protocol called ActivityPub to define the interactions between different servers.
There’s a number of big implementations of this, like Mastodon, that I could have used. However, I wanted to see if it was possible to integrate directly into my static website generator, Hugo and generate all the content directly out of the posts I already write without having to maintain another program and expose another domain name for people to remember (e.g. blog@mastodon.technowizardry.net.)
This post walks through the work I did to make this work.
Continue reading...