Lindsey: *reads TaPL section 18.10*Lindsey (excitedly yelling from living room): I understand late binding!Alex: Show me!Lindsey: *goes into Alex's office; writes stuff on whiteboard; talks a lot*Lindsey: ...so you can see that when we invoke method a and a calls b, we don't use the b from the superclass Foo, but instead...Alex: ...we use the b defined in Bar which extends Foo.Lindsey (a little crestfallen): Yes. That's what I was about to say. *brightens up* But the exciting part is, we can implement all this using the fixpoint combinator!Alex: Yeah, but nobody does that.Lindsey: Oh...sure they...do...Alex: No, they do it with a method lookup table and references. Bjarne explains it in the book! Or you can go look at the implementation of Java which last I checked is still open source despite Oracle's best efforts!Lindsey: Pish tosh. I reject your small-minded stateful paradigm. We shall triumph! *flounces away*Lindsey: *reads TaPL section 18.11*Benjamin Pierce (paraphrased): This sucks. Let's use a method lookup table and references.

Uh, right. So. When I declared it to be NaProLaMo, Chris chrisamaphonesuggested that I make daily updates. I suggested weekly ones instead, but I haven't been doing that, either, because I've been doing a terrible job of keeping up and I'm embarrassed. My original plan involved reading at least a chapter of TaPL every day, and at least one article or half a chapter of some other book every day. I managed to keep up the chapter-of-TaPL-a-day thing for a week, but didn't do most of the other reading, and then there was about a week and a half during which I did no quals reading whatsoever. (And it wasn't because I was slacking! I was working hard to finish my other projects!)

So now I'm desperately trying to catch up. I've been inhaling TaPL all weekend. By the end of today -- assuming the standard "today ends at 3 a.m." convention -- I'll be only two chapters away from on schedule. If you don't count the appendices, I'm well past the halfway mark now both in terms of chapter count and page count. Of course, I'm still way behind on everything else. The next week and a half is going to be insane. Every now and then, when I'm starting to feel like I'm going to die, I put down TaPL and pick up Davey and Priestley, which is kind of like deciding that Red Hat is too hard to admin so you're going to try running Slackware.1

Some of it is speedy going. Some of it is slow going. I just spent probably 30 minutes convincing myself that the least fixed point of set F is also the smallest F-closed set, which is probably about 29.5 more minutes than it should have taken. On the other hand, I maybe actually understand anything at all about coinduction now. One more chapter to go tonight. Oh, and the second half of "Blame for All" because oh, yeah, I still have actual homework to do.

I learned this sometime well into Junior year. Something along the lines of: "This could be implemented elegantly but is done (and written) much faster by doing something ABSOLUTELY DUMB that actually works."

For me it was Mandrake -> Gentoo -> Ubuntu. I was actually going to say "It's kind of like deciding that Gentoo is too hard to admin so you're going to try running Slackware", and then I realized that that might not be a completely insane thing to do! Also, I realized that Paul stereotype441 really did switch from Red Hat to Slackware, and I couldn't help but call attention to that.

I mean, especially in the insane cram mode your in, but even in general, I think you should give yourself enough credit to take stories like that with an attitude of "BWAHAHAHAHAHAHAHA" rather than "FFFFFFFFUUUUUUUUUUUU."

But maybe I've been especially tuned to this reaction due to the rather large number of times I've suddenly had an epiphany "WOW! X!" to have someone (usually Noam or Dan, actually) say "Uh, sure. Also, Y." That annoying feeling is your brain taking a misconception and painfully adjusting it into correct knowledge, which is also called learning. Horray!

I don't know. I think the F7U12 template fits well for lots of things like this, even if you're successfully learning. I mean, let's be honest about our reactions to learning things that conflict with what we wish were true! It doesn't mean that we reject them, but we may do some work in deciding whether the conflict between theory and practice is a gap in the theory or something that can't be overcome.

Plus the sheer amusement I got in getting a large F7U12 face in my LJ feed today is a good thing in itself :D

Aah - I read the F7U12 (wow I love calling it that I have learned something new) as a reaction of "I was just feeling enlightened about something that turned out to be simple and sort of wrong, embarrassed-face" rather than "the truth hurts ow ow ow why is everything so hacked together," which seems to be your read. Your reading seems better.

I sometimes compared my pre-proposal grad school experience (I realized I haven't done so as much lately, but that may be a temporary situation) as feeling like a three year old playing chess with God. And sometimes you just shake your three-year-old head and say why, why is that horsey there?.

Wait a second it is totally more like F23U22. I think Stevie is just making up this "F7U12" bollocks.

(Embarrassing admission!: Years ago, I figured out what "i18n" meant, purely from context, but I didn't figure out that the "18" meant "insert 18 missing letters here". Instead, I assumed that "i18n" was shorthand for for "internationalization into 18 languages". As usual, I win the gold in the Overthinking It Olympics.)

I am totally not! However, F7U12 is a reference to the subreddit, not necessarily a reference to the 4chan originations of the meme. :D

And yes, "rageface" is also a perfectly good appellation for the face itself; I was just thinking about the meme in general, since you could have done the entire transaction in comic form, including various other faces. :D

(The use of trollface for Benjamin Pierce's last statement would have been hilarious.)

Okay, then I stand by my original comment: give yourself a freakin' break. You're not supposed to have original research epiphanies based on crash-reading TAPL, and even if your destiny is to like, crowdsurf among your adoring fans at POPL after winning the Turing Award, while crash-reading TAPL for quals you're going to have a bunch of epiphanies that have basically already been had hundreds of times because TAPL is a textbook. A good textbook (like a good talk) will even leave some stuff out on purpose so that you get the experience of figuring it out for yourself (see point 9: "this is also called winning"). So don't treat a feature of the book as a bug in you!

Then you can go read papers in Something Else (TM) and have maybe somewhat trivial ideas in Something Else Theory, ideas that (sometimes) turn out to be novel for people in your field, and that's awesome. Or, as sully put it to sparks: "Look, you're a type theorist, not a category theorist. What type theorists do is steal things from category theory and then lie about it."

Don't read too much into this, you guys. I'm not actually upset with myself for not understanding things (nor am I actually upset that nobody actually implements late binding with fix). It's mostly just FFFFFFFFUUUUUUUUUU I have a lot of work to do FFFFFFFFUUUUUUUUUU.

My experience registered early-stage doubt and imposters syndrome, hence the pep talk. So, if I was off, even better! Generic pep talk! You are the kwiscach haderach! Or something! SPARTTTA! That speech the president character gave in Independence Day! Whooo!