Writing
Notes on video, streaming and keeping systems on air.
Typing While the Agent Thinks
The dead time while a coding agent works adds up to a real part of the day. I built wordwright, a terminal typing trainer that teaches grammar and writing in the gap, and this is how its interface is put together.
clitypescriptwritingaiI Got a $95 Million AWS Bill Alert at 3am. Here Is How I Triaged It
AWS emailed me a $95 million bill at 3am. I froze my cards and went to sleep. By morning it was 24 cents. The July 2026 AWS billing bug, and what it really taught me.
awscloud-costsecuritydevopsCan Software Hear an Accent?
An experiment. Can an ordinary speech engine catch a single mispronounced sound in Russian and English, and can it hear prosody, the melody and rhythm that carry an accent?
speechlanguage-learningaiprosodyTalking to Claude Code through an Alexa
An afternoon experiment: wiring an Amazon Echo to drive Claude Code on my own Mac. The fun was not the voice, it was designing a planning conversation around an LLM that is too slow to answer inside Alexa's eight second window, and then thinking about what a real product would need.
claude-codealexahomelabautomationStop Letting AI Mark Its Own Homework
Why letting an AI review its own code is marking its own homework, and how Greenlight enforces a TDD trust boundary between the agents that write tests and the agents that write code.
aiclaude-codetddgreenlightRaspberry Pi Kubernetes Cluster: Load Balancer (Issue #6)
Give bare-metal services real external IPs with MetalLB as a Layer 2 load balancer for the Raspberry Pi cluster.
kuberneteshomelabraspberry-piRaspberry Pi Kubernetes Cluster: NFS Storage (Issue #5)
Set up an NFS server on a worker node and wire it into the cluster as default storage with PersistentVolume and PersistentVolumeClaim manifests.
kuberneteshomelabraspberry-piRaspberry Pi Kubernetes Cluster: Start the Cluster (Issue #4)
Install Kubernetes on the Raspberry Pi cluster: containerd, kubeadm, the Flannel CNI, then initialise the master node and join the workers.
kuberneteshomelabraspberry-piRaspberry Pi Kubernetes Cluster: SSH into the Nodes (Issue #3)
Find your Raspberry Pi nodes on the network with nmap and connect over SSH, both by password and with RSA keys.
kuberneteshomelabraspberry-piRaspberry Pi Kubernetes Cluster: OS Installation (Issue #2)
Flash Ubuntu 22.04 onto SD cards and prepare each Raspberry Pi node: locate the disk, write the image with dd, and enable SSH.
kuberneteshomelabraspberry-piRaspberry Pi Kubernetes Cluster: Equipment (Issue #1)
The first in a series on building a Kubernetes home lab with Raspberry Pi: the prerequisites and the equipment to get started.
kuberneteshomelabraspberry-piWho needs a VPN anyway?
How your data hops across untrusted middleman nodes to reach you, who gets to inspect it along the way, and why that quietly shapes your behaviour.
vpnnetworkingprivacyWhat is a VPN?
Breaking down what a VPN really is by taking each word in turn: what makes a network, what makes it private, and what virtual actually means.
vpnnetworkingprivacyHandling complexity in lambda functions
How middleware can tame the complexity of AWS Lambda functions by isolating business logic from cross cutting concerns, and a look at Lambcycle, a declarative middleware built around a configurable event cycle.
serverlessawslambdatypescript