Welcome to my website! My topics of interest are distributed systems, storage/databases, compilers, and programming languages. I also dabble in generative art from time to time. You can find my blog here.

recent blog posts

Optimizing IO and Simplifying Compute Shader Development

In this post, I continue implementing a parser on the GPU and take steps to hide the latency of transferring data to the GPU. Additionally, I explore Rust’s code generation mechanisms to simplify running compute shaders.

Parsing files on the GPU

GPUs are good at massively parallel operations. Parsing is often parallelizable, can parsers be written on the GPU?

Oxidizing argparsh

argparsh has too much overhead for some usecases - in this post, I will examine why and use Rust to build a better solution.

see all my posts here

projects

MonkeyWrench

  • MonkeyWrench
    • Generative AI powered tool to help use browser devtools
    • Lowers the barrier of entry to using the JS console to automate tasks or debug scripts
    • Watch a demo of the prototype here

rainbow

  • rainbow
    • Static analysis tool for C/C++ to reject invalid callgraphs, powered by clang and Cypher
    • Some example usecases are:
      • Prevent functions that assume locks are held from being called without a lock
      • Prevent functions using collective MPI operations from being called during another collective operation
      • Prevent secure functions from being called from insecure contexts

  • sPyCy
    • A python implementation of graph database with an openCypher frontend for testing openCypher tools, or for embedding openCypher in other projects.
    • Try the in-browser demo at the link above! Or try a demo of sPyCy being used to implement a webscraper here!

video-synth

  • video-synth
    • A synthesizer for visual effects! Chain together various filters and transformations and build temporal functions to animate them. The UI is definitely a work in progress and is hard to use.
    • Supported browsers:
      • Firefox (Desktop and mobile)
      • Chrome (Desktop and mobile)

what is a filesystem

  • what is a filesystem?
    • An interactive book based of the corresponding content from the cs241 coursebook
    • Features a visualization of disk blocks in a ext2/minix-like filesystem and has a command line simulator with support for commands like ls, cat, hexdump and many more!
    • Supported browsers:
      • Firefox (Desktop and Mobile)
      • Chrome (Desktop and Mobile)

  • camera theremin | Blog post
    • An online theremin that turns your webcam into a musical instrument!
    • Supported browsers:
      • Firefox (Desktop and Mobile)
      • Chrome (Desktop and Mobile)