Knowing when a set of queued jobs had all finished meant a counter in Redis and a race nobody was confident about. allowFailures decides the semantics: without it…
Redis stream ids are a millisecond timestamp plus a sequence number, which means a time range is a key range and needs no secondary index. Constructing an id…
The database password was in the repository, then in the image, then in an environment variable readable by anything that could run ps. Where it went next.
Vue 2 required a single root element, so every component that logically returned two siblings had a wrapper div whose only purpose was satisfying the compiler. The dt…
Three pushes in ten minutes start three builds, and the first two are testing code that has already been superseded. Grouping on the ref rather than globally is…
Autowiring resolves by type, and a string has no type to resolve — so every service with a configuration value needs an explicit argument, which is the thing…
Every framework had an event dispatcher and none of them shared an interface, so a library wanting to emit events either picked one or invented its own. The…
A mixin merges properties into a component with no indication of where anything came from, and two mixins defining the same name silently collide. The call site names…