skip to content rich footer

stevenclark.com.au

subscibe to the StevenClark.com.au rss feed

Archive for September, 2007

The Cutting Edge of Occam’s Razor

Saturday, September 29th, 2007

When you have a number of theories about something you should always go with the simplest theory first. The maxim is called Occam’s Razor.

The web industry relevance of Occam’s Razor might not be that obvious so I’ll explain. You might be working on some code and suddenly realise there is something majorly buggy afoot - and there are a number of things that could cause it. Your options range from a total rebuild of the work you’ve already done OR you might have an idea that only requires a smaller fix ‘if you are correct’. That if is a big IF so you really don’t know which way to go. So which way do you go?

Occam’s Razor to the rescue. Its always better to try the easier solutions before you go get psycho on the huge ones. I can recall several times when I opted for the total rebuild and realised half way through that something rather easy to fix had originally been the error. Too far into it to return for the easy fix, so I wasted a whole lot of time. That’s why Occam’s Razor has a particular place among scientists (and computer scientists).

If a scientist has a number of hypotheses which could be true then the heuristic rule of thumb is to test the simpler hypotheses first. It intuitively makes sense after all. If they’re correct then there’s no need look any further.

Those middle ages Franciscan monks (William of Ockham) weren’t all that silly.

skip to top of page

Currently Reading

Information and Data Modelling (Second Edition) by David Benyon (Cover)With an eye toward implementing another web interface database solution from the ground up I'm casually revisiting David Benyon's Information and Data Modelling (Second Edition). Its critical to have a solid understanding of conceptual data modelling and knowing how to identify various things like fan traps and three way traps very early in the process. To that end, while its fine to have a basic understanding of third normal form and general ideas about relations (that which relational databases rely on), its also a great idea to spend time exploring the theory and case studies that lead to a higher understanding.

Often people I deal with just snuff their nose and say they can design a database - but often its a very naive approach. Having read this book about four years ago its time for a quick refresher over my holiday period. No, I doubt few will envy me.