Theoretical Computer Science Stack Exchange is a question and answer site for theoretical computer scientists and researchers in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This is a question in the spirit of this one where I answered that it is important to keep track of what you have done something, why you have done it and what is not working. I personally use notebooks for that purpose, but it has several drawbacks: first I need a lot of storage surface, second when I travel I cannot access my data, and finally this is not collaborative. It has however a strong plus: the notebook can be used as the equivalent of a laboratory notebook (you just have to find somebody to sign each page...).

So, I am interested in knowing how other researchers proceed for that matter. For example, is there any specific software that solve all the issues I mentioned?

share|cite|improve this question
Terence Tao's thoughts on time management – Aaron Sterling Nov 15 '10 at 15:44
what data ? we are theoreticians ? (I kid, I kid) :) – Suresh Venkat Dec 12 '10 at 1:02
up vote 7 down vote accepted

There are several pieces of software that can be used for mind mapping. Here is a list.

I also suggest software like Microsoft OneNote or other notetaking software.

If you have a tablet PC or a graphics tablet, I suggest using Windows Journal, or other alternatives (like Xournal).

Edit: For lab notebooks, please refer to Electronic lab notebook and Open Notebook Science.

share|cite|improve this answer
thanks, "mind map" is the keyword I needed :) – Sylvain Peyronnet Nov 15 '10 at 11:26
However, this does not solve the last issues on the authentication of the work (as in a lab book). – Sylvain Peyronnet Nov 15 '10 at 11:35
@Sylvain: You're right. I didn't point that out. Please see the updated answer. – M.S. Dousti Nov 15 '10 at 12:10

For emacs users there's the extremely useful org-mode. It is an emacs mode that, in plain ascii, help organizing your life or at least your research :) It has TODOs, deadlines, schedules, effort, tables with some computations capabilities, and lots of other features. It can export projects in LaTeX, html or other formats. Since it is text-based you can manage projects concurrently using some Distributed Concurrent Versions System, such as git or mercurial...

share|cite|improve this answer

I used to (and to a small extent, still do) have everything scatter across notebooks and binders, but recently I got fed up and moved over to a personal wiki TiddlyWiki. It can be hosted completely locally (it is just one html file), runs in your browser, and after installing a simple plug-in has LaTeX-like math support. I use it to take notes on papers I read as well as to jot down ideas and self-explanations of things that confuse me.

share|cite|improve this answer
+1: That looks very useful. I'll try this! – Marc Bury Feb 15 '11 at 22:53

I use revision control for this purpose. Running backwards in time, one can see the state of the program at a given point, coupled with the changelog which (hopefully) states why it is like that. Putting the data and papers as well as code in revision control makes everything work even better.

share|cite|improve this answer

I was using LaTeX files plus SVN to keep track of my notes.

But recently I have stated using SVN with a personal Wiki TiddlyWiki (that Artem Kaznatcheev has mentioned above) with a plug-in for jsMath so I can use LaTeX in my notes. It is quite easy to setup and use (it is a single html file). TiddlyWiki has tagging and search functionalities.

Typing in usual LaTeX allows copying those notes directly without modification to a LaTeX file. There also lots other plug-ins that you can find by Googling, e.g. this TiddlyVault.

The really nice thing is that you can have a copy of your notes on your laptop (so you can work with them off-line), and another one on your webpage (so you can work with them online from any place) and keep them in sync using SVN. You can also use it in a collaborative manner.

The idea came to me while reading this.

share|cite|improve this answer
How do you set up tiddlywiki to play nicely with SVN ? I'm very intrigued. – Suresh Venkat Apr 29 '11 at 0:55
@Suresh, I should say that I have been using this for a short time, and not collaboratively but to keep a local copy of my notes, therefore haven't had complicated conflicts and resolving them has been quite easy. At the end one needs to resolve the conflicts in the html file and they have been similar to resolving conflicts in tex files. But for more serious collaborative work tex files+SVN or more collaborative Wiki software might work better. – Kaveh Apr 29 '11 at 4:24
the automatic displaying/hiding of levels in tiddlywiki seems attractive as well. – Suresh Venkat Apr 29 '11 at 7:33

I think you may like I've been using it for a while now to both keep notes and collaborate with others. Knowen allows to store notes (nodes) with all relevant attachments in a DAG, keeps history of all previous versions, has fairly convenient collaboration tools. The language of the nodes is a simple markdown + MathJax, which can be exported and converted into standard LaTeX with pandoc. It is straightforward to use, but powerful.

example of

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.