About Me
I like building systems that talk to hardware, writing low-level code, and figuring out how stuff works behind the scenes.
How it started Link to heading
I got into programming in 8th grade with C, and later picked up C++ in high school. My first program was a calculator using switch statements. For my 12th grade CBSE board project, I made a text-based hotel management system in C++ with file handling. Got full marks for it. Around that time, I also built a basic chat app using Android Studio and Firebase just to try something new.
I’ve always been curious about how things work, from the video games I played as a kid to how data moves around in a computer. That curiosity pulled me into systems programming, embedded systems, and Linux. Eventually, that led me to ask deeper questions: “What’s the first thing that happens when I power on my system?” and “Where do all these bytes come from?” I wanted to trace every byte from hardware power-on through bootloaders, firmware, and into the kernel.
Where I’m at Link to heading
I’m currently doing my PhD in Computer Engineering at Virginia Tech, taking Advanced Linux Kernel Programming and working on research involving LLVM and program reachability analysis. I’ve made changes to Syzkaller to fuzz eBPF kfuncs, contributed patches to the kernel (including AMDGPU), and reverse engineer undocumented USB devices.
My path into low-level systems came through embedded work with microcontrollers, writing UEFI applications, and studying bootloaders. I wanted complete transparency into how systems boot and initialize hardware, which naturally led me to kernel-level driver development.
Outside of school, I’m deep in GPU driver development, specifically working with AMD’s amdgpu kernel driver. I’ve been exploring AMD’s display driver subsystem and looking at potential contributions through their TODO list.
I also like designing open-source hardware, building stuff with Verilog, and setting up ridiculous things in my homelab. I’m documenting my technical rabbit holes here - deep dives into topics like GPU driver internals, boot processes, and hardware reverse engineering.
What I want to do Link to heading
- Join AMD’s kernel team and contribute meaningfully to GPU driver development
- Get more patches into the Linux kernel and eventually maintain a subsystem
- Explore x86_64 architecture deeply using QEMU + OVMF for complete boot process transparency
- Build and release open-source hardware platforms that are actually usable
- Speak at Linux and open hardware conferences
- Set up a powerful homelab and fully automated AI-controlled house (something like J.A.R.V.I.S.)
- Own a cockatiel and an overly attached cat
This site is mostly here to document stuff I work on. If you’re into kernels, embedded systems, GPU drivers, or hardware-software weirdness, feel free to stick around!