2008年3月31日 星期一
2008 海華盃第一週
來到這裡九個月了,在這中間也陸陸續續參加過一些球隊,比賽最密集的時候,曾經一個禮拜打四天。我打過史丹佛台灣學生會壘球隊,和台客(Tigers)、柏克萊海豹(Berkeley Seals)、酷必拉(Kubila)交手過,也打了一季半的雙溪聯盟(Twin Creeks),包括一般組的紳士俱樂部(Gentlemen Club)和新手組的紅葉(RED LEAFS)(拼錯了?不確定,但是網站上真的是這樣拼的),曾經和台大校友隊壘球隊(Taida or NTUAA)、第一棒(1st@bat)、還有漂流者(Drifters)一起練球,最後,2008 年的聯盟賽,我選擇了交通大學校友會壘球隊(Chiao-Tung or NCTUAA)。所以要是有人想打壘球,我很樂意幫忙介紹到這些球隊之中的任何一支隊伍。
這段期間,我每一支球隊都去接觸一下,瞭解各隊的文化,並且試著融入各隊的隊形。我本身是二壘手,可以守游擊,蹲捕手應該也沒問題,三壘手大概就比較拼了。其他位置大概比較不行:當投手保送率太高,站一壘又不夠高大,外野的話平飛球落點判斷能力不夠好。因為如此,我傾向選擇可以讓我留在內野的球隊。
2008 年海華盃 的第一週,碰上了漂流者(Drifters)和球人(Ballers)。這兩支球隊的打擊都不錯,防守起來安打滿天飛。第一場我表現的並不好,沒有安打還外加一個失誤;第二場大概是因為用起了順手的 Easton Synergy CNT Flex,連打了三支安打,包括一支二壘後方德州安打,一支三壘側內野安打,還有一支穿越二壘守備的三壘安打。可惜最後一支因為沒人幫忙指揮跑壘,自己看不到回傳球的情況,又加上貪跑,所以衝回本壘的時候因為球先到而被判定出局,而成為這場比賽的最後一個出局數。
第二場比賽之中,胸口挨了一記強襲球,擋下了球卻沒能殺到跑者。另外大腿內側也中彈,還有有穿護襠,還有機會揀起球傳二壘封殺跑者,而不是痛得在地上打滾。
下個禮拜將要遭遇龍捲風(Hurricane)和第一棒(1st@bat),希望我們能連贏兩場,打出好成績。
2008年3月27日 星期四
開了一個 Google Code 的專案來玩玩
申請的過程很快,的確和 Google Code 廣告詞一樣,只要填一頁的表格就好了,比起 sourceforge 好幾頁的表格的確快多了,再加上申請完不用等審核,馬上就可以使用,以這一點來說 Google Code 比 sourceforge 來得好。不過 Google Code 也有限制,就是一個人只能申請十個專案。
以我的情況,原先放在別的地方的套件組就有三四個,如果限制十個說不定一下就用光了吧?想來想去,那就乾脆申請一個共用的,所有的東西都堆在裡面就好了。東西放在這裡,沒有說明文件,有興趣的自己拿去用吧。
2008年3月26日 星期三
紅帽桌面中文化
看照網頁上的說明(Adding language support after installation),我應該可以在左下角的 Applications => Add/Remove Software 找到可以新增的套件,但是我連程式都開不起來。仔細看了一下錯誤訊息,是需要 root 密碼。公司的主機都使用相同的設定,我們自己也不知道 root 密碼是什麼,完全靠 sudo 來取得管理者權限,不過既然安裝需要 root 密碼,只好心一橫,密碼檔備份一下,然後改 root 密碼了。
設定視窗開起來了,但是還是看不到套件列表。出了一個很怪的錯誤訊息說找不到 repomd.xml,只好去搜尋公司內部的討論群組。有人說重裝 yum 就行了,但是我重裝好幾次都一樣,最後只好蠻幹,連設定檔和資料檔全部砍光光,再重裝一次,才看到套件列表。
不過怎麼看,我看到的套件列表都和網頁上的不一樣,去挖了一下設定檔,才知道公司把 yum 的設定全部指向內部的設定主機了,自然不會有語系相關的套件。所以我去 /etc/yum.repos.d/ 下寫一個檔案,把 baseurl 指向 redhat.com 的安裝路徑,這才讓我取得了語系相關的套件列表。
[redhat]
name=Fedora Core $releasever - $basearch
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
最後我選定了「Chinese support」,並且按照說明(Changing your default language)把桌面也換成中文的,然後再打開 SCIM 的設定畫面改成「倚天鍵盤」,還原我在視窗環境下的輸入法設定。現在還在用倚天鍵盤的大概屈指可數了吧,而我正好就是其中之一。
終於,我在 RHEL 下也可以輕鬆的處理中文了。
2008年3月24日 星期一
2008年3月23日 星期日
終於還是換到 Blogger 了
我開了一個 ticket 給 DedicatedBox.net,但是按照慣例,他們依然拖了七八個小時才有回應,而且居然告訴我沒得救,要系統重灌。這下子讓我驚覺其實 dedicated server 也不是一個保險的方案,所幸後來我告訴他們如果只能重灌,那請幫我重灌在另一顆新的開機硬碟,並且把舊的硬碟掛上當成資料硬碟,『我要打包搬家』,然後他們的技術主管就跑出來說我幫你改一下 ssh 的設定,用 root 遠端登入就行了。
回頭看看去年暑假,誤砍硬碟家目錄以後,我把信箱搬到了 GMail,把相簿丟到 Flickr 和 Picasa,剩下部落格一直還放在自己的主機上,一來是不想處處受限,二來是不想放棄 WordPress 編輯介面的便利,所以遲遲無法決定要投靠 wordpress.com 還是 blogger.com。最後我終於決定搬家到 blogger,至於留言,也只好割捨了。
我想,這應該是最後一次部落格搬家了吧。
2008年3月4日 星期二
左麒麟右武士?
View Larger Map
PERL_DEPENDS family in bsd.perl.mk
事情要從 des@ 在 freebsd-perl@ 的一篇抱怨說起
des@ 說我們現在有太多的 p5-* 會去拉 p5-Test-*,所以造成了一堆不必要的相依關連。這個問題我也常碰到,很久很久以前的設定常常是這樣:
BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5 \
${SITE_PERL}/Test/Pod.pm:${PORTSDIR}/devel/p5-Test-Pod \
${SITE_PERL}/Test/More.pm:${PORTSDIR}/devel/p5-Test-Simple
RUN_DEPENDS= ${BUILD_DEPENDS}
這裡產生兩個問題,一個是 Digest::MD5 已經包在 perl-5.7.3 以後的 core list 之中,所以新版的 perl 應該不需要另外拉 Digest::MD5;另一個問題是 Test::Pod 只用來測試,不應該被放進 RUN_DEPENDS;至於 Test::More 則是兩者兼有之,可是我們又不一定能直接捨棄 Test::More,因為有可能這個 module 本身會使用某個新版 Test::More 的功能,舉例來說,使用到 perl-5.8.7 以後內建的 Test::More 0.54。所以如果是我經手的 port,我都會把他改成這樣:
BUILD_DEPENDS= ${RUN_DEPENDS}
BUILD_DEPENDS+=${SITE_PERL}/Test/Pod.pm:${PORTSDIR}/devel/p5-Test-Pod
.if ${PERL_LEVEL} < 500703
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5
.endif
.if ${PERL_LEVEL} < 500807
RUN_DEPENDS+= ${SITE_PERL}/Test/More.pm:${PORTSDIR}/devel/p5-Test-Simple
.endif
也就是說,把真正會用到的放在 RUN_DEPENDS,把只有測試會用到的放在 BUILD_DEPENDS,這樣包 package 的人會兩個都拉到,但是用 package 的人只會拉到 RUN_DEPENDS。不過即使如此,des@ 還是嫌拉太多東西了,而且 p5-* port maintainer 要去記住每一個模組出現在每一個版的 perl 之中的版本,所以對 maintainer 來說也是額外的負擔。之後,tobez@ 的一篇提議, 建議新增兩個設定,一個是 PERL_DEPENDS 一個是 PERL_TEST_DEPENDS,另外在 bsd.perl.mk 裡面維護一份各個版本的列表,這樣讓 bsd.perl.mk 來檢查版本,並且決定哪些需要被帶入 BUILD_DEPENDS 和 RUN_DEPENDS。至於 p5-Test-* 及其他測試專用的模組,則另外定義 PERL_TEST_DEPENDS,只有設定 P5PORTER 的時候,才會把它帶入檢查流程並視需要放進 BUILD_DEPENDS。
我試著按照 tobez@ 的理念去實做這幾個設定,但是發現 tobez@ 原先提議的實在改了太多,為了不讓 PERL_DEPENDS 步上 PERL_(BUILD|RUN)_DEPENDS 的後塵,我試著在最小修改和維持最大相容性的情況下,完成 tobez@ 原本的設計理念。
如果這個 PR 可以被接受的話,以後只要寫這樣:
PERL_DEPENDS= Digest::MD5>=0:${PORTSDIR}/security/p5-Digest-MD5
PERL_TEST_DEPENDS= Test::Pod:${PORTSDIR}/devel/p5-Test-Pod \
Test::More>=0.54:${PORTSDIR}/devel/p5-Test-Simple
剩下的問題,例如哪個版本已經內建哪些模組,有沒有滿足需求,要不要另外拉,就交給 bsd.perl.mk 來處理吧。
