Fuzziqer Software

In ages long past, I worked at Facebook, then I was at Quora, and then I was at Airtable.

I write code for fun sometimes. Here's some stuff I made.



Games
Designed for maximum wasteage of time

Slide: Roll the balls down the slope. The further down your ball goes, the more points you get! Try to get your ball stuck to block the other player's rolls!
Move Blocks and Eat Stuff (source): a puzzle game based on the ideas and mechanics of Supaplex. This project marks the first time I wrote a game and actually enjoyed playing it. It does not mark the first time I wrote a game without the code becoming a horrendous unreadable mess.
Treads: an arcade-style game. Push the blocks to squish the enemies! But watch out - the blocks bounce and can squish you too! Grab the powerups for a little help. And when something about a level looks different, something about the level behaves differently... strange things await!


Reverse-engineering projects
What were they thinking?

memwatch (source): a Mac OS process memory editor and search tool. memwatch is a powerful tool for cheating in video games, and works with any game that runs on a Mac. If you're like me and have to find absolutely everything in every game you play, memwatch can help with that.
gctools (source and releases): a set of programs for unpacking and disassembling various console video game file formats. Includes a synthesizer for JAudio BMS sequences, which works with music from Super Mario Sunshine, Pikmin, Luigi's Mansion, Mario Kart: Double Dash, and several other games. This synthesizer also works with SoundMusicSys sequences from classic Mac OS games, which can be extracted with resource_dasm.
resource_dasm (source and releases): a set of programs for unpacking classic Mac OS resources and disassembling applications. resource_dasm parses resource forks of any classic Mac OS application, and can even decompress resources that use their own custom compression schemes. The project also includes some tools for formats used in specific games, such as Realmz, Infotron, Dark Castle, SimCity 2000, Prince of Persia 2, and several others.
GameCube Action Replay Simulator and Control Simulator (GCARS-CS) (source) (download): implements Datel's Action Replay in a manner that's compatible with more games, and supports more code types. It also enables online play of some offline multiplayer games by synchronizing key variables across client consoles. This was really cool when the GameCube was a current-generation console. Here are some scripts that enable online play for a few games (USA versions): Capcom vs. SNK 2, F-Zero GX, Ikaruga, Sonic Adventure 2: Battle, Soul Calibur II, Super Monkey Ball 2, Super Smash Bros Melee v1.0.
Khyller: a free, private server for Sega's Phantasy Star Online. Supports PSO Episodes 1&2 for GameCube, PSO Blue Burst, and PSOv2 for PC, and supports lobbies (but not games) on PSO Episode 3. Don't use this server.
Aeon (old newserv) (windows download) (source): the successor to Khyller. This server uses a more robust architecture and is more stable. It's multithreaded, but has a broken locking implementation and is therefore unstable... but in my defense, I was 15 years old when I wrote this and had never taken any computer science classes at all. Don't use this server either.
newserv (source and releases): the successor to Aeon. This server is actually good. It's stable and doesn't have concurrency bugs like the previous projects. It supports all the PSO versions that the older servers supported, supports the Dreamcast versions as well, and has improved BB support. newserv also has a proxy integrated into the server so you don't need to do any reconfiguration if you want to switch servers. On non-BB versions, you can even switch servers without ending your session.


Network systems projects
Just some fancy ways of moving bytes around

cyclone (source): a timeseries database engine. A single cyclone instance does the jobs of all of the services that run on Graphite backend machines (carbon-cache, carbon-relay, and the webapp), and provides significantly better performance. Quora uses cyclone to power its primary timeseries database.
fastweb (source): a multithreaded libevent-based webserver designed for maximum speed. The page you're reading right now was served by fastweb. (Did you notice? Was it fast?)
redis-shatter (source): a sharding proxy for the Redis protocol. Unlike other similar projects like nutcracker, redis-shatter strives to implement as many commands as possible, to make a sharded Redis instance look as much like a standalone instance as possible. For example, it supports the SCAN command, making various maintenance tasks easier, it supports SCRIPT LOAD, which allows better optimization of script execution in a sharded environment, and more. It's also configurably multithreaded, because I like being able to use all the CPU cores.
sharedstructures (source): a library for storing data in shared-memory data structures. Quora uses this to store small amounts of data that require extremely fast access times without keeping a copy of the data in memory in each individual process on a machine. (Because of this, Quora can run many more Python processes on a single machine, since they all share a single copy of this data in memory.) The Python interface is very clean - you can generally treat a sharedstructures object like a normal dictionary.


Language and compiler projects
Written by a non-professional

nemesys (source): an experimental Python JIT (just-in-time) compiler. Compiles unmodified, unannotated Python to AMD64 assembly and runs it. Doesn't support enough of the language to be practically useful (yet).
equinox (source): an interpreter and JIT compiler for esoteric programming languages. Currently supports Brainfuck, Befunge, and Malbolge. Why? Because some of these languages are pretty difficult to compile - self-modifying code is encouraged or even required.


Unclassified projects
No rhyme, no reason

zroot (source): a Julia set fractal generator. It can render still images or videos by producing a sequence of images (which can be piped to ffmpeg). Here's an example.
gb (source): a Nintendo Game Boy emulator. It plays Super Mario Land (without any audio), and not much else.

This page last updated on 23 May 2022