On KISS principle, and why to apply it to your life

Written by
Date: 2013-05-26 15:31:35 00:00

On KISS principle

KISS according to Wikipedia is:

KISS is an acronym for "Keep it simple, stupid" as a design principle noted by the U.S. Navy in 1960.The KISS principle states that most systems work best if they are kept simple rather than made complex.

I am usually an advocate of this principle, because I have learned, the hard way, that when you tweak or customize something too much to fit your needs, it is then hard to keep it working.

Usually happens to geeks1, because we like to optimize everything, to get the most of any application or device we have.

So, if we get an iPhone we want to jail break it, or to root (and load a custome ROM) the Android phone we've got, then those devices just do not get the updates automatically, and at the end of the day, we have more job to do.

Let's see another example, you want to install Linux on your computer, why to install Gentoo? instead of some other easier distribution?

We know why, it is just because we can, and we like to demonstrate ourselves that we can do it.

Here are some examples on my real life:

I have once run for some months my main web server over Arch Linux, so every new upgrade was scary, but I just loved it.

There was another time when while running a site on Drupal, and just because I wanted to optimize the server to a crazy level, a level I knew I was never going to need. I end up with a really complicated setup. One server running Apache, MySQL and PHP hosting Drupal, boost module was generating static versions of every visited page. Then every minute, a cronjob run rsync to copy those static files to another server running Nginx, that one was finally serving the static files to the world. (I was using tryfiles, and if there was no static version the Nginx asked the Apache server for the page.)

Another example is me writing simple letters using LaTeX, instead of just using any Word processor. Those are usually single page letters, no need to complicate my life in such a way.

A lot of people (including me) have to stop doing things just because we can, or because we want to reach "perfection" when perfection is actually not needed.

If there is an easier way to do something, we should go that way, even though it is not as "perfect" or as good as we would like it.

Just because something is possible it does not mean we should do it, just because there is a better way of doing the things we are already doing in a simplier way, we do not have to adopt that new way.

Finally, this does not only apply to today's so called "geeks" this aplies to engineers in general. Our curiossity led us to be always looking for better ways to do things, and sometimes to great discoveries. That is good as a hobby, and when you have spare time to dedicate on side projects. In real life projects, just use the tools the way they are designed, and keep your setup as default as you can.

After all, keep it simple stupid.

  1. I do not like the term too much, but let's call geek, to people in love with technology and always wanting to learn more.