# 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

  #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,
anything else that you can think of. Use


### 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.

### 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.

### 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.

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.

### KOS (2009)

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

### Allegro IO (2009)

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

### Dot Files (2008)

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

### 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.

### 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.

### 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.

### 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.

### ASCIITrain (2006)

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

### 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.

### Java ME Ball (2006)

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

### 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.

### 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.

### 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.

### Binary Distribution (2005)

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

### CMD (2005)

This is an AUTOEXEC script for Windows. For Windows.

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

### LILO Boot Screens (2004)

LILO boot screens featuring Slackware and Ubuntu. For Linux.

### Matrix Screensaver (2003)

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

### 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.

### AfterBurn (2002)

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

### 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.

### 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.

### 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!

### 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.

### Extractor Packer (2001)

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