He talked about the nature of knowing and learning, and he shared a number of techniques for learning more effectively.
But then he said something that especially piqued my interest. He mentioned keeping a programming journal, partly to be able to celebrate what you’ve accomplished, and partly to have something to reference when you inevitably forget a key detail.
Whenever you learn something new, log it.
And I thought, “Blog it!” That way, you aren’t the only one who benefits from your new education.
It’s something I already do, but not consistently. For instance, when I was implementing my own physics code for a game, I ran into a crash bug when sorting my objects, and when I realized what I had done wrong and fixed it, I wrote about it.
What’s funny is that later in the week, I ran into the same exact problem at the day job and knew exactly what was going wrong.
Five years ago, I wrote up all of my research into component-based entity systems when I was looking into implementing it for my own game project, and people still find it useful today. Heck, I still find it useful today. Thanks, Past Self!
Sometimes I do things that I haven’t written about. For instance, when I ported my existing game engine code and cross-compiling build scripts from SDL to SDL2, I didn’t blog about it. I had to do some research and figure out what’s really different, but for some reason I thought it wouldn’t be interesting enough for anyone but me. Now I wish I had a way of seeing how much effort there was to do so because most of it is forgotten.
So going forward, whether I deliberately set out to learn something like a new programming language or learn how to fix an annoying bug, I’ll make sure to publish it, both for your benefit and for my own.