rawrscope is my stab at making a tool for creating oscilloscope views of audio, not unlike SidWizPlus or corrscope. However, unlike those two programs, I'm putting my main focus on performance and user-experience. It's written in Rust and uses wgpu for GPU acceleration. My specialized line rendering algorithm has already proven to outperform any conventional 2D graphics libraries, but I have yet to fully implement enough to truly test my performance against the existing oscilloscope projects.



The interface for browsing packages on my AUR repository, written in Elm. Nothing really special, but it was fun to play around with Elm.



The backend for this website! Written in Rust using the warp web framework. Again, nothing too fancy, but it works really well for me. The code is a bit messy, but it gets the job done.



A funny adventure into interfacing with the Discord API through async Rust. This was written before async/await was anywhere near being implemented yet, so everything is done using futures combinators. At its deepest echelon of filth, it reaches 18 levels of indentation, so I am surprised that it is able to hold up at all. Either way, now that async/await is a thing, I want to try playing with this idea of making a new Discord interface for Rust, but it's a low priority for me.


Hall of Shame


A massively overengineered attempt at writing a Discord bot, written in a time where I only kinda knew what I was doing. I thought it would be a good idea to make each component its own executable that communicates over a WebSocket connection using Protobuf messages, but that really did not end well. The broker between all the components was a nasty server written in Go; every line of it is straight cursed.



demokit was my first attempt at writing a framework for creating demoscene productions. It actually went pretty far, but once I tried using it, I realized that I was even less productive using it compared to if I were to just directly write some graphics code. What I thought would be a system of reusable components proved to not be reusable at all.



My second attempt at making a demo framework. This one was much more short-lived and suffered a fate similar to Chroma: massively overengineered. I wanted to make a language-agnostic plugin system, but it all became too messy and I couldn't figure out how to make it all work.



This was supposed to be my attempt at a highly polished Roblox game; a instagib deathmatch game inspired by Tesseract. However, I didn't get past writing a simple main menu because I quickly realized how much I HATE working with the Roblox API.