Okay, I guess it was really naïve of me to suppose that I could get
any considerable amount of blogging done before the IOI ended.
Onward…
We left off at the end of the practice session. As if somebody were
taking revenge against us for not having to suffer through any airplane
trips, we were served a cold airplane meal for lunch.
Seriously, the box had a sticker that noted its manufacturer as
something something Air Kitchen and another translucent sticker that
badly covered an inscription saying the same thing in much bigger
letters. It contained a cold apple salad, a cold chicken bun, a cold
flat plastic cylinder of orange juice, and a package of plastic utensils
that was exactly like the utensils that came with every airplane meal
ever. I was disappointed, but at least the salad tasted okay, and I ate
an extra one because two of my teammates volunteered theirs.
To pass the time, we played an extra-evil
ninety-nine
variant. Apparently this is a very Taiwanese game because lots of
student guides were teaching their teams the game, although our special
cards differ from the ones Wikipedia lists in a lot of ways and our evil
variant created more opportunity for sabotage and counter-sabotage and
bluffing. 7s are used to draw your replacement card from somebody else’s
hand, and that person cannot draw again and will have one less card;
aces are used to swap your entire hand with somebody else, who also
cannot draw a card; small-value cards can be combined to form special
values (e.g. play a 2 and 5 for the effect of a 7) but after playing a
combination you can only draw one replacement card; and later, to speed
up the game, we added a rule where all 9s had to be unconditionally
discarded without replacement but would still get shuffled back into the
draw pile. Players lose if it’s their turn and they have no playable
cards, including no cards at all.
While we were playing and repeatedly reveling in everybody ganging up
to beat the winner from the last round, an instrumental version of “You
Are My Sunshine” played on repeat in the background for literally the
entire time. It wasn’t a very good version either. If you didn’t listen
carefully for the fade-out and few seconds of silence at the end of each
loop, you’d think that the loop was only one verse long.
It started with an online competition — write programs, solve
problems, get points. I wouldn’t call the problems easy, but they
weren’t hard either. So I solved all of them. To make it even less
impressive, only about twenty people submitted anything at all.
But the result was just what it was: I ended up with a free ticket to
PyCon APAC 2014.
I’d prefer a conference about a more functional programming language,
but I’ll take what I get. Another adventure!
After the first stage of selection camp, I was very nervous because I
was fifth place in a selection sequence that would finally result in a
team of four.
I screwed myself over on the first mock test by committing to a bad
implementation method on a problem that was hard to get points on. My
method seemed simple, but the memory usage leaked out in a way that was
confusing and hard to patch; unfortunately, I tried to patch it in
increasingly desperate and convoluted ways rather than scrapping the
method, and thus missed out on many of the points elsewhere.
During the second test I failed to read the last problem carefully
and spent too much of my time on the second problem, once again missing
out on a lot of relatively easy points. I had optimized and optimized
and pushed my quadratic runtime down to linearithmic, which would allow
me to get the points for the last subtask — or so I thought. But with 10
minutes left I had all but one testcase right, and after desperately
rereading my code, I realized that I had a string comparison stuck in an
inner loop that could make my runtime degenerate to quadratic if the
input string had lots of the same digit. In order to have a solidly
linearithmic algorithm, I would have to implement a
suffix array.
Ten minutes? I gave up. (The problem setters told me afterwards that
hashing would have worked too; I didn’t think of that at all. Oops.) I
spent the 10 minutes reading the last problem and still failed to read
it carefully. So that did not go very well.
But, as the title probably gave away, during the third and fourth
mock tests everything went much better than expected. :)
HabitRPG: harnessing the addiction of web games with cheap leveling mechanisms to destroy bad habits, avoid procrastination, and improve your life.
(Ironically, I discovered it on /r/InternetIsBeautiful.)
These claims sound a bit hyperbolic, but they are actually working on me. Most notably: for the three days after I discovered it, most of which has been spent at IOI selection camp away from school and worldly concerns, I’ve only gone on reddit once — and only for about two minutes.
Random video! Although I feel that I’ve heard it earlier, my first
conscious memory of getting linked to it is from
this
post. At first I thought it would be the right background music for
this post, but upon further reflection I think it mainly suited me while
I was writing this post. Well, it’s topical if you mentally replace
“day” with “year”.
Anyway. Around this time a year ago, I paused my participation in big
high-school competitions, for a variety of reasons.
Firstly, I stopped attempting to make IMO both because I wouldn’t get
that much from the training and because other people ought to have the
opportunity. I was concerned that I might condition myself to only be
able to do math with the short-term motivation of contests. Better to
focus on college math and maybe some original research, I thought.
During the year, I did lots of the former and very little of the latter.
Meh.
As for the IOI, my obvious next target: I was tired of training and
going abroad while paranoid about whether my immune system would hold
up. I didn’t feel that the IOI was worth that. To some degree, I also
felt burned out about programming. Long story short, my treatment should
end soon, and learning Haskell completely resolved the burnout
problem.
But the most important reason, I think, was that “high school was too
short”. I started math competitions ridiculously early and didn’t spend
much time exploring other interests. I thought I knew myself well enough
that I could say I didn’t have many more interests at all, but I was
completely wrong (psych nerds will reflexively note this to be the
Dunning-Kruger
effect). I coded lots in weird languages — Haskell, as mentioned
previously, plus Scala, plus all manner of other magical command line
tools. I wrote my first math problem and submitted it officially, picked
up a new instrument, went to a debate competition, served as an
unimportant tech guy for MUN, discovered and became hooked on
Pentatonix, participated in three puzzle hunts in Australia and one in
Massachusetts, figured out my rough political stance, rode a boat, got
retweeted by @eevee and
@Kyrgyzstan_News, increased my
Neopets™ fortune by over 3400%, and lurked on FurAffinity a little too
much.
I couldn’t remember how long it had been since we entered the ninth
floor. Somebody had covered the elevator area with cartoon animals and
landscapes. Not surprising, since all the children’s wards were
here.
Funny idea, that: I am still a child for medical purposes.
I was not sick. Not more than usually, anyway. I didn’t need to get
an IV drip installed or even change into the patient uniform the first
night. There was nothing to do or feel. No guilt or fear, unlike last
time — this check-up had been scheduled for along time and served as a
simple test to see how my bone marrow was doing. No annoyance, either,
because I knew it mattered; but no apprehension of the results, or of
the needles. You can never get used to the needles, but you learn to
just accept them anyway. There is nothing to be done about them.
Who knows? The result could be something bad. But I know enough not
to take this hypothetical seriously before it was anything other than
hypothetical.
I don’t think that I have ever talked about music any more than
briefly in passing. It might be confusing to my finger quotesaudience, and I worry I’ll seem inconsistent.
Well, a foolish consistency is the hobgoblin of little minds. If you
wonder, “I didn’t know that you sang and played the piano, or you liked
music in that way — or, at all…” please note that I didn’t know
either.
This is nowhere near the top, but compared to the usual results of
whatever AoPS team I form, it’s amazing. By far the best result of AoPS
was on CiSRA in 2010 (46th with 58 points), before I discovered puzzle
hunts in AoPS; unfortunately due to people getting older and the influx
of younger and younger people to the fora, there are less possible
teammates each year and they have less time, so here I am by myself.
(Also I could have accepted an invitation from a guy in the
some-form-of-Elephant team, but I figure if you can win two MUMS hunts
in a row you don’t need any more people.)
So winter vacation started and parents had planned a trip to southern
Taiwan, to get closer to nature and walk around and stuff.
Also, the MIT Mystery Hunt, the absolute granddaddy of all the other
puzzlehunts in terms of age, structure, and size, happened this weekend.
Originally, I didn’t have a team and just planned to look at the puzzles
after they got archived and try solving some puzzles read the
solutions while constantly thinking, “How could anybody ever solve
that?” Because of that, I wasn’t planning to even bring my laptop at
first; then I could force myself to study some long-overdue ring theory
during the nights. I was taken aback by a private message on Saturday
morning from somebody with many different names inviting me to
remote-solve for Random Thymes.