Chief among the happenings of this year has been the explosion of how my son is able to express himself. Going from merely a state of being mute, for all intents and purposes, to someone who can clearly externalize what he wants and doesn’t want (oh, the things he doesn’t want) is absolutely a marvel to behold. There’s something profound in seeing such an evolution first-hand and I’m glad to be able to witness it. With it, though, arise thoughts of a different kind. This is most likely a case of being overly negative, but with every major milestone in his progression my own lack of visible progression is visible in its own right, and it’s something I struggle with making sense of.
No one would probably argue that the two should happen in lockstep, how could it even, but it’s at times awfully sobering to realize that it’s no longer the case where one’s potential is what it is for someone so new to the world. The doors of the world still remain largely open, but the means to find the “right” ones among them all seems to be greatly diminished with all of the possibilities out there. Here’s a good comment from a Hacker News discussion that captures this for me:
Could it be that your [sic] over 30?
There is a problem known as the multi-armed bandit problem. The problem deals with situations where you have to chose between different options you could take, but you don’t start off with full knowledge of the options. You can spend time learning the options (exploring) or you can spend time using the best option you already know of (exploit). Importantly, you can’t do both at the same time.
In general, good strategies start with a phase of exploring followed by exploiting.
Humans follow this pattern as well. For us, it seems we spend our late childhood, thru our teens, and into our early 20’s in a heavily explore-biased state then switch to exploit biased for our 30’s and later.
So the thing that happened to “exploring the internet” is you got older. Exploring for the sake of exploring is no longer as innately desirable to you know as it was when you were younger. You can still do it now. In many ways there are new tools that make it easier (see other posts) but it will likely feel more like work in a way which wasn’t true when you were younger.
 - https://en.wikipedia.org/wiki/Multi-armed_bandit
In always trying to better myself and my understanding of the world I’ve started following the RSS feed of LessWrong that bills itself as “[…] a community dedicated to improving our reasoning and decision-making,” which at the face of it seems pretentious as hell, but when reading the following posts it becomes clear how much a relatively hidden gem this community is:
- Reneging Prosocially
- How to Lose a Fair Game
- Do read the entire series
- Zvi’s posts on Covid
- Split and Commit
- Poverty and cruelty among Russian peasants in the late 19th century
- Fair warning: easily the most disturbing thing I’ve ever read
There is so much more to unearth from their Concepts Portal and if the posts above are any indication, then I’m surely in for a wild ride in thoughts that are harder to come by through other means. Some caution though: there a lot of posts about artificial intelligence and on how to prevent it taking over the world. I’m not as convinced of that, so for the most part I just leave those out of what I read.
In the same vein as LessWrong is Scott Alexander’s Substack, which may be polarizing to some and perhaps the author himself is too polarizing for comfort1, that serves as a wonderful foray into scientific reasoning and into the pandemic that continues to ail us all.
Around the end of summer I started getting into spaced repetition as a way to remember more things (on a professional basis only). Out of all the options out there, I settled on Mochi as my application of choice. At first I tried to just get by with the free version and thought that I could easily do cross-platform (i.e. MacOS, Linux, Android) card synchronization myself, but it quickly became apparent that it wasn’t as easy. I’m now on the Pro plan and couldn’t be happier with the product.
I’ve yet to amass a large number of cards (only 43 at the moment), but this is one of the things I will increase to remember things that I have use for only on occasion (e.g. certain data structures). So far I’m quite pleased with how well the methodology works as I’m dead certain that most if not all of the things I have on cards would have been forgotten long ago; most likely right after initial reading.
While I can count this year as another successful year of reading books, I’m not at all happy about my inability to recall the ones that weren’t smash hits. This could probably be solved with spaced repetition, as discussed above, but I’m not sure how to best go about turning bits and pieces from a book into a memorable card. In regards to that I will instead start writing more reviews that capture my thoughts as they arise, trying not to go too in-depth. This is greatly inspired by the beautiful setup Tom MacWright has, though I’ll most definitely not go that all out in terms of the design.
Earlier this year I made a post about kicking a habit and for a while it seemed like a great success, but as of late the consumption of energy drinks has been trending upwards again. On one hand I’m not all that bothered as there are surely worse things to consume on a semi-regular basis, but on the other hand there’s something that bothers me about the fact that I’m relying on it at all. In my head it should be easily possible to not consume it and be just fine.
I’ve yet to decrease the amount of time I listen to podcasts as I aimed to do from 2019 and at this point in time I’m wary of making any additional promises. Here are this year’s numbers on the last day of the year:
- Total (hours): 772
- Total (days): 32 days 4 hours
- Average per week (hours): ~14.8
- Average per day (hours): ~2.11
I won’t berate you for not knowing last year’s numbers, but this year has seen more than a 37% increase (about 37.9%)! Maybe I should make promises to cut back…
Slight increase this year going from 17 in 2020 to 21 in 20_21_. Not even someone as pedantic as me could have sought to align something as trivial as that.
“Drug Use for Grown-ups” by Dr. Carl L. Hart
Now here’s a piece of literature that’s sure to turn some heads and raise some eyebrows. It has unseated a lot of preconceived notions in me of hard drugs from what’s portrayed in the media and what’s contained in the mainstream echo chamber of discussions. Another one to call out that is in a similar boat is “This Is Your Mind on Plants” by Michael Pollan, though that one didn’t make it into this list purely due to lacking the level of oomph and being more prosaic. A must read for anyone who wants to do a little (or a lot of) broadening of world views.
“Robust Python” by Patrick Viafore
Among the five Python-related books I read this year, this one ears the gold star, as evidenced by being among the highlights… In all of the books about Python I’ve read there’s a dearth of knowledge on how to use types properly and that is what the majority of the book is spent talking about, and I’m glad that the pen was finally put to paper on that matter. Knowing how to reason about with built-in types, when to create custom types, and how to architect communication among objects of those types has been a godsend!
“A Common-Sense Guide to Data Structures and Algorithms, 2nd Edition” by Jay Wengrow
If you’re one of the people, as I was, who considered data structures to solely be the domain of very math-oriented minds, then you’re in luck! Absolutely every major data structure is explained in the simplest of terms with ample examples (both code and theoretical) of when to use them and when to not. Also aided by a thorough explanation of the Big O notation all of what has previously seemed daunting about learning how to leverage data structures is now just a matter of finding the right one for your use case.
“A Philosophy of Software Design” by John Ousterhout
I’m baffled that this took so long to come across my radar as it seems like one of those books along with the previous one that everyone interested and starting out in programming should read. There are some suggestions in there that fly in the face of popular beliefs, such as relying on comments to a seemingly pretty high degree, but if you are dogmatic about all things programming then just try to ignore those bits really, really hard. Here’s an overview someone did that might serve as an appetizer prior to taking on the book.
“Practical Object-Oriented Design: An Agile Primer Using Ruby, 2nd Edition” by Sandi Metz
Object-oriented design: the programming pedant’s worst nightmare. I’m continuing to read more about how to best use object-oriented design in the code that I write in Python as even though are a lot of vocal OOP (object-oriented programming) critics I still believe it has value even if you don’t take it to its extremes. The title of the book says it’s based on Ruby, but I found that had no real bearing on my understanding as its syntactically an easy language to read; similar very much to Python. A really easy recommendation for anyone wanting more fleshed out examples of object-oriented code. Curiously, the author is against using a lot of comments, in opposition to the previous author, so as always: take everything with a grain of salt and find out what works best for you.
These aren’t books, but I’d highly recommend reading the following blog posts to learn more about the downsides of dogmatic OOP and what are the alternatives:
I’m only basing this on the RationalWiki entry, which may not be at all reliable. ↩︎