August 2018 – Present

Research Assistant

Autonomous Vehicle Systems Lab

Help build Basilisk, a spacecraft simulation framework in a Python library, primarily written in C++, that provides faster than real-time simulations of spacecraft dynamics, with options for repeatable Monte Carlo simulations and Hardware-in-the-loop simulations. Models orbital dynamics in a complex and wholesome way, including modeling for Solar Radiation Pressure, Fuel Slosh, Gravitational N-body systems and Atmospheric Drag with Flexible Panels. Allows testing of flight algorithms concerning guidance, control, navigation and sensor processing. Also provides a 3D visualization to adjust the simulation in real time. Currently building a OpenAI Gym for reinforcement learning and control algorithm testing for space vehicles.
May 2018 – August 2018

Software Engineering Intern


Rebuilt major parts of the customer-facing Cloud Administration Portal and related APIs for service providers to manage device deployments, scale cloud services, diagnose device errors and review device analytics. Also reimplemented 2 other portals to be a part of the Cloud Administration Portal to make it easier for customers to manage their different deployments all in one place. Personally redesigned the architecture of the application, overcoming major design flaws, to be much more scalable, faster to iterate on, better for developer productivity and much more testable without throwing away most of the previous work. Used previous experience to act as a leader for my fellow interns on my project and brought them up to speed, making myself and the whole project much faster to iterate on. Used GitLab CI and GitLab to implement a CI Pipeline and move from a dirty trunk model to a master is production model with merge/pull requests and branches being used for feature development. Followed Agile Methodologies using GitLab and JIRA. Conducted meetings with and helped direct another development team in China.
September 2017 – May 2018

General Desktop Support Technician

Office of Information Technology - CU Boulder

General IT Support, everything from virus removal to repairing various hardware and software problems with the mantra that we solve every problem someone comes in with “Best Possible Effort”.
September 2017 – December 2017

Computer Systems Course Assistant

Department of Computer Science - CU Boulder

Computer systems is a course covering Computer Architecture, Binary Representations, IEEE Floating Point Representation, Stack Discipline, Buffer Overflow Attacks, Instruction-level Parallelism, Pipelining, Caching, Performance Optimization of Software Programs, Linking, Exceptional Control Flow, e.g. Signal Handling and Shells, Virtual Memory and Dynamic Memory Allocation on the Heap, e.g. malloc().

Provided office hours for students for 9-10 hours a week, help produce course materials and ensure the course runs smoothly while helping students excel at a challenging course with non-intuitive material.

Recent Publications

Recent Posts

Emacs is quite the beast. It really isn’t an editor so much as a operating system, and a pretty good one. It brings the promise …