Over the time my ways of writing notes have evolved. I think writing things down helps me both to retain extended working memory of things I have done over time, as well as process them (sometimes much, much later).

I write this blog mainly just to organize my own thoughts too, as opposed to actually writing for an audience (by design, I keep no statistics of readers, and I do not particularly want to interact with hypothetical reader or two that might stumble here, sorry - I believe most of the visitors are AI scraper bots anyway).

90s

During my first stint in the university I wrote a lot of notes using actual pen on actual paper, as the laptops back then were not really developed enough (or cheap enough) for student to use full day without charging them up in the middle. I think I had a laptop from work but back then its battery lasted 2-3 hours (if lucky).

Most of my work and other serious stuff I kept in text files at the time. For something that was supposedly ‘nice’, I used LaTeX (e.g. both for bachelors and masters thesis, some other documents that I wanted to make fancy looking).

00s

Year or two after I finished my MSc in computer science, I started to study Japanese as a hobby while working full time. I kept still notes about it mostly as text files, although in really funny encodings (a lot of Japanese software at the time at least dealt better with SHIFT-JIS encoding than e.g. Unicode. For my finnish notes I used ISO-8859-1 for similar reasons).

I wrote some standard drafts for IETF also as (mostly) text files.

The journal files I had at the time were also text files (see earlier blog post for history) in Palm.

The first real rich-text stuff I started writing down were actually Journler files in 2006, but even before that I had started doing something else worth noting..

Interlude - Mind mapping

I have never been fan of really graphical free-form mind maps. Ability to place things in free form does nothing to me, and distracts me from the content. Same applies to colors or anything else to make them ‘prettier’.

However, I have been always a fan of lists. So arbitrary nesting level lists have been godsent to me in various formats, and I started seriously using ‘mind map’ software (Freemind, later on Freeplane) in 2003. I still use it now, 22 years later (and counting), for some stuff.

It seems I have currently bit over hundred mind maps. Most of them are not interesting ( to me or anyone else ), as when I was studying, I used to make a mind map per book that I needed to get through in exams. Right now value of e.g. economics/2008/Principles of Corporate Finance (Brealey Myers et al) 7th ed, 2003.mm is somewhat debatable. I have also some that were (personal or work) project specific, mostly long irrelevant (e.g. move to Japan in 2006, our startup that died in 2012).

I have couple of huge mind maps that have literally evolved over decade or two, and they’re perhaps worth copying as a pattern:

  • compsci/Libraries.mm
    • Libraries in various programming languages that I have found useful - I usually write down notes about their popularity (over time), what they do, etc
  • compsci/Protocols and Standards.mm
    • my general dump bag of notes about IEEE/IETF standards I go through (there is also separate mind map or two about specific working groups I was active in though, like e.g. homenet)
  • compsci/Programming Languages.mm
    • Notes about programming languages (mainly specifications I have read through, but perhaps also book or two)
  • compsci/Software.mm
    • Notes about software of interest

As random example, here’s what top-level of protocols and standards looks like:

There are also some other subject matter specific ones that are bit more recent:

  • compsci/Cloud computing.mm
    • Cloud providers, anything widely distributed/parallel
  • compsci/Machine learning.mm
    • Current hype - articles of note, models (over time), tools, ..

Funnily enough the biggest mind map is actually nothing useful - it is games/poe/poe.mm which containts lots of notes about over 10 years of playing that particular game on and off.

Work log - outline mode to org-mode

In addition to mind maps, I have usually maintained text-based work log of some kind for most things I have worked on. At some point it was in same place as my personal journal, at some point I separated it to keep separate text files per customer project (when consulting) or per workplace per year (when salaried).

I used somewhat customized outline-mode in Emacs for very long time (perhaps 21 years or so) for this (and also journal early on), but last year (2024) I switched to using org-mode. I think the only change during those 21 years is that at some point I switched to UTF-8 encoding from ISO-8859-1/15 (15 is essentially 1 with € sign). The actual note hierarchy varied bit over time (typically at start ~todo/wip, then things nested by (year)/month/day/thing in descending order - most recent entries first).

I have kept my to-dos separate from journals/work notes since 2007, as that is when Omnifocus 1.0 was launched. However, now with the org-mode switch, I have started once more keeping (work) TODOs actually within the yearly org-mode file. I wrote notes about the todos’ earlier content earlier too, but now I actually track what should be done alongside the notes.

This is what my toplevel looks like for the current startup I am involved with:

The TODOs are sorted by priority of when I should write them, and setup information contains misc.misc information about things that are useful - various services we use, Go tool notes, CI notes, ..

Where next?

I have toyed with idea of using Obsidian for work logs - or possibly even my journal. I mostly live in Emacs (when working), and writing markdown there would not be substantially different from org mode. On the other hand, the benefits seem bit questionable for me at the time - I can instantly search within specific files (or globally) already, and having one file feels more convenient than bunch of small files. Bear on the other hand is otherwise lovely but I am not huge fan of its use of SQLite database as main storage target (despite being SQLite fan - as integration interface it is bit awkward). Bear has nicer looking nested tags than Obsidian though, so I do not see that switch happening anytime soon either.

So, I do not really see compelling reason to switch anything right now, so knowing myself, next change in how I work is years out unless I find some really compelling reason to switch (and to what?).