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

Google Wave

Sunday, January 31, 2010

The busy week with something fruitful!

Even after the Facebook project submission, we are still working on the app, can't bear to just leave it...

At the beginning of this project, we have too many big ideas, like multiple player, challenge mode and story mode... But we were unable to accomplish cos lack of time and experience.

We really learn a lot from this project. At least now I know I don't just know ActionScript, I know how to use it to develop a decent looking Facebook game!

Due to time constraint, we lower our expectations. But it seems that after the submission we were not resigned to the features the application has and continued to work on it. I carried on with my flash to implement to anti-cheating zig zag thing and the devil cards. While Haocong continues to work on AJAX and the database. These were the parts we wanted to implement previously but didn't do so cos of time constraint.

It was an enriching experience! Hong Jun, with lots of ideas on games and the ultimate tester in my group who always try to find a way to break my flash. Wai Hong, the extremely hardworking one, who is always very busy and sacrificing sleep cos he wants to live his life to the fullest, he can just eat 1 meal in a day but also eat 3 servings in a meal! And Haocong, the youngest among us, the very adventurous and enthusiastic one.

My sleeping time is pushed back cos of this module. Also my old laptop went on a protest to refuse to boot up for a while (and scared me) the next day after the submission (I guess cos it has overworked). The process is tiring but the fun overwhelms it. 

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!

Friday, January 22, 2010

Why is CS3216 so addictive?

Can I do other stuff, and not touch CS3216 for at least 24 hrs? :(

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

Getting to know each other

Rmb in the previous blog I said "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!"?

Actually the opportunities we get to know each other is really quite a lot for this module compared to other modules (humans just get greedier =P). Thinking back (then I realize)... in my first lecture of CS3215 we just all go ard and know each other and form groups straightaway. No performances, no blogs, no Facebook accounts to "stalk" each other. We have to practice some "face reading" abilities to choose our teammates.

We should learn to work with all kinds of people, and not be too choosy. We can't be given too much time too, time is precious. Sometimes it is just strange affinity btn ppl that bring us to work together. 

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!

Monday, January 11, 2010

The day has come!

Finally the school starts. A lot of things I planned to do can’t be finished cos the break is too short. But I am glad I have done useful things during the break, including tidying up stuff and shopping for new clothes, cos I knew I will not have time when CS3216 starts. Typical girls like shopping. But to me shopping is rather troublesome.
Before school starts, we were given an optional homework to do for CS3216. Though I had other things to do, I watched this video nevertheless. I brought back meaningful messages in the video.


The Art of Teaching Entrepreneurship and Innovation


Entrepreneurship is something I have never really thought of. Cos I thought it is sth impossible at this stage without enough capital. And was the “$5” I was limiting myself to. I am very impressed by the creative ways they used to solve the problems given.


Actually Computer Science is very much like Entrepreneurship. We are always asked to solve problems. The main different is the types of problems we have to solve. And creativity is important in both. Creativity is the element that makes our life interesting, yet many people are restricted by habitual and traditional ways in solving a problem. To me, creativity is something that relies on the moment of inspiration. Just that some people have more of that moments, some have less. So in order to get more of that, it is essential to always open your mind and interact with more people and things.


Besides creativity, I feel that entrepreneurship needs a lot of efforts to “put down face”. Just like those students who stood in the streets with a sign saying “Stanford students for sale. Buy one, get two free” and making your own business card calling yourself President. In other words, one needs to be brave and have “thick skin”. In addition is the attitude to be able to put up with failures, try again and again. I like the idea of failing fast, frequently and cheaply.


I shall end the video review with this quote:
…every big problem is a big opportunity. If you think about it, no problem, no solution, no company. Very simple. Every big problem is a big opportunity. If you don't have a big problem, you don't have a big opportunity. Nobody will pay you to solve a non-problem. 


Show-and-Tell Preparation


I was rather surprised when I learnt about this, cos I don’t know this beforehand. And so I end up having only 2 weeks to prepare.


I will be doing a playing a pop song on traditional Chinese instrument. I have no problem choosing this performance. The challenge is the part on choosing a piece. I select the theme to be a pop song first, to cater to the young audience. But I have never performed pop songs before, not to say solo in pop song (cos Chinese Orchestra is usually group performance). I found this song being playing quite nicely by this instrument by someone online and a score somewhere else.


Then to realize the song is actually not for this instrument, it is for guitar. This is not the main problem; the main problem is the score has many wrong notes and rhythm, I only managed to edit a bit. I also later (after 1 week plus) found out there are many versions of this piece online. I found mainly scores for piano. By doing these I was able to compare and contrast. I think none was actually totally correct (my own thoughts together with the comments on the forums), but it was not too bad since this instrument is different from piano (I can’t play all those notes in piano on this instrument lah). That was when I made the major adjustments. But I was already used to the old fingerings and bow style. So I tried to minimize the adjustments, while making the piece sound right to my ears. This is the first time I customize my own score used to perform!


I think those reading this would be able to guess the instrument (but not the song:)). I wonder there if would be another person performing the same instrument, cos that person was/is from the same section as I do in NUSCO. And I wonder how many ppl would actually perform (cos FB videos don’t show many). It would be very weird if there are only a few who perform and I am one of them. Also there is no time limit to a performance. So if too many ppl perform, would it drag till too late?


Actually I have not been playing this instrument from quite some time after my major performance in my 3rd year second sem. I took a break off Chinese Orchestra that time cos of my health and my final year. Hope these two weeks would be sufficient for the upcoming performance. I should be able to perform do a reasonable performance provided that if I don’t get too nervous. All the best for myself!

Wednesday, January 6, 2010

What have I been up to?

This is the first time I am keeping a blog like this. I actually have one other blog which I update some of the thoughts I have whenever I feel like I want to, maybe once a month, maybe once a year. This is going to be a challenging task for me, cos I don't have the habit of blogging. I wonder what I should say and what I should not, hehe...

I managed to put up a Facebook profile badge and an embedded Google wave gadget. Yay!

Why this blog name? 

If you have noticed, I have changed the blog name. It is called “Stop! Look forth-back-forth. Run!” This phrase came from the phrase "Stop. Look left, look right, look left again. Walk.", something that your school/parents would have taught you since young. This blog has three levels of significance.

1) Blog
Blog title is a branding. So just to make sure it sounds catchy enough to attract attention. Hope I have done so.
2) Programming
Make sure you don't cause any bug. Stop for a while, check your code then run your program. LOL.
3) Life
I think it would be good to be brave but careful in life. Be brave to try something new and be careful in the process of planning. When you recognise your target, head for it!



I have watched the two recommended videos "The Last Lecture" and "Stay Hungry. Stay Foolish". I watched both some days ago, so what I am gg to blog below would be those statements that left me the most impression. I looked through their transcript again to search for those statements that touched me the most.

The Last Lecture


Randy Pausch is an excellent speaker and he presents his speech in a very humorous way.

The brick walls are there to give us a chance to show how badly we want something. Because the brick walls are there to stop the people who don’t want it badly enough. They’re there to stop the other people.
We should not give up when we face obstacles; he used the metaphor of a brick wall very well.

Oh yes, I just remembered I read about sth like this recently. I think it was a story in Chinese, but I can't really rmb where exactly I read it from. So I would just provide the translation here based on my memory. It was a story teaching us abt financial education in English. I accidentally come across it again=P

It is about a person who is very interested in beverage business. So he came out with a drink called 1UP, but it didn't sell. He did not give up, and he improvised the drink to 2UP, yet it didn't sell. He didn't give up, and he came out with a newer version 3UP, still it didn't sell. He kept improvising his drink until 6UP, but still it didn't sell. So he gave up. Years later, someone came out with the drink 7UP.

This story is not the truth about how 7UP came about, haha. It is rather an analogy that we shouldn't give up so easily. And I believe many of the time it is the stubbornness and the determination that make us move on.

And I said, Andy, I just gave a two-week assignment, and they came back and did stuff that if I had given them a whole semester I would have given them all As. Sensei, what do I do? And Andy thought for a minute and he said, you go back into class tomorrow and you look them in the eye and you say, “Guys, that was pretty good, but I know you can do better.” And that was exactly the right advice. Because what he said was, you obviously don’t know where the bar should be, and you’re only going to do them a disservice by putting it anywhere. And boy was that good advice because they just kept going.
It was so funny and so enlightening. Yes, it is indeed very true. There is no boundary in life in achieving something. It is often yourself who set the boundary for yourself. For instance, you become lazy and sloppily finished off something, so you don’t do well. We must always hope for something better, must always be strict on ourselves. There is always room for improvement.

Stay Foolish

Steve Jobs speech is more solemn and short, but is very meaningful.

Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever.
My interests have always been very diverse. There is a saying about one possessing many knifes but none is sharp. I don’t wish to be one of those; I want to have at least a sharp knife. But I believe I don't have to make all the knives sharp, and it is alright to keep many blunt knives, but at least know the right knife to sharpen at any particular time of life. I really hope the dots will connect.

Cone of Learning -- CS3216

Just to share about this Cone of Learning which I just learnt about... and relate it to CS3216. 
I believe in this module, we will be doing a lot of active learning. And by the end of the semester, there will probably be many unforgettable experience.






What I hope to learn in CS3216

When I started out as an undergrad in the School of Computing, I have absolutely no idea what programming is about. So learning programming is sth very new to me. Level 1000 and level 2000 modules were crash courses one after another; it was like seeing everything through a fog. Luckily I met good people who helped me in understand what I was learning all along. But still my basics are not very firm.

Everything is still like a dream, so unreal. "I am a computing student and I know programming?" It was until I am able to finish a lab at a speed faster than I have thought I could have taken and I am able to contribute my ideas and help my project teammates, i know everything is getting real. When it comes to level 3000 and level 4000 modules I start to see more familiar stuff here and there, and I know this is where I belong.

Last time when I heard of ppl who knows a lot of programming languages, I really admire them. But coming to this stage, I realised I actually know a lot of programming languages... but just that I don’t know not know them well. The most confident languages I know of now are Java and C#. And some of the programming languages I know of are pretty impractical to the real world, though they are good for learning theory. In job advertisement, who will state Haskell and Prolog as part of the programming language requirement? And I heard a saying that most things that we learnt in school will become obsolete when we graduate.

Half a year from now, I will not be an NUS undergraduate anymore. So I want to learn as much I could now.  I want to learn practical skills which can put what I have learnt all these while into good use. I want to learn about the latest evolving technology, hope I can apply these to my working life later. I want to learn how to “capture eyeballs” (a phrase used quite commonly when I read abt CS3216), which I think involves some psychology aspect. I like the satisfaction feeling after finishing a project, so I hope to get more of this feeling by coming out with innovative applications. I know I will have to go through another crash course once again, but this time with more preparation and confidence.

Furthermore my CS3215 project wasn't up to my expectation, many regrets. So I don’t mind going through another hectic semester once again and make up for whatever regrets I have. I wish to learn more about team work in this module, learn how to work with people from different faculties and major. I wish to know how things can be thought in different ways from ppl immersed in different teachings, which I think will help me to enhance my creativity. Last but not least, learn how to have fun and make new friends!