2007年8月11日 星期六

建仔踢椅子要小心哦

前幾天看到一個新聞,縱火隊 K. Farnsworth 曾經在一次出賽表現不好,回到休息室踢風扇把膝蓋給踢傷了。台灣職棒的彭政閔也曾經出手擊打休息室的牆,造成手掌骨折,也養傷養了好一陣子才恢復正常。建仔前幾天出賽時,不幸遭到藍鳥痛擊,傳出他在休息室踼椅子的新聞。生涯最慘烈 建仔抓狂踢椅子-Yahoo!奇摩新聞

其實球場上,表現不如己意,事情難免會發生。但是一場比賽不過是一個球季的 162 分之 1,一個球季更可能只是個人球員生涯的 20 分之 1 或是 25 分之 1。如果為了一場比賽,情緒起伏而造成受傷,這就太划不來了。

今年建仔依舊保有大聯盟極品的伸卡球加上古德瑞親傳的滑球及對左打搭配的變數球,趕進度速度超快,在前三週缺席的情況下,目前已拿下 13 勝。且不論本季戰績仍有機會上看 18-20 勝,光是以 13 勝的成績。已足以為他在薪資仲裁的時候,取得極有利的位置。

去年球季後的球員交易,投手中最大尾的 Barry Zito,7 年億元男。在 2006 年繳出的成績單為 16 勝 10 敗,3.83 的自責失分率。轉會到皇家的 Gil Meche,今年年薪 740 萬,在 2006 年繳出的成績更僅僅是 11 勝 8 敗,4.48 的自責失分率。王建民今年的成績不輸給這兩位投手 (其實是好不少) 今年的薪資仲裁結果令人期待。

從洋基今年的陣容來看。克老今年復出表現不如預期,在生涯 350 勝已經拿到,年齡也 45 歲了,明年再看到他的機率大概不大了。除非他想要挑戰 Satchel Paige 的大聯盟最老 59 歲出賽紀綠 Orz ..... 。Andy Pettite 只有與洋基簽一年的短約,明年是否續約,在他個人家庭因素未完全消除前,加上克老若沒有續約,Pettite 是否點頭,還在未定之天。明年若真的空出兩個先發輪值的位置,Joba Chamberlain 可以頂上來。另外可以再從自由球員市場補貨。在自家農場系統出身的年輕選手所佔比例上升的前提下。建仔和 Cano 明年是否會拿到好的調薪幅度或甚至得到複數年的合約,將成為整個洋基年輕新秀關心的重點。對球團來說,給予建仔及 Cano 一個優渥且符合身價的合約,或許將起到一個很有效的示範及積極的激勵效果,也不失是一個上算的選擇。

對美國大聯盟來說,先發投手簽長約的首要要求就是要保持健康。建仔更要保重自己,儘可能的避免受傷的機會,更要小心不要自己不小心讓自己受傷啦 !

2007年7月25日 星期三

解決 Ubuntu 上 Google BrowserSync 等套件的使用問題

Ubuntu 上的 firefox 每次只要一昇級,包括 Google BrowserSync 在內的幾個 extension 就不能用了,其餘有受到影響的套件至少包括了 ColorZillaGmail Manager 。症狀就如下圖所示。
問題發生後,Google Browser Sync 立刻連按都不能按。如果按照 Windows 邏輯進行刪除重灌的話,也沒有用。Gmail Manager 則是原先設定的帳號全部消失,想再重新設定,卻會發生不能儲存的情況。Orz ......

經過一番研究,最後終於了解到,原來 firefox 有一些附帶的 library 在 Ubuntu 的安裝中,是有問題的。最近這幾次的更新,Ubuntu 的 release team 似乎也沒有解決這個問題,於是有些人的 extension 由好變壞,或是壞的始終如一 ......

解決方案有二:

置換這些有問題的 library
1. 到 www.mozilla.com 去下載正式的 firefox 套件,大家是用繁中的 firefox 要稍稍注意一下,別下錯了。
2. 把下載好的套件解壓到 /tmp 或其他目錄。
3. 將 firefox/libxpcom* 等 library 複製到 firefox 的安裝目錄,sudo cp /tmp/firefox/libxpcom* /usr/lib/firefox/。
4. 在工具 > 附加元件中將 Google BrowserSync,Gmail Manager,ColorZilla 等套件停用。網路上有些人說必需要移除重新安裝,不過我的經驗是只要停用就可以了。
5. 關掉 firefox 後重新起動。
6. 將上述附加元件重新啟用。
7. 再次重新起動 firefox。

改用自行安裝的 firefox
其實 firefox 用自行安裝的,也不失為一個徹底的解決方案。事實上在 ColorZilla 的首頁,他們根本就建議直接用這個方法。在我的看法中,由於 firefox 本身也具有很好的自動 update 機制,使用 Ubuntu 的更新似乎效用有限。因此,我個人也是推薦採用此一方案。

1. 到 www.mozilla.com 去下載正式的 firefox 套件,在此假設下載後的檔案是在 /tmp,檔名為firefox-2.0.0.5.tar.gz。
2. 將 firefox 解到 /usr/local 下面,sudo tar zxvf /tmp/firefox-2.0.0.5.tar.gz。
3. 符合 *nix 習慣,將執行檔 link 到 /usr/local/bin,sudo ln -s /usr/local/firefox/firefox* /usr/local/bin
4. 將檔案權限稍作設定,以便利之後的程式更新。sudo chown -R :admin /usr/local/firefox,sudo chmod -R g+w /usr/local/firefox
5. 如果 firefox 目前是開著,建議先關掉。
5. 移除系統內原先安裝的 firefox,sudo apt-get remove firefox
6. 重新設定 firefox 在應用程式功能表中的執行路徑和圖示。程式執行路徑在/usr/local/bin/firefox,圖示則是在/usr/local/firefox 下面,有 4 個圖示可資選擇。

重新安裝後,各個附加元件也無需重新安裝,可以直接使用,不用擔心。

2007年7月9日 星期一

WTP 的中文注意事項

tomcat 5 的中文處理方式有一個比較 Tricky 的地方,post 跟 get 處理時的作法不盡相同。

get 因為被視為 URI 的一環,在處理上與 post (資料 的一環)有不同的作法,在某一個程度上是可以令人理解的。不過,在實際應用上,許多 ajax 的 framework 大量的利用 get 的作法執行 client / server 間的溝通。因此,tomcat 這樣的設定,實務上,的確在許多的場合製造了困擾。

在一般的 tomcat 5 的 installation,我們可以直接修改 conf/server.xml 中的 Connector,為它添加上 URIEncoding="UTF-8" 這樣的一個 attribute。(要修改哪個 Connector 視實際應用而定)但是在 WTP 中,問題又更為複雜。

WTP 在設定上,雖然需要指定 tomcat 5.5 的安裝路徑。但在執行時 WTP 卻會依 eclipse 中的設定,自行產生 server.xml context.xml 等等各式的設定檔,所以追著 WTP 的路徑,去 ~/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf/server.xml 中修改設定,是沒有用的。我們要作的是,要找出 WTP 產生這些設定檔的來源。

我一開始認為,這可能是利用 UI 管理介面可以設定的事,不過找了好一陣子,實在是找不到。這下可十分另人緊張,所幸,在我把一些
WTP 相關的目錄都稍稍 review 了一下之後,終於確認我們要修改的設定檔是在 Configuration Path 下的 conf/server.xml。Configuration Path 只要雙擊 Server view 中的 tomcat 後便會展開。


2007年6月29日 星期五

讓 ubuntu 的 eclipse 跑快一點

在 ubuntu 上用 eclipse 效率比在 Windows 上慢了一截,我一直以為這是我的錯覺。不過今天由於我的硬碟滿了,很順便的把 eclipse 的 workspace 搞掛了。不得已,只好重設一次 workspace。在重設的過程中,實在其慢無比,開啟 eclipse 慢,重新 import project 後要 compile 更慢。

之前建的 wst 專案一直 import 不進來,eclipse 更屨屨使出掛點絕招,這下實在是雪上加霜。於是只好不斷重起我的 eclipse,我的青春年少就隨之緩緩流逝了。

然而,在這個不信邪的過程中,我因此赫然發現,雖然我的 ubuntu default java 已經是使用 sun 的 jdk6,然而,可愛的 eclipse 居然仍然在用 gcj。呃,我是對 gcj 沒意見啦,不過用 sun 的 jdk 很習慣了,所以看了一下這個 shell script,便發現可以自行指定 java vm。


只要在 ~/.eclipse/eclipserc 中加上一行

JAVA_HOME=/usr/lib/jvm/java-6-sun

再重起 eclipse,eclipse 就會真正的以 sun 的 jdk 來執行,整個 UI 的執行效率有明顯的上升,因此,在 ubuntu 中以 eclipse 開發的同好,不妨到 Help > About Eclipse SDK > Configuration Details 中確認一下自己的 jdk,是不是有用到比較順手的 jdk。

我已經是用到 sun 的 jdk 囉



2007年5月29日 星期二

旅行的意義在告訴自己,家的美好

前幾天剛從美西回來,帶回來了一些複雜的經驗。

美國是一個很大的國家,從很多地方都可以看得出來。從地圖上可以,當然從 google earth 更是一清二楚。實際到了美國之後,從坐車的時間來看更是帶給人切身的體驗。9 天的行程當中有 1 天在坐飛機來回,而在當地坐車的時間加起來卻超過了 2 天,假設一個人每天睡 8 個小時的話。大概總共才玩個2-3 天而已。不過,這樣講好像是在抱怨哦 ^^|

第一站是去舊金山,舊金山是一個很有趣的城市。有雄偉如金門大橋者,也有細膩如藝術宮的建築。有懷舊的 Cable Car,也有充斥著商業氣息的漁人碼頭。其中 Cable Car 是最有趣的。到了舊金山,一定要去 Cable Car 的總站(兩個端點都可以)。你可以看到 Cable Car 駛到了盡頭時是由人力來調轉方向的,很好玩,把車子推到一個轉盤上後,2 個人一齊動手把車子作 180 度的調頭。連等待 Cable Car 到站總共大約只要花個 15 分鐘左右的時間,但真的很有趣。我是到漁人碼頭那邊的 Cable Car 終點站。從 Pier 42 走過去,大約步行 10 分鐘就到了。

第二天,就開始了漫長的坐車之旅,中間這幾天都是如此。17 Miles Drive 是這一天的主要造訪景點,這邊有一些不怕人的土撥鼠和一堆的海鳥與烏鴉。土撥鼠雖不怕人,不過好像會怕烏鴉 ....

17 Miles Drive 是有名的高爾夫球場 Pebble Beach 的所在地,高爾夫球場沿岸而築。海風陣陣襲來,我不禁懷疑這球恐怕不太容易作直線飛行,這算是景色逼人的代價嗎?

很快的在往拉斯維加斯的路上,我生平第一次進入到沙漠。Fresno 往 Las Vegas 路上的沙漠竟然意外地,並不僅僅是遍地的黃沙而已。事實上大約每平方公尺的土地上就會有一叢滿是塵土的草。也沒看到什麼肥肥的仙人掌,有的就是遠方地平線的山和一條條的高壓電線而已。在這裏,我真的深深地,睡著了。

到了拉斯維加斯又是另一副光景。金字塔,巴黎鐵塔,威尼斯或是火山爆發,這兒都找得到。目前看來是還沒有萬里長城,紫禁城或是兵馬俑。不過,以現在中國的氣勢,我想這只怕也是遲早的事情而已。哪天這邊來修築一個紫禁城飯店,裏面的侍者都穿著太監或宮女的服飾,說著一口的英文,不是也挺妙的?這也算是個 million idea 嗎 ^^||

大峽谷是此行的重頭戲,但沒想到,也是最難去的地方。從拉斯維加斯去西峽谷就要2個半小時,據說去南峽谷的話更要高達 4.5 小時。到了西峽谷還要換乘 shuttle bus。一般 shuttle bus 大概是十來分鐘的路,這兒不是,足足又開了 40-50 分鐘。才把我們帶到西峽谷的總部。呃,要坐直昇機的人,請在此轉機 ....

天空步道本身的確是很可怕,它是一個 U 型從崖頂向外延伸的建築物。步道的地板,果不其然,是強化玻璃。最可怕的是,由於步道本身不是方型,所以玻璃的拼接之間,居然還有縫。當場讓我大氣也不敢出,抓著金屬的扶手,踩著金屬的步道邊緣。老外倒是大部份都不怕,還有一個在我指出玻璃中間有縫後,親自把手指伸進去,然後告訴我,這玻璃有這麼厚!(各位看倌請自行加手勢 .....)這是美國式的 hospitality 吧。

不過天空步道,現在到是不建議大家去。也許再過個幾年吧。目前主要的問題是換乘 shuttle 後,那 40-50 分的車程,完全是在坐碰碰車,路況大概可以跟艱苦地區的產業道路相比。當天走的路不多,但晚上回到飯店後,我配掛的計步器居然超過 20000 步。路況之差,由此可見。現在亞歷桑那州正在進行路況改造工程,除了道路改進之外,還打算修築一個飛機場,國際或國內尤未可知,不過可以想像幾年後,到西峽谷交通的選擇將大幅增加。而大峽谷的確是壯觀的世界奇景。人說巧奪天工,但有些天然的東西,人便想奪其巧也必不可得。大峽谷大概算是個中翹楚吧。

拉斯維加斯有兩個 Premium Outlet ,離市中心都相當近,Las Vegas Premium Outlet 坐計程車到我們坐的 Stratosphere 跳錶加小費只要 $8,如果想要去逛街的話,也可以幾個人叫個車過去晃一下。

很快地回到了 LA,環球影城和迪士尼去的當日人都不多,沒什麼排隊。玩起來也挺盡興的。算是這段旅程中快樂的註腳吧。

這次是參加了旅行團的行程,果然也是付出了一些代價。全程每天都吃半調子的中式食物,到第三天我就快瘋了。有好幾次要等其他團員來集合,有一次等了一個多小時 ^^,這也是有點困擾。此外,美國的生活必需品比台灣是貴上了一截,這當然就喚起了濃濃的家鄉好情懷。對我來說,旅行的意義,畢竟就是為了告訴自己,家的美好。而這一點,身在其中的我卻時常都沒辦法記得清爽啊。

2007年2月27日 星期二

第一次網拍賣東西成功 !

這輩子的第一次哦,我把跟我相處一年多的 psp 賣掉啦。
用的是露天拍賣,我採用的是低起標價的策略。
PSP + 1GB MS + 三片原版遊戲,4000 元起標。
最後以 6500 出讓,

希望新主人能好好待它哦 !

2007年1月19日 星期五

用 ubuntu 連上 windows vpn server

今天因為工作的關係,需要連接一個 windows 的 VPN server。
由於不想為了這麼一點小事就切換到 windows 去,所以,剛好來研究一下 vpn 在 ubuntu 的使用方法。

1. 安裝 Network Manager

在 gnome 環境下,有一個套件叫作 Network Manager。它有幾個好處:
  • 可以像 windows 一樣自動尋找,並管理無線網路
  • 可以在有線及無線網路中互相切換
  • 可以利用 plugin 來連結 vpn :D
用了這個軟體後,在 nb 上使用無線網路就變得簡單又方便了。所以首先我們要安裝 Network Manager

sudo apt-get install network-manager
sudo apt-get install network-manager-gnome
Network Manager 是一個系統的 service,而 Network Manager Gnome 則提供了一個 gnome 的 applet 來顯示網路狀態。所以我們要讓 gnome 在啟動時,自動執行這個 applet。
在 系統>偏好設定>作業階段>初始啟動程式 下
新增一個初始啟動指令 nm-applet
這樣下次重新啟動 xorg 或重啟電腦後,在右上角的程式狀態通知區就會看到一個網路連線的圖示了。(目前先不要重啟哦)
不過如果要讓 Network Manager 管理網路連線,就不能讓 gnome 內建的網路管理工具管理。所以我們要先取消它的管理權。
在 系統>管理>網路 下
針對你想讓 Network Manager 管理的介面,設定屬性
啟用這個連線上不要打勾!
2. 安裝及設定 VPN

接著要安裝 pptp vpn 相關的軟體,由於 Network Manager 的 pptp Plugin 目前還是 universe的,所以要先打開 universe 的套件庫。然後執行以下指令
sudo apt-get install pptp-linux
sudo apt-get install network-manager-pptp

接下來,就可以重啟 xorg 或電腦了。
重啟後,在右上角看到網路連線的圖示,按左鍵就可以設定網路或 vpn.
a. 選擇 VPN Connections > Configure VPN


b. 選擇 PPTP Tunnel

c. 設定 vpn gateway

d. 在 Authentication 下面我是這樣設的。

e. Encryption 下我是都沒有勾

存檔後就可以了,接著就來連線。
點選 vpn 的選項之後,右上角的圖示就會轉來轉去,轉完後就可以連上了。

3. Troubleshooting

我第一次裝的時候,vpn connection 設定,我所設定的 vpn 就是不會出來。網路上有 FAQ 說要刪除一些設定檔: (原文)
/etc/NetworkManager/VPN/nm-pptp-service.name
/etc/dbus-1/system.d/nm-pptp-service.conf
我當時不加思索照作,當場更慘,一旦想要增加新的 vpn,馬上就會出現沒有安裝 vpn 相關軟體的對話窗。我當場利用 windows 思維,重裝 network-manager-pptp,不過並沒有效。
後來是把 network-manager, linux-pptp, network-manager-pptp 及 network-manager-gnome 全部都進行徹底移除 (用 synaptic 即可)。確定 /etc/NetworkManager 及 ~/.gconf/system/networking/vpn_connections 不存在或裏面沒檔案了,再一個個重新裝回來。重裝之後就正常了。

根據我現在正常的狀態,上述兩個檔案的確是不存在,所以該 FAQ 的作法似乎也有其道理。不過確切的原因還有待研究。

2007年1月12日 星期五

部落格方程式

最近由於手上的案子告一段落,於是作了一陣子的部落客,也簡略的觀察了一下現在這個 web 2.0 的生態體系。雖然認識還不是很夠,但今天讓我也班門弄斧來談一下 web 2.0。

web 2.0 最讓人印象深刻的,就是它自我成長跟自我管理的能力。其實這一點,看在我這個老骨頭眼裏,除非身歷實境,實在很難預先想像。以 wikipedia 為例,目前它的內容實際上已經不輸給一部有著完整編輯團隊的百科全書了。我在想,當年這個專案開始的時候,如果這群人真的覺得而且相信最終它可以比美並取代百科全書,這我只能說,他們真的是很有遠見的人。如果 5 年前有人跟我說要作這樣的一個專案,我鐵定會跟他說這不會成功的。

網路的部落格也是,我這兩個星期的心得是,在網路的世界裏,如果你想要作什麼事情,百分之九十九點九已經有人想到過了。不論是要作一些簡單的網路服務,要找一些說明與 howto,還是要寫一些事情的意見與看法都不例外,去 google 上找一下,鐵定已經有人在作或已經作過了。前幾天我想,啊,來把我 picasaweb 上的照片放到 blogspot 來輪播,研究了一下,決定用 picasaweb 的 RSS feed 然後把它轉成 javascript。我於是沒事 google 了一下,發現早就有人作過了類似的事情 (請見 Feed2JS)。對一個在某個程度上來講倚靠著網路為生的人而言,發現這個曾經的機會之地,如今早已遍地開花,作任何事情都難以避免的 me too,這實在是件讓人覺得很沮喪的事情。

有時候,在網路上閒逛,看到有人的部落格寫得很好,我就會想一個問題,為什麼他/她這麼有時間可以寫部落格?兩個星期來,我儘力讓自己作一個專業的部落客,逛 internet,絞盡腦汁的想我的部落格要寫些什麼東西,不過目前內容還是空洞的可怕。

這整件事情的驅力是什麼?上 internet 的人變多了嗎?每個人的時間變多了嗎?每個人的智慧與能力都變強了嗎?這著實困擾著我。

前幾天閱讀了一本書,長尾理論,Actually 我沒有真的讀完,大概只讀了第一章,我想我就瞭解了它的理論基礎。其實這很有趣,難道代表我不應該花錢去買這本書嗎?我想也不儘然,它只是印證了另一個理論:
要想出第一顆原子彈的作法很困難,但是一旦有人發明出來,只要有適當的材料,幾乎任何一個國家都能作出自己的原子彈。
我反而覺得,一本偏理論性的書籍,如果不能在第一章讀完前就帶給讀者足夠的了解,那恐怕對現在的讀者來說,是一個太高深,太奢侈的研究了。

BTW,這已經離題了,我真正想要講的事,長尾理論協助我了解 web 2.0 的發展。

長尾理論告訴我們,在非實體的陳列空間,例如 Amazon 或是 iTunes 裏,實際上 80/20 法則是不存在的。由於沒有陳列的成本導致在概念上可以無限添加商品量,加上方便的搜尋工具,冷門書籍或歌曲加總的銷售量,事實上銷售量跟熱門商品相比,可以不相上下。Amazon 就有人這樣說:We sold more books today that didn't sell at all yesterday than we sold today of all the books that did sell yesterday. 關鍵在於 1. 這個長尾的長度夠長,2. 增長商品清單的單位成本趨近於零。

這不是正好解釋了 web 2.0 的發展?

以單個網站如 wikipedia 而言,增長商品清單的成本只是一些些額外的頻寬和儲存空間,而全世界都在看這個網站,也都能也會為它的內容修訂而努力。

以這五年 web 世界的轉變來看
  • 寬頻上網成為主流
  • 總體上網人數增加
  • 網路與主流媒體爭奪使用時間漸趨上風
假設以下的公式為真的情形下:
網路提供的新服務+新資訊 = 總體上網人數 * 個人上網時間
目前由於上網人數和上網時間都漸漸的上升,網路提供的新服務和新資訊自然與日俱增了。

由於漸漸的發現,一個人的智慧和能力,實在很難跟整個星球對抗,我不禁懷疑,之前有人說 me too is not my style,現在這還有多少程度屬實了。至少,在 web 的領域裏,如果懷抱著這樣的理想,那永遠是寸步難行。相反地,如果了解 make it better is my style,那就可以海闊天空了。在 google 成為全球搜尋霸主之前,早就有了許多的搜尋引擎先行者,但 google 的創辦人,難道不就是希望能作得更快更好,才有今天的地位嗎?

推廣到我的小小秘密花園部落格來說,現在它可能是沒什麼內容,但在以下的公式調整後,就又有了快樂成長的動力啦:
秘密花園提供的內容 = 小園丁的部落格時間 * 秘密花園成立的時間
假設小園丁每天投入的時間有限或不變的情況下,隨著秘密花園的累積,終必也有成器的一天呢。

推薦使用 firefox extension ‘CookieSwap’

不知道是不是所有人都跟我有一樣的困擾,自從 google 推出 google hosted 之後,我就一直有著無法順利在不同的 google service 中相互切換身份的困擾。雖然像我一樣用了三個 hosted domain 跟 google 自己 gmail 的人目前可能還不算太多,不過依 google 現在的聲勢,我想遲早這會變成所有人共同的問題。 :D

最近發現了一個 firefox extension, CookieSwap 可以協助解決這個問題。其實原理很簡單,目前主流的網站身份認證的方法,都是利用 Cookies 來帶 Session id,所以 CookieSwap 的作者 Steve Tine 就想到,如果可以把 Cookie 整個存成不同的幾個 profile,然後讓使用者依現在的使用情境,自行選用不同的 profile,豈不是就能完美的達到 multi sign on 的效果?

目前 CookieSwap 的功能在 firefox 2.0.1 上試用,運作的相當不錯,切換時從來沒遇到什麼困擾。雖然目前還沒有一個 profile manager 的圖形介面,但是自行去修改檔名也不算是很困難的事,因此,我推薦所有有用 google app 的人都要安裝這個 firefox extension。

2007年1月9日 星期二

洋基隊長期改造計劃?

今年球季結束之後,洋基隊的動作比起以往,小了許多。
最主要的交易就是把 Andy Pettitte 找了回來,此外日本籍投手井川慶,也是今年季後洋基補強的重點。

然而,今年的洋基,最大的不同點在於,他們送出去的大牌比找進來的還要多。

球季一結束,洋基隊就迫不及待的把老將 Gary Sheffield 和表現起伏不定的 Jaret Wright 送走。昨天,官網再一次的披露,把 Randy Johnson 送到響尾蛇的交易已經進行到最後階段了。兩個球隊已經同意交易的對象和金額,而 Randy Johnson 也已經通過了響尾蛇隊的體檢。只剩下續約細節正在洽談。一般相信,這個交易己經 95% 確定定案了。不過有錢人 (Brian Cashman) 仍然拒絕對此發表談話。

對洋基隊來說,這似乎代表著球團經營理念的轉變。王建民和 Robinson Cano 在大聯盟的成功,真的讓他們認真的思考農場系統的重要性。事實上,洋基隊現在最著名的球星,也有許多是來自洋基自己的小聯盟體系,Derek Jeter, Mariano Rivera, Jorge Posada 他們都是過去 4 屆冠軍的核心隊員,Jeter 今年是 mvp 競逐的第二名,並且在經典賽時擔任美國隊的隊長。Rivera 則是洋基隊守護神,許多人認為他是近年來最成功的終結者。Posada 則是擁有長程火力的捕手。只不過,他們和王建民中間,相隔了整整十年。這三位優秀的選手,都是 1995 年在大聯盟初次亮相,而一直過了十年,才在 2005 年由王建民和 Cano 接班演出。中間的洋基新秀,幾乎消失的無影無蹤。

目前洋基的先發投手群,在 Randy Johnson 離開後,可以預期明年的先發投手輪值表前 4 位分別是 Miki Mussina,王建民,Andy Pettitte,井川慶。第 5 號先發目前最可能的人選則是 Carl Pavano。不過我個人看法認為洋基全隊上下對 Pavano 有信心的人相當的少,尤其在去年球季底,他即將重返大聯盟的前一刻,他才回報自己因車禍受傷,當時有錢人可是相當生氣,一度傳出他想藉此與 Pavano 解約。在明年球季,Pavano 很可能會在第 5 號先發一陣子,如果他表現還可以,洋基隊應該會儘快將他交易出去。雖然他的年薪很高,不過只要洋基肯貼一些錢,我想還是會有球隊願意接納 Pavano,何況他的合約在 2008 就要到期了。一旦 Pavano 離開了先發輪值表,Philips Hughes,這位目前洋基農場系統最受人期待的新秀,就有了進入大聯盟的舞台。

洋基隊這樣一個以明星球員為班底的組織,雖然吸納了許多的年輕好手,但是,如果不能幫年輕好手規劃未來的道路,對球隊來說,只有減分,沒有加分。洋基隊現在的野手每個位置都有一名大牌佔著,年輕野手出頭機會實在小的可憐。目前大部份的主力球員都是 1974 或 1975 年生的,大概再維持個 5,6 年的明星歲月並不誇張。只有捕手 Posada 和指定打擊 Jason Giambi 年歲較長。去年表現很好的 Melky Cabrera,今年恐怕還是沒有先發的位置可以打,對他來說就是一種傷害。

不過從今年洋基季後出手的動作來看,交易的對象大部份都是投手,其中救援投手為多。救援投手一向汰換率較高,新秀出頭比較容易,據此我想,洋基隊也還是有他的戰略性規劃就是了。

2007 年的洋基隊,最大的變數仍然是先發投手群,井川慶這位日職老手,畢竟沒有在大聯盟的經驗,第五號先發又不是十分確定。不過只要王建民等前三位先發投手能夠有持續穩定的表現,加上黃金鑽石打線,目前在美國聯盟季後賽的競逐上,仍然處於一個相當優勢的位置。新人帶來的競爭感,是不是可以有效的刺激大牌明星球員呢?或許這也是洋基今年心理戰的手腕之一也不一定。總體來說,2007 年的洋基隊,仍相當令人期待。

2007年1月8日 星期一

一品燒飯香好好吃

王建民去年底回台灣之後,電視廣告曝光率大概是所台灣所有廣告明星中最高的了,看電視的時候,連續兩個廣告都有他代言並不希奇。我一直是王建民的支持者,所以多少也有注意他代言的產品。汽車太貴了我是買不起的,只好吃吃麥當勞過過癮啦!

話說這天來到了麥當勞,我看著菜單,毫不猶豫就說我要點一品燒飯香堡。呃,其實本來是有點猶豫的,因為麥當勞之前推出的米堡,好像都賣不久,不知道好不好吃呢。

首先先幫有王建民的外包裝照張相,正面是王建民投球的英姿:


還有背面,背面是他抓著一個米堡的樣子:


外包裝有設計類似御飯團的易食包裝,撕開之後很容易就可以食用了。
接著就趕快來試試看一品燒的米堡,看起來還挺好吃的樣子:


一吃之下,的確是不錯哦,醃過的雞腿口感相當滑嫩,它跟米飯的結合,比起炸雞類型的漢堡,感覺又 juicy 了許多,生菜的份量也相當夠,是十分均衡的一頓午餐。

有空的人可以去嚐嚐看哦!

2007年1月5日 星期五

打造第一個 WTP enabled 的 web 專案

WTP 真的不錯,安裝好後,總是要試試看它的威力。
我今天建立了一個新專案,HelloWorld,為的就是要看看它有多強。

第一步,新增專案

WTP 安裝完後,預設就提供了許多新增精靈。我今天要新建一個簡易型的 web 專案,於是選擇 File > New > Project,在 web 主題下,選擇 Dynamic Web Project。



接下來,輸入專案名稱及相關資訊。
Target Runtime 這邊選擇 Apache Tomcat v5.5,如果沒有這個 target,請參閱 此文,第五步


我目前還用不到 xdoclet, 所以在 configuration 這邊不要勾 xdoclet。
Java 是代表這個專案具有 java nature,而 Dynamic Web Module 則指出這個專案是一個動態網頁專案。
  • 具有 java nature 的專案,才能定義 source code folder, classpath 等 java 的特性
  • Dynamic Web Module 可能是判別一個專案能否被加入 J2EE server 的指標。

接著設定 Web 模組的一些參數。
  • Context Root: 本專案在 server 上的名稱,本例為 HelloWorld,代表未來要存取這個網頁,就要透過 /HelloWorld 的 URL 來進行。
  • Context Directory: 本專案內存放 WEB-INF 和 jsp 的位置,相當於 war 檔的根目錄。
  • Java Source Directory: 本專案內存放 java 程式的位置。

這樣就建立好 WTP enabled 的 web 專案,HelloWorld 了。

第二步,將專案加入 Server

建好專案之後,立刻就是要讓 server 知道並接手管理這個新的 web 專案。這個動作就有點像我們用 ant 把 war 建立出來,並 deploy 到 tomcat 上。

先打開 Servers 的 view,在 Tomcat 5.5 Server 上按右鍵,選擇 Add and Remove Projects,並將 HelloWorld 專案從左邊移到右邊。


第三步,在專案中新增一些內容

這個專案只是一個測試專案,我們就建立一個簡單的 index.jsp 就可以了。
在 web 目錄上按右鍵,新增一個 JSP (同樣在 web 主題之下),檔名為 index.jsp
在 <body> 和 </body> 中間,打上 Hello World, sohoffice !

第四步,啟動 tomcat

打開 Servers view,在 Tomcat 5.5 Server 上按右鍵,點選 Start 來啟動 tomcat。
接著打開你的瀏覽器,在網址列輸入 http://localhost:8080/HelloWorld/index.jsp


你可以試著更改 jsp 的內容,在 browser 內 reload 一下,你會發現網頁已經反應你改好的結果了。(tomcat class reload 有時需要幾秒鐘,若你發現網頁似乎還是舊版,多試幾次就可以了)

第五步,JSP 除錯

WTP 除了有各式各樣的原始碼編輯器之外,它還帶有一個神兵利器,就是 jsp 除錯器。
用法很簡單,在 jsp 你要中斷的地方直接按兩下,就可以定義中斷點了。不過一般靜態的內容是不能加中斷點的,也就是說,中斷點必需要加在 <% 和 %> 的中間才行。

加完中斷點,如果發現中斷點不太正常,沒有一個打勾的符號,這是因為我們的 tomcat 並不是在除錯模式。只要打開 Servers view,在 Tomcat 5.5 Server 上按右鍵,Stop。接著再按右鍵,選擇 Debug,就可以把 tomcat 啟動於除錯模式了。

WTP 真簡單,用了 WTP 之後,java 跟 php 或 asp 還有什麼差別呢 ?
再也不用等程式 compile,deploy 或是等 server restart 了。

2007年1月4日 星期四

在 Ubuntu 上設定 eclipse WTP+tomcat 整合開發環境

eclipse 是一套奠基於 java 平台的整合開發環境,WTP 則是 eclipse 平台上的一個子計畫。WTP 的目的是在 eclipse 平台上提供一個針對 web / J2EE 開發最佳化的環境。

WTP,全名是 Web Tools Platform,主要提供的功能如下:
  • HTML / JSP / CSS / javascript 原始碼編輯器
  • J2EE / servlet container 定義,起動,停止,發布,除錯
  • EJB 及其他 J2EE 元件新增精靈
其中我覺得比較重要的是能夠在 eclipse 裏啟動並除錯 tomcat,這搭配上 eclipse 原本就有的 hot code swap功能,幾乎讓 java 程式開發就像 php 等腳本程式語言一樣的輕易簡便。以往這個功能我們必需要利用 tomcat launcher 等 plugin,現在只要利用 WTP,而且還額外附增了 JSP 編輯器,實在不錯。

安裝 eclipse WTP + tomcat 有以下幾個步驟:

第一步,安裝 java 環境
Ubuntu 預設的 java 環境是 gcj,由於我們對於 Sun 的 jdk 比較熟悉,所以請先依照 Ubuntu 台灣維基百科的說明,切換到 Sun JDK 5.0。
安裝完畢後,執行 java -version,應該會得到類似如下的結果。

java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode, sharing)
第二步,安裝 eclipse
這很簡單,只要用 apt-get 或是 synaptic 就可以了。

sudo apt-get install eclipse
第三步,安裝 WTP
安裝 WTP,首先要進入 eclipse,然而,在安裝之前,首先要確定我們要把 WTP 安裝在哪裏。
一般情況下 eclipse 的 plugin 都是安裝在 /usr/lib/eclipse,/usr/local/lib/eclipse 也有同樣的效果,也就是說,所有同一台電腦的使用者,一旦使用 eclipse 時,都可以使用到這個 plugin。Ubuntu,大家都清楚,平常在使用的時候,並不推薦使用 root 權限,而是在需要時,再用 sudo 來取得相等於 root 的權限。不過,由於進入 eclipse 之後,就無法臨時再啟用 sudo,所以,如果想要共享 plugin,(i.e. 要安裝在 /usr/lib/eclipse 之下的話) 就要在進入 eclipse 時,加上 sudo,以取得 root 權限。

sudo eclipse
進入 eclipse 之後,在選單上選擇 Help > Software Updates > Find and Install ...
選擇 Search for New Feature to Install
勾選 Callisto Discovery Site
尋找 Web Standard Tools 和 J2EE Standard Tools,勾選。然後利用右側的 Select Required 把全部的關聯性套件一併安裝。

Callisto Discovery Site 是 eclipse 3.2 以後的一個新功能,其實就是因為 eclipse 的子專案愈來愈多,彼此之間或多或少都有關聯,所以開發的套件管理功能。簡單講,跟 Ubuntu 的 apt-get 還挺類似的。

第四步,安裝 tomcat
tomcat 比較麻煩一點,如果利用 apt-get 來安裝的話,由於 policy 都被拆開到 policy.d 的目錄,導致目錄結構跟原本的 tomcat 有點不太一樣,會使得 WTP 在使用上增添許多困擾。而且,由於 tomcat 位於系統目錄 (/usr/share/tomcat5.5) 使得一般使用者要啟動/停止 tomcat 也必需透過 sudo。而 eclipse,平常在使用時,是沒有 sudo 的,由於以上兩點原因,我個人推薦自行下載,並將 tomcat 安裝在使用者目錄底下。

tomcat 5.5 的下載路徑為 http://tomcat.apache.org/download-55.cgi
目前最新版本為 5.5.20
下載後解壓於使用者目錄,並更名為 tomcat-5.5 (因為本來的名字也太長了一點)

第五步,設定 WTP
進入 eclipse,打開 Servers 的 view,按右鍵 New > Server,選擇 Tomcat v5.5 Server,如圖設定路徑。
這樣就大功告成了。接下來就可以按右鍵 Start tomcat 了。

2007年1月3日 星期三

利用 Automatix2 設定多媒體支援

Automatix2 是一套可以用在 Ubuntu 上(和 Debian)的自動安裝系統,你可以說它是有人預先設定好一整包提供的套餐。套餐的目的就是又快又方便,不用花什麼大腦,十分適合 Desktop 系統。

安裝 Automatix2
Automatix2 並不是 Ubuntu 預設的軟體,它甚至也不是預設的 universe 或 multiverse 套件,所以要安裝 Automatix2 的話,請依 Ubuntu 台灣維基百科 的說明進行。

執行 Automatix2
請直接到 Multimedia 部份,選擇以下套件:
  • AUD-DVD Codecs
  • Flash Player
    • 安裝此一套件在我的電腦上造成 firefox 經常性當機的情形,推薦不要下載安裝。
  • MPlayer and FF Plugin
  • Media Players
  • Multimedia Codecs
點選 Start 開始安裝。由於要下載的東西有點多,安裝會需要一段時間。

設定 MPlayer
利用 Automatix2 安裝好後,幾乎所有的影片都能正常的播放了。
不過 MPlayer 如果出現 Error opening/initializing the selected video_out (-vo) device. 的話,代表 Video 的設備沒有正常設置。我的 mplayer 預設是會使用 xmga 的 device,完全跟我系統的設定不一致,所以我切換到 Xv 後就正常了。Audio 的話,使用 alsa 大概就可以了。
  • 在 mplayer 的影片視窗上按右鍵,選擇 Preferences
  • 在 Video 頁面上選擇 xv

在 ATI Mobility Radeon 9700 上安裝 Ubuntu ATI driver

我在 Ubuntu 上安裝 ATI 驅動程式的經過相當簡單
大致有以下幾個步驟

首先是安裝驅動程式,
如果不反對使用命令列模式的話,可以使用以下指令:
sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r) #Okay if it is already installed
sudo apt-get install xorg-driver-fglrx
sudo depmod -a
或著利用 Synaptic 也是一樣的

在 Ubuntu 6.10 edgy i386 Desktop 預設安裝的情況下,kernel 的版號為 2.6.17-10-generic.
首先搜尋 linux-restricted-modules
一般會發現已經安裝好了。
接下來搜尋並安裝 xorg-driver-fglrx
在 linux 上面 ati 有一個命令列的小幫手,就是 aticonfig, 這個指令整合了一些針對 Xorg 必要的調整命令,有興趣的話,可以利用 aticonfig | less 來看一下它的說明。

接著利用 aticonfig 來設定 Xorg。
進入命令列模式,執行
sudo aticonfig --initial --dtop=clone
這行指令會將 /etc/X11/xorg.conf 中的 Device 由 ati 替換為 fglrx.
同時為了讓投影機能正常運作,我利用 --dtop=clone 來指定雙螢幕互相內容一致,但解析度及更新頻率可以不同。(然而,跟據實驗指出,--dtop 有加跟沒加是一樣的,Xorg 都能支援投影機)

接著利用
sudo aticonfig --overlay-type=Xv
來設定 overlay.

完了之後還有一步很重要的。由於 Ubuntu edgy 內建是將 Composite Extension 啟動了,但是目前 fglrx 還不能在 DRI 模式下支援 Composite,因此,必需在 /etc/X11/xorg 的最後面加上以下指令。
Section "Extensions"
Option "Composite" "Disable"
EndSection
這如果不加的話,3D 是不會啟動的。

以上步驟都作完之後,就可以重開機了。由於有安裝一些 module,最好是重開機而不要只重起 Xorg。
重開後利用 fglrxinfo 來檢視有沒有裝成功。
douglas@earendil:~$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9700 Generic
OpenGL version string: 2.0.6011 (8.28.8)
這樣就可以了。如果出現 Mesa 而不是 ATI,那就代表 3D 沒有成功啟動。

我後來有試過 fglrx-control,這是一個十分陽春的 ATI 設定 UI,只能夠設定 MonitorLayout, Primary Monitor 或是更動 gamma 值,連解析度都不能改……殘念。所以很快我就移除了,也不推薦各位嘗試。


2007年1月2日 星期二

實況足球 10 Master League 大進擊

實況足球 (Winning Eleven) 系列是相當逼真的一個足球遊戲。
目前已經進化到了 10 代,(pc 版稱為 PES6)

遊戲的流暢感和寫實感是目前其他的足球遊戲中少見的。
玩實況足球,你仿佛可以看到兩名球員一個眼色之後就開始了一個二過一的配合。
或著是雙方球員彼此之間激烈的推拉拼搶,為的是爭奪控球權。
你也可以在前場使用 Christiano Ronaldo 的絕招“踩腳踏車”來昡惑對方的後衛。
當然,這有時(常常)還是會被識破的啦……


實況足球我最喜歡玩的,就是 master league 了
ML 簡單來說,就是結合了足球經理遊戲和足球動作遊戲。
在 ML 裏,你一開始是一個 D2 球隊的經理。
(註:D2 為次級聯盟,有點像是業餘棒球的乙組聯賽。打得好的話,就可以升到甲組。)
作為一個球隊的經理,你要注意以下事項:
  1. 培養球員:這是最重要的了,人才對組織的重要性直接關乎組織未來的成長性。培養球員最簡單的方法就是打比賽,而且要打贏。打輸的話經驗值就比較少了。然而,同樣是打比賽,聯賽得到的經驗值比較高,杯賽的經驗值就比較低了。所以打比賽也是要有策略的哦。
  2. 球員交易:在 ML 裏球員交易是一件很簡單的事,你可以帶著大筆的現鈔,或是用你現有的球員來和對方交易。不像現實生活,球員交易牽扯到一些心理因素和預期,ML 的球員交易大部份是只要你想要,就會成功。所以找到對的球員來交易很重要哦。
  3. 財務狀況:由於 ML 的球員薪水是每年年底時支出一次,所以要小心那個時候不可以透支哦,一旦發不出薪水那可就遜了。
其實 ML 在管理層面要注意的事不多,不像有些足球經理遊戲,要管球場的擴建,球場設施,青年隊訓練,甚至還要管球迷的態度…… 所以不是什麼很複雜的事囉。

當你展開 ML 的生涯後,你會發現,你帶的這支球隊……還真爛……
這沒關係,登高必自卑,行遠必自邇。慢慢來,醜小鴨也會變天鵝。
給大家許多的鼓勵,主要原因是不想要大家玩到想把電腦 K 壞,沒有人喜歡那種輸的感覺啊……
在第一個球季的上半,防守是最重要的,因為球員的素質並不高,沒有打陣地戰的本錢,所以加強防守,利用防守反擊取分是這個階段的要務。

第一個球季季中交易是下半季成功的關鍵。我在這個時候簽下了 Park Chu Young, Shimizu 兩名球員,一個中場一個前鋒。都有很好的速度和破壞力。尤其卜周永,他會漸漸成為禁區霸主,在 D1 聯賽我曾用他一個球季踢進了 30+ 的進球。

交易的時候,我特別重視以下的球員能力
  • Top speed:一般性的速度
  • Acceleration:加速度,用於擺脫後衛十分有效。
  • Jump & Header:跳躍力及頭球能力,對於兩翼吊中球和角球時最為有用
  • Dribble speed:帶球時作動作反應時間
至於 Attack 跟 Defense 目前則還不知道有什麼特別的用處。
中場球員如果射門能力好的話,可以增加球隊的得分手段,也是相當有幫助。
前鋒則需特別小心 Weak foot acc. 和 Weak foot freq. 的能力,不然該用右腳射門時球員卻想要用左腳那就很不妙了。

由於球員的未來性在交易完成前並不是十分的確定,因此我在交易時通常也會併用 SL 大法,如果交易結果不滿意,那就再來一次吧 :D

我曾經用過的優秀球員有:
  • 前鋒:Park Chu Young, Aguero, Babel
  • 中場:Shimizu, Aissati, Yamada
  • 後衛:Heitinga
交易完後的球隊會讓球員間的 teamwork 下降,這通常不是很有關係,打個幾場 Teamwork 就上來了。

大家快來玩實況足球哦,真的很好玩。你唯一要擔心的事……就是玩過這個之後都不想玩別的 Game 啦!

Ubuntu 新生活運動

從大學時代開始就斷斷續續的有使用 Linux.
從 Slackware 開始用過不少的 distro. 像 RedHat, Mandrake, Fedora, Gentoo 都分別用了好一陣子。
上星期五因為窮極無聊的關係 …… 又用了新品種的 Linux,而且是現在的當紅炸子雞 Ubuntu.

講真的對於 Ubuntu,這並不是我第一次嘗試了。之前的經驗是很失敗的。
當初在一台算蠻新的電腦,AMD Opteron 165 + ASUS A8N32-SLI 上試裝。
其結果真是慘不忍睹,因為連最基本的用安裝片開機 …… 都有困難。
這次之所以會再次嘗試,一來是有朋友在鼓吹。二來也是因為我的 NB 前不久才發生慘劇而導致重灌。

先講結論好了。
Ubuntu 的安裝真是沒話講,如果開得了機的話 …… :-D
一裝完幾乎該有的都有了,中文音效網路一應俱全。

而且是在安裝過程完全沒有作什麼複雜的選擇的情況下。
一邊安裝的時候甚至可以用 Live CD 跟人 msn ......
的確是十分人道。
安裝的時間稍微久了一點。因為有部份的程式必需自遠端下載。
不過跟安裝 Windows 的時間相比,似乎也不算是太久就是了。

大約十來分鐘後,你就有了一個全新的作業系統,而且多重開機也自動設好了。
的確十分貼心。

開機後進到系統,發現中文音效等常見問題都搞定了,心裏感覺怪怪的。
似乎沒有用過這麼順利的 Linux -.-|
接著試著連接到網路芳鄰,連接現有的 Windows 分享只要在網芳裏選一選就好了。
而 Ubuntu 要分享目錄時,再也不用設定 samba 了,Ubuntu 會問你是否要啟用 smb 的服務,然後就搞定了。

然而這麼順利,又怎麼打發窮極無聊的日子呢 ?
於是想要讀寫同一顆硬碟的 ntfs 分割區。
這必需要安裝 ntfs-3g.
安裝完後,在 /etc/fstab 裏加入像這樣的設定:/dev/hda1 /opt/windows/c ntfs-3g ro,locale=zh_TW.utf8 0 0
就可以在 /opt/windows/c 下使用原本 Windows 的 C 槽了。
ps. 如果不想唯讀的話,只要使用 /dev/hda1 /opt/windows/c ntfs-3g defaults,locale=zh_TW.utf8 0 0 即可。

後來設定 3D, 安裝 xgl,設定 java 也都相當順利。
在此過程中,我覺得 Ubuntu 的文件相當的多,而且多半十分詳細。
因此對於作為桌面來講,算是一個很不錯的選擇。
Oh. 這文章當然也是用 Ubuntu 打的囉!