Wednesday, July 4, 2012

A desktop wiki instead of a linear logbook - my personal journey


Anyone who works with command line programs enough eventually realises the need to keep a log of their activities. It's not fun, but its much less painful having to go back to the manual every time you want to run something. Also, a log helps to keep track of the options and settings that were used.

Up until recently I did this linearly. I had a text document in which I would add a small heading and then the commands I used to do what I was doing. If I wanted to repeat a command used previously, but with slight modification, I would have to search the entire file for that command. This was OK at first, but eventually I had multiple versions of certain commands, each for a slightly different purpose, scattered throughout this file. I wanted to be able to keep commands for the same program together. But I also wanted to keep all the commands for a specific task together, even if that task involved several programs. This didn't seem feasible in the linear text file format, so I started to search for alternatives.

In general I decided that keeping a separate file or page for each task or program would be best. This could be done manually, using multiple text files, but this seemed cumbersome. I discovered that there were several free programs that offered this functionality. Most of these are designed for keeping track of ones thoughts, ideas, todo lists etc. Popular examples include Tomboy (simple and easy) and BasKet Note Pads (Complex and versatile). An additional function that these both have is the ability to create links. You can make links to other flies such as papers and manuals, links to websites and best of all, links to other pages. Rather than a single very long file, I could keep a network of inter-connected, smaller, pages.

Tomboy allows easy linking between notes
Main window
BasKet Note Pads allows you to make complex and beautiful pages

After extensive reading I decided to go with a less well-known "desktop wiki" program called Zim. A wiki is simply a website that allows users to edit pages - the best known example being wikipedia. Zim works like a website in that pages can be linked and organised in a heirarchical structure, but it isn't online, it's all saved locally. Creating links, formatting text and embedding images is really quick and easy. I have completly migrated to Zim, and so far it meets all my needs.

Zim's interface is simple yet powerful
At first the idea of a network of linked notes sounds more complicated than a single log file, but this change has definitley simplified my life, and I recommend it. Zim currently has linux and Unix versions, but I'm sure there are other programs out there with similar functions.