Monday, March 7, 2011

Because you're young (?)

Recess week was over for a week already, but I haven't really escaped from the hibernation mode gained after it. Well, the reason for hibernation was not that I slacked too much in the recess week and carried it over, but it was the exact opposite! I was too tired. It was really stressful. The first time I really wanted to slack off and sleep the whole day. Except for 1 day I went for part time job, I spent most of the time in PL1! 2 nights slept there! (And some sleepless night also). We (I have a handful of companions, more on them later) would stick with the computer all the time, occasionally slept for a couple of hours.

Let me tell you, marathon programming is not fun at all. It really kills your nerves. And after long hours of programming, your mind doesn't really think straight. You will occasionally find a silly bug (I always say all bugs are silly) that cost you hours of debugging. Someone would ask why didn't we choose a healthier life style, like taking proper rest. But there's something called deadline!

There is some merit in this comic. The word you hear the most in a programming lab is probably "WTF." In different languages!

Actually, I cannot really blame our (evil) prof (=P) for all the suffering. He's quite evil, indeed. But a huge part of the time I spent there were for extra features! It's written there, clearly, that they are not required. Not required for an A+, not required for a free trip to WWDC. But I wasn't really want to die for an A+, or strongly interested in the free trip (I will be near there anw!). So I really really wondered why I suffered so much for it. Actually I wondered more about my friends. LOL. They were like having lots of extra features by Thursday already, yet on Sunday you still found them camping in the lab! I was actually quite slack compared to them; I only really camped at the lab since Thursday. For them? Some of them stayed in the lab all the way from Monday to Friday! One of my friend (Long) said something like: "I know that I'm not (as) good, so I'm gonna spend more time on it!" Very deliberate! I respect. Another one (Hoang) got a midterm on Monday, so he decided that he would go back on Saturday (he had a lot of extra features already, like different wolf's breathes -- real different breathes, not just different in appearance like most people) and study for his mid term. But Sunday I still found him come back to the lab, continue working on his game! There were something that bugged him and he couldn't stop working on it (yet!).

I did not really ask others for their ultimate reasons, but if they were like me, which is very likely, it would mainly because you wanted to make something decent. Without the extra features, the game wouldn't be really cool. It would not be really a game, even. So you went and implemented some extra features, which brought a long hours of debugging and testing. Besides, you have to fix here and there to fit the new thing in also. Ultimately you literally killed yourself for some cool features you wanted. There's no point to regret, though.

Besides, there is one thing I realized when looking at my friends and myself: once you're stuck at a point, you're not gonna give up easily. It's not really wise sometimes, but it's what happened. There's a certain force that attach you to the code until you eventually solve the problem. I think a bug can be considered a mystery that we have to discover (and solve!), otherwise it's gonna bug us the whole time. It's really funny when it comes to meal time. We would wait for each other to finish the piece we're working on, because no one was willing to stop. But you thought you could cook something up while waiting for others, so started coding something. You couldn't make it, though. By the time others wanted to go, you'd want to work just a little more on your code. And they started to wonder if they could have something done meanwhile... Well, you know the story. It always took 30minutes - 1 hour until we eventually went for meal.

One thing I think it was good for was building relationship (friendship). After so much hours suffering together, I think we really became closer. Everyone would willing to help other to debug their program. I must admit that others' insights are always very helpful! Even critical! Thank to my friends (experience) I saved a lot of time debugging. I hope I helped them a little also. Never forget to ask for others' piece of advice when you're stuck at something; they might know something you don't. (Especially true in this case, because we are all very new to objective-C and iOS).

In the other hand, I think spending too much time on the problem sets wasn't a really good idea. You're gonna go through hell to become stronger, but when you're busy with some assignments, you will not have time to discover other stuff. Besides, you need to have time to ponder and reflect about stuff happened. In this case we didn't have much time to explore ideas for final project. (I can't really blame anyone though). But what really bugged me was that Patrick didn't do anything special / really extra features / outside requirement for his game. He always did, wayy extra actually. And another friend complained that he didn't feel the passion to implement the extra features. He said that it wasn't his idea, and it wasn't very significant to do it anyway, so it didn't really fueled him to die die for it.

P/S: I really think I overdid it this semester when taking 6 modules, one of which is cs3217, and doing part time job, which takes around 10 hours a week. Sometimes I felt like killing myself literally. I need to learn to cope with stress better :-(

P/S2: the title was a little random. It was the first thought come to my mind before writing this, so I will just keep it there.

6 comments:

  1. I like your notes; they r always inspired. I often look back to myself after reading. But the more I compare, the more I become negative, :|Although I know that our ways r not the same.

    U will have a weekend w another PL! ^^

    ReplyDelete
  2. OMG I want to inspire people but does it actually turn out bad like that =(
    No no this weekend you've got something to do, remember :-w

    ReplyDelete
  3. :) comfort in shared suffering :)
    I always like this quote, from Chun Teck, my ex-teammate and currently iPad "suffering", wonder where this come from, though (evil prof?? ;)) )

    though I don't have the chance to suffer the objective-C, I found the part about friendship is really true. Just upstairs, in our CEG lab, I also made new friends while coding together :)
    I guess there 're a lot more for u to take home besides objective C :D

    Have fun coding ;)

    ReplyDelete
  4. Where is the like button? ;)

    ReplyDelete
  5. I think you'll share the feeling that because we pushed ourselves so much, we're better than before. :-) It's quite simple actually, to get better we need to go beyond the limit we're comfortable with!

    ReplyDelete
  6. Besides, you need to have time to ponder and reflect about stuff happened. In this case we didn't have much time to explore ideas for final project.

    Yes. Thinking is very important for learning. Overdoing things and not having time for reflection is bad for learning.

    I really think I overdid it this semester when taking 6 modules, one of which is cs3217, and doing part time job, which takes around 10 hours a week. Sometimes I felt like killing myself literally. I need to learn to cope with stress better

    Dun worry too much. Survive the next couple of weeks and then chill out a little over the summer. Always push yourself, but when you overdo it, scale back so that you dun burn out. Very hard to reach the correct level when you do stuff like that. Your prof here is also doing some TCP-like thing. :-)

    As you push yourself more and more over time, your ability to take stress and do more will gradually increase. It's a slow and steady process.

    ReplyDelete