89 data essays, notebooks, and case studies. Each one takes a public dataset apart and shows the gears: the markets, the models, the climate, and the people the numbers describe.
When correlations go to 1, your diversification was a fair-weather friend
The dollar's gravity: which currencies track it, and which float free
The Dow's worst month was a 5-sigma event a bell curve says is impossible
The 2021 inflation surge was the broadest in decades, not the worst
Gold made its real high in 1980, and has been losing the rematch ever since
150 years of S&P 500 drawdowns: the market is usually underwater
Sell in May, and other things the calendar does not actually tell you
What you pay for stocks sets what you earn, and right now you are paying a lot
Natural gas is the widow-maker, and the winter is where it earns the name
Forty years of Brent, and the shocks that define it
Apple turned $1 into $8.60. Everyone else mostly stood still.
What I learned when my live trading system's ML ensemble silently degraded in production, and the disciplined reintroduction of machine learning that came after.
The VIX spends most of its life bored, then loses its mind
How the Atlas forecasting system handles 542,000 rows/second of market data with sub-second regime detection — async service architecture, dependency-ordered startup, and 10Hz health monitoring.
Atlas couldn't start. The trading system's database initialization was taking 6.6 seconds, blocking 37 features from loading. The fix was small.
62 signals, 21 real dimensions: redundancy that does not look like redundancy
Three of thirty features get you within 0.02 AUC of the full model
I would rather flag thirteen benign tumors than miss four malignant ones
A gradient booster prices diamonds to $276. Then it meets a big one.
Twenty numbers per digit gets you 94% of the way there
Twelve of the 64 pixels are dead, and the classifier never misses them
Losing to Holt-Winters by 4.6 points was the good news
44 passengers in 1949, 232 in 1960, the same summer bump
Old Faithful is two geysers wearing a trench coat
The 0.7 points that decide a leaderboard, and where they come from
22.67 points: what the field bought by dropping the recurrence
Two penguin measurements beat four
A female Gentoo outweighs a male Adelie by 636 grams
The random forest lost. By 0.002 AUC.
Three numbers off a wine label beat your fancy model
Wine quality is mostly just alcohol, and even that only gets you so far
Serving architectures, containerization, lifecycle management, performance optimization, drift detection, and monitoring — with benchmarks and code from production systems.
A field-tested reference for taking ML models from prototype to production — serving patterns, containerization, monitoring, drift detection, and the operational practices that make the difference.
Built a pipeline that extracts 296 businesses from Chamber of Commerce directories in 9 minutes using a local 7B-parameter model — 100% name/phone capture, no API costs.
Who actually emits the carbon, and the answer depends on how you count
The CO2 rise is speeding up, and the curvature is the story
The warming rate has sextupled, and the line cannot keep up
The Arctic's September floor is dropping 0.84 million km² a decade
A world map of drinking, and what the colors give away
Where the world's energy actually comes from
The Bechdel test at 50: the pass rate climbed, then stopped
Birds do not hit planes at cruise. They hit them on approach.
Higher insurance premiums do not mean more dangerous roads
Two Americas of driving risk, and the insurer charges them the same
Congress got older, but it took a detour first
In the Crimea, disease killed eight soldiers for every one the enemy did
Five years killed 44% of everyone who died in a natural disaster since 1900
For fifty years, gas prices barely changed how much Americans drove
Money buys life expectancy, but the receipt is brutal
The 9-to-5 I went looking for was not in the commits
The US spent $7,194 more per person than Japan and died 7.7 years sooner
In 1991 the US health-spending gap crossed $1,000 and never came back
The job that went from all-male to 96% female
Your major sets the odds, not the salary
Spend more, make more, but a third of films lose money anyway
At 90, there are three women for every man
Tip 18.6% on a small check, 13.3% on a big one
Construction hit 27% unemployment. Government never cracked 6.
Construction lost almost a third of its jobs, and never got them back
Five countries own half the world economy
The deadliest mountain is not the one you think
Thirty people, ninety pulses, and one mistake everyone makes
The body an Olympic sport builds, and how it sharpened over a century
A century of Olympic medal power, and who traded the lead
Four datasets agree on every number and agree on nothing else
Focused attention wins by 1.68 points, until the task gets easier
The best-cut diamonds are the cheapest, and other lies the data tells
Two of a diamond's measurements are basically decoration
Stronger evidence does not raise the signal, it splits it
The average brain response is a curve, and averaging is what draws it
Three numbers off a wine label, and four other things 30 datasets taught me
A bigger engine made these cars more efficient, and other lies of regression
Detroit caught up to Japan, but only after you weigh the cars
The exoplanet catalog is a map of our telescopes, not the galaxy
Almost seven orders of magnitude, and the planets pile up at one end
Seattle rains 43.9% of the time. So does it sun.
Women and children first, or first class first?
The Titanic's loneliest passengers, and its largest families, drowned together
Seattle rains on more days than New York, and still ends up drier
The wind blew north. The average said east-southeast.
Five states ship a third of US farm exports, and none grow the same thing
A small Python library of matplotlib themes — Film Noir, Ghibli, Wes Anderson, Blade Runner, Star Wars — applied to 50,000 IMDB reviews.
Building browser-side data visualizations in Rust compiled to WebAssembly — particle systems, large-dataset rendering, and the practical wins over a pure-JS implementation.
Six database optimization techniques — predicate pushdown, row group pruning, result caching, async I/O, indexes, and where SIMD goes wrong — with impact numbers and code.
I replaced DuckDB with a custom Rust query engine for a trading-system time-series workload. Five iterations, 10.4× speedup, one optimization that backfired.
A working reference for production database tuning — SQLite PRAGMAs, schema, indexing, transactions, batching, pooling, and the monitoring that proves it's working.