small medium large xlarge

Errata for Seven Concurrency Models in Seven Weeks

 

The latest version of the book is P1.0, released about 1 year ago. If you've bought a PDF of the book and would like to upgrade 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 (02-Jan-15)
#78006
PDF page: 1
As well as covering FRP I think it might be worth having a chapter on node.js, mainly because its single-threaded nature make it interesting and impos...more...
  • Reported in: P1.0 (27-Jan-15)
#78090
Paper page: 35
Since the book only requires 100,000 pages from the Wikipedia dump, I'd suggest using the Simple Wikipedia dump [1]. It comes with 200,000 pages, and ...more...
  • Reported in: P1.0 (03-Feb-15)
#78143
PDF page: 35
`'luaxlib.h' file not found` on OSX with new install of lua via homebrew. Tried running cmake with `include_directories(/usr/local/include)` both i...more...
  • Reported in: P1.0 (27-Jan-15)
#78091
Paper page: 58
Some Wikipedia dumps return 'nil' for certain pages, resulting in null pointer exceptions when 'get-words' is called. An easy fix is to have 'get-word...more...
  • Reported in: P1.0 (18-Dec-14)
#77943
Paper page: 66
Was really enjoying the book till I got to the reducible section, in particular the my-map example. I really think that example is out of context with...more...
  • Reported in: P1.0 (02-Aug-14)
#77113
PDF page: 78
Is: server.core=> (sentence-split "This is a sentence. Is this?! A fragment") Should be: server.sentences=> (sentence-split "This is a sentence. Is t...more...
  • Reported in: P1.0 (20-Dec-14)
#77950
Paper page: 80
I think a diagram and clear text explanation of the HTTP requests that are going on would definitely help make the final example easier to follow. ...more...
  • Reported in: P1.0 (23-Dec-14)
#77961
Paper page: 94
For people who are reading this on a tablet or e-reader it might be useful if functions like new-session had a comment explaining what initial is, onc...more...
  • Reported in: P1.0 (20-May-15)
#78444
Paper page: 99
The problem with "#((Thread/sleep 2000) (inc %))" is that Clojure expects a form in "#()", not a sequence. The "do" at the start of the form passes a...more...
  • Reported in: P1.0 (26-Dec-14)
#77975
Paper page: 99
(send my-agent #((Thread/sleep 2000) (inc %))) is resulting in either an NullPointerException or in no increment with my environment ( Leiningen 2...more...
  • Reported in: P1.0 (10-Aug-14)
#77197
PDF page: 104
Java style comment (// Side-effect in transaction - DON'T DO THIS) causes java.lang.RuntimeException: Invalid token: // Can be replaced with ; Sid...more...
  • Reported in: P1.0 (28-Dec-14)
#77983
PDF page: 104
transfers is an agent and earlier you say calling await waits for all actions from current thread to complete, however in the -main method you have to...more...
  • Reported in: P1.0 (23-Dec-14)
#77967
PDF page: 112
I think you mean atom in this bullet point and the one before: "The choice between an STM and an agent-based solution is largely one of style and ...more...
  • Reported in: P1.0 (27-Apr-15)
#78380
PDF page: 163
I ran into basically the same issue as report #77231. Where go-loop/recur examples are not working. Using the map-chan example I have found that if yo...more...
  • Reported in: P1.0 (21-Aug-14)
#77231
PDF page: 163
The book doesn't specify a clojure or core.async version, so I'm using the latest. Dependencies: [org.clojure/clojure "1.6.0"] [org.clojure/cor...more...
  • Reported in: P1.0 (18-Mar-15)
#78263
PDF page: 169

In `poll-fn` and `poll`, the local variable `seconds` is mis-named; it's actually milliseconds.--Simon Katz

  • Reported in: P1.0 (20-Oct-14)
#77666
PDF page: 190

There is a broken image on the page in the Pipelining section. I can see the image in the epub version of the book.