The sample application starting in chapter 3 of Hartl's Ruby tutorial