I did something similar to this a while back with a one-liner aliased in my Bash includes, called gitsum (short for git summary).
alias gitsum='git log --pretty=format:"* %s" --author `git config user.email`' #myself
It gives my git commit messages as a Markdown bullet-point list. It only works per-branch unlike the linked gist, but one cool thing about it is that you can tack on additional git flags, such as --since. For example:
Here's how I did it, I would say it's solid, approachable, and enjoyable:
Go through the first half of Crafting Interpreters [0]. And then try to complete mal - Make a Lisp [1]. That's it. You'll only need these two.
P.S. People also say good things about Build Your Own Lisp [2], but I didn't finish it because I find spending quite some time writing C doesn't make me feel I'm enjoying something elegant.