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.

projects

  • MonkeyWrench
    • MonkeyWrench
      • The picture above shows a user supplied prompt aiming to modify the current page and the resulting code generated by an AI assistant

    • 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
      • The picture above shows rainbow detecting semantic errors in a C++ program

    • 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)

recent blog posts

My git tips/tricks

Over the years I’ve developed my own patterns in using git, which I thought I’d document here.

2024 Q1 Retrospective

As Q1 of 2024 draws to a close, it’s a good time to look back and reflect. Have I held up the resolutions I picked at the end of last year? Whats kind of progress have I made? What are areas I’d like to improve in?

see all my posts here