微軟正黑體 on FreeBSD!

這兒看到把Vista的「微軟正黑體」換到Windows XP的方法, 實驗看看發現真的是好看多了, 所以發正念要把我的FreeBSD字型也都換掉.

把檔案整個移到FreeBSD下很單純, 安裝方式也跟所有的TrueType字型安裝方式沒什麼差別: 用ttfm.sh, 裝完後先在Firefox中實驗看看, 以下是幾個抓圖(以Yahoo! Kimo新首頁為範例):

第一張是預設的San-Serif, 因為我的Default Ming改成Mingliu.ttc, 所以看起來大概是下面這樣(點小圖看大圖):

接著是若改成用Arphic Ming的樣子:

最後就是掛上「微軟正黑體」的樣子啦

好看多了, 好像在Mac OS X下用Firefox的感覺呢. 改天有空再去試試看吧Mac的字型給倒出來試試看.

X31變身: 2G Ram + 120G HDD

原本是要用力的把Macbook Pro敗下去的, 最後因為一些很機車的原因而作罷, 於是狠下心把X31的配備再度升級.

原先剛開始配置時就裝了2G的Ram, 後來因為借人一條1G所以變成1G+ 512m, 反正最後是一波三百折, 所以還是又購入一條1G Ram, 重回2G的系統.

另一個是把原本40G 5400rpm 的HDD換成120G的, 原先想要直接Ghost過去新硬碟, 懶得重裝, 結果我犯了全天下男人都會犯的錯: 把Src Disk跟Dst Disk選錯了, 還好才Ghost過去3秒我就發現, 快點中斷, 才得以用FinalData把資料都救回來, 不然真的會悶死&被笑死. 被迫重裝系統後, 把80G給Windows XP, 留下40G給Unix, 目前是作FreeBSD, 過一陣子可能會換過去Mac OS X.

這樣的配備應該可以再撐好一陣子吧! 希望能出個獨立顯卡的Macbook 13″, 我不要15″的Macbook Pro啊 🙁

Vim7 的 <C-Left> 與 <C-Right>

因為Vim7開始有Tabbed Edit, 所以也開始慢慢的適應並取代掉以往開好幾個Terminal的習慣.

在有Samba的環境, 我會比較喜歡用Gvim, 配合一個Terminal就可以一邊寫程式一邊看Log, 很方便. 為了讓我少碰滑鼠, 也開始Mapping些Hotkey去給Tabbed Edit使用. 我習慣Mozilla的Hotkey, 所以只先做了:tabnew跟:tabnext :tabprev.


map :tabnew😮 ./
map :tabprev
map :tabnext

而後來發現在Insert mode時這些key會出狀況, 又加上了

imap :tabprev
imap :tabnext

但是到了使用Terminal時就慘了, 我用PuTTY不改任何Terminal Setting時, Ctrl-Left 跟 Ctrl-Right就會失效, 花了一點時間去抓一下Keymap後, 才發現在Xterm下的Arrow Key有著不同的keycode, 所以要改成

map ^[[D :tabprev
map ^[[C :tabnext

其中的^[是用Ctrl-V Esc打出來的. 所以完整的通用解法是

2006/07/24補: 加上用urxvt時的

if &term =~ “xterm”
if has (“terminfo”)
set t_Co=16
set t_AF=^[[%?%p1%{8}%<%t3%p1%d%e%p1%{22}%+%d;1%;m set t_AB=^[[%?%p1%{8}%<%t4%p1%d%e%p1%{32}%+%d;1%;m map ^[[D :tabprev
map ^[[C :tabnext
imap ^[[D :tabprev
imap ^[[C :tabnext
else
set t_Co=16
set t_Sf=[3%dm
set t_Sb=[4%dm
map :tabprev
map :tabnext
imap :tabprev
imap :tabnext
endif
elseif &term =~ “rxvt”
set t_Co=16
set t_AF=^[[%?%p1%{8}%<%t3%p1%d%e%p1%{22}%+%d;1%;m set t_AB=^[[%?%p1%{8}%<%t4%p1%d%e%p1%{32}%+%d;1%;m map ^[OD :tabprev
map ^[OC :tabnext
imap ^[OD :tabprev
imap ^[OC :tabnext
endif
syntax on

這樣就可以在Terminal下正確的用<C-Left>跟<C-Right>了.

The Da Vinci Code(達文西密碼)

金獎影片【美麗境界】製作團隊,導演朗霍華、製片布萊恩葛瑟、編劇艾基瓦高茲曼,再加上曾以【長日將盡】獲奧斯卡提名的製片約翰可利聯手出擊,將丹布朗的達文西密碼,這本有史以來最暢銷、最被廣為討論的小說,搬上大銀幕,並網羅兩屆金獎影帝湯姆漢克,以及奧黛莉朵杜、伊恩麥克連、艾佛蒙利納、保羅貝特尼共同主演。

由約翰可利以及布萊恩葛瑟攜手製作的【達文西密碼】,涉及一連串謀殺調查案,將揭開人類史上最驚人的秘密。

享譽國際的宗教符號學教授,羅柏蘭登(湯姆漢克飾),一晚接到電話,通知他羅浮宮館長遭人謀殺,只留下成串難以理解的符號跟線索。蘭登隨即被法國刑事警察總局總部隊長伯居法舍列為頭號嫌疑犯,為了洗刷冤屈,藍登在警界密碼專家蘇菲納佛的幫助下,一步步解開館長留下的符號,竟發現一連串暗藏在達文西作品中驚人的秘密,線索全指向一個秘密會社,當中成員終其一生都在死守一個歷史真相,長達兩千年之久……。

這對搭檔踏遍巴黎、倫敦、蘇格蘭,為的就是渴望破解迷團,解開這個會動搖人類根本的驚世秘密。

哥倫比亞電影公司與Image Entertainment獻上,布萊恩葛瑟、約翰可利聯合製作的達文西密碼,由湯姆漢克、奧黛莉朵杜、伊恩麥克連、艾佛蒙利納、喬根普羅斯諾、保羅貝特尼以及尚雷諾攜手演出。本片由朗霍華執導,艾基瓦高茲曼根據丹布朗小說改編的劇本。布萊恩葛瑟、約翰可利擔任製片,Todd Hallowell、丹布朗出任執行製片。

這部片從上片開始我就蠻有興趣, 可是一直克制自己不要去看, 因為小說我還沒看完.

這類熱門電影總是從上片開始就一大堆「捏他」跑出來, 加上我又已經把小說給看了一半, 所以最後變成抱持著「看看他怎麼演」的心情去看的. 一如所料, Tom Hanks這個戲精已經到了演什麼都ok的程度了, 表現上也就很難去評斷好或不好, 而劇情上我根本沒看完小說, 所以也無可評論是否忠於原著或足夠的鉅細靡遺. 不過有個人人都感覺的出來的問題是: 男女主角都是天才! 複雜的錯位字迷可以在幾分鐘內解出來, 這根本是「偷看答案」程度的作弊嘛!

不過戲裡的天主教/基督教爭議非常的有意思, 若非有稍微涉獵過一些中古世紀歷史跟這個宗教的研究的話, 很容易被劇情唬住進而認為這個劇情是真實的. 這部小說也剛好刺痛到天主教/基督教的痛腳: 神與人的分別. 演進至今這個宗教已經不單純是一個信仰, 還包含了複雜的利益, 制度, 階級等等的問題, 而牽動這整個敏感神經的就是耶穌的神格性質, 眾多的定義加上經典中許多「反智」與「反科學」的說法, 讓部分教徒一直處在一種「局部精神分裂」的狀態下, 最後只能把科學歸科學, 信仰歸信仰式的迴避掉.

但原則上我對這個宗教抱持著不排斥也不反對但不接觸的態度, 至少大範圍上這是一個與人為善的宗教, 比起許多我心中所定義的「邪教」來說好過不知道多少. 只是我並不欣賞那種不實事求是的作法罷了.

大抵上這是一部娛樂性十足的電影, 但是如同大多數小說改編的電影一樣, 受限於電影的時間省去了許多可能會看來很枯燥的過場劇情, 造成沒看過小說的人會有點霧裡看花的感覺, 摒除這些, 這倒是個會讓人喜歡的電影.

The game is over!

世界盃終於結束了.

這四年一次的足球界大拜拜大概是全台灣最瘋足球的時候了, 跟亞錦賽或奧運一樣, 總是在這個時候跑出一堆「一月球迷」, 回想四年前在前一家公司會議室大家窩在一起看比賽的心情, 對照現在跟Ellen一起靠在沙發上的感覺, 相同的是那種興奮感, 不同的是心中的英雄都已漸漸老去.

第一次看世界盃在1994年, 那年我還只是粗懂足球, 突然迷戀上巴西的華麗和義大利的強悍, 也在那年被Jurgen Klinsmann的高大身影給鎮攝. 也從這年開始, 原本看到足球轉播就會轉台的我, 開始慢慢的學習怎麼欣賞一場足球賽.

從’94, ’98, ’02年的世界盃, 我的足球觀戰史上記錄下了好幾個英雄: 義大利的Roberto Baggio, 他’94在PK中失手落寞走下球場的表情和Johnny Walker廣告中的Keep Walking; Zinedine Zidane在’98帶領法國拿下第一個雷米金盃的英姿跟永遠帶著微笑的臉龐; ’02年巴西的年輕人Ronaldo de Assis Moreira在中場讓球繞著身形前進過人的華麗森巴足球; 佔據著球門的Oliver Kahn永遠頂著金色的亂髮發出猩猩般的怒吼; 羅馬王子Francesco Totti綁著馬尾穿梭前場的衝勁…好多好多的臉孔被記錄在我的腦海中.

每次世界盃都有很多新秀, 這屆世界盃我卻沒辦法分出心思去關心這些後進者. 我的目光總是停留在這些還存在綠色草地上的老將們, 這次我看不到Kahn(只有在季軍戰上場), 看不到Baggio, 多麼有幸可以在冠軍戰看到Totti和Zidane同場競技: 對我這個很不專業的半球迷來說, 真的是何其有幸.

雖然我的預測不大準, 我最看好的巴西中箭落馬, 我最喜歡的德國也無緣金盃, 而冠軍戰延長賽Zidane的頭槌卻也讓我心碎: 多麼不願看到一個巨星用這樣的方式結束他的足球生涯.

Zidane的地位是無庸置疑的, 幾乎可以稱為是「綠草地上的人格者」的Zidane.

誰都沒辦法臆測Marco Materazzi到底是說了多嚴重的「垃圾話」讓一向被稱為脾氣好的Zidane做出這麼嚴重的動作, 他本人接受訪問時只證實Materazzi的話語相當嚴重, 卻拒絕透露是什麼. 我轉念一想, 或許讓這個秘密永遠被埋藏才是好事, 既然Zidane已經要退休了, 義大利也拿到了夢寐以求的雷米金盃, 對這些努力的球員們少一點批評與責怪, 多一點掌聲跟歡呼, 也才是正確熱愛這個運動的方法吧!

Farewell, 2006!

2006/07/12補充: 在BBC Sport裡頭有一個新的報導「Fifa investigates Zidane red card」大致說明了到目前為止得到的資訊以及專家們的分析. 如果有人在球場上或任何地方對我說這樣的話, 我第一個反應大概會是一拳往那個大嘴下去, 然後會盡全力讓這個人走不下球場. XD

有時候不能相信手冊

嗯….太相信手冊會吃虧的.

這幾天在重新把一些PHP Framework補齊, 重寫之前HDD掛點時損失的一些小lib, 同時把以前用普通寫法做的functin都物件化.

弄到i18n的部份時, 以往是靠大量的variables配合require/include去做, 現在學了gettext就想改成gettext base, 結果災難就來了. 首先是PHP最新的手冊上關於gettext的sample.



照著做之後, 發現gettext()總是不會給我正確的translations, 從apache, php5, extensions的安裝全都檢查過了, 就是弄不好, 開始懷疑是不是自己的 .mo 檔案做錯了, 去找了GNU gettext examples來依樣畫葫蘆寫了一個a.out來測試, 很奇怪的是用C來寫非常正常, 但是PHP的setlocale永遠給我NULL.

手冊應該不會錯才是. 照著GNU gettext的手冊一切正常, 類似的function在PHP下就總是不行, 照手冊的Sample來測試怎麼會連跑都不能跑呢? 加上沒有debug message, 也沒有任何log可以看, 實在不知道該怎麼辦才好.

心想, 該不會是OS問題? Locale可能跟 OS 支援有關係吧. 找一張舊的Debian CD, 在VMWare下裝好測試, 竟然也是一樣的狀況: setlocale(LC_ALL, “”) 正常, 但是setlocale(LC_ALL, “en”)就不行.

這時候衛斯理說的話就產生作用了: 當所有可能性都不正確時, 最不可能的答案就是答案.

是的, 正解就是, 手冊錯了!

PHP的setlocale並不會複寫這個session用的locale, 必須要配合putenv把locale設定進去, 但是只用putenv還是不成, 因為後頭的bindtextdomain還是要吃setlocale. 也就是說, bindtextdomain要setlocale, 而setlocale要putenv, 所以一定要先putenv再setlocale, 最後bindtextdomain才能正確的讓gettext運作.



這樣寫才會正常, 順序怎麼換都不行. 盡信書不如無書, 盡信手冊不如去STFG. 唉.

讀書與學習

今天一位朋友透過MSN詢問, 我最近是不是出了什麼事? 怎麼都沒看到我的讀書心得? 這大概是最高的恭維了吧! 這表示在他心中, 我是一個沒事就會讀書的人.

最近之所以沒有什麼讀書報告的原因是, 我正在重新研讀大學時上編譯程式(Compiler)這門課時使用的教科書「Crafting a Compiler in C」.

從事這一行不知不覺已經超過10年了, 雖然最後讀的科系也是資訊相關科系, 但是一路走來還是常常認為自己的本職學能並沒有到達孔子說的「從心所欲」的程度, 總是會常常需要查閱工具書, 也總是會在Review自己程式碼的時候心驚的汗涔涔淚潸潸, 每到一個需要跨到新功能新技術開發的同時就會不自覺的自卑了起來: 原來我還是一個說的比寫的還好的工程師.

隨著年紀漸長, 花費在讀書上的時間跟資源遠大於學習, 似乎不停的讀書只是滿足自己觸碰新世界的手段, 而忘記真正需要的是藉由讀書來達到無止境學習的目的.

然後不知不覺想起前幾天跟小甫的對話, 我又有什麼資格能夠給予建議甚至教訓人家呢?

自省, 也自省自己的不能自省.

為什麼沒有人告訴我們該往哪兒走?

這個問題沒有答案! 或者說, 答案就在「XXX」之中.(請在XXX中填入自己喜歡的政治人物)

從6/20陳水扁總統向人民報告之後, 一直到現在都還在爭吵罷免這件事情. 我不太想長篇大論評論罷免這件事情, 不過一言以蔽之, 這是一場鬧劇.

輾轉在這邊看到這個活動, 不知為什麼的我突然心灰意冷一點也提不起興趣跟熱情, 雖然小貼紙很好看.

嗆出你ㄟ心聲 - 非正式台灣 Blogger 網路公投

藍色跟綠色之爭是身在台灣(不說身為台灣人, 畢竟有很多人不以為自己是台灣人!)的原罪. 台灣究竟是中國(中華民國? 中華人民共和國?)的領土, 還是像台灣主權未定論所說的託管中等待民族自決, 是我們這一代必須要抉擇的問題, 所以自然的政治人物被迫粗分成支持統一或支持獨立的兩大區塊, 而這兩大區塊的相互角力, 自然也不是什麼了不起的怪現象.

但是為什麼, 沒有一個自詡為領導者的人, 能告訴我們該往哪兒走?

如果我們接受自由, 接受民主體制, 為什麼我們還要抱持著一大堆封建思想? 什麼叫做奴? 什麼叫做皇? 什麼叫做公主附馬爺? 什麼叫做罪己詔? 拿出這堆名詞只是向全世界表示: 我們腦袋裡頭還是專制社會的那一套.

姑且先不提我的政治傾向(其實熟人都知道了). 當今政壇不管是追求統一的藍色, 或追求獨立的綠色, 都沒有任何一個人來告訴我們到底該往哪兒走: 想要統一說不出是要被PRC統一, 還是ROC要去統一PRC, 說不出若我們的目標在那邊, 我們現階段要做的事什麼事情; 想要獨立的說不出要怎麼獨立, 要怎麼獲得周邊國家的支持, 要怎麼避免兩岸為了統一獨立的面子問題血戰一場, 要怎麼整合國內意見等等.

在我眼中, 這都是不負責任的態度. 不管藍的馬英九, 宋楚瑜, 連戰, 或是綠的陳水扁, 呂秀蓮, 蘇貞昌, 都是這種不負責任的代表.

在這種關鍵時候, 有一邊在拼命的把幾件(明明就是幾件而已)弊案拼命往上抹要抹到陳水扁身上, 逼他下台以遂2004一敗之恨; 另一邊拼命的把幾件弊案的涉案程度用力的越抹越模糊, 有或沒有從不認真誠實的說明清楚. 而悲哀的老百姓只能被充斥的資訊和稀少的真相洗腦: 至今還有人相信總統槍擊案是自導自演, 李昌鈺收了陳水扁的錢; 還有人相信吳淑貞的車禍是政治車禍, 趙建銘是無辜的. 加上有TVBS這種顯然是共產黨媒體的推波助瀾唯恐台灣不亂把真相抹的更模糊, 所以從這點可以完全證明, 我們的教育完全失敗, 沒有民主教育, 沒有公民教育, 更沒有國家認同教育, 也沒有邏輯教育跟法治教育.

現在爭藍綠, 以後就只有紅色了.

最後我也要大聲說出我的選擇
1.不應該罷免陳水扁總統.
2.國民黨應該歸還黨產.
3.中華民國宣布放棄其主權及於中國大陸並追求獨立

如果可以補充的話
4.支持徹查嚴辦第一家庭及其親家等的「不法行為」
5.支持徹查嚴辦拉法葉案在內等其餘大型弊案: 包括拉法葉, 兆豐金, 北銀富邦案等等.

Vim7 on FreeBSD

一定很多人跟我一樣, 沒了vim會死.

vim7出來很久了, 可是ports一直沒有從6.4更新到7.0, 我在FreeBSD 5.1-Release + Gnome2的Desktop下都安裝成功沒問題了, 那為什麼ports還沒有呢? 真是奇怪.

原本在make時只有 –without-x 跟 –prefix, 剛剛修sidebar時發現utf8爛掉了. 啊….原來是忘記加上一些參數, 所以貼這篇紀錄一下.


./configure –enable-gui=no –without-x –enable-multibyte –disable-perlinterp –disable-pythoninterp –disable-tclinterp –disable-rubyinterp –prefix=/usr/local/vim7 –with-tlib=termlib

現在正在happy vim7-ing 😀

’06世界盃 – 我的無腦預測

其實啊, 我是德國隊的球迷!

會喜歡德國隊是因為Jurgen Klinsmann, 當年的金色轟炸機可是嚇死人的威風, 加上德國傳統的球風, 嚴格的紀律加上精細的團隊合作, 雖然不像巴西那種會讓人興奮的強力足球, 但是卻有獨特的魅力. 當然他們傳統的白衣黑褲也是加分.

喜歡一個球隊其實是沒什麼理性的, 對吧!

以下就是我對各組會出線的球隊的小小預測:

A組: 德國, 厄瓜多
雖然大多數人看好波蘭, 但是我覺得今年的厄瓜多破壞力也不遑多讓, 資格賽的成績雖然不盡理想, 但是整體隊形相較之下比波蘭完整些, 所以我看好厄瓜多. 至於哥斯大黎加, 嗯….志在參加.

B組: 瑞典, 英格蘭
英格蘭是個有奪冠實力的強隊沒錯, 我也認為英格蘭一定會打進16強, 不過有個天敵瑞典在, 英格蘭要拿分組冠軍還是有困難.

C組: 阿根廷, 荷蘭
其實感性上想支持塞爾維亞的啊! 塞爾維亞剛好跟巴西相反, 完全是個防守球隊. 不過既然對荷蘭輸了, 後頭還有個阿根廷, 晉級之路還是非常困難啊. 這次的阿根廷前鋒陣容我認為是這三屆以來最佳的組合, 勝過荷蘭也是合理猜測.

D組: 葡萄牙, 伊朗
雖然伊朗輸了墨西哥, 但是墨西哥並不是可以以3-1狂勝伊朗的球隊啊. 相反的我認為安哥拉對葡萄牙的比賽中, 看的出安哥拉雖然輸了比賽但是水準並不差, 若安哥拉咬到墨西哥, 可能會三隊各為一勝一敗比得失, 所以伊郎對上安哥拉要全力進攻啊! 否則比得失分的話目前墨西哥佔了太大優勢.

E組: 捷克, 義大利
出乎意料的美國被捷克慘電, 不過原本我也不是很看好美國, 只是沒想到會被電的這麼慘. 義大利藍衫軍當然是傳統強隊, 只是我想對上捷克可能佔不了便宜, 不過拿下美國跟迦納晉級16強肯定沒問題的.

F組: 巴西, 日本
雖然日本被澳洲上演超級大逆轉, 不過日本畢竟不是好惹的, 且除去巴西肯定全勝之外, 剩下三隊互咬的狀況倒是很有可能發生的. 若巴西不小心跌了依次, 那戰況會更難預測了. 不過我還是要承認, 預測日本純粹是情緒上的希望, 澳洲晉級機會其實是遠大於日本的.

G組: 瑞士, 法國
這一組當然是要讓韓國被踢掉, 而且對上瑞士跟法國要被狂抽猛送用力慘電才行. 這屆的法國已經沒有’98年當時完整, 席丹也老了啊! 相對之下我反而比較看好瑞士.

H組: 西班牙, 沙烏地阿拉伯
西班牙晉級還需要解釋嗎? 這組都是軟柿子啊! 剩下三隊突尼西亞跟沙烏地阿拉伯都可能會出線, 不過我會比較看好沙烏地阿拉伯一點. 畢竟到現在為止非洲球隊都沒有很驚人的表現, 身為非洲第一名出線的突尼西亞倒就不會讓我有什麼特殊期待了.

接著是更不負責任的8強預測:
德國:
因為我猜英格蘭會在預賽被瑞典咬, 所以16強第一場就會撞到德國, 那當然是德國會贏啊! XD

阿根廷:
雖然我看好伊朗, 可是碰上阿根廷當然是沒得反抗!

瑞典:
A組除了德國外沒有硬對手, 瑞典若能拿到分組第一, 晉級8強是肯定的.

荷蘭:
荷蘭不管是碰上阿根廷或葡萄牙, 應該都是贏面大吧!

捷克:
捷克不管是碰上日本或是澳洲, 我看都不至於會敗.

瑞士:
瑞士若碰上西班牙, 可能還五五波, 不過碰上沙烏地阿拉伯的話, 可就不成問題啦.

巴西:
倒楣的義大利若拿不到分組第一, 16強就得撞上巴西了. 巴西可是一堵高牆, 要跨過去可不容易.

法國:
法國對上西班牙當然也是有拼的, 可惜我看好法國.

看看我會猜對多少個吧! :p