KISS

May 3rd, 2015

One of the most often-broken engineering principles is Keep It Simple Stupid (KISS). Engineers love to use cool technologies to build cool solutions that are complex, elegant, and future-proof. The problem is, of course, the actual situation frequently just doesn't call for anything that fancy.

That is why I am writing this blog as simple, static HTML. Dynamic blog solutions, like wordpress, suffer from exploits and security holes. Managing them is a pain. Other solutions like gitit (a git-backed wiki I use for various things) don't look very nice (and as a person who tells computers what to do for a living, I had better at least have a passable web site that doesn't look like it transparently proxies the wayback machine). Twitter bootstrap made making a nice looking website easy, but because everything is static, I can't easily display my blog entries.

Interestingly, I made a different choice with our family cookbook. For this project, it is important that non-technical users be able to edit the recipies via the web UI. It was also important to me, however, that the recipies themselves be stored in git, and that I am able to edit the markdown directly using only git. To achieve both of these ends, gitit seemed like the best option (and you can see the results Here).

Some day, I may reinvestigate the best way to run this blog, but for now, let's keep it simple. When I go to write a new blog entry, I simply copy my template file, and start writing. When I am ready to publish the entry, I simply add it to the table of blog entries on the main blog page. Since my entire website itself is stored in git and automatically deployed via crontab, all I have to do is push my changes to the git repo and the rest happens automagically (just as though I used gitit). For now, this is the right balance of simplicity and features.