Here are some cool things I've made over the past few years.
Web app for predicting weather in Animal Crossing: New Horizons by deriving the seed from weather observations.
A highly experimental programming language with an expressive type system, aiming to make complex GUI apps less painful to write. Developed as part of my dissertation for my CS degree.
(Open-sourcing mid-2020 after grading)
Framework for compiling and injecting new assembly, C and C++ code into GameCube and Wii games.
Reggie! Level Editor (2009)
Newer Super Mario Bros. Wii (2009-2013)
Ruby library with a simple DSL for creating interactive bots for Furcadia.
2048 for GBA (2014)
A homebrew recreation of 2048 for the Game Boy Advance.
Old-school-style lightweight forum software, loosely inspired by AcmlmBoard. Written using Python, Flask and SQLAlchemy.
My own take on an online version of Cards Against Humanity. Written using Node.js and jQuery.
Graphical viewer and editor for UI layout files generated by NintendoWare on the Wii (.brlyt/.brlan). Written using C++ and Qt.
C# library and tools for working with 3D models and animations generated by NintendoWare on the Wii (.brres).
Third-party map editor for Furcadia. Cross-platform, written with C++/Qt 5.
IRC bouncer using a custom mobile-friendly protocol for clients, with an Android client.
Viewer for level files extracted from Super Mario Maker on Wii U.
Tool for accessing the Miitomo API, spoofing the game client's authentication process and modifying the player's inventory.
Social Media Bots
Telegram Bot @DittySongBot
Inline bot that takes text you input and passes it through the back-end API used by the Ditty app to turn it into a song. The result is transcoded using ffmpeg and sent to Telegram as a voice message. (Now defunct as Ditty has shut down)
Telegram Bot @PatterBot
Inline bot that takes text you input and sends it through the CereVoice Scottish text-to-speech voices. The result is sent to Telegram as a voice message.
Try it: type
Try it: type
@PatterBot something into a conversation, but don't press Send, wait for the menu to come up, then select a voice.
Telegram Bot @NutButtonBot
Inline bot that takes text you input and superimposes it onto the "NUT" button meme. The result is sent to Telegram.
Twitter Bot @EveryNutButton
Posts a NUT button with a random word on it, every two hours.
Twitter Bot @CAPSLOCKBOT
Tweet text at this bot and it will reply with an AESTHETIC image containing that text.
Twitter Bot @ClipArtBot
Tweet an image at this bot and it will add random clipart to it and send it back to you.
Twitter Bot @BestOpinionPoll
Posts four random Twitter polls every day with items and topics selected from Wikipedia categories.
Twitter Bot @jean_things
Posts a random jeans-based portmanteau (jortmanteau) every three hours.
Twitter Bot @1f44f_bot
Tweets random things to get REALLY 👏 ANGRY 👏 ABOUT. Sometimes random sentences from Wikipedia, sometimes just random combinations of words.