workshop log · always in progress

A lathe of the mind.

Ideas go on the spindle and get turned until they hold a shape. A personal corner of the web for after-hours projects: teaching agents to play an old platformer, running a small cluster at home, automating the house, and taking apart hardware that probably should have stayed together.

01 / projects

What's on the bench

02 / training

Teaching a machine to jump

The longest-running project here is a reinforcement-learning setup where agents learn a classic platformer from scratch. Watching one go from walking straight into the first enemy to clearing whole levels never gets old.

Training runs on whatever hardware is around: a GPU workstation does the heavy lifting, while a small Mac, a laptop and a Linux box take smaller jobs. A queue hands out work, and a little dashboard shows live runs, recordings and progress.

  • observations pixels & game memory
  • hosts 4 trainers + a scheduler
  • best moment the first clean level clear

Visit the training hub

03 / cluster

A small cloud in the house

Part utility and part excuse to learn, the home cluster ties single-board computers and bigger machines together over a private mesh, with a job scheduler on top and a health console that shows what's up and what isn't.

The rule is boring and strict: everything is local-first, every service has an undo, and nothing reboots without a human saying so.

04 / tinkering

Hardware that talks back

Off the keyboard: an FPGA flash cart for an 8-bit console, a drive recovery that is teaching me patience, home-automation gadgets, and a notebook of small-engine power ideas that will stay on paper until the math is convincing.

05 / now

Now

  1. training Agents that read enemy positions as well as pixels.
  2. cluster Moving shared services onto dedicated small nodes.
  3. storage Making finished runs land on one reservoir, checksummed.
  4. web This page, plain and fast.

06 / notes

Design notes

07 / colophon

About this site

Hand-written HTML and one CSS file. No JavaScript, no trackers, no cookies, no web fonts, no build step. It's served as static files from a small machine at home, with certificates from Let's Encrypt.