Gavin Whitson

I have always loved technology. It was when I was able to get an IT job in highschool that my passion for it has taken off and been allowed to continue to grow. It was when I took a programming course in high school and I felt the satisfaction of solving complex problems with programming that I decided on pursuing computer science.

During college and partially through my degree in Computer Science, I got a job as a student worker for the university's IT department. It was there that I truly fell in love with making tools and using programming to make something that can streamline tedious processes and help my team.

Resume GitHub

PROJECTS

NSX Load Balance Switcher - Dev Blog

A tool for interacting with the NSX API in order to enable or disable servers from participating in a load balanced pool.

Written in Golang, uses the REST API provided by the NSX servers. This one was a request from my supervisors after I had written a similar project that just reported on information from the same API. That other project made establishing base functionality for this rather easy, however there were a multitude of issues that eventually caused me to switch to Go from python and start from the ground up.

Working on making a more generic version of this to have a open source.

PythonDND - Dev Blog

Interactive map application for running Dungeons and Dragons sessions.

My first full scale project. After I got into Dungeons and Dragons with a group of friends, I felt like our sessions lacked a good stand in for the table-top map and figurines the game was designed for. This came at the time that I began looking for a decent project to take what I have learned in college and apply it to attempting to build a digital combat map for our sessions.

This project has taught me a large amount about how proper planning and prototyping can save frustration from future pivots. Because of the fact that I wanted to jump headfirst into a project, I did not properly plan for how to implement all features I wanted. I went through a fair amount of redesigning and rewriting to the point where the finished app is nigh unrecognizable from the first iteration I wrote.

Github

Student Enrolled Cleanup - Dev Blog

Semi-Automated process for removing unnecsssary graduated student data

Suite of PowerShell scripts desigend to be ran post a separate cleanup process handled by a separate department. We are given a list of accounts that are removed from being classified as enrolled students. This list is used to update the accounts that were modified and ensure that the data being processed is accurate.

In order to do this in the safest manner possible, there have been a large number of checks built in. LDAP queries have been setup that gather lists of users that we want to include, as well as a larger list of accounts we want to avoid including. This information is used to run operations on multiple servers to find and delete data and doing further checks to note and log and potential issues.

Work Project, I am not permitted to share the source.

PSSQLTools - Dev Blog

PowerShell module implementing wrapper functions for the .NET SQLClient driver

Designed to convert the syntax of the SQLClient driver into a more familiar form within PowerShell. Although minimal savings, the team this was written for does not typically interact with SQL and it allows for easier maintenance of scripts.

Github PSGallery

Go HTTP Server - Dev Blog

Crude HTTP 1.1 Server

This project was written simply with the goals of learning about the HTTP protocol and the 'Go' programming language. Using the 'net' module for go (which includes HTTP server functions by default) to implement HTTP over TCP only so far as to host a static website ('GET' requests, html & css headers).

Github

Conway's Game of Life - Dev Blog

Although a simple project, I have always wanted to make an implementation of Conway's Game of Life. One day that I was bored I decided to finally knock it out.

This project humbled me a little. I went into it thinking it would be a quick and easy one and so I decided I could do it with the rules written in a clever and short way. Of course, I missed one that made it not quite work correctly.

Once again, through this project I was reminded that sometimes, its a bad idea to get too clever.

Github

Blog Posts

What am I working on?

Applying for jobs!

Sudoku app in Golang