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.
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:
CSE 11
: Intro course taught in Java with a focus on OOPCSE 30
: Low-level architecture with C and ARM assemblyCSE 130
: PL theory with some functional programming (OCaml/Prolog)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.
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 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 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!
The assembler for the Janus Instruction Set (JAS), a custom ISA for a virtual machine developed with my friend compiler-errors.