New Year, New Wiki

I have become dependent on a small programming project which I wrote in Python to learn the language some years ago. It was done as preparation for teaching Computer Science, and as is recommended in tutorials, you should pick a project that matters. The one I chose was to extend the functions of the Zim desktop wiki application[1] which I use for planning courses and lessons — it is a simple text processing script that ended up with fix upon kludge and is now impossible to maintain or extend. It has the sort of structure and code style I would be embarrassed for my students to see, except as a warning to think before you code.

I have been meaning to tackle this low level, but irritating, problem for a while, but since I use it dozens of times a day I have not had the courage or time to sort it out. But over the festive break I have been playing with VimWiki, a personal wiki running inside of Vim, my favoured text and code editor. It seems quick to use without a mouse, an advantage for me, while the file structures (plain text files) and markdown syntax are almost identical. A quick bit of configuring VimWiki and I could access the same files that I usually accessed with Zim. All I needed was to create an index page to replace the GUI stuff and I was up and running with all my old data intact and accessible.

Now, with an incentive to finally rewrite my text processing script, I found a couple of hours to commit and the code is now a fraction of the size, more elegant and idiomatic, making proper use of Python features. There is extra functionality that better suits my current workflows, and sleeker code that will be easy to modify in the future. I can start the new term next week with no interruptions and a new keyboard based wiki for my planning tasks, all without leaving Vim.

[1] Zim – A Desktop Wiki [2] VimWiki – A personal wiki for Vim