code – spladug.net

I like to work on little one off projects every now and then. I'm keeping the new projects in a repository on bitbucket.org. When I feel that I've completed a project well enough, I'll add it here.

Colorful Epidemiologist

The colorful epidemiologist is a graphical demonstration of a small peer-to-peer distributed system using a gossip protocol written in Python. I wrote the program in my free time while taking a distributed systems course as a way for me to visualize the dissemination of information through a gossip network. I recently updated the software to be simpler than the original design.

The epidemiologist is a simple GUI application, built with PyQt4 (so you have to have that installed!) and a model of a distributed network of nodes. The nodes negotiate their membership with eachother using a protocol found in an academic paper (see comments at top of source file) and share information about a color. Fire up the application and you will see a grid of squares. Each square represents a node, and in particular, the color it currently knows about. Double click on any square and its color will change. The new color will then propogate throughout the system and you can watch it happen.

Get the python source and run it. See the comments at the top of the file for details. Make sure you have PyQt4 installed first!

Spladug.PacketCapture

PacketCapture is a .NET wrapper for the native WinPcap packet capture library. With PacketCapture, I've attempted to reformulate the underlying API in a way that guides the user down the right path towards working code.

This project is an exploration of API design and a learning experience for more complicated P/Invoke native interop. It is hosted on Google Code.

Simple Sudoku Solver

screenshot of the UI of the simple sudoku solver application

A simple Sudoku solver written in C# using WPF. The user interface is designed to allow you to enter in a board quickly, and to let you see the solver do its work.

Download: Source Code | Executable

spOscar

An open source implementation of a good subset of the AOL Instant Messenger proprietary protocol, "OSCAR."

I wrote this in C++ and learned a lot in the process; the version that is currently available is a rewrite I did during college after redesigning it to try and better take advantage of OOP principles.

This project taught me a lot about C++, as well as got me to thoroughly understand TCP/IP and socket programming. However, I'd probably do it completely differently if I were to write it again now.

spOscar is hosted on SourceForge.