Michael Hart's Ruby tutorial (from Chapter 3)