More About Me

I'm a third-year at UCLA majoring in computer science and minoring in philosophy. My research interests include functional programming, programming language design, formal verification, and compilers.

I also love software engineering and enjoy developing with technologies such as modern TypeScript (React), modern C++, OCaml, Haskell, and Clojure.

Open Source

I am a big advocate of open-source software and the free software philosophy. To that end, I am an avid contributor to open-source projects I use (see my GitHub for contribution activity), and I am also an open-source maintainer, with my most notable open-source project being iswap.nvim, an interactive refactoring tool for the Neovim text editor.

In my second year at UCLA, I was also the maintainer of the UCLA ACM TeachLA Editor, an open-source, full-stack kid-friendly text editor used by ACM TeachLA to teach kids how to program!

Yeah. I'm just really into text editors, it seems :)

My Setup

I use a 2021 MacBook Pro, a 4K Dell monitor, a Cycle7 with Vertex V1s and GMK Olive, and a Logitech GPX. I use Neovim tracking HEAD, with the Neovide GUI. My window manager is Yabai and I use skhd, SketchyBar, and JankyBorders. My shell of choice is zsh and I use my own fork of Kitty as my terminal emulator. I use Firefox as my main browser and Skim as my PDF viewer. Here are my dotfiles. My setup is in such a way that I can do my tasks without thinking; this includes usage of my custom tab switcher.

Reach Out!

I'd love to talk with you about anything! Reach me at michaellan AT ucla DOT edu. It might take a few days for me to respond.