In my spare time

For many people, they do one thing at work and have a hobby or three at home that they pursue. For me, programming is both my work and my hobby.

I have always loved programming, and when I firsted created my website ~8 years ago I created a small list of the projects I was working on. Since then, I have always tried to have at least one or two projects going on; they are cataloged below.

Lost & Found Winter 2015

A PHP application to allow for conventions to have their own lost and found kiosk

you can read more about it here

Shared Voice Fall 2014

A twitter app similar to but a more homebrew approach

You can read more about it on my tech blog

Arc Star Fall 2014

A simple archiving extension for chrome and chromium

You can get it here

Temporary Chat Fall 2014

An anonymous chat room created in C and Javascript, created as a set of tutorials to provide examples of CGI with C

You can view the server here and start the tutorials here

PCI, Private Chat Interface Summer 2014

An exercise in creating a chat interface using C CGI and Javascript. Static site with Harp and CGI backend similar to BGI.

You can see the blog post about it here

BGI, Budget Gateway Interface Summer 2014

A simple application to keep track of spending habits and display metrics. Created as a static site using HarpJs that uses a C CGI backend with a custom flatfile datastore.

You can checkout the repository here.

WordPress2Harp Winter 2013

Created a small python script to migrate a WordPress site to a Harp one after lurking in the Harp IRC's.

You can see the WpJson4Harp script here or see it featured in a blog post from Harp here!

GreenServ Winter 2013 - Spring 2014

GreenServ is a custom JSON only, API server written in C to provide a backend to the Green Up VT project. Created to replace the python Google App Engine version of the API, it was coded to spec (with some minor enhancements) and under stress testing performing much better than the instances of the App Engine

You can view the GreenServ repository here

TimeCatcher Fall 2013

TimeCatcher is a time logging utility which doesn't eat your CPU cycles. Most logging software runs in the background spinning the clock away to keep track of your progress. TimeCatcher works on a simple start and stop system managed through the command line in order to not do that. Memory leak free and supporting command completion through bash shells, time catcher is a simple to use and good time logging program.

You can checkout the TimeCatcher Repository here

Xemark Summer 2013

Xemark is a simple markdown language designed to be translated into html by a parser following it's BNF grammar. The parser was used as a component in generating this webpage. A bash script made did the rest of the work. Xemark functions like a CGI script in that it's input is translated from one format to an output in another (in this case xemark markdown to html). Becuase of this property it is easy to use xemark within a http server context to serve .xe files up as html to users.

You can see the repository for xemark here

Green Up VT Summer 2013

An application to assist with GreenUp Vermont and help to coordinate volunteers. Developed as part of the national Civic day of hacking challenge by Code for BTV. The application was hastily made in php during the event. Then heaviy refactored into a RESTful API with mobile,ios and android client interfaces (Still in progress). My main contribution was the specification, design, and implementation of the REST api backend done in python. Also primarily responsible for task delegation and repository contribution maintenance.

You can see our current progress on the Green Up project here

Linkregater Summer 2013

A web crawling visualization written in Javascript and making use of HTML5's canvas for drawing. Simply enter a url and watch it do it's work! It does perform a large number of HTTP requests and might slow down your browser while it runs. Simply close the tab if it becomes a problem.

Check out the Linkregater App here

Rat-a-tat-cat Spring 2013

A google app engine card game created for my Software Engineering class. Implementation was done in an agile workflow with a group headed by Phelan Vendeville. Responsible for architecture design, repository maintenance, and artificial intelligence for computer player.

Play the game here

Presentation on Multiple Level Association Analysis Spring 2013

A presentation on Mining Multiple-Level Association Rules in Large Databases adapted from Jiawei Han, and Yongjian Fu's original presentation for my CS 332 Data Mining class.

View the MLAR Presentation here

Kirby Cross Summer 2013

A simple game made in HTML and Javascript, exactly like frogger, but with a little pink blob instead of a frog. The entire game is made in HTML5 and pure javascript. I also made a tutorial explaining the steps in making a frogger game just like it.

Play the game here

Live Log Spring 2013

Joshua Dickerson created an easy to use, open source logging framework in PHP and I helped out by creating a ruby client to interface with his PHP back and frontend. Check out the repository on github under my maintenance, or Joshs repository on bitbucket or his github

Check out the livelog github repository

CS Crew Website Spring 2013

Created a website for UVM CS Crew with other Crew members. Created a CMS from scratch using jQuery, javascript, HTML, PHP, and twitter Bootstrap less CSS.

Check out the website here or the crew git repository here

Craigs Crawler Spring 2013

A web crawler that uses a Naive Bayes classifer to figure out what price range an apartment listing is in by its title text and description. Written in Ruby, the project uses the Naive Bayes implementation by alexandru. Created to do my final paper for CS 332 Data Mining with Xindong Wu

Read the paper or Check out the repository

Go Fish For Software Engineering (CS 205) Spring 2013

A console version of Go Fish, created collaboratively with Joshua Dickerson, Scott MacEwan, Danielle Steimke, and Phelan Vendeville. Recieved a more than Perfect Score from the grader, with bonus points.

See the go fish github repository here

BrainFuck Interpreter written in C Spring 2013

The esoteric language of BrainFuck is one of those languages that's fun to create an interpreter for. Here is my version, written in pure C.

See the BF github repository here

Danger Zone Fall 2012

A class-wide software engineering project for CS 276 at UVM. Using twitter data to find regions of high danger in the world and display them to users so that they can avoid them. My role was on the Server/Machine Learning team, creating a classifier for tweets. As well as constructing a command interface between php and java to link the Zend Server pages to the Java Classifier.

The danger zone projects website (As new iterations of the class occur, this website may go down), My work on the danger zone project

WayPoint Fall 2012

An android application designed for runners. Users set down markers on a map and then when they reach it, it takes down the time. When the final marker is reached, the total times are displayed.

See the Waypoint github repository here

Green Bean Fall 2012

A team app created for the Hack VT competition in Winooski, VT. The app listed ingredients using a recipe API and then our app displayed farms where those ingredients could be found. Weather data for the last year was integrated into the colouring of the markers of the farm to show how much precipitation had fallen, to render a crude quality estimate of the crops. Once ingredients were selected, a user could select dishes to get recipes using the ingredients they had selected

See the news article about the project here

SKU Maker Summer 2012

A small program I made to assist with automating my internship with Big Movie Simple form entry generates XML that associates products on to youtube trailers.

See the blog posts on SKU Maker

Krupa, J.S., Chatterjee, S., Eldridge, E., Rizzo, D.M., and Eppstein, M.J. "Evolutionary Feature Selection for Classification: A Plug-In Hybrid Vehicle Adoption Application", accepted for Genetic and Evolutionary Computation Conference (GECCO), 2012. Fall 2011/Spring 2012

real world application of Genetic Algorithms in analysis of a large consumer survey relayed to Plug in Hybrid Electric Vehicles. I worked on it with two graduate students: Joseph Krupa, and Somdeb Chatterjee in Maggie Eppsteins CS 352 course last fall. Joe continued expanding on the project and it was accepted to the GECCO 2012 Conference. My first published paper!

Read the GECCO paper here

Approaches to Solving Infinite Q-Learning Oscillations in a Grid World Spring 2012

My term project for CS295 Machine Learning, using Matlab I implemented Watson's Q-Learning Algorithm and applied it to a simulated Grid World. Upon discovering an issue involving circular logic as a result of the algorithm, I implemented 4 new approaches which resulted in a drastic improvement in performance in trail simulations. The next year, the professor asked to use my paper/project as an example of what his students should strive for.

Read the Q-Learning paper here

CS20 Course Website Spring 2012

website designed to provide helpful information and resources to freshmen engineerings students enrolled in UVM's CS20 course. Done during an independent study with Professor Pechenick

See the cs20 site

Installation Guide for using the iRobot Create Simulator Spring 2012

An installation guide I created as support for a course taught at UVM. Intended for use by freshmen and lower level engineers when installing and configuring a simulation using the iRobot Create Simulator from Cornell.

Read the Install Guide

WiiMote WhiteBoard Spring 2012

A project funded by the CS Department through UVM's CS Crew, making a smartboard cheaply by using a wiimote as an IR sensor and some parts easily found at radioshack. The final program was a multithreaded powerhouse, that supported a fully functional UI.

See a demonstration

Matlab Workshop One Spring 2012

A supplementary tutorial and overview of a Workshop I ran Spring semester of Junior Year. Part One of Two.

Read the workshop paper here

Small Paper about Object Oriented Programming in Assembly Fall 2011

A small paper on various data structures and how they're implemented on the lowest level, structs, linked lists, and classes are discussed in brevity.

Read the OOP Assembly paper here

Evolving Bipedal Locomotion through Recurrent Connections Fall 2011

A final project for Dr. Joshua Bongard's (UVM) Evolutionary Robotics Class (CS 295) from Fall 2011. A simulated robot is evolved using a serial hillclimber to climb stairs, movies are available on youtube, links available in the paper.

Read the small paper here

N-Bit Schema Mutation Extension Fall 2011

An extension of proportion predictions for mutation based change in Holland's Schema Theorem. Implementation includes a small matlab function that computes the difference equations for any chromosome passed in.

Read the schema extension paper here

Eldridge Budget Buddy Summer 2011

An unfinished beta version of a small Budgeting program I created to help my friends become a little more conscientious about their spending habits. Although no improvement in that regard has been shown, it did give me a change to refresh myself with Java GUIs.

Check out the budget buddy blog posts

Cluster Spring-Summer 2011

A 3-Phase project that involved simulated swarm agents that bred until collectively they were able to push a block through a maze in C++. The Cluster sometimes fails, but only due to it's greedy approach to obstacle avoidance. The paper discusses runtime analysis as well as features and design choices within the project itself.

Read the cluster paper here

Turret 2D and 3D Fall 2010-Spring 2011

Project in C++ to create a simulated turret that would track and shoot down an object flying within view of it. Runtime analysis and thorough treatment of vectors was used.

Read the Turret Paper

Obstacle Avoidance Fall 2010

Small program in Python that, given arrays of lines representing obstacles, and a start and ending point, would compute a path around the obstacles. Visuals were create and displayed using PIL.

See the obstacle avoidance blog post

Latimer-Zerachiel System Fall 2010

C++ program designed to allow one computer to execute batch commands on another. The networking component was never completed but the language and parsing built for the command and reciever listener were finished.

Read my (brief) notes here