Software


I believe in writing free software. I believe that knowledge, information and resources must be shared for the greater good. This is where I publish some of my personal projects so people can get and use them. This place also helps me reflect on my work and knowledge from two decades back.

Disclaimer

I have the standard disclaimer against what you can get in this page - to protect myself from getting exploited. Note: Downloading/Linking from this site indicates your implied acceptance to the terms of this disclaimer.

  #include <std_disclaimer.h>

  "I do not accept responsibility for any
  effects, adverse or otherwise, that this
  code, software, or data may have on you,
  your computer, your sanity, your dog and
  anything else that you can think of. Use
  it at your own risk." 

GroupEnc (2021)

This is a project that allows people to create a password vault and share it offline. It requires no pre-shared key and relies on Public Key (Asymmetric) Cryptography. Written in Python.

Screenshot

Project link.

ChaosSquirrel (2015)

This is a teeny version of ChaosMonkey that has been packaged to run standalone, and can be called like most Linux utilities. This is meant to be simple to use, without requiring Java or other runtimes.

Project link.

Turntable (2012)

This is a Distributed Game and Presence Server. You can use this to create your own Synchronous (Real-Time) Multiplayer Game. Scales to Hundreds of Nodes and Thousands of Players. Written in Node.js.

Screenshot Screenshot

Project link.

Square Reader (2011)

This is a project where I merely ported the code and cleaned it up to run on PyAudio. It helps you read Credit Card MagStripes with the Square Reader devices that plug into the 3.5mm Jacks.

Screenshot

Project link.

KOS (2009)

This is a Hobby OS. It is used to experiment with systems programming in general, and particularly new features.

Screenshot Screenshot

Project link.

Allegro IO (2009)

This addon library lets you read files in Allegro DAT and ZIP archives using a STDIO-like interface. For Windows.

Download link.
Download Source link.

Dot Files (2008)

This is a Unix home directory / toolchain setup with opinionated defaults.

Project link.

Trash Carnage (2007)

This game was written for TINS. It is a casual game played with the mouse, where you aim your flamethrower at flying garbage. For Windows.

Screenshot

Download link.
Download Source link.
Download Assets link.

Brainfuck Interpreter & Compiler (2007)

You are not reading anything with expletives here. Brainfuck is a Turing Complete language. IMHO It is a great way to learn Assembly Code Generation for a new platform.

This compiler is an optimizing x86 Compiler. The package also features a Brainfuck Interpreter. For Windows and Linux.

Screenshot

Download link.
Download Source link.

Pussy HTTPD (2006)

It is a lightweight, classic web server which can be used to serve static websites. It supports HTTP 1.0, 1.1 protocols and virtual hosting. It implements very minimum functionality and is reasonably easy to use. For BSD, Linux and Windows.

Screenshot

Project link.

Kiwi (2006)

My friend Nikhil Karnad and I have been developing an animated, parallax layered, object and tile-based engine. We have a really good cross platform solution to make great 2D games.

Screenshot Screenshot Screenshot

Website link. Project link. Project Tools link. Project Dependencies link.

ASCIITrain (2006)

This game was written for TINS. It features fully animated, sidescrolling ASCII art action. For Windows.

Screenshot

Download link.
Download Source link.
Download Source Icon link.

Lines (2006)

This is a demonstration of lines which color cycle and bounce off the screen. For Windows. It will remind you of old screen savers.

Screenshot

Download link.

Java ME Ball (2006)

This is a small animation test of which features a ball which bounces off the screen. For Java ME.

Download link.
Download JAD link.

ecVote (2005)

This is a Java web application used for online voting. It records every vote and can be traced later. It features a full AJAX driven UI and minimal server side processing. It was used to run my University Elections.

Download link.

Java Database Configuration Manager (2005)

This is a Java library used to dynamically reconfigure database connections in server side applications. It also features a batch mode SQL client capable of executing SQL queries.

Project link.

Java JSON Serializer (2005)

This is a Java library used to serialize Java objects into JSON. This was written back in the day, when other serializers were being developed.

Download link.
Download Source link.

Binary Distribution (2005)

I’ve pre-compiled and packaged some libraries/applications. For Windows and Linux.

Browse link.

CMD (2005)

This is an AUTOEXEC script for Windows. For Windows.

Project link.

KID3000 Downloader (2005)

This is a utility which lets you download the entire KID3000 comic strip. Uses the cURL libraries. For Windows.

Download link.
Download Source link.

LILO Boot Screens (2004)

LILO boot screens featuring Slackware and Ubuntu. For Linux.

Download link.

Matrix Screensaver (2003)

I was never good at imitation. But I did learn to make a decent screensaver. For Windows.

Screenshot

Download link.

ALVIS (2003)

This is a Winamp visualization plugin, written in Allegro, by my friend Nikhil Karnad and me. It really kicks the Llama’s Ass. For Windows.

Screenshot

Download link.
Project link.

AfterBurn (2002)

A fully skinnable space shooter, written in Allegro, by my friend Nikhil Karnad and me. For Windows.

Screenshot

Website link.
Download link.
Download Tamil Language Theme link.

Dragon (2002)

This is a small graphical demonstration I wrote when I was learning to work with Allegro, one of the most amazing game libraries I have ever worked with. For Windows.

Screenshot

Download link.

ZCX File Protector 1.9 (2001)

This is a neat commandline utility that lets you password-protect your important archives/files. It uses a fast 512-bit symmetric stream cipher. For DOS/Windows, MacOS, Linux and SCO UNIX.

Project link. Download link. Internet Archive link.

UNIX to DOS Converter 3.00 (2001)

Ever seen badly formatted text files in notepad? These files may be UNIX or Mac text files. This handy commandline utility allows you to convert these files into the DOS/Windows format and make them readable. For DOS.

According to legend, somebody ran this on their files and it helped them regain their sanity. Now this is the kind of thing that makes writing these utilities worth it. You are welcome, stranger!

Download link.

3D Graphics Library (2001)

I wrote this code a long time ago when I was learning 3D. Some of the routines are still useful for writing text, approximating truecolor palettes and the like. For DOS.

Screenshot Screenshot

Download link.

Extractor Packer (2001)

This is a self-extracting EXE that is used to distribute DOS appplications within a single executable. For DOS.

Project link.

DOS Distribution (2001)

This is a portable DOS environment that can run on DOSBox as well. For Windows and DOS.

Project link.

Telefone (2001)

A small addressbook program for DOS that lets you store, retreive and search contacts. For DOS.

Download link.