From time to time I work on random (pet) projects. They usually come to be because of a temporary obsession, or because I’m trying to learn something.

Deterministic Finite Automata


Sulekha is a text-based Markov-chain generator generator that I wrote in Perl sometime in April of 2005. Markov chains are essentially probability-based state-machines. They’re fun to use with text because you end up with passages that seem grammatically correct, but are completely nonsensical. I’ve posted code snippets so you can see how I’m building the frequency table. In retrospect, I probably should have used a weighted graph or something. Oh well. Check out the project to learn more. It’s also interactive, so you can try it out!

JavaFX Logo


FXCalendar is a little calendar that I wrote in JavaFX (preview SDK). I saw demos at JavaOne in 2008 and I thought the language looked pretty interesting. I decided to work on this project mainly to give the language a try and to learn it. The language is not that difficult, although the style is different. It’s more declarative than imperative and tailored towards making Rich Internet Applications (RIA’s) and also designed to compete with Flash and Silverlight. It is fully integrated with the Java Runtime Environment. Please not that this code was written using the preview SDK and so it will most probably not compile under never version of the SDK. Check it out.



bAdkOde is an esoteric language that I created. I initially got the idea during my freshman year of college when I realized that languages were nothing more than a series of tokens. With this knowledge, I wrote an interpreter for the language in Java. I forgot about it for a while before coming back to it around four or five years ago. I then redesigned and rewrote it in Perl. What you see here is the end result. It was more of an academic exercise and a fun project for me. I coded it just because “it was fun”.

Cherry Blossom Icon


CherryBlossom is another esoteric language that I created. Strictly speaking, it’s a brainfuck analog and so it’s not a language by itself. I came up with the idea quite randomly when I was going over the the Shakespeare Programming Language. I started wondering if it was possible to map poetry into program code. Eventually I came up with the idea to map brainfuck instructions to certain words, and then to use those words to create haikus. So the end result was a programming language based on haikus.