Nathanael Gutierrez

Nathanael Gutierrez

Software Engineer

  • Projects
  • PGP Key
  • Blog

[email protected]:~#

Projects

Kolibri

Kolibri

Python
Django
JS
Vue
SQLite

I am a contributor to Kolibri, an open-source, offline-first platform for teaching and learning with technology without requiring the Internet. The project uses a Vue.js front-end with a Django backend.

BRECKS

BRECKS

Java
Spring
JS
React
Next.js
MongoDB
MySQL
S3

BRECKS is a full stack web application created to help construction firms manage their daily operations at their job sites. Using BRECKS, firms can track the man-hours spent at their job sites each day, what materials were needed, which visitors were on site, and when the projects were on hold or completed. The BRECKS project uses Next.js + React for the front-end, a Java-based RESTful API service using the Spring framework, both relational and NoSQL databases, and S3-compatible document storage.

Physics Inventory

Physics Inventory

Kotlin
Java
Spring
JavaFX
JS
React
Next.js
MongoDB
MySQL
S3

The Physics Inventory app began back in 2016 as a desktop application based on Java, the JavaFX GUI framework, and a MySQL database. Since then, the project has expanded into a full stack web application involving a Next.js + React front-end, a Kotlin-based RESTful API service using the Spring framework, S3-compatible document storage, and a MongoDB NoSQL database. The application was built to allow the lab professors and TAs at Andrews University to keep track of the location, maintenance, and purchase information of their inventory. The application features a robust unit conversion engine built from scratch to allow precise tracking of consumables after their use in labs. Users can additionally view a number of reports, including but not limited to: lab set-up and take-down checklists, low stock reports, and requests for maintenance.

Simulations of Type Iax Supernovae Undergoing Subsonic Burning

Simulations of Type Iax Supernovae Undergoing Subsonic Burning

Python
MPI4Py
Pandas
NumPy
SciPy
Matplotlib
Jupyter
Bash
Fortran

In an Astronomical study of simulations of Type Iax supernovae undergoing subsonic burning, I developed, parallelized, and improved a number of programs used to analyze the results of the simulations. Using a round-robin-esque parallelization algorithm, I was able to achieve a 92.5% improvement in the runtime over the original analysis scripts. The improved scripts allowed the team to analyze terabytes of simulation data much faster than before. The results of the study were published in The Astrophysical Journal.

Neuro-Inspired Stability-Plasticity Adaptation for Continual Learning

Neuro-Inspired Stability-Plasticity Adaptation for Continual Learning

Python
PyTorch
Pandas
NumPy
Jupyter

The NISPA architecture is a neural network designed for task-incremental learning. The network randomly selects a number of neurons to be preserved (or plasticized), and rewires the network so that only non-plastic neurons are affected by subsequent training. I worked on an approach to improve the network by implementing a selection algorithm that identifies low importance neurons, restores plasticity to them, and rewires them, thereby expanding the capacity of the network between incremental learning phases.