Recently I learned about the milk watcher, a nifty little device that helps you prevent overboils when you’re scalding milk (if you’ve ever heated up milk on a stovetop, you’ve no doubt experienced that terrifying moment when you leave it on the heat just a smidge too long and it foams up over the sides of the pan and cascades onto the burner).
The milk watcher is just a specially shaped disk of metal, glass, or ceramic, that you put at the bottom of the pan of milk you’re heating, where it serves two purposes:
- As the milk starts to boil, the milk watcher rattles around against the bottom of the pan, alerting you to that fact so you can come tend to it
- The special shape of the milk watcher traps gas and releases it as a large bubble, and these larger bubbles can break the tension at the surface of the milk (which smaller, naturally-occurring bubbles cannot) and prevent catastrophic boil-over
I love everything about this device, and it seems to me to be a kind of Platonic ideal for operational software to attain to, in that it has all the following qualities:
- It’s cheap
- It’s robust—it basically can’t break
- It’s simple—it’s nearly impossible to mis-use
- It does only one job, and its design and purpose resist any increase in responsibilities
- It both monitors for / alerts on brewing problems, and attempts to prevent / mitigate those problems
If I ever start or work at a DevOps company, I’m totally handing out branded milk watchers as swag.