small medium large xlarge

The latest version of the book is P1.0, released almost 9 years ago. If you've bought a PDF of the book and would like to update it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (15-Feb-19)
PDF page: 16
Missing apostrophe: "It is the callers responsibility to ensure" should be "It is the caller's responsibility to ensure" (or "callers'").--Av Pinzu...more...
  • Reported in: P1.0 (15-Feb-19)
PDF page: 38
Wording is confusing. Instead of: "(Your object_id values will be different, of course.)" I'd recommend: "(Of course, your two matching object_id v...more...
  • Reported in: P1.0 (09-Mar-12)
PDF page: 53

"Where should you put bulkheads? In find it’s a good idea to put bulkheads between your app and:"

Should be I find
--Jonathan Hall

  • Reported in: P1.0 (13-Jan-12)
PDF page: 63

Missing 'r' from word 'require' on first line of Listing 41: The Cond gem.
"equire ’cond/dsl’"--Mark Anderson

  • Reported in: P1.0 (21-Feb-12)
PDF page: 102

Timeour::Error is not part ... -> Timeout::Error is not part ...--Andreas Kemkes