small medium large xlarge

The latest version of the book is P1.0, released 5 months 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: B4.0 (21-Feb-18)
#82803
PDF page: 23
Change Type: comma BEFORE: When we say “functions transform data” what do we mean? AFTER: When we say “functions transform data,” what do we mean?-...more...
  • Reported in: B4.0 (21-Feb-18)
#82804
PDF page: 24
Change Type: commas BEFORE: Eventually they found themselves scattering conditionals around the code to manage the different types and depending on ...more...
  • Reported in: B4.0 (21-Feb-18)
#82805
PDF page: 24
Change Type: comma BEFORE: With changesets you validate and modify the data through a series of functions. AFTER: With changesets, you validate and...more...
  • Reported in: P1.0 (07-May-18)
#83067
PDF page: 24

Code example uses `data |> ...`, should be `post |> ...`--Josh Nussbaum

  • Reported in: B4.0 (21-Feb-18)
#82806
PDF page: 25
Change Type: split sentence, remove comma BEFORE: Developers who were learning Elixir could quickly add a new content type; it inspired confidence, ...more...
  • Reported in: B4.0 (21-Feb-18)
#82807
PDF page: 25
Change Type: comma BEFORE: This is just one example but these are the ways in which you can build your team. AFTER: This is just one example, but t...more...
  • Reported in: P1.0 (14-Mar-18)
#82910
PDF page: 54
"coveralls.post": :test, "coveralls.html": :test, ], test_coverage: [tool: ExCoveralls], The final entry in the list `"coveralls.html": :test, ...more...
  • Reported in: P1.0 (13-Jun-18)
#83259
PDF page: 131

3rd paragraph starts with "he Nerves team follow ...". Should be "The Nerves team..."--Aleksey Gureev

  • Reported in: P1.0 (31-May-18)
#83201
Paper page: 134

In the Packets section:
"● :nouse_stdio uses file descriptions 3 and 4 [...]" should be "[...] file descriptors [...]".--Maximiliaan Strother III

  • Reported in: P1.0 (13-Jun-18)
#83260
PDF page: 137
"You can use libraries such as poolboy12 to start a certain amount of processes ..." should be "... a certain number of processes ..." "Amount" is ...more...
  • Reported in: P1.0 (15-Apr-18)
#83007
PDF page: 151
Example command for heart should not have "\" at the end in command elixir --erl "-heart" -e "Enum.map Stream.interval(1000), &IO.puts/1" \ heart_...more...
  • Reported in: P1.0 (15-Apr-18)
#83008
PDF page: 178
In the EctoInspector module log function uses IO.inspect and then returns log def log(log) do IO.inspect(log) log end This is technic...more...
  • Reported in: P1.0 (04-Jul-18)
#83322
Paper page: 185
One of the suggested ways of increasing performance is to increase the number of keepalive requests. At the end of this section, the text says this ca...more...