Things I've Made

Since it doesn't all fit in one page, and there are some kind of embarassing things in here. Listed in order of vague recency. I only list things I consider either shipped, or particularly relevant. There is an entire graveyard of started but unfinished projects on my GitHub.
Hide Deprecated Things. Show Deprecated Things.


Technically I didn't make these things but I did help! Starting with this first because there's too much old crap down there that will push this beneath the fold.

TWiLightMenu (2018–Present)

C++ C DS-Homebrew/TWiLightMenu
DSi Home Menu replacement for the Nintendo DSi and Nintendo 3DS series of consoles. I added the original implementation of Japanese font rendering, streaming audio support for certain themes, and ported the Acekard/Wood R4 menu as a theme. Also added advanced theming support for the DSi Home Menu theme.

mp4parse-rust (2019)

Rust mozilla/mp4parse-rust
MP4 Atom parser in Rust. Added support for parsing iTunes metadata atoms. Ships in Firefox, so technically speaking, I can say I shipped code in Firefox, even though that codepath is never used in Firefox.

BukkitIRCd (2013)

Java Deprecated WMCAlliance/BukkitIRCd
A Bukkit/Minecraft chat bridge for InspIRCd and other IRC daemons. A lot of bugfixes involving InspIRCd. Also, hello Jdbye!


Libraries and resuable parts.

bunkai (2021)

C# SnowflakePowered/bunkai
A C# port of shiratsu-naming, a ROM file name parser. Built from the ground up Pidgin parser combinators. Used in Snowflake to parse the title from a ROM filename during scraping. A little less flexible and less powerful than shiratsu-naming because of its differing design goals: there's no need to keep any trivia when scraping ROM names.

chd-rs (2021)

Rust SnowflakePowered/chd-rs
Work in progress Rust reimplementation of libchdr intended as a drop-in compatible, readable implementation of the CHD file format.

shiratsu-naming (2021)

Rust SnowflakePowered/shiratsu
Standalone ROM file name parser built with nom parser combinators. Provides a zero-copy, tokenizing API that keeps track of trivia for various naming standards.

tsuku (2021)

C# SnowflakePowered/tsuku
Cross-platform file-tagging and metadata library using xattr and NTFS alternate data streams. Allows attaching small pieces of metadata to files directly on a supported filesystem.

libslim (2020)

C DS-Homebrew/libslim
Lightweight FAT library for the Nintendo DS based off ChaN FatFS and libELM by Yellow Wood Goblin. Drop-in compatible with libfat for most use cases while being faster and using fewer resources.
Game and ROM database, compiled using shiratsu and atsumare, updated approximately once a month with the latest DAT files.

listinfo-rs (2020)

Rust SnowflakePowered/listinfo-rs
Parser and deserializer for MAME ListInfo style DAT files.

chained_iter (2020)

Rust chyyran/chained_iter
Small Rust macro to create non-owning iterators out of values without allocation or unsafe. Wasn't really super efficient and now obsolete now that array::IntoIter is stabilized.

vcdiff (2020)

C# SnowflakePowered/vcdiff
Very heavily optimized vcdiff/xdelta3 library for .NET. Using SIMD vector intrinsics, the .NET Span APIs, and a little bit of unsafe, it can get very close to C++-level performance with purely managed code. Forked from Metric/VCDiff.
Extensible framework for building emulator frontends. Probably the most overengineered emulator frontend ever built. We have compile-time source generation, custom built AST-based serializers that can target any binary or markup configuration format, a full GraphQL API to interact with all these features, a async task-based declarative installation framework for various console game formats, a bespoke plugin framework that also involves mini package manager and build tooling, and more. There's also a bunch of themes and UI work that I haven't listed here because it's nowhere in a complete or workable state yet.
Standard references to game consoles, and their controllers. Defines unique content types for various game ROM formats.

OriginExhaust (2014)

C# Deprecated chyyran/OriginExhaust
Small library to help build Steam launchers for Origin games, back in the day. Who would've thought that 6 years later EA would come back to Steam?


Didn't exist, so I wrote it myself. I still use a lot of these today.

atsumare (2020)

Rust SnowflakePowered/atsumare
Downloader from DAT files from No-Intro, Redump, and TOSEC.

shiratsu (2020)

Rust SnowflakePowered/shiratsu
Aggregates DAT files from No-Intro, Redump, and TOSEC to create a huge games database.

noter (2019)

Rust chyyran/noter
A small utility I use to help me take notes. Really just a glorified touch command.

seiri (2018–2019)

Rust TypeScript C++ C# chyyran/seiri
🎶 Opinionated, barebones music manager. Sorts music automatically following a few rules like iTunes' 'Automatically Add to iTunes' feature, as well as a being queryable with a simple but effective query language that transpiles to SQL. UI written with React and Electron. Originally had parts written in C#, compiled to native code with CoreRT. Rest In Power, CoreRT.

Katatsuki (2017)

C# Deprecated chyyran/Katatsuki
Old, poorly hacked together music manager. What I used to manage music before I rewrote it in Rust as seiri.

Snowflake (2014)

Python Deprecated SnowflakePowered/snowflake-py
The original version of Snowflake, before the MEGA SCOPE CREEP. Made me realise that Python is a bad language for large projects.

Battlelogium (2013-2015)

C# JavaScript Deprecated Battlelogium/Battlelogium
Steam launcher for Battlefield 3, Battlefield 4, and Battlefield Hardline.

FreeIsaac (2013)

C# Deprecated chyyran/BindingOfIsaac-Launcher
Launcher for the classic Adobe Flash-based Binding of Isaac that let you choose between the original game, and the Wrath of the Lamb expansion.

HawkenExhaust (2013)

C# Deprecated chyyran/HawkenExhaust
Steam launcher for Hawken. Remember Hawken? Fun mech game.

DesuraTools (2013)

Python Deprecated chyyran/DesuraTools-py
Small utility that added Desura games to Steam as Non-Steam Games. Remember Desura? Fun indie games store.

GOGWrappers for Steam (2013)

C# Deprecated chyyran/GOGWrappers-for-Steam
Small utility that added GOG games to Steam as Non-Steam Games. I don't think this works anymore.

imagerie (2013)

PHP JavaScript Deprecated chyyran/imagerie
Database-free image uploading package that intended as an alternative to Gyazo.

FlashcartHelper (2011-2012)

Batchfile VB.NET Deprecated chyyran/flashcart-helper
Wizard to help set up DS flashcarts (for homebrew only, of course 😉). Kids have it easy nowadays with their Python tutorials. Back in my day, we learned how to program using Notepad and Batch scripts. I continued to have no concept of Object Oriented Programming until I learned Java, and also VB.NET is a terrible language.


Writeups I've done of some projects that I find interesting and gained some traction.
…or that one time CMake drove me to create an eldritch monstrosity. This blog post detailed how I used CoreRT to compile C# into native code, bootstrap the runtime in Rust, and then call into C# using C FFI bindings, because I didn't want to deal with CMake and TagLib2. I eventually got CMake working (after coming back to it a year later), but you have to wonder how I got this mess working before CMake.
…or that one time where my Computer Science degree finally came in handy because I had to solve a recurrence. This is a writeup of how I optimized vcdiff to be 50x faster (8 seconds to 150ms when diffing a 2MB file) using Span<T> and Memory<T>, .NET Core SIMD Intrisics, and handfuls of unsafe pointer arithmetic in C#.


These are mostly Minecraft plugins, and things that had to do with Minecraft plugins.
Bukkit plugin that let you eat pumpkin seeds and cocoa beans. The project page on is still up, but not the service I used for CI. And (free!) CI back in 2012 was absolutely terrible.

ReportRTS-WebUI (2012)

PHP Deprecated chyyran/ReportRTS-WebUI
Really barebones Web dashboard for ReportRTS, a Bukkit plugin for report tickets.

MystiaUtils (2012)

Java Deprecated chyyran/MystiaUtils
Ducttape and glue for the Mystia (RIP) Minecraft server.

LegacyZombies (2012)

Java Deprecated chyyran/LegacyZombies
Makes Minecraft Zombies drop feathers like in Alpha. I rescued the source code for this plugin from the JAR at Seems like this was before I could even use git.