Notes on this site

This site is an index of my work: the books, the explainer videos, the projects I am building, and the articles I publish on Medium.

The name at the top runs as a Deployment on a small simulated Kubernetes cluster. Each block is one pod, and the three nodes underneath are named after Pune. When you click a block, its pod is deleted, it turns orange while it shuts down, and the ReplicaSet controller creates a replacement. The replacement waits above the slot until the scheduler binds it to the least loaded node, then drops into place and turns blue once its container starts. The console under the name shows what kubectl would report: the deployment’s ready count, each node’s pods, and the event stream, with repeated events folded into one line the way the API server folds them.

You can try the rest of the controller from the console. A rollout restart replaces the pods a quarter at a time with a new colour for the new revision. Draining a node evicts its pods and the scheduler places their replacements on the other two. Draining all three leaves every pod Pending with a FailedScheduling warning until you uncordon one. The chaos monkey makes a container crash every couple of seconds so you can watch a restart. People who ask their system for less motion get the same cluster without the falling and sinking, and can switch the motion on from the console.

The simulation is a few hundred lines of TypeScript with no DOM in it, and the blocks are drawn with three.js. The rest of the site is static HTML built with Astro and deployed on Cloudflare. Writing, projects and videos are Markdown files with a few lines of frontmatter, so adding an entry means adding a file. Articles that live on Medium are listed here with a link out rather than copied.

If you spot a mistake, write to me at the address on the home page.