I'm interested in designing performant and delightful software. I love open-source and have contributed a bunch. Feel free to contact me if you'd like to chat about something I've worked on or might find interesting. I can be found IRL most easily at Hack Nights at Purdue University.
I will be interning at Modular in the summer and Neuralink in the fall, both in the Bay Area. I previously worked on icu4x, an open-source i18n library by the Unicode consortium, and Librarian, a bioinformatics quality control tool. I've contributed feature patches to Rust Analyzer, Rust Clippy, Wine, OpenSearch and Zola.
I'm broadly interested in programming languages, systems programming and distributed systems. My current work is in creating optimizations for Mergeable Replicated Datatypes.
- I will be attending YCombinator's AI Startup School in San Francisco, California!
- I will be attending PLMW at PLDI 2025 in Seoul, South Korea!
- I will be interning at Modular.
I will not be at ETH Zurich for those wondering.
- Created Bad Apple in a C Quine for the Catapult hackathon at Purdue and won first place in the Most Creative category. "When executed, produces a Bad Apple frame along with its own source code. On executing the output, prints the next Bad Apple frame in comments along with its source code. And so on, for 100 frames."
- I taught an hour-long spontaneous session on theorem proving in Coq at Purdue Hackers.
- I wrote a guide to Optimize Purdue CS. It is ~6000 words. At least two academic advisors plan to share it with their students in upcoming years!
- I taught the Interpreters workshop for Purdue Hackers.
- (Relevant) classes:
-
Graduate Programming Languages. Assignments include proving the correctness of a compiler against a reference interpreter and proving type soundness of the simply-typed lambda calculus in Coq / Rocq. The first half of the course is based on books from the Software Foundations series, while the second half covers Dafny, plus a brief introduction to separation logic.
-
Graduate Theoretical Computer Science Toolkit. Topics include convex analysis and optimization, spectral methods, concentration inequalities, and discrete Fourier analysis. I'm currently working on an artifact to showcase some of the cool content from this course. Stay tuned!
-
Graduate Hardware Security. Projects include:
- Hacking the ZBT WE526 (WE1626) router.
- Writing a Trusted Execution Environment for the FemtoRV Risc-V CPU in Verilog.
- Using the Chipwhisperer Nano to crack AES-128 through power analysis.
-
Graduate Software Engineering for Robots. Assignments include working with ROS2 and MoveIt. I presented the HAMSTER 🐹: Hierarchical Action Models for Open-World Robot Manipulation paper. Slides here.
-
Compilers with Tiark Rompf (of Scala fame). Assignments include lots of compilers written in Scala for a Scala-like language to x86.
-
- I created keymashed, an interactive exhibit at Purdue Hacker's BURST. It contains interesting things, like:
- a JPEG-like lossy codec written from scratch.
- a realtime video streaming protocol and associated netcode.
- filed a bug report for the Linux kernel's memory management subsystem.
- employed as a Research Assistant working with Prof. Suresh Jagannathan working on optimizing MRDTs.
- employed as a Teaching Assistant for Data Structures.
- employed as a developer teaching assistant for Programming in C. I created test modules for course assignments.
- (Relevant) classes:
- Programming Languages. Assignments included:
- writing lots of interpreters in OCaml (I enjoyed all of them).
- writing an interpreter for a functional language with type inference and checking.
- verifying simple programs in Dafny.
- Systems Programming. Assigments included:
- a malloc implementation. I made mine robust enough to run Chrome.
- writing a shell with pipes, quoting, subshells, stream redirection (in C).
- HTTP/1.1 web server with authorization, cgi-bin modules and dynamic module loading (in C).
- (team project) a graphical system monitor (à la
top
). (in C++ and ImGui).
- Analysis of Algorithms. Assignments included:
- proving the correctness of dynamic programming and greedy algorithms.
- creating information compression schemes and comparing against entropy.
- proving the NP-completeness of given problems via reduction to a known NP-complete problems.
- Independent Study in Embedded Systems with Prof. Douglas Comer, of TCP/IP fame.
- designed audio streaming system with Raspberry Pis for concurrent audio playback.
- wrote an RTP-like protocol for streaming audio over UDP.
- Programming Languages. Assignments included:
- Went to the Midwest Programming Languages Summit at UChicago and met many interesting people!
- Attended every PurPL (Purdue Programming Languages) weekly seminar.
- Google Summer of Code contributor for icu4x. Mentored by Younies Mehmoud from Google; almost all my coworkers ended up being Google employees. Final report here.
- Summer Undergraduate Research Fellow at Purdue University studying Mergeable Replicated Datatypes using Irmin and OCaml.
- I wrote a clean inter-process communication program using POSIX shared memory.
- I participated in the Open Source Contributor Initiative by OpenSearch and worked on the Performance Analyzer component in OpenSearch using Java.
- (Relevant) classes:
- Competitive Programming 2: topics included segment trees, hashing, tries, graph algorithms, and combinatorics.
- Computer Architecture: topics included assembly code, digital logic, processor architecture and so much caching.
- I wrote a just-in-time compiler in Rust for ARMv8 assembly as part of an honors project. It jitted on function call granularity and cached the generated assembly for future invocations.
- Data Structures: topics included Big-O notation, heaps, binary trees, linked lists, tries, sorts, hashing, graphs, etc.
- Linear Algebra
- Attended every PurPL (Purdue Programming Languages) weekly seminar.
- (Relevant) classes:
- Programming in C
- Foundations of Computer Science / Discrete Math
- Honors Multivariable Calculus
- Independent study in the C++11 memory model with Prof. Suresh Jagannathan. I explored tactics for designing performant and correct lock-free algorithms. Report available on request (until I get around to publishing it).
- Attended nearly every PurPL (Purdue Programming Languages) weekly seminar.
- I was accepted to the University of Waterloo, and was later slightly disappointed to know that it was a very good school that I passed on.
- I started working on Librarian with the Babraham Bioinformatics Institute in 2020. My work on Librarian was published here first in 2022, and then the revision in 2024.
- I briefly worked with Trestle Labs on computer vision using OpenCV in winter 2023.
- I was a competitive programmer and qualified for the Indian National Olympiad of Informatics (INOI) in 2020, 2021 and 2022. I studied Antti Laaksonen's Competitive Programmer's Handbook, from which I was inspired to write my first blog post on segment trees.
My blog - it's not completely up to date.