diff options
-rw-r--r-- | projects.md | 182 |
1 files changed, 114 insertions, 68 deletions
diff --git a/projects.md b/projects.md index dd50aa6..d0268b2 100644 --- a/projects.md +++ b/projects.md @@ -3,71 +3,117 @@ 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 + +* November 2020: [cactus-ssg](https://git.sr.ht/~boringcactus/cactus-ssg), a Python static site generator targeting both WWW and Gemini (built this site right here!) + +* September 2020: [Crowbar](https://crowbar-lang.org), a language offering "the good parts of C, with a little bit extra" + +* September 2020: [gemifedi](https://sr.ht/~boringcactus/gemifedi/), a Rust server offering a Gemini frontend to the fediverse + +* September 2020: [csgo-gsi](https://sr.ht/~boringcactus/csgo-gsi/), a Rust library for integrating with CS:GO + +* August 2020: [the Fuck Around and Find Out License](https://sr.ht/~boringcactus/fafol/), an experimental software license + +* June 2020: [Slabforge](https://handandmachine.cs.unm.edu/slabforge/), a JS CAD tool for slab-built ceramics + +* June 2020: [pig.observer](https://pig.observer), a JS frontend for viewing several traffic camera streams simultaneously (finished) + +* December 2019: [cargo-why](https://sr.ht/~boringcactus/cargo-why/), tracing dependency paths to show why a Rust crate is needed in the current project + +* December 2019: [wasm-pack pull request #745](https://github.com/rustwasm/wasm-pack/pull/745), adding watch and serve subcommands + +* November 2019: [wasm-pack pull request #736](https://github.com/rustwasm/wasm-pack/pull/736), adding support for binary crates (finished) + +* October 2019: [wasm-bindgen pull request #1843](https://github.com/rustwasm/wasm-bindgen/pull/1843), adding support for binary crates (finished) + +* October 2019: [OWReplayRenderer](https://github.com/boringcactus/OWReplayRenderer), a utility in Rust to render out Overwatch replays to a single video file automatically + +* September 2019: [micro-ci](https://github.com/boringcactus/micro-ci), a tiny self-hosted CI system written in Rust + +* September 2019: compiler for the [While programming language](https://www.oxfordreference.com/view/10.1093/oi/authority.20110803122041931), written in Rust as a group project for a compilers class + +* June 2019: [faketwitch](https://github.com/boringcactus/faketwitch), an IRC server shim in Python to allow Twitch-chat-integrated games to use other services instead of Twitch + +* February 2019: [vidslice](https://github.com/boringcactus/vidslice), a wxPython GUI wrapping youtube-dl and ffmpeg (finished) + +* January 2019: [kink.garden](https://github.com/kinkgarden/kinkgarden), a (NSFW) Django service for maintaining lists of kinks (finished) + +* January 2019: [DynaMaze](https://github.com/boringcactus/dynamaze), a Rust-based multiplayer game compiled to WebAssembly (finished) + +* December 2018: [crabravebot](https://git.sr.ht/~boringcactus/crabravebot), a Python (originally JS) service for easily overlaying text over Crab Rave + +* August 2018: undergraduate thesis on natural language processing and textual entailment (finished) + +* February 2018: full stack web application with Spring, React, and Elasticsearch for a software engineering class (finished) + +* October 2017: [functional-dependency-generator](https://github.com/mathphreak/functional-dependency-generator), a PHP site that generates database theory example problems (finished) + +* August 2017: [rust-editorconfig](https://github.com/mrandri19/rust-editorconfig), an editorconfig library for Rust that I substantially contributed to + +* July 2017: [MFTE](https://github.com/mathphreak/mfte), a Nano clone written in Rust + +* April 2017: graphics library exposing XPM and Swing-like layout interfaces and targeting a set-one-pixel-at-a-time renderer + +* March 2017: [cull21](https://github.com/mathphreak/cull21), a Ruby web-based Gmail API client designed specifically for powering through backlogs (finished) + +* January 2017: [Yummy Goodness](https://github.com/mathphreak/yummy-goodness), a JS game built with Elm (finished) + +* September 2016: [prodenfd](https://github.com/mathphreak/prodenfd), a Ruby program that doesn't let me play games if I have pending tasks in my todo list due soon (finished) + +* August 2016: [verbatim](https://github.com/mathphreak/verbatim), an Electron application for integration testing an actual binary against an expected one (finished) + +* July 2016: [Rust pull request #34694](https://github.com/rust-lang/rust/pull/34694), adding trivial helper methods to the `IpAddr` enum + +* June 2016: [halfhearted](https://github.com/mathphreak/halfhearted), a JS game built with just React (finished) + +* January 2016: [compare-ignoring-articles](https://github.com/mathphreak/compare-ignoring-articles), a JS library for sorting in a natural way + +* January 2016: [Galactic Max](https://github.com/mathphreak/Galactic-Max), a JS game built on Phaser with a full team for a hackathon (finished) + +* December 2015: [CS Eco Dash](https://github.com/mathphreak/cs-eco-dash), a Rust web application taking [CS:GO data](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Game_State_Integration) and presenting recommendations + +* September 2015: [E-800](https://github.com/mathphreak/E-800), a Rails web app for running and grading student-submitted code + +* August 2015: Java application translating CSV exports from one program to be importable by another, with a Swing GUI + +* June 2015: [Relief Valve](https://github.com/mathphreak/ReliefValve), an Electron application for moving Steam games between libraries (finished) + +* March 2015: [statdns-socks5](https://github.com/mathphreak/statdns-socks5), a Go proxy server for DNS-over-HTTP before it was cool + +* November 2014: [komodo](https://github.com/KamikazeKumquatsLLC/komodo), a Web-based realtime quiz system powered by Meteor + +* May 2014: [AltcoinNetWorth](https://github.com/mathphreak/AltcoinNetWorth), a Web-based dashboard for an altcoin portfolio, written in Go + +* December 2013: [LD28-You-Only-Get-One](https://github.com/mathphreak/LD28-You-Only-Get-One), a Backbone-powered textual JS game + +* August 2013: [hamwerk](https://github.com/mathphreak/hamwerk), a Web-based todo list specialized for homework powered by Meteor (finished) + +* July 2013: [MCWebDash](https://github.com/mathphreak/MCWebDash), a Web-based dashboard showing the status of a Minecraft server + +* June 2013: [SpawnAndBack](https://github.com/mathphreak/SpawnAndBack), a simple Minecraft mod + +* March 2013: [BecauseWhyNot](https://github.com/mathphreak/BecauseWhyNot), a CPU emulator written in CoffeeScript for the DCPU-16 fictional CPU from Notch's cancelled 0x10c. + +* March 2013: [CompetentDeathMessages](https://github.com/mathphreak/StaffDrops), a Minecraft server plugin + +* January 2013: [Republica Eternity Event III](https://github.com/mathphreak/RepublicaEternityEventIII), a Minecraft server plugin some friends needed help with + +* November 2012: [StaffDrops](https://github.com/mathphreak/StaffDrops), a Minecraft server plugin a friend needed help with + +* July 2012: [Multiverse Core pull request #780](https://github.com/Multiverse/Multiverse-Core/pull/780), adding a feature to a Minecraft server plugin + +* October 2011: [github.js](https://github.com/mathphreak/github.js), a library for making client-side calls to the GitHub API + +* May 2011: [Zrczr](https://github.com/mathphreak/Zrczr), a canvas-based JS game + +* May 2011: [Pecan.js](https://github.com/mathphreak/Pecan.js), a library for persisting scroll position + +* March 2011: [VCRI](https://github.com/mathphreak/VCRI), a Chrome extension tweaking an existing JS game (finished) + +* January 2011: [Arduinochet](https://github.com/mathphreak/Arduinochet), a needlessly-motorized trebuchet I built with a friend + +* February 2010: [Acts 20:2](http://sourceforge.net/projects/acts202/), a Java Swing application displaying periodic popups of Bible verses, which I built in collaboration with a few other people + +* January 2009: [EPlanner](https://sourceforge.net/projects/eplanner/), a todo list specialized for homework built in Java with Swing + +(these are start dates, because that's what made sense to me at the time) |