HabitRPG

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. Instead, when I got bored of programming, I worked on economics homework, which is something that never came close to happening during the earlier iteration of camp. I just finished it and checked the to-do item off; as a result, I leveled up to Level 2 and unlocked the item shop. Yay! The sense of achievement is every bit as real as it is ludicrous.

I don’t know if I should be happy that I finally found such an effective way to psychologically manipulate myself out of procrastination, or sad that I’m so susceptible to psychological manipulation. I also don’t know if this game will be so effective after its novelty wears off, but considering the fact that I stuck with my last equally ridiculous sort-of-RPG for about three years, I can hope it’ll work for a while.

One of the unproductive things I’m trying not to do is staring at blog posts that don’t really have a solid conclusion and spending half an hour writing and deleting the last sentence, so I’m going to avoid doing that. Let’s be productive together!

Puzzle 45 / Fillomino [No-Path]

As requested, a puzzle post! Straight from the WTF-variant department. Quite hard.

This is a Fillomino, with the additional constraint that for each polyomino, there must not exist a path (i.e. a sequence of cells, each orthogonally adjacent to the next) that includes each of the polyomino’s cells exactly once (and does not include cells outside the polyomino).

As a degenerate case, 1-ominoes are banned as well.

fillomino-no-path

Adventures in Cabal Installations

First Google Code Jam!

The format of this competition, allowing us to run programs on our own machines, brought up a very interesting issue for me: what programming language should I be using? (I had had similar considerations for IPSC 2013, but GCJ’s problems are closer to the traditional ACM-ICPC style.)

The obvious choice is C++, the language I use for roughly every other competition, but its safety (or lack thereof) is not very appealing. I need speed, but not that much speed. Unfortunately I still haven’t gotten around to learning any other friendlier mid-level languages (on the list: D, Go, or Rust), so I have no close substitutes for C++ right now.

Python is certainly available for a reliable arbitrary-length integer type, if nothing else.

As for non-candidates, Java has BigInteger and memory safety, but all in all I decided the benefits are too minor and it’s too ugly without operator overloading. Scala is probably way too slow. So I don’t expect to be writing either language.

The only difficult choice I have to make is, of course, Haskell — which can be quite fast, even while it’s ridiculously type-safe and expressive and referentially transparent and easy to reason about, once you’ve:

  1. figured out how to do the problem
  2. scrapped step 1 and actually figured out how to do the problem functionally
  3. gotten the thing to compile

Even if I can handle step 1, step 2 is by no means a simple task, as my struggle to implement a mere Sieve of Eratosthenes efficiently shows. That is fun, but not at all intuitive; I am doubtful I can do this under contest conditions. It is extremely difficult to transfer my skills in learning how to implement, say, a segment tree or treap into this language.

But! Google links to the programming language breakdown for 2010 Qualification Round as an example, and much to my surprise, Haskell ranks somewhere between sixth and tenth place in popularity (depending on what you sort by), so there are functional superprogrammers who can presumably do something like this.

As it happens, I ended up implementing all four solutions to the qualification rounds in Haskell, because of the relaxed time limit and lack of any involved algorithms and data structures. I think it was worth it.
Continue reading

Empty

I feel a little empty right now, for several reasons.

One is that I haven’t blogged about anything here for one month, almost two. There is absolutely no possible way to apply an excuse about not having anything to blog about. No zarking way, self. What happened? My dozens of drafts have all gotten stuck in draft limbo, occasionally getting pulled out to have a few words added or deleted but otherwise completely idle. There are a lot of posts in that box that will probably never be posted. I cannot deceive myself that they haven’t been posted because they’re not worth posting. Of course I didn’t feel as strongly about them as I did about the SAT post, but there’s still a lot of me in them.

Why? I don’t know; perfectionist tendencies, procrastination, and a constantly looming sense of I-should-be-doing-something-else-because-I-want-to-make-the-IOI-team-and-get-into-a-good-college are among the suspects. The usual ones.

Two is that I’m beginning to feel a general deterioration of my writing skills under AP English Langugage & Composition. There’s more time for each essay in the test than the essay in the you-know-which-standardized-test, but it’s still vomit-inducingly formulaic. Writing should be about free thought and deep introspection. Writing should not be a blitz game of whack-the-mole built on adrenaline-soaked reflexes. My last two practice forty-minute essays included rambling about Galileo and Emerson and Allie Brosh and other people who came to mind after free-associating with the topic. They are all terrible, boring, clichéd-as-cake examples, but there is no time for anything else. There is no time for actual thinking.

I feel that I can survive with my writing style and skills unscathed if I write enough on my own, but as evidenced by point one, I’m not doing that. Plus, I may still have one more year of similar English testing to grind through.

Which brings us to point three, a recent guidance (euphemism for “college-counseling”, which is euphemism for “game the system with all your heart”) class all about college selectivity and senior AP courseloads during which I was confronted with a lot of unanticipated claims and revelations.

AP courseload! I should take the next AP English (Literature & Composition), right? I’ve been on the honor track with high enough grades for long enough that it would be folly to expect anything else, right? What a no-brainer; why is this even up for debate?

It’s funny, I like English, and I enjoy literature to some degree (especially if the word is defined generally enough to include fantasy and sci-fi (but exclude Game of Thrones (hashtag #unpopularopinion))). But after being led into the college mindset and system, just the “AP” thing by itself makes me suspicious.

AP means “college-level”. Big deal; calling the course that doesn’t magically make it so. The number of AP courses at our school that are actually taught and taken at college-level standards is probably countable on one hand. There’s this… human component to things. This cuts both ways.

AP means “we expect to take a complete assessment of your skill and learning in three to four hours”. This is due to the physical limitations of time, people, the real world. It’s logistics. That’s, at the very least, understandable.

AP implies “you will be pushed to learn how to provide evidence of your skill and learning in three to four hours”, which is a big problem.

This is exactly the same argument I finally used against the SAT — it’s just that now the courses where students are taught how to game the test is given much more legitimacy. Our teacher is good and there are lots of actual real-world English lessons and exposure in addition to mock tests. Nevertheless, the test format is still imposed rigorously enough on us that I feel my writing and blogging style being stifled. I’m learning, but not what I want to learn. That’s disappointing.

Now, I think this is really only a problem for subjective and artistic subjects like English. For a subject such as, say, AP Biology, the topics you learn to write essays and answer multiple-choice questions are just biology topics. There are some strategies to keep in mind, like blatantly mentioning the “hot-button terms” or whatever, but you’re still studying the same underlying set of biology facts and theories.

Writing is not like this. Writing cannot be made like this. I think English is worth knowing, Language and Literature and Composition and everything they entail are worth knowing, but I cannot appreciate them after the AP test format has been applied. To this day I have not written anything I’m proud of while under a time limit measured in minutes or hours. It’s just words strung together into a first draft. Anybody can write a first draft. It takes a strong writer to throw it away because it’s utter rubbish;t takes a stronger writer to persevere and polish that utter rubbish into a gem.

And that’s only really doable if you can feel for the subject. I’m worked up enough over all the real-life controversies happening around me — the Sunflower Movement right next door, Twitter fighting over Mozilla’s CEO, the last day of the MH370′s black box — and these are just the recent incidents projected onto a backscreen perpetually filled with climate change denial and backhanded pharmaceutical business practices and wars over water sources and the entire godforsaken PRISM business.

How do you expect me to get behind an essay about locavores, to feel or express the slightest modicum of emotion or strength? Who am I supposed to be convincing?

(But… do I expect the regular English course to be better?)

There are also other course choices and considerations for next year to be concerned about, such as this one-year fine arts requirement that (quoth the counselor) “lots of colleges” have, notably the UC system. I have not yet found evidence that the colleges I’m considering have such a requirement or recommendation. I thought my classes and extracurriculars would already make me well-rounded enough. Now I’m just confused.

If I had to fulfill such a requirement, it would likely make for a painfully empty senior year. There simply aren’t any art electives left that I want to take, except in the sense that taking them will free up my schedule for other things.

Unfortunately, I don’t think I’m very good at sustained self-motivating. Not in this environment, I tell myself; not for the limited things that this school can expose me to. Maybe things will be different when I’m surrounded by equally passionate people, but I can’t do that year-round in high school. Alas.

And finally, more test-taking: according to this counselor, everybody is supposed to have taken the AP Chinese test — because free AP credits, duh. I haven’t, because our previous counselor said otherwise (what’s the point? What score do you expect a guy to get, if he’s taken twelve years of courses on an island where 99.99% of people speak the language natively?) and because the cost is still high enough to bother me.

There are no more opportunities before application season now. I’m still mostly skeptical, but this guy is supposed to be good at his job.

I have reasons to doubt that any of these things will be the game-changer, of course. But I’m still loss averse, and when everything is added up there’s enough of it to be emotionally troubling. A much larger commitment is required here if I want to “play it safe”. As I said, the prices of taking the actual tests are significant. But more importantly, these are year-long courses!

Decisions are hard.


Sometimes I feel like going through the college admissions process is like picking a religion.

The average religious person believes in the numbers. They worship test scores and GPAs and the number of APs taken. They work hard to get these numbers and burn them as offerings to please the great admission deities. There’s not much else that can be done with those numbers, anyway.

There are degrees of religiousness, of course. The zealots consecrate their entire lives to getting those numbers: they take daily test prep classes, they pick courses based on how lenient the teacher’s grading standards are, they found a few clubs or serve as officers on the side in the name of HYPSM their Savior. The more liberal people instead posit that the gods use “holistic admissions” and that test scores don’t matter that much; as long as you have a pure, intellectual, inquisitive heart and follow it, you will be rewarded. Of course, usually that intellectual spirit will generate a good test score as a side effect, because intelligence is intelligence, right?

The nonbelievers have decided that it doesn’t matter which college you go to; it’s more important to motivate yourself to get job experience, build stuff, make the most of high-school when it lasts. College admission works in mysterious ways. If decisions day come and you don’t get accepted, well, that just shows the colleges can’t appreciate intellectual integrity and you wouldn’t have wanted to patronize them anyway.

Finally there are the cultists, who primarily brainwash people into paying them lots of money with promises of getting accepted. And sometimes it works.

Whom to trust? What evidence do we have?

The holy books of Ivy League college websites are full of vague messages that can be freely interpreted.

There are prophets who have seen the light and can offer wonderful anecdotal evidence that X route of preparation works or that Y route doesn’t, for wildly varying and usually overlapping values of X and Y. There are entire websites dedicated to such prophets. But the liberals and nonbelievers have mostly long since transcended that, due to selection bias and trolls.

Unlike the average religion, the deities regularly make announcements. Still, the announcements are usually cryptic and indirect towards the issue at hand, which is “How do I get into your school?” Some of them will kindly tell you that test scores don’t matter that much, and then turn around and release a crazy statistic about the average SAT. Do what you love… you don’t have to cure cancer or build a nuclear reactor in your garage… but you also have to take challenging courses, have a complex life story, serve your community, and so on ad nauseam. Besides, they say, college is meant to be a match for you instead of a prize, so you should just be honest and you’ll end up at the college where you belong, however prestigious it is or isn’t. Yes, try telling that to our parents.

That’s the other thing: the admissions deities know a whole lot, but they’re not omniscient, so there can objectively said to be room for second-guessing and gaming the system. Estimates of how much room there is differ wildly, of course.

So, all in all, the evidence is scattered enough that there’s no really good way to debate (“defend, challenge, or qualify”) any of these stances.

I’m so sick of this. Can I label myself an agnostic apatheist, say that I don’t have time to quintuple-check my blog post, and get this over with? I have two big selection tests in around two weeks.

Re-Re-Revisiting the SAT

First, I got worked up about the test. Then I got a score and ranted about it on this blog. (I’m still uncertainly hoping that didn’t come off as arrogant. Let me add, I did not get a perfect PSAT.) Then a friend pitched to me the idea that I write an article about it for my school newspaper, which I did. It was far too long. As if that weren’t enough, I then decided to examine whether the SAT was an accurate prediction of “academic ability and success” for my English research paper. Now I’ve come full circle to this blog, where I’m going to try to synthesize and conclude everything, free of the shackles of the research paper format, to allow me to move on with my life. This post contains bits lifted from all three essays and lots of new stuff; I’ve been editing it for so long that I feel like I have it memorized. Its word count is around that of the newspaper article plus the research paper, i.e. far far far too long.

But whatever, nobody reads this blog anyway and I have to get this out of my system. When I said I wanted to “move on with my life”, I really meant my winter homework. Oops!

Disclaimer: I am not an admissions officer. I have not yet even been accepted to a prestigious university (despite rumors to the contrary…), for whatever definition of “prestigious”, unlike some of the bloggers I’m referencing. So some of this is pure speculation. On the other hand, some of it is researched and referenced, and I think the pure speculation still makes sense. That’s why I’m posting it.

Okay, here we go…

Let’s start with the question of accurate prediction. The SAT is a useful predictor, but not as useful as one might assume. Intuitively, it ought to be more accurate than other metrics because it’s a standardized test, whereas GPAs other awards vary by habits of teacher and region and are hard to compare objectively. But as a study from the College Board itself (PDF) found:

the correlation of HSGPA [high-school GPA] and FYGPA [first-year GPA in college] is 0.36 (Adj. r = 0.54), which is slightly higher than the multiple correlation of the SAT (critical reading, math, and writing combined) with FYGPA (r = 0.35, Adj. r = 0.53).

Of course, that doesn’t mean the SAT is worthless, because combining the SAT score and high school GPA results in a more accurate metric than either one alone. But by “more accurate” I refer to a marginal improvement of 0.08 correlation.

Continue reading

The Sands of Time

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.

But now, dear competition world, I’m back.

Continue reading