Yet another reflection blog post

Half of my hell week’s over.. well not exactly half performance wise, since I still have 2 performances and a competition for the remaining days of the week.Its been a tiring ride this week. Aside from the normal Dance Production, a Cappella (which got cut down) and Chingay practices, we had various sound checks and rehearsals for talent time. Not to mention the RANXM practices which always starts at unearthly hours and ends.. in the morning.

I know I’ve been apologizing to people like mad (who to blame for screwing up?), but I’m sorry to Luke, Twinnies, Jason and everyone in the talent time team for failing to make the SNSD dance work and forcing them to change the item last minute. Must’ve been real tiring for all of you to practice until 4am the day before the show. Good job guys.

There are certain things in life that are just like cut injuries; they leave scars, and it doesn’t heal. Sometimes things like this would happen, not only to you, but to your other friends. I believe I’ve made scars in two of my best friends recently, and I doubt it will actually have any chance to heal. I just hope that I can do my best to make up for what I’ve done through this semester.

Ending off with this piece of inspirational story that I read from my brother’s feed. It really applies to me a lot.


When things in your life seem, almost too much to handle,
When 24 Hours in a day is not enough,
Remember the mayonnaise jar and 2 cups of coffee.

A professor stood before his philosophy class
and had some items in front of him.
When the class began, wordlessly,
He picked up a very large and empty mayonnaise jar
And proceeded to fill it with golf balls.

He then asked the students, if the jar was full.
They agreed that it was.

The professor then picked up a box of pebbles and poured
them into the jar. He shook the jar lightly.
The pebbles rolled into the open Areas between the golf balls.

He then asked the students again if the jar was full. They agreed it was.

The professor next picked up a box of sand and poured it into the jar.
Of course, the sand filled up everything else.
He asked once more if the jar was full. The students responded with a unanimous ‘yes.’

The professor then produced two cups of coffee from under the table and poured the entire contents into the jar, effectively
filling the empty space between the sand. The students laughed.

‘Now,’ said the professor, as the laughter subsided,
‘I want you to recognize that this jar represents your life.
The golf balls are the important things – family,
children, health, Friends, and Favorite passions –
Things that if everything else was lost and only they remained, Your life would still be full.

The pebbles are the other things that matter like your job, house, and car.

The sand is everything else –The small stuff.

‘If you put the sand into the jar first,’ He continued,
there is no room for the pebbles or the golf balls.
The same goes for life.

If you spend all your time and energy on the small stuff,
You will never have room for the things that are important to you.


Pay attention to the things that are critical to your happiness.
Play With your children.
Take time to get medical checkups.
Take your partner out to dinner.

There will always be time to clean the house and fix the disposal.

‘Take care of the golf balls first —
The things that really matter.
Set your priorities. The rest is just sand.

One of the students raised her hand and inquired what the coffee represented.

The professor smiled
‘I’m glad you asked’.

It just goes to show you that no matter how full your life may seem,
There’s always room for a couple of cups of coffee with a friend.’



There’s really no excuse for this, but I really overcommitted this semester.

The colors of the blocks look like the ones from my Google Calendar, lol

My brother said that I didn’t give myself breathing space to account for extra commitments, which was the case this semester, when Chingay popped out of nowhere. And now I’m really swamped with a gazillion practices, performances, competitions, and school projects. Sometimes I just wish I have time to actually breathe, relax and play some cool games of DotA. 😦

However, life’s been pretty exciting in general (it really should be, given my activities); I had a few performances over the past few weeks, and there’ll be another two performances plus one competition coming up this week. And our CS3216 project is going well too, I really have amazingly good teammates, and I’m glad to be working with them. Do support us at 🙂

Recently I’ve been learning quite a bit of things on application development too – aside from my usual technology feed everyday, the past two lectures from CS3216 have been equally helpful.

10th Oct – Zit Seng’s application development talk

I came late for the lecture as I overslept >< Zit Seng’s probably a guy you’ve known by name, if you have been trying to set up and access the NUS secure wireless network through your mobile devices (iPhone, Symbian etc). I still remember reading his post on setting up the NUS secure network on the Nokia N95, and applying it to my old Nokia 5800. Good times. Do check out his blog (click the picture).

Zit Seng touched on aspects of application scalability, including server and network bottlenecks, how to optimize apps to handle high load, load and performance testing and other things. The funny thing is that he has this line in the lecture that says you won’t really learn anything today, and it’s true to a certain extent – we are given an overview of what’s going to happen when our applications go large and really large, but for now I guess 90% of the things he covered won’t really apply to us, and that’s sad. It’s good that we have these concepts in mind though, so that as Prof Ben says, when we actually find scenarios that makes use of these concepts, we will be thankful to know these things.

He covered quite a bit on the underlying layer, which I thought was quite scary (especially the syscalls part.. eww); sometimes we really try our best to optimize our code, but won’t realize that it might be the OS layer that’s causing the problem. I probably only understood the swap part, and it makes sense – the hard disk is really a lot slower, and when you try to write to the disk it’ll only result in a cyclic delay that slows the process even more.

Overall, I guess it’s a good runthrough of the potential problems that we can encounter when the scalability of our apps go large. Definitely something to keep in mind.

17th Oct – Kai Er’s Facebook & Security + Privacy Talk

He works at IBM! How cool is that!

Security and privacy – something end users often ignore, or did not give enough attention to, until the repercussions hit them. The first thing I noticed in the workshop was the Facebook news example used – people in 2006 actually were complaining about the News Feed (which was new at that time), which is something that seems so natural on Facebook today! To think that they had a 70,000-strong group complaining and even people protesting outside Facebook’s headquarters. Facebook has been flamed quite a few times with regards to privacy but I certainly didn’t expect the News Feed to be flamed too.

And I finally understood how SQL Injection works; we insert additional queries in client input and proceed to hack the system. There’s an easy fix though (strip slashes + escape string), and I really wonder why the programmers at Sony didn’t have this basic security measure at their websites. Certainly SQL Injection is not the exploit you want to tell the world for leaking hundreds of thousands of credit card information.

Protecting our users’ security and privacy is important, and it’s something that we will start to consider when our app grows larger, but I guess not at this moment (who wants to hack a prototype with 10 users? Maybe Prof Ben..). No wonder the programming team for large applications are exponential, I guess it’s really due to all these considerations.

Another interesting thing was about ‘shift left testing’. It basically means that we should test early, in the coding phase or even in the design phase. This is because the amount of bugs that we discover is usually a lot higher if we only test after we code. If we test early, we eliminate bugs that actually might cause other bugs to appear. Much more efficient that way. 🙂


Awesome game.

Nah, I’m not referring to that game, this is really the second burnout I’ve experienced since Assignment 1. And this time it’s not because of Assignment 2 (we’re way past that period yo!), but because of the NUS Dance Blast! concert that I participated in. I’m proud to say it was a successful show, and I really enjoyed myself dancing with my fellow Blast! freshies. 🙂 At least now that it’s over my MIA period will be greatly reduced.


Planning for the Final Project hasn’t been a smooth road; I happened to be one of the last few who didn’t manage to be in any group until the deadline for team forming itself. Jun Hong pulled me into his group and explained his initial idea to me – a ‘life blog’ sort of things where users can document their lifelong journey, about the values that the user has learned through the process of documenting important events in the user’s life. Jun Hong was deeply inspired by a book that his uncle wrote (about the uncle’s life), hence this specific idea.

To be honest, I was quite skeptical of such an app at first; wouldn’t it be the same as a normal blog post instead? It’s not that I don’t see value in such an app, I’m just worried about how it can differentiate itself from other diary-like websites. I raised the issue that people might not document the important events and values in his/her life, but might just use the app randomly for nonsensical purposes. In the end, we decided that we need to have a good UI that points the users in the right direction as to what data we actually want them to contribute.

However, other considerations (such as the similarity to blogs mentioned above) led us to morphing our ideas quite a few times. I’m glad that at the very least, all of us wanted to build something that has value, instead of ‘just another utility app’. Our main focus was on self-improvement; and our final idea came from a modified idea from Yong Shen – Better Me.


Our app seeks to promote values that people in this busy, fast-paced society tend to overlook, such as patience (people are getting more angsty) and filialness (we notice many people who are not so appreciative of their family nowadays), just to name a few. We want users of our app to gain values through both himself and his friends.

In the self section, we have two ‘modes’ of self-improvement –

  • Challenge Mode – In this mode, the user can choose a specific value category, and we will provide the user with a list of tasks to complete within a week’s time. With a deadline in place, we encourage the user to actually practice the tasks that they have been assigned to, and there is incentive to update the app with your completed tasks within the deadline.
  • Free Mode – This is where the user can freely update any events that he/she has experienced/done that has improved the user’s character and values. This is for users who do not want to be tied down by the deadline but still wishes to continuously record his/her self-improvement timeline.
Of course, our app would be quite boring and comparable to a simple notebook to record the things that we have mentioned. That’s when the friend factor comes in. Our app provides  a feed of the tasks and values practiced by the user’s Facebook friends. This way, users can actually gain more insights on his/her life when knowing what his/her friends have done, and it would be better if the user chooses to practice the same values.
Some of our friends have questioned about how we are going to tackle the problem of users who do not use our app properly (in the way we want them to use). To be honest, such events have no real effective solutions; look at Facebook – there are spam accounts, events and pages that trick people into posting spam themselves. Ultimately, if the user decides not to use our app properly, he has nothing to gain, and he wouldn’t earn a good reputation in our app too (we have a thumbs-up system).
Things are still rough on the fine details of our app but I believe that this app will most certainly bring value.

A review on ‘me’

Having gone through two mini projects and a presentation in CS3216, I must say the people I meet in the module are all crazily good – be it designers, programmers or just people with cool ideas. I guess that’s the reason they passed the registration in the first place. 🙂 It’s nice to work with different types of people, and it’s good to hear their reviews too.

Of course I won’t talk about the good stuff =P

Hectic schedule. I really got to apologize for this one – I really really didn’t plan for my schedule in this semester to be that hectic, but a series of unfortunate events, including me stepping up as a performance choreographer for Chingay 2012 (as our hall was selected by Chingay) and participating in NUS Dance Blast! Concert (which will be done in 3 days’ time, thankfully), has led to my seriously crazy schedule.

Nevertheless, I hope I had provided my team with enough effort and work (still not enough as mentioned by some), and for those who pointed out that I could have done more, my sincere apologies.

Not keeping my group members updated. I admit I go MIA sometimes, and I will definitely remind myself to update my team members about coding progress.

Lousy design skills, yes, I know 😦 I think I really need to start using the inspect element feature much more to copy the way websites are styled and structured!

Too much liking for Prezi use. I love Prezi, but I guess I didn’t expect that some people are not so comfortable with it. Will definitely take note of this in the future.

Rest assured that I will let go of most commitments when I have the chance to! (But it’s too late for CS3216 no….)


Monday was discussion day, where we went through the two case studies – GetHelp and Fan Gang. There were actually a few interesting things I learned about UI design –

  • Alignment of text boxes – Apparently unaligned text boxes gives users an impression that there’s a lot of things to fill up (and hence they are deterred to use the app). Interesting.
  • ‘Wish her luck!’ button – I mentioned in my review that this button doesn’t add value, and it was true – this button turned out to be the one that was clicked the most, according to their study, because this button is ‘the easiest option’.

I find the revamped GetHelp app very nice actually, especially the descriptive events in return and the UI that allows for more customization of your help event as you fill in the rest. Definitely a good job done in 24 hours. 🙂