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)

Set up your Unix environment in minutes with my hand-picked dotfiles and toolchain defaults. Whether you’re a developer or a power user, these opinionated configs can help you get productive fast. → View on GitHub

Trash Carnage (2007)

Light up your screen with Trash Carnage—a fast-paced, mouse-controlled casual game where you wield a flamethrower to blast flying garbage out of the sky! Built for Windows during the TINS game jam.

Screenshot

Brainfuck Interpreter & Compiler (2007)

Curious about esoteric languages? This project features an optimizing x86 compiler and interpreter for Brainfuck—a famously minimal, Turing-complete language. It’s a great way to explore assembly code generation and language design. Runs on Windows and Linux.

Screenshot

😺 HTTPD (2006)

A tiny, no-nonsense web server for static sites—perfect for learning or lightweight deployments. Supports HTTP/1.0 and 1.1, plus virtual hosting. Runs on BSD, Linux, and Windows.

Screenshot

View on GitHub

Kiwi (2006)

Build beautiful 2D games with Kiwi—a cross-platform engine I developed with my friend Nikhil Karnad. It features animated, parallax-layered, object and tile-based rendering for smooth, modern game experiences.

Screenshot Screenshot Screenshot

ASCIITrain (2006)

All aboard for ASCIITrain! This TINS game jam entry delivers lively, sidescrolling action—all in animated ASCII art. A nostalgic and fun experience for Windows.

Screenshot

Lines (2006)

A playful demo of bouncing, color-cycling lines—just like the classic screensavers! Simple, mesmerizing, and made for Windows.

Key Features:

  • Bouncing and color-cycling lines
  • Simple and mesmerizing
  • Classic screensaver feel
Screenshot

Java ME Ball (2006)

A simple animation test for Java ME—watch a ball bounce around the screen. Great for exploring mobile graphics basics.

ecVote (2005)

A Java web app for secure online voting, featuring a fully AJAX-driven UI and minimal server-side processing. Used successfully in university elections, with every vote traceable for transparency.

Key Features:

  • Secure online voting
  • AJAX-driven UI
  • Minimal server-side processing
  • Traceable votes

Java Database Configuration Manager (2005)

Dynamically reconfigure database connections in your Java server apps with this handy library. Includes a batch-mode SQL client for running queries with ease.

Java JSON Serializer (2005)

Serialize Java objects to JSON with this early Java library—built before JSON was everywhere!

Binary Distribution (2005)

Browse a collection of pre-compiled libraries and applications for Windows and Linux.

CMD (2005)

A handy AUTOEXEC script for Windows—customize your startup routine.

KID3000 Downloader (2005)

Download the entire KID3000 comic strip in one go with this Windows utility (powered by cURL).

LILO Boot Screens (2004)

Add some flair to your Linux boot process with custom LILO boot screens featuring Slackware and Ubuntu themes.

Matrix Screensaver (2003)

Inspired by the Matrix, this screensaver brings cascading green code to your Windows desktop. Simple, nostalgic, and fun.

Screenshot

ALVIS (2003)

A Winamp visualization plugin (built with Allegro) that brings your music to life with dynamic visuals. Created with my friend Nikhil Karnad. For Windows.

Screenshot

AfterBurn (2002)

A fully skinnable space shooter for Windows, created with Nikhil Karnad. Customize your ship and blast through waves of enemies. Built with Allegro.

Screenshot

Dragon (2002)

A simple graphical demo from my early days learning Allegro. Watch a dragon come to life on your Windows screen.

Screenshot

ZCX File Protector 1.9 (2001)

A fast, command-line utility to password-protect your important files and archives with a 512-bit symmetric stream cipher. Works across DOS/Windows, MacOS, Linux, and SCO UNIX.

UNIX to DOS Converter 3.00 (2001)

Convert UNIX or Mac text files to DOS/Windows format with this handy command-line utility. No more unreadable files in Notepad! For DOS.

3D Graphics Library (2001)

A collection of 3D routines from my early experiments, useful for text rendering, palette tricks, and more. For DOS.

Screenshot

Extractor Packer (2001)

A self-extracting EXE tool for bundling and distributing DOS applications in a single executable.

DOS Distribution (2001)

A portable DOS environment you can run on Windows or DOSBox. Great for retro computing and running classic apps.

Telefone (2001)

A lightweight address book program for DOS—store, retrieve, and search your contacts with ease.