-->

Journal

Sunday, November 16, 2008

I’ve been looking for a good software to help with writing a journal/diary. Although I didn’t know exactly what i had in mind, there was a couple of features I thought I needed (and which I has discovered I needed as I tried out the different software packages that exists).

1. Ease of start writing. I don’t want to jump through hoops to just start the writing process.
2. Browsable/searchable. I need to be able to easily go back to previous entry, or at least be able to search for them.
3. Preferably text file format. In case the program stop working or I want to upgrade/change program, I rather the files that are created are in a common format. Making it hard to move away from a program means that developer don’t have faith that people will stay program voluntarily (yes, I know there are some efficiency reasons for going binary).
4. Simple. KISS principle

Wikis
Wikis are interesting. They pretty much cover 1,2 and 3. The problem is, I don’t want to install a webserver on my home system just to be able to write to my journal. Also, the browser isn’t the best editor in the world. I do have WordPress installed on my public webserver, so I could in theory create a private section. But again, I don’t think a browser is the best editor.

Kontact’s Journal
Journal that comes with Kontact is pretty basic. Since I already use Kontact as my primary mail client, it wasn’t that much that difficult to use Journal.
The problem is that Journal is too basic. Once you write an entry, there is no way to find it again. There are no indication in the Calendar whether a given day has a journal attached to it. So you have to pretty much go to each day and check whether the journal entry you want is there or not. There is a very rudimentary search, but sometimes you want to just browse.

Emacs
Now, Emacs being the all-in-one editor probably had something I could use.

journal-mode had everything I really needed. Problem was that it wasn’t maintained anymore. No support for Emacs 22 and beyond, which is a problem.
planner-mode forced too much structure. Programs should conform to me, not the other way around.
muse-mode made it easy to start writing. But it has the problem of structure. I wanted to be able to browse my journal by period and tags. I could set it up manually, but really… the program should take care of it.

org-mode. The perfect module, so far. It fills all four of my needs. It took my less than an hour to wrap my head around it to use. Org-mode also seems to be extendible enough for me to use in other parts of my life (like a day planner), which means that I can become more productive the more time I spend on it. So far, after 24 hours of use, I consider it a keeper.

Note: Sasha Chua has an blog entry about the topic. She also has lots of articles about using Emacs to its fullest potential.

Filed: 11:34 UTC in software

Coding – home vs work

Sunday, November 9, 2008

One thing many of my non-developer friends ask me is why I would code at home when I do the same for work. For me, there is a world of difference between coding at home and coding at work.

Coding at work means that you are basically stuck with the technology and project that management decided. If you are lucky, you might be part of a project from the beginning and can influence some of the decisions. Still, once decided, there are probably not enough time to make changes later (as much as the agile paradigm promises otherwise).

Working at home means you set the speed. If you do something you are unhappy with, whether it works or not, you can always change it. Since you are basically the management team, you can choose the technology and tools. I also feel like I learn more coding at home, since there is more time for experimentation.

One thing that you need to be conscious of when coding without deadline is limiting the scope. It’s much easier to never be happy with the work, and therefore never finish. One of my favourite windows managers, Enlightenment, seems to be a example of this (DR17 has been in development since 2000).

Still, tinkering at home keeps me interested in coding, so that’s why I do it…

Filed: 9:30 UTC in Uncategorized,developement