It feels like the title above is a continual refrain these days, maybe its just me getting old. What prompted this was the fact that I have upgraded my “Play PC”. It runs Linux and I had added a new SATA hard disc & installed the Debian-based version of Linux Mint, something that isn’t trivial but is certainly much, much more automated than when I used to do this stuff for real over 20 years ago. What was bugging me was that the swap partition, despite me configuring it, wasn’t being used automatically.
So, a trip to the recesses of knowledge at the back of my mind & a look at the man pages. There I found the mount table but things have changed, and you can now specify a UUID for your disc partition. I had one but it was the wrong one, that was why swap wasn’t being turned on, but this whole UUID business…..Why does it have to be so complicated?
But is it really complicated? Once I’d stepped back and thought about it, the whole Linux schema (based on the Unix I once knew & loved) was still very simple, and adding the UUID made mount work better. It really was still simple, just me making it seem harder becase something there wasn’t quite as easy. So is that really the case with the whole world? Often I look at things that seem so complex on the surface, yet underneath we’ve seen it all before.
Going back to Unix, er Linux I mean. It was a really neat idea, made up of lots of small simple bits of code that did one task each. You linked them together to do more complicated things, I guess it was the start of “mash ups” before they became trendy. Of course, all these simple little programs sometimes needed something more complex to hold them together, so enter the little bits of genius like awk (named after its authors: Aho, Weinberger & Kerningham – now that is cool having a piece of software named after you), the regular expression matcher, or sed the inline editor that could be scripted. These were the middleware of their day, bits of software that did incredibly clever things and kept it all hanging together (plus you had to be a bit of egghead to understand them and make them work properly).
The problem here is people. They like to add & tweak things, so a simple program that does one thing has to be extended so it can do more, and then it takes more configuration to make it work, and more intelligence to understand how to configure it. Why not keep it simple instead of trying to bolt too much together in one place? Look at sendmail, or the TCP/IP streams stack. Oh dear! When it goes worng, it goes badly wrong & trying to find the fault becomes a major headache.
But its not just
Unix Linux is it? It’s everywhere. You buy a TV but it has to be an Internet based browser & multi-entertainment centre, and if you upgrade one bit of the software in it the whole lot can fall in a heap. I had a Renault Scenic that had multiple computers controlling it, and when something went wrong the whole thing went very wrong. We now have digital Christmas tree lights….why?
Its not the complexity that is really the point here, but our experience around it, or how it works in the wider world. We’re on the cusp of switching over to digital TV, more channels & a better quality of picture but is it worth it? We often get picture corruption when bits are lost & the whole decompression piece can’t pick itself up again. It uses far more power than analogue technology at a time when we’re trying to be green. Is this really progress, or a better way? DAB radio fares little better. Ok so the digital content is more robust (where we live at least), but why do have to put up with reduced quality on some services because there aren’t enough bits to carry the full quality of the content?
There are a number of points really to this post:
- We can build quite complex things from a number of smaller simple things. It is elegant and promotes reuse so why have we given up doing just this
- Why do we think that more complex things are better than simple things, we’re too fazed by the immediate function without caring about the long-term effects
- Why don’t we push back against the folks who push this complex stuff at us because they think its better for us. Let’s have what we want
So here’s the plan, how about we start looking again at simple building blocks and how we can make them work more effectively for us? I think I see a research project for my MSc appearing.