The data industry is being rewritten.

Visual essays on warehouses, pipelines, dashboards, and the AI layer eating all three.

Latest

A handicap you beat half the time

GHIN and 18Birdies run the same formula and still hand the same golfer different numbers. The gap is in the course data and the fine print. The bigger problem is the formula itself, and the fix is to count your middle twelve rounds instead of your best eight.

Nov 13, 2026 · 11 min

Your handicap is not your average

I ran the World Handicap System calculation over 229,333 real tournament rounds by touring professionals. The index landed 2.6 strokes below what they actually shoot, and four simpler numbers beat it at predicting the next round.

Nov 6, 2026 · 10 min

Benford on my own data

I ran the leading-digit test on the datasets behind this blog, and the results show what Benford can and cannot tell you about a set of numbers.

Oct 30, 2026 · 7 min

What people actually install

I pulled 30 days of PyPI and npm download counts for 26 data tools and the newest ones are smaller next to the incumbents than any conference talk would have you believe.

Oct 23, 2026 · 6 min

Fifteen years of data questions

I counted every Stack Overflow question on fifteen data tools since 2011, and the shares tell a cleaner story than the counts.

Oct 16, 2026 · 6 min

Emily, Greg, Lakisha and Jamal

Identical resumes, random names, real job adverts. The 2004 experiment found a fifty percent gap in callbacks, and the 2022 replication at eighty thousand applications found it again.

Oct 9, 2026 · 7 min

What a diff of a table looks like

Code has diffs and data mostly does not, which is why bad numbers ship. Build the diff, then watch what a missing key does to it.

Oct 9, 2026 · 7 min

Fix this chart

The same two series drawn six dishonest ways, each with a single toggle that redraws it honestly, and the one question I ask of every chart I meet.

Oct 2, 2026 · 6 min

How few rows you actually need

I drew random samples from three thousand real salaries and watched the median settle at a hundred rows, which changes how I think about scanning a warehouse.

Sep 25, 2026 · 7 min

The same moment, three dates

One instant is a different calendar day depending on where you count it, and every daily metric quietly picks a side.

Sep 18, 2026 · 7 min

A field guide to NULL

NULL is not a value, it is the absence of one, and every SQL operator has its own opinion about what to do with an absence.

Sep 11, 2026 · 7 min

Shark attacks and the 1916 election

A famous claim says New Jersey voters punished Woodrow Wilson for shark attacks. It rests on one county in one election, and it does not survive the second look.

Sep 11, 2026 · 7 min

How much of the news is charts

I sampled 334 front-page thumbnails from 31 news sites on one afternoon and counted the charts, and the count embarrassed my thesis.

Sep 4, 2026 · 6 min

Small data is still most data

I pulled the sizes of three thousand public datasets, and most of them fit on a laptop with room to spare, which says a lot about how we pick tools.

Aug 28, 2026 · 7 min

What an analyst does all day

I kept a time diary for one week and drew it as a ring, and the analysis slice turned out to be about a quarter of the day.

Aug 21, 2026 · 6 min

A visual glossary of data terms

Eight data terms people nod along to, each explained by a small interactive you can poke instead of a paragraph you skim.

Aug 14, 2026 · 7 min

The minimum wage that did not cost jobs

Two economists phoned 410 fast food restaurants in 1992 and got an answer the textbook said was impossible. Thirty years of fighting about it produced one of the better-tested findings in economics.

Aug 14, 2026 · 8 min

Twenty questions that break text-to-SQL

Twenty ordinary business questions over a six-table schema, sorted into the five ways a confident SQL answer goes quietly wrong, with a quiz for each one.

Aug 7, 2026 · 7 min

A DAG at 50, 500 and 5,000 models

Three generated dbt projects at three sizes show which failure modes appear at each scale and which refactors actually help.

Jul 31, 2026 · 7 min

Freshness versus cost

Pipeline cadence has a cost curve and a staleness curve, and most teams sit on the wrong side of the knee without ever having looked at when anyone reads the data.

Jul 24, 2026 · 7 min

Anatomy of a metric that lied

Follow one number from raw tables to a board slide and watch its meaning change at every hop while every test stays green.

Jul 17, 2026 · 7 min

Leaded petrol and the crime drop

Shift a chart of leaded petrol forward twenty-one years and it lands on the American crime wave. The mechanism is real. The size of the effect is the part that keeps shrinking.

Jul 10, 2026 · 8 min

The cost of a bad date

The same timestamp string is a valid date in Chrome and an Invalid Date in Safari, and one method call turns that into a white screen.

Jul 10, 2026 · 6 min

How to get into data in 2027

The entry-level door is narrower than it was and AI moved the lock. A concrete plan, by starting point, with the evidence on where junior jobs actually are.

Jul 3, 2026 · 9 min

Every data tool that died

Nearly eighty exits, one dot each. Where the modern data stack went, who bought it, and what it means for the tool you are about to adopt.

Jun 26, 2026 · 8 min

The salary map

Thousands of self-reported data salaries by title, level, region, and remote status. Filter it, hover it, and type your own number to see where you land.

Jun 19, 2026 · 6 min

The semantic layer is the new API

Ask a warehouse "what was revenue" and you get four answers. Ask a metric layer and you get one. That difference is the whole reason AI on data works or does not.

Jun 12, 2026 · 7 min

When the home team loses, the police get busier

An NFL upset loss raises reports of men assaulting their partners by about 10 percent that evening. A UK follow-up found the same spike, and blamed something else entirely.

Jun 12, 2026 · 7 min

The warehouse ate the modern data stack

Ten years ago every verb in the pipeline had its own vendor. Scroll through how the boxes got pulled into one, and what is left on the edges.

Jun 5, 2026 · 7 min

Where AI actually fits in the data pipeline

Not every stage benefits equally. An honest, stage-by-stage scorecard of where models help today, where they will in 18 months, and where they still just demo well.

May 29, 2026 · 6 min

Dashboards nobody opens

Every dashboard follows the same curve: a launch spike, then silence. Play with the model to see why pushing the insight beats waiting for the click.

May 22, 2026 · 6 min

The hungry judge, revisited

The most quoted chart in behavioural science shows parole approvals falling to zero before lunch. The pattern is real. The hunger story probably is not.

May 8, 2026 · 7 min

Car seat laws as contraception

A paper says child car seat mandates have prevented 145,000 births in the US since 1980, because three seats do not fit in the back of a sedan. The math is cleaner than the headline.

Apr 10, 2026 · 7 min

One visual essay, every week.

No roundups, no sponsors. Unsubscribe in one click.