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

Cycling my first century (100 mi)

For a long time, I’ve wanted to cycle 100mi in a single ride, and this past weekend, I finally did. Here’s a small write-up on my experience.

2024 Q3 Retrospective

We’re 3 quarters of the way through the year! What’s the vibe heading into the final sprint?

Debugging STDIN issues with MPI_Comm_Spawn on MPICH

At work we encountered a strange issue where reading from STDIN on a process that calls MPI_Comm_Spawn causes the program to crash. The solution was non-obvious, so I thought I’d share my fix here for other MPICH users.

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)