Here's a list of stuff I am working on or have worked on in the past.


Problem Recommendations (2012)

A problem recommendation engine for the online judges SPOJ and CodeChef. For each problem uploaded to the online judge in question, it considers the set of users who solved that problem and uses this information to determine the 'similarity' of any two given problems. This technique is called collaborative filtering. It can be used in two modes: to get back a list of problems similar to a given problem, or to recommend problems that a user can solve easily by considering the problems that the user has already solved so far.

Consulo (2012)

A two-tier SNMP poll manager that I worked on as a project for a course on Network Management. It uses ZeroMQ for communication between all of the components involved, and MessagePack for serialization. Its key features are the automatic optimal assignment of network elements to lower-level data collectors, and a convenient RESTful API to make it easier to build applications on top of the poll manager. A real-time graphing application is included as a demonstration of how simple it is to write an application that uses this polling server.

Exodia Website (2012)

Exodia is the name of IIT Mandi's annual technical and cultural festival. During January and February 2012, I had the privilege of working alongside some very talented individuals to build the website for the very first installment of Exodia!

LaTeX to Unicode Converter (2011)

A program for translating LaTeX math markup to a human-readable form using Unicode characters wherever possible. It can be used as a command line application, through the web interface or as an extension to Google Chrome. (The Google Chrome extension uses the web-based interface.) Treetop is used for generating the parser, and both the web interface and the program itself are written in Ruby.

Signature Gallery (2008)

A gallery of "signatures" that I created a couple of years ago. They are primarily intended for usage in the signature section of online forums, but to quote Wikipedia, "Signatures are seen as an art form by many of their creators, and there are many websites centered around their creation and display. Some of these websites have competitions where members submit their entries to have them featured on the website.".

Other Work

Social Graph (2011)

Just me playing around with the Facebook API. This tool will go through all of your friends and output a DOT file that describes the mutual friendships between your friends. The generated file can then be converted to an image using Graphviz. It is quite interesting to observer the cliques in the graph that indicate different circles of friends.

Random Latin Words

Get a random Latin word! I find myself using this fairly often to find names for projects.

Theca (2010)

A tiny command-line frontend for MPG123. I wrote it because I wanted an extremely simple and lightweight MP3 player and couldn't find anything that fit what I had in mind.

Zenity.rb (2009)

A Rubygem that allows using Zenity from Ruby scripts. This makes it easy for a script to use GTK+ dialogs to get input from the user or to display notifications.

Similar Sounding Words (2009)

It turns out that the Soundex algorithm, used together with the Levenshtein distance algorithm to generate a list of words similar to any given word works pretty well!

Ruby Starter Pack - Google AI Challenge (2010)

The Ruby starter pack for the 2010 Google AI Challenge, in which the game was Planet Wars.

I can be contacted at the email address: c@{this-domain}.net. There is a list of software, etc. used to build this website here: Credits.