Projects

Current & Past Projects

Mock OS (Update)

One of the promises I made myself when I graduated was that I wanted to redo my favorite project from college once I had more professional experience under my belt. Well that time came recently. I restarted the Simulator project with a new CMake development workflow and unit testing included in the repository. CTest is something that many professional companies use for their embedded code and I wanted to learn how to use it. This project is giving me that chance. View my updated project here.

The link in the 'Mock OS' tab below is now a link to the old code base.

redux-feature-generator

I am now the lead programmer on an OSS project that I started as a result of beginning my development into the Planetary Image Editor version 2. I found that using redux and react to make application requires making many files for each different custom UI component you want to make. I decided that I would save myself time if I wrote some scripts to do it for me. Come to find out that this idea had not been published to NPM before and I was using Node.js for the TypeScript development of PIE2 and Redux. I decided to write the scripts into a command line package and publish it to NPM. I am up to ~40 downloads a week now which I am very proud of.

PIE

Recently I have been working in UI/UX design, mainly due to the fact that I am the soul programmer on the PIE project at the USGS which is the version 2 of the PIPS server. PIE was first thought up by Laszlo Kestay and with the help from the POW development team at the USGS it became the last connection in a web-based processing pipeline that connects PILOT, POW, and PIE in a smooth workflow that removes the need for researchers to learn ISIS3 command line interface programs.

Mock OS

One of the more complex projects I did in college was the Mock Operating System. It is a fake operating system that runs text based batch files to represent fake tasks on a real OS. This project is written is pure C and uses very little pre built libraries. This project taught me the basics to compiled languages and gave me an amazing starting point to later teach myself how to program in C++ an use CMake.

Neb-usgs

I taught myself how to use the Nebula Compute Cluster at the USGS Astrogeology Science Center to do parallel processing of ISIS3 data files. I had such a difficult time learning it given the minimal resources at my disposal that I decided to create a repository for anyone interested in learning how to use a Slurm Workload Manager interface. Neb-usgs is what I came up with.

planetLearn

I was asked to assist in a computer science solution to calculate surface scattering values for ISIS cube files. I decided to used machine learning to predict scattering based on camera metadata from the Lunar Reconnaissance Orbiter Camera. planetLearn uses algorithms from my undergraduate career as well as glmnet learning algorithms. These results were used in a research paper by Dr. Laszlo Kestay.

docker-pie

Docker was used often at the USGS for containerizing web applications to add an extra layer of security to outward facing web addresses that are run in house. docker-pie is a containerized PIE server with its own installation of ISIS 3.10 and GDAL.