Here is a list of selected software I’ve written from scratch:

A just-for-fun script to generate random commit messages.
An application to crawl the web for audio files. Co-written with Kok Mun Loon. I used this during my PhD research to assist me creating my experiment data. Written in Perl.
A desktop music information retrieval system. An experimental tool I used during my PhD research. A very fast symbolic music information retrieval system. Because of writing this software along with presenting a paper that describes it, I got return tickets to London. Written in C and Perl.
An application to identify crystal systems. An experimental tool I used during my Sarjana (BHons) research. Written in Java.
An ISO C library. Only used for my personal use.

Note that I only occasionally maintain these (if at all). Most of my energy is spent elsewhere as:

  • I’ve been getting paid to write code for someone else, and it takes so much of my time already.
  • My interests are not only software development, computer science, and data science in general. Music is also a very big part of my life.
  • There is so much code and so many apps these days it is very hard to figure out what I need that hasn’t been written. Somehow, with so many tools available these days (compared to the 1980s and 1990s), it gets even harder to find ones that really interest me. Don’t get me wrong. A few options are good. Too many options aren’t. I prefer something with a somewhat modest number of users — usually, this means something a bit difficult — to one that has a very big number of users — usually, this means something so easy that it’s also too easy to write bad code.
  • However, when I feel like it, I write code publicly.
  • At the end of the day, I am a happy husband of a beautiful wife, with whom we have three beautiful kids. There are things that interest them that I also love doing together with them. Being with them gives me an amazing feeling that I can’t describe.