I always used to tell myself "You can never be sure you've really understood something until you try to recreate it". It started from my university days when I noticed that stuff I read and thought "yeah I got this" later turned out to be anything but, when I had to do it without the textbook at hand. Since then, I've always kept the habit. There's literally a pen and notepad two inches to the right of my keyboard. There is also a terminal open always, where I can do this:
$ learned
> about Walder's law: the bulk of discussion on programming language
> design centers on syntax (which, for purposes of the argument, is
> considered a solved problem), as opposed to semantics.
That's an actual example from two days ago. "learned" is just a shell script:
#!/bin/bash
read text
echo -e "\n$text" >> ~/Dropbox/writing/notes/learned.txt
That’s a really simple but great idea. Thank you for that. I can’t tell you how many times I’ve learned something while working but have been too lazy to find my notes and figure out which note to put it in. And so I never end up making a note of it in the first place.