NUS Module Review [AY1112 Semester 1]

This review is written based on the Semester 1 variants of the modules, and thus might not apply to the Semester 2 variants of the same module.

CS3216 – Software Development on Evolving Platforms
5MC / Non-examinable / 50% CA + 50% Final Project
Dr Ben Leong
Semester 1 only

The logical continuation to the iPad module, the Facebook module has been known for killing people during the semesters. And yes, I am here to prove that CS3216 will take up a whole lot of your semester time, albeit slightly less than CS3217 in my opinion. I guess I didn’t take the module with the correct mindset (I didn’t think far enough), but this is definitely a module that is worth your every sweat and second. This review is written from a software engineer’s point of view

Lecture – Lectures are mostly conducted by guest lecturers, to expose you to basically all the problems that require solving in the real world. It’s really an eye opener to realize that the world really needs a lot of software engineers and people with awesome ideas. no webcast but there isn’t a point anyway
Assignments – There were two assignments, both like mini-final-projects in that you have to develop an app that solves a problem. They were both quite fun, and useful in letting you pick up the skills required for modern web development. (PHP, HTML5, AWS etc) There’s also a blogging component, which in my opinion is really helpful, as it helps you consolidate your thoughts onto what you’ve learnt in the lectures and serves as a progress tracker (of yourself) at the same time.
Project – CS3216 is really not a programming module – you have to think about the problem that you want to solve, and develop an app that solves this problem. Many of the groups were really impressive in that they worked with external partners to come up with apps with backing up. I guess that’s where my group fell short.

Again, I would like to thank my teammates in the assignments and final project for being damn awesome and coming up with cool apps. 🙂

My grade: A-
My rating: Not for the faint of heart.


CS2104  – Programming Languages Concepts
4MC / Examinable / 40% Problem Sets/Tutorial/Forum Participation + 10% Midterm + 50% Final
Dr Razvan Voicu

I have to say, Razvan is really a very knowledgeable lecturer. Respect.

This module teaches you about the underlying concepts beneath a programming language, although I would say it has slight overlapping elements with computer hardware knowledge. I had an interesting (and hard) time learning Prolog (Razvan loves Prolog), as its concepts were completely different from anything else I’ve learned. Practice is definitely required to understand most of the things taught.

Lecture – Razvan tends to not finish his lectures in time so sometimes you would have to self study. But other than that, he explains concepts rather clearly and if you can bear with his semi-boring tone (and concentrate), the lectures are really helpful. Be sure to take notes. webcasted
Tutorial – The lecturer will post the answers online, so unless you have completely no idea how to do some certain questions (which you should, towards the end of the syllabus), it should be okay to skip them. The problem is that the final exam questions are NOTHING like those in the tutorial. They are like 100 levels up.
Problem Sets – These are tutorial questions on steroids mostly (with a few easy exceptions), and I spent a lot of time doing each of them. They really serve as good practice for the concepts though, and should be attempted (even after you overshot the cap – the total marks for all Problem Sets exceed the maximum you can score with them).

The 40% CA marks are easily scorable as long as you do all your tutorials and Problem Sets diligently, so make sure you get those marks in full. My midterm was quite difficult whereas the Final Exam was doable as long as you practice well and read through the tutorials. (Problem Sets questions are at a higher level)

My grade: A-
My rating: Concepts are difficult to grasp, and practice is very important.


CS2105 – Introduction to Computer Networks
4MC / Examinable / 5% Tutorial Attendance + 10% Midterm + 18% Programming Assignment + 32% Assignments + 50% Final
Prof Bhojan Anand 

Edit 23/12/2012: As requested by the module lecturers, please take note that the structure of this module is different in different semesters. That includes but is not limited to:

  1. Lecturer
  2. Syllabus
  3. Module score breakdown
  4. Textbook
  5. Final year examination paper format

If you would still like to read the review (which may or may not apply to future semesters), you may zoom in the page.

One of the easier modules of the semester. Contents are largely surface level at best, and not too difficult to understand. If you are lucky, you may get questions in my final exam that are similar to the past year papers. Of course I guess the bell curve would be steep too. Make sure you have sufficient Java/C++ knowledge for the programming assignment. I like the content a lot though, as they are all relevant to our IT life everyday.

Lecture – All (or almost all) the content Prof Anand lectures are from the textbook, and I find that the textbook helps a lot if you can’t understand the concepts sometimes (or if you don’t pay attention like me). Other than that, he’s an okay lecturer. Take notes! no webcast
Tutorial – Tutorial questions should be quite easy as they are mostly just regurgitations of lecture concepts and simple calculations.
Homework Assignments – Slightly harder variants of tutorial questions. (Read: variants, because the questions are really.. the same..) Make sure you score full marks for them too.
Programming Assignment – For my semester we needed to create a Windows client for sending and receiving mail. As I had no experience in Java GUI, I ended up using NetBeans IDE’s integrated GUI builder (it’s really useful!). It shouldn’t be a big problem as they have sample codes for the backend part (sockets).

There really isn’t much to say about this module because it’s really not difficult if you put in some effort.

My grade: A+
My rating: Lightweight module that isn’t too difficult.


CS3230 – Design and Analysis of Algorithms
4MC / Examinable / 5% Tutorial + 10% Lecture Quizzes + 35% Midterm + 50% Final
Dr Rahul Jain

Another lightweight module in terms of workload, but concepts are tricky and requires time to understand. I didn’t buy the textbook, but I felt that the lectures were sufficient. The more abstract section about NP completeness was a complete disaster though, it’s a lot harder than normal algorithm analysis. As there are very few components that contribute to your final grade, be sure to prepare well for each of them.

Lecture – Rahul attempts to explain the algorithms discussed in lecture clearly by drawing a lot and taking a lot of time. Make sure you take down notes from these discussions. He tends to confuse himself though 😛 not webcasted
Tutorial – Be sure to attempt the tutorial questions and prepare for class, not because of the 5% participation grade, but because they are the only form of practice you can have (aside from the textbook, which I didn’t have..) The tutorial questions really help a lot in understanding the algorithms.
Lecture Quizzes – Should be manageable if you follow the lectures consistently. Algorithm design requires some analytic thinking though.

The midterm is a very large component of your grade so make sure to score well in that. I was lucky as Rahul gave hints in the midterm questions.

My grade: A+
My rating: Consistent work should get you through, but maybe not the NP-completeness part..


GEM2901 – Reporting Statistics in the Media
4MC / Examinable / 20% Assignments + 80% Final
oops, I forgot the Prof’s name.. 

No tutorial yet again! Steeeeeeeeep bell curve, I would say this module really requires critical thinking and an adequate level of preparation. The module content is definitely interesting and very applicable in real life.

Lecture – I wasn’t concentrating for most of the lectures (8am.. zzz..), and that was a mistake – do pay attention to his lectures to understand how he analyses news article and information. He cracks jokes to keep his lectures interesting. Do go for lectures to copy down the ‘tutorial answers’ though. no webcast
Assignments – Two article reviews, one newspaper article and one research article. I’d recommend you go for picking a newspaper article with a research article source, so that there isn’t a need to reanalyze information and save precious words (for the word limit). (It’s kind of confusing to explain it, but if you take the module you’ll know what I mean.)

I got A for both assignments but I didn’t score very well in the end.

My grade: B+ (S/U-ed)
My rating: Analytic thinking required.


Once again I survived another semester. Phew.


The Last.

And it’s over. Mixed feelings, I would say – it’s not that I didn’t want the module to end (heck, we’ve been kind of suffering all the way, albeit for good reasons), but maybe because.. I don’t know. There are things that doesn’t seem right, things that I hope I’ve done better.

I realised, through my previous posts, that I seem to be a person of regret. Maybe I have high expectations of myself, but I guess that’s the hard way of making yourself improve more, right? And I know that I definitely didn’t complete some of the things that I’ve hoped to achieve this semester, not only in this module, but on life and work in general.

Can anyone explain to me what this picture means? o.o
I found it when I looked for ‘regret’ in Google Images. Haha.

Looking back at my very first post, I’ve definitely worked with different types of people – really good programmers in my few projects, fantastic designers (shoutouts to Yin Yue and Yong Shen!) and some of them had really strong beliefs and ideas that made me feel good when working on the projects. One thing that I didn’t realise at the start of the semester, was how different programmers would work differently – I definitely wasn’t really content with how Meet2Eat was managed in terms of programming schedule, but we pulled through anyway. The first assignment (Shop4Me) was definitely one of the more organized projects that I’ve done – maybe it’s because of CodeIgniter, or how we organized our code and work distribution etc. Kudos to Alan on that.

As for myself, I think I am more of a solo coder, as I don’t really have time to meet up with my teammates because of my busy workload (I normally code at ungodly hours after 2am :/). I’m so sorry to my teammates who had to adapt to my working style sometimes.

In terms of my level of programming, to be honest I didn’t think that I level-ed up a whole lot. I definitely picked up bleeding edge technologies like Facebook Integration, HTML5 features etc, but I guess in terms of code design and organization I still have a long way to go. I couldn’t do much to ensure that the code in the projects were of decent level of design, but CS3216 really make me want to work on future projects in hope that I would write cleaner code next time. I guess in this light it’s good for me. 🙂 Oh and CS3216 made me start reading online tutorials on web programming practices. 🙂

Nettuts+ is damn awesome. Check it out!

As to my final project (check it out if you haven’t!), it was a long but satisfying ride. To be honest, I was skeptical of my group’s idea at the start, as I didn’t think that creating such an app would be actually useful – I was scared that no one would use it, as there are many inherent problems with how we are going to make the users return to our sites, how to actually make them learn something etc. I was pleasantly surprised with how my whole team had the determination to keep going, to actually interview teachers and students, and we’re actually trying to get in touch with MOE right now. I guess if it was me, I wouldn’t have the courage to really step forward and try my very best to make a difference (as my teammates really did).

Yong Shen, thank you for your fantastic designs, the whole idea and your belief in it to really make a difference. You’ve really done a lot!

Jun Hong, thanks for all the coding and also making sure that our app reaches out, through your effort in getting primary school students to use the apps, and getting in touch with teachers etc. Without you BetterMe wouldn’t come far.

Kenny, thanks for tanking whenever I was busy. 😦 I have a lot to learn from you in programming, I really like the way you structured the backend API code, and you’re damn good!

Go BetterMe!

All in all, CS3216 was definitely a good module to take, zero regrets, and I feel sad that it won’t be offered again to other students after this one. I’m glad that I took the last offering, and I learned a lot, not only in programming, but in actually understanding the real world and making a difference. I definitely still have a long way to go in terms of coming up with ideas and executing them, but at the very least, this module sparked me to want to do things. 🙂

Thanks Prof Ben and Kok Wee.

Final Project Presentation

I was pleasantly surprised by the final project presentations. To be honest, the people whom I expect will do an astonishing job didn’t do quite as much as I expected, and the people who I didn’t know came out with crazy cool ideas.

The concept is definitely not new; and as I’m not a frequent cabber, I haven’t had the chance to try the app and compare it with other competitions on the market. It’s great that they got Premier taxi to back them up, but existing competition (Cabbie, ComfortDelGro Taxi Booking) already has downloads in the size of 10,000s, and unless they do aggressive publicity it would be hard to catch up. The fact that they made it into the Android Market so fast shows how efficient the group is!

Awesome graphics! I like how they want to focus on making the game such that the user won’t realise that the game tries to inform about the usage of AEDs. The team has mentioned that they make use of facial expressions of NPCs to let you judge their actions and thoughts, which is interesting; I remember going through the same experience in L.A. Noire, which was interesting. Just waiting for the full game 🙂

I was surprised at how well they used jQuery Mobile (to the extent of Ajax display of Facebook users on search), as I’ve had very bad experiences with jQuery Mobile (when I used it for my previous project, and as complained here). From their presentation, I can see that they’ve put in a lot of thought into how they differentiate themselves from the competition apps, such as being able to tag your friends without needing them to be registered users too. Definitely something that I will use.

A cross-platform, browser-based ePub reader. The good thing about this group is that they’ve managed to capture a specific niche market – the Chinese market, and the idea behind this project is that people don’t want to lose their bookmarks and settings when they switch devices. In this light, I believe people who have this need will find Yun Reading useful. Personally, however, I wouldn’t use this as I feel that there are more polished e-reader apps around, especially native apps on smartphones/tablets nowadays. Besides, one feature that is important to me, which is the ability to upload our own .epub files to read, is currently not available. (Correct me if I’m wrong)


They have amazing graphics! I guess this group has achieved one of the most important things in this course, which is to actually work with existing companies, and a big one at that (Disney!). It’s sad that our group didn’t manage to secure the collaboration with MOE in time.. Anyway, the graphics are definitely cute enough to attract the younger generation into playing the game, and I can see that the coders in this team have done a really good job in implementing the requirements from Disney.

My first thought was (no offense) ‘it must be quite boring to make this..’. But again, this group has done very well in terms of working with an existing company and actually delivering the requirements. I liked the part of their presentation where they documented the problems that surfaced when they try to integrate their app with the system in Lions, such as the need to synchronize data properly and to actually read and understand code from the previous programmers in Lions. (And trust me, it’s a pain in the ass to work with existing code not by you)

Cool stuff. The amount of restaurants that jumped on board on their project is insane! I think the only thing left for their group is to actually launch the app and get user data etc. And the good thing about this is that there are actually two sides to the app; besides the framework that they build for existing restaurants, they also have the backend service that aggregates user data and analyzes them for the restaurants to do selective advertising. This way, their idea actually hits two birds with one stone. Awesome.

Remember what I said at the start? This was the project that truly surprised me. While the idea behind seems simple enough and there’s not much difficulty in coding, the user interface is really amazing. The amount of detail that they put into designing the UI and UX, such as the hotkeys and the choice of the name Amanda, impresses me. And the simplicity of the app is another thing that will draw users into using the app; there’s virtually no learning curve and all it takes is just writing a short letter, or reading others’ letters. Sometimes I wish I had such crazy cool ideas too.

Again, another niche market that is well targeted – people moving out from halls or residences. Right now there still isn’t much traffic, but I believe that at the end of examinations this semester there will definitely be people who want to use the website to clear their unwanted stuff. A very well-executed idea, in my opinion.

(Singapore River)

With enough publicity I believe the Singapore River app will be used by thousands of tourists who visit Singapore River. The only problem I foresee is that tourists might not have internet connection to download the app (something the Singapore Tourism Board should provide at perhaps the entry point of Singapore River for example). Augmented reality is definitely cool and I think the group has managed to come up with a good concept to use AR on.


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.

My ‘Recess’ Week

It’s hard to believe that recess week is already over, and my last blog post was just as recess week started.

Well, thanks to NUS’ brilliant idea of starting Week 1 late on Thursday, all my lecturers happily shifted all their lectures to the Monday-Wednesday of recess week to make up for their lost lectures. NUS, please don’t do that again, we technically have no recess week.

My Tuesday of the recess week had a timetable of 10am-11pm, with only a 1 hour break in between. Awesome right?

Complaints aside, I’ve finally finished my second CS3216 assignment with my team, Meet2Eat!

It was one hell of a ride when developing this project, mainly because of a few issues:

We didn’t use version control. I have no idea why this happened,  and it’s not like we only have 1 index.php and 1 javascript file. This actually led to rather disgusting manual integrations between our individual work, and sometimes we get people overwriting other people’s files on the web server. It was disastrous, and I’ve learned my lesson.

We started quite late. I guess everyone kinda burned out a bit after the first Facebook assignment, and thus our main bulk of coding actually came from the last 2 days – I made a record by sleeping 2 hours and eating 3 meals in 2 days. One of the worst times of my life. Really should’ve started earlier.

Chalkboard didn’t do what we thought it does. Our app is supposed to recommend eating places to a group of friends; and we were expecting chalkboard to deliver locations based on geolocation. But NO! Chalkboard is a promotions app, and we didn’t do enough research. In the end, we had to resort to displaying promotions only (and caching the locations in the process) because there were simply no other APIs that provides what we need. It was a major overlook on our sight.

We were not crystal clear about the UX. Halfway throughout working on the project we actually didn’t realise that each of us have a different impression of how the main use case (creating an event, inviting friends) is supposed to be like, and this led to hours of ‘idea refreshments’ to get everyone to agree on the same flow of usage. 😦

Despite the problems, I’m happy that the app turned out quite well (in my opinion), and I hope our hard work won’t go to waste.

Thanks Vincent for all his super organized server PHP code, even though it turned out quite hackish in the end =P I’m glad that my JS AJAX stuff was able to integrate with you quite smoothly.

Jun Hong has some crazy learning speed, he picks up things very fast! Thanks for all the Google Maps API stuff, and I know it must’ve been crazy trying to get it to play nice with jQurey Mobile. :/

Yong Shen is an excellent designer. I’m really sorry that we didn’t manage to implement the UI design the exact way you designed it due to time constraints, but I really would like to thank you for all your efforts in designing, the report, and photoshop (XD).

Overall, I’m glad that we did our best and I just hope that it would turn out well. Go Meet2Eat!

Case Study 1: GetHelp!

It’s really interesting to take a look at a senior project and do a friendly critique on it. 🙂

GetHelp is certainly quite a cool app – when I first read the case study PDF I thought that it is something that I would want to use. They sort of capture the need of a person to ask for help and make this ‘service’ systematic – by allowing sort of an official platform for people to ask for help and/or help others. This is kind of similar to my first project, ShopForMe, in the sense that we both capture an informal service and attempt to ‘systematize’ it. (Is there such a word?)

The first thing that I realised after I finished going through the app’s details, is that the interface doesn’t feel professional. Take a look at Quora or Stack Overflow, the way they design their pages, in my opinion, makes it useful and effective. If you take a look at Stack Overflow’s website (versus the Overview page of GetHelp), Stack Overflow actually place emphasis on the title of the message and the tags of the help post.

Stack Overflow VS GetHelp!

On the other hand, GetHelp somehow has its focus on the ‘Help Him!’ and ‘Refer a friend!’ buttons, which doesn’t really make sense as what’s important to a helper is that the subject that requires help needs to be something that the helper is familiar with.

Other minor comments about the UI:

  • The slanted buttons at the top right are.. too slanted; it’s difficult to read and it should just be made vertical.
  • In the Projet Page, the ‘Helpers’ and ‘Probables’ lists at the side looks like advertisements at first sight. This actually clutters up the screen and makes it look like a badly designed app.

As for functionality, GetHelp managed to cover what it intended to; the objectives are clearly delivered in the different pages (posting a feed, referrals etc). However, from the description of the app, I feel that they did not make good use of the tags system; there should be a system to sort the needs of your friends in tags or categories. This way, as I’ve mentioned above, the helper can look for needs that is in his area of expertise. Certainly, no one likes to scroll through a long list of needs to actually look for something that he/she can help.

One thing I don’t really quite get though, is the Wish her luck! button; it doesn’t really make any practical sense and surely doesn’t add value to the app.

The options given by the app when posting a need is also, to be honest, quite weird. A deadline certainly wouldn’t help you in securing a helper faster (it’s not shown in the needs list), and in the first place, the helper is doing you a favour by helping you, and it wouldn’t make sense to chase him. I feel that the description box should actually be emphasized more as it can be made a 1-2 line detail about what you actually need help in – a too general question wouldn’t entice helpers to help you.

As for the incentives, we take a comparison again:

LEFT: Stack Overflow, RIGHT: GetHelp!

I might have missed something in the app, but it appears that if you pressed ‘Help Her!’, you automatically get a +1 in your list of helps, instead of the person in need confirming your help. This doesn’t really make sense as a good helper requires a good reputation built from other members who received his/her help. Stack Overflow does exactly this, in that other members can raise the reputation of the helping member if they feel that their queries are responded appropriately. In this sense, GetHelp doesn’t offer constructive statistics, but actually abusable ones, and the flawed badges/rewards system will not give much incentive for users to continue using the app.

In this current state of the app, there’s actually a big problem that I found – there’s not much difference between the app and normal Facebook statuses. If I need help, I can just post on my Facebook status, and naturally it will work the same as if I’ve used the app, except that my friends can respond immediately without going through the process of allowing an app to access your information, blah blah blah. (They can tag their other friends to refer) The lack of categorization and the flawed reputation system are the cause of this, and it really doesn’t give much incentive for people to use the app.

All in all, I believe that GetHelp is a good idea, but the execution wasn’t very well thought. They need to have more differentiating factors to attract users.

Pitching and human nature.

And so last Monday we had a lot of external parties who came to pitch their project ideas to us. I read about Prof Ben’s comment on Joey’s blog that the pitches are actually more about the problems out there that people are trying to solve.

In fact, most of Joey’s comments on the startups in Singapore revolves around other different startups that have similar, if not the same, ideas; and whether they’re still running or have died down. If they’re still running, good for them in the successful way but bad for them that someone’s already trying to solve the same problem in a different region – things like vs RateMyProfessors, they are localized to a specific country. It’s just like Darren’s comment too – “Baidu is kicking Google’s ass in China” – I guess it’s good that people see value in others’ innovations and are trying to bring it to their local market.

If the startups have died, I guess the current new ones are trying to execute it in a different manner, and we’ll see about that.

Okay enough of that.. back to a little about the presentations I’ve heard. (I left halfway due to some matters, so I didn’t really hear the pitches from the later presenters..)

Oops, the red error line XD

I thought the concept was not too bad, building on existing social games but integrating the values that HDB wants to pass on to the younger generation into the game itself. The only problem is, I seriously don’t think Singaporeans are going to play the game, and even if they do, they probably wouldn’t actually care about the values.. I have yet to see a really successful game-learning model, and I guess everyone’s trying to find the right execution.! I think it’s a really good idea, and they’re doing quite well (according to Prof). I wasn’t sure what kind of help that they were trying to ask from us though. One thing I can think about is a native/HTML5 app for mobile devices; I can think of myself needing a certain household essential on my bus back, and I can just take out my phone and purchase something. I’m not sure about the delivery charge though.

My team’s using it for our HTML5 assignment 🙂 I am a little intrigued by why the app is named Chalkboard though, it sorta doesn’t feel correct to me. Otherwise, it’s cool, and useful.

Gary Ong.. is weird. To be very honest, I felt like he thinks he’s a good speaker, but he really isn’t.. I can’t comment much about the technical stuff about stocks, but what I can say is, building an app that helps people to predict market fluctuations is kind of dangerous; I can already imagine customers complaining to your company about how it’s inaccurate, blah blah blah.

Dr Dana Elliot gave a good presentation, and I guess a ‘utility’ app (literally!) is a good one to have on your phone. The only problem is actually getting people to install it into their phones (and not uninstall it afterwards because of lack of storage space).


Yesterday we had Milton Chen, CEO of VSee to give us a lecture on.. a PhD in Human Nature, haha.

He actually came last semester in CS3217, and I have to admit I probably didn’t absorb much the other time because I really can’t remember what he said (except the same slides) last semester.

I was actually wondering whether VSee can hit into the mass market – with the good technology and ease of use (one of their focuses?) it can be a competitor to Skype. Refine the interface a little (more eye candies..?) and we have a good competitor.. But I guess the end-users they are targeting is not there (especially since Skype has such a large market share now).

Micro Learning. This is actually very true – I guess we’ve all been learning nonstop from each other since we joined CS3216, be it coding, working with partners, or time management. And about breaking patterns, I think it’s really something that you have to consciously tell yourself to do; sometimes a small thing that you tell yourself to change might just disappear because you forgot about it. It happens to me all the time. Like how I wanted to brush my teeth with my left hand yesterday night but forgot (lol). Gotta start telling myself that.

Aim for boredom. This is, in fact, the exact opposite to what’s currently happening to me – I sorta decided to do everything I am able to do nowadays, because I know there won’t be chances to participate in cultural activities once I start work (or have a lot lesser chances to). I guess I really need to give myself a break once in a while, and some random things might just pop into my mind. I’ll definitely make use of my ‘bus creativity chamber’ every Friday when I travel to attend my dance class though. 🙂

But again, I believe everyone’s who’s involved in cultural activities will share the same sentinents as Milton – the inspiration for choreographing dance steps or melody composition really comes in at the most unexpected (and often bored) time.

Live life with urgency, but do the important stuff. Two words – priority management.

Sandwich. This is kind of ‘-.-‘; it’s like me telling another guy ‘I’m trying to be subtle, I hope you didn’t notice it, but you probably did, but you’re not as hurt as if I go straight to the point’, but hey, whatever works right? I know that I am especially bad at communication, in the sense that I always have no idea how to portray my idea across in an effective way, so I guess this is something I need to pick up.


I’ve learned (the hard way) that taking up too many commitments is not good, especially when you realise that you start sacrificing one for the other and end up not doing well in everything. Yes, this semester.