my solutions to the problems on http://programmingpraxis.com/