I'm an aspiring software developer that primarily prefers lower-level projects, with my preferred programming languages being C and Rust, but I also have extensive experience in many other programming languages and computer technologies (find my résumé for additional information). Other than programming, I enjoy writing stories stories (kind-of out of date and features not-great stories), and I also "maintain" a blog that tries to document technical (and sometimes non-technical) things that I find interesting (note the bubble tea post is egregiously incorrect). I also enjoy reading books and sometimes aimlessly thinking about the world. My favourite book series is the Stormlight Archive. You should read it too.
Here's a list of recent (semi-noteworthy) programming projects that
I've worked on (everything else is available on GitHub/GitLab):
vGPU Streaming (finished):
My remote desktop software captures the buffer of an NVIDIA
vGPU running in a KVM virtual machine and uses video streaming (using the FFmpeg C API) to provide a remote
desktop. In addition to streaming video, it has a custom TCP protocol using Protocol Buffers
to transfer connection information and mouse/keyboard events between the client and server. The client
is written in C++ (for decoding the video stream) and Rust (the UI and everything else). The server is
written in C (for capturing the VMs and streaming) and Rust (the TCP control server).
MQA Player (finished):
I used a shared library for a DAC that was an armv7 machine running embedded Linux and existing code that
called aforementioned library, but expanded on it to make an IPC system to decode MQA on-the-fly from an x86 executable, which involved implementing
my own mutexes and semaphores and learning how to use shared memory.
emotes-rs:
When you chat on Discord and paste the link to an image, Discord will
remove the link and you'll only see the image. I thought it would be
cool if you come
up with memorable URLs that return images that are the size of emojis,
allowing you send custom "emojis" in Discord. The Rust backend I wrote
exposes a GraphQL API
(using the wonderful async-graphql library) to manage users and
uploading emotes, that uses SQLx to communicate to a PostgreSQL
database. It also utilizes libvips to resize images quickly (resizing
GIF emotes can be quite expensive and this library is exceedingly
performant).
I also wrote a version of this application in Python which was
somewhat more featured, but it became impossible to maintain since I
used too many niche libraries that were poorly documented. A frontend
for emotes-rs is also available here.
(This site intentionally written with 10 lines of CSS)