Writing and commentary

A public research journal

Paper reactions, research notes, hardware lessons, and commentary on what seems important or overhyped in the current research landscape.

Line chart of balanced accuracy of the input's own trial mean against planted effect size, rising from chance at 0.5 SD to the 0.50 target at 6 SD.
Oct 18, 2026 · Research log

A gate that could not fail for the right reason

The last direction of the loop asked whether a latent trained with the label in the loop reads better than a static projection; its synthetic gate failed because the planted effect was invisible to the input's own trial mean, the recalibrated rerun passed but favoured the label-free twin, and the real-data input gate then stopped the direction.

preregistrationresearch methodologystate-space modelssynthetic validation
Dot plot for seven model configurations showing, for each latent layer, its own-delta accuracy next to the input's on the same feature row; no layer clears its input by more than the noise.
Oct 18, 2026 · Research log

Does a hidden layer know more than its input?

Probing a latent layer against chance is the wrong test when the layer is a filter of its input. Against the input itself, on the explore half of an explore/confirm split, under block folds and a design null, no HLDS layer showed a significant gain in seven labelled configurations, and 38 more never got far enough to be screened.

state-space modelspreregistrationrepresentation learningresearch methodology
Left, dot plot of the participation ratio of two latent layers under four model designs, rising from about 1 to about 5 for one layer; right, accuracy above the null for the input and the two layers in one design, where the input is highest on every row.
Oct 18, 2026 · Research log

Redesigning a model so its latents count

Giving the model a richer input and fitting it by expectation-maximization (EM) made its upper layers use more dimensions, one of them about five instead of one, but in the labelled explore screen neither layer decoded the three conditions as well as the input it was built from.

state-space modelspreregistrationrepresentation learningresearch methodology
Dot plot of accuracy above the design null for six likelihood classifiers, from a static Gaussian to a full per-condition HLDS, and three input probes; the full HLDS interval crosses zero, and its point estimate sits below the static Gaussian and all three input probes.
Oct 18, 2026 · Research log

When the static model is the honest baseline

A per-condition HLDS that classifies by likelihood passed a synthetic check for planted dynamics, then failed every pre-registered item on the 14 explore recordings; a static per-condition Gaussian did at least as well, and temporal structure added nothing measurable.

state-space modelsgenerative classificationpreregistrationtime-series classification
Oct 15, 2026 · Research log

A research loop across two clusters

Written targets, a promotion rule from small screens to large grids, bit-for-bit gates and canaries let a fast experiment loop stay honest; most of what the gates caught was plumbing, and one catch was a conclusion we had drawn too early.

research methodologyhpcscientific machine learningreproducibility
Bar chart showing held-out accuracy rising as the inputs were log-scaled and the particle state was corrected for the mean fluid velocity.
Oct 15, 2026 · Research log

Inputs before capacity: one surrogate for 36 suspensions

A shared model for 36 suspensions failed on unseen cases until two inputs were put on a log scale; a physics correction to the reference frame helped further, while width and depth changed almost nothing.

scientific machine learninggeneralizationfluid dynamicssurrogate modeling
Twelve flow maps around a single particle for three Reynolds numbers and four density ratios, each showing a trailing wake behind the particle.
Oct 15, 2026 · Research log

Superposing learned one-particle flows: a surrogate for settling suspensions

One equivariant network, evaluated once per neighbouring particle and summed, reconstructs particle-resolved flow; an outer loop that makes each particle's state consistent with its neighbours adds the most where particles crowd.

scientific machine learningfluid dynamicsequivariant networkssurrogate modeling
Four line charts of prediction accuracy over refinement steps for held-out cases, where accelerated methods reach a plateau quickly and then fall below the slow constant step.
Oct 15, 2026 · Research log

When converging is the wrong goal

Adaptive and accelerated step rules failed during training because the map they iterate changes every cycle; at inference, where the map is fixed, they converge quickly to a fixed point that predicts worse than the partly converged state.

fixed-point iterationscientific machine learningoptimizationfluid dynamics
Sep 8, 2026 · Research log

A claim wall for biomechanics

A mechanics engine for lifters is only trustworthy if the outputs it cannot support are unreachable by construction, not merely omitted from the current release.

biomechanicssoftware designverificationdigital twins
Sep 8, 2026 · Teaching

Every number in the notebook has an oracle

A workshop number only counts once something the author did not derive agrees with it; when it does not, the notebook says so instead of hiding it.

teachingnumerical verificationoptimizationjupyter
Sep 8, 2026 · Design log

Why Gradus refuses to let a language model grade anything at runtime

Gradus grades and diagnoses with rules, not a model, so every outcome is reproducible; the price is a heavy authoring contract and an audit for hollow content.

adaptive learningdeterministic gradingproduct designeducation
Sep 8, 2026 · Research log

Preregistering against yourself: six phases of trying to falsify a memory architecture

Locked memos, validity gates, and paired-seed statistics turned a memory-architecture idea into a program where a negative result is as usable as a positive one.

kernel methodspreregistrationsequence modelingresearch methodologyhpc
Sep 8, 2026 · Design log

The camera push was never on the critical path

The capture loop closed with hand-dialed recipes plus a longitudinal log; the Sony live push arrived last, set four of six fields, and was an optimization.

photography toolingfeedback loopscamera sdkproduct designlocal-first
Zebrafish calcium-imaging field with the current annotated regions projected over the recording.
Jul 30, 2026 · Research log

Source separation for zebrafish calcium imaging

The strongest result was not a single winning denoiser: preserving the activity carrier and using spatial separation features for ranking proved more reliable.

calcium imagingsource separationsignal processingneuroengineering
Nov 1, 2025 · Research log

Why I care about state-space models for EEG

EEG work gets more informative when temporal structure is part of the model instead of something the pipeline averages away.

eegstate-space modelssignal processing
Oct 1, 2025 · Hardware

Building an EEG/EMG helmet from scratch

Biosignal research gets cleaner when hardware, firmware, and modeling are treated as one system instead of three separate concerns.

eegemghardwareneuroengineering
Sep 1, 2025 · Teaching

Teaching analysis and ML with Jupyter at UF

Workshop design works better when theory and application are taught as one loop instead of two separate tracks.

teachingmachine learningjupyter