Wanna know more about CS3216? Visit CS3216 Website, CS3216 Blog and CS3216 Facebook Group

Google Wave

Saturday, April 17, 2010

The Unfinished. 意犹未尽

Check out my previous blog post, this is part two...

CS3216 is not over for me. It will extend even after my exams, so there is be a possibility that I might visit this blog again and post sth here :)

Things I didn't learn from CS3216:
(read btn the lines... =P)

Ideas are cheap, Execution matters

Actually i know learnt this quite some time ago, esp the "Execution matters". The "Ideas are cheap" sort of reinforce it. I usually prefer just do it, then to think until very far (for example: add in a lot of features to an app) and say all these can be done, then start only at the very last min.

Dunno who was the one who said this in the peer appraisal: "A more realistic person. Good and bad I suppose. On the good side, we set realistic targets that are actually able to be met without too much pain. On the bad side, it sort of made her unable to dream big." Who was the one ah? Admit it? :)

It is actually quite true of me. I think I sort of became too practical that I sort of ruled out that big dreams are possible. It is really good and bad. Will try context switch btn being practical and dreaming big.

Stay Hungry. Stay Foolish

I am a curious person. I love learning and I have many interests. Hope that all these dots will somehow be connected in the future/now.

Outsourcing

I don't really outsource to friends, cos I was not very good at friendships in the past. Will try more often that in the future, haha. I usually outsource to my parents. Like helping me to buy things, check how to get to a location, be my alarm clock etc. I realise sometimes things are done better if u do it urself or maybe not if it requires professional knowledge n u don't hv. Sometimes it really can't be helped, tt u need someone to take over it. It would be important that the person can be trusted. A balance need to be strike btn the two.


----------------------------------------------------------------------------------------------------------
I strongly recommend this, it sums up the last lecture quite well. The fact that the video Orry took is no longer distributable, we only have this, the slides and the photos in the Facebook to reminisce how interesting the last lecture have been.

A lot of knowledge/memories CS3216 has brought to me have been somehow translated to something subconscious, quite difficult for me to regurgitate them again. But I believe I am now a stronger person.

Tuesday, April 13, 2010

Wonderful Session ++

Actually the most interesting part ytd is not the lecture, but the session as a group with Prof Ben after the lecture. I am honored to be part of this interactive session with him.

What is so special about this teacher is being a computer science lecturer is a head fake. He teaches us philosophy. Recently, a CS classmate was conversing with me regarding CS3216. He was someone who got rejected from the 1st batch of CS3216 application and never applied again. This is how I introduced him regarding Prof Ben: “He is known as the ‘evil’ prof who gives us a lot of work. He doesn’t teach programming stuff, he outsources. Rather he preaches us on philosophical stuff.” Then he mentioned about one friend of his who was an ex-student of CS3216 and asked me why his friend likes “the evil prof” (i.e. why like him even though he is evil). I replied he is friendly to his students.

Actually it’s not just friendly (is an impromptu answer)… To elaborate on this, he is rather “kay poh”; he tends to want to understand better about his students and bring out issues of the more concern for discussion. He keeps up with the times and he knows a lot, such that he can easily reach out to more ppl. And he keeps in touch with them.

The issue on why I think my father is not my role model; is not just the negative motivation part. I think he is rather trapped in his own thinking, resist new idea/perceptive and change. So I aimed not to be like him and see how well I can do by going in this other path. I have never watched Star Wars, but I believe the idea that Star Wars is trying to convey has probably been brought across to me in one way of another in other forms (being curious why it is so much recommended by prof, I will consider watching it :)). If proving oneself is said to be a “negative force” and doing family’s proud is said to be “positive force”. According to what I heard from prof regarding this “negative force” is that it will lead to the desired outcome in the fastest way and “positive force” is for the long run. Then what I am doing now is to start with the “negative force” and introduce “positive force” on the way. Since both forces (in this context) doesn’t conflict (we are not living in the Star Wars story), I think the two forces can definitely coexist and cooperate.

One thing u probably didn’t know. At the beginning to the middle of the semester, I was somehow “addicted” to blogging. What I meant was that the idea for blogging comes when I am waiting for bus, on the bus and even studying for other modules. (PS: This blog post also came out when I was on my way home; I typed the major portion last night, and did a bit of editing today) As my phone plan was up soon at then, I thought of getting a phone that can facilitate blogging while I don’t help even access to my laptop. I sorted of later “suppressed” that addiction as I am getting busier, the topics are getting more technical (later paragraphs will explain this), don’t know what phone or phone plans to get, the thought that phone’s keyboard too small for typing freely etc. Btw I still don’t even have the time to get a new phone yet :’( even though my plan was up on March 15.

If you look at my blog u will realize I don’t talk a lot about technical stuff. Though I am a Computer Science student, I don’t feel much writing about what I learnt after a technical related lecture. This is cos being a Computer Science in theory student (meaning I lack real world experience), I don’t think my discussion about these issues would be as interesting as those who have real experience.  I could have regurgitated what I have learnt all over again in a blog post. But it would probably sound too boring as all other classmates have heard these before. I think a blog post should be more focus on experience and thinking, and probably about life.

I have got a somehow “short-term” memory. Doesn’t mean I have bad memory. Let me put it in this way: I can do analysis and regurgitate stuff better if I don’t keep it for long. For those knowledge that have been kept for long, they somehow turned into some kind of subconscious thing, not that I don’t remember, is that I would need some trigger to recall and more preparation to make them into something conveyable. That is why I don’t speak as well as some people, who can present sth as though they just experienced it ytd, but actually it is sth that has happened long ago. I need some time to prepare, if not I just blanked out. That’s why I need to finish this blog post soon, before I forgot about what I want to say. Inspiration is very important.

The reason why I was never marked a good speaker cos to me what I present is usually binary. Either I know so I can say in the simplest form or I don’t know so I can’t answer. Some people can say sth until as if they know, but actually they don’t, and furnish what they know little to as though they are experts. I can’t do that. Probably this is good in a way to keep thing simple, but I can easily myself into trouble if I have to speak more. One other thing about me is that I am bad at answering impromptu questions. These are things I need to improve on…

Actually I do have an interest which is more philosophical. In the past, once in a while I had some thoughts about life, I posted it down. Don’t believe? Check out this blog: http://weeliyen.spaces.live.com/, the category on “Food for Thought”. I don’t really maintain blogs, few reasons are: I have no time.  I want to keep some privacy about my life from the public. I don’t hv much confidence of maintaining readership (with my boring life). I don’t want to halt my life at unhappy or happy memories, I want to move on.

Another thing is I was also bad in building relationship when I was young. I was the quietest girl in the class throughout my upper primary to JC school life. Being the quietest girl, what can I do? Observe! Observe how ppl interact and learn from them, and slowly adapt. I actually learnt humor!  In observing ppl I do like to do some “analysis” on them, esp their characteristics and how to get along with them. University gave me the opportunity to learn these better, cos I am throw out from my comfort zone, there is no fix class that I have to attend. Now I am actually a different person from who I am in my JC or Secondary School days. I am still learning.

There was/will be never another semester like this. I would never be able to churn out so many blog posts in a semester. Though I could be easily contented (u see how I easily settled with a job), I don’t want just a plain life, I want more stimulations and happiness. I will go out and search for them in the future.

Hmm… it turns out this post is not really what I learnt specifically from CS3216, rather some reflection on myself. But I guess Prof Ben don’t mind right? :)

Friday, April 2, 2010

Towards to end of the semester

So long nvr blog alr, did feel a little bad about tt... not tt i don't want to blog anymore, just that i feel that i got more things on the top of my priority list. Just wrote two blog posts at once! Finished the major portion for my FYP report, hurray! Hope tt i didn't have to make much changes to those parts. 

Hmmm... i am still very busy. Busy, busy, busy...

Semester coming to an end, means exams are coming... but i am actually happy about this! Cos after this I can graduate! Time to move on to the next exciting stage of my life...

Traps everywhere

I wonder if it is cos i have added my Facebook badge on this blog (which has my email address) on it, strange ppl start adding my MSN saying strange things to me :S..

BLOCK YOU!

I hv removed my Facebook badge on this blog n don't wish to see ppl like these anymore. To protect my privacy...

The previous lecture about "Facebook Security and Privacy" is interesting but rather introductory... i have heard about some of these before but never really study into them.

When I did the Facebook assignment, being in touch with PHP, i read abt some of these stuff regarding security on my own... that is when i got to know abt MySQL injection - use mysqli_real_escape_strings() to counter it and also XSS - use strip_tags() to counter it and it is bad to keep the test page created using phpinfo() cos of the amt of info release to the public, so i removed phpinfo() from my test page. From the lecture i also learnt that revealing too much info includes exception and debugging stmts. I believe these issues are not the consideration for most ppl when building small applications or websites that cater to small group of ppl, it only starts to bother you when your application or website gets popular. But it is always to have good practice. Probably someday i should find time to go read more about these issues, they sound interesting.

Security also reminds me of malware. Malware is probably sth that most of us would have encounter with. After having caught a major virus about one year back, i am actually quite scared of thumbdrive. However malware is sth interesting yet scary. How I wish I got a laptop where i can do experiment on it. Cos now what i can do is protect my laptop against them, but doing so means i can't know more abt them. Experience is quite important in understanding =P

Wednesday, March 3, 2010

Help Varsity Chronicles!

CS3216 lesssons are getting more and more interesting! Right after the highly interactive session on Friday, we have just been through an unusual session! Usually people make speech to share success story. It was a refreshing experience to get a chance to hear students sharing their failure stories.

Get Help!

It was a bit difficult to visualize how lost users can be in the old app, cos we were not given the old app to navigate through ourselves and the assignment alr provided us with lots of description on how the app is like. It is difficult to get first hand experience feeling on the app.

Only until the presentation I began to see how problematic the odd app can be. No wonder during one of the workshop I heard Su Yuen mentioned that they took 1 day to build the final project app. I was thinking how is it possible? So this was the inside story to the 1 day app. They did prepared and did a lot before that 1 day, not that they dragged everything to the last minute, it was just that they want to perfect their user experience that they redo everything. Luckily they were able to deploy their app in the end. To tear down the app and rebuild it in one day is not an easy task, they must be very skilled in technical aspect! Admiration for them!

The wonderful five lessons learnt:
  1. Too Many Choices and Aesthetics Cause Confusion
  2. Users Need Guidance
  3. Creating Context from User Interactions
  4. Meaningful Incentives
  5. The Cold-Start Problem
Recently while trying out various of my classmates wave assignment app, I put myself in the shoe of a user. It is easily to lost an user if the instructions on using the app is not clear. For eg the Chrome addin app. At first I don't know how to start using it. The long list of description there didn't tell me how to start. Anyone faced with such situation, plus having other stuffs to attend to, may just ignore the app forever. However i didn't, cos it is my classmates app, i decide to post a comment there.

I think the main reason for why I don't get to know how to use it at first is cos that page I am in doesn't support drag n drop. The reply I got seems to suggest I am not geek enough to use their app (what?!), i think it is not a nice way to reply to users. Furthermore almost everyone does searching, ppl range from 8 to 80. Why restrict the users to the app? All these aside, the reply said they don't hv time to do tutorials. Actually a short explanation of just a few sentences (no need to be long) like what is in the reply alr can explain how the app is to be used is enough. I would say that the addin idea itself is very good, but just maybe the way the app is marketed is not good.

Recently I also found an interesting website. It is a campus kind of cooperative website. I find it from an event in Facebook that my CS3216 classmate is attending. I think it is an idea similar Get Help, and it seems to be doing quite well too. It involves virtual money and real money, what a good way to make money!

Varsity Chronicles

At the begin of the this speech, Prof Ben mentioned abt the idea we wrote for the application to get into this module. I admit I am guilty of it =X Being not a Facebook app regular user or a business person, how shld i get myself into this module? Yup, at the point when I wrote my idea down I know it is not achievable given the little time we have in this module. But it is indeed an app "a cool Facebook app that you *really* want to build" and I could only thought of this cool one at that point of time. Coincidently, it was an RPG game relating to Superpowers.

At that time being a non-gamer, I didn't even know it was called an RPG game. What makes me think of such a game was probably my interest in watching fantasy related dramas. I don't just watch these dramas though (i watch serious ones too), just other dramas genres are not relevant here. Now being a non-official gamer, i still find my idea fun...

Back to discussion on Varsity Chronicles. Their idea is interesting, but the execution is disastrous. What I think that the main cause of their failure is not due to their technical disability, it is all in the mindset, like what Prof mentioned. Mindset as in not that they don't want to succeed, it is they don't get realistic. As a saying goes "Fail to Plan, Plan to Fail".

Every iteration being a different idea which they can't deploy their app was a surprise for me. And given that they were trained in scrum and waterfall concept, they still ruin their project in such a way was even more shocking for me. Read this: "Despite the additional manpower, every design meeting meeting the team had resulted in new features being added to the game. Effectively, the team is starting from ground zero again. Much of these decisions were based on theories and past experiences". This should be adequate to support my claim on them being unrealistic.

As for why I say the main cause of their failure is not technical issue. Reason: If they were more technical capable, they might be even more ambitious and come out with crazier ideas, as a result, their fall is more painful. So the lesson learnt when building sth is to take one step at a time. Of course in theory, a baby when grown up will eventually be able to run, but u can't expect it to run in a few months time right?

Finally I would say the speaker Justin is a good speaker, his clarity in speech made his experience so real in front of us.Together with Prof's suitable interrupt to backup the ideas taught, made the session really worth while.

Tmr I am hvg a test, why am I writing a blog now? I think the experience with CS3216 sessions were too interesting, since I got new ideas now, I scared if I don't write now I may forgot later... Every Thu is my very very busy day, lessons from 11am - 10pm...  so I doubt I can write any blog then.


PS: Hope the wave assignment marking will be faster enough so that I can remove the embedded wave from my blog soon. Cos I have been receiving complains that ppl don't dare to come to my blog cos the wave is loading very slowly. The wave is causing me to lose readership, oh....

Sunday, February 28, 2010

The Final Round of the Game

CS3216 = a fun and tiring game... we survived to the final round!

The Change of Project Teammates

Why am I in another team? Some of you are puzzled... Initially i was in my Facebook group, and so i rejected ppl's offer cos of I alr have a team. But now I end up in another team!

Actually initially our Facebook grp planned to come together again for the final project to continue our Facebook app. But seeing our app after release to the Application Directory has its popularity shot up so high and dropped drastically the next day (remaining low subsequently), then perhaps the viral element of the app is not there.

Then we plan to build an app on a phone... But we actually have not enough time to discuss more abt the idea, when everyone in the group is busy with other stuff.

The change in situation started when one of our teammate decided to join another group to work with more ppl. He felt bad about it, but we didn't blame him. In fact one of CS3216's purpose is to make us work with more ppl right? Then not long after this happened in that day, a teammate from my current group appeared right in front of me to persuade me again to join his group. Being able to participate in the Imagine Cup is already attractive enough and that they seemed to be quite prepared (written partial proposal, did research etc). Furthermore, isn't it meaningful to be involved in "saving the world"? Plus the fact that he approached me at the right time, when there is a change in suitation in our group! In the end, I join their team. Initially I did felt bad abt it towards my previous teammates also. But then again it may be good for everyone to be a part of different teams in the final project so tt we get to work with different ppl and probably find different opportunities? Let's move on!

Microsoft Talk & Final Project pitching party

I combined them cos i find them got overlapping parts...

I think the Final Project Pitching Party is the best session I seen so far! It managed to capture my attention even it is already so late at night. I think the most important factor was the interaction part. One comment by another, so interesting.

In the meanwhile, i divert a bit to the Microsoft Talk on Mon. The guy has a weird accent (i am glad his collegue agrees with what i thought), such that I find it hard to follow what he said.

I caught what he said about do what we are good at, so that we don't get just in-between skills (this is an interesting phrase i nvr heard before, so i remembered). But then if we do not try out various things, how do we know which we are good at and which we are not. In-between skills is unavoidable. Most importantly is to get involve in something you love and u feel it is worth spending time on.

Then also about people being not the same as you. Truth is sometimes we made too much assumptions based on our limited scope about others when is not true. Just like rich people cannot understand poor ppl and visa versa. Even u r once poor but now u r a rich person, there is no guarantee u will rmb what it was like being poor and is still able to understand poor ppl.

Back to the Final Project Pitching Party. I am actually quite amazed by the preparation done by some of the group. For eg. Supremacy. They already have the cards designed, wow. The more wow part was they actually have so many ppl in their team! I think i heard someone mentioned about culture... Actually i think using Ben Leong's photo is probably not a good choice to bring the game public. In our MisMatch, we thought of using Prof Ben's photo + 2 horns for the devil cards before. But with second thoughts, we decided not to. The reason being the players don't know who is Ben Leong. As Prof is someone who is famous mainly in the academic and business aspect, ordinary folks probably don't know him. So in this way, there is a culture difference, hence it may be difficult for them to find meaning in the game.

The treehouse presentation was done very well! Even though Cedric, the presenter had a headache, the presentation shows the fact that well preparation is essentially for good presentation. Yes I agree, the relationship we form through Facebook and Twitter are very superficial. People change because of certain incident or life experience, if we do not know how they change and why they change, we get detached from them. Not seeing each other for quite some time can drift relationship apart. IMO, any technology device substition is never adequent to maintain a relationship, we need to see each other often... If really cannot see each other often, then there leaves no choice to depend on technology. But I think it may be difficult for Treehouse to get users who don't like to write and don't have photos or videos to substanitate their thoughts...

World issues such as poverty, diseases and natural disaster are difficult issues to solve. They definitely cannot be solved in a single Imagine Cup project. These problems need many many years of hard work to be eradicated slowly. But if we can make a difference to just one, why not? Remember the starfish story? “Well, I made a difference to that one!”

Then at the end, this collegue from Microsoft convey the message of "穷则变,变则通,通则达,达则久,久则穷", i tried to search online for the "offical" definition of this word, but can't find. This phrase looks really interesting (Orry says it is recursive, true leh). So I went to research online, but it seems like it is difficult to search for the whole phrase, ppl usually leave out the last phrase. So to get the result i want, i had to just search for the last phrase. I realised this phrase is from 《易经》,and according to this link, we don't know who wrote this book, so may not be Confucius.

For more info on this phrase, u can check it out here:
 “《易》穷则变,变则通,通则久,是以‘自天佑之,吉无不利'”。这就是说,万事万物发展变化的规律,就是“分久必合,合久必分”,“穷则变,变则通,通则久,久则穷”,是一个太极循环格局。当然不是简单地重复过去,而是螺旋式上升,不断向更高层次发展变化。所谓“生生之谓易”,“天行健,君子以自强不息”。

The meaning of this phrase loosely translated for those who don't understand it is "If u reach a bottleneck, u hv to change; if you change, things will go fine; as things go fine, u will gain success; as you gain success, this will go far; if you go far, u will reach a bottleneck again". Good food for thought to end off this blog!

Last but not least, thanks for the food!

Friday, February 26, 2010

Time allocated for modules per week

This was probably what i have been allocating for my modules on average per week...
(sum of time taken throughout a week; not subtracting time required to survive - eat/sleep etc)

0.5 day - Module A
0.5 day - Module B
1.0 day - Final Year Project
0.5 day - Teaching Assistant Task
0.5 day - Preparation for Future Career
4.0 day+ - CS3216

Time to get worry for my other modules (and spend more time on them?!) :(