Really hard I'm not sure if this entry should go in one of my other two phlogs, to be honest. It is about my job in embedded, but also about tech, but also about how I feel right now. Let's say it is more about how I feel. It is now a few weeks that I'm battling against this windmill. It all started with a problem of transitive dependencies, that I encountered while carrying on my task. It degenerated quickly into a huge and hairy beast, to the point I first had to find a quick work-around (so I could complete my task), and then I convinced the management to give me some time to fix it. For some reason I'm ALWAYS gravitating towards battling the huge and hairy beast of dependency management: it just seems my fate. But I don't believe in fate. The reality is, I'm probably one of the those who give a damn about it, while most developers (to my experience) just don't. I just decided to jot a few lines on this topic, as soon as I realised that there's a similarity between build system correctness and computer security. A system can be perfectly usable, but horribly insecure. It is actually often the case that improving the security is detrimental to usability. Build systems are similar in that they can work, but be horribly wrong. I often see big projects, composed of multiple components, in which people are happy as soon as the compilation works. Yet it might work "by accident". For a very good example, consider the case where the headers of a certain library are available to the compilation of a binary, not because the library is properly configured as dependency, but just because the headers happen to exist in the right place. I've seen this countless times now. This is my special flavour of hell.