I am currently a software engineer at Google, working on developer infrastructure. I've previously worked at Microsoft in the Windows Azure Group on Active Directory.

I am a graduate of the DigiPen Institute of Technology, where I earned a Bachelor of Science in Computer Science in Real-Time Interactive Simulation, with a Minor in Mathematics.

My areas of expertise are: C++ (including C++11 and further language developments), C, Boost, OpenGL, GLSL, template meta-programming, and technical architecture. I am capable in Java, C#, D, Python and Lua, among other languages, as well as concurrent programming and other various programming paradigms.

My full résumé may be downloaded or viewed online.

In my free time I participate on StackOverflow, where I am the ranked in the top 10 for the C++ tag and lie in the top 0.10 percentile overall. I have a C++-oriented blog where I occasionally post random musings or extended thoughts on SO answers.

I also continue to learn with hobbies. I am currently learning Haskell and type theory, and have a strong interest in formal verification, concolic testing, superoptimization, program synthesis, and programming language design.

I began programming as a child and have continued to teach myself since. I was first motivated to make my own game after playing Chip's Challenge. I learned BASIC, Visual Basic, C, and then C++ on my own at a young age, and continue to expand my knowledge in other directions.

Sky Battletron X

Sky Battletron X is a 3D arcade space shooter with a free-roaming environment, where players fight against hordes of enemies while obtaining progressively stronger weapons.

I was the Technical Director and Lead Programmer, and designed the architecture for the game's engine.

Papers: Targeting & Aiming

During the development of Sky Battletron X, we needed a way to help the player automatically aim, as well as an algorithm for hitting a moving target. The result was two papers that I wrote outlining the method needed to solve each task.

Computer Graphics

At DigiPen I have made several computer graphics projects for various classes. My latest project is a high-performance hierarchical bounding tree, for culling and nearest-neighbor searches.

I went beyond the specifications and made a concurrent implementation, along with a high-complexity scene to test it.

AI & Game Theory

As a combination of a Combinatorial Game Theory project and an Artificial Intelligence project, I developed a computer-player opponent for The Game of The Amazons, and wrote a fifteen page article outlining the theory and techniques used.

Pólya's Random Walk Constants

A mathematician named George Pólya proved that a random walk in one and two dimensions is guaranteed to arrive back at the starting point and infinite number of times over an infinite amount of time.

I wrote a program to visualize such walks in one, two, and three dimensions.