Albert Einstein said it best:

“Make everything as simple as possible, but not any simpler.” This wisdom is, sadly, disregarded all too often. Be it in software design, in (find-something-here) or actually in everyday life.

Where I live there is a recurring discussion about how to behave in a roundabout. The general rule (we have right-lane traffic, so all you brits beware) is that if you want to go right or straight through, you choose the right lane in. If you want to go left you use the left lane in. If, and only if there are two lanes out, you may optionally choose the left lane.

Even the last one is a bit difficult to understand for some people. But, and this is a big but (I like big butts… eh, not that big butt), there is a conflicting rule - oh yes! The rule that says if you are in the inside lane of a roundabout you have to give way to the outside lane. (Ab)use that rule to go in on the right lane, to go left out of the roundabout and you get a collision - and both of the drivers involved are right. Or at fault.

In addition this isn’t always like this. We have some three-legged roundabouts, and there it makes no sense to leave the left lane for traffic going to the left, because nobody can go left there (or actually they could, but it’s a dead end a few meters in, ending at a water cleansing facility). There you suddenly have to take the left lane to go straight through, into the one-lane outlet. The right lane is reserved for those going to the right, into a two-laned tunnel entry. Hooray!

Now, this could have been much easier. Either no roundabouts could have two lanes in or out. Or all roundabouts could have two lanes in and out, with the first rule I mentioned. But no, we have to make it difficult. And that, dear children, is why we have accidents.

but wait… you mentioned software design? Yes I did. Case in point, the abhorrent size of quite a lot of the most used software today. Be it Windows or Linux. In the last century an editor (“editor and the kitchen sink” actually) called emacs got a bad reputation because it was so big. This editor today is one of the smaller programs I have on my Linux-box - ok, granted, the binary is 14MB big, quite a bit bigger than the “eight megabytes and constantly swapping” moniker it got in those days, but of that there’s only (well…) 2.2MB actual program code and 12MB of data. On the other hand, the bulk of LibreOffice Writer (which is not that easy to find, they hid it well in a library) is over 11MB. And that’s just the core (and yes, it’s code, not data as in Emacs’ case).