// FIELD NOTES FROM THE BLIND
Strongly Opinionated,
Weakly Typed.
Engineering write-ups from a guy who hunts ducks, dives caves, and ships side projects. If it runs like a duck and deploys like a duck — ship it.
$ python duck.py if walks_like(duck) and quacks_like(duck): ship_it() # it's a duck. don't overthink it. $
$ ls -lt ~/posts see all → /blog
ARMORY // SECURED
-rw-r--r-- oct 11 four-forty-two-am.md Designing and building a recoil calculator out loud, driving to the boat landing in the dark. -rw-r--r-- sep 12 its-a-text-file.md Nearly forty years of peeling back layers on software, and the big secret at the bottom is always the same: a file with characters in it, sitting in a folder. -rw-r--r-- aug 24 esphome-irrigation-controller.md Replacing an Orbit B-hyve with an ESP32 and a relay board — the wiring, the YAML, and why the sprinklers keep running even if the server rack doesn't. -rw-r--r-- aug 12 wled-permanent-house-lights.md The build log for my permanent holiday lighting — three runs, 961 individually-addressable LEDs, one Dig-Quad, and every obsessive detail from J-channel to the data cables. -rw-r--r-- jul 15 standards-in-any-language.md The concepts behind the .NET gates, generalized. Scars become checks, checks become a ratchet that only turns one way — and that's the whole trick to coding with LLMs.
$ ls -la ~/projects # freshest first see all → /projects
DECOYS // READY
oct 12 · rill Go Fast, MCP-native memory server. One database for documents, graph, and vector search. Built for multi-agent teams. oct 01 ★1 retwisted Rust Faithful Rust remake of After Dark: Totally Twisted (1995) as a macOS screen saver. Bring your own originals. sep 30 · tresbbs Go tresbbs — A faithful modern Go recreation of TriBBS. sep 04 ★1 fastbook-fixed Jupyter Notebook Fixed starter set of the fast.ai course notebooks (fastbook), debugged to run on current fastai + Python 3.13. Chapters 01-07 verified. sep 04 · esphome-configs ESPHome YAML for the devices running my house — real as-flashed configs, not demos aug 18 · agent-web-api Python Self-hosted web search + fetch for coding agents — SearXNG + trafilatura, zero API quotas
# newest 6 of 30 — see all → /projects
$ ls -l ~/playground # things to poke at see all → /playground
drwxr-xr-x oct 21 neuron-census/ Neuron Census · 36,864 neurons, one question We trained our own GPT from scratch, then asked every neuron in it whether it has one job. Click around inside the model in 3D, read what two blind raters found, delete its weak and strong firings, and turn one neuron up to see what it does. drwxr-xr-x oct 20 neuron-explorer/ Neuron Explorer · What every neuron likes Click a photo and watch it climb four image models, layer by layer, in 3D: every neuron a tile that glows when the photo fires it. Then open any neuron to see the photos it likes most, and the few names that passed a test. drwxr-xr-x oct 20 git/ Git Pond · Nothing gets lost Git with the lights on: 26 lessons from git init to rebase -i, bisect, pull requests and force pushes, then 12 challenges scored against par, plus a simulator for your team's branching strategy. Branches are sticky notes, HEAD is a duck, and nothing you committed is ever really gone. Real commands, real hashes. drwxr-xr-x oct 19 sql/ SQL Rows · Show me the rows SQL with the actual data instead of Venn diagrams. Watch a join test every pair, walk into the traps (the WHERE that eats a LEFT JOIN, fan-out, the NOT IN that returns nobody), then GROUP BY, CASE and window functions. drwxr-xr-x oct 18 feeding-time/ Feeding Time · Feed the fish, grab the coins A fish-tank money game in the spirit of Insaniquarium: feed the guppies, grab the coins, buy the egg, and shoot whatever comes through the portal. Built for a phone. drwxr-xr-x oct 18 holdem/ Hold'em Retriever · The math behind every call A Limit Hold'em trainer against a table of tunable bots, with a coach that shows the pot odds, equity and EV behind every decision. drwxr-xr-x oct 18 shooting-hours/ Shooting Hours · When the light goes legal Wisconsin shooting hours for wherever you are standing, straight from the DNR's own tables: your area, your zone minutes, daylight saving handled. Live countdown, works offline in the blind. drwxr-xr-x oct 17 power/ Power Injection · Where the volts go LED power injection for WLED builds, solved as one circuit. Mix 5, 12 and 24 V strings, drag the feeds, watch the voltage and colour at every pixel. drwxr-xr-x oct 15 transformer/ Tiny Transformer · Inside a tiny language model A real 432k-parameter model trained on Jules Verne, live in your browser. Every weight on screen: trace a guess, switch off heads, watch it learn. drwxr-xr-x oct 11 recoil/ Recoil · Where the kick comes from Recoil & ballistics calculator: shotshell, rifle, pistol, rimfire. Compare two loads, then see why heavy-and-slow kicks harder. drwxr-xr-x oct 06 one-gate/ One Gate · Build a computer from one gate From a single transistor to a Turing-complete machine, using nothing but NAND. Push the switches, watch the signal move.
PLAYGROUND // OPEN
$ whoamimore → /whoami
Engineering leader by day. By night: homelabber, cave diver, duck hunter, 3D printer wrangler, and serial side-project starter (and — occasionally — finisher).
The name? Duck typing is how dynamic languages decide what a thing is: if it walks like a duck and quacks like a duck, it's a duck. I just happen to also sit in a blind at 5 a.m. with a shotgun and a thermos.
GOOD GIRL // FIND THE BIRD