I enjoyed and learned a lot from Peter Norvig's sudoku solver (http://norvig.com/sudoku.html) and spelling corrector (http://norvig.com/spell-correct.html). Can anyone recommend similar articles from other authors that combine interesting ideas with good programming style?