Wiki Lang Links Explore Tool

This is a tool to compare the article links between two different language versions of a Wikipedia article. You give it one article in language A, give a second language B, and then it will find which Wikipedia article links it has in common and which ones are unique to the language they appear in. I think it’s interesting to compare what articles different language communities deem relevant to certain articles. I made this because I was bored once.

The tool

GitHub repo

Building Weighted Graph from an Image of an Environment

This project investigates using an aerial image of an environment to create a bidirectional weighted graph that can be used to navigate that environment. Originally, I only started this project only because really wanted to learn about computer vision. Then, inspired by the use of navigation graphs in games and robot pathfinding, I developed an algorithm that is meant to take an aerial image of some environment and convert it into a weighted graph. Ideally, this weighted graph could be used to efficiently create paths that could be transformed into robot machine code. This project was accepted to the Computer Vision Conference 2019. The full paper is available in the proceedings.

Learn Functional Programming

Learn Functional Programming is a puzzle game where users program with a visual functional programming language. The hope is that an interactive and easy to use environment would make it easier to learn the syntax of functional languages. This is the followup project from my Ludum Dare 45 educational game Magic Shepherd. Many players found Magic Shepherd very confusing, so LFP is meant to be much easier to follow and learn.

Game page

Historical Development of German Dialects

My German capstone project was about the development of the standard German language (Hochdeutsch) since over history and how dialects are formed and maintained overtime. I learned some basic linguistics concepts and applied historical knowledge from other courses and new sources. I presented the project in both English and German.

The Angel Recording the Truth

This is an educational game for first order logic. Concepts introduced include predicates, sets, and quantifiers. By introducing concepts one at a time in an interactive setting and letting related concepts build on itself, I hope that players will become more comfortable working with these concepts. I was probably a bit sloppy with some notation (for example, the Wikipedia page didn’t have examples using sets, so including them might really be an extension of first-order logic or something like that). If you really know this stuff and notice a huge mistake, please correct me.

Made in under 48 hours for Ludum Dare 46

Game page on GameJolt

Game page on Ludum Dare

Development Timelapse

Anonymous Communication Evaluation Research Proposal

In January 2018 I took a course about academic writing, which taught us more formal methods for effectively reading research papers, analyzing the content and structure, and of course academic writing. I decided to research privacy and anonymity in networks, which was a far larger rabbit hole of content than I imagined. Although I don’t think I plan on actually conducting the study, I wrote a research proposal for coming up with a more unified method of evaluating anonymous communication technology.

GPGPU Programming and P-Systems

One summer I had the opportunity to do General Purpose Graphics Processing Unit (GPGPU) Programming. We worked on various problems to determine if they were “parallelizable” and compared the runtime between solutions running on both CPUs and GPUs. All GPGPU programming was done using OpenCL. Finding some work on computing P-Systems on GPUs, which is a biologically inspired computational model that is highly parallel, I attempted to program it for OpenCL but found it very difficult at the time, so I only created the computation model for CPUs. This summer taught me a lot about parallel programming.

Using a Bilingual Dictionary to Expand Topic Model Training Data

After being interested in foreign languages and computer science for some time, I wanted to try a project related to both subjects. The purpose of this project was to try and find a way to artificially increase the amount of training data for Low Resource languages by exploiting bilingual dictionaries which have multiple translations possible between different words. While the results of the experiment showed that the method I came up with is not very promising, I got great experience working with a huge amount of data with limited hardware resources. scrapers and more to complete this project. This project was accepted to and presented at NCUR 2019 at Kennesaw state university.

EOLA Tennis App

For my final computer science project in college, I worked with a group to extend an app for a local tennis academy. Using frameworks like React Native, the Redux state management library, AWS cloud services, and Google Firebase, we implemented features to let players sign waivers, register for classes, and connect on a chatroom through the app. This project is currently in progress.


App Store

Magic Shepherd Educational Game

Magic Shepherd is an educational game for visualizing and understanding functional programming. I tried to make each object in the game relate to some concept in a LISP-based functional programming. The hope is that somebody who learns game concepts will also learn functional programming concepts. Initial feedback showed that more work is needed to lower the learning curve and to help make it more intuitive.

Magic Shepherd was made with Godot for Ludum Dare 45.

Gamejolt Game page