Research

Papers and write-ups from the work, and the method behind it.

Write-ups

2026

  1. Article · Serenity · Milestone 4: making the frame fast

    Applying the optimizations shipped engines use once the image is right, checking every stage against them, and retraining the network for the new input.

  2. Article · Cradle · Buffers and shapes

    Give our data rows and columns, make ownership explicit, and add matrices on the GPU.

  3. Article · Dolittle · Two views of a thinking model

    What generated thinking tells us, what an activation verbalizer adds, and how to read the places where they disagree.

  4. Article · Dolittle · Choosing a model we can run

    Comparing two Qwen3/NLA pairs on a 3090 Ti, and why the 8B pair is the starting point for Dolittle.

  5. Article · Serenity · Milestone 3: turning samples into an image

    Building and training a reconstruction model, running it inside the renderer, and seeing what survives denoising and upscaling.

  6. Article · Serenity · Milestone 2: reusing work with ReSTIR

    Keeping useful paths, giving the glass its own work, and measuring what reuse buys. The connections to inference run through the pipeline.

  7. Article · Cradle · The cradle

    Find a GPU, run our first C# kernel, and check every result before building on it.

  8. Article · Cradle · Prologue: Getting the cradle ready

    Set up the tools, build the starting program, and check the dependencies we’ll use in the first lesson.

  9. Article · Serenity · Milestone 1: building the baseline

    The scene, the reference image, and the measurements behind the first milestone, including the bugs that plausible images did not reveal.

  10. Post · LinkedIn · · Charlotte Charlotte now runs on an iPhone, experimentally: Qwen3 0.6B loads and answers in the browser, with a short context.
  11. Post · LinkedIn · · Serenity Serenity's first lit frame: a brass sphere on a checkerboard at night, lit by two fireflies, a nod to Turner Whitted's 1980 spheres over a checkerboard.
  12. Post · LinkedIn · · Ariadne On Monday I said I'd go back to Shannon and look for the proof behind a transformer's numbers.
  13. Post · LinkedIn · · Charlotte Qwen3 0.6B decoding at 270 tokens per second, entirely in a Chrome tab on an M3 Max.
  14. Article · GitHub · · Charlotte Debrief: what building Charlotte taught me
  15. Post · LinkedIn · · Charlotte Review then caught what the test couldn't.
  16. Post · LinkedIn · · Ariadne While building Charlotte, I started tagging every number in a transformer's forward pass as derived, fitted from experiments, or convention.
  17. Post · LinkedIn · · Ariadne While building Charlotte, my latest inference harness, I started asking harder questions about every step: why this way, and why this number.
  18. Post · LinkedIn · · C++ corpus I added data structures and algorithms to my C++ performance corpus: 54 new guidelines in two categories, one for CPU hot paths and one for GPU.
  19. Post · LinkedIn · · Seymour Nobody reads my posts about GPU memory bandwidth. Let's see if they'll play them.
  20. Post · LinkedIn · · KV cache Laurie Kirk's CppCon keynote names something inference engineers deal with every day.
  21. Post · LinkedIn · · Seymour So I built Seymour, a hands-on tour of why your GPU is starving.
  22. Article · andrewphunter.com · · Reasoning tokens Reasoning Tokens Steer the Trajectory
  23. Post · LinkedIn · · C++ corpus C++ evaluates every function argument before the call, so value_or and try_emplace build a fallback value even when it is never used.
  24. Post · LinkedIn · · Local inference I spent half this week sure my local model had a reasoning problem.
  25. Post · LinkedIn · · C++ corpus We added WebAssembly to our C++ performance corpus.

How the work runs

  • Start where the field started. The tokenizer work begins with Shannon’s 1948 paper, not with the latest tokenizer.
  • Build it by hand. A library hides exactly the choke points worth studying, so the builds hand-roll what a library would provide.
  • Treat a hyperparameter as the place the theory stopped. A number that has to be tuned is a question that has not been answered yet.
  • Credit prior art before claiming anything. Most good ideas have been had before; the work names who had them and claims only what is left.
  • Publish what fails along with what holds. Results go out as papers, articles or posts, whichever fits the result. This page brings together the project articles, papers, and selected posts.

The builds behind the work, and the question each one asks, are on the Projects page. Code lives at github.com/plainsight-systems; longer essays at andrewphunter.com.