For sometime I have been wondering how best to manage all the information that collects in my laptop. I don’t even have to try to collect data it just arrives in an irregular stream of emails, instant messenger and other symptoms of this connected world. And then there are the other things I want to collect, data from websites, blog articles, eBooks, PDFs and other documents. Added to this meeting notes, observations, ideas for new projects.

All of this information is actually quite difficult to manage. For some time I have been organising things on the filesystem but this approach only captures data in a very structured way. It is not easy to cross link data from one point in the directory structure to another (I could use symbolic links but that would quickly breakdown with such a high maintenance load.

Last night I remembered that someone had suggested using a person wiki to help manage all this data so I thought I would give it a go. I wanted the system to run on my laptop. I am not always connected to the internet and a local installation helps when I am far away from wireless and 3G. This approach also minimises security concerns in case any sensitive data ends up on the site. I tried a couple of wiki solutions and decided on MoinMoin. Written in python this wiki server uses the filesystem to hold its pages - which helps with recovery if nasty things happen.

After some happy hours organising my data I have to attest that using a wiki for this is a liberating experience. I have not deleted the original files yet but being able to simply link information together, including journal entries, meeting notes to people, technologies. I have not settled on a structure yet. I am letting the data that I collect over the coming weeks guide its organisation before taking a careful look at how it could be organised. At the top level I have Work, Profession, Library and Incubator. The last is a bucket for any ideas that I come up with. If the ideas collect data then they might be worth pursuing - only time will tell. The Library is where I put all my PDF format eBooks which I can then cross link from pages related to their content.

If you have not tried it yet I recommend installing a local wiki to see if works for you.

Update:

For some time I have been collecting thoughts in an electronic journal using one file per day and naming the file based on the YYYY-MM-DD format. The following bit of ruby then generates a simple reverse chronological listing of those journal entries as a page called ‘Journal’. The regex is particularly lazy and could do with a cleanup but the script is functional for my immediate needs.

For this code to work you need to enable xmlrpc which appears to be off after a clean install. The simplest but least secure is to enable this in the wikiconfig.py file by adding the line

actions_excluded = []
require 'xmlrpc/client'

server = XMLRPC::Client.new('localhost', '/?action=xmlrpc2', 8080) 
journal_page = ""

result = server.call("getAllPages")
result.sort.reverse.each do |page_name|
  if page_name =~ /....-..-../
    journal_page << " * \[\[#{page_name}\]\]\n"
  end
end

puts journal_page  

server.call("putPage", "Journal", journal_page)