Coinupbtc · Lab

The lab

Things to play with, and things I measured

Toys first, instruments second. Where a number was measured on my own machines, it links to the file. For who I am and the work behind this, start at coinupbtc.com.

Play

Things to play with

  • Games

    The Arcade

    Fourteen browser games I built off the clock, phone-first: horde survivors, a bridge-physics puzzle, tower defence, a rhythm game, blackjack, a zombie FPS. Pick one and play.

    Checked Every game is held to the same quality checklist: 11 of 14 pass every item today.

    Open the arcade
  • Live data

    Blockfield

    The Bitcoin mempool as a block war: the next three blocks fighting for fee bands, live, with inscriptions floating through. Refreshes itself; nothing to configure.

    Live Reads mempool.space every few seconds. The purge floor, hashrate and halving countdown are the real numbers right now.

    Watch it
  • Toy

    Falling sand

    Draw with sand, water, stone, wood and fire and let them react. Drop little people in and build them a bridge. A chemistry set with no cleanup.

    Try Pick 👤 Person, draw a floor, then light a fire under the wood.

    Play it
  • Game

    Gravity lander

    Land on the moon from your phone. Thrust is a thumb, the fuel is real, and the ground is less forgiving than it looks.

    Try Built phone-first in Three.js; works in landscape and portrait.

    Fly it
  • Measurement

    Moiré bench

    Two grids that almost line up. The pattern you see is where they disagree. A vernier caliper reads small differences the same way: a tiny mismatch between two scales becomes easy to see.

    Try Move one layer’s spacing by a single 1% step and watch the pattern shift a long way.

    Open the demo

The bench

Four things measured

  • Performance

    Render cost

    Selecting one row used to rebuild every row in the list. This runs the bug and the fix side by side and times both in your browser.

    Measured In the real app: 13 s before the fix, 7.5 ms after, at 516 records.

    Open the demo
  • AI serving

    Speculative decoding

    A small model drafts the next few words and the big model checks them all in one pass. Move the sliders to see when drafting saves time and when it costs time.

    Measured On a copy-heavy refactor, 34.33 → 74.48 tokens per second. Report §9

    Open the demo
  • Capacity planning

    Memory packer

    Pick one, two or three DGX Spark machines and the models you want to run, and see whether they fit. Each machine has its own memory; two machines are not one big pool.

    Measured 121 GiB per machine; the video model holds 89.42 GiB on one after loading. Results

    Open the demo
  • Agent efficiency

    Context carry

    Every agent step re-reads the whole session, every tool result included. Watch old tool output pile up step by step, then turn on clearing it and see what that saves.

    Measured On my agent, 50.8% of everything read was old tool output, each token re-read 54×. The audit

    Open the demo

Notes

Write-ups

  • Lean AI

    A quality engineer's waste walk through four months of Hermes Agent: 7.6 billion tokens read to write 36 million. Half of what it reads is tool output it already read, and the fix was already in Hermes, switched off.

  • Hermes Agent on two DGX Sparks

    Four months of Nous Research's agent on a local DeepSeek-V4.1 pair: what runs, the three engine patches now upstream, and four lessons from running Hermes all day, checked against today's code.

  • A 90-second stall, fixed

    One long prompt stalled every live conversation on a two-machine setup, for two minutes on mine. I wrote the patch and it was merged upstream. The bug, the fix, and who measured what.