Columbia University Robotics Group, the Columbia Computer Graphics Group, the Columbia Bionet Lab, and Wolfram Research. I live in New York City.
- Consulting Software Engineer | Synappsys Digital Services (2011–2012)
Worked on proprietary code for generation and manipulation of laser scanned 3D meshes
- Consulting Website Developer | Sole Proprietor (2010–2014)
Web development services for local businesses
- Extending Winnowing for Code Similarity Detection | with Zachary Schuermann, Columbia University (2019–)
Summary: We work to extend past approaches to fingerprinting-based code similarity detection algorithms to incorporate information from git repository commits in an effort to contribute an open-source tool for use in computer science education.
- Towards an Autonomous Drosophila Robotic Platform | with Dr. Yiyin Zhou, Amol Kapoor, Filipe Peres, and Zhenrui Liao, Bionet Group, Columbia University (2016–2017)
Summary: We work to develop algorithms using deep reinforcement learning on novel open hardware autonomous robotic platforms to reproduce key observable behaviors of the fruit fly for use in the verification and development of discrete system models.
- shux: A Language for Particle-Based Physics Simulation | with John Hui, Mert Ussakli, and Andy Xu, Columbia University (2017)
Summary: We seek to design a language optimized for expressing, simulating, and rendering particle-based physics problems such as cloth, fluid, and soft body dynamics by means of useful abstractions, functional paradigms, and a revised syntax.
- Spectral Analysis of Discrete Differential Operators for Geometry Patch Matching | with Dr. Keenan Crane and Dr. Alec Jacobson, Columbia Computer Graphics Group (2015–2016)
Summary: We work towards developing useful discrete differential operators such as the Laplacian and modified Dirichlet energy for patch matching of arbitrary geometry with applications to mesh resolution upsamping.
- Functionals of Cellular Automaton Rules | with Carlos G. Martin, Wolfram Research (2015)
Abstract: We model the collection of possible neighborhood configurations in an elementary cellular automaton as a discrete manifold over which the transition function or rule takes on Boolean values. We find the Dirichlet energy of different rules through the Boolean differential calculus by summing over all possible neighborhood configurations [...]
- Visual and Motor Interfaces for Neurokernel | with Dr. Yiyin Zhou and Amol Kapoor, Bionet Group, Columbia University (2015–2016)
Summary: We work to build an interface between a parallelized emulation of the vision system of the Drosophila melanogaster on multiple GPUs and real-time sensory inputs from and outputs to the environment, including signal preprocessing.
- Classification of Unimodular Einstein Lie Groups Towards Resolving the Alekseevskii Conjecture | with Prof. Michael Jablonski, University of Oklahoma (2013–2014)
Summary: We work towards a parallelized numerical algorithm to classify unimodular Einstein Lie groups with applications to resolving the long-standing generalized Alekseevskii conjecture.
- Casimir Torque in Inhomogeneous Dielectric Plates | with Prof. Kimball Milton and William Long, University of Oklahoma (2013)
Abstract: In this work, we consider a torque caused by the well known quantum mechanical Casimir effect arising from quantized field fluctuations between plates with inhomogeneous, sharply discontinuous, dielectric properties [...]
Projects & Open Source
- Real-Time In-Browser Fluid Simulation with WebAssembly and WebGL2 (2021)
Experiments with Rust SPH simulation including a WebAssembly thread parallel solver rendering to an HTML canvas context. Works with modern browsers
- Real-Time Raytracing of Black Holes in Interactive VR (2017, 2020)
Awarded engineering project grant to develop a raytraced approximation of the visual phenomena of black holes in real-time virtual reality
- RL Grasping | CS6731 Final Project (2019)
Deep deterministic policy gradients and hindsight experience replay seeded with demonstrations applied to grasping problems for FetchIt! at ICRA 2019
- Cellular Automata in LISP | CS3101 Final Project (2017)
Elegant implementation of cellular automata simulation in LISP. Supports elementary cellular automata and Conway's "Game of Life"
- Spectral Energy Visualization (2016)
Experiments with FFT-based audio spectral energy visualization towards onset detection. Works with modern browsers
- Incompressible SPH | CS4167 Final Project (2015)
Experiments with predictive-corrective integration methods applied to enforcing the incompressibility of SPH simulations
- Quadcopter Research Platform (2015–2016)
Awarded engineering project grant to create extensible low-cost platform for autopilot control system research
- Laminar Dynamics | Columbia Venture Competition (2015–2016)
Founded team to build autonomous drones for medical supply delivery in Africa. Columbia Venture Competition finalist
- Pingr | Columbia Residential Incubator (2014–2015)
Tested location-based social network through product-market fit analysis with surveys. Developed MVP as part of selective entrepreneurship incubator
- FFFT of Generated Functions | ELEN1201 Final Project (2014)
Function generation using variable inductor-capacitor circuits and frequency spectrum display using a fixed fast Fourier transform
- ANNs for Robot Navigation (2011-2012)
Early independent project to train feedforward neural networks using genetic algorithms for collision avoidance
- Experiments with Physically-based Animation (2007–2011)
Developed fully-featured rigid body physics engine. Particle-based fluid dynamics, cloth simulation, shadows, raytracing, and more
- Long-Distance Control for UAVs (2005–2007)
Developed robotic directional antenna for communication with fixed-wing UAVs including smooth tracking algorithm
- Real-Time Video for Robot Remote Control (2002–2004)
Developed a wheeled robot with servo mounted camera combining a PC and microcontroller to demonstrate remote movement with real-time video
- Google Cloud for Data Science | Columbia University (2017)
Curriculum covering virtual machine creation, containerization, and basic devops. Lecture given with 75+ attendees at Columbia's largest data hackathon
- Avoiding Overfitting in Finance | Columbia University (2017)
Lecture given as part of a larger series I coordinated on modern quantitative finance. Brief talk notes covering common pitfalls in creating financial models
- Introduction to Data Science | Columbia University (2017)
Basic curriculum covering visualization, regression, and clustering. Two workshops with 80+ attendees given at Columbia's largest hackathon
- Software Engineering: Writing Good Code | Columbia University (2016)
Given as part of a larger series I coordinated on best practices in software engineering. Covers code style, static analysis, design patterns, and testing
- C/C++ Essentials (2016)
Short and informal review covering UNIX, IO, Networking, HTTP, C and C++ language basics, templating, standard container libraries, and much more
- Java Interview Review (2015)
Short and informal review covering data structures, algorithms, and general features of Java suitable for interview prep or refreshing language knowledge
Last updated July 8, 2021