A Talk of Robust Solution

I am not the expert in vehicle routing. But, I do learn a lesson from Prof. Sam Thangiah’s talk in FICT UTAR today.

The rough meaning is something like this:

Best solution appears in publication. But in real world, only the robust solution does matter.

For example, Dijkstra’s algorithm works perfectly in finding the shortest path from point A to point B. However, it seems not to be feasible when it is applied to calculating the pick-up points for buses in a city. Heuristic approach is much appreciated instead.


Leisure Reading – Gantz

Front cover of Gantz 1 . Bought it from Kinokuniya.
Back cover of Gantz 01.
Story: A pair of high school students, Kei Kurono and Masaru Kato, are run over by a subway train in an attempt to save the life of a homeless drunk who had fallen onto the tracks. Following their deaths, Kurono and Kato find themselves transported to the interior of an unfurnished Tokyo apartment. And, a sphere that are known as “Gantz”, commanded them to kill an alien somewhere in Tokyo … (Quoted from http://en.wikipedia.org/wiki/Gantz).

I like this manga as they have a fine drawing and the nice storyline. But, RM44 per book is not cheap!

Tackling Polynomial Equations with Python (Numpy)

How to calculate a polynomial of  (s+1)(s+2)…(s+10) in a short time?

Instead of calculate them one by one, we can do it with the help of Python library – Numpy.

1. Make sure you have installed Numpy for your Python interpreter. In Ubuntu, you may just want to install python-scipy as it contains all the scientific calculation tools.

2. Try the following example in your python interpreter:

from numpy import *
p1 = poly1d(1, 1 ) #(S+1)
p2 = poly1d(1, 2 ) #(S+2)
p3 = poly1d(1, 3 ) #(S+3)
p4 = poly1d(1, 4 ) #(S+4)
p5 = poly1d(1, 5 ) #(S+5)
p6 = poly1d(1, 6 ) #(S+6)
p7 = poly1d(1, 7 ) #(S+7)
p8 = poly1d(1, 8 ) #(S+8)
p9 = poly1d(1, 9 ) #(S+9)
p10 = poly1d(1, 10) #(S+10)
print p1*p2*p3*p4*p5*p6*p7*p8*p9*p10

3. Then, you will an get an output like:

   10      9      8       7       6       5       4       3      2
1 x  - 10 x + 45 x - 120 x + 210 x - 252 x + 210 x - 120 x + 45 x - 10 x + 1

That is the answer:

 x^10 - 10x^9 +45x^8 - 120x^7 + 210x^6 
- 252x^5 + 210x^4  - 120x^3 + 45x^2 - 10x + 1

4. Say, we need to find the root of this polynomial. With the help of Python, we can get the roots by feeding these line into the interpreter.

(p1*p2*p3*p4*p5*p6*p7*p8*p9*p10).r #.r means root.

And, we will get an output like this:

array([ 1.04405137+0.0143565j ,  1.04405137-0.0143565j ,
        1.02709855+0.03755416j,  1.02709855-0.03755416j,
        0.99974141+0.04619473j,  0.99974141-0.04619473j,
        0.97275208+0.03706564j,  0.97275208-0.03706564j,
        0.95635659+0.01406697j,  0.95635659-0.01406697j])

The polynomial has 5 complex conjugates: 1.04405137 +/- 0.0143565j, 1.02709855 +/- 0.03755416j, 0.99974141+/- 0.04619473j, 0.97275208 +/-0.03706564j, 0.97275208 +/- 0.03706564j and 0.95635659 +/- 0.01406697j .

[J-Drama] With Love

<With Love> is the first Japanese drama that I watched in my secondary school. Seeing this youtube brings me back to my sentimental high school puppy love. @_+

The storyline goes as follows:

Takashi (Takenouchi), a talented composer, who could not write a love song ever since his girlfriend Rina left him suddenly. Accidentally, Takashi sent an uncompleted piece of his latest work to Amane (Tanaka) via email.

Deeply touched by his music, Amane wrote back to him, without getting a reply. Amane continued writing to him, pouring out her thoughts, with the nickname of  “Teru Teru Bozu”.  One day, Takashi responded with a mail saying “WHO ARE YOU?” because what Rina left him as a farewell gift was a teru teru bozu!

(Quoted from http://jdorama.com/drama.445.htm)

Clothe Naked Data with Encrypted Partition

February 2008 – Edison Chan, a Hong Kong artist is found to be in troubles after his sex photo scandal circulates the world through Internet. He claimed that the photos were stolen after sending his laptop to a repair shop.

Edison did a mistake that we do, that is, storing files nakedly in machine.

Some files like docs and spreadsheets can be encrypted with the tool provided by OpenOffice itself. However, pictures and MP4 are left nakedly in hard disk. A baddie may possess these files by overriding the user privilege (E.g. using live-CD to bypass).

To overcome this, we encrypt our partitions. Most of the Linux users will have two partitions in their machine. One for for the root (/, /root, /bin,…) and another one for users home directory (/home). To avoid performance impact, we can encrypt the the partition of the home directory.

In the following example, Ubuntu 9.10 will be the targeted Linux OS, and LUKS is used as the encryption system.

Continue reading “Clothe Naked Data with Encrypted Partition”