The bench is what is out right now. The shelves are everything else: the areas I am working through, and whatever has actually been written for each.

Most of these are empty. That is not a gap to apologise for, it is the honest current state, and an area with nothing under it means exactly one thing: I have not written anything worth publishing about it yet. See the-method for what the labels mean and on-digital-gardens for why any of this is public.

There is no order here and nothing is next. Several are always warm at once, which is deliberate and is the only way I get anywhere at all.

Notes are foldered by why I am doing the thing rather than by technology, so a Rust note about a game engine and a Rust note about a CLI do not end up in the same place just because they share a language. The folders are building, machine, craft, foundations, practice, security and teaching, plus formulary for the book about this place.

Building things

Observatory. Simulated telemetry, a Go ingestion API, an Astro dashboard. The main build.

Nothing planted yet.

Game development. The engineering half: game loops, fixed timesteps, ECS, collision, netcode. Godot, Unity, Phaser and others, judged by which question each one answers.

Nothing planted yet.

AI engineering. Building on top of models rather than training them. Tool calling, agent loops, embeddings, retrieval, and the evals that tell you whether any of it helped.

Nothing planted yet.

Understanding the machine

Nand to Tetris. A computer from a single NAND gate, then the software stack that runs on it.

Nothing planted yet.

Networking. What actually happens between a browser and a server. DNS, TLS, reverse proxies, and the Docker networking that runs underneath my own droplet.

Nothing planted yet.

Linux and systems. Processes, permissions, namespaces and cgroups. Mostly this is the answer to why containers behave the way they do.

Nothing planted yet.

Data, databases and operations. Schemas, migrations, query plans, and restoring a backup on purpose to find out whether it was ever a backup.

Nothing planted yet.

Making things look like something

Shaders. Programs that run once per pixel. The fastest feedback loop I have found anywhere, and the one place a wrong answer is often better than the intended one.

Nothing planted yet.

Creative computing. Elm, and Nature of Code, which is where you build a small physics engine by hand and find out what an engine has been hiding.

Nothing planted yet.

Design and game craft. Pixel art, animation, audio, and the design side of games rather than the code.

Nothing planted yet.

Foundations

Math. Sorted by what it is for rather than by academic order: reproducing known results, the working tools that turn up constantly, and the physics and electronics that the hardware work needs.

Nothing planted yet.

Data structures and algorithms. Implement it, trace it by hand, then use it in something real. Understanding and interview prep are different goals and get kept apart.

Nothing planted yet.

Languages. One question per language rather than a syllabus, and building something real in a language instead of exercising its syntax.

Nothing planted yet.

Longer horizons

Security and reverse engineering. Fenced tightly, and increasingly the defensive half: reading my own logs, hardening my own systems, threat modelling things I actually run.

Nothing planted yet.

Neuroevolution. A learning algorithm written from nothing, to find out what the libraries are doing.

Nothing planted yet.

Traditional art. Acrylics and pencils. Materials already bought, journey already started once.

Nothing planted yet.

Japanese. Five minutes a day. That is the whole bar and it is not going up.

Nothing planted yet.

Teaching

Some of this is headed towards volunteering with local groups and schools. The best candidates so far are the ones needing nothing installed: a NAND gate in a browser, a shader where changing one number visibly matters.

Nothing planted yet.