Friday, April 16, 2010

Last Entry for CS3216: What I've learnt

Time flies, in a blink of an eye its the 13th week of school term and here I am blogging my last entry for CS3216. Its been a hectic semester but it was worth it after all as I've acquired new knowledge and friends too. This class was an eye opener for me after 2 years in NUS as I really get to see people from various backgrounds and competencies coming together and work on their master piece which were show cased on 14 April 2010.

What I felt and saw about the class
1) People whom are passionate in what they are doing actually can make things possible. The group whom worked on the Mood Diary impressed me the most as their passion and hardwork paid off with more than 10k+ monthly user when their FB app was launched. They are a group of individuals whom doesn't have technical expertises but yet they were able to produce such a sticky app. Congratz. Not like the other groups aren't good, no offence, just that I have a deep impression of the Mood Diary group.
2) I felt that this class is full of possibilities and creativity. Everyone is a motivational factor for one another, striving for the best and pushing one another to the LIMIT.
3) The approach of each lecture is a new concept in Singapore as most of the lectures were "outsourced" to other speakers. Speakers came from diverse backgrounds with people from the industries, school tech. support and seniors whom have taken the course. This not only spice up the class and such "open content" brings knowledge and insights to students.

What I learnt
1) Communication: This is important as miscommunication will delay the team's progress and cause misunderstandings.
2) Open API: Usage of open apis like Twitter, Facebook, Google Maps, made life easy and made applications more interactive and featureful.
3) FB apps and Google wave gadgets: I was amazed by the potential of google wave and looking forward to its future.
4) Team work: Team dynamics is very important. Even though there were a lot of speeches on team dynamics but I felt it 100% from my FB assignment and Google Wave assignment. With a good team, we managed to pull it off all thanks to my team which I owe them one :D Thanks guys, you know who you are.
5) Open mind: One must not be confined to his or her own thinking or else he or she will most likely run into failure, with an open mindset of listening and accepting ideas one can then move further and longer (ha this sounds like some advertisement slogan or message).
6) Use something sexy icons in your presentation: This might seem to be a joke but no joke some of my classmates told me "How come all your presentation have sexy ladies in low cut blouse and voluptuous?". I remembered in my FB seminar i used a compare and contrast pic of Mona Lisa and in my final project poster i used a sexy waitress. At the end of the day people know me since I'm such a low profile to begin with :p

I've come to the end of the blog, last but not least I would like to thank Prof Ben Leong for making the class interesting, the TAs/helpers whom marked the assignments and conduct workshops, speakers whom gave wonderful and insightful speeches, and everyone in CS3216 2010

Btw this were the pics i used in my FB seminar and poster respectively:

Tuesday, February 9, 2010

Lesson 4 - Pitching session by the industry players

This is one of the more exciting lesson I attended so far in NUS. Style of teaching seems to be similar to a module I took in Stanford, Global Entrepreneur Marketing. The lecturer invited people from the industries to pitch about their company and the project that they are working on, and hopefully can attract some smart people to help them in their marketing efforts.
I'm so glad I took this module since I thought there will not be similar lessons offered by NUS and here I am seated in LT 19 listening to the wonderful pitch session by the veterans.

Credits to Prof. Ben, since this isn't possible if he is not charismatic and influential enough to attract these people to talk to us. Ha enough of all this ankat. . .

I'm just wondering if the 2 months are enough working on such intensive project and how do we get graded since everyone's progress and standards for the different projects are different. If it was a self proposed project, can we set our own milestones too as we can't be evaluating ourselves?

Monday, February 1, 2010

Causes App Critique

Having sat through 2 hours and 15 mins of intensive but intriguing presentations from all groups, its time to critique on a particular FB app that caught my interest. That would be the app, Causes. I'm a fan of charity events or charity works and to bring such notable voluntary action and integrate it with social network service, the founders definitely need to be applauded. As follows, I've summarized a few points that caught my attention after the group "pitched" on it.

Causes is a FB app developed to raise funds for non-profit organizations(NPOs) directed from various causes which can be raised my users. Users whom raised such causes were able to link the event to a registered (recognized by US laws and regulations) organization whom would be benefited from all donations collected through the cause.

The effectiveness of the app to the causes so far there were only 2 organizations which raised more than $100,000. This to me is a huge figure as raising funds online is pretty difficult job as there were lots of scams around since the start of the internet age. First we had chain emails to send to all of the user's contacts to raise fund for a leukemia patient or any dying person. People are very sceptical when donations come online from an unknown source.

The introduction of leaderboard for exceptional or successful individuals whom were able to raise lots of money for a cause proves to be some kind of double edge sword. In a way it spites users to be more enthusiastic in raising funds but it might also be not the true intention of users whom just want to be socially recognized through such "philanthropic" acts.

In order to be more successful in raising funds for a caused, I felt that the company, Causes, needed to make known or emphasize that and X amount of the funds raised would be to this charity organization and beneficial organization should make some form of publicity about funds raised through the cause raised in Facebook. This gives users in Facebook a form of credibility and are more willing and susceptible in donating money.
To conclude, I'm perfectly fine with the leaderboard as I don't really care of what the true intention of the user whom raised the cause but so long as we (the donors) know that the money that we "poured" in must go to people whom are in need of it.

Tuesday, January 26, 2010

CS3216: 3rd class on AWS

After having a "lecture"/introduction by Technology Evangelists, Simone from Amazon Web Service, I was really impressed with Amazon's cloud management, suite of solution to facilitate hosting and the automation of stuffs.

I'm actually looking for web hosting service having used Amazon's EC2 and a few other services I've came up with the following analysis. Well that also depends on your application's usage and specification.

Some factors to look out for:
- SLA may not be the main thing but technical support too
- Scalability (That is for your host)
- Shared, VPS, Dedicated (Depending on the scale and computation of your app)
- See specs that are given to you like Ram, Storage, CPU, Bandwidth

1) Slice Host ( initial cost is $20USD/mth
I've personally used this before.
Very good technical support, they have a "IRC" like thingy and the technical support guy will answer you within mins.
They have tutorials on how to set up SVN, Virtual host etc.
In terms of pricing i think its pretty cheap. You can start from 256 then slowly upgrade to a higher version. When really your app made it big, you can go to their parent company Rackspace which is a tier-1 host or upgrade up to 1GBslice(if is sufficient).
Bandwidth kind of limited.
I think it doesn't support .NET

2) Amazon Web Service ( is approximately $60+USD/mth - this is pay as you use, they don't have price plans but charge you by the hour.
I'm using it for my computing module.
This really can scale.
SLA: 99.95%
Alot of powerful tools that can be included
I found the technical support not very friendly.
If your app is small scale, not recommended. Just go to GoDaddy etc

3) Godaddy (crossed out)

Tuesday, January 19, 2010

2nd class for CS3216

Class today was more like project management or some sort, revisiting the waterfall model, agile development and the well known "divide and conquer" method. Somehow, I've been doing the agile development most of the time and there are times in which time is critical and I screw scalability. If I were to place scalability then I can screw the time. I'm always in a dilemma.
As years past, I tend to get "lazy" depending on the nature of the project (depending on the chance of me revisiting the codes) then I'll focus more on which element. I found in this way I don't screw up big time. Haha.

Also, the MVC frame work that was flashed during the class, I found it weird as there is an interaction between the view and model directly. My impression of view and model's interaction was thru the middle man, controller. There should not be any interaction directly from view to model (I guess).

Below is the MVC i'm familiar with,

Is there a difference?

Saturday, January 9, 2010

My first lesson in 2010

It has been an exciting and challenging year in 2009 as I left the little red dot, Singapore, for the Silicon Valley to do a 1 year internship and here I am back in Singapore.

I'm so nervous and excited about the class that I'm going to take tomorrow, CS3216: Software Development on Evolving Platforms. This is the very first type of module in NUS which allows students to explore popular open source technology. Rather than teaching theories, this module expose students to the beauty of open apis developed by the brilliant software developers in the world.

So rather talking about the pros of this module, being practical, what is the take away from this module which I hope to gain?
1) A good idea that I hope to spin off into a promising company (seems to be the usual answer).
2) Right now, I'm in the process of starting my own company with some friends and probably with the exploration of the open apis, I'm able to integrate it with my company's product.
3) I'm still building my resume and it would definitely be good to add into my skillsets rather than just Java and Java (I've no offense for Java but I've been learning Java since the good old poly days). Finally!!!

I'm kind of a fan for open source technology as it makes things easier and convenient. I respect the developers skills and effort spent to develop such technology for the rest of us :D. I've been wondering why local university doesn't offer modules for them? The closest I could find is an Open Source Management Course by SIM. It got me all hyped up when I first learnt about this module offered in NUS.

Here I come Facebook app (license to use Facebook while working) and Google Wave (seems to be the next wave of hype).