Welcome to my Site

Thumbnail Caption
Here are some programming projects that I've been involved with over the past few years.




FlakeNet

Implementation of a replicated state machine on top of flakeNet. Clients may die, servers may die, and messages may be droppedor reordered. Processes can fail stop. Implementation ensures that all live servers process client messages in the same order. 

Java

Tiger

Complete compiler for Tiger programming language, a Pascal-like language that supports recursion, data structures, built-in functions. Compiler implements basic lexing/parsing, type checking, register allocation, and generation of executable code.

ML

SHTTPD

Implementation of an asymmetric, event-driven HTTP server daemon. Implements a subset of HTTP/1.0. Emphasis was placed on efficiency and not functionality. It also supports DoS attack mitigation strategies.

C++

ChessBot

A program that analyzes chess games for cheating.It logs on to chessclub.com, spawns a process with chess engine, parses the results, and reports on mistakes made.

C++

VideoSearcher

A tool to analyze videos in ASF format (AVI, WMV, WMA, MP3) for presence of malicious URLANDEXIT tags. (DeepSec '10)

Python

Echo

Ecological simulation system based on John Holland's model. Echo is an abstract world, inhabited by different agents. Agents' behavior is influenced by their genomes. Agents compete with each other for limited resources, mate, and mutate. Echo parses Eworld configuration from an XML file. Various statistics data is collected in the course of simulation and later outputted on the screen.

Java

RC

Rhymations Creations: a poetry website. A final project for a "Multimedia Class". Archive includes applet PoemOfTheDay that scrolls a message across the string. It also includes servlets implementation of a fully-fledged SQL database. You can see how the website looks at http://www.mycgiserver.com/~aileron/RC

Java

Medley

Implementation of various algorithms: Turing machine simulator, mergesort, text formatter, tic-tac-toe, topological sort, Turtle language interpreter, bags data structure, binary search, Eulerian paths, prime factors package.

Perl, Python

Eli

Assembler and simulator for ELI02, a MIPS-like assembly language.

C

Nibbles

Implementation of a popular video game Nibbles. A snake crawls through the labyrinth, collecting numbers. As it eats up numbers, it grows in size. 10+ levels implemented.
ASM