I have a new blog. (Click here.)

It is still a work in progress, but it looks okay. Some posts have been migrated over; more will be migrated in the future. When I’m happy with everything, I might buy WordPress’s domain redirect.

Happy Thanksgiving to everybody who celebrates it.



I guess I lied in my penultimate post.

I’m planning on migrating my primary blog (again), off WordPress to a static site hosted somewhere. I might just throw everything onto GitHub Pages, or might follow any of the zillions of tutorials on how to host static sites off a cheap Amazon S3 bucket — I haven’t decided yet, but no longer having to rely on the free part of freemium services is fairly liberating.

Why? Lots of small reasons.

I like having full control over my HTML/CSS/JavaScript and my post-processing (pun intended) pipeline. Whereas before I could not justify wanting that control beyond gaining the ability to bikeshed, now I think that web design is enough of a thing I do that it’s not a bad idea to make a visually distinctive blog that coheres with my overall Online Identity™. There are also a few specific pain points with WordPress, e.g. it doesn’t handle code formatting or HTML escapes all that well. To some extent this is preventing me from blogging about more technical things, which I want to do, both because it would be interesting and because it would make me feel less awkward about putting my blog on my résumé and showing it to potential employers and the like. (Once again, with style, while looking dapper: if you’re a recruiter reading this, please hire me 🙂

Continue reading

Me and Facebook

tl;dr: I don’t use Facebook much. If you want to contact me, I would prefer nearly any other mode of communication. I am also going to stop autosharing posts from this blog onto Facebook. RSS readers are great; get yours today.

Recently I checked Facebook and it said something like “You’ve added N friends this past T units of time! Thanks for making the world more connected!” and I just couldn’t any more. Facebook friends are not friends. Dunbar’s number is around 150, maybe double that if you want to stretch it; humans cannot handle that many human relationships. Facebook’s siloed ecosystem is the opposite of connected with the rest of the Internet.

That is one of many reasons I pretty much don’t use Facebook any more. This is not new, but I’ve never formalized it. Also, I figure others might assume otherwise since I still do have an account and still accept friend requests and post sometimes. Thus, I’m writing this post.

Here are all of the reasons:

Continue reading

Taking a Step Back

There’s some point in the decline of a blog’s activity at which you just can’t apologize with a straight face for not posting any more. Only ironically.

I brainstormed reasons why I’m not blogging. It took a while for me to find a reason that felt right, but I think it’s mostly the concern that I don’t have anything important to say, and I’m just spamming people’s inboxes or Facebook feeds. I make fun of my perfectonist tendencies, but they haven’t gone away and have been exacerbated by how public this blog feels now. There’s also a general feeling permeating life that I should be trying to present myself professionally to people, because like a diamond, the Internet is forever.

I don’t know why I tried to publicize this blog, with all its years of hyperbolic angsty ramblings and emotional baggage from a different era, by linking it so tightly to my online identity and other blogs and by tagging posts so that they’d appear on some WordPress search thing. I went through the motions of getting people to read my blog because that was what bloggers were supposed to want. But it may have been counterproductive for what I actually wanted my blog to provide. Instead of feeling inspired or motivated that my writing will reach lots of people or whatever, I’m just a lot more skeptical of my writing and constantly scrutinizing it to see whether it’s complete, accurate, evenhanded, noncontentious, and just a modicum relevant to anybody other than me at all.

Linking it to Facebook was a particularly bizarre choice. I think when most people add others as Facebook friends, the implicit social contract is that this means “I’ve met you or know who you are” and mutually granting the ability to send messages, look up more information about the other person, and maybe occasionally getting updates. “Occasionally” being the operative word — certainly not “weekly 2,000-word screeds whenever you feel angsty and start binge-posting”. Probably a third of my Facebook friends won’t ever read this just because of the language it’s written in.

In hindsight, I think most of the people I want to read these posts know how to sign up for a post by email, or subscribe with an RSS reader, or just check a blog randomly when they’re bored.

This blog will stay here and I will probably keep using it for “public” public statements or actually polished writing, but I don’t think I want to update it substantially more often than the pace of the last couple of months.

I made a new blog a few weeks ago and tried just not caring and writing like I was in fourth grade again. It felt right. That blog isn’t going to be private because I don’t like making echo chambers, but I’m not going to share it here; ask me if you want to read it. Or find it by being really good at either Googling or perfectly replicating my thought process for picking a new blog subdomain. That is all.

I guess January is puzzles month

And it’s not even January any more.

(Thing negative two: Thing zero, which is at the bottom of this post, contains two puzzles by me. Skip there if that sounds interesting and text walls don’t.)

Thing negative one: I abandoned this blog (again). The last month has been a mess and much of it is political stuff of the sort that I’m the worst/slowest at writing about.

Thing one: I was on-site for a second MIT Mystery Hunt.

In fact, I was on HuntComm and kind-of sort-of ran our team. I bought a lot of snacks, collected a lot of cash, took a lot of calls, and pronounced a lot of airplane emoji. Whoosh! Neeeowwww! On the other hand, I feel like I saw a lot fewer puzzles, or at least worked through a lot fewer of them. I certainly didn’t get to see any of the mathy puzzles until after the hunt (it looks like Great Tits! and Digital Display are of that type.) It is not clear how much of this was due to the hunt’s length and how much of it was due to my totally different role. The puzzles were excellent, just much easier on average and a lot of the hard ones backsolvable — for instance, I think Chromesthesia might have been up there if we hadn’t backsolved it? The theme and skit were fantastic. We completed the final runaround around 2–3 PM on Saturday. I don’t have too much to say here, sorry.

Things I contributed to nontrivially: Swifties (which I was filmed for), Bigram Battleships (which I kept hoping/expecting would have a secret twist or two), Dot Matrix (in which bcodex came in useful, and would have been even more useful without one of the missing features!), Repeated Punishment (plenty of people could have gotten the key insight but I was pleasantly surprised to get it independently; I also found a few quotes), the Broken Bridge meta (we were really disappointed that we never got the puzzle related to [redacted, MD5 = 5244c453d95ff560ebab2bae15d82216], even after solving it), Capital Punishment (lol), Hopping Lock (one of the last puzzles we unlocked; everybody awake was stuck on other puzzles, so we converged on it, solved it in five minutes, and went back to being stuck). I also went to the Saturday morning Constitution event, which was a silly but entertaining bobblehead race.

Before the hunt, I also solved a few P&A puzzles with the Simmons puzzlehunters that happened to sit next to me on the flight from SFO to BOS, so there was that.

Thing two: the inaugural Cambridge Puzzle Hunt. For this time floorpi mixed up with the plughs and I hunted on “plugh needs a rubber” with two other pizens and Paul, who is really good at puzzles. We placed third and I learned a lot about both solving puzzles and guessing your way around them.

This being the first apparent puzzle hunt held by this group, the puzzles lack a certain amount of polish, as I think one would expect, but I can recommend Archimedes’ Calculus and Lips, Secure as decent puzzles. The other particularly interesting (shall we say) puzzle was Calligraphy. The thing where I had a culture advantage of knowing (Mandarin) Chinese happened again (previously, MUMS 2013)! The puzzle was so difficult and full of ambiguities that we still couldn’t solve it until days after all three hints had been provided, but the construction is still kind of impressive to behold, and gripe about, and that sort of thing.

Thing zero: I wrote five puzzle and a meta for last November. Well, that was the plan. I think it was supposed to be an arithmetic sequence. Unfortunately, writing puzzles is too hard, and now I also have a better place to put my puzzle ideas (I say this too often, but stay tuned!)

Still, I finished writing and testsolving two puzzles (thanks to the kind people of Patzers Club) and finally I decided I should just throw them here for no occasion and with no additional context. They’re not really general-audience puzzles anyway. (I will somewhat apologize in advance for the answers that were meta-constrained but aren’t any longer, but I’m too lazy to rewrite them.) So here are some puzzles. Happy solving!

The More Things Change

It seems to me like lots of people want this year to be over. Among all the other things, 2016 is also apparently the year I totally abandon this blog and put off certain planned posts by several months.

I guess this is what happens when you take five technical classes at MIT. The extracurriculars aren’t helping. And the fastest and most confident writing I do is still reactive, when there’s an externally-imposed deadline or when “somebody is wrong on the internet”. This blog isn’t.

Oh well, time to make up for it in 2017.

What happened this year? I’ll start with some serious categories:

  • Academics: Complexity theory is great. On the other hand I don’t think machine learning is my thing. Plus some other math and CS classes. If there’s a theme, it’s that there’s a certain masochistic delight in reading old papers and griping about badly written parts. Outside my major, I also took and enjoyed some music and neuroscience classes, which made me cherish MIT’s flexible math major requirements even more.

  • Competitions, more or less: 5/28, Round 2 of Google Code Jam: I somehow get a perfect score and place 4th, which is more points than tourist! Check that off the bucket list. Unfortunately, my luck doesn’t hold in the next round.

    More importantly, though, I form an ACM-ICPC team with Andrew and Steven, and we manage to get to represent MIT at the World Finals. (Wow, that was still this year. You can’t tell from this blog at all. Sigh.) We travel to Thailand and place sixth, playing a lot of Napoleon, Set, and crosswords along the way. I also do a lot of idiotic things on Twitter to get a t-shirt.

    Finally, I sign up for the Putnam, then back out at the last minute because I’m too hosed and there’s no way I’m going to get anything anyway. In case you were wondering.

  • Extracurriculars — hoo boy:

    • In February, I was elected a SIPB member-at-large and, although I didn’t know it right away, also became the de facto acting secretary. I become a little bit better at typing.
    • In March, I more-or-less-formally joined ESP and absentmindedly hacked on the website a little. learning-unlimited/ESP-Website instantly jumped to the top of my GitHub “repositories contributed to” column. After lower activity during the spring, in the fall I “wrangled substitutes” for Splash, and then hacked on the website a lot more and got myself elected to two-and-a-half officer positions.
    • In the fall, I joined Techiya. We sang a bunch of songs and held a concert with Pokémon skits. Check those off my bucket list too. Sweet.
  • Gaming: Now that I finally feel comfortable throwing money at things, I can follow discussions and suggestions of quality games from everywhere in my social media. Two halves of winter sales and one summer sale later, my Steam library consists of: Antichamber; The Beginner’s Guide; Braid; Cubot; English Country Tune; A Good Snowman Is Hard To Build; Hacknet; Her Story; Keep Talking and Nobody Explodes; Papers, Please; Portal; Portal 2; Sokobond; SpaceChem; TIS-100; Undertale; and Waveform. The Gaming post has some thoughts on the matter I won’t repeat here. Some thoughts I did not write there: Napstablook is my favorite character, Ghost Fight is my favorite leitmotif and track, and by now I’ve probably spent more time listening to parodies like the Stronger than You rewrite, remixes like this boss theme medley, and weird dubs of Undertale on YouTube than playing the game itself.

  • Puzzles: The first MIT Mystery Hunt I solved on-site needs no introduction. Unfortunately some of the biggest puzzlers have graduated from floorpi, and so we didn’t do very much for some puzzle hunts (Mark Halpin’s Labor Day Extravaganza); but then I did Berkeley Mystery Hunt in a Galactic Trendsetters + teamMATE team while interning at Dropbox, plus a student floorpi group in the Boston run of What’s That Spell on 9/24, during which I guessed my way through a non-unique hexagonal Akari to read the correct message, and accidentally met Zotmeister when he notices my “betaveros” nametag. Floorpi also did the Australian triad as usual:

    • 5/9–14: MUMS puzzle hunt, during which I get us unstuck on one puzzle by dumb Googling and extract the meta after lots of false starts.
    • 10/10–18: The inaugural mezzacotta puzzle competition, for which I adopt a caricature of biphasic sleep to solve puzzles as they come out at 3 AM EDT. We win a copy of Hanabi, which we already have, so we get the organizers to send us a copy of Sushi Go! instead. All is good.
    • And now: SUMS puzzle hunt…
  • Adulting: I interned at Dropbox, which means I learned a lot about modern web development and software engineering as a profession, met lots of awesome people, became good friends with ag, sang a lot with Dropbox’s a cappella group, and played a healthy amount of DDR (which is really effective cardio at high levels). Oh and of course I got some transfers into my bank account. And new shoes and a Fitbit, because of a wellness reimbursement.

  • I also bought a domain! I guess I might as well show off I spent too long late one night drawing the logo. HTTPS is Coming Soon™.

And I’ll end with the usual nonsensical list of one-time occurrences:

  • 1/18: I realize I have forgotten my GPG password and spend the afternoon trying to remember it. Lying in bed the next day, I succeed.
  • 1/22: I win the Python Bee at Bad Ideas weekend.
  • 1/24: I receive a Night Fury plush! After a while, I decide to name it Noctoros, which is again not entirely namespace-collision free but close enough.
  • 2/19: Several layers of yak-shaving away from 6.01, I send a pull request to hdevtools. #procrastination
  • 2/19–late February: my first serious sickness at MIT, to the best of my recollection, during which I clean out our floor Medlink’s over-the-counter medications.
  • 2/21: After asking ec-discuss@ and friends, I finally decide to order a Nexus 5X with Project Fi, Google’s phone plan, which is relatively normal among my MIT friends (there are many Googlers) but is constantly considered a weird MIT thing by everybody else.
  • 3/6: I watch Zootopia.
  • 5/11: Some casting producer for FOX finds me via the Putnam while “looking for mathematicians and people who love puzzles” for a show where people accomplish mental and physical challenges on television. I politely decline because I don’t think I have any televisable skills of that sort.
  • 7/2: I reach 10,000,000 Neopoints.
  • 9/13: I reach some sort of inflection point in the number of furry chats I’m a member of.
  • 9/25: I kick off the process for [other-redacted]. I can still say “stay tuned” for this one without shame, because the onus isn’t really on me to finish it. Yay!
  • 10/20–12/3: I join a MIT Media Lab study that tracks parts of my behavior, like sleep, and correlates it with my well-being. Or at least it tries. The app is pretty broken, to put it mildly, but I make some suggestions and they improve parts of it. Throughout the study I wear three dongles on my wrist (a watch, the Fitbit from Dropbox, and a Jawbone tracker the study lent me), which turns out to be a pretty good conversation starter.
  • 12/19: After getting reintroduced to QuizUp in ESP, I discover there’s a “Dragons” category.

This is much shorter because I was terrible at keeping track of 2016 because… I don’t even know. But yeah, it’s over! (For me here in UTC+8!)

See you in 2017!


This is two days late and it’s not even the post that was supposed to be here. That will have to wait until I’m less hosed. ESP just finished running Splash, our largest annual event in which thousands of high school students come to MIT’s campus, and MIT community members (mostly) teach whatever they want to the students. This was the first big program I participated really deeply in as an ESP admin, and it has this way of eating you alive and spitting you out full of joy and immersion in life but devoid of energy and buffer zones for finishing other things by their deadlines.

On a similar note, thanks for all the birthday wishes from everyone everywhere. I’m sorry I haven’t found the time to respond or sometimes reciprocate. This made my day, and probably last couple of weeks too.

“It’s an early iteration of a dragon curve because this kid is a dragon!”

[birthday cake with dragon curve on it]

Stay tuned. Really.