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 ~9 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 ThunderClap.it 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
- PCI, Private Chat Interface Summer 2014
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.
- 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
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.
- 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
- 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
- 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
- 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.
- 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
- SKU Maker Summer 2012
A small program I made to assist with automating my internship with Big Movie Database.com. Simple form entry generates XML that associates products on Buy.com to youtube trailers.
- 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.
- 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.
- 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.
- 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.
- 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.