Introduction
Hi, I’m Alvin Zhang. I’m currently working towards a Masters of Computer Science at the University of Waterloo, where I specialize in programming languages. In particular, I work on modelling how programmers use languages, tooling and frameworks in order to build better ones. For example: a better type syntax for C/C++, more advanced autocomplete, or REPLs for (normally) compiled languages.
I enjoy modelling the world, trying to figure out the “why” behind the way things work. My posts will often begin by presenting a bold theory, which I then try to take apart and refine into something that is slightly less wrong. I don’t like wasting people’s time, so I strive to make my posts as short as possible. That being said, there comes a point when summarizing a topic any further loses its nuance, and therefore its insight. In such cases, I’ll try to present a “1 minute version” to help readers get the gist of what’s going on, with further analysis in a separate article. I also have a Youtube channel, where I sometimes post video versions of these blogs, for those who prefer that format. If a post catches your interest and you want to write a comment, just comment on the video. The repo for this blog can be found here.