“You sound like Singaporean.”‘
That’s my most favourite comment from people. Two years ago, i came to this little red dot. Out from Changi Airport, I told Mr. Hee, the MFA offical came to pick us up, “wow, people drive on the left!”. That day Huong and I got lost in our hall, and we saw a red + white flag hanging outside, we asked each other which country does this flag belong to, and agreed it was from Indonesia. 42nd National Day was coming.
| From 080621 – Singapore Discovery Center |
I didn’t know much about Singapore at that time. And the first few weeks were very siong. For the first time I doubted my own ability to adapt to new environment.
Life goes on, and usually, it turns out right.
I can go for pages with all the memory I have had with this tiny island. Maybe it can be sum up in 1 sentence: it’s the people that makes a land home. Sincere thanks to all people I have met there that have built up this experience, especially my friends, my lecturers, my employers and NUS and MFA officers.
It’s been 2 years and I’m now new in a foreign country again. You appreciate something more when you lose it. As much as I miss Singapore, I love leaving and build new homes all over the world. Goodbye, and see you again soon!
My favourite video of Singapore:
Best ways to learn Singlish:
Things I love about Singapore:
|
|
| From 080531 – Park Connectors cycling |
The list goes on…
I was suggesting a friend places to go to in South Korea (yah, not the missiles producing one hehe) and Gyeongju was definitely in my list.
Gyeongju is the city of tombs. Tombs of Silla Kings are here. Not as great as pyramids nor huge complex containing palaces, temples as those Vietnamese Kings’. No clay army neither. They are just hills that fit into the natural surroundings so much that I’m totally in love with them :”)

Tombs again. My friends told me at first people thought they were hills. The truth were only learnt later.

Royal Tomb Complex. I am from a tropical country thus these amazing winter colors of a temperate country really make me melt ="P~
Near Royal Tombs Complex are Anapji pond and Cheomseongdae observation. Very nice to visit too.

Cheomseongdae astronomical observation. It dates to 7th century and is one of the oldest scientific installation on Earth. Its shape looks like a dress since it was built under the reign of a queen. There are many more amazing facts about its structure, find them on wiki :")
Remember to go to the Gyeongju National Museum while you’re there. A great culture to witness. The best thing I like about museums in Korea is I can see many kids going to museums everyday. Their parents proudly teach them about their country. I saw kids who were so small that they couldn’t even talk yet their parents holding a camera, brought them to every corner of the museums and read the description and recorded the whole thing for them to see later. My friends who brought me there told me about their country proudly too.
Bulguksa temple and Seokguram grotto, which are in UNESCO World Heritage List, worth a visit too.
Since you’re in a ancient city, how about trying living in a tradition house as well? Sarang Chae Guesthouse was a great choice to me.

Sarang Chae Guesthouse. Korean traditional house. Experience paper door, sleeping on the floor and all :")
And food.
Yoon Joo, Jun Heom, I miss you guys much! :”)
Two months and a half without blogging. Waste US$2.2452421473532432 of my domain fee. So let’s start now.
I heard that Hanoi was damn hot these days. It must be even hotter for the coming days because of the university entrance examinations. Pressure, stress, sweat, tears, and I’m sure lots of young ones are willing to donate some blood as well to secure a place in a tertiary education institutions.
Good luck to them!
But well, my “good luck” doesn’t count. They need something more. Erm, more tangible, i guess.
From Straits Times:
‘All of them want to touch the head of the tortoise because they think that it makes them perform well at the exam,’ she said in an open-air pavilion with rows of 20 tortoises and attached stelae, some of them cracked. ‘We just try to encourage them not to.’ Some are content to squat down beside the tortoises to have their photos taken.
Others insist on dashing in to slide a hand quickly over one of the heads, the smoothness attesting to the numbers of students who have sought their inspiration.
Yup, they touch tortoises’ heads for luck! The place is our Imperial Academy and Temple of Literatue. Considered to be our first university founded a thousand years ago, it was the place scholars studied. Those who passed the final exam to became doctors would have their names engraved on stone stele which are held on the backs of stone tortoises. Since long ago, touching the tortoises’ heads has been believed to bring good luck to students. As a result, this place attracts a crowd at this time of the year.
From year to year, the tortoises’ heads have been polished and some words on the stele vanished. Tourists are adviced not to touch them now.
However, to those who believe their performance in the exam base largely on luck, nothing can stop them. And they do even more funny things.
Anyway, it’s my most favourite place in Hanoi. Only crowded in Lunar New Year and examination time. Other than that, it was a nice quiet place.
University entrance exam is stressful not only in Vietnam. As far as I know, the same happens in China and Korea. I have seen on the news. Some cry, some faint. Things some people do when they face a tragedy now they do when facing an examination. My Korean friends, during their high school time, started a school days at 8 and ended at 8. After that, tuition and homework. They only finished at 1am. Just for the exam. “Nope”, they would say, “it’s for a good job, a good spouse and a good life later”. Sound good, but they agreed with me it was crazy.
The 8MC Software Engineering has been finished. It has been a great project where I have learnt a lot and worked with wonderful people (well, one of few projects where the issue of freeloaders did not come up).
Although software engineering was not new to me. That’s a thing I can do best when it comes to computing fields. However, I have learnt a whole lot of new things: profiling, unit testings, design critique,…
When I first started, I thought it would be all about coding and UML diagrams. It ended up not. Little coding, no UML diagrams, but a whole lot of report writings, design & code review, refactoring, profiling and testing and testing and testing… It is different from other SE courses. And I believe this credit comes to the teaching staffs. A project leader, as a lecturer, teaches you SE differently from what a researcher does.
In the last lecture, everyone of us was given 30 sec to say something, excluding thanking the teaching staffs. A whole bunch said “I have nothing to say”. Typical software engineers haha. Anyway, this is what I planned to say is:
“Remember when you shared with us that because of “The Mythical Manmonth” by Fred Brooks, you realized that SE is not just about coding and you decided to become a software engineer, worked in the industry and now teaching software engineering? It was a sincere moment, and Caleb, who was sitting next to me told me “I think he’s crying”. It was touching to me to see someone who does what s/he likes, and enjoy it. And I believe a person will do a good job in that situation. In this case, it is true. I will not say thank you. But Good Job!”
But when I mentioned the moment, he looked so uneasy that I forgot to repeat what Caleb said. Anyway, it is always great to tell the person that s/he has done a good job :”)
OK, a short summary of some interesting things I have done in this project:
1. Implement table joining
We have a query language which allows “AND” operation between clauses. So we need to join the results of clauses together during evaluation. I ended up implementing this table “column based” and all things such that filtering, joining and sorting.
A problem comes up when we need to decide whether to join results right after evaluating each clauses or not. If you do and if the result of the joining is empty, you can terminate the evaluation early. But there is also a risk of expanding of results (joining can result in a Cartesian multiplication). I have implemented a decision making part for it. It works much better with big results set now.
However, the last improvement was too close to the deadline. The profiling report shows that it was slower than the previous version. No time to investigate the problem. And I’m a bit freaked out about the fact that it could have bugs. This is the last point of the evaluation. If it’s buggy, it will screw up everything. [praying]
2. Sorting a table
Same table above. We need to prioritized sort the column. First column has the highest priority and so on. It took me a lot of time. Sometimes I thought I found a smart solution (ToString() all the rows and sort strings) but it did not work as we wanted. So well, I did something like Radix Sort for this: use a stable sorting to sort from the last row to the first row. And it worked. However, I used C# CompareTo() default to compare 2 strings and it uses strings’ lengths as the first characteristic to sort so “A” will come up before “aaa”. Anyway, it’s an assumption for the product that we can make, so I just leave it like that.
3. Undeterministic unit testing
Well I appreciate testing doesn’t mean that I’m happy to do testing. Especially uniting testing. So I was creating tests for the optimizer of our system. This optimizer rearranges the order of the clauses we will evaluate so that it’s most likely that we can evaluate it faster. Just a static optimizer, nothing fancy about it. Anyway, I need to test if the order of clauses it produces is the order I want. Create a multiple lists of clauses with different order of adding clauses into the list and test them all? I’m too lazy to do so. So I did something like a randomized comparer that will return a random value when you ask it to compare two objects. I use that comparer to sort my input list before I give it to the optimizer. The output list should always be the same.
And I wonder if there is any order of the input list that would make my optimizer fail… So far I haven’t found that in my runs muahahahaha and I don’t know how I can reproduce that order if I ever find my test case fails muahahahahah…
Exciting news for the first post in this blog: I’m going to be a rocket scientist!
Well, rocket (fuel) scientist is “more” precise.
It is because I have accepted an internship position in Rocket Fuel Inc for my NOC program in Silicon Valley. It’s so exciting and I can’t wait to embark on this new journey! :”)
As the departure day comes close, and more and more milestones are achieved, stronger and stronger I feel how lucky I am in this plan so far. I am thankful for all that’s happened.
Where there’s a will, there’s a way.
Powered by Twitter Tools.