Projects

Here’s a big list of the programming projects I’ve worked on. You can click on the titles to go to the web pages or repositories. You can view all of my GitHub projects here.

Craigslist Webscraper

I received the first two novels in Terry Pratchett’s Discworld series as gifts. Since then I have been on a quest to collect the other 39 books. This web scraper check Craigslist every hour for new postings and emails me if there is any activity. Nobody moves a Pratchett novel in this town without me hearing about it first.

Spotify Collaborations

Each month I create a themed Spotify playlist for my friends and I to add songs to. I collected from each play list and created a GitHub style contribution chart to visualize our data. I reign supreme atop the leaderboard.

EM For Transmission Tomography

I worked on this project with Eric Yanchenko and Alvin Sheng. We demonstarte the finite sample properties of the EM algorithm applied to simulated transmission tomography slides. We show how the number of projection angles affects the ability of the algorithm to recover the scan. You can read our report here

Gradient Descent Blog Post

I wrote an interactive article explaining Gradient Descent. It includes some real world examples as well as simple theoretical examples. The article includes mathematical derivations and algorithmic analysis as well. You can find the code here and see it live here.

Dr. Bergen’s Letter of Recommendation

I built this website as to recommend Dr. Silas Bergen for tenure. This was a more creative, personal way to show my support than simply writing a letter. The user clicks on objects in Dr. Bergen’s office (drawn slightly out of scale), revealing associated reasons as to why he should get his promotion. It was my first endeavor into web development.

My Old Portfolio Website

This was my original portfolio website. I made it from scratch to learn HTML and CSS.

Computer Color Correction

This machine learning project is a prototype of a color correction application. It is planned to be used to help correct images for those affected with color blindness. I made a few initial test images myself. It was trained with k-means clustering. The program was implemented in Python.

TFTP Client

I worked on this project with Ben Andrews and Will Diedirck. We implemented a Trivial File Transfer Protocol (TFTP) client as described in RFC 1350. It includes its own set of commands used to communicate with a TFTP server. It is implemented in Java using Apache Commons libraries.

Machine Learning Connect 4

I worked on this project with Ben Andrews. We implemented connect 4 and trained a supervised neural network to play against. We used a minimax algorithm to generate training data for the network. We implemented this in Python and were working on another C++ implementation.

Red Hat Simulation

I worked on this project with Ben Andrews and Erika Jensen. We simulated Linux process management. It includes process synchronization with semaphore locks, CPU scheduling using a Completely Fair Scheduler, and local paging memory management. The system takes a CSV with a process name, memory requirements, and CPU and I/O burst information. We implemented it in Java.

Calculus Projects

I worked on a couple of programming projects to illustrate ideas from advanced calculus. I used the Discrete Metric for basic Natural Language Processing. It compares how similar words are based on the letters in them; it can similarly compare passages by word. I also made an example of Probability and Measure using Python and to simulate coin flipping and chart the results.