七月廿一日晴

成個星期冇update,
因為自從睇完diablo 3 既trailer之後,
大家又一時興起重玩diablo 2,
工餘時間一下子燃燒得乾乾淨淨。

今日bea 有user 報告話其中一個system有d report 錯左,
原作者離職既關係,下午奉命上左去睇。

接人手去跟個system原來真係可以好痛苦,
對住個report d 數字要好似做核數咁逐個數睇下點唻,
code入面搵返晒背後既算式出唻,
卒之睇左三個鐘就發現原來冇計錯...
係個report present 出唻令人誤會左。

知道唔係有bug真係有種鬆一口氣既感覺,
要我改o個舊已經行左幾年既野同時肯定自己冇做錯,
相信會好得人驚。
同事走左之後,呢個system某程度上已經變左公司既黑洞,
冇人完全知道佢點運作,更加冇人夠膽郁佢。

赤壁


(警告:下列文字包含電影內容)

冇乜期望咁入場睇。

前段幾滿意,
特別鐘意配樂同取景,
好似玩緊三國志遊戲咁,
亦都好喜歡頭段回光陣破騎兵隊既場面,
直到關二哥o係回光陣出場一刻,
忍唔住笑左一下,
因為o個一刻同餘下既個幾鐘,
成套戲都有一份唔知點形容既「娘」味。

由於套戲分開上下兩集,
今集既重頭戲就係尾段八卦陣既一場對戰,
無奈吳大導比較少處理大場面,
呢一段既節奏硬係有d offbeat,
完全掀動唔到我既情緒,
趙、關、張、甘四個角色輪住每人一段無雙式既打鬥,
動作設計仲要非常浮誇,
引人發笑,「娘」味十足。

中港既古代戰爭片仲係擺脫唔到o個種千軍萬馬之餘,
但同時又要不停loop住d士兵無辜上戰場被殺枉死既鏡頭,
呢種咁人情味既固有框框睇得多變得有d 悶,
尤其是今次吳大導處理大場面既功力不如動作場面既時候,
就更加明顯。

我幾鐘意《300》o個種係打就打,爽快既戰爭片。

演員方面,內地演員慣演歷史戲劇,
自然得心應手,
其他如朝偉,金城武等都有d格格不入,
林志怜更加係花瓶,
特別為左增加佢戲份既幫馬接生同埋床戲都顯得多餘,
破壞電影節奏。

另外硬改原著將曹操同小喬拉上關係,
亦為一大敗筆,有貶低一代梟雄之嫌。

新office@上環

SOA in Practice

呢本係目前為止我睇過討論得最深入、最言之有物既SOA書。

SOA 都算係近年最多誤解既技術範圍,
因為涉及既野太多太廣,
唔同人唔同公司對呢樣野都有自己既定義,
其中好自然有商業既考量,
對於SOA 入面所涉及既好多野,
例如咩係service,點為之SOA,用左咩先算web services等等,
書入面引用左好多其他書既定義,
再用作者自己既經驗比較同分析,
可以好好咁整理過d概念。

本書大部份既野其實唔一定用死o係SOA,
好多都可以當係基本大型系統既best practice討論,
講解左好多關於呢類系統所需要既技巧,
同埋實際解決一d常見問題既方法。

我最欣賞係作者既討論手法,
對每個問題都提供左好多可行方法,
分析返幾種方法既好處壞處,
同埋幾時選擇邊樣比較有利,
冇好似一般書咁,
淨係死撐作者認為最好既方法。

就算唔需要用到SOA,呢本都係一本非常值得讀既書。

p.s 另一本GWT既書都睇左一半了,
最近好有心機睇書...

新玩具

eeePC 900~

好敗家...

Cashback

Cashback

如果因為看到你最美的一秒而讓我們走在一起,
或許分開就是因為凝住了最壞的一秒。

The Black Parade is Dead

My Chemical Romance – The Black Parade is Dead

碟面印刷非常精美,
但無可否認佢地現場表演既功力係比較弱。
其實比起Klaxons,都已經算唔錯,起碼有活力,
見到Gerald同Ray都非常投入。

尤其名作《Welcome to the black parade》,
每次唱live都要唱低key版本,
實在好”銀”耳。

不過唱到一半開始Gerald 明顯進入狀態,
《Cancer》既表現就比CD版更出色。

and the heavens shall tremble…

Diablo III unveiled!!

等左好多年了。

暫時公佈左兩個class:
barbarian, witch doctor。

所有class都可以揀男或者女..
睇完個gameplay video之後令人十分期待。

標叔叔退休了

33 年 來 , 微 軟 創 辦 人 蓋 茨 ( Bill Gates ) 每 天 都 走 過 華 盛 頓 州
雷 德 蒙 德 ( Redmond ) 的 總 部 , 但 今 日 ( 周 五 ) 是 他 最 後 一 天
以 執 行 主 席 身 份 上 班 , 之 後 會 淡 出 微 軟 業務 , 專 心 打 理 他 的
慈 善 基 金 。 蓋 茨 不 再 掌 舵 , 不 但 標 誌 微 軟 一 個 時 代 的 終
結 , 更 考驗 新 領 導 班 子 能 否 回 應 Google 和 蘋 果 等 強 敵 的 挑
戰 , 讓 微 軟 繼 續 保 持 美 國 IT 一 哥地 位 。

蓋 茨 今 天 會 辭 去 執 行 主 席 一 職 , 但 52 歲 的 他 並 不 是 完 全 退
休 , 只 是 改 當 非 執 行 主 席, 每 周 僅 上 班 一 天 , 今 後 全 副 精 力
放 在 打 理 他 和 太 太 名 下 的 比 爾 及 梅 琳 達 . 蓋 茨 慈善 基 金 。 微
軟 具 體 業 務 , 會 交 由 行 政 總 裁 巴 爾 默 ( Steve Ballmer ) 、 軟 件
總 工 程師 奧 齊 ( Ray Ozzie ) 和 研 究 及 戰 略 主 管 蒙 ( Craig
Mundie ) 負 責 , 肩 負 帶 領 微 軟 走 出 困 境 的 使 命 。

converting tiff to jpeg – the java way

yes I thought it should be easy, at least typical.
but I was not able to find a clean and easy way to do so.

I started looking into javax.imageio,
realizing that it only support basic formats like gif, jpeg, bmp.
Anything beyond that will need custom plugin.

I searched through forums and heard of stuffs called JAI -
the Java Advanced Imaging library,
however i couldnt find the plugin I needed for tiff.
Screwed up for two hours I finally found out that there is a separate package called JAI-imageio,
which is not included in JAI. Yea…..what a great confusion.

Once I got that all the rest is straight forward.


public static void convertToJpg(String path) throws IOException {
    ImageReader reader = ImageIO.getImageReadersByFormatName("tiff").next();
    ImageInputStream iis = ImageIO.createImageInputStream(new File(path));
    reader.setInput(iis, false);
    ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next();
    String filename = path.substring(path.lastIndexOf("\\")+1, path.lastIndexOf("."));
    for (int i=0; i<reader.getNumImages(true);  i++) {
        BufferedImage image = reader.read(i);
        String outputFileName = filename+"_"+(i+1)+".jpg";
        ImageOutputStream ios = ImageIO.createImageOutputStream(new File(outputFileName));
        writer.setOutput(ios);
        writer.write(image); // (*)
    }
}

If you need to have control over the output quality,
you will have to add these line:


ImageWriteParam writeParams = (ImageWriteParam) writer.getDefaultWriteParam();
writeParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
// value ranged from 0.0 to 1.0 for minimum file size, worst quality to maximum file size, best quality
writeParams.setCompressionQuality(0);

and replace the line marked by (*) with :


writer.write(null, new IIOImage(image, null, null), writeParams);

Concerning performance,
it costs about 28s to convert a 7-page tiff (383kb in file size) with dimension 5100 x 6122,
to 7 jpeg files with the same dimension (4.27mb totally(!), with highest compression).
Changing the compression ratio seems to have very little effect on the time.

All other type of conversion can be done in similar way,
as long as you’ve got the required plugin.

Next Page »