Beta logo, with winged snake wrapped around

obviously, a held item you can use to Mega Evolve into a betaveros.
« home


Note: This page is currently an awkward mix of casual autobiography, directionless hobby sharing, and aggressively padded informal résumé. Sorry! I’ve been moving stuff around on this website and can’t bring myself to delete any of it. Just dragon things.

The Story So Far…

I spent my elementary to high school years in Taiwan, where I did many high school math and programming competitions. I got my B.S. (2015–2019) and MEng (2019–2020) at MIT, where I was also part of ESP, a group that runs educational programs for middle- and high-school students, and SIPB, the (oldest) student computing group. As a masters student I was a TA for 6.004 (now 6.191), MIT’s “Computation Structures”, around the time of the HDL Bluespec to Minispec transition. I lived in Floor Pi, the third floor of the west parallel of East Campus, all four years of undergrad, and joined my puzzlehunting team, ✈✈✈ Galactic Trendsetters ✈✈✈, from there.

Professional Software Experience

Most recently I’ve been writing Python with a side of JavaScript/Svelte professionally; but before that, I’ve done C++ and TypeScript with React/Redux.

Hobby Software Experience

Languages I’ve learned as hobbies include Haskell, Scala, and Rust. I also generally love learning new languages (exhibit A, correct solutions in 23 languages on Google Code Jam 2015.)

Competitive Programming

I did Advent of Code pretty seriously in 2018–2022 (and may or may not keep doing them pretty seriously). I also wrote a detailed blog post on how to place on the leaderboard for fastest solve.

Aside from that, I did the high-school and college competitions, IOI and ACM-ICPC, ages ago. I did Google Code Jam most of the later years it was running and fluked into being a finalist once, in 2015. Maybe once a year I am convinced to do a Codeforces problem or contest for whatever reason. But in general I am not an active competitive programmer.


I like open source software. I used to collect PRs I sent out here, but that list was both incredibly old and underwhelming. Here are some particularly notable ones:

Esolangs and Code Golf

At some middling rank on the list of my hobbies are esoteric programming languages and code golf. Back when GolfScript was the only golf-oriented programming language, I spent a lot of time playing with it on anarchy golf; but after I returned after a few years’ hiatus and checked out codegolf.SE to find everybody writing extremely dense languages with (what I considered to be) much worse mnemonics (e.g. Pyth, Jelly, 05AB1E), I spent a few weeks writing my own code golf language, Paradoc. Much later I wrote an introduction to code golf on my blog.

Computer Security

For a few years I was kind of a computer security professional. Relatedly, I sporadically do CTFs with galhacktic trendsetters. I participated in the 2017 and 2018 CSAW CTF finals, the first time with Don’t Hack Alone, the second time with TechSec.

I use KeePassXC for many of my passwords. Though I liked EFF’s Diceware word list, I was just dissatisfied enough to make my own word list. I also own two precision backgammon dice for personal password generation (as well as extremely fair games of Settlers of Catan :)

User Interfaces

I like playing with gradients and shadows and hover/active effects on buttons, probably to a mildly unhealthy degree. To spread the passion, I taught the class “How to Build the Perfect Button with CSS” for Spark and Splash 2017. Once you’ve seen Bootstrap basic and themed buttons, you’ve probably seen most of them, but there’s the occasional much fancier example like BonBon buttons.

I am probably overreliant on Practical Typography (Matthew Butterick), but it’s a good resource.

My usual coding font is Hasklig, or Source Code Pro with ligatures. There are many others out there but this is still my favorite. (There are good reasons not to use ligatures in code that you’re sharing, but in private the arrows make me happy. Also, technically I use a version of Hasklig that I manually modified to have a smaller line height…)


I grew up reading Martin Gardner’s columns as a child, and was heavily inspired by Dr. Sun, who runs 九章 (Chiuchang Mathematics Education Foundation). I also did a lot of math competitions in middle and high school. One of the weirder things that blossomed out of this was me presenting about Triangles of Absolute Differences at the Gathering 4 Gardener 9, which hilariously appeared as Problem 3 on the 2018 IMO because nobody on the jury realized it was a known result.

I was big on combinatorics and my favorite theorem is probably still Cayley’s formula for the number of trees. Some neat proofs other than the “standard” one with Prüfer codes:

I also dabbled in theoretical computer science a bunch. One of my earliest ventures into this space was in middle school where I submitted a paper on simple variations on the secretary problem, which won a silver medal for some reason. Fields I’ve surveyed in classes and summer projects include communication complexity, the prophet inequality, and tree reconstruction.

A neat math puzzle, via Martin Gardner: You are playing a game called Say Red. A normal deck of 52 cards is shuffled face down, then you flip over the cards one by one. At some point, before you flip over some card, you should say “Red!” and you win iff the next card to be flipped over is red (diamonds or hearts, but all that matters is that these cards make up 1/2 of all cards). If you don’t say “Red!” before the first 51 cards, you have to say it before the last card. What strategies are optimal, and what is your probability of winning under them?


I played piano in elementary/middle school, and sang with an a cappella group and learned guitar in high school. My HASS concentration at MIT was in music; one of the highlights was getting to take Interactive Music Systems with Eran Egozy, co-founder of Harmonix (best known for Guitar Hero and Rock Band). I sang with Dropbox’s Syncopation and rapped in Dropbox the Musical III while interning there in the summer of 2016. While Techiya existed I sang bass with the group, even though I am not a bass.

I picked up FL Studio in 2021 and have messed with it a bit. My most public recordings are part of the 2020 Galactic Puzzle Hunt puzzle Intersections. I have posted a few other recordings elsewhere on the public Internet; I’m deliberately not linking them because they’re deeply mediocre, but you might be able to guess the URL.

Other Things I Like

Vim, RSS, fish (shell), sushi, boba (milk tea, 30% sugar), Bo Burnham, dashes, dragons, and Enhancing people’s lives, errr, enhancing people’s lives by linking to TVTropes.


Video games:

Other cool things:

FDDmpw5a A C+ D+ H M P+ R++ T++ W Z- Sm# RLCT a cl+++ d? e+++ f h+ i+++ j p->+ sm#