Although I’ve thought about it for a long time, I find myself increasingly unsure about electoral reform, and questioning much of what is being said after Thursday’s election. I’m certainly no fan of the current system, with its awkward patchwork of safe seats and local tactical battles; and I’m distinctly unhappy to see the Tories handed the power to implement some really damaging policies; but I’m not sure the two things are really connected, or what a better system would actually look like.
I’ve never been very good at spending money. I’m lucky enough to have always had money to spend, but it often ends up sitting in the bank, unused. It’s not that I don’t know what I want or need to spend it on – for a geek, I have remarkably few shiny gadgets – but simply that I don’t like shopping.
I’ve been pondering version numbers a lot recently – there’s a lot of new “libraries” and major upgrades going on at work, and I’ve seen a few examples “in the wild” lately of people having to choose version numbers – and not always getting it right. It may seem like it’s “just a label”, but give something the “wrong” version number, and you can cause a lot of unnecessary confusion, as people will make assumptions based on it.
By an interesting coincidence, just as I was thinking about this post, I came upon Tom Preston-Warner’s “Semantic Versioning Specification”, which covers some of the issues nicely. But while he is mainly considering the problems of “dependency hell” – very important to consider when writing a library or tool which is likely to become a dependency for some other project downstream – there are wider issues with what a version number means to people, even if you are making a desktop application for use by “ordinary folks”.
So, here are my “Golden Rules of Version Naming” – as with everything in life, they are often mutually contradictory, and full of exceptions; life is all about compromise, but that doesn’t mean you have to compromise everything.