Welcome to my portfolio. I created this site to highlight some of the cool projects I've had the opportunity to be a part of during my undergraduate and graduate careers. This page is a project in itself - featuring spiffy parallax scrolling! Keep scrolling down to see the remainder of my portfolio, and feel free to use the timeline at the bottom to jump around.
My first exposure to computer science came through National Computer Camps, a summer camp designed to introduce children and teens to programming. I'm thankful that I was able to attend such a great camp, because it really sparked my interest in computer science. I became more and more interested in software as most of my hobbies outside Boy Scouts tended to revolve around computers. I enrolled at Clemson University in August 2007 with the intention of majoring in either CompE or EE but it became very clear to me after dabbling in Matlab and Mathematica that my true passion was with software.
Early in my undergraduate program, I spent two semesters working on this map authoring tool as part of a creative inquiry in tablet PC application development. The purpose of the tool was to allow a campus administrator to easily map out walking routes on a campus, which then could be used to provide a user with walking directions. I was given an existing application and asked to improve functionality and usability. I used .NET 3.5 WPF features to improve the interface as well as the performance of the tool. I also used Microsoft SQL Server to store data points.
For my final project in my Distributed and Cluster Computing class, I worked with two partners to design and implement a novel distributed (P2P) file sharing system using Python's Flask web microframework. After the semester came to a close, our professor urged us to continue the project by evaluating our system using Clemson's Palmetto Cluster and submitting a paper to a conference. We ended up presenting PBJ as a poster at the 2012 ACM Southeast Regional Conference.
PBJ on github
One of my first classes in grad school was one of the most informative and entertaining courses that I have ever been in. We were tasked with creating a video game using C++ and SDL. The video game was used to teach us some of the intricacies of STL and C++, Effective C++ by Scott Meyers being our bible. I created a video game about my brother's cat, Silenus. He has a thing for cockroaches, so in this game he hunts down cockroaches and vomits on them.
I also took a class in biometrics. My semester project was a performance evaluation of different appearance based facial recognition algorithms. These algorithms achieved facial recognition through the use of different dimensionality reduction techniques: PCA, LDA, and ICA. I implemented each of these algorithms using Matlab, and tested their performance using a common public dataset, Faces94.
One of the more interesting classes I took was called Embedded Network Systems. In this class, we developed against small embedded devices, Telos Motes, using TinyOS and nesC. We networked these devices together in mesh networks using CC2420 2.4GHz 802.15.4 radios. Myself and a partner worked together on a semester project evaluating the use of radio signal attenuation as an early wildfire detection mechanism. The results of our project are presented in this paper.
As part of both my thesis research and my research assistantship I have been helping create a vertical handover solution for the GENI Wireless group. We have been working towards creating a SDN-based IP mobility solution that will provide seamless handovers between WiFi and WiMAX in our wireless test bed. We have published a paper on our work that we presented at TRIDENTCOM 2014 in Guangzhou, China! I have uploaded a copy of our paper here.
Although it's a rare occasion, I sometimes find myself with some free time. Being the geek that I am, I tend to spend that time creating things. One example of one of my more recent creations is an open-source Android application that allows users to programmatically control T-Mobile's IMS WiFi Calling feature. It's probably not something that the average user needs to do, but it is something that I wanted to be able to do with my phone, so I made it. It involved reverse engineering parts of T-Mobile's WiFi Calling apps, which I have detailed in my blog. The full source is available on my Github, and the app itself is available on the play store.
My responsibilities as a graduate research assistant included an administrative role in the SciWiNet MVNO project. SciWiNet is a Sprint/Arterra MVNO that is geared towards the research community. The motivation behind the project is to provide researchers with a different service plan that avoids a monthly subscription fee for each device by instead allowing each device to use the same "bucket" of data, which is pre-purchased in quantities of gigabytes. Along with user support, I have been building some services such as an Android app that will be provided to users to make the SciWiNet service more enticing.
I am in currently in the process of finishing up my thesis on the design and implementation of a cloud-based vertical handover decision scheme for heterogeneous wireless networks. I will be graduating from Clemson University with a M.S. in Computer Science on 8/8/2014. I'm also currently looking for a job that will challenge me technically and stimulate my passion for problem solving.
This portfolio was created from scratch by yours truly, using Laravel, skrollr.js, bootstrap, and HTML5/Sass/CSS3. The concept came to me during one of my morning showers, and I decided that it was worthy of bringing to fruition. The development of this site has been an exercise in web design and has been a really fun project that has helped get me up to speed with some of the latest and greatest in web technologies. I hope you enjoyed navigating this portfolio as much as I have enjoyed creating it.