星期五, 8月 31, 2007

FreeBSD複製到另一顆硬碟

平常FreeBSD複製我都直接用dd, dd if=/dev/ad0 of=/dev/ad2 ,但這樣partition的大小必須相同。

為了將現有的FreeBSD複製到另一顆partition不同大小的硬碟,所以特地參考
FreeBSD使用手冊 Disks 18.3.2.1 Using Slices
# dd if=/dev/zero of=/dev/ad2 bs=1k count=1
# fdisk -BI ad2 #Initialize your new disk
# bsdlabel -B -w ad2s1 auto #Label it.
# bsdlabel -e ad2s1 # 可以參考現有的partition編輯
# newfs /dev/ad2s1a # Repeat this for every partition you created.
# mount /dev/ad2s1a /mnt
# cd /mnt
# dump -f- / | restore -f- -r
多分區時挺麻煩的,平常還是用sysinstall分割比較方便。
參考資料:
FreeBSD使用手冊 Disks
如何將Linux或FreeBSD複製到另一顆硬碟
Partimage SystemRescueCd
Gnome Partition Editor
g4u

星期四, 8月 30, 2007

sh != bash

看到改以Shell Script來寫更改相片檔名的批次檔,想起許多用Linux、OS X的朋友都以為sh就是bash,其實古早的Linux也有sh,但後來為方便都用bash取代sh,連OS X也是。不信的人可以md5 /bin/sh和md5 /bin/bash就明白我說什麼。目前知道BSD系列sh不是bash,在FreeBSD上倒是用tcsh當做csh。在Redhat裏根本就用Link把sh -> bash, csh -> tcsh。

順便建議一下,因為每個系統bash位置不盡相同
#!/usr/local/bin/bash
建議改成
#!/usr/bin/env bash
而且Bash能夠執行sh的script,所以寫一個版本就夠了,另一個版本是他練功用的。

BTW,bash對非英文語系的相容性較好,OS X 10.3之後也從tcsh改用bash為預設shell。

參考: bash on Mac OS X 使用bash的優點

打哪來的控制字元

用尚未完成的Xuite Blog備份程式幫同事備份成RSS,結果讀取出現問題,xml parser認為not well formed。詳查之下並非在下的程式有問題,而是字元裏出現控制碼;自由電子報的無名小站遇「駭」 個資流入中國(整理:記者袁世忠)的前面,居然有一個ASCII 08的控制字元。同事在複製/貼上時把控制字元也貼進去,難怪xml parser會誤判。

在ASCII 20以前的字,一般人要打出來還不是很容易咧!根據ASCII 字元表,ASCII 08是backspace,偉大的記者是怎麼打出來的?難道知道按著ALT不放+右方數字鍵的秘技嗎?

星期三, 8月 29, 2007

Win32下的Vim設定utf-8後menu變亂碼

最近又開始用vim,其實MadEdit已經很好用,但在我的老舊NB上啟動有點慢。
重裝後又遇到menu中文亂碼問題,今天才看到Dante Mason的解法,加上兩行就解決。
source $VIMRUNTIME/delmenu.vim
language messages zh_TW.utf-8
我的.vimrc設定在 Win32下的Vim編輯器 有寫。

在OSX終端機使用Opendesktop 字型

以前我用Firefly 新宋體的ttf版本做為OSX的終端機字型,也就是設定成AR PL New Sung 16點。我設定iTerm也是用這個字型,看起來比Taipei或Nice Taipei順眼。

昨天手賤換成Opendesktop 字型,發現字型的間距不同,原來寬高都設成1.0即可,再回頭仔細看說明才知道,等寬字改成AR PL New Sung Mono,原來的AR PL New Sung是不等寬字型。原來的fireflysung.ttf,也改成odosung.ttc,格式不同。

在此再度感謝 Firefly 螢火飛 前輩。

星期二, 8月 28, 2007

星期一, 8月 27, 2007

公文真難寫

據說從中華民國9X年開始,"呈"表示對總統有所呈請或報告時使用,因此"呈核"都得改為"陳核"。
但是問題來了,"陳董事長簽",是陳(姓)董事長簽(動詞)一件文,還是陳(動詞)董事長簽呈(名詞)呢?

公文力求清楚,這種改革不合理,公文真難寫呀!

參考資料:
主計法規及其延伸規定第二次工作會議議程
公文寫作與品質
基本公文注意事項

星期五, 8月 24, 2007

無欲則剛

昨天下班回家吃飯時看到重播的犬夜叉,內容是有人假扮彌勒法師到處行騙泡妞,結果是他的朋友八衛門狸,而且泡妞技術比他好得多,所到之處小妞都喜歡他。於是彌勒就向八衛門請教秘訣,八衛門就說:很簡單,就是"無欲則剛"。

當珊瑚質疑彌勒在偷偷討論泡妞的事時,彌勒馬上回說:"你看我這麼莊嚴,怎麼會動歪念頭呢?"


這實在是太經典了,女人都不喜歡色瞇瞇的男人,我輩宅男要切記呀!

星期四, 8月 23, 2007

讓end user感受到新技術的優點

今天有位不懂技術的user告訴我MIS寫的程式跑起來很慢,雖然在下緩頰說asp.net 2.0本來就會慢一點,但user提出一點:新技術就讓帶來更快速的使用感受。

微軟一直在追求快速開發,但是在RAD這塊其實微軟是後進者,也沒有太快的發展。記得PC上最早的RAD是IBM的VisualAge系統,不管是什麼語言,骨子裏是SmallTalk,所以效率也沒太好,但至少是用mouse拖拉和設定就產生一個框架,後來Visual Basic稍微像樣,但也沒有VisualAge那麼強的拖拉功能,後來IBM open source的Eclipse到現在也沒有VisualAge的神奇拖拉功能。

但是在追求快速開發的同時,別忘了使用者感受才是最重要的。上一篇也提到Office 2007和Vista都很慢,這是使用者要的嗎?Asp.Net很神奇沒錯,先不管奇怪的限制與陷阱,開發出來的程式跑得比較慢就被使用者所詬病。MSDN網站改版後有更快嗎?並沒有呀!

在下剛開始接觸jsp時也覺得很好用,開發很快又有物件導向,但後來就發現效能比不上PHP,要調校也需要不少的知識背景。當然隨著jvm和CPU的進步這漸漸不是大問題,但是asp.net的出現,又讓我重新思考這個問題;尤其是asp.net對於細部調整的困難,抵消了快速開發的優勢。

另一個例子是AJAX的流行,不管是Yahoo! Mail還是Live Mail,帶給使用者的感覺只有慢!他們應該想想Gmail為什麼仍保持樸素的介面。AJAX應該用在讓使用者更便捷的地方,而不是追求炫而使用。

朋友說OS X每次改版都更快,因為我使用並沒那麼久並不清楚,但以他20年的電腦使用經驗可相信OS X絕不會更慢,這難道不是微軟應該反省的地方嗎?從asp.net到silverlight,我看到的並不是技術的進步而只有開發者追求新技術的迷思。李登輝說過一句話:民之所欲,皆在我心。這句話應該夾不死比較有資格說,紙鈔之門要再多想想呀!

又一個Vista的負面評價

這次是前微軟員工約耳老大說:Even the Office 2007 box has a learning curve
I've tested Office 2007 extensively, and find it a tolerable replacement for the previous version, although it's extremely frustrating every time I have to spend several minutes finding something that I knew exactly how to find in the previous version. Even though there's no reason to upgrade to Office 2007, if you're setting up a new system, it's just as good as the previous version, even a little better in some places. But Vista is another story.
...
Whenever anyone asks, my advice is to stay with Windows XP.
剛好在下今天試了一下Office 2007測試版中的word,不知道是不是沒裝對應的字型,居然又發生頁面長度不一致的現象。而且我居然完全找不到menu的位置,約耳真是有耐心的人。我最受不了的是硬體需求提高許多,比起Office 2003速度實在差太多了,我個人不想用。至於Vista,我想等到明年出的CPU可能會夠快吧。

CIF Single Chip 萬用的Webcam驅動程式

兩年前買的奇美螢幕送的WebCam一時找不到Driver,型號是C351-A,網路上根本找不到,奇美討論區有人提出,而且客服寄給他的driver還不能用?!

底下有一行小字:Ezonics EZ307,果然有找到這機型,但是到Ezonics下載EZcamiii02.exe還是無法驅動。

再查一下,在XP出現的是CIF Single Chip,用這個關鍵字股溝後找到對岸同胞有相同的問題,使用崴瑞Orite SC-120的driver即可,所以下載sc120.zip就成功驅動。

忠言逆耳

看到商業周刊股市上沖下洗 小豪宅快要被壓垮了,就想起兩年前顏炳立就不建議買小套房,但由於建商炒作和股市一片做多,後來就很少人請顏總上節目。以台灣人的生活型態而言,小套房需求量並不大,顏總說的完全沒錯。錯的是他和鳥毅一樣說話太直。

公司裏喜歡拍馬屁,一點事情做半天假裝很忙,老闆卻很賞識的大有人在;上班效率好提出建議的人會被老闆認為意見太多又不加班,很快就被打入黑名單,忠言逆耳這句話一點都沒錯呀!

星期三, 8月 22, 2007

STL的next_permutation

忘了在哪個站看到,題目是:"把 1、2、3、4、5 的所有排列情形列出",格主說他當時不會用recursive,就用迴圈做出,留言裏有提到STLnext_permutation,今天抽空試了一下多年沒碰的STL
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[] = {1,2,3,4,5};
do
{
cout << a[0] << " " << a[1] <<  " " <<  a[2] <<  " " <<  a[3] <<  " " <<  a[4] <<  endl;
}while (next_permutation(a,a+5));
return 0;
}
果然是很優雅的寫法,看來這演算法也可應用到棋盤的窮舉法呀!

注意:若要走遍所有的排序,next_permutation的輸入必須由小到大排序過,prev_permutation是由大到小排序。所以若使用亂序的陣列做列舉,記得要先排序。

Update:感謝破百的老兵指正。

VC6裏STL的Bug

看到VC6裡STL的超大BUG,馬上就用幾個版本的GCC試,幸好都沒問題。又看到這裏還有一堆VC6的問題,不知道修完了沒?

想起學C++時STL還不成熟,印象中VC4沒有STL,VC6放進STL時GCC2.x也有STL,同樣是bug一堆.... 算了,舊編譯器就丟了吧!只是VC6的使用者比較可憐,升級都有一堆問題,若是大型專案可能得花幾個月做編譯器升級的修改與檢查吧?

不知道為什麼最近都遇到C/C++的主題,前兩天看到一位網友算三角形面積的問題:#include <stdio.h>
#include <stdlib.h>
int main()
{
float height, width, result;
height=26.4;
width=15.3;
result = height*width/2;
printf("%f\n", result);
return 0;
}
為什麼答案是201.960007呢?其實是電腦二進位與十進位轉換所產生的精度問題。若把float改成double就可以解決。#include <stdio.h>
#include <stdlib.h>
int main()
{
double height, width, result;
height=26.4;
width=15.3;
result = height*width/2;
printf("%f\n", result);
return 0;
}
結果就是201.960000。

星期一, 8月 20, 2007

C99沒有overload

JeffHung的Blog看到石頭成的C++和動態語言的泛型有錯,我先想到同名異式應該算是多型(polymorphism)而不是overload,後來想想又不對。

石頭成舉的兩個例子,應該都是C++而不是C的寫法,我用gcc 3.4.6和gcc 4.3.0在多平台都不會過(gcc -std=c99 a.c),必須要用g++編譯。

我看這裏猜想石頭成應該是誤會gcc與g++的分別,g++確實會自動連結某些library,但是g++編譯時都當成C++而不是C,不會管副檔名;而gcc會判斷副檔名是.c還是.cc或.cpp套用不同的compiler,gcc -c a.for會呼叫fortran compiler。

The New ISO Standard for C (C9X)Open source development using C99C99 的 offsetof macro有介紹一些C99的特性,這裏有下載的連結。

I am sorry to say that:C語言從來都不是OOPL呀!

星期三, 8月 15, 2007

JRuby on Rails連SQLServer使用Active Record失敗

裝好JRuby,記得在PATH把JRuby設在前面:
export PATH=/usr/local/jruby/bin:$PATH
set PATH=c:\jruby\bin;%path%
$gem -v
0.9.4
ruby 1.8.6裏的gem是0.9.0,JRuby附的是0.9.4

確定版本沒錯就接著安裝rails
$gem install rails --include-dependencies
$gem install activerecord
$gem install activerecord-jdbc
在我的mac上rails有問題,把 /usr/local/jruby/bin/rails 第一行
#!/usr/local/jruby/bin/jruby
改成
#!/usr/bin/env jruby

再下載SQLServer 2005 JDBC,選unix版,把解開的sqljdbc.jar放到 jruby/lib裏
接下來就可以開始工作,照iThome這個範例
rails bookmarker

剩下的參考JRuby on Rails 安裝方式改config/enviroment.rb和config/database.yml

我是用ruby版的檔案直接修改,發現date錯誤,照JRuby interact with MS SQL Server - JDBC and ActiveRecord-JDBC改jdbc_adapter.rb,結果又出現[#9330] Error connecting to a MSSqlServer database in a rails app.

所以,JRuby想用activerecord-jdbc連SQLServer確定目前不可行,我還是乖乖地用jsp或php寫吧。

忘了說,在XP上jruby連sqlserver的測試程式居然抓到亂碼,在Mac上跑反而正常。

SQL填空遊戲


聯合國網站被駭客入侵 正在修復這篇裏,居然出現"SQL填空遊戲"的名詞,查了一下才知道是這裏看來的,真的被記者打敗了。SQL Injection叫資料隱碼我都覺得不太合適了,若是我命名會叫SQL注射,胡百敬看到這新聞應該要驕傲吧!

星期二, 8月 14, 2007

踏到asp.net的地雷

為什麼沒事會去試Rails呢?因為我踏到asp.net的地雷!在Windows 2000上用ASP.Net 2.0寫個簡單到不行的維護介面遇到 Invalid Viewstate錯誤,找到:
Intermittent Invalid Viewstate Error in ASP.NET Web pages
無效的 Viewstate 間歇性的錯誤在 ASP . NET Web 網頁

官方的解決方法:
1. 調整應用程式集區上設定。
2. 使用特定金鑰 machine.config 中, 以防止在每個處理序啟動時自動產生金鑰
3. 只張貼到相同的 ASPX 頁面
4. 關閉防火牆和防毒軟體
這樣的解決方式,我實在難以接受。因為:
1. 已經調整成獨立集區,沒用。
2. 這有點白痴,我不想做。
3. 原來就是post back到同一頁。
4. 關閉防毒軟體請恕我做不到,Windows實在太容易中毒。
5. 以上訊息是針對asp.net 1.1,不見得適用asp.net 2.0。

我仔細想想,會不會是Ajax.asp.net造成的?還是Windows 2000 Server造成的,但另一台Windows 2000 Server掛一堆服務都沒事。所以,我打算找個Open Source的solution,至少出問題時我能trace server呀!

XP環境Ruby on Rails使用SQL Server中文亂碼

在Windows XP使用Ruby on Rails連接SQL Server中文會有問題,目前解決big5字元部份,網頁仍以UTF-8顯示。
  1. 依照官方文件HowtoConnectToMicrosoftSQLServer安裝ADO及設置database.yml。
  2. rake migrate後連到SQL Server手動把varchar改成nvarchar。(直接改sqlserver_adapter.rb並沒用)
  3. 這裏所說,在environment.rb加上
    require 'win32ole'
    WIN32OLE.codepage = WIN32OLE::CP_UTF8
我並未考慮把頁面改成big5,那樣能夠使用的字元太少,其他的解決方式都太過麻煩。而無法顯示堃、粦、嬑等字應該是因為Windows的code page並不是UTF8而是CP950導致(因為可使用碁)。

這樣仍未完全解決問題,在production環境還是會掛,另一個方法是改用jRuby搭配JDBC,有空再試。

星期四, 8月 09, 2007

快速開發的雙面劍

今天VB超人馬上把他的KM元件升級,做出Firefox相容的viewer,鳥毅對他一向只支援IE頗有微詞,沒想到他半天就搞出AJAX版viewer,而且還是純手工打造,讓在下配服得五體投地。

不過,下午就發現因為他的後台元件也升級,鳥毅借用他元件開發的另一個程式又掛了!幸好只有一個user,鳥毅重新連結元件編譯後丟上server就好。

這件事告訴我們:
  1. 強的人就是強呀!我在高手不需明說提過,“When a programmer is good, he is very, very good. But when he is bad, he is horrid.”
  2. 管理與規劃很重要。小公司就算了,若是某大醫院系統像這樣搞,鳥毅大概得遞辭呈了。(某大醫院的DBA不知走了沒)

我也想唸資工系

剛才看到William大師的錄取總分「有九成都是 50 分以上」的大學,才知道這兩天沒看新聞實在是錯了。

立德管理學院資訊工程系最低錄取總分為 20.36,稻江資科的 18.47 分。這種小數點下兩位的分數是如何計算出來的?不管怎麼說,就算是平均分數,鳥毅也有把握考上資工系,呵~
我承認,大學和研究所我都只考平均50分,但總分50分,OK啦!

其實大學生素質幾年前就開始爛了,前幾年和指導教授吃飯時,他就表示學生不再自動自發,有些人連抄作業都懶。記得多年前在某間大學唸書時,周和平教授說過,討海人要能解決問題,作弊不被抓到也OK。我想他的意思是,對於連作弊都懶的學生,大概也沒什麼好說的,就直接讓他1/2吧。

以後如果再有人說鳥毅不是本科系,嘿,我就去再唸個資工系封他們的嘴吧!

星期三, 8月 08, 2007

ROR的安全性

雖然只有照ROR教學試過一次,要客制化時就踏到鐵板,但若只是想寫個公司內部的DB編輯頁面,例如後台編輯等,ActiveRecord的ORM實在是快到不行呀!熟ROR的人應該比使用VS2005的精靈拉畫面還快吧!

剛才看到
以 ROR 打造網站,設計盲點所引發的惡搞危機
現在用 RoR 開發上線網站 OK 嗎?

看了以上這兩篇,還是只有滿滿的Orz呀!Twitter居然有這麼大的問題,另一個好奇的問題:Twitter時常當機,與ROR有關嗎?

『致富懶人包』讀後感

雖然用電腦十幾年,但仍然喜歡紙本的感覺,去博客來買這本書也算是回饋楚狂人分享。可惜太晚看他的書和blog,已經在回整前忍不住下單。

楚狂人說出別人不敢說的話,看『富爸爸,窮爸爸』和『鄭弘儀教你投資致富』都沒有提到的重點,全都在黃書楷這本書裏說出來。例如對理財專員的看法,對基金的說明等等,都是一般理財入門書絕不會提的。他的專業度真是沒話說,鳥毅也相信楚狂人沒有藏私,也不必藏私,他的判斷能力和直覺、習慣等絕不是別人學得來的。看了後就明白公司裏的菜籃族媽媽這幾年能賺不少錢是因為大多頭,等到像2000年時的大空頭再度來臨,就輪到她們呼天喊地。

小吐槽一下,楚狂人在自我介紹寫說:
我只愛自由不愛財富,但是不巧的是財富決定自由,所以我只好追求財富。
一般人沒有辦法每天投注那麼多的心力去分析、瞭解各種線型走勢。楚狂人除了本身從事金融業,更在字裏行間透露出以賺錢為樂,這絕對不是為了追求自由所能達到的境界。

因為『腦袋決定口袋,口袋決定自由』,所以鳥毅為了自由也不得不開始注意民生問題,但看了『致富懶人包』後,瞭解自己的屬性,也只能不要虧太多而已。每個人對生活的要求不同,要對付物價上漲財產縮水,當月光族宅男似乎也是種選擇呀:P

星期五, 8月 03, 2007

今日連結

又是UI的大麻煩
與我心有戚戚焉

專業之死

網路辭典

判斷某月某日的大小介於關係
做夢也沒想到可以這麼做,我果然沒天份寫程式 Orz

Vista的Ready Boost

這兩天裝了一台Vista測試機,因為只有512MB,跑起來有如神龜,真不是普通的慢。

昨天終於受不了,跑去買威剛 2G隨身碟 PD7,為什麼買這支呢?因為
  • 讀取速度高達200X!
  • 讀寫效能達30MB/Sec(R)、20MB/Sec(W)
  • 支援Windows Vista ReadyBoost功能
  • 比起創X的同級產品少了40%的價格。
在別家網拍都賣一千左右,這間特價還可刷卡,所以昨天晚上就殺到Nova買一支。今天插上usb選擇要用來系統加速後,一開始還顯示無法使用!按下重新偵測才可以使用。效果呢...感覺到變快一點,畢竟不是真的加RAM,但已經明顯感覺到差別,但還是遠慢於XP/2003。所以結論是:
  1. 想要用Vista,RAM至少要1G,2G不嫌多。
  2. 有錢要加速Vista,先買RAM,沒辦法加RAM時,可以試試Ready Boost。
  3. 沒事不要用Vista。
強制啟動ReadyBoost的方法:(出處)
  1. Plug in the device.
  2. Open the Readyboost tab on the device properties.
  3. Select "Do not retest this device"
  4. Unplug the device
  5. Open regedit (start->run->regedit)
  6. Expand - HKLM (Local Machine)\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDgmt
  7. Find your device.
  8. Change Device Status to 2
  9. Change ReadSpeedKBs to 1000
  10. Change WriteSpeedKBs to 1000
  11. Plug in the device.
  12. Enable Readyboost!!!!
  1. 插入外接硬碟
  2. 某槽按右鍵選內容,選ReadyBoost
  3. 將 停止再次測試 打勾 (我有特地開一槽4G)
  4. 把外接碟拔掉
  5. 執行 regedit
  6. 打開上述位置
  7. 找到要開RB的槽 (請先針對該碟輸入標籤會比較好找, 因為會有亂碼, 例如我的碟是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt\쬺쬺ReadyBoost_3231409381)
  8. 將DeviceStatus改成2
  9. 改ReadSpeedKBs成1000 (十進位)
  10. 改WriteSpeedKBs成1000 (十進位)
  11. 插入外接硬碟
  12. 12. 打開ReadyBoost (最大4090)
以下是網路上的消息,台灣微軟居然沒有ReadyBoost的網頁?
美國微軟ReadyBoost
湯姆大叔評測 ReadyBoost
Matt Ayers寫的ReadyBoost Q&A(對岸朋友的翻譯)重點在
Remember, we're not adding memory, we're improving disk access.
史萊姆論壇的教學 - 用ReadyBoost為Windows Vista提速

馬路如虎口

今天早上坐公車上班時,經過某高職路口司機忽然按喇叭,接著馬上急踩煞車,在還來不及意會之際就碰的一聲,整台車震動一下。

司機連忙熄火衝下車,隔了約30秒回來請大家下車。下車後看到一位女學生倒在車前,看來是女學生衝太快,司機又搶黃燈。大型車輛的視線死角很多,行人要多小心。其實我嚇得說不出話,回想起大一時同學騎機車過彎加速,不幸罹難在校園旁的慘劇,也是搶快沒注意。

馬路如虎口,無論是駕駛或行人都要小心,尤其是行人更要多注意。

星期四, 8月 02, 2007

奇摩學聰明了

今天收到一封信,標題為:"帳號整合即將開始囉!"
無名小站與Yahoo!奇摩將於2007年9月3日起開始進行帳號整合。
重點在於帳號整合的方法終於對了,先登入奇摩,再登入無名,只要把無名的登入頁換成Yahoo domain,檢查Cookie就知道此無名帳號對應到哪個奇摩帳號~

但是case4的情況真的需要嗎?真是給他Orz。

好用的ImageMagick

以前想不花錢做圖檔轉換都得用GDLibTIFF、Ghostscript這些工具。
今天為了轉pdf,發現這幾年出現ImageMagick這個好東西,不止有command line tool,也有API供程式呼叫。

以前tiff轉pdf:
tiff2ps -2 -e -s IMAGE.tif >IMAGE.tif.eps
ps2pdf IMAGE.tif.eps IMAGE.pdf
ImageMagick tiff轉pdf:
convert IMAGE.tif IMAGE.pdf
更重要的一點是ImageMagick預設直援多頁tiff,也可以縮圖、加浮水印等等,難怪現在用php寫程式的人都改用ImageMagick而不用GD

星期三, 8月 01, 2007

FreeBSD桌面輸給Linux

前幾天看到Leeym說Yahoo總部已經換成Linux桌面,剛又看到舊聞甲骨文取代紅帽 搶得雅虎Linux商機,原來連愛用FreeBSD的Yahoo都不用FreeBSD當桌面,實在是整個Orz。

不過我為了能夠好好跑Java,也是在NB裝Ubuntu而不是FreeBSD,看來只有像朋友Dustin這種高手,才有辦法用FreeBSD當桌面呀!

Update:原來Yahoo在2006年已經決定全面轉移到Linux,只是時間早晚問題。