Garrett Bates

Garrett Bates

ABOUT ME
Software engineer with a passion for helping people learn
Software engineer with a passion for helping people learn

Greetings!

My experiences are mostly centered around Linux systems; but I do have some experience with writing programs for Windows as well. I consider myself to be capable in the following languages:

  • C
  • C++
  • C#
  • Python (3.x)
  • Assembly (x86, x86-64)

Additionally, I have experience with:

  • ATMEL microcontrollers

I have a B.Sc. in Computer Science, and will be furthering my studies in the near future. During the day I work at IRIS/Passcal as a Software Engineer, working to maintain and develop software for seismological research; in the evenings, I am currently working as an indie game developer, designing and constructing a custom runtime asset pipeline for MEK Engine, a Mech Warrior 2 reimplementation, using the Unity game engine.

English
Mountain Time (US & Canada) (-06:00)
Joined March 2020
EXPERTISE
7 years experience
I have used C as a hobbyist developer for approximately ten years. I have used this language in hobbyist robotics projects, developing pr...
I have used C as a hobbyist developer for approximately ten years. I have used this language in hobbyist robotics projects, developing programmable software renderers, game development, and more.
View more
View more
6 years experience
Previously, I have developed software suites using Python for web scraping and data aggregation from various sources on the internet. Cur...
Previously, I have developed software suites using Python for web scraping and data aggregation from various sources on the internet. Currently, much of my daily work-related tasks revolve around the development and maintenance of platform agnostic Python software for analysis of seismological data.
View more
View more
4 years experience
4 years experience
For the last two years I have developed small personal projects using Unity 3D. Currently, I am working as the backend software developer...
For the last two years I have developed small personal projects using Unity 3D. Currently, I am working as the backend software developer for a runtime asset pipeline. The project consists of a small group of three people, working to release a reimplementation of Mech Warrior 2 for modern hardware, with modern graphical features and dynamic animation.
View more
View more
4 years experience
I have worked with Assembly for a number of projects, both personal in nature, and school related. These projects have ranged from revers...
I have worked with Assembly for a number of projects, both personal in nature, and school related. These projects have ranged from reverse engineering and exploitation of vulnerable binary files, to programming robots using Arduino boards, and the underlying ATMEL microcontrollers.
3 years experience
I have worked with OpenGL in hobbyist game projects, as well as smaller scale renderers that I have developed to display model and textur...
I have worked with OpenGL in hobbyist game projects, as well as smaller scale renderers that I have developed to display model and texture data from games that I am currently focusing on reverse engineering.
CC++
View more
CC++
View more
3 years experience
I have worked with matplotlib to plot data collected from spiking neural networks, in my day-to-day work to plot data collected from the ...
I have worked with matplotlib to plot data collected from spiking neural networks, in my day-to-day work to plot data collected from the field, and in hobby projects to assist in my reverse engineering related activities.
Python 3
View more
Python 3
View more
EMPLOYMENTS
Software Engineer
Indica Labs
2023-03-01-Present
Working with a team of engineers on development of an AI powered platform for analyzing tissue sample slides for use in the field of path...
Working with a team of engineers on development of an AI powered platform for analyzing tissue sample slides for use in the field of pathology, in both a research and clinical capacity.
C#
C++
Machine Learning
View more
C#
C++
Machine Learning
DevExpress
Python 3
Windows Development
Artificial Neural Networks
Windows Application
AI (artificial intelligence)
View more
Staff Scientist / Software Engineer
IRIS Passcal
2020-08-01-2023-03-01
Worked with a small group of software engineers to develop and maintain software used within the seismological research community, as wel...
Worked with a small group of software engineers to develop and maintain software used within the seismological research community, as well as software used in-house to manage a sizeable inventory of scientific equipment to be shipped and received around the world.
C
MySQL
Linux
View more
C
MySQL
Linux
Bash
NumPy
GitHub
Matplotlib
Scipy
GitLab
Python 3
View more
Undergraduate Teaching Assistant
New Mexico Institute of Mining and Technology
2018-08-01-2020-05-01
Bridged the gap between students and instructors by assisting in holding lab exercises, tutoring and occasionally covering lectures for p...
Bridged the gap between students and instructors by assisting in holding lab exercises, tutoring and occasionally covering lectures for professors; additionally assisting in grading, and other duties at the request of professors.
Java
C#
C++
View more
Java
C#
C++
C
Python 3
View more
PROJECTS
Spikey Boi
2019
Spikey Boi was a research project for a Computational Neuroscience class. The goal was to train a small spiking neural network to control...
Spikey Boi was a research project for a Computational Neuroscience class. The goal was to train a small spiking neural network to control a virtual robot (referred to as the agent), and seek a target on the screen. The project had a fair degree of difficulty to it, as we chose specifically to work with a recurrent spiking neural network. This made training the network and eliciting the desired behaviours from the agent far more difficult than had we chosen a feedforward architecture. The network ended up being segmented into three parts, in order to more accurately model the real-world features of biological nervous systems: A feedforward input layer (akin to extero-/interoceptor neurons); a recurrent inner layer (akin to a central nervous system); and a feedforward output layer (akin to motor neurons or muscles); and was composed of both excitatory and inhibitory neurons. All neurons were modeled using Izhikevich's spiking model for cortical neurons.
Python 3
View more
Python 3
View more
Reconnaissance Toolkit
RiskSense, Inc.
2017
Reconnaissance Toolkit was a closed source project developed as part of an internship in order to automate the collection and parsing of ...
Reconnaissance Toolkit was a closed source project developed as part of an internship in order to automate the collection and parsing of data for passive network reconnaissance. This was developed during an internship before I formally began my undergraduate degree in computer science.
Python 3
View more
Python 3
View more