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 read my /blog where I write about my professional/research interests.
My personal website and personal ramblings are at
https://moontowercomputer.club/~aneesh and
https://moontowercomputer.club/~aneesh/blog respectively!
recent blog posts
As part of my research I’ve been playing around with something similar to
dynamic linking. In particular, part of my work has led me to having programs
that may need multiple copies of libc in the same address space (yes, it’s not
safe, I know). I noticed that this would sometimes cause multithreaded programs
to hang while calling pthread_join. Join (pun intended) me to understand a bit
about how threads work and what was happening under the hood.
In the spirit of a new year, I’ve decided to finish up some old in-progress blog
posts. Here’s some work I did early last year to set up a multi-user home server
that provides some basic webhosting for Moontower Computer
Club.
It’s been a decade since I started really thinking of myself as a programmer.
Here’s some thoughts and reflections about my journey.
see all my posts here
projects
- 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
- 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
- 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?
- 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)