# Is anyone else interested in earning the Reader badge?

**URL:** <https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911>\
**Category:** Uncategorized\
**Created:** [June 8, 2022, 4:08am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911 "2022-06-08T04:08:43Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 5, 2022, 2:49pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/61 "2022-08-05T14:49:32Z")

</div>

I am pretty sure that is true, but it helps break up monotony (even in games). Especially when you have truly random achievements like go to this random spot on some map. Makes it interesting in subtle ways if they do it right.

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 5, 2022, 2:55pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/62 "2022-08-05T14:55:22Z")

</div>

For me, I remember taking Robert Sedgwick’s algorithms course over at Coursera and being a bit overwhelmed. He was incredibly thorough, but I was learning Java while taking the course so it was pretty rough. He also had insane automated tests that made sure whatever algorithms you produced were sufficiently optimized (both in terms of time and space). Still an incredible learning experience, but not as enjoyable as Mosh’s material.

I do agree that Mosh tends to feel like he hits the right information at just the right time, but he does occasionally have a bug in this bit of code or another. It is pretty funny when he fixes one of his bugs while “refactoring” which is a classic. For example, he did that on his third algo course for the “is this string a rotation of the other” when he accidentally concatenated the two strings rather than the first string twice (then fixed it during a refactor).

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 5, 2022, 2:57pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/63 "2022-08-05T14:57:05Z")

</div>

Right now, I’m going through Mosh’s design patterns courses. I have studied the patterns directly by reading about them and used a number of them in my work, but now I am interested in seeing more details about them from Mosh. Hope it is as good as his other material!

---

<div class="post-metadata">

**Author:** ![UniqueNospaceShort](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/uniquenospaceshort/32/1814_2.png) [@UniqueNospaceShort](https://forum.codewithmosh.com/u/UniqueNospaceShort)\
**Post date:** [August 5, 2022, 3:09pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/64 "2022-08-05T15:09:46Z")

</div>

Just everyday omission. Happens all the time. 😁  
OMG it doesn’t compile! I forgot that semicolon. 😅

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 5, 2022, 3:18pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/65 "2022-08-05T15:18:53Z")

</div>

I am super grateful when the IDE is able to tell me what I did wrong before I have to go looking for it.

“Red squiggle there… Oh oops, I forgot to close that expression. Thanks IDE for saving me 2 hours of confusion and frustration.”

---

<div class="post-metadata">

**Author:** ![UniqueNospaceShort](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/uniquenospaceshort/32/1814_2.png) [@UniqueNospaceShort](https://forum.codewithmosh.com/u/UniqueNospaceShort)\
**Post date:** [August 5, 2022, 3:22pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/66 "2022-08-05T15:22:54Z")

</div>

I learnt a few design patterns in a training I took a few years back.  
If I remember well we saw:  
Factory  
Decorator,  
Observer  
Strategy,  
Singleton  
and Façade.

Now I am trying to learn them all from GoF.

I actually took the course from Dmitri Nesteruk. He explained the thing with advanced tech such as Reactive Extensions I do not know and showcased concepts that are still obscure to me so it took too long. But he does that in accordance to a good way of implementing them in .NET. I’ll go back to it at a later time. For now I need to understand them simply and implement them in the classic general way. I bought the ebook from Alexander Shvets and I find he explains very well too. Most of the content is on the online sites but I like to have an offline copy so I bought it.

One topic I’d love to learn is how to internationalise applications of different kind (desktop, mobile, web) with .NET. I have a global comprehension of it as a translator but I do not know how to do as a developer.

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 5, 2022, 11:22pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/67 "2022-08-05T23:22:46Z")

</div>

Learning from the source is definitely useful. I just find it easier to get summary information for instruction and use the source as a reference when you need it.

---

<div class="post-metadata">

**Author:** ![AlohaPapaya](https://avatars.discourse-cdn.com/v4/letter/a/76d3ee/32.png) [@AlohaPapaya](https://forum.codewithmosh.com/u/AlohaPapaya)\
**Post date:** [August 9, 2022, 10:18am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/68 "2022-08-09T10:18:55Z")

</div>

His explanations are so clear, he not only explains what to do, but also why it is done this way and not another, love this part of his teaching

---

<div class="post-metadata">

**Author:** ![AlohaPapaya](https://avatars.discourse-cdn.com/v4/letter/a/76d3ee/32.png) [@AlohaPapaya](https://forum.codewithmosh.com/u/AlohaPapaya)\
**Post date:** [August 9, 2022, 10:20am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/69 "2022-08-09T10:20:53Z")

</div>

This is soooo true!! Can relate 100%

---

<div class="post-metadata">

**Author:** ![AlohaPapaya](https://avatars.discourse-cdn.com/v4/letter/a/76d3ee/32.png) [@AlohaPapaya](https://forum.codewithmosh.com/u/AlohaPapaya)\
**Post date:** [August 9, 2022, 10:21am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/70 "2022-08-09T10:21:58Z")

</div>

I don’t really know what design patterns are, sadly it is not taught in my engineering school. Will need to learn it on my own!

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 9, 2022, 2:54pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/71 "2022-08-09T14:54:01Z")

</div>

Definitely one of his best qualities. He is thorough.

I have also found his visual illustrations of certain topics to be excellent. For example, in the data structures courses when he is illustrating the algorithms I find the drawings and animations to be excellent.

Perhaps the biggest drawback for his courses is that they get stale. That may partially be a side effect of how much detail he goes into. More details means your course is only as accurate as those details remaining correct. It makes his coursework more susceptible to breaking changes in the material he is teaching on future updates to that material.

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 9, 2022, 2:56pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/72 "2022-08-09T14:56:03Z")

</div>

I highly underestimated IDEs while I was learning to program. I think it is because I did not understand what they were doing (or what they could do). So when I used code generation or refactoring I had no idea what was going on. Many useful things were wasted since I just did not know how to use them properly.

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 9, 2022, 2:58pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/73 "2022-08-09T14:58:56Z")

</div>

They are things like the Iterator, Builder and Observer patterns. The most popular ones have been encoded into many modern languages. For example, Java has a built-in Iterator interface which is used by the language to implement for-each loops. If you never studied them, I highly recommend doing so with Mosh’s courses (or at least reading the book by the “Gang of Four”).

---

<div class="post-metadata">

**Author:** ![Viktrix](https://avatars.discourse-cdn.com/v4/letter/v/b3f665/32.png) [@Viktrix](https://forum.codewithmosh.com/u/Viktrix)\
**Post date:** [August 9, 2022, 8:38pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/74 "2022-08-09T20:38:05Z")

</div>

Very pleased to contribute 👍

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 9, 2022, 8:50pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/75 "2022-08-09T20:50:54Z")

</div>

Great! Now we are at 75 so we are 3/4 of the way to the goal! Time for another celebration post:

🥳 :piñata: 🎇

---

<div class="post-metadata">

**Author:** ![UniqueNospaceShort](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/uniquenospaceshort/32/1814_2.png) [@UniqueNospaceShort](https://forum.codewithmosh.com/u/UniqueNospaceShort)\
**Post date:** [August 10, 2022, 8:51am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/76 "2022-08-10T08:51:29Z")

</div>

Yep, C# has built-in Iterator too to be able to use `foreach`. When I recreated the pattern from scratch though I could not use `foreach` but had to iterate with `while` and `Next()` method.

---

<div class="post-metadata">

**Author:** ![jmrunkle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/jmrunkle/32/3765_2.png) [@jmrunkle](https://forum.codewithmosh.com/u/jmrunkle)\
**Post date:** [August 10, 2022, 4:03pm UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/77 "2022-08-10T16:03:56Z")

</div>

I mean, technically you could probably use the built-in using the standard APIs using a while loop and next (at least you can in Java).

Here is the Java Iterator interface (ignoring default methods):

```java
public interface Iterator<E> {
  boolean hasNext();
  E next();
}

```

So in Java you can use the Iterator like this:

```java
Iterator<SomeClass> someIterator = ...;
while (someIterator.hasNext()) {
  var next = someIterator.next();
  ... // do something with the next element
}

```

But if you have the class that creates the Iterator implement the Iterable interface, you can do the for-each loop:

```java
class Things implements Iterable<Thing> {
  @Override
  public Iterator<Thing> iterator() { ... }
  ... // rest of the class
}

class Main {
  public static void main(String[] args) {
    var things = new Things();
    ... // add Thing objects to things
    for (var thing : things) {
      ... // do something with each thing in things
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![AlohaPapaya](https://avatars.discourse-cdn.com/v4/letter/a/76d3ee/32.png) [@AlohaPapaya](https://forum.codewithmosh.com/u/AlohaPapaya)\
**Post date:** [August 11, 2022, 10:43am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/78 "2022-08-11T10:43:20Z")

</div>

Yeah indeed, even though the main principles remain true, it makes people (including myself) lose a lot of time to eventually succeed in reproducing what Mosh does!

---

<div class="post-metadata">

**Author:** ![AlohaPapaya](https://avatars.discourse-cdn.com/v4/letter/a/76d3ee/32.png) [@AlohaPapaya](https://forum.codewithmosh.com/u/AlohaPapaya)\
**Post date:** [August 11, 2022, 10:45am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/79 "2022-08-11T10:45:33Z")

</div>

Awesome! Thanks for sharing these ressources, greatly appreciated!

---

<div class="post-metadata">

**Author:** ![AlohaPapaya](https://avatars.discourse-cdn.com/v4/letter/a/76d3ee/32.png) [@AlohaPapaya](https://forum.codewithmosh.com/u/AlohaPapaya)\
**Post date:** [August 11, 2022, 10:46am UTC](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911/80 "2022-08-11T10:46:46Z")

</div>

And now we did 4/5 of the work 🤩

[Previous page](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911.md?page=3)

[Next page](https://forum.codewithmosh.com/t/is-anyone-else-interested-in-earning-the-reader-badge/12911.md?page=5)
