Every year looking at his solutions for advent of code [0] brings just so much learnings. Strongly recommend.
[0] https://github.com/norvig/pytudes/blob/master/ipynb/Advent%2...
Every year looking at his solutions for advent of code [0] brings just so much learnings. Strongly recommend.
[0] https://github.com/norvig/pytudes/blob/master/ipynb/Advent%2...
I feel his skill of dividing a problem into small pieces and expressing them in code in a natural way is unparalleled. Most books/blogs/articles I see often focus on one of two patterns.
The most frequent one is pulling in some dependencies and using a high level API, essentially skipping any real problem solving. Great when you just need a problem solved and are familiar with some framework/library but not that great for learning to program or problem solving
The other one is a deep dive into a data structure, algorithm or performance tuning. This is great when studying theory or optimizing. These articles are more interesting but I haven't encountered many people who are in a position where this is relevant to day to day work.
The missing pattern is one where Peters' work shines. The parts in between. All the libraries that are used in the first example I described are the result of someone taking the building blocks that result from the second example and applying them to a real world problem. Peter Norvig is my go to recommendation when someone is interested in becoming better at solving day to day problems because of this.
(Maybe those Advent of Code solutions are the first working draft, I don't know.)