Last updated: May 26, 2024


I recently hit the one year mark at Imbue. Recently, my primary focus has been the intersection between our model training code and the hardware that it's running on. With cutting edge GPUs and network fabrics, all sorts of weird and interesting things can go wrong. I've been working to surface those issues so that it's easier to understand the behavior of our experiments.



I've been getting excited about the python ecosystem. Tools like ruff and uv are incredibly promising and new developments in performance and concurrency are starting to show some promise.

As of late, I started reading Architecture Patterns with Python. So far, the book has mainly focused on how to wire up a domain model with an HTTP service alongside an ORM-based persistence layer. I think a lot of the ideas are applicable to other domains (like cluster infrastructure) where the most natural way to get things done is with imperative code that tends to result in tight coupling.

I've added CPython Internals to my reading list to get a better sense of exactly how various things work in the language. I've done a little bit of spelunking in the CPython codebase, but I think having a structured overview might make it more manageable to play around with new ideas and better understand some of the developments that are underway in the "Faster CPython" world.


I've been reading through the excellent Apple Silicon CPU Optimization Guide. I haven't been doing a ton of low-level programming lately, but it's been fascinating to read about some of the details of the M-series processors and imagine the engineering effort that went into their development. Modern computers are incredible feats of engineering.


Growing season is underway in Pittsburgh! I've been helping out a tiny bit in the garden, at home. And the nearby farmers markets are starting to have real produce! Excited to cook using some of the late-spring, early-summer harvest!