Monthly Archives: November 2019

Semantic versioning is brilliant, but it won’t scale

Those who don’t understand Unix are condemned to reinvent it, poorly.
— Henry Spencer

UNIX never experienced the DLL hell, with a brilliant simple trick in library naming convention. This idea was so good, that it later got also formulated more articulately as semantic versioning, and huge ecosystems such as npm are built around that.

Continue reading Semantic versioning is brilliant, but it won’t scale

When architecture should help

A non-functional requirement (NFR) is realized by the architecture and the implementation. The balance can vary. Sometimes the architecture does the most part, e.g. by providing a real-time OS and fixed priorities for critical threads; sometimes the implementation, e.g. by following coding conventions scrupulously to ensure code maintainability. And sometimes the balance is off.

Continue reading When architecture should help