Don't want to be corny but suddenly I feel so grateful to end up at NUS 2 years ago. Since then I've met lots of wonderfully people. Just feel awesome now.
I guess what I tried to say was that no matter what direction our life might lead us to, we will still end up alright. That is, if we adapt a positive view of life. I took 2 gap years to apply for US universities but eventually failed to land on any of them and ended up at NUS. But now I'm happy for that. And I never feel ashamed of failing so hard back then.
Friday, May 27, 2011
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!
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.
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!
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.
Friday, February 18, 2011
"I'm feeling lucky!"
Yes! I have finally received (and accepted) internship offer from Google Sydney! It will be from Sep to Dec this year. So my upcoming year will be like this:
- Facebook (CA) Internship May to August.
- Google Sydney Internship Sep to Dec.
- THEN 1 year NOC at SV / Stanford ??
That sounds pretty crazy, don't you agree?
It wasn't very easy. Looking back 2 months everything was pretty crazy! There were so many troubles and uncertainties need to be attended. But I'm glad that I have finally had everything sorted out.
Honestly, I'm not sure if it's the best plan. But it is so exciting that I will not be hesitate to carry it out! Quoted sis Zi, "It's gonna be a challenging year!" (Nam nay nhieu thu thach day!) Whatever it is, I'm gonna face it with an open mind and a determined heart!
"Hãy yêu ngày tới dù quá mệt kiếp người.
Còn cuộc đời ta cứ vui.
Dù vắng bóng ai,
Dù vắng bóng ai."
-- "De gio cuon di" - TCS
(Mac du ko phu hop voi tam trang bai viet lam nhung ma phan nao the hien tam trang trong tgian vua qua =)
- Facebook (CA) Internship May to August.
- Google Sydney Internship Sep to Dec.
- THEN 1 year NOC at SV / Stanford ??
That sounds pretty crazy, don't you agree?
It wasn't very easy. Looking back 2 months everything was pretty crazy! There were so many troubles and uncertainties need to be attended. But I'm glad that I have finally had everything sorted out.
Honestly, I'm not sure if it's the best plan. But it is so exciting that I will not be hesitate to carry it out! Quoted sis Zi, "It's gonna be a challenging year!" (Nam nay nhieu thu thach day!) Whatever it is, I'm gonna face it with an open mind and a determined heart!
"Hãy yêu ngày tới dù quá mệt kiếp người.
Còn cuộc đời ta cứ vui.
Dù vắng bóng ai,
Dù vắng bóng ai."
-- "De gio cuon di" - TCS
(Mac du ko phu hop voi tam trang bai viet lam nhung ma phan nao the hien tam trang trong tgian vua qua =)
Sunday, January 23, 2011
Week 2? Sure or not?
It's hard to believe that we're only in the second week of this semester. I've always stayed back until late at the Mac lab for the last two weekend. This week I spent around 12-14 hours on the problem set. First week it was around 8 hours. I'm not sure how much others are spending on them, but it's not likely to be a lot less than that -- the psets are really long.
I'm not whining though; it is actually very interesting. It has been long I haven't felt I am learning so much about software engineering (and feel excited about it). Yet it's just the second week of school! I'm excited about the remaining 11 weeks (worried at the same time lol).
Objective-C is a very cool programming language. I love the way method can be defined; it's very descriptive and clear. It makes functions pretty intuitive and easy to remember. Property (dot notation) is cool and flexible. I haven't really made (real) use of its features though. Memory management turns out to be not as daunting as it seemed at first. Most of the time we don't really have to care about it because everything is auto-released. (It got me twice though... Never mind, I've understood it better!).
The coolest thing of problem set 2 is actually the testing thing. Never I seen writing unit test can be achieved so easily. And all the tests are automatically run at the compile time! It'll be very convenience for regression test. It encouraged me to do incremental testing and write test case early too! After writing few function(s), I would process to write test for them and start debugging immediately. Haha, I've never tested my program so systematically. I think we can do the same thing (creating testing suites) in Visual Studio, but too bad I didn't know that last semester, and stuck with lots of regression test.
And writing good code is always rewarding. Sometimes I feel excited & impressed when looking at a piece of well written code. Especially when it's mine =)) (sorry for bluffing=P).
By the way, it's a big mistake if I don't mention the awesomeness of the 27'' iMac. Wow. It's really really cool. You're immersed by the really big screen in front of you. It occupied your mind easily. And it's beautiful. You feel very different when you stare at the desktop filled by a great photo (esp, when it's a landscape photo -- you can feel and appreciate the vastness of the scene). My screen is usually divided to host 3 files at a time, it made switching between files no longer a pain. It really helps keep your concentration to a really high level. I'm not really used to it yet though. (and working with the Interface builder was a pain when its windows spread all over the screen, mixing up with other apps easily. (It's suggested to give Interface builder 1 desktop on its own, but we don't have "Spaces" installed). As long as people don't chit chat too much and too loudly, the lab is a perfect place!
Oh and the ipad! It deserves it own post! I will write about it later.
On a side note, I still remember that I'm taking other modules as well. And luckily, the professors are all very funny (humorous) and interesting. Still, I must be more proactive / active / prepared..
So far so good. It's still yet to see if I can survive this semester!
I'm not whining though; it is actually very interesting. It has been long I haven't felt I am learning so much about software engineering (and feel excited about it). Yet it's just the second week of school! I'm excited about the remaining 11 weeks (worried at the same time lol).
Objective-C is a very cool programming language. I love the way method can be defined; it's very descriptive and clear. It makes functions pretty intuitive and easy to remember. Property (dot notation) is cool and flexible. I haven't really made (real) use of its features though. Memory management turns out to be not as daunting as it seemed at first. Most of the time we don't really have to care about it because everything is auto-released. (It got me twice though... Never mind, I've understood it better!).
The coolest thing of problem set 2 is actually the testing thing. Never I seen writing unit test can be achieved so easily. And all the tests are automatically run at the compile time! It'll be very convenience for regression test. It encouraged me to do incremental testing and write test case early too! After writing few function(s), I would process to write test for them and start debugging immediately. Haha, I've never tested my program so systematically. I think we can do the same thing (creating testing suites) in Visual Studio, but too bad I didn't know that last semester, and stuck with lots of regression test.
And writing good code is always rewarding. Sometimes I feel excited & impressed when looking at a piece of well written code. Especially when it's mine =)) (sorry for bluffing=P).
By the way, it's a big mistake if I don't mention the awesomeness of the 27'' iMac. Wow. It's really really cool. You're immersed by the really big screen in front of you. It occupied your mind easily. And it's beautiful. You feel very different when you stare at the desktop filled by a great photo (esp, when it's a landscape photo -- you can feel and appreciate the vastness of the scene). My screen is usually divided to host 3 files at a time, it made switching between files no longer a pain. It really helps keep your concentration to a really high level. I'm not really used to it yet though. (and working with the Interface builder was a pain when its windows spread all over the screen, mixing up with other apps easily. (It's suggested to give Interface builder 1 desktop on its own, but we don't have "Spaces" installed). As long as people don't chit chat too much and too loudly, the lab is a perfect place!
Oh and the ipad! It deserves it own post! I will write about it later.
On a side note, I still remember that I'm taking other modules as well. And luckily, the professors are all very funny (humorous) and interesting. Still, I must be more proactive / active / prepared..
So far so good. It's still yet to see if I can survive this semester!
Thursday, January 20, 2011
Practice
A striking thought come to me when I think about the running yesterday, and about practice in general. It was very different from my belief so far.
In doing heavy, harsh practice (or training), one shouldn't have to resort to too much pure willpower to finish it (ie continue because of pure determination, with no interest at all). If one reaches the state that he has lost all his interest, he should continue, but not for too long. He better takes a break soon, have some reflections or so, rather than continue just because he has to complete it! The reason is that if you relied on will power alone, without interest, you might be discouraged to repeat the training in the long run. It's like you win the current round but lose your interest, and lose the big game. Practice should be used to foster interest, not destroy it.
An analogy to this is that you don't want to eat your favorite dish repeatedly for too long. It's gonna become your hate dish. You better have it once in awhile, and the rest of the time your mind will dreaming about having it again!
However, certainly without harsh training you're not gonna be able to improve your skill. Ideally you should exceed your current limit, yet refrain from using up all your willpower. That's knowing you limit and your real limit.
That's tricky. It might not work for me, because if I stopped before I completed the training, I might feel like a loser. Also, I'm not sure how much of it is true, and to what extend or what situation should it be applied. Please feel free to give me your thoughts on this.
In doing heavy, harsh practice (or training), one shouldn't have to resort to too much pure willpower to finish it (ie continue because of pure determination, with no interest at all). If one reaches the state that he has lost all his interest, he should continue, but not for too long. He better takes a break soon, have some reflections or so, rather than continue just because he has to complete it! The reason is that if you relied on will power alone, without interest, you might be discouraged to repeat the training in the long run. It's like you win the current round but lose your interest, and lose the big game. Practice should be used to foster interest, not destroy it.
An analogy to this is that you don't want to eat your favorite dish repeatedly for too long. It's gonna become your hate dish. You better have it once in awhile, and the rest of the time your mind will dreaming about having it again!
However, certainly without harsh training you're not gonna be able to improve your skill. Ideally you should exceed your current limit, yet refrain from using up all your willpower. That's knowing you limit and your real limit.
That's tricky. It might not work for me, because if I stopped before I completed the training, I might feel like a loser. Also, I'm not sure how much of it is true, and to what extend or what situation should it be applied. Please feel free to give me your thoughts on this.
Thursday, January 13, 2011
New semester has started!
*.. and it's gonna be really really long!
It's been a long time I haven't written anything. There were a lot of things I wanted to write about. However, you think you need sometimes for reflection after some days. Then after a few days, things became less relevant and you didn't have the urge feeling to write about them anymore. You probably even forgot about them already.
In fact, that might be an attribute of Martians? I don't mean I'm a Martian but you sure know the analogy between men and Mars, women and Venus. It is said that men has a tendency to solve his problems by himself. For awhile I tried to express my thoughts about different stuff, but then I still couldn't resist the men's tendency to hide in my cave and think about things on my own. Probably... Actually it's just a lame introduction about that I am taking a writing module named WP2201C Mars and Venus (Mis)Communication. Throughout the semester I will keep blogging the topic in this blog: http://justanearthling.blogspot.com/ Please follow it!
Another module I want to mention is CS3217, iPad Programming. Yes! I've loaned a brand new iPad for the whole semester! Com'on, how cool is that? (Does it sound like any particular person?) I'm planning to blog diligently about the learning experience during the course of the module. (Hopefully more often than how I blogged during CS3216 course). One thing I want to hight light about the course so far is how prof (prof == prof Ben Leong) appreciated writing good documentation. You probably think that it's a waste of time, or you tend to skip it. But it's NOT about you! It's about the ones that have to read and maintain your code. It's about that poor fellow, not you! Give him some mercy. In case you haven't read it, you probably want to read my old blog post about this matter: http://manhhung741.blogspot.com/2010/09/one-day-of-programmer.html. After the experience I've determined to write good comments and documentations of my code. I am carrying it out really seriously!
That's it for today! Stay tuned for more updates.
Sunday, November 28, 2010
Life goes on
Few days ago I intended to write a very long blog post about this semester. I wanted to write how hard it was to keep balance and mood during busy time (kinda impossible), what we should look for when selecting teammates (passionate & devotion), that you're not gonna get anything done (well) when you're in bad mood, or that I learned to be a little more caring toward my family (& show them my love toward them), et cetera. I also wanted to review the modules I took. I even got pretty excited when organizing my thoughts. But suddenly, the next morning, all my thought were gone. And I got disinterested too.
Or perhaps that's one thing I learned more? For *that* I mean moving on. I just felt that everything was up. No, more accurately, I didn't feel anything (about the past). I just felt free again. And I was ready for the next thing to come. Like a RAM of a computer, when you restarted the computer, it lost all the data and was kind of anew again. Might not be totally new, but I'm sure emotions were the first to be erased. Now thinking about it, did you ever dream, when you were sad or experienced negative feelings, that the next day you'll be happy again? Yes! Isn't it awesome. But when it comes to positive feelings, it's kind of sad. Whatever it is, you gotta move on.
Yay I'm ready to move on. Thing's getting pretty exciting. Life's promising more and more adventures. And adventures are all what I'm up to for now.
Or perhaps that's one thing I learned more? For *that* I mean moving on. I just felt that everything was up. No, more accurately, I didn't feel anything (about the past). I just felt free again. And I was ready for the next thing to come. Like a RAM of a computer, when you restarted the computer, it lost all the data and was kind of anew again. Might not be totally new, but I'm sure emotions were the first to be erased. Now thinking about it, did you ever dream, when you were sad or experienced negative feelings, that the next day you'll be happy again? Yes! Isn't it awesome. But when it comes to positive feelings, it's kind of sad. Whatever it is, you gotta move on.
Yay I'm ready to move on. Thing's getting pretty exciting. Life's promising more and more adventures. And adventures are all what I'm up to for now.
Subscribe to:
Posts (Atom)