Technical Projects
Machine Learning Image Recommendation Engine (Python)
- Builds and maintains a local cache of metadata (~120,000 images and all of their tags, as well as some extra info) obtained through an image board’s RESTful API.
- Uses Bayesian statistics to intelligently recommend images to the user, by calculating the probability that they will like all images in the database (treating each image tag as a piece of Bayesian evidence) and recommending the best images based on this metric.
- Records user’s ratings for each image, using this data to refine image recommendations.
Mastermind Five-Guess Algorithm (Rust)
Implements Donald Knuth’s five-guess algorithm in Rust, using concurrency and Rust’s extreme speed to quickly find the ideal guess at each step in the game.
TurtleNav (Lua)
- Automatically tracks the position and heading of robots in ComputerCraft.
- Abstracts the robot’s movement functions, greatly simplifying navigational code.
- Allows the programmer to simply tell a robot to travel 200 meters west, or return to point (0,0,0).
- Thoroughly unit tested, with 89% coverage at the time of writing.
- Available here under GPLv3.
Flight Rewriting (JavaScript)
- A userscript for the browser-based game Flight Rising.
- Provides a variety of UI improvements, keyboard shortcuts, and input automation.
- Designed to be near-undetectable - even to a statistical analysis of the server logs - by imitating the statistical distribution of human reaction times (based on a meta-analysis studying this exact thing).
This Resume
- Written using Jinja2, HTML/CSS, and Markdown.
- Rendered as HTML, then automatically converted into a PDF.
- Built automatically using a Python “makefile”.
kas_launcher
- A launcher and configuration manager for the open-source game engine GZDoom.
- Designed to manage multiple “modpacks” (collections of mods and GZDoom configuration options) at once, including information about compatibility with different maps and map-packs.
- Able to automatically generate an INI file for each modpack - propagating any changes from this INI file into both a modpack-local INI file and a global INI file available to all modpacks.
- Once properly configured, it simply asks the user which modpack they want to use, and then asks them which map or map-pack they want to play.
- Code and example configurations available here under GPLv3.
Hard Skills
Technologies known (most experienced to least experienced): Python, Lua, JavaScript, Rust, SQL, HTML, CSS, React, Redux.
Experienced poweruser of Linux and Windows. Very comfortable on the command line.
Familiar with core networking concepts including TCP/IP, NAT, ARP, DHCP, etc. Also familiar with the HTTP and HTTPS protocols.
Knowledge of computer science including Big O notation and algorithms such as Monte Carlo, hill climbing, quicksort, A*, etc.
Soft Skills
- Very fast learner.
- Skilled at self-teaching.
- Excellent written communication skills.
- Experienced working with a team.
- Diverse technical problem-solving and criticial thinking skills.
- Excellent time-management skills.
- Highly adaptable and creative.
Education
Studied software development at Tarrant County College between 2010 and 2012.