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