Ah Beng The Movie: Three Wishes – A Consolidation of Feelings about the Future of Malaysian BigScreen Film?


Today I watched the midnight run of Ah Beng The Movie with the No.33-Gang. For some reason I felt a tingling in my heart as the show progress. I looked within, though it was a sad scene when I felt the tingling, it was more. I looked around, the whole cinema, full house, was fully engrossed in the movie. Then as the main actor did a slapstick witty line, everyone laughed.

For a moment there, I felt a tinge of hope. Isn’t that what a movie director & the script writer would hope for? That the masterpiece being played on the big screen is able to captivate the audience’s emotions at every nook and turn; That as the plot progress, the audience chuckled, laughed, kept-quiet (sobbing?) as and when they are supposed to be; That sadness, joyfulness, suspense, anger, happiness on the screen will resonate down to the audience; That the audience is able to empathize with the characters on screen. Isn’t that it’s all about? For a moment there, it is as if I have felt what the people-involved-in-the-film would have felt if they were in TGV movie theatre 3 at around 1:30am on the 25th of January 2012.

As I glanced around the theatre, it’s full house. I believe the same might have happened in the earlier show timings. I see parents who brought their toddlers along. I thought I heard some baby-cries, I might be wrong. But it might just be a common happening during Chinese New Year. I can’t even remember when was the last time I actually watched a movie during Chinese New Year, 半夜场更不用说。But I really cannot recall any other time where a local film production garner a full house during the midnight run. Or at least I have not heard of it being mentioned even if it has happened before.

It is as if people are really returning to the cinema theatre. That “let’s watch a local movie production” deserves a spot on our “to-do list”. Perhaps the “Support Original” campaign is finally working. Perhaps people are getting more affluent. Perhaps it’s just me being the usual out-of-touch self. That the situation wasn’t that bad before this.

Just as the credits rolled, once again I am bedazzled by some unique behaviour. Most of us are still seated and people actually pay attention to the rolling names, pointing out names in which they recognize, commenting on the actors’ performance earlier. That — is truly a rare scene indeed. Why is it so? Let me go into some details :-

If you have watched a movie in Malaysian Cinemas before, you are bound to be appalled by the unfailing kind act of the cinema staff to open the EXIT door at the ending scene of a movie. Well, you might say they are just doing their job, part of their service to give the audience some preparatory time to leave the theatre. But it is so annoying. The ending scene of a movie are usually a resolution scene. We are supposed to immerse ourselves in the scene and sometimes to give some serious thought about the show we have just watched. But the cinema staff have to, have to spoil it all by opening the EXIT door.

Of course, the most important reason to stay on just a little while after the rolling credits is so that we can honour the people who worked so hard behind-the-scenes. Staying back a little while more and carefully look at the names is the very least we could do, as appreciation to them.

Try to recall the last time you actually sat through the entire credit roll. Wait, how about half the credit roll? One-third?  Was it because someone told you that there was a hidden trailer at the end of the credits.


But today, today is a spectacular day indeed. There are quite a number of people stayed back for the credit roll. I had a feeling that they are genuinely touched by the movie and decided to stay on just a little while longer. How do I know? I don’t know, I felt it.

Lastly, sponsors & product placements. This might not be the smoothest product placement film but you can feel that the script-writer tried. Nonetheless, the last time I counted, there were more than 6 sponsors that appeared in the film itself. Why are they doing this? Would you want to have your product appear in a show that doesn’t sell? Of course not. Hence the existence of so many product placement in the film might suggest that companies are starting to notice local movie production. As much as I dislike the notion of a movie industry dependent on a sponsor’s wimp, money seem to be the most efficient fuel to push the industry forward.

From the execution of the movie technicalities, the spectacular audience numbers, the audience’s behaviour during credit roll to the willingness of companies to sponsor a local movie production. All things considered, I think this shows a promising future of the local movie production scene.

But then all these might just have been a simple surge of emotion from a guy who had not touched-the-ground for far too long. At times, he seemed almost out of touch with the happenings in his home country, his home town. So take my words with a pinch of salt. Go and try it out for yourselves. Open your eyes and your ears, you might just catch a glimpse of what it is about to come. We shall see.


Now as for me, it hurts to think that I have to spend more of my time in the next 3 years glancing over the causeway to keep myself up to date with the exciting growing movie industry. Now I’m sure I will be able to still do something….

Final Post for CS3216 v2.0

And so here I am, the second time now. Haha.

So as per tradition, we are supposed to write a blog post about what have we learned from the class.

This is what I wrote the last time around, back in 2010 “What have I learned from Cs3216” and this is what I wrote when I set out on this crazy journey 12 weeks ago “What I hope to learn in CS3216 again

I wanted to be a competent programmer. Did I become one? Er… maybe… maybe not.

Assignment 2 (Mobile Cloud) was quite a good training ground. I did quite a bit of javascript, JQuery mostly. But still I could not catch up with the real elite programmers. So when we decide to go full blast on developing an iOS Native App for the Singapore Heritage: Mobile, I know my days as programmer are numbered. It does not help as my Day Job (8:30am – 6pm) started around the same time. I tell you, you will be surprised how little time you have left for other projects once you start working. And my job is already quite flexible.

Anyway, there is no point ranting on and on about what I did not achieve. It is not that I have no choice. I made the decision and so be it.

But not all things are dark and bleak, the Singapore Heritage: Mobile project was a blast. I think I never had so much fun and sense of accomplishment in any school project before. Everyone in the team is so intrinsically motivated. I have never seen anything like these before. I guess this is what it means to have SYNERGY. When all our beings flow in the same direction. I really have no other explanation other than it’s God’s divine will that brought all of us together. I know I have said it before, but Alan, Zhenling, Kenneth, David, you guys (and girl) are simple 2AWESOME! I hope that you will continue to work with Sharon and me on this exciting project. Kenneth is right when he summed our experience up with the punchline “It was Gr8! And now, it’s simply 2Awesome“. (note: “Gr8” was “Group 8” for our Singapore River Assignment 2 group and “2Awesome” is “Group 2” for our final project group.)

1-2 weeks into the final project, I knew I could not commit the time required to be a “useful” programmer. So I fall back on what I do best, to be the morale-booster, technical and logistical support. Day by day my constant worry is that whether I have contributed enough to the group. I hope I did. For all the technical incompetencies, I supplement it with my enthusiasm and creativity. Alan described me as “wacky”. I think it’s quite apt.

I also got to fulfill my chinese martial art time travel dream. HOHOHO.

joshuatj kungfu fist
joshuatj kungfu fist. Thanks ZhenLing for the braid!


Of course, no project is complete without a nice video to sum it up. For some reason, video production seems to always find its way back into my hands. Here take a look at it, it’s only 30secs. Leave some comments.

One thing that I learned from making this video. Not really learned, more of reinforced. It’s that video editing, the piecing up the clips part, it’s the easiest of the whole process. The hardest part is coming up with the idea, putting it down on paper, refining it till it flows of honey. That, is the hardest part in making a video.

Looks like it is going to be a long while more before I will be a competent programmer. I will not give up though. At the very least I am now holding the title of “IT Officer”, I will have ample opportunity to practice my programming skills. World, you just wait, I’m coming to make a dent in you. Media + Programming, you just see what I can do, you just see….



(One last assignment we had to do is to read all 42 other people’s blog and do a “Mutual Blog Grading Survey”. Prof. Ben likes to outsource his work. So here we are, reading all of our course mates’ blog posts. Fortunately for me, ever since I have gotten my Galaxy S II, I have been keeping up with the blog posts. Not all of them, but I think I did read most of them. One thing I dislike reading blog post on the go is that there’s no one easy way to comment on the blog post that I have read. )

Exciting Times! Exciting Apps!

The order of presentations

  1. Cab.sg
  2. Mystery Story
  3. UOMe
  4. Yun Reading
  5. Rob the Robot
  6. Mobile Lions
  7. Appetit
  8. Letters to Amanda
  9. Better Me
  10. Trove
  11. Singapore River
Most of the opinions below are based on just listening to the presentation by the developer team. I would love to testflight all of the apps when they are launched.

First up we have Cab.sg. Simple Interface. Functional. They bought the domain Cab.sg, launching tomorrow (Nov 1, 2011). The main feature is the ability to “Book a Cab” by one touch.
This is one app that I will really use as it’s getting harder and harder to get a cab, especially after the two Integrate Resorts (IR) came up. According to one cab driver, cabs nowadays prefer to line up outside IR as they might get tipped highly by winning gamblers taking their cab. So there you have it.

Second up we have Mystery Story http://mysterystory.me/alpha/
– Interesting
– I like Mystery/Detective Stories – reminds me of DOS Text Adventure Games

UOMe. This is another app that I would really use. Right now I’m using EasyMoney an Android app to track the iOweU/uOweMe transactions. But it uses the complicated accounting system of “Accounts/Withdraw/Deposit”. It took me quite some time to get used to whether I’m supposed to “Withdraw” from my friends “Account” when he owes me money or should I “Deposit“. Perhaps it’s easy for people with accounting background, but it’s a hassle for me. That’s why I like the sound of UOMe so far. I think they are deploying it within the week.

YunReading 云读 
Great idea. HTML5 = Cross Platform support. Bookmark synchronization. Targeting Chinese Market – Chinese ebooks. They need to iron out the UI/UX issues before they launch.

Rob the Robot
Partner with 2359 Media. Launching mid-November in conjunction with the Rob the Robot Cartoon on Disney Singapore. Hey! This is no joke, this is big! I feel proud for yytellmewhy and Hoang, glad to have worked with you before! All the best with launching it on mid-November! This is the official website for the cartoon http://robtherobot.com/ Lookout for the App Launch in 2 weeks time. I think I’m gonna watch the cartoon. It’s so cute!

Mobile Lions 
Attendance taking to help LIONS Befrienders http://www.lionsbefrienders.org.sg/ in their checkcall procedures. Something along the line that the befriender has to visit 1000+ befriendees and keep attendance of their visits. HTML5. Cross platform support. Access Controls (Staff can approve/deny submissions). I think this will help the Voluntary Welfare Organizations (VWO) tremendously! They have a standard attendance checking API in the pipeline. I think that is pretty powerful.

Touch Appetit
Redefine Mobile Dining Experience. Platform. The idea is to have other restaurant apps live off the platform. Information is power. Collect customer data – targeted advertising. Salesforce as backend. Partnered Clients “Texas Chicken, Lerk Thai, etc.” Polish presentation slides. Polish app (screenshots).
Pro, ’nuff said.

Letters to Amanda (http://letterstoamanda.com/)
Everyone deserves to be heard, deserves to be loved. Empathy. Anonymous Platform. Simple UI/UX. Hotkey navigation.
1. Write a virtual letter to the rest of the world about almost anything you want
2. Read letters posted by others around the world
3. Exchange of letters with anyone around the world.
I like the font they use! Adding value for the world!
BetterMe (http://www.better-me.co.cc/)
Civics Moral Education (CME) – Moral Values Education Social Media Platform. Autonomous, peer-to-peer learning. Inspired by “Share a Quote“. Gamification. Learn moral values.

The Trove: where all things are treasured
The problem: Stuff gets thrown away when students move out every semester/academic year.
The solution: Convenience to sell/buy second hand items
Trade hub. Target Halls/PGP. Cold start problem.

Facebook Security & Privacy

Once again, it’s customary to include the post that I did for last year’s lecture on “Facebook Security & Privacy“.

Sometimes, “Security” is inversely proportional to “Privacy”. E.g. Airport tightened security reduces people’s privacy. In contrary, the more privacy people want, the less secure their data will be.

Chiang Kai went on to talk about Code Injection. It’s really quite fascinating. He did warn us that there are IT security laws in Singapore and therefore we shouldn’t try it at home. Err… ok.

Even though I have posted this in my previous post, I still think this is a good refresher.

Basic Security Objectives

  • Confidentiality
    • Protect from eavesdropping
  • Integrity
    • Protect from modification
  • Availability
    • Protect from denial of services

Can Your Killer Web App Scale?

I’ve attended Zit Seng’s lecture last year and I happened to blog about it at “can scale?“. However, last year I was still quite noob at web technologies. But in retrospect, I realize that some of the higher level general concepts stuck with me ever since last year. At least I know there’s such a thing called “load testing/balancing”. I think I got to know a bit more about what “Firebug” can do from that lecture too. I also got to know about how Drupal is very slow from Zit Seng’s blog at http://zitseng.com/. All these couldn’t have been possible if it’s not because of ZitSeng’s lecture.

This year, equipped with more experience, I think more things actually make sense to me. At least I don’t get @@ 30 minutes into the lecture.

This is the rough outline for today’s lecture

  • Infrastructure Issues
  • Performance Monitoring
  • Load Testing (Commercial Solution: HP LoadRunner)
  • Basic Optimizations
  • What’s in the Real World
  • Other Interesting Stuffs

ZitSeng mentioned about his encounter with a certain Drupal app that does 46,000 syscalls per page load! Other Drupal apps also does around 6000 syscalls. In comparison, a simple normal Hello World PHP app only uses 200-300 syscalls, WordPress does around 700+. Read more about this at Building Scaleable Web Apps – Syscalls
I know “sprites”, I used them when I was making my own games using RPGMaker 2000. It’s a very smart way to optimize an application. Load one big picture and ask CSS to pick a particular component out. I knew I’ve heard that CSS can do that too, but somehow it didn’t stick. I think it will this time round. Use CSS sprites.  Example (I grabbed it off SmashingMagazine post)


Key Learning Points from “High Performance Web Site: Essential Knowledge for Front-End Engineers – Steve Souders” & “ApacheCon Europe ’06”

  • Make fewer HTTP requests
  • Make JavaScript and CSS external
  • Use a content delivery network
  • Reduce DNS lookups/Avoid DNS lookups (in .htaccess, etc)
  • Avoid .htaccess
  • Pre-render popular content (caching)
  • Make popular content static

SSL creates plenty of CPU overheads at both web server and client browser. One possible solution is to relieve the web server of processing SSL e.g. Hardware or separate server.

End of lecture reflection: I think 60% of the stuff still flew past my head but I’m glad that I understand at least 40% of it, I think. Just like what Zit Seng has said in the beginning, the takeaway from this lecture is not technical skills, it’s more about the “appreciation” of the issues involved when we scale our app. I remember Sebastian (Jollideal) telling me that he refers to his CS3216 notes as his Jollideal.com website scale. I think he’s referring to ZitSeng’s lecture notes. So ya, true real world usage.

For our final project team mate, let’s aim to grab the CS3216 achievement badge “refer to ZitSeng’s lecture notes”!


Some key quotes:

“We need experts who understand the entire stack!” – Zit Seng.

“Network issues are “fun”‘ – Zit Seng

“Q: What is Acceptable Web Response Time? A: There is no standard. User satisfaction is achieved when experience exceeds expectations. Do better than your competition. Do better than your users’ expectations.” – Zit Seng

“Slow client ‘hogs’ your server” – Zit Seng

Singapore River Recce


Today I’m a tourist. To put Ben’s advice into action, team Singapore Heritage Mobile took a stroll down Singapore River, following our very trail that we’ve developed for the mobile assignment.

Aside from the hot and humid weather, it was very fun! It’s also very comforting to see that the geolocation feature really work as advertised. However, I think the feature can really be improved further. Right now it only tells you that a particular landmark is x metres away or ‘you are here’. Not really useful as it doesn’t say which direction. Most important of all we cannot assume that everyone knows how to read a map. Especially when our current map doesn’t really have key landmarks to help pinpoint where you are. I guess if we use Maps API this problem should be solved as it should work like how Google Maps or GPS works. Constantly polling the location from GPS, WiFi access points and cell towers.

Alan also suggested that we should take the leap of faith and develop a native iOS app instead. Honestly I’m all for that idea. But that also mean 110% commitment from everyone in the team. That would also mean me dropping a few other external commitments, which I think it’s definitely worth it. Heck, I think this is the best opportunity to hone my programming skills than ever, which happened to be one of the key reasons why I decide to take this module again. I’m all in team, 110%! Let’s do it!

Back to the app…

I have to agree with David. Having gone through the trail myself, I think the main purpose of our app, other than feeding the users with historical juicy stories, is to keep our users entertained while travelling from.one landmark to the other. Audio narration seem to be our best bet right now. But we are also open to suggestions, anyone?

Work aside, this trip is really awesome because I think we know a bit more about each other i.e. David and his Utown adventure, Alan and his NOC experience, Zhenling and her hair braiding skills ;D, Kenneth and his gaming insights and last but not least Sharon and her awesome husband Derrick! Derrick accompany us all the way patiently even though he is not exactly part of the project! Model husband siol! Lucky Sharon.

Oh ya, thanks to my awesome team mates, I got a time travel encounter with some kuli from yesteryears. Photos are on the way. Oh ya, I heard I got to cameo in some random tourist’s photo as well.

Posted from WordPress for Android

Reflection on Peer Appraisal Exercise

This is truly an interesting exercise. First of all I would like to thank all my team mates who took the extra effort to appraise my performance for the past 3 assignments. I totally understand the “extra effort” part as I myself have to appraise all those that I have worked with too.

Peer appraisal might sound or look easy up front, but It’s really not as easy as it seems. Maybe it’s just me but putting feelings down into words is not trivial at all. So once again thank you awesome team mates!

So now on to the reflection. The recurring theme in the appraisal result is that I am an ideas person. It’s like deja vu because last year ideas was also the recurring theme in my peer appraisal.

I dug deep within hoping to unearth what makes me cause others to think that I am an ideas person. I really don’t know. Well I did not aim to be the “ideas” person when I decide to take this module again. I wanted to be a “coder“. But I guess it’s still a long way before I’m up to par. Joshua, let’s work harder on this together!!

But seriously I believe everyone is capable of coming out with great ideas. Ok, let me try asking myself how did I end up with so much ideas?

  • Read. Read a lot more. Read something outside of my field of study. Don’t know what got into me, I just decide to pick up an American History Textbook and started reading. Of course, having someone like Ben Leong as your Facebook Friend does help boost your reading a little bit more. Now I think about it, maybe it’s because I’ve added Ben Leong as my Facebook friend – my Facebook News Feed is never the same again.
  • Lateral thinking helps a lot. Sometimes great ideas pop when I try to piece different disciplines together in your head.
  • The propensity to ask a lot of questions help too. Well, one of the major complain that I have from friends (not from this peer appraisal) is that I ask “Why?” too much. Asking “What If?” helps too.
  • Of course nothing beats writing down my ideas. Ideas come when I least expect – Serendipity happens. Toilet and Bathroom cubicles especially. That’s why it’s important to record it/jot it/blog it down whenever it happens. I used my smartphone as my brain extension. And it’s working pretty well so far.

But having said all that, yes having ideas is good. But since  ideas’ a dime a dozen, I think successfully executing an idea is even more valuable. And that is a skill that is not so easy to hone. In fact, in the context of a web app, it takes more than one person to successfully execute an idea.

Now onto the “Bad” side. I got a “MIA sometimes” and “Difficult to reach at times” and a suggested improvement of “To put away messages so that I know you’re unavailable”. Whoever you are, I really treasure your comments. I will try to leave “away” messages. Perhaps as Gtalk status?


As I think about it, I think this has to do with my unusual nocturnal waking hours than anything else. I’m aware of the problem and I don’t think there’s an easy fix. Meanwhile the easiest way to reach me is through Facebook, SMS, Email and Gtalk. Generally I just dislike picking up phone calls. I guess my growing up in a home where there’s a telephone hotline makes you subconsciously refuse to pick up the phone. Maybe that explains why I really prefer higher latency communication.

Windows + Left/Right to Dock Windows on Dual Monitors (Win7)

For the longest time I am quite frustrated with the fact that I can’t mouse dock my windows in the inner side of a monitor in a dual monitor setup. Somehow googling it for answer didn’t occur until today. So I found out that you can actually Windows + Left/Right arrow to dock them.

docking window inner side windows + left/right

Woohoo~ Now if only mouse dock works as well.

Now Windows + Shift + Left/Right shifts your windows to the other screen while preserving the window size. Win7 is quite polished.

Cinch on Mac OS X does mouse docking really well.