about me
Computer Science @ University of Pennsylvania > Cloudflare > OneSignal
At Penn, I lived on the Science & Technology Wing for 3 years.
I also co-created and taught a class, CIS198, which is a half-credit on the Rust programming language. All course materials are available online!
I play video games, mostly indie games and couch co-op. I cook and bake. I run and I just bought a new bike. I read, and I’m always looking for book recommendations.
I run with Arch Linux, i3, and vim. (Dotfiles.)
projects
Elsie
An LC4 (toy assembly language) assembler & simulator. Supports live-updating full memory table and graphical map, and memory-mapped IO registers for console (input/output) and video output.
favorite class projects
Google Simulator 2016
A search engine. Runs a custom distributed web crawler, then analyzes the corpus using a term indexer and PageRank algorithms.
(CIS555 class project.)
PennCloud
Fault-tolerant (sharded, replicated) distributed key-value store and custom HTTP server hosting GMail and Google Drive clones.
(CIS505 class project.)
WebGL Fragment Shader Profiler
A Chrome extension for profiling fragment shaders. This runs on a webpage, accesses the GLSL programs running on it, and profile the fragment shader(s) over different pixels. Uses WebGL’s EXT_Disjoint_Timer_Query.
(CIS565 final/self-chosen project.)
WebGL Deferred Shader
A tile-based deferred shader. Live demo.
(CIS565 class project)
GPU Pathtracer
Global illumination renderer with work-efficient stream compaction; antialiasing; subsurface scattering; refraction, diffuse, specular surfaces
(CIS565 class project)
PortholesOS
A GuestOS, which spawns threads as child processes, capable of running a basic shell (kernel signals, job control), and persistent filesystem.
(CIS380: Operating Systems class project)