"key algorithmic techniques such as recursion and condescension" james-iry.blogspot.com/2009/05/brief-…