Notes while coding/learning

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:

  1. 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.

  2. 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 :smile:, 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?

The problem I always have with note taking apps is portability. Is it always there in the same way as a pad of paper is?

I’ve used mind-map stuff, but I’ve tended to find it too cumbersome. The ones I’ve used have been system installed ones, so I’ve lost my maps as I’ve had to do new installs/moved machines, and never getting around to reinstalling.

Yeah, very true! I always take A4 sheets of paper with me in a clipboard, a set of double-tipped colour pens, and a 7-8 year old trusty fountain pen for all my paper mind-mapping needs.

On the other hand, software’s good, because you can paste in a lot of information into a map, like code. Then again, I wish XMind offered syntax highlighting :smile: …and, yeah, I wish it was a lot less cumbersome (it’s actually built on top of Eclipse).

I’ve been struggling with this problem for years. I use freemind mind mapping tool for generally collecting information about a problem and when discovering properties of entities etc. I use UMLet for knocking up quick UML related stuff, I also abuse it to make entity models etc. It’s fast and easy when you get used to it. At work I am currently using Microsoft’s OneNote to manage notebooks on various projects. I find this can easily get out of hand; I believe it’s similar to Evernote but I’ve never used that so can’t comment. I absolutely hate pen and paper because I invariably run out of space. I got a Wacom bamboo drawing tablet thing in the hope of making drawing electronically a bit easier which was good but slowed me down. I’ve also tried RealtimeBoard on chrome webstore which is a collaborative tool, online whiteboard thing; I was very impressed with that but didn’t take if forward for reasons I can’t remember.

Ah, yes, running out of paper is something that’s difficult. Talking to people recently, I’m quite surprised though how many, many people prefer paper to digital! For me, for some things paper is indispensable (brainstorming, problem solving), while for others (most things, really) digital mind maps/diagrams/documents are just more convenient.

Update on UML tools. I just discovered there’s a new release of It looks good but I’m a bit nervous about Eclipse installs.

Proudly sponsored by Bytemark