Technical Reports
Ten documents, and
what each one admits.
Every project here is written up properly — architecture, method, results, and a
section on what it does not do. That last section is the one I'd read first.
Roughly 62 pages in total, or one page if you only read the summary. Each report is
generated from the markdown source committed
in its own repository, so the document and the code cannot drift apart, and reads in the
browser as well as in the PDF. Every figure is
reproduced from that project's test suite, experiment log, or results file.
Format
Summary · 1 p
Project
All six
Start here. Six projects and the honest result of each, on one page —
including the three whose central idea did not work.
Every figure on it was re-verified against the repository or technical report it
came from rather than copied forward from an earlier draft, which is how two stale
numbers and one unreproducible one were caught.
Format
Ledger · 3 pp
Project
All six
Every headline number on this site, the file it comes from, and the command that
regenerates it.
Dated, because data sources and package versions move. It includes the results a
re-check overturned: a regime result that only holds for one window, and a crypto
interval that a pre-registered replication did not reproduce.
Format
Paper · 4 pp
Project
RL for Crypto & Stocks
The headline result is negative, and that is the point: on real markets the agent has
no seed-robust edge over buy-and-hold, and the significance tooling catches a
single-seed “+275%” run as a false positive.
PPO with Generalized Advantage Estimation implemented from first principles, two
custom Gymnasium environments, and four research questions on generalization,
domain randomization, seed robustness and cross-sectional allocation. Written in
LaTeX, two-column, rebuilt by CI on every push so the PDF never drifts from
its source.
Format
Report · 13 pp
Project
AlphaZero Chess Engine
Scaling self-play 10× bought 14 Elo. The diagnosis is that this is a self-play
signal problem, not a compute ceiling — draw-heavy self-play starves the
value head of gradient.
The longest document here. Network, PUCT search and training loop from first
principles; a controlled study of the training plateau; and a classical alpha-beta
engine built as a control to confirm the evaluation harness itself was sound.
Format
Report · 8 pp
Project
AlphaGlyph
72% probability of backtest overfitting on its own strategy grid. An earlier run of
identical code on a different window said 63% — and the instability is itself
the finding.
Walk-forward simulation with rolling Kelly sizing and transaction costs, then
Probabilistic and Deflated Sharpe ratios, Fama-French attribution, and combinatorial
purged cross-validation to quantify how much of the result is selection bias.
Format
Report · 6 pp
Project
QuantumSafe Scan
The interesting problem isn't matching the string RSA — it's not
matching it inside a comment, a docstring, or a code path nothing ever calls.
A hybrid AST-and-regex engine with usage awareness and reachability ranking, measured
against a labeled nine-language benchmark: 100% precision where naive pattern matching
scores 49.1%, with 100% recall under mutation testing. The companion whitepaper covers
the full threat model, the mathematics of Shor and Grover, and a lattice-based KEM
written from scratch.
Format
Report · 6 pp
Project
Tradeski
A market dashboard looks like a data-visualization problem and is actually an
API-quota problem. The design question is not how to draw it — it's how stale
each number is allowed to be.
Per-source cache TTLs chosen from how fast each quantity actually moves, ten
indicators hand-implemented on NumPy arrays with their boundary conditions handled
explicitly, and a language-model assistant grounded in the user's real holdings
before it is called. The limitations section is unusually long on purpose.
Format
Report · 6 pp
Project
Neural Canvas
Getting hand landmarks is a solved problem you can import. Then you draw a line with
it, and the line is unusable — the jitter and the signal are the same size.
Why a fixed low-pass filter cannot work for drawing, and what the one-euro filter
does instead: a cutoff frequency derived from the smoothed velocity, so the pen
smooths hard at rest and passes through untouched at speed. Plus dropout grace
periods, gesture debouncing, and kaleidoscopic symmetry as a stroke-path transform.