Tuesday, 26 February 2013

Why are you doing this?

This week's highlight is the Golden Circle, an idea inspires us to think about WHY before proceeding to HOW and WHAT.

It is easy to get lost if we only focus on what we are doing, how to do something but forget the reason why we are doing something. Great leaders think from inside out, while the others do the other way around. "People don't buy what you do, they buy why you do it."--Simon Sinek

One of the weakness some leaders have is that they don't believe sth strong enough. I pitched an idea on a mobile hospitality app which helps hotel admin to create promotional contents to the hotel guests. I wasn't clear enough about why I intended to make this app and I didn't successfully deliver my idea to the audience. In fact, I ended up identifying the wrong problem and presented quite badly during the pitching.

I went back and rethought about the reason. WHY are you trying to make that app?
There are three main reasons.

Firstly, it helps those small and medium hotels to owe their own apps to better engage with their guests. Most small and medium hotels cannot afford to develop their own mobile apps. They also have pains promoting their products/services. Promotional contents are attractive resources which can potentially engage hotel guests, especially those frequent guests. This also opens up another possibility for the hotels to use our app for hotel booking and save the cost for big PMS system.

Secondly, more ambitiously, the data of all the hotel promotions will be stored in our central database and we can further train the data for better filtering. In the long run, we can provide hotel promotion search for public users.

Thirdly, all the ideas can become in vain if we don't have hotels to use our app. The business world is complicated. Most likely, the programmers are not into it. CS3217 people are really cool. but one thing I noticed that among the three years' projects, only a few apps get published on app store, which I suppose is the problem with the fact that programmers are not good at sales.Personally speaking, I don't have enough business senses. But I don't want the app made by these cool people get dead. Even if we need to sacrifice for sth, it cannot be worse than we ourselves witness the newborn baby gets dead at our hands.  I happen to know one IT consultant who has a lot of contacts in hotels and has already got clients before even having products.  Thus I thought maybe we can make this happen. Honestly speaking, I don't really trust that IT consultant. He seems to use other people instead of making a big difference. However, last week I get to know that he is a Christian, thus I think he should not be bad.

Project wise, it seems to be more suitable for CS3216 than CS3217. But it is a quite good project to work on.

Some other alternatives--Games. I talked with two friends who are interested in technology in general. One friend has an idea of a location based multi-player game, which is a fair idea. Another friend has a really cool idea which comes from a science fiction named "Flatland". The idea is that there are creatures living in a 2D world, while 3D world creatures can interfere them with super skills. Say when you shake your ipad, an earthquake happens in the 2D world. The idea is not completed yet, but it sounds pretty cool!

Other notable things:
1. Hackathon this weekend. First time attending this kind of activity, it was pretty cool. We made a rough prototype for a native iOS app. However, one of our team member was sick and I happened to have an interview the next morning, thus we didn't present in the end.

2. The Human Resource business class. We learnt personality in this week. It helped discover myself more and it was really interesting.

3. Reflection. This week, I get distracted easily. Need to be more focused. I shouldn't get discouraged easily even if get criticised.

Monday, 18 February 2013

Quite Good

Submitted the problem set(PS) 4 on time. Indeed, it's the best PS I've done so far. I made the physics engine working on Friday and the design pattern is much more beautiful than the PS3. I was about to give up when I haven't started the problem set before the Chinese New Year ended on Tuesday. Thanks to Yujing and Prof.Ben who gave me a hand when I was about to fall. It is more about learning than grading.I cannot believe that I made the program working in 3 days when even the easiest problem set(PS1 and PS2) took me the last minute to struggle.

One great secret is to "ASK".  I was a bit too lazy to ask questions before things became disasters. Gratefully, I did ask a lot of questions this week on Forums/Emails/Persons/Classes. People are generous to answer your questions even the questions may sound silly. Actually, I am well-recognised by many groups of people as a man who asks a lot of questions.  I shall make it a habit even in classes where everyone seems to understand all the concepts.  A special thanks to Nannan who's my previous roommate and an AI researcher. He really helped me a lot in understanding MVC and how the pattern should be designed in a more elegant way. I will still need to struggle a lot on PS5 since I designed the game badly in PS3.  However, I find it encouraging that I will be learning a lot along the way.

Some other stuffs.
1. I shared two ideas on IOS projects in class, one of which is a maze game which utilizes ipad/iphone's gyroscope &accelerometer to navigate around the maze in a 3D world. However, Prof.Sim pointed that the accelerometer is not really that accurate in calculating the 3D position. GPS&Wifi are even worse. Thus the idea may not be possibly working. Another idea is proposed by Prof.Tung, a book annotation service which takes a photo of a book and search friends' annotations on the same book/page. This may rely too much on the web service. Thus may not be so suitable for the CS3217 project. When I picked my parents in Changi airport, I noticed that one lady holds an ipad to help guests check the flight information. A lot can be done in the enterprise level. Actually, I personally know a IT consultant company which focuses on hospitality. I may make an app for the hotels in the final project. Two interesting apps: BallStrike http://www.fit-master.com/, Pocket http://getpocket.com/.

2. I gave out rose&chocolate&letter on the V day, unfortunately, she was sleeping. The next day, we had a talk and she said she seemed to have no feeling on me and thus we didn't start the relationship. On the letter, I quoted 1 Corinthians 13:4-7 and a piece of music from 西村由紀江http://www.xiami.com/song/3393248. We shared some thoughts. Personally, I believe that a couple with common belief(religion) would be a strongest tie. No need to be too emotional, God has a plan.

3. One thought from NanNan. Do read some Philosophy books or Theology books if you would love to have deep thoughts.

Tuesday, 12 February 2013

A Week for the Love Ones

I picked my high school English teacher, her college schoolmate and my parents last Monday morning. Since I was rushing for the problem set 3 deadline, I asked them to travel by themselves on the first day. My mum was too tired to travel after taking an overnight flight, thus she stayed in the school and took a short snap in an air-con room. I continued doing the assignment when she was sleeping. My teachers and my father went to gardens by the bay for sight-seeing. However, my father was also too tired. Thus, they three came back very early in the afternoon. We had a very traditional hometown dinner together in a PGP(Prince George's Park) kitchen which was made by my mum. The bamboo shoots with  salty vege was really delicious.

On Tuesday morning, I guided my teachers, parents and my best friend's girl friend(TingTing)'s mum to the Botanic Garden. Botanic Garden is my favorite place in SG. We had a great time there, taking photos and enjoying the fresh air. Then I introduced a Japanese noodle restaurant to them for lunch in Holland Village. They thought the taste adaptable and quite good. I then went back to school for class. My teachers and parents went to Orchard road by themselves. My parents found the price too shocking and the teachers also hesitated while making the purchasing decisions. They had a brief dinner at the Food Republic which didn't appear to be that delicious. The dinner was intended to be chilli crab in Ang Mo Kio, however, it was a bit too late after TingTing and I finished the class.

On Wednesday, I guided the same group of people to Sentosa Island. We went to the beach, the underwater world and the dolphin show. Then we came back to Vivo City. The island didn't attract my teachers at all since they had seen similar attractions in Sanya and Xiamen. However, my mum felt eyes open after seeing the magical marine animals. Haven't been to Vivo for a long time, I went lost in Vivo City. We eventually found the Giant Market and bought the desired food for cooking. We had a home-cooking meal again at PGP.

On Thursday, I asked my teachers to travel by themselves and do whatever they would love to do. They went to China town to change some currencies and had some Bak-Kut-Tehs. It turned out that they were not so productive on their last day in SG. In the evening, I guided my parents and my teachers to University Town in NUS. They had some thoughts on education and appreciated Singapore's education 30 years ahead of China. When they visited the Botanic Garden and the National Geography in Vivo City, they saw teachers guiding students to explore the knowledge in a very intuitive manner, which made them reflecting the current examine-oriented education in less developed cities in China. My high school teacher insisted that she had to bring her 13 years old sons to other countries to know more about the world-"They need to have a global vision, otherwise, they will become the frog in a well".

On Friday, my teachers flew to Phuket. My parents and TingTing's mum went for shopping by themselves while I was taking the class. They seemed to be adapted to Singapore's convenient transportation and shopping experience. They also started to fall in love with the environment here. We invited one of my hometown friends, Su E, to the dinner. She's a very caring and thoughtful girl. We had a brief dinner but it was a good one. Later in the evening, TingTing and her mum, Yangfan(my best friend, TingTing's boyfriend), my parents, Su E and I went to Night Safari. It was a pleasant journey. Su E and my mum love each other. She might be the one.

On Saturday morning, my parents went to Giant Market in Vivo again. TingTing's mum and my mum made various kinds of hometown yummy dishes in the afternoon. TingTing invited one of her seniors to the CNY eve dinner. I invited Su E to the dinner again. She made a sweet red bean dish. We had a very nice CNY eve dinner. Later, we watched the CCTV Chinese New Year Eve Show and played some card games.  What a pleasant night!

On Sunday, I intended to modify PS3 and read PS4 for the CS3217. I also would love to ask my parents to visit the home church in Sunset Way in the afternoon and then visit the Singapore Flyer in the evening. Unfortunately, the church was not having any activities on that day. Yangfan, my best friend, asked me whether my parents would love to visit anywhere in SG since it is not right to stay at home on the first day of the Chinese New Year. I suggested that we can go to China Town and then Sunset Way for dinner. By the time we arrived in China town, most traditional and interesting stores were closed for CNY. We then went back to Vivo Giant Market for shopping. My mum bought quite a lot of chocolate bars for the relatives and her colleagues. TingTing and her mum, Yangfan, my parents and I went to Clementi, intending to find a seafood restaurant to have dinner. Yangfan and TingTing went to Pioneer to see whether the seafood restaurant they knew was open or not. I checked with my friends whether the seafood restaurants I knew around Clementi were closed or not. Unfortunately, the restaurants were closed. We had a bad time waiting for the bus to come back to the hostel for food. I checked online to see whether Sakura Clementi was closed or not, it turned to be open. My parents and I then went to Sakura for dinner. That's my parents' first time for a buffet. We eat quite a lot! After coming back, I notice the email from Prof which offered me help for CS3217. Honestly, I believe I can handle it. I may not walk as fast as these elite programmers, but I shall not walk back. Focus more on learning, not on the grade.

Today, I went through the apple documentation on View Controllers in the morning. In the afternoon, I went to the PL1 and took a look at Chipmunk/Box2D game engines. I thought one of my friends will be there. However, he was not. Indeed, there was only one india student in the lab. I shall rely more on myself to fix the PS3 and go forward with PS4. In the evening, TingTing and her mum, Yangfan, my parents and I went to Chin Huat Live Seafood(镇发活海鲜)for dinner. We ordered one chilli crab and one pumpkin crab. That was more than enough, thus we took away the remaining food. My parents said good bye to Su E after walking back to PGP.

Tomorrow morning, my parents are coming back. I feel that I did a right thing.

Monday, 4 February 2013

Dying with MVC

The deadline for the MVC assignment has been extended to tomorrow. However, I'm still struggling with it now.

My original design mixes the view and the model too much. The UIImageView frame contains the core location data of the objects, thus it is convenient to treat the view frame as a model. However, that's a bad design when models contains more sophisticated data like some physical properties. Thus I need to redesign it again, to abstract the model class from the view data. Two useful entry level delegation examples to help better understand delegation and MVC.

I feel the way how I deal with stress is really bad. Instead of trying very hard to solve the problem, I tend to spend quite too much time on stress-free tasks(like watching funny videos) to release the stress. It turns out to be a bad idea since I didn't get things done and I feel even worse afterwards. A better approach would be to split big tasks into small manageable tasks and finish the subtasks in a continuous manner. I also tend not to seek help until very late, which would become disasters. In the assignment 2, I ended up making a big mistake about the difference between mutable and immutable arrays. I didn't fix the bug until 2 days after the deadline, which results in a bad grade. Another bad thing is that I do compare myself with other people. Some year two CS students are really elite programmers. I feel discouraged when knowing that they've got almost 100%marks when I myself only get around 80%. This situation is really hard to go along with. I feel like dying...

Some good things about this week. 

1. I begin to understand MVC and delegation with practical programming examples. 
2. I asked questions in classes.
3. I went for an interview by Garena which is a very interesting game company in Singapore. Though it is a completely failure, I get to know that "if I'm intended to become a hardcore system software engineer, I'll need to be great in C++. Otherwise, I can deal with small apps or scripting languages but will probably not be secured a job in a good software company." I started to rethink whether I personally would love to become a hardcore engineer in a good software company or someone making small but interesting apps. For now, I still find "self-interests"the top criteria for me to choose a career.
4. I bought my parents some new clothes and a birthday cake for my father. They are coming to SG tomorrow. I'm proud that the whole trip is sponsored by me with my own savings from small projects.
5. I shared one thought with one of my friends--"If people laugh at you when you choose a certain path, after 5 or 10 years later, you are still doing that thing which you believe is right, then no one will laugh at you any more."
6. I helped some people.