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

Google Wave

Showing posts with label lecture. Show all posts
Showing posts with label lecture. Show all posts

Friday, April 2, 2010

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!

Tuesday, January 26, 2010

The beginning of week 3...

It is time to make a new post again. I limit myself half an hour to make this post, cos I got to go off at 2.00pm for lesson.


Project
Our group is actually a very interesting group. We started out as a group with 2 programmers then we want to look for designers. But we ended up in getting two more programmers, who have better experience in the few areas emphasized in web programming. Thanks to them, we get to get to learn more in stuff like PHP, Unix commands, database etc. This shows that theory cannot never beats real experience. 
Then it turns out the two programmers who wanted to look for designers, one become the designer using Illustrator and flash/ActionScript person and the other writes reports, tackles on issue regarding ppl's gaming behavior (due to hvg a lot of gaming experience) and starts to learn designing. That time, we joked about ourselves, he says he is now like a business student and I am now like an arts student...


While enjoying the fun this project brings us, we are also suffering in many areas. What areas are we suffering in? 
Physically
When I got not enough sleep I start to get flu or heavy head :( I guess many of u also feel their energy level or immune system level dropping. Usually I feel this busy is when it is in the middle or towards the end of the semester when projects deadlines are near. Now is only the BEGINNING of the semester...
Mentally
Guilt being unable to spend the time on other stuffs, be it your family, friends or even your studies. Classmates skipping lectures or doing CS3216 during lectures instead of listening. 
I won't want to skip lessons but I can't guarantee I won't fall asleep during lessons... 
Some year 4 like me are taking FYP as well. FYP is something that really needs a lot of discipline, especially when taken with such a addictive module like CS3216. Besides week three has started, meaning tutorials have started!
Ytd I just got to know that two of my classmates dropped this module. I think they probably have taken this module at the wrong time, be it having to cope with too many things at the same time or not ready enough to take the stress.


The third lecture
Ytd we got a lot more insights into the Amazon, which is great...


Got to go off now!

Tuesday, January 19, 2010

Experiment shows that SLEEP does matter!

One more post for today, to address a very important issue... that is SLEEP!

At the beginning of the semester, one of our homework is to sleep more, cos we have to expect to be sleep derived when this module starts. Actually I don't believe that it is possible we can sleep more in the vacation so that I can sleep less during the semester. Sleeping is just like eating and drinking to me. It is important to eat tmr's share then I don't eat tmr, right?

And it seems like Prof Ben is promoting Sleeping is a waste of time to us. I read the comments here ("programmers don't sleep") as well as heard him saying "If you don't sleep, you get a lot of things done." I actually wanted to do a post like this long ago, but someone did it before me.

Actually I got an interesting experiment that I want to share, and dedicated to this project teammate in my group who sleeps from 6am to 10am everyday(?!) because he wants to do a lot and clears his daily to-do list. And this project teammate can just survive on one meal a day! =O

Below is summarized from a book "Psychology in Context"...

Sleep Deprivation: What Happens When You Skimp on Sleep?
  • Attention and Performance Drop (tt is when accidents can happen!)
  • Emotions Flare (gets impatient and aggravated easily)
    [u may be interested in this video (
    part1 and part2) about a person who did a 8 days no sleep experiment and his character and his life changed after the experiment]
  • The Body Suffers (immune system drops and if someone nearby has the H1N1 flu, u r the 1st to get it!)
  • Learning Decreases (sleep actually consolidates memories...)
[I found this other link online that tells us the effects on sleep deprivation, which includes how it can affect our intelligence as well :( http://www.learninginfo.org/sleep-deprivation.htm]

There is this experiment conducted in 2001 on whether is it advisable to "stay up one night to cram in as much extra work as you can" or "sleep a couple of hours less each night over the next several nights".

Twelve participants btn the ages of 21 and 35 took part in 4 sleep conditions. The control condition is no sleep loss, and the participants spent 8 hours in bed (11pm-7am) for 4 nights.
  • slow sleep loss condition: 6 hrs (1am-7am) for 4 nights
  • intermediate sleep loss condition: 4 hours (3am-7am) for 2 nights
  • rapid sleep loss condition: 0 hours (all-nighter) for 1 night
A picture speaks a thousand words, so here is the result:



The key results were the measures taken after a total of 8 hours of sleep deprivation. The results were clear-cut: Rapid sleep loss (all-nighter) disrupted alertness memory and reaction time much more than did the same amount of sleep loss spread out over time. Moreover, as shown in Figure 5.4, the faster the rate of sleep loss, the greater the impairment. Losing a couple of hours of sleep per night (slow sleep loss) led to the least overall impairment.

Why I got so much material? Cos I am interested in Psychology (my interest is very diverse), then in once of the vacation, I got nothing better to do, so I went to "research" some of these stuff =P

The beginning of week 2...

Have to finish this post fast. Got many other things to do!

Saturday's Workshop

The workshops were good to serve as an introduction to the various things. But i believe JUST attending these workshop is not really helpful. This is because the non-experience ppl can't catch up and the very experience ppl finds them too simple. I find them useful in a way, cos I don't fall in either of the categories:) These workshop helps me to refresh my memory on some stuff, esp the unix commands. Though I don't know php when I applied for this module, i did read a bit on it later, and I think the workshop could be better if more were taught. But anyway learning really starts to stay with us only when we do hands on.

Prof Ben is really good to us (in regards to food). When he knows me and some other ppl haven't eaten the KFC food he bought, he quickly send ppl n get McDonald food for us. Thanks! :)

After the workshop

That is when we get to know our project teammates for the Facebook assignment better. And it was only the first week and we had to stay bck in school during the weekends (incl Sun) to do our project :(

The Second Lecture

Ytd was a packed day for me! Rush here rush there... FYP, interview, FB App Seminar meeting, Lecture, FB Assignment Seminar meeting...

Btw there is sth I just about just recently, which is very much related to the lecture ytd. It shows us the communication problem btn the web designer and client in a humorous way. Hope you have a good laugh.



And who says the year 1 can do much compared to the seniors? Our grp has 3 year 4s and 1 year 1, n the year 1 is from a different era from us, haha. And we were so surprised at what the year 1 guy did. We got so much to learn from him!

I think the lecture time can be shorten, since the speakers who shared with us their experience had to end up with tell us that we don't have time to do what they did. And luckily, we don't have to record our hours like what our grp did for CS3215. The recording of hours in which the lecturer had to review to give credits based on is a source of conflict between teammates, it was a scary experience then. -.-|||

Wednesday, January 13, 2010

Orientation Night

I intended to make a post regard the lecture two days ago, but could find properly time to do so. After the lecture we have to worry about finding project teammates already, and is not for 1 team is for 2 teams! The title “Orientation Night” was meant to refer to the lecture and the Show-and-Tell session on that night. To me it is like an orientation to CS3216.


Lecture: Introduction to CS3216 and Facebook


No wonder prof says his life span would be “shorten by 2 years” when he teaches this module. I can ‘t imagine how he managed to do so much work for this module so efficiently. Besides being the coordinator, he has to prepare for lectures, read every single word on our blogs, maintain his own blog, grade us and send emails etc. On top of that still have to leave time for his wife and kids. Most Profs prefer to make the curriculum simple so they have less stress, so he is different from others. I believe he do this out of good will to make us a stronger person. His passion and enthusiasm for his job really makes him a superman! I wonder he knows 分身术 (be in 2 places at one time)! Not trying to flatter him or anything, just speaking from my heart. I am a teacher myself also cos I teach private tuition and and is also the teaching assistant for an module (I am still teaching this sem). I will sometimes go the extra mile for my students and wonder if I am over doing my job. So that’s why these thoughts occurred to me.


I took down some notes that I think is important on the lecture that I would like to recap here.
In order to be really good in sth, you need 10,000 hrs!
If you divide it by 4 hrs per day, 365 days a year, you get approx 6.85 years. It is quite difficult to really sustain 4 hrs each day for 7 years learning a skill, so it ends up one need more than 7 years to proficient in a skill?


I translate this to "really good in something (A) => spend 10,000 hrs on it (B)"


A
B
A => B
In English
T
T
T
It is possible that you spend 10,000 hrs in sth and you become gd in it.
 T
F
F
It is not possible that you don’t spend 10,000 hrs in sth and expect to be really gd in it.
F
T
T
It is possible that you spend 10,000 hrs in sth and you don’t become gd in it.
F
F
T
It is possible that you don’t spend 10,000 hrs in sth and you don’t become gd in it.

Just playing the sentence ard to get a fuller view of what to expect =P. I think the main essence of this is to work hard and work smart!
 1) Sales matters 2) People matters 3) Execution matters
I always believe in execution. Like the saying goes “Saying is easy, doing is difficult”.
In order to be success:  
1) Passion 2) Work 3) Good 4) Focus 5) Push 6)Serve 7) Ideas 8) Persist.
I remembered sth abt FOCUS that I would like to share, i.e. Follow One Course Until Successful!


Show-and-Tell


This is supposed to be a session for us to showcase our talents but it is really hard to tell who the right person for our team is. Because not every talent can be shown and not all talents can be related to the project we are doing.


Some people are single talented, he knows this and he only knows this, but he is very good in it.
Con: He may not “survive” if he is asked to take on an unfamiliar role. He is interested in nothing else but this field, he may have difficult in communicating with other group members.
Pro: If he is to take on a role that can push his talent to the max, he can be an asset to the group.


Some others are multi-talented, he seems to know everything.
Con: He may be only able to do the basics and not be able to learn or do the advanced.
Pro: He can monitor all group members’ progress, and is a good coordinator. It could be just take he hasn’t got the chance to get involved in advanced stuff previously, so picking up the advanced may not be an issue to him since he already knows the basics.


I believe everyone can serve a purpose to the group. It sometimes really depends on luck to find a “perfect” group where everyone complements each other.


But we are given only so little time to know each other… And it is difficult to get ppl’s name matched with face and the performance they did that night!