small medium large xlarge

The latest version of the book is P1.0, released 4 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: P1.0 (26-Jun-19)
#85475
PDF page: ~150
On a Kindle, so not sure of the exact page, but it is in the section of chapter 7 titled: "What is a supervision tree?" It reads "...and as program...more...
  • Reported in: P1.0 (26-Jun-19)
#85484
PDF page: ~164
Again, on a Kindle so hard to know which page exactly, but it's in the Wrapping Up section of Chapter 8. The line "Forms are a much bigger topic th...more...
  • Reported in: P1.0 (23-Apr-19)
#84963
PDF page: 11
You worked with these values in the previous section when you modified config/dev.exs With the attached code, we modified config/config.exs and not...more...
  • Reported in: B8.0 (28-Mar-19)
#84785
PDF page: 25
The file referenced in the sentence at the bottom of the page - "You worked with these values in the previous section when you modified config/dev.ex...more...
  • Reported in: P1.0 (09-Jul-19)
#85533
PDF page: 32
The bottom of page 32 reads: Now let’s say that somewhere else in our code, we wanted a list of the tracks on those albums, and not just the album ...more...
  • Reported in: P1.0 (09-Jul-19)
#85534
PDF page: 33
The callout area on protocols is super confusing to me as a first time reader of this book. I have a moderate level of familiarity with Elixir and in ...more...
  • Reported in: P1.0 (09-Jul-19)
#85535
PDF page: 33
Consider the following paragraph: So far, we’ve always been using strings on the right side of the in expression (for example, from a in "albums")....more...
  • Reported in: P1.0 (09-Jul-19)
#85532
PDF page: 37
At the bottom of page 37, the function allows you to pass in "query" as the first parameter but that is only going to work when set to "albums" becaus...more...
  • Reported in: P1.0 (09-Jul-19)
#85536
PDF page: 41
Last sentence of the first paragraph: From: You create the mappings with an elegant, concise DSL, then use associations to connect related struc...more...
  • Reported in: P1.0 (09-Jul-19)
#85537
PDF page: 45

Top paragraph suggested text change:

Now’s the time. -> Now's that time.--Brad Hanks

  • Reported in: P1.0 (09-Jul-19)
#85538
PDF page: 46
Question about technical details here on page 46 3rd paragraph down: "Finally, the return value is a schema struct. Instead of getting back a list ...more...
  • Reported in: P1.0 (09-Jul-19)
#85539
PDF page: 53
Second paragraph of Many-to-Many Associations doesn't include an example of one album having many genres which of the two is probably more in need of ...more...
  • Reported in: P1.0 (09-Jul-19)
#85540
PDF page: 55
"album.tracks" doesn't get the error you listed for the version of the code that I downloaded. I get the following error: ** (UndefinedFunctionErr...more...
  • Reported in: P1.0 (09-Jul-19)
#85541
PDF page: 55
album.tracks gives the following error: ** (UndefinedFunctionError) function MusicDB.Album.tracks/0 is undefined or private (music_db) MusicDB...more...
  • Reported in: P1.0 (09-Jul-19)
#85542
PDF page: 55

album.tracks gives the following error:

** (UndefinedFunctionError)…

I think you meant -> %Albums{}.tracks--Brad Hanks

  • Reported in: P1.0 (09-Jul-19)
#85543
PDF page: 55

album.tracks doesn't give the error listed in the book for the version of the code I downloaded.

I think you meant -> %Albums{}.tracks--Brad Hanks

  • Reported in: P1.0 (09-Jul-19)
#85544
PDF page: 55
album(dot)tracks doesn't give the error listed in the book for the version of the code I downloaded. I think you meant -> (percent sign)Albums{}(do...more...
  • Reported in: P1.0 (12-Jul-19)
#85558
PDF page: 68
Paper page: 55
“Working with Associations in Queries” “In some ways, that seems like the right thing to do. We have an album record and we want the associated tra...more...
  • Reported in: P1.0 (02-May-19)
#85005
PDF page: 81

... the value should contains the values...

Should read

... the value should contain the values--Henrik Horneber

  • Reported in: P1.0 (10-Jul-19)
#85546
PDF page: 111
table name doesn't seem internally consistent: mix ecto.gen.migration add_composition_artists_table mix ecto.gen.migration add_compositions_arti...more...
  • Reported in: P1.0 (10-Jul-19)
#85547
PDF page: 111
Make table name compositions_artists_table instead of using "composition" (singular) Seems more consistent with the chapter and with treatment on ...more...