Jordan Goetze

Employment History


Publications

Utilizing The Portability Of Docker To Design A Portable And Scalable Continuous Integration Stack

Submitted to: Midwest Instruction and Computing Symposium (MICS)
Published: April 2015
Abstract:

With the release of Docker as an open source project in March of 2013, the project has gained substantial pull in the world of systems administration, and especially in software development. The removal of the hypervisor layer, as well as the reduction of unnecessary dependencies in Docker based virtual machines - commonly called images - allows for extremely reduced storage footprints and effectively (as explained on the project's website) allows "'dockerized' projects to be completely portable"("What is Docker?"). This portability makes for a powerful tool when designing continuous integration stacks.

Using Neural Networks To Detect Examples of Ad Hominem In Politics And Miroblogging Platforms

Submitted to: Midwest Instruction and Computing Symposium (MICS)
Published: April 2016
Abstract:

With the presently ongoing race for the United States presidency, analysis of the currently participating candidates is under heavy analysis by politicians and civilians alike. A well noted factor of many of the candidate's oratory during debates are examples of the logical fallacy ad hominem. Ad hominem is a logical fallacy where instead of responding to another's argument, the person seeks to undermine the argument by attacking the personal character of the argument giver. Recently, candidates have begun to make use of microblogging services as a way to publicize their opinions and as such candidates often commit ad hominem against one another. The social nature of microblogging services commonly allows private users to comment upon candidate posts creating additional opportunities for ad hominem to be used.

Applying Convolutional Neural Networks to Per-pixel Orthoimagery Land Use Classification

Submitted to: Midwest Instruction and Computing Symposium (MICS)
Published: April 2017
Notes: Took first place in the undergraduate student paper competition.
Abstract:

Recently, the proliferation of Convolutional Neural Networks has spurred research in a wide range of fields such as image recognition, voice synthesis, and various other classification tasks. Over the last several years, the availability of satellite and other forms of orthoimagery has also increased due to the decreasing cost of capturing devices. The amount of annotated or labeled orthoimagery has not kept pace with the increased availability of imagery, largely due to the time complexity of labeling such data. Land cover usage classifications in particular would have many uses in agriculture. The United States Department of Agriculture’s National Agricultural Statistics Service provides land cover usage data at a resolution of 30 meters, which compared with - for example - a 1 meter imagery resolution, leaves a large discrepancy between the quality of the raw image data and the labeling data. This research uses these low quality labels along with high quality image data to train a model that attempts to perform per-pixel land use classification, in hopes to create a classifier that is able to predict several different classes of land use, up to or beyond the resolution accuracy of the much less adequate label data set. It is important to note however, that it is very difficult to evaluate if a model provides relatively better classifications based on the semantics of the input image, due to the low resolution of the image labels. This is because, an individual pixel in the image label will only represent one class per NxN meter area - in the case of our data set, a 30x30 meter area. That individual pixel may be a poor representation of features actually represented in the higher resolution image data. Thusly, we will attempt to demonstrate that, with enough data, a model may generate higher a resolution classification than the original imagery labels with a reasonable margin of error, and attempt to define a way to evaluate the effectiveness of the model despite the poor resolution of the image labels.

Exploring the Usefulness of Adding Auxiliary Preprocessed Image Layers With Convolutional Neural Networks

Submitted to: Midwest Instruction and Computing Symposium (MICS)
Published: April 2018
Abstract:

Convolutional Neural Networks have fast become the pinnacle of a wide variety of image processing tasks. From image labeling to image segmentation, convolutional neural networks continue to outperform many other image processing techniques. In some domains such as scene labeling additional image layers such as depth, or Normalized Difference Vegetation Index (NDVI) help to increase the quality of the classification, especially in the realm of image segmentation. Typically, these additional data layers come from other sensor equipment, and are not directly derived from the base image. For example, NDVI requires Near Infra-Red(NIR) data which must be captured with specialized equipment. Due to the abstractness of the patterns Convolutonal Neural Networks learn to detect, it is difficult to determine if additional data layers created by preprocessing the source images will aid in the classification task. The goal of this study is comparing the accuracy and quantitative quality of land use classifications with and without the addition of several different auxiliary preprocessed image layers. We will examine the output of a SegNet CNN with the inclusion of several different kinds of auxiliary data layers generated from the original images layers. There is the possibility that the Convolutional Neural Network is able to pick up on the patterns that the various preprocessing methods highlight, however, there is no clear way to tell at face value. By testing the model with and without the auxiliary image layers, we will attempt to discern whether the CNN benefits from these additional layers - meaning that the CNN on its own may not detect the types of patterns that the preprocessing methods do. Another possible outcome may be that the additional data throws off the CNN (if the CNN performs worse with the extra layers than without), or that the CNN does not perform significantly better or worse - suggesting that the additional data layers do not add anything that the CNN isn’t picking up on.


Projects

Doc Music Player

Github Url: https://github.com/jghibiki/Doc
Description:

A web socket application that facilitates searching, queueing, and Youtube videos on a dedicated host machine. Clients can connect to the server and queue Youtube videos to be played on the host machine. The system has an auto-queue system where the player can automatically request and play videos related to videos that have been recently played.


Technologies Used: Python, Javascript, Angular 1, Autobahn, Web Sockets, Youtube API

Byte-le Royale 2018: Dungeon Delvers

Github Url: https://github.com/jghibiki/Byte-le-Royale-2018
Description:


Technologies Used: Python, Pygame

Cursed

Github Url: https://github.com/jghibiki/Cursed
Description:

A tool for designing and playing DnD style games via a terminal using the curses library. Supports one Game Master(GM) and multiple Player Characters(PCs). GMs have the power to edit the map and story of the campaign all in one lightweight tool. PCs can then connect to the server to play. The GM has the ability to add and remove Fog of War to obsucre the vision of PCs, add objects to the map and view/edit the campaign narrative all on one screen.


Technologies Used: Python, Curses, EasleJS, Javascript, Autobahn, Web Sockets