small medium large xlarge

Errata for Dart for Hipsters


The latest version of the book is P4.0, released over 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: P4.0 (16-Feb-14)
PDF page: 19
Starting here, but throughout the rest of the book, query() should probably be replaced with querySelector() (see
Chris Strom says: Added a note in the book that query is not really deprecated. For more info see:
  • Reported in: P4.0 (26-Jan-14)
PDF page: 39
Hello! I found issue in the code on Github first, but now I found it in the book. Please, check my PR for fixes github[dot]com/eee-c/dart-comics/pull/...more...
  • Reported in: P4.0 (25-Jan-14)
PDF page: 46
In the Hipster Collections section 6.2 you define the collection with the two stream controllers _onLoad and _onAdd and the models list and then go on...more...
Chris Strom says: Tsk. That was part of the conversion from Dart pre-1.0 to 1.0/1.1. I really thought I had caught all of those, but I do seem to have missed some in this chapter. Thanks for the catch -- will fix shortly.... Maybe not “shortly,” but this is fixed in source. Chapter 6 has been mostly rewritten to avoid this trouble.
  • Reported in: P4.0 (16-Feb-14)
PDF page: 47
The discussion under DOM Ready confused me a little because I just used dart2js to make some JavaScript and through it in a normal script tag. When y...more...
Chris Strom says: I really didn't want to do this previously, but your suggestion spurred a nicer transition into the next chapter (Compiling to JavaScript). So, much thanks!
  • Reported in: P4.0 (04-Jun-14)
Paper page: 57

Need to remove event mentions from chapter 7. They are no longer used in chapter 6.--Chris Strom

  • Reported in: P4.0 (16-Feb-14)
PDF page: 59
The first two paragraphs after the first code example, that begin, "We cheat in our implementation of the forEach() method…" don't seem to have anythi...more...
Chris Strom says: Yup, that's either old text referring to new code or new text referring to old code. Either way it's a mess. But fixed now.
  • Reported in: P4.0 (16-Feb-14)
PDF page: 63
The lead up to the save() code talks about how the code needs to POST on create, but PUT on update. Then the method hardcodes a POST. Oops.--James E...more...
Chris Strom says: Wow. Good catch. I must have read this section a dozen times and never noticed that...
  • Reported in: P4.0 (16-Feb-14)
PDF page: 64

The event description at the top of this page doesn't match the actual code (on the previous page).--James Edward Gray II

Chris Strom says: Yup, this is fixed in book source now.
  • Reported in: P4.0 (16-Feb-14)
PDF page: 78

The text above the first code example and the actual code disagree about which interface is implemented.--James Edward Gray II

  • Reported in: P4.0 (26-Jan-14)
Paper page: 84

Need to be consistent with IterableBase and Collection. See Strom

Chris Strom says: I have fixed this in the source, but am leaning open for the time being to double-check that IterableBase is sufficiently explained.
  • Reported in: P4.0 (25-Jan-14)
PDF page: 91

The first sentence has the last 2 words transposed. It reads: "JavaScript has been around for years eighteen."--Josh Huckabee

  • Reported in: P4.0 (16-Feb-14)
PDF page: 93

The `extends IterableBase`/`implements Collection` confusion is back on this page.--James Edward Gray II

  • Reported in: P4.0 (16-Feb-14)
PDF page: 94
This paragraph doesn't make sense: "Back in the HipsterCollection superclass, we declare modelMaker() as abstract (by omitting the method body). crea...more...
Chris Strom says: Yikes! Something when wrong back in p3.0 and no one caught it until this :-\ Fixed in source.
  • Reported in: P4.0 (25-Jan-14)
PDF page: 95
Section 10.4 Packaging with "pub", second sentence states: "As we saw in Chapter 12, Testing Dart, on page 111, it is capable of resolving and install...more...
Chris Strom says: Dang. Hazards of working with the book in parts, I suppose. The testing chapter installed stuff via pub, including resolving some dependencies. Had it come first in the book, that would have made more sense. But really, there is no need for the cross-reference, so I've simply removed it. Thanks!
  • Reported in: P4.0 (16-Feb-14)
PDF page: 115
I think this sentence is in need of a verb, "It is worth pointing out that, because of how Dart manages libraries, setting HipsterSync.sync in our mai...more...
Chris Strom says: Bah. I tried stretching a sentence across multiple code examples. I stopped doing that now. Fixed in source.
  • Reported in: P4.0 (17-Feb-14)
PDF page: 130

I think the second code block should use handleException() instead of catchError(). (If not, the text above is wrong.)--James Edward Gray II

Chris Strom says: The text above was wrong. It should be catchError: I grep'd through the rest of the text / code and all handleException references are now gone.