Recent blog entries for kaeru

How to Create and Apply Patches

Another introductory article for new developers which tries to explain concepts on what a patch is and how to create and apply patches with examples.


I've been been quite busy, trying to migrate an NGO website over from Access/ASP to Zope/Plone on Debian. The design of Plone2 and increasing amounts of documentation has considerably lessoned the learning curve, but more documentation still needs to be written. I plan to modify the documentation I'm paid to write next week with regards to Plone setup/customization and make it available online for everybody else.

Hmm.. that reminds me that I need to add/update a few more Zope product ports for FreeBSD this weekend, and an accompanying step by step article so that new users can quickly get Plone up and running on FreeBSD.

8 May 2004 (updated 9 May 2004 at 15:42 UTC) »
Minor updates to Introduction to Vim article

I've added short intro sections on vim's command mode, recording macros and a link mentioned by lowks about a Vim cheat sheet.

Mozex - Mozilla Extensions

This is pretty indispensible addon for me. It provides features that should be in Mozilla/Firefox and the author says it as such. What it gives you is a context menu to launch user definable programs for specific actions.

For example:

  • Assign mailto: for Firefox to launch new mail window for evolution, add this line for Mailer:

    evolution-1.5 %r

    Updated: David Woodhouse, has pointed out that mangling the url, is not a good idea, and one should just pass the mailto: url as is for evolution as shown above

  • To edit a text area in browser, like say Yahoo mail with vim, add this in your mozex preference for Text Area:

    gvim %t

  • 3 May 2004 (updated 3 May 2004 at 04:17 UTC) »
    Streamyx STMP server in spamcop lists

    Blocked by SpamCop.

    As I was about to send some PR's to update some FreeBSD ports I maintain.. I find out that Streamyx SMTP server is listed on spam cop, and therefore can't go through.

    Great stuff. Maybe they should be less concerned with advertisements and sponsoring entertainment events, and actually fix their service problems instead!

    Thankfully, Miguel Mendez has written a nice GTK based send-pr utility (sysutils/gtk-send-pr in ports) that makes it easy to use other SMTP servers, including those that require authentification.

    2 May 2004 (updated 2 May 2004 at 12:41 UTC) »
    Local FreeBSD community

    For those not aware of it, there is a friendly and helpful local Malaysian FreeBSD community at

    As an aside, my brain kinda stopped working on a hot Sunday but I managed to update my Introduction to VIM article and added folding, spell check plugin sections and a new link to a detailed howto.

    1 May 2004 (updated 1 May 2004 at 08:19 UTC) »

    Updates to Introduction to VIM.

  • Visual Mode to cut and paste
  • Jumping to a specific line and Marks
  • Additional resources for a lot more tips.
  • Adding ctags in FreeBSD for use with taglist.vim

  • 30 Apr 2004 (updated 30 Apr 2004 at 07:19 UTC) »
    Introduction to VIM

    Vim because it's often bundled with major Linux distros, is often used to quickly edit text files, but also often used using only features equivalent to that of Notepad. There is a lot of functionality in vim, that makes it an indispensable tool for editing, once one learns how to use it's features better. So this article I'm writing will hopefully introduce more of the features, that may not be that familiar to casual users of vim.

    There is only split windows and tags at the moment, but I will continue to add and update it as time permits.

    Visually editing diffs with Meld

    This is another one of those small but extremely useful tools. It allows you to visuall edit diffs, and helps when you're doing merges, or eyeballing problems. It also integrates well with CVS. It's a small py-gtk2 app and you can learn more about it from the project's homepage.

    Vector drawing tools

    Was working on some articles on Unified Process and needed some diagrams. Dia is usually fine for most quick UML diagrams, but often you do need other kinds of diagrams. In my case, I needed to draw up a UP disciplines diagram and Dia tools just weren't up to it.

    I could never do anything with SodiPodi, and when Inkscape came out with the promise of being easier to use, I tried it out. To my surprise , it was far more intuitive to use, and I could immediately get results I wanted without struggling with the interface. I got the draft diagram I wanted in less than 30 mins using some of the tools for the first time.

    Inkscape is evolving rapidly and adding new tools all the time, so if you haven't tried it yet, you should give it a go.

    One gripe though is that Dia doesn't import SVG diagrams from Inkscape well which means I lose Dia's UML information when importing Dia svg from Inkscape. I work around this by importing Inkscape PNG images into Dia for now, but it isn't a satisfactory solution.

    I presented a talk for the APIIT Open Source Group Open Day on FOSS on March 25th. It's about how to deal with seemingly complex problems with the use of simple pipes and open source tools available in most open source Unix systems. It's an introductory presentation, and includes some links for those new to development of solutions using Unix tools.

    The example case is how to replicate some features of expensive backup software, in one line of shell script.

    I didn't see it available at the APIIT website, so I'm making it available here at my website.

    Link to news and presentation.

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!