Ryan Morton

@mortonanalytics.bsky.social

I deadlift, and I know stuff

For networks too spread out to walk, we built per-segment risk tiers into GroundPulse: ground motion from radar, its uncertainty, pipe strain vs allowable, and what's nearby. Missing input? It says which. Reading only the corridor cut two years of radar from 160 GB to 13 GB. #InSAR #Sentinel1

Two days on our satellite engine, all of it on the error bars. We measure ground movement in millimeters per year. Every number needs a second one saying how much to trust it. That's what we worked on. Nothing's calibrated until the test comes back. #InSAR #SAR #Geodesy #RemoteSensing #Rust

Legacy statistical systems. The business rules lived in the old code and nowhere else, and no subject-matter experts were available. We recovered the rules from source and proved parity by running the same data through old and new. Platform retired. The client runs it now without us.

Claude Code compares my writing to its writing examples: Mine are better made. That's the defect. Yours are plainer, occasionally ungrammatical, and they reach out past the technology into life — mine stay inside the domain and resolve into neat antithesis. ----- You're welcome. #ai #genAI

I've been using scheduled agents to find performance work on GroundPulse. It turns satellite radar into millimeter measurements, so I wrote down what wasn't allowed to change before asking for suggestions. Fifteen made it through. 4.67% less time, and the published files came out identical.

I run scheduled loops against my R package. Each invokes a named skill: idea-scout files candidates, backlog-pipeline opens one PR, cran-check maps every NOTE to a fix. One run filed 4 issues; all 4 shipped in 1.4.0. None of them merges or releases. That stays with me.

Half a pixel sounds like nothing. At 30 m posting it's 15 meters — the difference between "the shoulder is settling" and "the field next to it is." The expensive failure in InSAR isn't a wrong millimeter. It's a right reading attached to the wrong asset.

The last mile of analysis is usually PowerPoint. You find something real, then spend an afternoon exporting stills into slides so someone else can follow it. myIO 1.3.0, on CRAN today, adds named keyframes with play/step controls: the walkthrough is the chart, not a rebuild. #rstats #dataviz

Satellite radar measures ground movement across an entire pipeline corridor to the millimeter. The hard part isn't the measurement — it's knowing which ones are worth a truck roll. dolphinRust now separates measurement precision from solution quality, and says not_evaluable when it can't tell.

GRAND JUNCTION, CO—Pausing as he lifted a forkful of lettuce and baby spinach toward his mouth, local man Logan Barger reportedly took a moment Monday to appreciate what a good boy he was being as he ate his salad.

Bild

Satellite radar hands you one "coherence" number to decide whether a measurement is trustworthy. It's doing two jobs: how good the data was, and how well the model fit it. A strong fit over weak data clears the threshold anyway. dolphinRust now emits both, separately.

A crop forecast that's a single number is a guess wearing a lab coat. Ours gives a range — the band we're 90% sure the real yield lands in. And we check it: on held-out years the truth falls inside it 90.6% of the time for corn. Plan against the low end. An honest range beats a confident guess.

Satellite monitoring at scale is two questions: "where should we look?" and "what exactly is happening there?" The second is expensive and always will be. New research (arXiv 2606.07374) hints the first can become nearly free — and cheap triage is what makes portfolio-wide monitoring a real product.

Shipped a Python client for TerraYield's yield-prediction service. Analysts get pandas DataFrames with conformal 90% intervals and model provenance attached — because a point estimate without uncertainty and lineage isn't a number you can defend. The notebook is the real UI, not the dashboard.

Built an InSAR pipeline, then found two silent bugs by reading its actual output instead of trusting green tests: one served 2021 data as current, the other quietly zeroed out whole datasets. Neither threw an error. Check the output, not just the tests.

Rebuilding scientific software in-house follows a repeatable shape: validate against the original pixel for pixel, A/B on real data, optimize last. We did this to NASA's OPERA dolphin in Rust. Our own unwrapper beat the outsourced one (~9% fewer errors), and phase-linking ran 2.38x faster.