Posts
Cheap content is the least interesting way to use LLMs in journalism
We don't need to be in the slop business, and we can use AI to solve real problems.
More →
How I'm using AI now
This is true as of April 2025. It'll probably be different a month from now, and definitely a year from now.
More →
Learning Rust by porting a small Python library
How much can I learn from a one-file project? Lots.
More →
A book for now: The Pope and Mussolini
David Kertzer paints a picture of a nearly failed state, unable to stem violence between fascists and socialsts, with almost no one willing to stand up for democracy.
More →
Setting defaults in Datasette's canned queries
Two SQL functions give us a better starting point
More →
Come back tomorrow
"There's a Pulitzer to be won in this courthouse every day," an attorney said. What does that mean?
More →
An ecological approach to self-hosted maps
We're working in a fast-changing space where solutions aren't stable, so it's important to take a problem-first approach.
More →
Mapping wildfires with Datasette and Felt
The tools are getting better and the fires are getting worse.
More →
So you want to build something interactive for your news story?
Answer these questions before you start coding up that sweet new thing.
More →
Boston parcels, mapped three ways
The age of buildings, residential assessments and value density.
More →
Five years of Go
After half a decade of regularly working in Go, there's a lot I've come to like about it, and a few things I still struggle with.
More →
My Python setup, as of January 2023
The Python landscape can be a confusing mess of overlapping tools that sometimes don't work well together. This is my setup.
More →