Cold-blooded software

Maybe your CI isn’t working because one of the services you depend on got bought or ran out of money. You add a new dependency and find yourself needing to upgrade your compiler. Another package you depend on is deprecated, and doesn’t work with the latest version of the compiler.

Some projects are different. You work alone, make some changes when you’re inspired, and then don’t touch it again for another year, or two, or three. You can’t run something like that as a warm-blooded project. There’s not enough activity to keep the temperature up.

This dichotomy of “warm-blooded software” and “cold-blooded software” is really helpful. It invokes feelings of “choose the right tool for the job”, but on an entirely different horizon. Production applications with paying customers can carry the costs of being a warm-blooded project. A personal blog might be more suited to being a cold-blooded project.