Me in Suzhou, China
A picture of me in Suzhou, China, December 2019. (full resolution)

Quick Links

Links about me:

Site navigation:


About Me

I’m Eric. I currently go to school in Pittsburgh. Before that, I grew up in New Jersey. I guess my life is mostly dominated by math, computers, and bicycles now. Maybe you came here to learn more about me, in which case I’m sorry to say that I’m really not that exciting. If you were looking to employ me, perhaps check my resume. If you were looking for juicy personal details, there are a few below, although I can’t vouch for how interesting you’ll find them:

Name
Eric Zheng
Age
I was born in 2001—you can do the math
Hometown
Holmdel, NJ
Current Residence
Pittsburgh, PA
Current Occupation
Student (computer science, algorithms and complexity concentration)
Editor of Choice
Vim
Operating System of Choice
Debian
Favorite Language
Σ\Sigma^\star, because if it’s not in DTIME(1)\mathrm{DTIME}(1), it’s clearly not worth knowing
Oh, that kind of language
I once had some claim to being decent at Latin, although my skills have declined (pun partially intended)
Oh, that kind of language!
Having been a TA for a functional programming class, I’m contractually obligated to answer this with “Standard ML” for the rest of my life
Favorite Breakfast Cereal
Probably Apple Jacks—the orange ones are my extra favorite
Favorite Translation of the Bible
As my friend Richard Yan calls it, the “Extra Spiritual Version” (ESV)
Favorite Mathematical Theorem
I feel like Gödel’s first incompleteness theorem is a bit of a lame answer, but I had to plug my essay somehow! As a CS major, I feel somewhat obligated to say it’s the PCP theorem. But part of me has always loved Kempe’s universality theorem.
Favorite Conspiracy Theory
Well, there’s the Eric Conspiracy, but naturally I cannot comment on whether or not it’s true…

Hopefully this is enough for you to pass any of those pesky “security questions” and impersonate me!

Disambiguation: Other People Named Eric Zheng

I find it quite funny that there are two other people who go by “Eric Zheng” with whom I’ve overlapped at CMU:

I was actually the first to enroll, although Yuxuan was the first to graduate, since a master’s degree only takes two years. There is also, apparently, an Erica Zheng (Andrew ID ericaz), an undergrad in business administration.


Contact Information

I’ve been a happy man ever since January 1, 1990, when I no longer had an email address. I’d used email since about 1975, and it seems to me that 15 years of email is plenty for one lifetime.

Donald E. Knuth

If you so desire, you can contact me via email. (I am not so much a purist as Donald Knuth, above, and at any rate I probably don’t receive nearly as much email as he does.) The following addresses will get to me, listed from most preferred to least preferred:

If you are so inclined, here is my PGP key. The fingerprint is 343F 641A ABBC 684F D4B3 62F5 61BE 1E3C 5557 FFDF, if anyone actually checks those.

Do note that I usually read my email in Mutt, a text-based email client. If you send me HTML email, I will try my best, but there is no guarantee that I will see the same thing that you are sending. Particularly offensive are “emails” that are really just big images.

For historical curiosity, here is a list of old email addresses which no longer work:


Colophon: About This Site

This is a present from a small, distant world, a token of our sounds, our science, our images, our music, our thoughts, and our feelings.

Jimmy Carter, on the Voyager Golden Record

I guess I maintain this website mostly as a means of self-expression. Consider it my little message in a bottle in a vast digital ocean. (Sorry, I never said I was good at metaphors.) I don’t expect very many people to read these words, and that’s fine.

I started this site back in the summer of 2018, when I was in high school. Originally, it was just a couple of hand-written HTML and CSS files. By now, the “static site generator” has ballooned into some combination of Pandoc, Python, and Javascript. I’ll probably write a blog post about it sometime. It’s currently being hosted on Gitlab Pages, which offers some more flexibility than Github Pages. If you’re interested in digging up embarrassing past information about me, you can clone the old Github repository and take a look. Do note that the Github repository is no longer kept in sync with the official version on Gitlab.


When it comes to the design, one might complain that it’s not easily digestible, and it’s easy to get lost. I’m okay with that; I love it when I stumble across unique, bizarre labyrinths of websites out in the wild, and I figured that I’d contribute my own specimen to the Web. If someone ever sends me an email over losing an afternoon browsing my site, I think I can say that I have succeeded, even beyond my original aim. Of course, there is not yet enough content here for that to happen.

Over the summer of 2020, I started a project to make a personal wiki, first using Org Mode and then using Vimwiki. This was mostly just to have a place to dump links, files, notes, etc., since I frankly don’t have enough “biological disk space” to store everything that I need. Unfortunately, the semester intervened, and I never got a chance to really polish it into a publishable state. I’m considering consolidating the things in that wiki into this site.


One technical issue that has perennially plagued me (and about which I’ve probably written ad nauseam) is the rendering of mathematics on the Web. As someone who studies a technical field, it’s naturally very helpful to have good math typesetting available when writing down my thoughts. Math is obviously never going to look beautiful in a terminal (although Vim tries its best with Unicode characters), but I am somewhat frustrated by the current options for displaying math on the Web.

As a matter of personal taste, I would prefer not to require any client-side Javascript to render content; I want to keep the viewing experience as simple as possible. I’ve finally settled on post-processing every page with , directly rendering into HTML. Ideally I’d like to keep the build dependencies of this site to a minimum (and in particular, not require Node), but generally seems like the best option, and at least everything remotely “sketchy” is handled on the server-side; everything that the client receives is just HTML. Here’s an example of what the rendering looks like, with the expander mixing lemma: e(S,T)dSTnλST. \left\lvert e(S,T) - \frac{d|S||T|}{n}\right\rvert \le \lambda\sqrt{|S||T|}. Of course, one could always just distribute a nice PDF of anything that requires math, or even convert the binary’s output to SVG (similar to the way Wikipedia does it), but this is not always ideal. It’s quite unfortunate that MathML hasn’t really caught on.