Beautiful Code: Leading Programmers Explain How They Think by Andy Oram, Greg Wilson The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated July 30, 2008. UNCONFIRMED: (153)Example 10-3; the line in the algorithm that reads if (x == 0) return y | -y; ...should read if (x == 0) return y | ~y; I.e., the operator on y should be a tilde (bit inversion), not a hyphen (integer negation). This will be clear if you note that, if x is zero, then the routine should return zero if y is zero, but one otherwise. This would work if you or'd y with its bitwise inverse. (296) 2nd paragraph; It should be -1549758592 mod 32 as the number of slots is 32 and -1549758592 mod 31 is 11 not 0 (mod 32 is 0). [459]half way through parseXML method; The source code exhibits some dangerous coding practises. A loop uses two separate iterators (xpathvars & xpathvals) for the keys and values in a Map. The code assumes that the separate iterators walk through the key/value pairs in the same order. There is no basis for this assumption. Perhaps it works in some implementations some of the time -- but it is a dangerous bug.