|24-Jun-2018||TLDR: Artistic Style Transfer|
|14-Feb-2018||Efficient Rendering of Linear Brush Strokes—my graphics research paper explained|
|13-Feb-2018||How not to suck at tmux|
|25-Sep-2017||Creating a modern OpenGL context|
|04-Mar-2017||Exploring bump mapping with WebGL|
|30-Nov-2016||Hitchhiker's Guide to the GDB|
|04-Sep-2016||Exploring calling conventions with x86 assembly|
|20-Aug-2016||Loading OpenGL without GLEW|
|13-Aug-2016||Native UI is dead, long live native UI|
|30-Dec-2015||Alpha Compositing, OpenGL Blending and Premultiplied Alpha|
|03-Jul-2015||Building a Fast, Modern Image Editor|
|13-Aug-2011||Android Game Architecture|
|14-Feb-2018||Efficient Rendering of Linear Brush Strokes - Journal of Computer Graphics Techniques|
At NVIDIA, I worked on CUDA profiling tools, including nvprof, the NVIDIA Visual Profiler, and the CUPTI library.
Papaya is a cross-platform image editor.
I spend a substantial amount of my free time developing this project. I periodically spin out useful code from this project into small libraries and release them into the public domain.
Socioball is an isometric puzzle game. In each puzzle, you have to get one or multiple balls from start to finish by placing missing action tiles along the ball’s path. Socioball uses steganography and hides data inside images, effectively using Twitter as a level sharing medium. Socioball is available on iOS and Android.
I was the solo programmer in the two-person team that made the game. I also created most of the art. Socioball is made in Unity.