U.S. Births by Parental Age, 1969–2024
An animated heatmap of every U.S. birth by mother and father age, 1969–2024 — watch the joint distribution of parental ages slide older across 56 years.
An eclectic collection of thoughts, notes, and projects.
An animated heatmap of every U.S. birth by mother and father age, 1969–2024 — watch the joint distribution of parental ages slide older across 56 years.
How to integrate PhotoSwipe with Astro's MDX content and image optimization pipelines for a performant, painless image gallery experience in Astro blog posts.
1/3 of US-born Americans live in a different state from where they were born. Let's look at the states people leave, stay, and move to.
In the US, more educated mothers are not only older, on average, but also closer in age to their male partners. Between 2010 and 2024, age gaps have narrowed at every level of parental education.
Working in from the extremes, every maternal age cohort has swapped places sometime in the last decade.
Nearly every US state follows a similar "twin-peaked" pattern of housing expensiveness, with peaks occurring around the pre-2008 housing bubble and the post-COVID housing market surge.
By definition, households live together, making median household income a relevant metric for housing affordability.
Visualizing trends in median home value vs. median household income at the state level from 2000 to 2025.
Fewer Americans are children, yet there are more American children than ever.
Fewer young adults are having children; the pandemic accelerated this trend, but it's not a new phenomenon. Hooray!
Creating a map in the matplotlib ecosystem isn't easy, but the degree of control you get does allow for some powerful customizations.
Astro is a relatively new frontend framework that's particularly well-suited to building a developer blog.
Default Astro and Nginx behaviors redirect to URLs with trailing slashes, which is great for SEO and user experience.
Data scientists use Jupyter notebooks the same way that financial analysts use Excel spreadsheets, with many of the same pros and cons.
A guide to adding flowcharts and diagrams to your Astro site using D2, a text-to-diagram tool. Tips on docker build and clutter control.
A comparison of the open-source text-to-diagram tools Mermaid.Js and D2, with a focus on developer experience, unique capabilities, and rendering workflows.
Integrating Umami, a privacy-focused, open source analytics service, into a self-hosted stack built with Docker Compose and fronted by a Traefik reverse proxy.
Comparing Umami, Plausible, and Matomo, three popular self-hosted Google Analytics alternatives, as well as brief glances at GoatCounter, Fathom, and PostHog.
The way we build and deploy websites nowadays makes tracking user behavior in the browser more straightforward than server-side tracking.
How to set caching headers for static assets in an Astro + Nginx Docker container.
In this post we'll build a slim, up-to-date Nginx container with Brotli to host this blog.
Choosing between AstroPaper and Astro Cactus, two popular Astro blog templates, ultimately boils down to a question of style versus substance.
How I serve my Astro blog from a Docker container on my own server, and how I deploy it using a bare-bones bash script with SSH agent forwarding.
Minify, compress, and containerize your Astro site with @playform/compress, astro-compressor, and nginx-brotli.
Using Fontsource together with Fontaine to self-host fonts with fallbacks in Astro or SvelteKit, integrating with Tailwind, compared to font preloading.