Tuesday, 30 April 2013

Power of Confession

The second half of this semester goes really fast. It is indeed the exam week now.

In the past week, I experienced the most intensive reading week in my four-year's university life in NUS.Actually, the last three weeks are the most intensive weeks in my whole life. I guess I will never forget these sleepless days, staying overnight with the passionate and super intelligent team mates.

Some highlights:
1. Wednesday's Project Demo.
Our app turns out to be very popular. Though we didn't know that we were supposed to provide a project id for voters to vote until the project showcase was almost finished, it is still encouraging to find out that we received very good feedback from the few only voters.

All positive!
I have problem to sleep over time for meetings or lectures. This app really helps to address the problem by integrate some games in suitable difficulties and nice group event message!! 
Interesting app
Interesting idea
"Very easy to use and a lot of interesting functions.
You can think about increasing the number of games."
very nice idea, cute yet functional and sleek interface. Very smooth animations which make the app look very polished. Hope their app can make it to the app store!
very nice interface, good idea and cute implementation. Very nice!
nice one
"Very interesting and creative!
It is extremely useful for group meeting, in my opinion."

Our team is planning to polish the code after the exam and post it to the app store. We can make it!

2. I bought an ebook from Douban http://read.douban.com/reader/ebook/565846/  titling
"不说,就真来不及了-纽约客的临终遗言"which means "It will be too late if you don't say it now-- New Yorkers' last words." 

The author said that he spent 350 dollars posting an advertisement on the New York Times newspaper collecting anonymous last words from the New Yorkers as a way to study confession psychology of human beings. He selected 28 stories and made them into the book. I was shocked by the deep meaning of the first two stories and bought the whole book after the free trial. Though I later knew from a review saying that the stories might not be true and the author might be fake, I read though the whole book on Sunday morning and found the lessons of the confessions really worth learning.  It is profound, which reminds me of religion and the seven deadly sins in the bible. People die for some reasons. Humans are too weak to be lured by sins. Without a strong and righteous moral law, it is very hard(or impossible) to maintain a innocent life. Be alerted!

3. On Friday evening, my teammates and I went to have dinner and then sing Karaoke to release the stress after the hard days. It was great.

I noticed that my blogger audiences are mostly from Russia after Google Reader is said to be shutting down. Maybe I shall write my own website and post the blogs there.

Monday, 22 April 2013

Intensive and Rewarding Weeks

These past two weeks, I've been experiencing the most intensive days ever. Almost every night, I stayed with my teammates in PL1,mostly doing project development(sometimes telling jokes). It becomes a biological clock to go for supper together in the midnight(order from MCdonalds' or go to a nearby Taiwan restaurant),continue coding until early in the morning,then sleep until the afternoon and continue the circle again. It is a super intensive, but certainly awarding experience. That would be one of the most valuable memories in my life, to work with these intelligent and passionate teammates. Sometimes, I'm not so efficient, bothered with FYP deadlines and other assignments.However,they help share the pain. I also share my passion and engagement.That is a great time.

Some highlights:
 1. Cat vs Dog puzzle. https://www.spotify.com/sg-en/jobs/tech/catvsdog/
     It is a tough one. Undirected weighted bipartite graph, to calculate the maximum flow.Still have problem solving it.
 2. iOS.

  •  push notification vs pull from server
  •  singleton(One independent Server class to handle all events associated with communicating with the server).
  •  grand central dispatch,block,multi-threads 
  • three ways to push new UIViewcontrollers: 1. presentViewController Modally.2. segue+navigation controller 3. loadwithNIB and using self addsubview to add new view. The third option is the most customizable one in terms of animation customization.
3. FYP report submitted.
     I finished the report in a very short timeframe(about three days). That was rough but actually deliverable. 

4. My Birthday
    Saturday morning, my mum smsed me saying that day was my birthday. I didn't know that because it is in lunar calendar. She is only one person on this planet knows the date.Be grateful.

5. Received the interview chance for douban as a summer internship. Will need to work harder to make it happen.

Need to sleep now, will be having a FYP presentation this afternoon. Good night/morning!

Tuesday, 9 April 2013

Some Highlights

1. A puzzle about sorting.
Given n double numbers, print the top m in a descending order. If two of the numbers have the same value, then the one appear earlier would have a higher weight.

This doesn't sound so hard. However, there are quite a number of tricks here. 1. Efficiency. 2. In Place Sorting.

I first tried quick sort. It supposed to be quite fast. However, I kept getting the wrong answer feedback. The reason is that when two numbers have equal value, quick sort doesn't make the original order in place.

Then bubble sort. Well, the answers would be correct, however, it's not efficient enough. Run Time Error.

Try merge sort, which is supposed to be in place and quite efficient. However,  still Run Time Error. When n is very large and m is small, it's too heavy to perform a sort to the n numbers then pick the top m.

It reminds me of heap, which keeps a good order during construction(heapify). However, it's also no good if we keep the heap size n when we are only interested in the top m elements. We'd better keep a heap size of m, then eliminate all the small elements out of the top m.  Priority queue! Thankfully, problem got solved.

2. Career consultancy.

I consulted Desmond who is a career consultant in SOC. He gave a very good advice on the career path. Firstly, I'd better work in an IT startup and learn some business while working as an engineer. Then go to a big company which gives a better branding of oneself. It would then be easier for people to trust and work with you if you're going to do startups. It's also safer to do startups while working in a big company instead of quitting jobs or doing it immediately after graduation. He helped refer to IBM and another startup company named "Thatz". Kaifu Lee also advise the fresh graduates to"participate first, then make it happen 先参与创业,再主导创业". I guess that's the right way.

3. CS3217 team project.

I have to say that the team mates are just too awesome. They learn and implement very quickly. Moreover, they are able to design the architecture very nicely. I am learning a lot from them.

Need to write the FYP report very quickly!