# Errata for Dart Apprentice: Beyond the Basics 1st Edition

**URL:** <https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744>\
**Category:** Dart Apprentice: Beyond the Basics\
**Created:** [November 9, 2022, 12:01am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744 "2022-11-09T00:01:55Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jellodiil](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jellodiil/32/109742_2.png) [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Post date:** [November 9, 2022, 12:01am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/1 "2022-11-09T00:01:55Z")

</div>

Creating this topic to catch any typos and bugs in the 1st Edition of Dart Apprentice: Beyond the Basics.

---

<div class="post-metadata">

**Author:** ![jellodiil](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jellodiil/32/109742_2.png) [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Post date:** [November 9, 2022, 6:23pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/2 "2022-11-09T18:23:17Z")

</div>



---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 15, 2023, 11:18am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/3 "2023-01-15T11:18:40Z")

</div>

PDF, Page 9 — looks like some text at the very bottom has been truncated:

 ![screenshot](https://files.chunter.kodeco.com/original/3X/5/6/566a244c4ad3a4f5da34dc3c0941a4e1896b8ef9.png)

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 16, 2023, 12:52pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/4 "2023-01-16T12:52:07Z")

</div>

PDF, Page 23, Paragraph **Matching the Beginning and End** , first example:

> `final numbers = RegExp('r[0-9]');`

The `r` symbol should be in front of the string:

> `final numbers = RegExp(r'[0-9]');`

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 18, 2023, 9:17am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/5 "2023-01-18T09:17:20Z")

</div>

PDF, Page 57, Paragraph **Calling Super Last in an Initializer List** , the example:

```auto
class SomeChild extends SomeParent {
  SomeChild(double height, double width, String name)
      : _width = width, // initializer
      : _height = height, // initializer
        super(name); // super

  final double _width;
  final double _height;
}

```

Line 4:  
`: _height = height, // initializer`

Looks like we don’t need that colon before the `_height` variable since it breaks the initializer list syntaxis.

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 20, 2023, 1:36pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/6 "2023-01-20T13:36:28Z")

</div>

PDF, Page 72, Paragraph **Separating Business Logic From Infrastructure** , the image with the scheme has left side blue circle block named _Business Logi **n** _ — I think it should be _Business Logi **c** _ instead:

 ![scheme](https://files.chunter.kodeco.com/original/3X/d/e/dea9a8f7672a416441bb50bffd6e1e934d5ebf2f.png)

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 26, 2023, 8:14am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/7 "2023-01-26T08:14:14Z")

</div>

@eshfield Thank you for all of your error reports! I didn’t have my notifications set up correctly for this book, so I am just seeing your posts today.

For the truncated text in the How to Read This Book section, I’m not sure what the problem is. My PDF version isn’t truncated. Maybe @jellodiil can give some help.

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 26, 2023, 8:18am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/8 "2023-01-26T08:18:01Z")

</div>

> [@eshfield](#):
>
> The `r` symbol should be in front of the string:

Yes, thank you! Updated.

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 26, 2023, 8:25am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/9 "2023-01-26T08:25:06Z")

</div>

> [@eshfield](#):
>
> Line 4:  
> `: _height = height, // initializer`
> 
> Looks like we don’t need that colon before the `_height` variable since it breaks the initializer list syntaxis.

That’s right. Thank you. I’ve updated the chapter text for the online version.

@eshfield I can’t make more than three consecutive replies, so I’m posting the following as an edit to my previous reply:

> [@eshfield](#):
>
> PDF, Page 72, Paragraph **Separating Business Logic From Infrastructure** , the image with the scheme has left side blue circle block named _Business Logi **n** _ — I think it should be _Business Logi **c** _ instead:

You’re right again. Thank you. I’m requesting an updated image from the illustration team.

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 26, 2023, 8:53am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/10 "2023-01-26T08:53:11Z")

</div>

@suragch I’m glad that my meticulousness is useful here 🙂  
I have a little bit of another observations that I couldn’t post earlier due the three consecutive replies limit.

1. PDF, Page 96, Paragraph **Storing a Tree in a List**  
Looks like the figure with the tree has element #3 (value of `5`) and #4 (value of `0`) swapped:

 ![one](https://files.chunter.kodeco.com/original/3X/e/c/eca69d55ff0c8764b43f2e6a65a02ee329b36d32.png)

Another tree figures in this chapter have the correct order:

 ![two](https://files.chunter.kodeco.com/original/3X/f/4/f4bfadfae9b8b28b7e5919c544b85847af4c3218.png)

1. PDF, Page 129  
This is not the **Continue** button highlighted at the image:

 ![continue](https://files.chunter.kodeco.com/original/3X/b/c/bc39847f64ef47bc7c56f6610a1790e3cb3a6988.png)

1. PDF, Page 135 and 136

> Now, add the following validation **method** below main :

> Add a few more validation **methods** below main :

Is it correct to name that functions as methods? This is just a regular functions, not in the class definition scope.

1. PDF, Page 167

 ![exception](https://files.chunter.kodeco.com/original/3X/e/f/ef689b8a52e678d1589c332181f3e3def4998b27.png)

Looks like the `error` message for the `SocketException` doesn’t have the prefix `SocketException:` — only `Failed host lookup: 'jsonplaceholder.typicode.com'` (using Dart 2.19)

 ![network](https://files.chunter.kodeco.com/original/3X/c/6/c68cabb2d302ed0ff5ff8b37e68ee890e15b0ca6.png)

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 26, 2023, 2:20pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/11 "2023-01-26T14:20:53Z")

</div>

Page 175, the last line before **Using a Stream** paragraph:

> The chapter will finish by teaching you how to make your own **steams**

Steampunk is fun 🙂

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 26, 2023, 6:19pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/12 "2023-01-26T18:19:42Z")

</div>

PDF, Page 187, **Writing the Code** :

I think it would be worth to mention that you need to ensure you have `import 'dart:async';` line to have the ability to use the `StreamController` at this example

 ![add](https://files.chunter.kodeco.com/original/3X/7/6/76e7f4ff661643515bf914e6ba556c3212806cdc.png)

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 27, 2023, 8:11am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/13 "2023-01-27T08:11:22Z")

</div>

> I’m glad that my meticulousness is useful here

Very useful!

> 1. PDF, Page 96, Paragraph **Storing a Tree in a List**  
> Looks like the figure with the tree has element #3 (value of `5`) and #4 (value of `0`) swapped:

Yes, thank you. I’ve requested an updated image from the illustrations team.

> 1. PDF, Page 129  
> This is not the **Continue** button highlighted at the image:

The image is correct in my PDF version and in the online version and in the current book repo and the recent repo history, so I’m not sure why your PDF shows the wrong image. Did you download the PDF from the Kodeco website? What renderer are you using to view the PDF content?

> Is it correct to name that functions as methods? This is just a regular functions, not in the class definition scope.

Good point. I’ve updated the wording here and several other places in the article.

> Looks like the `error` message for the `SocketException` doesn’t have the prefix `SocketException:` — only `Failed host lookup: 'jsonplaceholder.typicode.com'` (using Dart 2.19)

This is also true for Dart 2.18 (which is what the book should be using). I’ve updated the error message.

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 27, 2023, 8:30am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/14 "2023-01-27T08:30:34Z")

</div>

> [@suragch](#):
>
> The image is correct in my PDF version and in the online version and in the current book repo and the recent repo history, so I’m not sure why your PDF shows the wrong image. Did you download the PDF from the Kodeco website? What renderer are you using to view the PDF content?

My PDF version is from Kodeco website and I just open it in Chrome browser to read. Looks like I have some local problems on my machine with PDF rendering (recalling my first issue with truncated text at the beginning of the book) — sorry for that false alarms.

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 27, 2023, 9:39am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/15 "2023-01-27T09:39:30Z")

</div>

> Steampunk is fun 🙂

Haha, I don’t know much about that, but streams are too. I’ll make the update. Thanks.

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 28, 2023, 5:25am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/16 "2023-01-28T05:25:28Z")

</div>

> I think it would be worth to mention that you need to ensure you have `import 'dart:async';` line to have the ability to use the `StreamController` at this example

I agree. I’m now having the reader replace the entire `main` function and included the import.

---

<div class="post-metadata">

**Author:** ![eshfield](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/eshfield/32/105896_2.png) [@eshfield](https://forums.kodeco.com/u/eshfield)\
**Post date:** [January 28, 2023, 12:38pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/17 "2023-01-28T12:38:56Z")

</div>

This is not the erratum — just a note.

What is the point to give every chapter the author subtitle when all chapters in both Dart Apprentice books have same writer? I have nothing against the vanity and in no way I don’t want to underestimate your merit in the colossal work of writing these books — they rightfully bear your name on the covers. But as you taught us with DRY principle we don’t like the unjustified repetitions, don’t we? 🙂

 ![by](https://files.chunter.kodeco.com/original/3X/f/3/f305c9eb7a0fa4d51a7ad2ccff09f0aeea18ce4f.png)

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 30, 2023, 1:52am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/18 "2023-01-30T01:52:20Z")

</div>

Yes, I agree. I think I actually even saw this same advice in our book writing guidelines. It’s not quite true that it is the same author for every chapter in both books, though. Chapters 2-6 of Dart Apprentice: Fundamentals were based on content from Matt Galloway’s work in Swift Apprentice. Thus, he is a credited author in those chapters. However, this doesn’t apply to Dart Apprentice: Beyond the Basics and the author name should be removed at the beginning of the chapters.

@jellodiil Can you make the change to remove the author name at the beginnings of the chapters in DABB? Also, if you want to remove the author names in the chapters in DAF, I made an update in the acknowledgements of DAF specifying exactly which chapters were based on Matt’s work. I thought you had removed the chapter author names before, but when I just downloaded the DAF PDF just now they were still there.

---

<div class="post-metadata">

**Author:** ![suragch](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/suragch/32/109020_2.png) [@suragch](https://forums.kodeco.com/u/suragch)\
**Post date:** [January 30, 2023, 10:16am UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/19 "2023-01-30T10:16:58Z")

</div>

Business Logic and Binary Tree images are now updated.

---

<div class="post-metadata">

**Author:** ![jellodiil](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jellodiil/32/109742_2.png) [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Post date:** [January 30, 2023, 4:07pm UTC](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744/20 "2023-01-30T16:07:19Z")

</div>

For the online version we can’t remove the author name easily (and from the above conversations, it seems that that’s where the PDF is generated from), it gets added automatically whether it is the same author or individual authors.  
But it’s a good feedback—we can consider whether showing a single author is necessary or not.

[Next page](https://forums.kodeco.com/t/errata-for-dart-apprentice-beyond-the-basics-1st-edition/180744.md?page=2)
