Sometimes when I'm bored I reach for one of the various books of programming challenges, flip to a random page and work through random problems until I've had enough. This past weekend I flipped to a random page and was greeted

Software development is like a 3d-jig saw puzzle. Small "pieces" - in the form of basic instructions - are used to construct larger pieces of increasing complexity, such as sub routines, functions, and objects. At differing lev

I've always liked the selection sort algorithm. I'm not sure why, I think it's the frank simplicity of it. Unfortunately, it is amongst the slowest of sorting algorithms, and is firmly in the realm of theoretic interest over practical use. Yet still it