Tuesday, November 15, 2011

just a comma

In my first blog post, I mentioned what I hope to learn in CS3216:

1) Learn new stuff

The learning process has been fun. Lots of stuff to play with which I am ashamed to say I have not touched before despite having existed for quite a while. Most satisfying moment was probably when my AJAX requests to the server worked. Instant high!

2) Challenge myself as much as possible

Indeed this has been a very challenging module. Coding wise, I have to get things done in short amounts of time without much prior experience. Time management wise, I have to juggle between this, CS3103 weekly labs and various assignments, not to mention Lions and their urgent emails. In the process I had to neglect some things, like Maths :p Last but not least, there were the situations where I had to be involved in project management as well. The opportunities were not abundant, but nevertheless precious.

3) Meet other people

CS1101S has, in a way, created a little enclave of sorts, because since then I have taken my CS projects with practically the same group of people. CS3215 was the first CS module I did a project without them (although in the end, I still ended up with a group of Schemers -.-).

The nice thing about working with friends is that we already know each other well, so it is easy to do projects with them. CS3216 is evil, because I was forced to work with new people. As I have mentioned in my previous entry, I am slow in warming up to strangers, but without time on my side, the projects had to continue. Fortunately, I feel things didn't turn out too bad.

Of course, not to say its a bad thing. Thanks to the rule on rotation of project mates, I met many interesting people, programmers and non-programmers alike, and they all have been great to work with. I hope I have done an okay job in all my projects; to those who didn't feel the same way as I did, I apologise for any shortcomings.

Oh just to mention, thanks to CS3216, I had the opportunity to work with my classmate from Anglican High again, where previous teamwork encounters were limited only to the field of soccer (pun unintended).

As repeatedly stressed upon by The Prof, CS3216 is about execution. This hit my final project group especially hard in our faces when we rolled out our web portal and no one uses it. I think its better now than when it was first released, but there's still plenty to do, and we have all learnt a lesson the hard way.

Like someone else, I like C and C++ too, and I used to dream of joining a company to make "big chunky games in C++". Unlike someone else though, I think the Web has great potential, and one day, big chunky games can definitely be run off the Web. Who knows, it might just become a standard for game distribution. Whatever it is, the Web promises to be an exciting field, and one that I will definitely consider in the future.

All in all, the time spent in CS3216 has been very memorable, and I have no regrets taking this module as an UEM. Just like Yao Ming hoping that his retirement from basketball is just a comma, and not a full stop, in his life, I hope the end of this module is just a beginning and not an end to all of us.

May everyone continue to do what they love!

Monday, November 14, 2011

all the other stuff

Ok now my turn to catch up. First up, all the small(er) stuff.

******************************

Peer Appraisal

Overall I have gotten rather positive comments from my friends, and I'm really grateful for that (now I feel guilty because I think I racked up some not-so-positive comments in return)

Going through some of their comments:
"...looked quite silent at first meeting..."

I have always been slow in warming up to people I have never met before. I shall take note of that.

"Calm and composed"

Not all the time actually; perhaps I have gotten better thanks to National Service days when people depended on me to get communications flowing.

"Too calm and composed"

>.<

"His code was not really clean."

Oh yes I agree that my code can get very messy, especially during times when I prefer to get something working before my eyes first before I think of anything else. Probably inherited this bad habit from the old days of competitive programming. Thanks for highlighting that.

"Can dress better for presentation"

Ah well wasn't thinking so much about attire when preparing for the App Seminar, but friends will know I'm not exactly a fan of formal wear. Did I sort of made up for it during Poster Presentation? =)

"Not enough confidence in your own skill."

Its quite obvious; I know it myself. Unfortunately there's no easy fix to it, especially when people around me are always owning me left, right and centre. Thanks for highlighting it though!

"Appear a little more friendly."

Hmm actually I think sometimes I have the problem of appearing too friendly. Depends on situation I guess. Shall take note of that.

"Too easygoing"

This kind of proved my point above >.<

"Be a little more kind when criticizing"

Oops. Was I too harsh? I'm really sorry about that, although I couldn't recall any situation during CS3216 where I was unkind. Actually, I don't even remember criticizing anyone (except only this Peer Appraisal). Maybe sometimes when I talk, I don't listen to myself. Apologies again.

"Seems to have something to say but doesn't say it"

Hmm compared to the comment above, I thought this describes me better. Hence I'm not sure how the above comment came about. With regards to this, I...have nothing to say.

"Can try more design stuff"

Interestingly I was in drawing class when I was young; dropped out later, and as I grew up I began to do programming, and never went back to drawing again. I do wish I can draw again, hopefully soon.

"Looks like a monkey"

-.-||

When Prof Ben sent us an email telling us to 'try harder' for the Peer Appraisal, he mentioned the following:

"If you cannot really think of bad things, it probably means that you haven't been paying sufficient attention to your friend."

Right on the bull's eye. If I have to list one thing that I can take away from this Peer Appraisal, this will be it.

******************************

HTML5 Assignment

I was very lucky to be project mates with my HTML5 assignment group. They had been awesome to work with and I had learnt alot from them. Beyond that, this was the first time I dived so deep into HTML5; I now have a better understanding of new trends and technologies like Local Storage. The process was painful, but I guess the end result wasn't too bad.

******************************

User Interface & Interaction Design + Team Dynamics Lecture

To me its a clear choice: Team first. I guess for me, the people I work with is important because a good working environment is key to turning an idea into reality, and one important factor that determines a good working environment will be the people I will be working with.

Of course I'm not saying the Ideas First camp will not work out. Ideas First means that you will attract only those who believe in the idea as much as you do; and I'm sure belief is a very powerful source of motivation. Working on something that you don't believe in will probably not result in any good work coming from you.

All that being said, ultimately its up to the individual on what he prefers. Personally I have worked in enough projects to decide that I will prefer a team where I can get along with. "Comfort in Shared Suffering", as the famous term goes.

******************************

Million Eyeballs

This is one of those lectures that got my full attention for the entire duration. Zit Seng's lecture on the scaling of web applications served to remind me just how little I know about networks, load testing, HTTP optimisation etc. To steal borrow a slide from Prof Ben's CS1101S Last Lecture:



The lecture was highly technical; I think a non CS student would have problems understanding it. However to us CS students, I think the lecture was very informative and really opened our eyes.

******************************

Facebook and Security

Compared to the previous lecture, this was slightly drier, thus besides the first part on SQL injection, I had difficulty catching up with the lecture.

I have read a little of SQL injection before, but this was a nice refresh to what I read in the past. The key takeaway is to treat security as part of the development considerations, not an afterthought.

******************************

Session with Entrepreneurs

To be honest, entrepreneurship is somewhat new to me; it was only during this lecture that I learnt what VC stands for haha.

Through the lecture we listened to the many experiences of these seasoned entrepreneurs, to highlight the fact that entrepreneurship is not for everyone, and it does require a giant leap of faith to start a business.

I don't foresee myself being an entrepreneur; never really had an interest to begin with.

******************************

As you might have noticed, the sections are getting shorter, because I'm tired and I want to sleep. Nevertheless I have more or less covered the 'small(er) stuff' as mentioned at the start; and the 'big stuff' shall come in the next entry.

Good night! (or morning, whichever way you see it)