I observed that discussing with your self about a problem is a fairly common practice. I find it is even better to write what you think. Not only it forces you to materialize your problem, but the written material can serve you as a log for future reference.

I have been trying different ways to log my self chatter, I created a gtalk account to whom I would talk to. But I found that this way I would ways have to set a lot of context before going to the problem. Made a small script where I would just append a text, properly dated, into the end of a journal file in the current working directory. By being in the project directory I would set part of the context I was in, and it would even leave some information to project contributors. I started to like this method, and I was about to improve over my script, but then I thought that maybe this is a solved problem.

Some people like to blog. I tried that, but post are generally a synthesis of the whole story, and most of the time I would forget pieces that were relevant. I could be more atomic. Tweeter would seem a better fit for it, but then it falls into the context argument I described above.

I thoughts?


closed as off-topic by durron597, user40980, gnat, user22815, amon Jul 14 '15 at 8:18

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – durron597, Community, gnat, Community
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Get a dog and talk to him. They're usually very good listeners. – user8685 May 29 '11 at 14:36
  • @Developer Art: Why not a cat? Cats are calmer ;) – user2567 May 29 '11 at 15:46
  • 4
    @Pierre 303: Cats don't take you seriously. A dog will. – user8685 May 29 '11 at 17:03

Get a rubber duck. But seriously, don't overthink that, or you will lose the benefits of this technique. Also take into account that such journal probably won't be useful to anybody except you, so don't treat it as a substitute for comments, commit messages, and documentation.

  • 1
    +1 rubber duck - the original "pair programming"; except the duck bathes more often – Steven A. Lowe May 29 '11 at 17:11

I don't know about specialized tools, or that they are necessary.

I keep a development log file as part of the project, to track what i did and why and what i was thinking and open issues and what to do next. It makes it easier to switch between projects. I start a new file for each project revision.

I also keep a separate Issues document for each revision, and put open issues in it - things to investigate, alternatives not considered, problems that might come up later, compromises that were made that might have to be unmade, et al.

(I tried talking to the office cats, but they really don't care.)

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