I'm curious about people's approaches to taking notes, esp. while learning some new language/library or when you have a particularly good idea for a feature/project you might want to work on in the future. Do you store useful code snippets, create cheat sheets? If so, is that mostly to have a set of templates to speed up coding or to store solutions for recurring problems? Do you write out ideas, store them digitally or in notebooks? If so, do you find yourself returning to them, organising them in any way?
There are two reasons why I'm asking:
I maintain a few mind maps (in XMind) with code snippets that I find useful. I keep wondering whether other people do similar things. I also enjoy mapping out the structure of a new library (recently while learning Angular using the Code School course), getting an overview, along with example code snippets, of how the code is organised; or mapping out the resources available for learning about a particular thing; I also use mind maps for lots of other tasks and used to organise ideas that way.
The second reason is that recently (3 weeks ago!) I made the decision to seriously focus on working on a software idea that's been germinating for a few years around note-taking, mind-mapping etc. I'm looking to see if other people face the problem I'd like to, selfishly , be able to solve for myself.
So, do you take notes while learning, do you store and return to ideas? If so, what tools do you use for this? Have you ever used any mind-mapping software, something else, perhaps Evernote?