Hello there!

My name is Chris. Welcome to my personal site about me. I’m a programmer who’s super interested in programming language theory and compilers. I also like to game (DBD or SSBU anyone?) and draw on the side. I do a bit of streaming as well.

What I’ve done

From 2019-2022, I worked as a software engineer at Microsoft, developing services with cool tech like Azure Digital Twins and Azure Maps.

I majored in Computer Science at UC San Diego from 2015-2019. During the academic year, I worked for the CSE Department as a tutor. I have tutored for:

During the summers (2016-2018), I worked at the WhizKidz Computer Center as an instructor in web development, game development, and introductory courses to programming languages like Python and Java.

Projects

ticonderoga-bot

Ticonderoga is the name I use for my personal Discord bot. When looking for a bot to moderate my own Discord server, I wasn’t satisfied with the options out there — either they were full-featured but required a premium subscription, or they lacked features I wanted. So I decided to code and host my own!

crust

Crust is a low-level programming language I used as an exercise in learning LLVM. The name is a portmanteau of the languages “C” and “Rust”, as its goal is to match the level of complexity C has with the modernity of Rust syntax.

slang

Slang is a neat little programming language that is strongly influenced by FP-style languages, namely Lisp and Scala. It’s interpreted, very dynamically typed, but pretty simple overall. The core part of slang is the “matchbox”, a hybrid of a switch statement and a function. Almost everything in slang is defined with matchboxes 🙂 so watch out!

jas

The assembler for the Janus Instruction Set (JAS), a custom ISA for a virtual machine developed with my friend compiler-errors.