Python

Across writing, notes, and work.

2026

AI image detector, one-class

A one-class detector trained only on real images, scoring how atypical an image is in feature space. The hypothesis was that it would generalise to unseen generators better than a discriminative classifier. It did not: the baseline won, including on the held-out generator. A negative result cleanly obtained, with a distributional explanation.

Work

2026

AI image detector

A compact CNN classifying images as real or AI-generated, trained on Defactify across five generators, small enough at 1.7 MB to run on CPU. The part that matters is the holdout experiment: train with one generator withheld, then report per-generator recall, so the number is transfer rather than memorisation.

Work

2026

Intent and code

An empirical series on whether an author's why can be recovered from what the code does. You cannot read a purpose off code when several purposes fit it equally well. Checking a declared purpose beats guessing, but dies when the honest declaration already justifies the behaviour.

Work

2026

Does an injected date shift an LLM's preferences?

A pre-registered study of whether putting today's date in a system prompt shifts a model's answers on questions the date is irrelevant to. 39,200 generations. Mixed: irrelevant questions reach significance with tiny effects, and the bigger lever is date versus no date.

Work

2026

Neural quadrature

A small network that learns a quadrature rule from data, mapping a function and its bounds straight to the value of its integral. Fixed bounds are exactly linear, variable bounds genuinely nonlinear, and wide bounds break naive training until inputs and targets are log-compressed.

Work

2026

Tension

An operator that deliberates across several cheap passes, stays silent while unsure, and decides for itself when to answer. Adaptive compute worked but is essentially PonderNet. The orthogonal-synthesis geometry is the one result both new and better, extrapolating well outside its training range.

Work