I’m a software engineer interested in building secure and reliable computer systems. I enjoy thinking about low-level systems and where abstractions break down.
I’m currently a software engineer on the WebKit project, the engine that powers the Safari web browser. You can see what I’m up to here.
I previously worked on the Tock Operating System, an embedded operating system designed with security at the forefront. My most recent project was working on adding shared libraries for userspace applications. I’ve also worked on adding process isolation to the nonvolatile storage driver as well as helping to port the OpenThread networking stack to Tock.
I was a master’s student in Computer Science at UC San Diego advised by Professor Pat Pannuto. I was a TA for Professor Pat Pannuto’s Wireless Networks (CSE 122/222C WI25) and Professor Geoffrey Voelker’s Operating Systems (CSE 120 FA24).
Previously, I interned at Apple for Summer 2022 and 2023 where I built security-oriented software in Go. Before that, I interned at ETA Compute where I tested their compiler for quantized deep learning models.
During my undergrad at UC San Diego, I was one of two leads of the software team on Triton UAS, an undergraduate organization which builds, programs and flies its own autonomous plane for a yearly competition. We received 5th place in 2022! In high school, I had a great time on my high school’s FRC team: Team 696.
In my spare time, I enjoy tinkering on electronics and hacking on my NixOS configuration for my laptop and home server. I believe that Nix can reduce many of the headaches that come with maintaining a Linux machine over a long period of time. You can check out a talk I gave at NixCon NA 24/SCALE21X with Samir Rashid that outlines the benefits of using Nix to manage a home server.
Outside of computing, I’m an advocate for making cities easier to get around by taking transit, biking, and walking. I believe that giving people the freedom to choose how they get around makes cities more enjoyable and equitable for everyone.
latest posts
Shared Libraries for an Embedded Operating System
•
This post is a summary of my masters thesis project. The full thesis can be found here
Virtually all software use libraries. With so much existing code out there, why would we implement everything from scratch?
On traditional computing platforms (which I’m defining as desktop and server), library code can be shared between multiple processes. This means that only one copy of the library code needs to live on a filesystem or loaded into memory.
Welcome!
•
This is the first post of (hopefully) many on my blog. Time will tell if this ends up being the only post …
I don’t have a well-defined plan for this blog besides for a few ideas that have been floating in my head for the past year or so. I plan to cover:
- technologies I’m interested in
- how-to guides
- right to repair
- privacy and open source
- urban planning
- anything else that comes to mind
If any of that sounds interesting, add this feed to your favorite RSS reader and stay tuned!