There are 30 minutes until my laundry finishes.
It is 2:30 in the morning as I write this. Normal people are not awake at this time of day. It’s possible that normal MIT students are, though.
I’ve been meaning to blog for a while, but things happen and other things happen and still more things happen. From a state of total inexperience in the kitchen, I’ve already managed to single-handedly cook six six-person meals for my co-op, not to mention all the weird meals I make for myself (which is just as well, I don’t think they are of typically mentionable caliber.) I’ve already taken two exams in three of my classes and the big midterm for my fourth. Four puzzlehunts — Simmons, aquarium, Palantir, ΣUMS; five if you perhaps include Next Haunt. Six SIPB meetings. A few bottles of Soylent; I lost count and don’t want to check my room because that’ll disturb my roommate. Θ(3000) zephyrs. And after many weekends of eye-opening group practice, tonight I have to catch a flight to Rochester, NY for ACM-ICPC regionals.
Did I say “fun”? That was short for function calls. Which are fun too, admittedly. Blah, I always go to such lengths to come up with snappy yet justified post titles and end up achieving neither.
One more complimentary breakfast later:
This is it.
Google Code Jam World Finals. Let me take a moment to reflect. Seriously. I do not know how I made it this far this year. I guess I might be a top-500-ish competitive programmer globally, maybe even top-150-ish, but definitely not top-25-ish. And Log Set, the hard problem that got me through Round 3, doesn’t seem like it plays to my forte particularly either. It’s a bit mathy, but the math bits aren’t the hard part; I think it’s largely implementation, with one psychological hurdle where you have to realize that, because of how few distinct integers there are in S′, you can efficiently solve the subset-sum instances you need to produce the lexicographically earliest answer. I’m actually kind of impressed I got that. It seems like the sort of hurdle I usually get stuck on. How did this happen?
Maybe randomness. Maybe I was just particularly clear-minded during the round and wrote less buggy code than usual, because I had no expectation of making it whatsoever and so could look at the contest detachedly (until midway through the contest I accidentally noticed that my rank was under 20, and even then I tried very very hard not to think about it, and it kind of worked).
But it happened, and now I’m here. Time to roll.
In some emails much earlier in the Code Jam logistical process, Google had asked for “requests for changes and/or additions” to the software that would be installed on our competition computers, and I had sent them a long list:
Here are some things I’d like if they were installed, in decreasing order of priority:
Of course, this is my first Code Jam and I don’t know how reasonable these requests are. Any nontrivial subset would be appreciated.
The Vim plugin syntastic ( https://github.com/scrooloose/syntastic )
a Haskell compiler (probably Haskell Platform 2014.2.0.0 https://www.haskell.org/platform/ even though it’s a year old)
the Haskell package hdevtools ( https://hackage.haskell.org/package/hdevtools ) so that the above two may be integrated
(I don’t have enough Linux experience to name a specific thing to install, but command-line utilities that are the equivalent of pbcopy and pbpaste on Mac OS X, which allow me to redirect text into or out of the clipboard from the command line easily)
I have a backlog of at least 6,000 words and still too many events to blog about, so these posts will not reflect things currently happening to me for a long, long time, except for the little blurbs on top of posts like this one when they exist.
Blogging is hard.
Also, I don’t have a good title.
It begins with an airplane.
For Zarquon’s sake, you’re entrusting me with my own passport and airline tickets and luggage and all this stuff I can’t even. I still layover people for months on end in Pocket Planes sometimes. (Watch the graceful descent of this reference into personally overused snowclone territory.)
Source: Taiwan, my home for the previous twelve years, which I am now bidding farewell to for the longest time in forever (…which is only (“only”?) five months, assuming I fly back for winter break as already planned). Destination: Seattle, for this year’s Google Code Jam World Finals, which I still don’t know how I managed to qualify for (more on that in later posts); and, before that, an accompanying interview for an internship that I scored as part of the bargain.
I successfully get on the plane, sort some nice things to have on hand into my MIT tote bag (how did I ever survive airplanes without keeping a tote bag on hand?), and put my backpack with the rest of my stuff into the overhead compartment. An old-ish guy who is probably Korean sits next to me. Plane takeoff is a bit delayed due to traffic congestion. Once during the flight, after an attendant passes out forms to everybody entering South Korea and I tell him I’m not, the guy asks me where I’m going and we have a short conversation. But for the most part, it’s typical airplane shenanigans. I listen to Avril Lavigne and Ellie Goulding, do a little homework, and eat the airplane food. Nothing remarkable happens.
Until near the end of the flight: a guy in a suit shows up in the aisle and, looking at some sort of checklist, calls my name.
On the HSR we kill time with weird games from Kevan Davis’s Freeze-Dried Games Pack, mostly Thirty-One. Then we’re there!
On the bus we kill time with karaoke, until people complain. Sorry.
Lunch at Chinese restaurant. Beach resort.
I spend the first one and a half hours holed up in my hotel room watching television, first a quiz show where the host asks foreigners living in Taiwan questions about the country’s culture and society, then Disney and Cartoon Network cartoons. During the commercial breaks I do cryptic crosswords I had brought along. This is something I self-deprecatingly talk about for the rest of the trip, but I have no regrets because the three cartoons I watch are literally my top three guilty pleasure cartoons, Ben 10, Teen Titans Go!, and Jake Long: American Dragon.
Then I wander around and join some guys playing pool. I do better than I expect, once pocketing three balls in sequential moves. There is also a Kinect with a dancing game, which I also score surprisingly well at and have lots of fun playing.
Dinner, in which I eat 小卷 (“pencil squids”?) with way way way too much wasabi. I stuff myself and walk around chatting and eventually learn there are freshly-made 手卷 (“temaki” / “hand roll”) downstairs. Since there’s lots of time I wait until I’m less full and eat two.
Group activity outside corresponds eerily to the one three years ago: shouting, dancing, waving glowsticks, arbitrary dance moves, punishment games, cooperation games, a competition where the guide gives out points that don’t matter like on Whose Line Is It Anyway?
Empty promises… but okay. Class songs. (This is the explicit version. This song is well above the normal offensiveness rating of this blog and I usually prefer official videos, instead of shady lyric videos probably made from Windows Movie Maker that might get taken down, but honestly I find the pathetic execution of censorship in the VEVO version more offensive.)
My inner perfectionist is crying that I have to post this, in particular over my pathetic snowclone title, but my inner pragmatist knows that, judging by my old blogging patterns, it’s now or never.
18.06: 56%, haven’t touched it in a while, but I think I can do lots more on the plane.
As a non-contestant, I confess I feel totally uninvested in the results and find the Closing Ceremony boring. All contestants go up, country by country, and have their awards read off. No effort is made to make any sort of buildup to a climax. But maybe this is for the best; we don’t want anybody feeling shafted or discouraged from continuing to do math due to a mere elementary-/middle-school competition. Meanwhile, though, I’m browsing reddit on my phone.
After this ceremony, the entire Taiwan delegation spends some time walking around outside while the guides make confused phone calls trying to decide where we eat lunch. My parents offer me some potato chips they bought somewhere, which are (as the label is really eager to point out) baked, not fried. Some time passes this way; eventually, the guides figure it out and we go through amazingly long queues to eat at the cafeteria, as usual. Then we are sent to a massive shopping mall for the afternoon, a place so large that its exits have number labels that go up into the double digits so that people don’t get lost.
I take trippy failed panorama photos from the bus windows. The exit our group is supposed to use and remember is number 9. However, since just about everybody else from the competition is clustered around that exit, we choose to enter through a neighboring one, which is somewhat surprisingly numbered 5.
(Nontopical life update: Current 18.06 homework status: 34% (mildly screwed, probably won’t finish before I leave my cozy home for the U.S. and I usually struggle to get into the mood for homework while traveling, but I guess I’ll have to)) (I’ve been spending most of my uptime doing said homework and running errands, and my downtime catching up on Last Week Tonight with John Oliver while farming the Flight Rising Coliseum. And, okay, making the above status panel. Live version here courtesy of Dropbox’s Public folder. No regrets.)
Day 3 (Excursions)
Morning routine snipped. We come to the middle school again to eat breakfast and gather; the contestants will be taking their tests here (accompanied by one bottle of “Buff” energy drink each) while the rest of us will be going on an excursion. Before this happens, though, two Taiwanese contestants ask me and Hsin-Po some math problems. There’s a geometry problem, which I fail to solve:
(paraphrased) In triangle △ABC, ∠A is 40° and ∠B is 60°. The angle bisector of ∠A meets BC at D; E is on AB such that ∠ADE is 30°. Find ∠DEC.
Hsin-Po figures out that, once you guess (ROT13) gur bgure boivbhf privna vf nyfb na natyr ovfrpgbe naq gurl vagrefrpg ng gur vapragre, lbh pna cebir vg ol pbafgehpgvat gur vapragre naq fubjvat sebz gur tvira natyr gung gurl vaqrrq pbvapvqr. Then, there’s a combinatorics problem in a book with a solution that they’re not sure about:
We get up at 3:40 AM. By 4 AM we have left our house, speeding like a bullet into the dark.
(Ohai. Somehow it slipped my mind that I was ending my streak by leaving the country for a competition that would likely be highly bloggable, like my last two international olympiads, both of which led to notable post sequences on this blog. (Admittedly, the first one was never really completed…) My only excuse was that I was worried I might not be able to access my blog from inside the Great Firewall, but I did (via vpn.mit.edu) and even if I hadn’t, I could still have drafted posts locally in Markdown as I usually do, so I don’t know what I was thinking.)
(Also: because, as I’ve said way too many times recently, I need to do linear algebra homework, these posts aren’t going to be as complete or as perfect as I’d like them to be. Although I’m probably just saying this to persuade myself; I tend to include many of the boring parts as well as the interesting parts of the trip, which maybe benefits my future self at the expense of other readers. I probably need to get out of this habit more if I want to blog for a wider audience, though. Oh well.)
The International Mathematics Competition (IMC) is, as it says, an international mathematics competition. But I should add that it is for elementary and middle-school students (in other words, I am not competing, okay??). (edit: Also, one or two letters are often prefixed to indicate the host country, for whatever reason. This year it would be CIMC, C for China.) I am tagging along because I am a student of Dr. Sun, one of the chief organizers, and have been slotted to give a talk and possibly help with grading the papers and translating. My father is coming to help arrange a side event, a domino puzzle game competition, which he programmed the system for; and my mom and sister are also coming to help with translation and other duties. Other people in our group: Dr. Sun himself, his longtime assistant slash fellow teacher Mr. Li (wow I’m sorry I forgot you while first writing this), my friend and fellow math student Hsin-Po, who is an expert at making polyhedra from origami or binder clips (and at Deemo); Chin-Ling, my father’s student/employee who also programmed lots of the domino puzzle server and possesses a professional camera; and, of course, all the elementary- and middle-school contestants, as well as most of their parents.
I don’t think I’ve ever given this amount of background exposition about any event I’ve attended to my not-so-imaginary audience before. It feels weird. Some part of me is worried about breaking these people’s privacy by posting this, which makes a little bit of sense but not enough for me to think that it’s actually a valid reason to avoid or procrastinate blogging. I think it’s a rationalization.
Here we go.
The only interesting thing that happens at the airport is a short loud argument in the queues for luggage check-in, perhaps partly fueled by our high number of people and of heavy boxes (gifts for other countries and raw materials for Hsin-Po’s polyhedra). I don’t know whose fault it is.
In case I fail to scale the firewall, I attempt to download Facebook on my phone for one last look before boarding, but it fails during installation twice and I give up.
Our plane is not fancy enough to offer personal screens and entertainment centers for everybody, but thankfully the ride lasts only three hours, so this is tolerable. Instead, the plane plays the second Divergence movie on overhead screens, which I watch half-heartedly. The plot setup seems interesting but the ending seems to me to involve two Ass Pulls™, although since I haven’t been paying much attention I am not confident if I just missed some foreshadowing or character development. On the flight, I also read the proof of the irrationality of powers of e in Proofs from THE BOOK and leaf through the magazines.
I don’t hear any good music on-board, except maybe “Space Oddity”, which is a little freaky to be listening to while cruising at so may kilometers in the sky. Perhaps because of this, I find myself singing and humming “Space Oddity” unexpectedly often over the next few days.
The very first sign we see after alighting the plane consists entirely of characters that are the same in Simplified and Traditional Chinese — if I remember correctly, 「前有坡道，小心慢走」. The Changchun airport looks like any other airport, coolly blue-themed with moving platforms. The restrooms have fancy bright purple soap. Even though I consciously think about how I have suddenly arrived in a country that places notable restrictions on freedom of speech and Internet access, I don’t feel it. Eep, what an anticlimax.
tl;dr: anybody want to add me on Line or tell/remind me about other phone chat apps? betaveros as always.
Wow, talk about uninspired post titles.
I got a new phone today. Or, well, it’s second-hand, actually. I try to make electronics last a long time, but I think this was justified given the state of my last phone’s screen:
Besides, I’m going off to college and all. Anyway, the phone is pretty cool. It’s a slick shade of red, it came with a cover and everything, and it has one of those fancy 3x3-grid locks. How secure are those again?
Well, we could just find the answer on StackOverflow, but that’s boring.
I’ll probably be making filler posts for a while until I make decent progress on linear algebra and programming work, including another presentation.
Let’s listen to some more music.
It is more than slightly intimidating to go into the room through the big sliding door and see everybody dressed up in full-on green surgical garb with masks and hair nets. I don’t remember this part. Feeling a little vulnerable, I change my clothes.
I ask to listen to my iPod during the operation — I remember being able to do this during the operation four long years ago when the subject of today’s surgery was inserted into my shoulder — but the nurse(?) says it’s best not to do that because they’ll be using something electric to stop the blood. Instead I can listen to music played from a computer in the operating room. Well, okay then.
She escorts me through a bunch of twisty little passages to said room. The computer is a dual-screen Windows XP. The nurse shows me that there is a folder with random albums sorted by year. I poke through the folders and create a playlist in Windows Media Player interleaving 1989 with a collection of classics from 五月天(Mayday). Then I get on the operating table and wait. One of the nurses compliments me on my choice of the latter band. A few tracks later, I deduce that my interleaving had been to no avail because the media player was set to shuffle. I spend a lot of time on the operating table at first not doing anything except stare at the ceiling. There is a white three-legged contraption there, with each hinged limb ending in a large blue-rimmed circle of surgical lights. There are white sans-serif letters inscribed on the rims, saying Chromophare® E 668 and Berch-something. I think the “something” was a synonym for “say” or “tell”. An after-the-fact search says it’s Berchtold. Typical human memory.
Later I am covered with lots of green cloth, which blocks out the ceiling. Instead, I can only see a clipboard and random paper forms on the left side of my peripheral vision, presumably propping up the cloth. The clipboard is a highly translucent pink. The form on top is yellow and has a box saying something about somebody paying; the form on bottom is white with a black-and-pink-striped right border. The clipboard’s clip also has random streaks of black marker across a white sticker.