Archive for December 23, 2007

Dilbert漫摘 - 2007/12/23

2007/11/24

  • 講得正確…「His interview skills are crazy good」

2007/11/25

  • 打工仔日日都在進行Progress啊!

2007/11/26

  • 這個正點!正是大家對Agile的濫用!「I’m glad it has a name.」

2007/12/01

  • 這種事我倒沒遇過,朋友倒常常遇到呀,陰公。

2007/12/04

  • 做唔掂啊?整隻山羊囉!

2007/12/16

  • 這個邏輯很不錯!臨近年尾,大家要好好學習啊!

Comments

Natural Order是否真的Natural?

何謂Natural Order?就是Ascending Order,順序排列。

幾乎每種Programming language都有Natural Order Sort的built-in function。以Java來說,就以Arrays.sort()為例︰
String[] strings = new String[] {"Dog", "Cat", "Bird", "Cow"};
Arrays.sort(strings);
for (String string : strings) { System.out.println(string); }

毫無疑問Output是︰
Bird
Cat
Cow
Dog

很好,現在我們保留這段code,不過內容改變一下,改為Filename︰
String[] strings = new String[] {"A2.txt", "A10.txt", "A1.txt", "A20.txt"};
Arrays.sort(strings);
for (String string : strings) { System.out.println(string); }

答案依然很簡單︰
A1.txt
A10.txt
A2.txt
A20.txt

現在,隨便的在你的電腦開一個Folder,開四個File︰A1.txt、A10.txt、A2.txt、A20.txt。把Folder以Filename作排列︰
Natural Order in OS

如何?兩種sort都一樣是Natural Order Sort,但結果竟然不一樣。原因很簡單,定義不同。Programming Language的Natural Order是指ASCIIbetical,你電腦的Natural Order是指Alphabetical。

兩者是不一樣的。簡單舉個例,作為一個User,我管它甚麼ASCIIbetical,我壓根兒就不知道ASCII是甚麼。因此,作為一個User,看到System的ASCIIbetical Order,不禁會不明所以,甚至投訴System有bug云云。

教訓︰定義要清楚而有共識,而且要確認我的共識跟你的共識是同一共識。

參考︰
Alphabetical != ASCIIbetical
Sorting for Humans : Natural Sort Order
Natural Order String Comparison
The Alphanum Algorithm

Comments

令小弟失望的Gtalk Translate

Google Talk About Blog看到Gtalk建立了幾個做翻譯的account︰

首個反應,呸呸呸,Google大賊!這個idea老早就被小弟用了在MoliuSN(註*)上啦!不外乎是Google Translate的活用罷了!

對MoliuSN這種自家寫的application來說,很簡單的用HTTP call去Google Translate做integration可以理解。可是假如是Google自己推出的話,我倒是會預期應該不會像我一樣用這麼頹的implementation…而且Google Translate是有問題的呀,參看《古古怪怪的Google Translate》一文。MoliuSN不負責任當然可以,因為你吹得我漲呀?Google不負責任,Google又能不能說同一番說話,講一聲吹佢唔漲呢?

也許,這個feature早就被我「完‧全」早一步implement了的關係,毫無驚喜,所以格外的差強人意。加上說到底,那個Translate的engine還未成熟,Beta了好幾年,這種連小弟這種頹人才會用的implementation Google竟然會用,著實有點失望…

(註︰MoliuSN乃係小弟一個小小MSN Robot,用作看看新聞查查股票做做翻譯望望天氣等等等等之用)

Comments