I'm deeply passionate about sharing my knowledge with the world and contributing to projects I find useful. I've been fortunate enough to have had many opportunities to publish things that I've learned as well as to contribute to great projects. Below is a selected list of content and contributions
Content
- Halo orbits and Lagrange points - derivations and equations - Winter 2020/Spring 2021
- This is an ongoing series about halo orbits. This is a fascinating topic which suffers from a lack of accessible resources. It's my hope that by creating a series of video lectures and associated Python libraries, I can make the topic more approachable and accessible to a wider audience.
- Level up git! Rebasing and Squashing - Fall 2019
- Rebasing and squashing are 2 techniques which I teach very often. They're great techniques, but rather nuanced and complex. As such, most articles would miss something important about them - either the motivation, the underpinnings, or how to fit them into your daily git workflow, and so I made my own article.
Contributions
- scipy - Summer 2020
- I added an attitude parametrization set known as Modified Rodrigues Parameters (MRPs) to the scipy Rotation class. MRPs are useful in that they are a minimal set (only 3 parameters) which go singular at a rotation of 360 degrees. Further, the singularity can be easily avoided using some simple math.
- git - Spring 2019
- I'm very proud to have been able to contribute to git! My contribution was relatively simple: I added code such that any branches checked out in linked worktrees are highlighted in the 'git branch' output (in a different color and with a different symbol than the color/symbol used to highlight the current branch). Though the ultimate result was a superficial color change, it required quite a bit of plumbing under the hood. This code was accepted into git v2.23.
- webpiano - Winter 2018
- webpiano is a fun little tool to help practice polyrhythms. I added a streak counter to help the user keep track of their progress.
- pybind11 - Summer 2016
- This was my first open source contribution! I ran into a small bug while using pybind11 and found a way to add some code and documentation to the project to help others facing the same issue.