Sometimes I'm finding myself documenting activities: the notes on this homepage, logs of learning, of investigating things, or of considering ideas. Often it begins with a large list of messy notes, and results in a much shorter and structured document, which itself is akin to a journal entry on a larger scale. Sometimes I'm trying to write a document at once, but then rewriting and shortening it anyway – so the rather messy initial notes may be a better approach.

Then there are implicit notes, particularly "TODO" ones: open IRC channels, web browser tabs, documents, even mailing list subscriptions. I've tried to dump some of those to the links page, and occasionally turning groups of those into notes here, but still having a lot of those implicit entries.

When working with somebody else, sometimes I'm journaling right into a letter or an IM, sharing the notes at once. Or, if there is an issue tracker, writing the notes there. But local notes seem to be more persistent than those on issue trackers.

It seems that a local journaling system could solve most of those issues (implicit notes in memory, lost notes on issue trackers), and org-mode actually includes that: the capture and agenda features do cover many of use cases. Apart from org documentation, there is the "journaling with org-mode" article, and org-capture helps to capture links directly from Firefox. Here are my org-capture-templates:

'(("n" "journal note" entry (file+datetree "~/org/")
   "* %?\n%i")
  ("l" "journal with a link" entry (file+datetree "~/org/")
   "* %?\nEntered on %U\n  %i\n  %a")
  ("x" "link" entry (file "~/org/")
   "* TODO Review %c\n%U\n%i\n" :immediate-finish t)
  ("w" "woke up" entry (file "~/org/")
   "* %U :sleep:off:" :immediate-finish t)
  ("s" "went to bed" entry (file "~/org/")
   "* %U :sleep:on:" :immediate-finish t))

When it comes to project development and maintenance journals, it is rather handy to reuse "TODO" lists as checklists: at first they help against procrastination, then they make it easy to repeat steps if needed, as well as to keep track of the things that were done. Verbose commit messages are helpful for the same reason in many cases, but there are activities that don't result in things that can be committed.

At some point I started writing a rather extensive work journal (writing down both maintenance/operations logs, and regular development tasks, notes, plans, mixed with relevant links), and refined it over time: currently it's a single, rather simple org-mode file, with standard "TODO" and "DONE" marks, with inactive timestamps as the first line in those (so that it's clear when it was written), and links to email messages (org-store-link, org-insert-link, used with mu4e).