--- layout: default title: Projects permalink: /projects/ --- * JavaScript * Developed games * with [HTML and React](https://github.com/mathphreak/halfhearted) * with [just the Canvas API](https://github.com/mathphreak/Zrczr) * with [a pure-HTML text UI](https://github.com/mathphreak/LD28-You-Only-Get-One) * with [a full HTML5 game engine and a team of people](https://github.com/mathphreak/Galactic-Max) * with [Elm](https://github.com/mathphreak/yummy-goodness) * Developed Web apps * a React front-end for a Java back-end as part of a group project * [a specialized todo list](https://github.com/mathphreak/hamwerk) with Meteor * [a realtime quiz application](https://github.com/KamikazeKumquatsLLC/komodo) with Meteor * [a status dashboard](https://github.com/mathphreak/MCWebDash) pulling data from a Java backend via UDP * Developed libraries * [remembering scroll position on a page](https://github.com/mathphreak/Pecan.js) * [interacting with the GitHub API from the browser](https://github.com/mathphreak/github.js) * [sorting strings in a natural-language-friendly way](https://github.com/mathphreak/compare-ignoring-articles) * Developed desktop programs with Electron * [for moving files around with a decent UI](https://github.com/mathphreak/ReliefValve) * [for diffing output of two programs](https://github.com/mathphreak/verbatim) * Developed a [Chrome extension](https://github.com/mathphreak/VCRI) making improvements to an existing site * Rust * [Wrote a text editor inspired by Nano](https://github.com/mathphreak/mfte) * [Made a Web app](https://github.com/mathphreak/cs-eco-dash) that consumed and processed data given in a poorly specified format * Contributed to [the standard library](https://github.com/rust-lang/rust/pull/34694) and [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen/pull/1843) * Python * Wrote a [wxPython GUI](https://github.com/boringcactus/vidslice) for video manipulation using ffmpeg and youtube-dl * Wrote an [image processing](https://github.com/mathphreak/hexcells_hints) utility * Contributed to [a GroupMe chat bot](https://github.com/Boijangle/GroupMe-Message-Bot) * Java * Developed a Spring back-end for a React front-end as part of a group project * Developed desktop programs in Swing * [a homework-specific todo list](https://sourceforge.net/projects/eplanner/) (my first open source project, in 2009) * a CSV data processor * Developed Android apps * [Bluetooth-based robotics control system](https://github.com/mathphreak/RobotArmStuff) * competition status tracker * Developed plugins targeting an existing API (Bukkit, for Minecraft) * for a client [1](https://github.com/mathphreak/StaffDrops) [2](https://github.com/mathphreak/CompetentDeathMessages) * in collaboration with other developers [1](https://github.com/mathphreak/Fireworks) [2](https://github.com/mathphreak/RepublicaEternityEventIII) * for my own needs or to test what was possible [1](https://github.com/mathphreak/SpawnAndBack) [2](https://github.com/mathphreak/Trollcraft) * C++ * Wrote an XPM decoder and a basic GUI layout library targeting a single-pixel-based graphics library * Open Source Contribution * Contributed features * [to a newly created Rust library, from scratch](https://github.com/mrandri19/rust-editorconfig) * [to the Rust standard library](https://github.com/rust-lang/rust/pull/34694) * [to a Chrome extension](https://github.com/honestbleeps/Reddit-Enhancement-Suite/pull/826) * [to a large Minecraft server plugin](https://github.com/Multiverse/Multiverse-Core/pull/780) * twice to a widely used Node.js library [1](https://github.com/joaomoreno/gulp-atom-electron/pull/28) [2](https://github.com/joaomoreno/gulp-atom-electron/pull/29) * Fixed bugs/issues * [bugs in CMake test configuration](https://github.com/editorconfig/editorconfig-core-test/pull/8) * [grammar in documentation](https://github.com/jonobr1/two.js/pull/3) * [outdated and broken dependencies](https://github.com/aweinstock314/rust-clipboard/pull/43) * Ruby * Developed Web applications * [Docker-based code runner](https://github.com/mathphreak/E-800) (with Rails) * [Gmail API client](https://github.com/mathphreak/cull21) (with Sinatra) * Developed a [productivity daemon](https://github.com/mathphreak/prodenfd) * Go * Wrote a [Web-based dashboard](https://github.com/mathphreak/AltcoinNetWorth) and [WebSocket chat](https://github.com/mathphreak/webchat-go) * Wrote [a proxy server and API client](https://github.com/mathphreak/statdns-socks5) * [Ported cryptography-related C code to Go](https://github.com/mathphreak/reop) * Embedded * [Programmed and built a motorized trebuchet](https://github.com/mathphreak/Arduinochet) * Adapted existing code to [pass light sensor data to a computer for audio](https://github.com/mathphreak/piano-stairs). * General Programming Knowledge * Translated [someone else's ActionScript synthesizer](https://code.google.com/archive/p/tonfall/) into [pseudocode](https://github.com/mathphreak/tripping-wight) * Wrote [an emulator in CoffeeScript](https://github.com/mathphreak/BecauseWhyNot) for a CPU based on specs written as lore for a video game that was later canceled