July 27, 2007 at 12:12 am
· Filed under 生活
又是Stress Test。
上星期Stress Test令我激得噴鼻血,成洗手盤都係,我果然血氣方剛…
正確點說,令我吐血的不是Stress Test,是那家竹子公司。牠們(對,畜牲來的)的工作態度真的很值得學習學習…大陸著名的IT公司?嘿,言過其實。
有時我真懷疑Stress Test要test的不是server,是tester。我真的感到很stressful,大佬!這邊廂把test plan script寫好牠們就出一個新release!即係點?重寫啦傻仔!
今日正在做Stress Test時牠們又發神經的把Database關掉!害我又要重做!關掉的傢伙姓Diu(刁?),我今天常常問候牠哩!
Diu,你娘親好嗎?
Stress Test本來就是竹子該做的工作,可是竹子一句沒空就唔駛做,打工仔英雄莫過於此!「老細,我唔得閒,我唔做!」幾英啊!!!!
大陸常常停電,停電又唔駛做,但錢要照收!Home Office呀!停電幾天還claim了OT哩!Home Office有OT claim?恐怕全世界只此一家,別無分號。
吾等小角色,閒角乙名得閒之至,Stress Test此等芝蔴綠豆小事,非我莫屬啦!
做落做落,怨聲載道,直頭唔鬧唔安樂,上頭終於有令︰交番Stress Test畀竹子做罷啦。
咪開心住,我要做個有本分的好孩子(好孩子呀…呢…好孩子呢…),我要有交帶!
首先我要為竹子setup好testing environment啦,裝好testing tools,set path,然後寫好靚靚的test plan scripts(scriptsssssssssssssssss呀,有「s」的呀),準備好大堆sample data,log低CPU usage的scripts,諸如此類啦。丫,我還需要教牠們如何使用哩!得好好寫一份document才成。
萬事俱備,只欠東風。對對,竹子,在這裏,請按下這個Enter鍵,不不,是這個鍵,對對,按下,很好。
Script跑完了嗎?好好,竹子們來,看看這些result data。這個column是這個,那個column是那個,這個那個。噢,很煩對不對?我真衰,我寫一份document形容這些data好了。嗯?要我寫一段script去parse這些data?當然沒問題啦,小事小事!
也許,我們需要的只是一群會按Enter的猴子,不是竹子。至少,猴子只需要香蕉,也不會無端端的把server關掉,亦不會兩天出三個release。
不要以為我在惡性抱怨。令看倌們有誤會不是我所預期的,只是,不說出來發洩一下,我怕我又要吐血了。
Permalink
July 26, 2007 at 12:58 am
· Filed under IT Stuff
今天工作時同事說我翻譯的日文網頁有古怪,於是去了看看。嚇!怎麼跑出了一堆蟑螂!
細心一看,那不是蟑螂,而是一大堆「¥n」。驟眼看還真的很像蟑螂。
一輪查考,證實那些蟑螂其實是「\n」。出事的地方就在一個會print 「\n」的Javascript file。
這是甚麼一回事呢?其實在日文的keyboard上,「\」鍵是「¥」。我翻譯的網頁編碼是shift_jis,可能有關吧!
那麼又有問題了,「\n」根本就是一個字元,怎麼會把「\」及「n」分開成兩個字元呢?看這個Javascript例子︰
var str = '<b>This is a Hello World</b><br/>\n';
「\n」在str裏面的確只佔一個字元沒錯,可是在這個Javascript的plain-text file呢,它可是整整佔了兩個字元,因此翻譯的script把「\」譯成「¥」了。
結果,蟑螂出現了!
Permalink
July 24, 2007 at 10:15 pm
· Filed under Dilbert, 隨筆

- 我個人倒是很樂意接受Random Policy Generator…至少總算是找到個原因呀。




Permalink
July 24, 2007 at 10:14 am
· Filed under IT Stuff
材料分別為︰
很簡單,把KVM屬於keyboard的那條USB cable插上Optiplex 320,大功告成。
問我炒甚麼?你不妨reboot那Optiplex 320看看。
假如那條keyboard cable還是插著的話,你應該可以看到畫面永久地停留在開機狀態。
拔掉keyboard cable,電腦重開,幾秒後再插上,如果時間掌握得好,更厲害,Optiplex 320說它的CPU壞掉了。
再拔,再開,幾分鐘後再插上,畫面上說「Cannot display this video mode」,Ctrl+Alt+Backspace restart X(喔,我是以Fedora Core 6作例子的),很好,終於成功開機了。
有人說這是因為我用FC6的問題,不對。因為還未到OS的層面就已經出事了。不過亦歡迎大家試用其它OS看看。
致電去Dell,從一連串的太極招式中我掌握到了招意,大概就是KVM與Optiplex 320的BIOS相沖,就是這麼簡單。
Permalink
July 24, 2007 at 12:01 am
· Filed under IT Stuff
首先寫一個簡單的 JavaBean Object,即要有 getter及 setter的,然後 implement Comparable(順便把toString()及equals()也override一下)︰
class Obj implements Comparable {
private int a;
private int b;
public Obj(int a, int b) { this.setA(a); this.setB(b); }
public int getA() { return a; }
public void setA(int a) { this.a = a; }
public int getB() { return b; }
public void setB(int b) { this.b = b; }
public int compareTo(Object o) { Obj obj = (Obj) o; return this.getA() + this.getB() - obj.getA() - obj.getB(); }
public String toString() { return this.getA() + "-" + this.getB(); }
public boolean equals(Object o) { return this.compareTo(o) == 0;}
}
嗯,以上是很差的Code Formatting,不過在這裏很難做出漂亮的Code Format,緊記別參考。
然後預備一個TreeSet去add幾個Obj︰
Obj obj1 = new Obj(0, 1);
Obj obj2 = new Obj(1, 2);
Obj obj3 = new Obj(2, 3);
SortedSet<Obj> set = new TreeSet();
set.add(obj1);
set.add(obj2);
set.add(obj3);
System.out.println(set);
Output將是︰[0-1, 1-2, 2-3]
來搞事了,簡單的加入這一句︰
obj1.setA(10);
再看看Output︰[10-1, 1-2, 2-3]
很有問題,對不對? obj1 明明比 obj2 跟 obj3 大,卻仍排在第一位。再看看吧︰
System.out.println(obj1.compareTo(obj2));
System.out.println(obj1.compareTo(obj3));
Output是8跟6,亦即 obj1 比 obj2 及 obj3 還要大,也就是說這個SortedSet其實並非Sorted,很不可靠。
Obj obj4 = new Obj(10, 1);
set.add(obj4);
System.out.println(set);
Output是[10-1, 1-2, 2-3, 10-1],更離譜了,看清楚,這個是Set,對不對?我們都知道在Set當中沒有一個element與另一個element相等的。然而明顯的這個set當中有兩個相同的element。不信的話把四個element都抽出來看看,obj1.equals(obj4)是true的。
其實很簡單,這是Java Collection API的implementation問題,要解決不難,有空再討論。
只是,這裏值得我們考慮的問題是,原來SortedSet可以不是Sorted,甚至根本不是Set!
試想,基於Seperation of Concern的Concept,假如與你合作的Team Member發神經,明明給你一個SortedSet,結果只給了你一個Collection,而你還以為這是SortedSet,真可謂死得人多!舉個例吧︰
public SortedSet<Data> getSortedData();
當你Team Member給你這樣的一個Prototype的時候,很正常的你會拿去直接用吧?謹慎一點的人會看看Implementation,可是這個例子中其實大家是很難看出在哪裏的Implementation是有問題的,你頂多也只會看看return的SortedSet是怎樣access的,斷不會把每一個element都拿出來trace一下吧,沒完沒了,倒不如自己寫好了。
也許自己寫一個method檢查一下還來得方便。但難道要每次都檢查一次嗎?不便評論,自行決定吧。(個人來說是不贊成的…)個人意見,與其在己方做多幾重功夫,倒不如做多一些教育工作︰別胡亂改變Collection裏的Object的fields。
不過在這之前,恐怕又要做另一項教育工作︰Collection裝的是Object reference,不是Object本體。也就是說,哪管你放進去拿出來,你搞的仍然是那個Object。
很簡單的Object-Oriented Reference Concept,大學一定有教。可惜……
Sample Code在這裏。大家可以自己試試看,也不止SortedSet的,還有HashSet、HashMap、SortedMap之類也有同類型的情況。
Permalink
July 22, 2007 at 11:17 pm
· Filed under 隨筆
要我以幾個字形容Web2.0,那麼就是「參與」及「分享」。對於思想停留在Web1.0的用家,這無疑是一項重大突破。
其實懷有Web1.0思想的又豈止網絡用家。我們不妨再看廣闊一點,現實生活中,資源使用者受資源提供者的約束例子又怎會少?不妨看看茶餐廳的餐牌,特首的候選人,又或者語言文字,有甚麼不是人家提供給我選擇的?
梁家傑話齋,有得揀你先係老闆!想要選擇自己心水的特首候選人暫時是沒指望的了;想在茶餐廳吃一些餐牌以外的東西?還請你要打消這個念頭。那麼語言文字呢?
語言文字,其實是有「參與」及「分享」的。隨時代的變遷,某些文化約定俗成下,某些前所未有的語言文字就收錄到字典之中,這個有機會我再詳述。
然而Web2.0的用家可自由得很,喜歡參與便參與,喜歡分享便分享。語言文字嘛,除非你本身是名人,又或者時機到來,否則人微言輕,很難流行。
POC正是一個瘋子與窮人眾集的變態地方,在這裏你喜歡造字便造字,你喜歡造句便造句,經典太多,不能盡錄,只列出一些新字算了︰
- 貤(音他)︰男人他,女人她,畜牲牠,死物它。貤?指的不就是有錢人嗎?
- 籽(音米子)︰籽就是米子,即有米子!有錢人!
- 赲(音超勁/走力)︰即超勁,兩字各取一半合成「赲」。
- 趉(音超屈)︰即超屈。
- 趁(音超慘)︰即超慘,很不常用,而且常與「超膠」混淆。
- 仂(音你叻)︰你很聰明的意思。
有得揀,你先係老闆!假如我造一個字能令我表達更傳神,何樂而不為呢?
衝出資源提供者的框框!
Permalink
July 22, 2007 at 10:45 pm
· Filed under 生活
我是很喜歡書的,也很愛惜書的。
記得數年前有過意志消沉的時候。當時一位知道我喜歡書的朋友把我帶去了書展,正需要精神營養的我,遇上闊別多年的書展(對,有幾年沒去了) ,正是乾柴烈火一拍即合。現在回想起來,那種感動還是瀝瀝在目。
也不一定是要尋回那種感動,只是由此以後,我每一年也會到書展逛逛,今年也不例外。
去年書展實在沒甚麼好看的,一堆《N歲前要做的M件事》、《N件你不可不知道的事》,簡直到了氾濫的地步!結果只買了幾本吳昊先生的幾本有關香港地道文化的書。
今年感覺上比較好一點,不過發現很多書本都只是收錄數十篇專欄而成,感覺不算有誠意。探討本地文化的書多了,評論三國的書也多了,也許是巿場效應?
- 《品三國‧續》
- 早陣子看過《品三國》覺得還不錯,引得我把書櫃裏的《三國英雄大PK》找來重看一次。書評嘛…有機會的話才說說吧。
- 《孔子的敵人》
- 概括翻了翻,感覺還頗有趣,一本追上時事的隨筆錄,我可以這樣稱呼吧?
- 《一字送命》
- 對很多人來說是一本致命的悶書,因為是講述錯別字的。沒法子,我就是喜歡漢字。
- 《小狗懶擦鞋》
- 這本書嘛…哈哈,只可透露此乃一本香港次文化類的書藉,不妨從書名細心想想這究竟是一本甚麼鬼東西?
- 《午夜計程車全集》
話又說回來,今年書展的路線也不知是那個混旦想出來的,整天在轉來轉去,又要強迫進入一些不想進入又或者已經逛遍的書館,很有小明上山落山上山落山上山落山的感覺。不禁令我想起在銅鑼灣某商場那三個站在門口的天使少女。
Permalink
July 21, 2007 at 10:31 pm
· Filed under 生活
幾乎有兩年沒有寫過Blog之類的東西,表面原因是忙,其實明眼人都明白不過是懶惰而已。
兩年前我寫的「Blog」其實也不算是Blog,純是日記。既名為日記,所以日日都要記,明明無事可記亦要強記,如是者越記越無聊,越記越無謂,把心一橫,關掉算了。
近日突然春心動,想與Blog談一場親密的戀愛。碰巧手痕去登記了shawtim.com,正好自己去host一個戀人。但懶人本性難移,竟自以為魅力非凡,希望有人送上門自動求愛的,簡直無可救藥…
但,你咪理,懶亦有道!當然沒有人會送上門,但總可哀求朋友送外賣呀!(用字越來越離譜了…)
萬分感謝阿超。我真係好鬼懶。
Permalink