I work in a secretarial type position, I’ve been there almost eleven years, it’s what I wound up doing when I was in the Marine Corps (One of those, “My recruiter lied to me” stories. But I suppose it worked out for the best.) Anyway, I have a lot of multitasking to do and just in the last year I discovered Microsoft OneNote and I love it. It could do more for me I suppose, but thinking about using it now to catalog my knowledge of programming is pretty exciting for me. You create notebooks and within those notebooks you create pages which you can give names, I’m going to use those naming abilities to categorize areas that I learn for better studying. If you use the full OneNote app (I’m not seeing it in the web version on Office 365), you can take screen caps that will print the image in the page, you can also pull documents and files into the pages (like an actual piece of code!). Oh and of course you can sync between different computers. Doing it via the web is easier and cleaner than through the app (c’mon MS, get with it). Something to be sure to do is to write as much about the terms you’re recording as possible to make it easier to search later, when you can’t think of what it is that you need. Of course this plays well into the memorization process. All in all it’s a fantastic tool that I highly recommend.
edit: so it looks like putting files and such into your pages only works in the full desktop app, so it’s worth looking into.