I’m a recent graduate of Columbia University, where I studied computer science with interests in software systems, applied AI and education. My research interests are mostly in OS-level systems work, which parallel my teaching interests of how to best communicate those ideas to students.
At Columbia, I worked with Asaf Cidon on applying Linux eBPF to OS abstractions that don’t align with hardware trends.
Find me on LinkedIn and Github, or email me.
selected projects
-
eBPF for disaggregated storage: utilizes Linux eBPF to enable custom storage functions on remote servers, reducing CPU and network overhead in NVMe-oF disaggregated storage. Achieves up to 3x speedup in state-of-the-art systems like RocksDB.
-
eBPF for deep neural network training: targets reducing CPU-to-GPU data transfer time in DNN training by implementing disk reads and pre-processing in eBPF. Utilizes NVIDIA’s open-source kernel modules and integrates with NVIDIA DALI and PyTorch.
-
Autotip: a Minecraft modification with over 100,000 active users, which automatically earns currency and communicates with a network of other users to maximize earnings. A frontent modification written in Java and a backend API written in Go that handles ~3 million requests/day.
teaching
-
COMS 4118 Operating Systems: hardcore Linux kernel hacking, for fun and profit
-
COMS 4157 Advanced Systems Programming: systems programming in C, the implementation of git, containers (Docker), debuggers, linker, and more
-
COMS 3157 Advanced Programming: an introductory systems course with a narrative, covering UNIX, C, make, git, sockets and HTTP protocol
-
COMS 4995: From Algorithm to Development: a competitive programming class to implement algorithms in C, C++, Java and Python, with a focus on efficiency and micro-optimizations
-
COMS 1004: Intro Java Labs: a lab to guide small groups of students through introductory Java assignments, focusing on basic OOP design
coursework
selected favorites and relevant coureses
-
Operating Systems - implemented a scheduler, kv-store, filesystem, memory scraper in Linux kernel
-
Distributed Systems - implemented a Google Spanner-like kv-store with consistency and reliability guarentees
-
Computer Networks
-
Progamming Languages and Translators
-
Malware Analysis and Reverse Engineering
-
Parallel Functional Programming in Haskell
-
Artificial Intellegence
-
Natural Language Processing
-
Computational Aspects of Robotics