Adding a Progress Bar to a Streaming ETL Pipeline
Published:
After optimizing Pulso’s ETL to 4.4 minutes, I realized I had a new problem: staring at a silent terminal for four and a half minutes wondering if anything was happening.
Published:
After optimizing Pulso’s ETL to 4.4 minutes, I realized I had a new problem: staring at a silent terminal for four and a half minutes wondering if anything was happening.
Published:
Two weeks ago I built Pulso, an ETL pipeline that loads Apple Health XML exports into PostgreSQL. It worked, but loading 3.4M records from a 1.5GB file took 57 minutes. Today I got it down to 4.4 minutes.
Published:
I just shipped Pulso, a complete Apple Health XML to PostgreSQL ETL pipeline that processes 1.5GB+ health exports and loads 3.4M+ health records into a normalized relational model. What’s remarkable? The entire project—from concept to production—was built in a single afternoon using Claude Code with human supervision.
Published:
If you’ve spent enough time around Lisps, you’ve probably heard the phrase “code is data”. It sounds like a platitude until you actually experience it. Clojure, a modern Lisp hosted on the JVM, makes this idea tangible through a property called homoiconicity — and once you internalize it, it changes how you think about programming languages in general.