continuous deployment When to use Feature Flags: Extra-Ordinary Unconfidence Feature flags are a sine qua non for effective Continuous Deployment (CD)—and yet, they aren't always necessary. Nearly every sprint I've observed for the past 10 years has included the question "should this be feature-flagged?" at least once. Such a common question deserves
go Go Interfaces as Requirements, not Capabilities This is a hard-won lesson that's taken me many years to learn, and I have seen others follow a similar path, so I'm writing it down in hopes that maybe some people will find a shortcut. Go's type system is, in my experience, fairly
testing In defense of unit tests A few years back, Guillermo Rauch—now the CEO of Vercel—tweeted a pithy assessment of automated testing: Write tests. Not too many. Mostly integration. — Guillermo Rauch (@rauchg) December 10, 2016 This inspired Kent C. Dodds to write that: Integration tests strike a great balance on the trade-offs between confidence
django Testing with Django's Cache I don’t love my solution to this problem, so I’m writing about it in hopes that someone has something better. When you run tests with Django, you get an isolated test database. This can be wiped out and the consistency makes life a lot easier when you are
Database Django Fixtures with Circular Foreign Keys If you create a nice, perfectly normalized database, you (probably) won’t ever run into circular foreign keys (when a row in table A references a row in table B that references the same row in table A). In the real world, this happens pretty regularly. The most common situation