Monday, June 20, 2011

You don't understand something until you think it's obvious.

I learned a valuable life lesson in the course of completing my MSci degree. It's not so much about mathematics as it is about understanding mathematics or any other complicated subject.

Often in studying maths, I would spend hours or days stuck on a problem, proof, or section of a textbook. After I finally found a solution or an epiphany in what I read I would feel terrible. "I'm so stupid!" I'd exclaim. I would throw out or scratch out pages of notes, trying to blot out any evidence of the embarrassingly long time it took me to grasp the concept.

I had the same feeling just a few hours ago - but not with mathematics, with programming. I had spent the past three days trying to figure out the macro system in the Racket dialect of Lisp. I managed to write a simple message-passing object system, based on the one used in Structure and Interpretation of Computer Programs, just to see if I can. I patched together pieces of code from various samples, cargo-cult programming, until I had something working. I spent the next two days trying to understand what I wrote - noting my progress in another blog. Bit by bit, things started to come together - lot's of little epiphanies. "This is all so simple. It shouldn't have taken me three days to do this."

I remembered all the other times I had this feeling. Most of them had to do with mathematics or coursework. The most severe episode occurred as I wrote the final draft of my thesis. There was no sudden big epiphany. Rather, as I combed through my work, I recalled hundreds of little ones. "This is all so simple. It shouldn't have taken me a year. A *real mathematician* could have done it more quickly". I still have a tinge of embarrassment whenever I send it off to someone.

It's a common malady of myself and my friends who study mathematics to think that we're stupid because it's taken so long to understand something so simple. As I recalled all this occurrences I had a new epiphany: It suddenly seems simple because we suddenly understand it.

I stopped that last thought and restarted: "This is all so simple. I'm glad I finally get these macros." It's probably a lesson I could have learned without paying all that money for tuition. It seems so simple, after all.

Mathematical posts will resume shortly.


  1. A quote from Feynman seems appropriate,

    "When you are thinking about something that you don’t understand you have a terrible, uncomfortable feeling called ‘confusion’. It’s a very difficult and unhappy business. So, most of the time you are rather unhappy, actually, with this confusion. You can’t penetrate this thing. Now, is the confusion… is it because we are all some kind of apes that are kind of stupid working against this? Trying to figure out to put the two sticks together to reach the banana and we can’t quite make it? …the idea ? And I get that feeling all the time: that I am an ape trying to put two sticks together. So I always feel stupid. Once in a while, though, everything — the sticks — go together on me and I reach the banana."

  2. This comment has been removed by a blog administrator.

  3. Schoppenhauer:

    Every truth passes through three stages before it is recognized In the first it is ridiculed, in the second it is opposed, in the third it is regarded as self-evident.

  4. Once something clicks it is so simple. Try explaining E=MC^2 to the average person, it's pretty difficult. Once you have used your imagination to properly extract the knowledge you have attained from any subject, things become much clearer and much more discover-able especially flaws in a system.

  5. different perspective: why do you do this? sounds to me like you get some sort of pleasure to proof things to yourself (just because you can) and some pain (i could've/should've done this faster) afterwards. sounds like a wired mix of emotions that you want to generate for yourself for some reason. i don't know how that feels to you, but maybe it's worth a deeper exploration.