Stacking Dependencies: Taking an XKCD Joke Too Literally
October 2025
I built a CLI tool that renders real dependency graphs as physical towers—inspired by that famous XKCD comic. This post walks through the surprisingly deep graph theory, NP-hard crossing minimization, and PQ-tree algorithms that made it possible.
Read more →
Dynamic Load Shaping: Unlocking New Grid Flexibility
November, 2024
This blog post, authored by me, highlights some of my major work at EnergyHub. Discover how our dynamic load shaping technology is revolutionizing virtual power plants by providing precise, sustained load shape adjustments. I explore the innovative use of machine learning and optimization to enhance grid flexibility and efficiency.
Read more →
Running the Numbers: My Year-long Journey to the Berlin Marathon
December 27, 2023
After finishing my first marathon in Berlin, I sat down with a year's worth of running data to make sense of the journey. Through eleven visualizations, I explored how I went from casual runner to marathoner, what I learned about pacing, and why running slower sometimes meant getting faster.
Read more →