Recent Writings
Unpack for keyword arguments
Keyword arguments can now be more narrowly typed by using typing.Unpack and typing.TypeDict.
uv run for running tests on versions of Python
Using uv run with make to replace tox or nox for testing multiple versions of Python locally.
Farewell to Michael Ryabushkin
In early May of 2025 Michael Ryabushkin (aka Goodwill) passed away. He was a great friend and an even better person. I will miss him dearly.
Exploring flexicache
An exploration of using flexicache for caching in Python.
TIL (Today I learned)
How to type args and kwargs
Single source version package builds with uv
Removing exif geodata from media
HTML 404 errors for FastAPI
Exception.add_note
^ bitwise XOR
Reverse Square Knot
Popular Writings
The Thirty Minute Rule
What to do when you get stuck on a coding issue for more than 30 minutes.
What's the Best Thing about Working for Octopus Energy?
An in-depth discussion about my employment at Octopus Energy.
Code, Code, Code
I'm often asked by new programmers how they can forge a path into using their skills professionally. Or how they can get better at writing software. In this article I share the secret master-level method to improvement.
I Married Audrey Roy
The story of one of the best days of my life.