A fork from Ullman's code samples.  All forks must pay attribution to his work and his book.