Paul Simon.

Machine Learning Paul Simon Neural Network

Take a listen to the best results I was able to obtain here! Using char-rnn by Karpathy to train a neural network on the syntax of Paul Simon MIDI files, I was able to get successful results out of my first foray into machine learning. My pet parakeet loves listening to Paul Simon, so this was part of a personal project to procedurally generate new content for avian ears. I converted MIDI files of all of Paul Simon's songs into text, concatenated them all into one large text file, and trained the network for about 16 hours on it. I only completed seven epochs before generating the sample here, so there's a lot more training which could be done. One can already hear the network develop some idea of Paul Simon, though. Karpathy has an excellently-detailed blog post about his library.

The final project architecture.

Homemade, Scalable Search Engine on AWS

From initial design planning to assembling the final project analysis, I took a leadership role in the final group project for CIS 555, Internet Web Systems. My personal contributions to the search engine include the indexer, page ranker, data transfer framework, server-side caching system, and user interface. The indexer utilizes the Elastic MapReduce capabilities of AWS to construct an inverted index from the large corpus of web pages collected by the crawler. The page ranker similarly traverses our index to implement Google's PageRank algorithm and assign term-based relevance rankings to our gathered pages. Internally, a caching system and massively parallel request batching program allow very efficient communication with DynamoDB tables. The user interface displays a page of ranked results given user input, drawing from the values computed across our index. More details are provided in the final project post-mortem.

Example user page.

Scalable Facebook Clone

In this group project for scalable web design, with the purpose of creating a Facebook clone, I worked on a MapReduce program integrated with DynamoDB tables to rank friend recommendations between users.