Welcome.
Software Projects
Research Repositories
I believe in open source software and open science. All of my major software projects I've developed past 2019 are available below.
-
ALLFED Integrated Model
An integrated food supply model for global trade and resilient food adaptations in nuclear winter. It has been used to advise various governmental and non-governmental organizations on preparations and cost-effectiveness estimates, as well as guiding research and prioritization at ALLFED.
See the latest preprint here. View on GitHub -
GeomagneticModel
I developed a model which incorporates thermal models of HVT tie bar hot spots, historical geoelectric field estimates, and a global conductivity model to estimate the risk of long-term power outage due to transformer overheating failure. Assuming a uniform 33% HVT spare capacity, our analysis indicates that a 1 in 10,000 year storm would result in approximately 1% of the population in Europe and North America experiencing a long-term (months to years) electricity loss. The model is unusually broad and end-to-end, encompassing a wide geographic scope and long time horizons. I hope that it inspires similiar on other global catastrophic risks. You can view the preprint for the paper here.
View on GitHub -
mink
A major reformatting and open-sourcing of IFPRI's mink crop model courtesy of Ricky Robertson. I added a python analysis, got it running multi-threaded, made a singularity container for it, and added lots of comments and some documentation. However, the code is sufficiently legacy that I do recommend interested parties generally start with a more modern crop model, such as WOFOST
View on GitHub -
LosingIndustryCropYields
A general linear statistical model of crop yields to evaluate the effect of loss of industrial capacity, including chemical nitrogen production, tractors, and powered irrigation on global crop yields. This is the only repository on the list in which I was not the primary author, which in this case is Jessica Morsdorf, as it was used for her master's thesis. However, I contributed the data processing and heavily advised the process, as she had not set up a code repository before. The published paper is here. The full text is available on the ALLFED website.
View on GitHub
Unix Productivity Tools
-
ClockifyAutomation
Automate time invoicing using google calendar, activitywatch, and the clockify API. This is my largest unix productivity tool, as it automatically tracks and categorizes my billable contractor hours based on watching my window titles on my laptop, and the categorizations I choose for each window title. Forget about manually entering time ever again!
View on GitHub -
noise_masking
Have you ever thought about the fact that the frequency band of speech is fairly narrow, all things considered, and a gaussian white noise spectrum that is quiet in the majority of audible frequency space would block speech quite well? I have! This script records audio, generates a spectrogram, fetches audio statistics, and plays back audio with adjusted volume in real-time based on the system volume. It's great for blocking voices at coffee shops and communal spaces, but it doesn't have to be very loud as it focuses the audio only on the frequency range that is the loudest in the environment. It works great in combination with noise-cancelling headphones. I cannot figure out why this is not a standard feature in noise canceling headphones! Hopefully they add it eventually.
View on GitHub -
problem_set_ocr
A neat little repository which automates my physics homework submissions. Uses GPT-4-vision optical character recognition to scan handwritten problem sets to valid latex in seconds. You can use it for any handwritten documents which you wish to format in latex.
View on GitHub -
timezone_and_flux_from_ip
Updates the system timezone and the color temperature of the display based on the geolocation of the current IP address. The script is designed to be used with NetworkManager's dispatcher to be executed whenever a network connection goes up.
View on GitHub -
bash_history_improved
This is my configuration so that bash history actually works! Infinite number of line storage, test to see everything is set up correctly, does not occasionally delete back to 500 lines. [NOTE: I now use fish which (mostly) resolves all of those issues, so this repo may be a bit out of date]
View on GitHub -
how_to_ssh_key
Tutorial for adding ssh keys on github and command line.
View on GitHub -
standard_protocol_to_use_git
This tutorial will walk you through a standard Git workflow, which includes creating a new branch, checking its status, adding changes, committing them, and finally, pushing them to the remote repository. The workflow also includes how to prepare for a pull request. This is basic knowledge that seems to currently not be widespread and tutorials don't really seem to focus on the key basics. Professional software engineers really need to learn this kind of thing if they haven't already, so I made a little tutorial.
View on GitHub