- π Iβm currently working on some things, maybe a game too, and also Sprinto.
- Previous github username: quole.
Information design is the theme connecting many of my projects. That is, many of my works are about creating a way of presenting information so it might be efficiently and effectively understood. Whether the canvas is a one page app, a Discord bot, a Wikipedia template, a photograph, a game design document, or the layout of code itself, information design is a core principle. Some day I might use principles of information design to explain this better.
I'm a developer with a wide range of experience in C#, JavaScript, and Python. I have a varied portfolio of projects, including Discord bots, amateur radio related projects, and libraries for parsing and formatting data. I've also made contributions to several open source projects including LiveSplit and the dotnet runtime, and have discovered one CVE.
Projects:
- Sprinto β Discord bot for writers/authors/nanowrimo, to run writing sprints, to help you focus on your work. [currently closed source] (C#); now found on ~50,000 Discord servers
- wasm-ops β Chart of WebAssembly Instructions (web page, JavaScript)
- TimeSpanParser β C# parser library for human-written time spans such as "5 mins"
- Streamling Overlay app [itch.io] Find what music is playing on Spotify, VLC, Winamp, etc and display it (e.g. in OBS) via a built-in webserver (C# and JavaScript; closed source)
- beastie bot β Tool for generating lists of threatened species formatted for Wikipedia, and other related tools (C#)
- CommentedList β C# library to randomly pick a line from a text; allows comments, annotations, and probability adjustments
- ScreenSleeper β MQTT listener for Windows to turn off the screen (C#)
- send em tiny Windows utility to send Unicode characters, configured by renaming an .exe file (C#)
- "Worst Wordle" β Script to find the most ambiguous ("worst") four-letter combos in Wordle, namely "__IGHT" (C#)
- HomeConfig β Library to quickly find and read a config file (C#)
- thrallname β Generate a fantasy name (JavaScript rewrite of a spreadsheet)
- hparrot β simulate a toy parrot's audio filter (C#)
- qubero β Hex Editor with support for inserting or deleting bits (Java)
- snakey β Snakey DOS game written in C (playable in browser)
- youtube-speed-tweak β A Firefox extension to increase youtube playback speed beyond 2x
- a2max β Integer Basic boot loader with maximum compatibility for the Apple II series and emulators
- Other/private/undocumented projects: PebblyPop, LorenzLorentz, UnicodeWatch, LiteraryWatch, mpegdemo/h264demo, ...
Amateur radio projects:
- FT8 Player β Online visualizer and player for FT8, which is a mode for sending short messages popular with amateur radio enthusiasts. (JavaScript/WASM)
- upSidetone β Low latency morse code keyer app for Windows (C#)
- Random Wire Calculator β Online long-wire length calculator and plot for amateur radio enthusiasts. (JavaScript)
- VaraHuffmanNet β Rewrite and document the compressed VARA protocol format associated with Winlink in amateur radio (C# rewrite of VB6 code)
Projects with code contributions:
- dotnet runtime β discovered bug and contributed fix for TimeSpan.Parse(string) in dotnet system library (pull request)
- ia: official command-line interface tool for the Internet Archive (archive.org) β discovered path traversal vulnerability (CVE-2025-58438)[https://github.com/advisories/GHSA-wx3r-v6h7-frjp]; contributed code for patch
- word2vec-api (Python) Simple web service providing a word embedding model (contributions: updated from python 2 β 3; added a new setting)
- LiveSplit β minor contributions to simplify time formatting. PR (C#)
- TimTheWordWarBot β Contributed minor fix (Java)
- standingwave3 β AS3 (ActionScript3) audio library; contribution: bug fixes
- Gensim β Python library for natural language processing (NLP); contribution: better word2vec file support PR