The Costs and Challenges of Building my AI-Generated PodcastA retrospective on the process, constraints, and realities of building with voice AIJan 28, 2026·15 min read
Understanding Composability, One Service at a TimeDocker Compose finally makes sense to me.Dec 6, 2024·3 min read
Building a book shelf with html and cssIntro 2022 has been a year in which I've read a lot more books than usual, many thanks to the wonders of listening to audiobooks at 2x speed. I've wanted a way to catalogue these books so I thought I should build my own virtual bookshelf, because obv...Nov 29, 2022·9 min read
Taming Dependencies in Integration TestsIntegration Tests and Stubs Integration tests are used to test interrelated parts of an app. Some typical candidates for integration tests are code that interacts with a database and code that relies upon different standalone modules within a codebas...Jun 19, 2022·4 min read
Bundling a Non-Modular Codebase: Lessons LearnedIntro: what did I do and why did I do it? I recently had the unenviable task of refactoring my employer's main frontend codebase to use ES6 modules. The codebase is reasonably large, with more than 100k lines of JavaScript code across more than 30 fi...May 22, 2022·6 min read
Scripting CSS transforms with DOMMatrixI recently discovered that the css transform of an element can be set to the stringified value of a DOMMatrix. This means that we can use a DOMMatrix instance to construct the transforms, scales, and rotatess that we need, and then set that instance ...Apr 17, 2022·4 min read