> Ramesh

GitHub, GitLab, Blog, GPG,

Email: me at ramesh dot tv

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)