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.