These goals are a continuation of last years goals.


  • Complete five Project Euler puzzles (without looking at other peoples' answers). As a bonus, complete one of them in F#.

  • Implement each of the permutations algorithms from Topor (1982) in F#. In progress.

Object Oriented Programming: Implement one more of the Gang of Four design patterns in C#.

Open Source: Contribute 40 hours of software development to allReady.

Tooling: TODO

StackOverflow: Answer 8 more questions that have the C# tag, in order to reach 200 of those answers and to become eligible for the C# gold badge. (This could be one answer / day for eight days - that's manageable).

Income: TODO

Mentorship: TODO

Project Management: TODO


  • We will end up not using a lot of the skills that we learn in life. That is expected.
  • It is okay for this year's goals to be smaller than last year's goal were.
  • If a person is lost in the woods, and if 50 search and rescue volunteers go search for that person, and if one of those volunteers finds the person, it was still really important that all 50 volunteers went and searched.
  • If we are happy with what we did last year, then that is an emotional message to repeat it.


  • Deciding which goal to pursue next.
  • Defining the specific finish line for each goal.

Distractions / Other Goals / Ideas

  • Read Concurrency in C# by Stephen Cleary in order to strengthen my understanding of threading concepts.
  • Alternatively, read Concurrency in .NET by Richardo Terrell. This would achieve two aspirations at once: Learning F# and learning more about Concurrency.*
  • Contribute to the F# documentation on
  • Make the algorithms from Topor (1982) run in parallel, using strategies from Terrell (2018).
  • Make a NuGet package out of the algorithms from Topor (1982).
  • Spend the time to understand/grok one or more of the algorithms from Topor (1982).