Software engineer fascinated by computer hardware and the systems built upon it.
UC Davis graduate passionate about graphics pipelines, simulators, and CS education tools. Experience leading development on RISC-V simulator deployed as a teaching aid and independent projects surrounding graphics pipelines and physics visualizations.
Also a creative working on thinky puzzle games and nostalgic websites. Trying to claw back a small piece of that old internet individuality.
RISC-V system emulator, primarily meant for teaching assembly programming and computer organization concepts.
VRV implements the instruction set RV32IMF_Zicsr (32-bit base integer + integer multiplication/division support, single-precision floating point support, and control and status registers support) and offers two privilege levels: machine and user modes.
Annual programming contest hosted at UC Davis with a focus on introducing both undergrads and highschool students to the creative thinking and problem solving skills that competitive programming promotes.
I was lead problem setter for the 2023 and 2024 contests and a problem writer/tester for the upcoming 2025 contest. As lead problem setter, I was responsible for statement editting, testing/verification, and maintaining format consistency. I also led onboarding efforts to instruct and advise other members of the contest organization team in terms of problem writing and configuring the judge.
Written from the perpsective of an in-universe conspiracy theorist, this website has a retro geocities style and contains many secrets that inform the world surrounding the game as well as this character.
This site allows users to go on a quick eploration of the regionally-distinct ekiben, bento found at Japanese train stations intended to be eaten while riding the train. You can select a variety of cities and investigate the ingredients and history of a selected ekiben specific to that region.
One interesting engineering problem was how to allow selection and highlighting of specific areas of the images. This was done by manually rotoscoping these sections in photoshop while also generating a mask of that specific area. While the rotoscoped image is used for the highlighitng, the masks are composited these into a single image while, ensuring each area has a distinct shade of red representing the area's ID. There are actually two rendered canvases on the site, one of which is invisible and displays this ID mask. I can then use the user's mouse position to query this mask and highlight the associated area of the image.
RISC-V system emulator, primarily meant for teaching assembly programming and computer organization concepts.
VRV implements the instruction set RV32IMF_Zicsr (32-bit base integer + integer multiplication/division support, single-precision floating point support, and control and status registers support) and offers two privilege levels: machine and user modes.