I was born and raised in North Carolina out in the middle of nowhere. Despite moving to the "big city" to go to college and work in technology, I'm a country boy at heart. I enjoy running, hiking in the woods, and southern comfort food.
I got my start in programming through the TI-83+ graphing calculator. I studied the chapter on the built-in programming language extensively until I was able to make fairly complicated games for the platform, including an RPG, Pong, and Frogger.
Despite growing up without internet access, I found creative ways to teach myself how computers worked. I developed local websites on Microsoft pubisher to teach myself HTML, and played with my system configuration until I knew what every system setting did. I eventually picked up GameMaker and used it to fully explore object-oriented programming, even though my computer was unable to run the games I had compiled.
I didn't really start learning how to program until I started using Linux in college. Linux made programming tools such as C compilers and Python interpreters much more accessible, finally enabling me to start learning. At that point, my technical knowledge skyrocketed as I taught myself new languages, socket programming, and OpenGL.
Today, I generally prefer to write code to automate tasks and learn new tricks rather than develop full-fledged user applications. I absorb information like a sponge, and prefer to spend my personal time expanding my skillset rather than starting big projects. For that reason, I enjoy taking courses on Coursera and Udacity.
I started attending North Carolina State University for Computer Science in August of 2008, and completed two degree programs (B.Sc. '11, M.Sc. '13).
During my undergraduate career, I was involved in research with Dr. Matt Stallmann in the experimental evaluation of algorithms. I implemented and benchmarked classical and modified algorithms for minimum spanning trees and ran them against large data sets to measure their performance.
For my undergraduate senior design project, I developed a real-time operating system that exposed a serial interface for interacting with a custom robot platform. The OS was written in C for the PIC microcontroller, and interfaced with a Java API that I provided to the rest of my team to develop for the platform.