Miscellaneous Projects

Multiplayer Minesweeper


Ah, my original large project.  I did this to learn how to program large projects.  The code quality is pretty low but the thing worked.


Ants Simulation 

One of my favorite projects.  Here is some video and the executable.  The screensaver version is a bit older and contains CLIPS which is an expert system langauge so it is possible to change the behavior of the colony by editing this file.





Just a simple program to get Directx going using MFC.  The demo makes a bunch of "fish" which are really just boxes that just move about in a bounded area without any collision detection.  I made the project for someone to using DirectX for their project and since it is a good starting point for directx projects I posted it to the web.

DirectXDemo Video

DirectXDemo Executable

DirectXDemo Source


Percolation Simulation

This is a simulation I did for a friend which has a bunch of "people" in a random walk and then seeding an area with "fire"  The "fire" spreads between two people, once of which is on fire already.  The fire only last for so long and then that person stops moving and is no longer infectious.  The fire forms a wave which pretty much gets everyone except for a few.

Percolation Code and Executable (Perc.exe)

There are several options.

Total People Total number of people in the simulation
Perc longevity How long a person keeps the disease until that person stops moving
Speed Multiplier A value between 1-4,  The higher the number the more a person moves around
Rendering divider The rendering is intensive increasing this number reduces the rendering per simulation speeding up the simulation
Simulation Multiplier How many simulations to do per simulation tick.  The higher this number the faster the simulation runs
Adjust settings The settings could be adjusted without having to restart by pressing this button
Start fire Start a fire at the given bounds


Masters Thesis

My Masters thesis consisted of the protocol simulation (below) and the implementation of the transport layer for video streaming.  The theoretical simulation results were compared with the actual video streaming results.  The above is a picture of the streaming with simulated packet loss just to show the resend mechanism and how it could fail with a large packet loss rate.

Link to Thesis

Link to Presentation

Protocol Simulation

This program test a CSMA/CA network.  The code is well organized.  Each component of a network (the physical layer, the network card the OS etc) is represented by a class.  It has many good features. For instance, it can simulate multiple channels and send real data to illustrate it has data integrity.






This program is used to backup selected directories, and their subdirectories if selected into an ftp site. The program creates a directory in the ftp site that contains the date time of the backup. This is a good way to have one click archiving to an ftp site without overriding any other version of those files.

The Program

The Code


Digital Design Vending Machine

This is from a course I did for my Masters degree.  I wanted to post a picture to show how to breadboard without making it look like a spaghetti bowl.  The project was to make a vending machine controller using the PIC16F87.  Most people used assembly and did not have a serial LCD, but I used a c compiler. This proved to be more efficient and effective.