Why Git's Linear Log Can Lie to You
When your team uses merge commits instead of rebasing, git log can deceive you. That flat, linear list of commits doesn't tell the whole story — and if you're trying to figure out what's actually in a release, you might draw the wrong conclusions. Here's a scenario I ran into recently …
The QuerySet Database Binding Gotcha
When working with Django's multi-database support, there's a subtle issue that can trip you up: QuerySets remember which database they're bound to, and this can lead to unexpected conflicts. The Setup In our codebase (Prancer), we have custom managers that use using(self.db) to bind a QuerySet to a …
Testing Lambda Functions with LocalStack and pytest
When integration-testing code that calls AWS Lambda, you don't always want to hit the real thing. LocalStack gives you a local, containerized version of AWS services — including Lambda — that you can spin up, use, and tear down as part of your test suite. Here's a pattern I've been using: create …
Getting Started with MicroPython (Raspberry Pi Pico)
If you’ve just unboxed a Pico (or any similar MicroPython-capable board), the first hour can be surprisingly fiddly: flashing the right firmware, getting a REPL, and figuring out how to copy a script over without reinventing the wheel. I’m just getting started with MicroPython myself, so this post …