在電子報上,看到龍應台的一篇文章:「自首報告:路走得寬闊,人顯得從容」。
很難形容看過以後錯綜複雜的整體感覺。或許,印象比較深的感覺就是「現實是很複雜的」。多複雜?一個例子是龍應台說的「道德不能處理法律問題,法律又不能處理政治問題」,而現實卻又不僅僅是道德、法律與政治問題。
有時想想,對一個人的了解不多,卻讓媒體新聞的炒作評論來帶領自己對政治人物的觀感,實在是件頗為悲哀(悲傷痛苦)的事。雖然看膩了、聽多了,也習慣不把它們當作一回事。但是,這些媒體評論來來去去,除了激發各個陣營「自以為是」的片面觀感,卻似乎很少能提升民眾對於「民主」、「法治」、或者「道德」的認知,這樣是否類似於「在原地空轉」,以致「太浪費社會整體資源」了呢?
很喜歡文章中所說的:「白老鼠走不出他的迷宮隧道,因為他自始至終在迷宮隧道裡打轉,沒有高度,就無法綜觀全局,看見出口」。沒有提升到一定的高度,就不容易找到出口(或者問題的解答)。
因此,就像文章所說,真正的問題應該是:「我們眼光的高度要放在哪裡,才能在複雜混亂中看見出口?」看待紛亂的的社會,應該從這樣的角度著手;而即使範圍縮小,思考公司、實驗室、乃至於個人的的研究與發展,似乎也應如是。
星期六, 2月 03, 2007
在實驗室會議,談系統整合
實驗室在星期三,舉行了一場從早到晚的會議。
原本項老師是希望讓所有的實驗室成員,各自報告其進度與展望。可是老師一開口談 THDL,就花了一個半小時。接下來學妹和我說明彼此對 THDL 的一些想法,又花了差不多兩小時。
我的投影片內容應該不算多。比較起爭議的是在於,我覺得「系統整合」是一項吃力又不討好的工作(學術價值低、必須遷就現實環境的限制、還必須顧及上下游的支援),因此需要採用「軟體工程」的觀念與做法。
然而,項老師還是從「理論」的角度去看系統 -- 他似乎以為,只要有好的理論,系統就有好的基礎,於是「自然」就能夠有好的實作。殊不知,對於一個頗具複雜性的系統而言,這個「自然」一點也不自然。若希望 THDL 在長久的研究發展後有一套不錯的實用系統,就應該特別的關注系統開發的一些問題;否則弄出來的東西,必然無法應付實際面的各類複雜問題、必然是會出狀況(尤其是在系統維護 -- 包含系統升級與擴充 -- 方面)。
雖然自己對於軟體工程,懂的也實在不多,但最近已能 appreciate 其認知的觀點與許多對應的做法(我還是會對其中許多「假科學」的作法持保留的態度,但這些並不妨礙軟體工程的重要性)。軟體工程並不能給你一個「最好的標準答案」,但是它會告訴你一些軟體的特質、以及開發軟體所不能忽略的事情,而我們也必須從中選擇、嘗試、尋找最符合自己(團對)的開發方式。
我猜想,一個人能夠開發出一套好軟體,或許也是因為他自己就已經「有自己的一套軟體工程思維」,有自己對待寫程式、模組化、除錯、乃至於後續維護的看法與做法。但是,當研究的時程拉長、開發的人數增加,在流動的人員之間,就應該有較為一致的軟體工程角度,才能順利地進行系統開發與維護。
沒有能夠說服項老師,是預料中事。然而,沒有能夠讓他更加認同「系統整合」的重要性,則多少表示自己的報告「還是沒有能夠切入要害」。不過,我還是覺得,只要有努力嘗試,就會有希望。
原本項老師是希望讓所有的實驗室成員,各自報告其進度與展望。可是老師一開口談 THDL,就花了一個半小時。接下來學妹和我說明彼此對 THDL 的一些想法,又花了差不多兩小時。
我的投影片內容應該不算多。比較起爭議的是在於,我覺得「系統整合」是一項吃力又不討好的工作(學術價值低、必須遷就現實環境的限制、還必須顧及上下游的支援),因此需要採用「軟體工程」的觀念與做法。
然而,項老師還是從「理論」的角度去看系統 -- 他似乎以為,只要有好的理論,系統就有好的基礎,於是「自然」就能夠有好的實作。殊不知,對於一個頗具複雜性的系統而言,這個「自然」一點也不自然。若希望 THDL 在長久的研究發展後有一套不錯的實用系統,就應該特別的關注系統開發的一些問題;否則弄出來的東西,必然無法應付實際面的各類複雜問題、必然是會出狀況(尤其是在系統維護 -- 包含系統升級與擴充 -- 方面)。
雖然自己對於軟體工程,懂的也實在不多,但最近已能 appreciate 其認知的觀點與許多對應的做法(我還是會對其中許多「假科學」的作法持保留的態度,但這些並不妨礙軟體工程的重要性)。軟體工程並不能給你一個「最好的標準答案」,但是它會告訴你一些軟體的特質、以及開發軟體所不能忽略的事情,而我們也必須從中選擇、嘗試、尋找最符合自己(團對)的開發方式。
我猜想,一個人能夠開發出一套好軟體,或許也是因為他自己就已經「有自己的一套軟體工程思維」,有自己對待寫程式、模組化、除錯、乃至於後續維護的看法與做法。但是,當研究的時程拉長、開發的人數增加,在流動的人員之間,就應該有較為一致的軟體工程角度,才能順利地進行系統開發與維護。
沒有能夠說服項老師,是預料中事。然而,沒有能夠讓他更加認同「系統整合」的重要性,則多少表示自己的報告「還是沒有能夠切入要害」。不過,我還是覺得,只要有努力嘗試,就會有希望。
星期一, 1月 29, 2007
星期五, 1月 26, 2007
需要有網路版中文參考資訊
覺得網路上的中文參考資訊,在品質、數量、組織、以及檢索方式上,都有很大的進步空間。
首先,是自己的一些經驗。我寫 blog 有一個附加的目的,就是希望藉著寫些文字,來訓練自己在語文寫作與表達上的能力。既然 blog 是透過電腦與網路輸入的,想找參考資訊當然是先透過網際網路搜尋。問題來了,我竟然找不到多少「經過組織、質好量多」的參考資訊。
最近常用的,就是教育部的國語辭典了。坦白說,我覺得這部辭典在內容品質、解說範例、以及相關連結上,都仍有相當大的進步空間。可是,網路上好像就只有這部國語辭典可用,於是就只能妥協了。
此外,即使教育部已經在網路上提供「國語辭典」與「成語典」,貓還是覺得,我們可以在網路上編一部「常用成語說明」,提供更豐富的說明、範例、相關連結、以及檢索方式。
Wiki 模式的成功,證明了網路可以匯集有心人的力量,來提供有質有量的資訊。貓和 Ankh 都覺得可以依循 Wiki 模式來建構好的辭典。學弟永倫也認為可以利用 Wiki 來分享課堂上的筆記,他認為這類的資訊分享,應該應該有助於台灣的教育。
那麼,如果要建構這樣的系統、提供所需的功能與資訊,現在缺的是什麼呢?
我想,在欠缺制度與規模的現況下,需要的應該是有心人士的分工合作,以及長時間且持續地投入吧。
----------------------- 題外話 -----------------------
對於前些時日我們的教育部長語出驚人,說『成語這個東西會讓人思想懶惰、頭腦昏鈍、一知半解』,但我寧可相信他是在「硬拗」,是為了替自己先前的失言辯解(卻不幸越描越黑)。
我覺得,成語在表達與溝通上是很重要的。成語用得適切,對文章常有畫龍點睛(比喻繪畫、作文時在最重要之處加上一筆,使全體更加生動傳神)之效。
首先,是自己的一些經驗。我寫 blog 有一個附加的目的,就是希望藉著寫些文字,來訓練自己在語文寫作與表達上的能力。既然 blog 是透過電腦與網路輸入的,想找參考資訊當然是先透過網際網路搜尋。問題來了,我竟然找不到多少「經過組織、質好量多」的參考資訊。
最近常用的,就是教育部的國語辭典了。坦白說,我覺得這部辭典在內容品質、解說範例、以及相關連結上,都仍有相當大的進步空間。可是,網路上好像就只有這部國語辭典可用,於是就只能妥協了。
此外,即使教育部已經在網路上提供「國語辭典」與「成語典」,貓還是覺得,我們可以在網路上編一部「常用成語說明」,提供更豐富的說明、範例、相關連結、以及檢索方式。
Wiki 模式的成功,證明了網路可以匯集有心人的力量,來提供有質有量的資訊。貓和 Ankh 都覺得可以依循 Wiki 模式來建構好的辭典。學弟永倫也認為可以利用 Wiki 來分享課堂上的筆記,他認為這類的資訊分享,應該應該有助於台灣的教育。
那麼,如果要建構這樣的系統、提供所需的功能與資訊,現在缺的是什麼呢?
我想,在欠缺制度與規模的現況下,需要的應該是有心人士的分工合作,以及長時間且持續地投入吧。
對於前些時日我們的教育部長語出驚人,說『成語這個東西會讓人思想懶惰、頭腦昏鈍、一知半解』,但我寧可相信他是在「硬拗」,是為了替自己先前的失言辯解(卻不幸越描越黑)。
我覺得,成語在表達與溝通上是很重要的。成語用得適切,對文章常有畫龍點睛(比喻繪畫、作文時在最重要之處加上一筆,使全體更加生動傳神)之效。
星期一, 1月 22, 2007
又見 Blogger 的問題
Blogger 很早就在控制主頁裡拿掉 Beta 字眼,推出「號稱通過測試」的正式版。

不過呢,最近他們不知道出了什麼狀況,導致伺服器經常無法提供服務。
我上週五才寫說,第一次看到 Blogger 正式版的錯誤頁面。接下來,貓在他的 Blog 裡,就訴說他因手癢,將 Blog 的內容「轉換」了一下(他沒有說是轉換什麼,大概是 character encoding 吧),結果導致亂碼的故事。
而今天早上,我又遇到另一次 Blogger 的 server error。這次是發生在欲將寫好的回應上傳時:

嗯,即使是 Google 這般有錢有勢有人才的大公司,推出的產品也不見得問題就會比別人少很多。當然啦,或許 Blogger 和其他提供網誌(部落格)服務的網站之間,最大的差異是在於使用者的數量,但... 這不也正是 Google 的強項嗎?
先前在 Blogger Beta 時,我也曾手癢按下一個「轉換網頁」的按鈕,不過每次得到的訊息都是「頁面轉換失敗」。這回貓實驗後的結果,似乎是可以「轉換成功」,但部分內容卻變成亂碼。
我這回雖然沒有手癢去轉換,但... 也還是會遇到一些亂碼問題。例如,這篇 post 的回應者「被掛掉的阿尼」就會變成亂碼「被ææçé¿å°¼」;但同樣的中文名稱,在這篇 post卻可以正確顯示出來。
我不禁又想起半年前曾抱怨, Gmail 傳送中文內容,根本就不顧及信件接收者所使用的 mail client 特性,導致我收到的 Gmail 中文內容,每次都得手動轉碼才能正確顯示。
感覺起來,Google 在中文的處理上,不是經驗與努力不夠、測試的涵蓋面不足,就是從基本面上,根本就忽略了台灣人「過去經常使用」的 big5 編碼。

不過呢,最近他們不知道出了什麼狀況,導致伺服器經常無法提供服務。
我上週五才寫說,第一次看到 Blogger 正式版的錯誤頁面。接下來,貓在他的 Blog 裡,就訴說他因手癢,將 Blog 的內容「轉換」了一下(他沒有說是轉換什麼,大概是 character encoding 吧),結果導致亂碼的故事。
而今天早上,我又遇到另一次 Blogger 的 server error。這次是發生在欲將寫好的回應上傳時:

嗯,即使是 Google 這般有錢有勢有人才的大公司,推出的產品也不見得問題就會比別人少很多。當然啦,或許 Blogger 和其他提供網誌(部落格)服務的網站之間,最大的差異是在於使用者的數量,但... 這不也正是 Google 的強項嗎?
先前在 Blogger Beta 時,我也曾手癢按下一個「轉換網頁」的按鈕,不過每次得到的訊息都是「頁面轉換失敗」。這回貓實驗後的結果,似乎是可以「轉換成功」,但部分內容卻變成亂碼。
我這回雖然沒有手癢去轉換,但... 也還是會遇到一些亂碼問題。例如,這篇 post 的回應者「被掛掉的阿尼」就會變成亂碼「被ææçé¿å°¼」;但同樣的中文名稱,在這篇 post卻可以正確顯示出來。
我不禁又想起半年前曾抱怨, Gmail 傳送中文內容,根本就不顧及信件接收者所使用的 mail client 特性,導致我收到的 Gmail 中文內容,每次都得手動轉碼才能正確顯示。
感覺起來,Google 在中文的處理上,不是經驗與努力不夠、測試的涵蓋面不足,就是從基本面上,根本就忽略了台灣人「過去經常使用」的 big5 編碼。
星期五, 1月 19, 2007
工作上的肯定與鼓勵
書上說,黑格爾 (Hegel) 認為,人都有對他人肯定的依賴。
自從項老師擔任行政職務後,除了每週固定的實驗室會議,很少能在系館或實驗室見到他。不過,昨天與今天早上、還有今天下午,他「竟然」三度到訪實驗室。(昨天早上實驗室裡有兩個人,但今天就只有我一個。項老師還問說,這些小朋友們是不是很少到實驗室呢。)
前些時日項老師承諾,要看過並修改我寫的論文。昨天早上,他問了我一些論文中的語句,問我想表達的意思是什麼,他好根據我的原意重寫那些英文句子。
今天早上,他告訴我:「我覺得你們的系統做得很好」。「什麼系統?」我問道,一時之間會不過意來。他說,「就是你們那些 version 0.85、0.86 的系統啊」。
喔,原來是 THDL 的 prototype system 啊。如果我沒有記錯,這可是他第一次持肯定的語氣,稱讚這個「瑣碎問題叢生、費力費時」的系統呢。
有沒有搞錯啊,都已經四十歲了,還在乎、需要他人的肯定?
嗯... 我應該是沒有「那麼在乎」啦,但似乎也還是希望能獲得一些「關愛的眼神」。此外,從人性管理的角度來說,適時的鼓勵也應該能產生正面的效果。因此,我選擇這樣的回答:「謝謝。大家都很需要老師的鼓勵呢。」
對我來說,雖然最近對 THDL prototype 的熱忱與關心已漸漸淡去,但聽到項老師這「不知算不算遲來的」肯定,也真讓自己感到些許「終於有人識貨」的成就感。
或許,就如黑格爾所言,人都渴望得到他人的認同、肯定、支持、鼓勵、以及稱讚吧。
自從項老師擔任行政職務後,除了每週固定的實驗室會議,很少能在系館或實驗室見到他。不過,昨天與今天早上、還有今天下午,他「竟然」三度到訪實驗室。(昨天早上實驗室裡有兩個人,但今天就只有我一個。項老師還問說,這些小朋友們是不是很少到實驗室呢。)
前些時日項老師承諾,要看過並修改我寫的論文。昨天早上,他問了我一些論文中的語句,問我想表達的意思是什麼,他好根據我的原意重寫那些英文句子。
今天早上,他告訴我:「我覺得你們的系統做得很好」。「什麼系統?」我問道,一時之間會不過意來。他說,「就是你們那些 version 0.85、0.86 的系統啊」。
喔,原來是 THDL 的 prototype system 啊。如果我沒有記錯,這可是他第一次持肯定的語氣,稱讚這個「瑣碎問題叢生、費力費時」的系統呢。
有沒有搞錯啊,都已經四十歲了,還在乎、需要他人的肯定?
嗯... 我應該是沒有「那麼在乎」啦,但似乎也還是希望能獲得一些「關愛的眼神」。此外,從人性管理的角度來說,適時的鼓勵也應該能產生正面的效果。因此,我選擇這樣的回答:「謝謝。大家都很需要老師的鼓勵呢。」
對我來說,雖然最近對 THDL prototype 的熱忱與關心已漸漸淡去,但聽到項老師這「不知算不算遲來的」肯定,也真讓自己感到些許「終於有人識貨」的成就感。
或許,就如黑格爾所言,人都渴望得到他人的認同、肯定、支持、鼓勵、以及稱讚吧。
Blogger 的 Server Errors
星期三, 1月 17, 2007
小傢伙的畫作:塗鴉
還沒有讓小傢伙上幼稚園。
雖然心裡有時也會有些擔心,沒有讓她早些接觸、接受社會規範下的教育,會不會妨礙到她未來的「競爭力」;但我隱隱覺得,在「接受比較正規的」教學前,小朋友是最天真可愛、最有自己想法與創意的。
所以,還是讓她去「雲門」學律動(就是讓她以運動肢體的方式玩),去「蘇荷」學畫畫(其實是去玩、讓她覺得畫畫很好玩)。
小朋友經常是需要鼓勵的。而我們這個小傢伙的個性,其實是很保守、很不願意嘗試新奇(因為很容易失敗或受到挫折)的事物,因此就更需要大人們(尤其是家長)的鼓勵。最近,她顯得相當喜歡畫畫。我有一次問她為什麼,她說:「因為你們說,我怎麼畫都很漂亮啊」。
比起我這個「什麼都不會」的老爸,她的畫作當然是充滿童心、創意十足。




上面這幾張圖,是小傢伙上個月的塗鴉之作。專家們可能會覺得這樣的童畫相當平凡;但或許是因為「敝帚自珍」的緣故,我倒是頗喜歡這些作品。將它們拍下來,作為她成長的紀念,回味起來也經常令人有股難言的感動。
雖然心裡有時也會有些擔心,沒有讓她早些接觸、接受社會規範下的教育,會不會妨礙到她未來的「競爭力」;但我隱隱覺得,在「接受比較正規的」教學前,小朋友是最天真可愛、最有自己想法與創意的。
所以,還是讓她去「雲門」學律動(就是讓她以運動肢體的方式玩),去「蘇荷」學畫畫(其實是去玩、讓她覺得畫畫很好玩)。
小朋友經常是需要鼓勵的。而我們這個小傢伙的個性,其實是很保守、很不願意嘗試新奇(因為很容易失敗或受到挫折)的事物,因此就更需要大人們(尤其是家長)的鼓勵。最近,她顯得相當喜歡畫畫。我有一次問她為什麼,她說:「因為你們說,我怎麼畫都很漂亮啊」。
比起我這個「什麼都不會」的老爸,她的畫作當然是充滿童心、創意十足。




上面這幾張圖,是小傢伙上個月的塗鴉之作。專家們可能會覺得這樣的童畫相當平凡;但或許是因為「敝帚自珍」的緣故,我倒是頗喜歡這些作品。將它們拍下來,作為她成長的紀念,回味起來也經常令人有股難言的感動。
星期日, 1月 14, 2007
又見學術抄襲
在中時電子報上,看到台大有醫生的論文,因抄襲而被退稿。
坦白說,我現在是頗敬佩那些真有學術貢獻的學者。不是那些「每年可以生產上百篇垃圾論文」的學者,而是真有深厚學術根底、有創新的想法,又能付諸實現的那些人。
一個很重要的原因是,我發覺自己幾乎生產不出什麼像樣的學術論文。感覺起來,如果沒有與他人合作、沒有掛名,一年能夠寫出一兩篇「像樣的論文」就很不容易了。
然而,現在學術競爭激烈,因此為了「求生存」(我不知道「求高升」是否更合適 ...),教授們通常需要利用論文數量來彼此傾軋。但是,那有那麼多出色的人,能夠既有學術見地、又能撰寫出好論文、而且還能大量生產?
於是,即使是國科會主委、即使是台大醫院副院長(唉,兩人還都是中研院的院士耶),也都會利用「論文掛名」來競取權位。
雖說現實的競爭、乃至於利用假科學來評比績效,是相當大的推手。但我覺得「學者的學術倫理」,或許是更深層、更重要的問題。台大醫院的會議結論也妙:「傾向認定這事件是『無心之過』而非『惡意抄襲』,但考量到台大是台灣學術界表率,應該有更高標準 ...」
「無心之過」(非故意所造成的過錯)?聽起來論文的內容和別人一樣,就像是隨意走在路上,不小心「撞衫」 -- 碰到別人「也穿同樣的衣服」。真搞不懂,究竟是與會人士個個自危,還是他們太鄉愿了啊?
註:鄉愿 的意思是「外貌忠厚老實、討人喜歡,實際上卻不能明辨是非的人」。語出論語陽貨篇:「子曰:鄉原,德之賊也。」
坦白說,我現在是頗敬佩那些真有學術貢獻的學者。不是那些「每年可以生產上百篇垃圾論文」的學者,而是真有深厚學術根底、有創新的想法,又能付諸實現的那些人。
一個很重要的原因是,我發覺自己幾乎生產不出什麼像樣的學術論文。感覺起來,如果沒有與他人合作、沒有掛名,一年能夠寫出一兩篇「像樣的論文」就很不容易了。
然而,現在學術競爭激烈,因此為了「求生存」(我不知道「求高升」是否更合適 ...),教授們通常需要利用論文數量來彼此傾軋。但是,那有那麼多出色的人,能夠既有學術見地、又能撰寫出好論文、而且還能大量生產?
於是,即使是國科會主委、即使是台大醫院副院長(唉,兩人還都是中研院的院士耶),也都會利用「論文掛名」來競取權位。
雖說現實的競爭、乃至於利用假科學來評比績效,是相當大的推手。但我覺得「學者的學術倫理」,或許是更深層、更重要的問題。台大醫院的會議結論也妙:「傾向認定這事件是『無心之過』而非『惡意抄襲』,但考量到台大是台灣學術界表率,應該有更高標準 ...」
「無心之過」(非故意所造成的過錯)?聽起來論文的內容和別人一樣,就像是隨意走在路上,不小心「撞衫」 -- 碰到別人「也穿同樣的衣服」。真搞不懂,究竟是與會人士個個自危,還是他們太鄉愿了啊?
註:鄉愿 的意思是「外貌忠厚老實、討人喜歡,實際上卻不能明辨是非的人」。語出論語陽貨篇:「子曰:鄉原,德之賊也。」
星期三, 1月 10, 2007
改用 Yahoo! 的一些感想
大約一個多月前心血來潮,改用 Yahoo! 來作為預設的搜尋引擎。
忘記是什麼原因了。現在回想,很可能是因為使用 Google 已有頗長的時間,想要看看其他搜尋引擎是否有所長進。
結果還頗令我感到訝異。我發覺,Yahoo! 在中文搜尋方面,似乎已漸漸逼近 Google;有時 Yahoo! 的表現甚至比 Google 更好。例如,在中文搜尋的服務上,Yahoo! 比 Google 還要早提供「Related Search」的功能(例如,輸入『王建民』後,網頁最下方會有群組顯示「王建民桌布」、「王建民官方網站」、「王建民公仔」等),而這些群組的效果也相當不錯。
然而,或許是因為習慣簡潔的 Google 式 page layout,我對 Yahoo! 搜尋引擎的使用者介面倒是頗有意見。
首先,點選任一個搜尋結果的 hyperlink 後,Yahoo! 會開啟另一個新視窗來顯示那個網頁內容。我喜歡簡潔些、並不喜歡開啟一大堆視窗(即使是開啟在分頁的 tabs 中)。不過,Yahoo! 在約半個月前在 UI 上有了些調整,可以讓使用者選擇將連結內容開啟在原來的視窗或新視窗內,算是有照顧到使用者的使用習慣。
令我不解的是,Yahoo! 竟然常把「廣告連結」當作搜尋的前三筆資料呈現(雖然它有用淺藍色的底色做區隔,但佔據的版面位置相當於搜尋結果的前三筆)。我覺得 Yahoo! 在搜尋技術與市場上,應該還是落後 Google 的,怎麼會為了討好廣告商,而讓使用者必須「多花些力氣來跳過這些廣告連結」呢?
忘記是什麼原因了。現在回想,很可能是因為使用 Google 已有頗長的時間,想要看看其他搜尋引擎是否有所長進。
結果還頗令我感到訝異。我發覺,Yahoo! 在中文搜尋方面,似乎已漸漸逼近 Google;有時 Yahoo! 的表現甚至比 Google 更好。例如,在中文搜尋的服務上,Yahoo! 比 Google 還要早提供「Related Search」的功能(例如,輸入『王建民』後,網頁最下方會有群組顯示「王建民桌布」、「王建民官方網站」、「王建民公仔」等),而這些群組的效果也相當不錯。
然而,或許是因為習慣簡潔的 Google 式 page layout,我對 Yahoo! 搜尋引擎的使用者介面倒是頗有意見。
首先,點選任一個搜尋結果的 hyperlink 後,Yahoo! 會開啟另一個新視窗來顯示那個網頁內容。我喜歡簡潔些、並不喜歡開啟一大堆視窗(即使是開啟在分頁的 tabs 中)。不過,Yahoo! 在約半個月前在 UI 上有了些調整,可以讓使用者選擇將連結內容開啟在原來的視窗或新視窗內,算是有照顧到使用者的使用習慣。
令我不解的是,Yahoo! 竟然常把「廣告連結」當作搜尋的前三筆資料呈現(雖然它有用淺藍色的底色做區隔,但佔據的版面位置相當於搜尋結果的前三筆)。我覺得 Yahoo! 在搜尋技術與市場上,應該還是落後 Google 的,怎麼會為了討好廣告商,而讓使用者必須「多花些力氣來跳過這些廣告連結」呢?
星期六, 1月 06, 2007
雜記:幾件感興趣的事
這一陣子,有幾件令自己還頗感興趣的事:
後記:我弄錯了,永倫是「資訊系」,非「數學系」的學弟。
- 很久以前,曾經 post 了一篇關於 pi 的小數計算程式。一個相當出色的
數學系資訊系學弟(藍永倫,他有個網站在這兒),在前些日子的實驗室會議裡,曾大略講述那個程式背後所用到的數學原理。
- 最近一直忙忙碌碌,被各類「比較有時間急迫性」的瑣事佔據時間,沒有能夠深入地了解(或直接向這位學弟請教)運算式推導程與實作考量。偶而想起來,還是會覺得有些可惜。
- MPH 在幾天前的 post 中,提到「人物專訪產生器」。我也上去玩了一下,對這樣的程式頗感興趣。感興趣的原因,是覺得演算法應該不複雜(大致上,應該就是樣版套用、字串比對與取代 -- 雖然要做得更好,就不是那麼容易),但效果卻頗突出。
- 事實上,我覺得背後隱隱還有「人的閱讀方式與文字魅力」這樣的大道理在,但可惜自己並沒有足夠能力來深究。如果有時間,自己是頗想寫一個這樣的程式來玩玩。
- 覺得實驗室在理論與實際間的取捨饒富趣味。項老師的理論背景非常強,但卻一直希望實驗室能夠做出一些「實際有用的系統」。
- 有趣的地方是,即使這樣的企圖已經持續了十年,即使實驗室有著優秀的資訊人才、即使實驗室在經費上一直供應無缺,但... 在陳必衷的「蝴蝶生態面面觀」之後,似乎就沒有生產出什麼像樣些的系統。(我覺得它至今也依然像是實驗性質的系統:許多蝴蝶只有圖檔與名稱,沒有更深入的介紹。)
- 我目前是認為,許多開發效率上的問題,應該與流程有頗大的關係。而思考、感受理論與實際間的差異、並參考軟體工程的理念,一直都是我相當感興趣的主題。
後記:我弄錯了,永倫是「資訊系」,非「數學系」的學弟。
星期三, 1月 03, 2007
胡適的「差不多先生」傳
還是覺得,語文能力(尤其是運用文字表達自己想法的能力)非常重要。
前些時日,和小妹談起自己年屆四十,才發覺自己從前讀書方法是錯誤的(或者說,有很大的缺陷)。記得貓好像曾說過,求學最基本(也最重要?)的訓練,是在於提升自己的語文和數理能力。年紀越大,越覺得自己的語文與數理能力都很差。
有趣的是,怎麼自己以前都沒有發覺?猜測起來,或許是因為自己缺乏合適的導引,又只顧著向前走,因而就疏忽、甚至習以為常了吧。
談著談著,小妹說,我對「用適當、精確的詞彙表達自己意思」的語文能力,看待得太過嚴肅了。我想,她說的是有道理,畢竟身邊多數人對詞彙的使用都只求大概,我們卻似乎仍能溝通。何必如此嚴肅地看待是否能精確使用詞彙呢?
然而,我不禁想起胡適的「差不多先生」傳。這位先生常說:「凡事只要差不多就好了。何必太精明呢?」
從前看這篇文章,並沒有什麼特別的感覺,甚至覺得作者諷喻太過:在真實世界裡,哪有這麼糊塗的人、哪有這麼多人,會認同如此誇張的「差不多」行為,甚至用「圓融」來稱讚?
不過啊,現在看的感覺又不一樣了。我覺得,胡適真的是有感而發,而他的語文寫作能力也是一級棒的。而雖然自己認為,取消最後一句「然而中國從此就成了一個懶人國了」或許更具有寓言的味道;但胡適把它寫出來,對於一般讀者卻更能有切身的棒喝作用。
前些時日,和小妹談起自己年屆四十,才發覺自己從前讀書方法是錯誤的(或者說,有很大的缺陷)。記得貓好像曾說過,求學最基本(也最重要?)的訓練,是在於提升自己的語文和數理能力。年紀越大,越覺得自己的語文與數理能力都很差。
有趣的是,怎麼自己以前都沒有發覺?猜測起來,或許是因為自己缺乏合適的導引,又只顧著向前走,因而就疏忽、甚至習以為常了吧。
談著談著,小妹說,我對「用適當、精確的詞彙表達自己意思」的語文能力,看待得太過嚴肅了。我想,她說的是有道理,畢竟身邊多數人對詞彙的使用都只求大概,我們卻似乎仍能溝通。何必如此嚴肅地看待是否能精確使用詞彙呢?
然而,我不禁想起胡適的「差不多先生」傳。這位先生常說:「凡事只要差不多就好了。何必太精明呢?」
從前看這篇文章,並沒有什麼特別的感覺,甚至覺得作者諷喻太過:在真實世界裡,哪有這麼糊塗的人、哪有這麼多人,會認同如此誇張的「差不多」行為,甚至用「圓融」來稱讚?
不過啊,現在看的感覺又不一樣了。我覺得,胡適真的是有感而發,而他的語文寫作能力也是一級棒的。而雖然自己認為,取消最後一句「然而中國從此就成了一個懶人國了」或許更具有寓言的味道;但胡適把它寫出來,對於一般讀者卻更能有切身的棒喝作用。
星期一, 1月 01, 2007
新的一年
今天是元旦,2007 年的開始呢。
昨晚太太想出門用餐,而且希望是窗明几淨、有比較獨立空間的餐廳。麻煩的是,不管往南到台北、或是往北到基隆,停車都會是個大問題。排隊停車已經夠考驗耐心了,小傢伙們若心情不好,那氣氛就會更差了。
將近六點,還是找不到合意的所在,只好先出門再說。果然,台北處處都停滿了車,一位難求。不僅如此,稍微像樣的餐廳,生意都好得不得了,許多地方甚至要排隊一個多小時。帶著小傢伙們排隊一小時?別開玩笑了,想都不敢想呢。
開車繞來繞去,最後只好到大賣場的美食街草草吃過晚餐,然後讓小傢伙吃些冰淇淋,算是向 2006 年道別,並迎向嶄新的一年。
昨晚太太想出門用餐,而且希望是窗明几淨、有比較獨立空間的餐廳。麻煩的是,不管往南到台北、或是往北到基隆,停車都會是個大問題。排隊停車已經夠考驗耐心了,小傢伙們若心情不好,那氣氛就會更差了。
將近六點,還是找不到合意的所在,只好先出門再說。果然,台北處處都停滿了車,一位難求。不僅如此,稍微像樣的餐廳,生意都好得不得了,許多地方甚至要排隊一個多小時。帶著小傢伙們排隊一小時?別開玩笑了,想都不敢想呢。
開車繞來繞去,最後只好到大賣場的美食街草草吃過晚餐,然後讓小傢伙吃些冰淇淋,算是向 2006 年道別,並迎向嶄新的一年。
星期五, 12月 29, 2006
因果難辨
生活中許多事情,很難辨別哪些東西是原因、而哪些又是結果。
近日在早餐時段閱讀《柏拉圖靈丹》,覺得它有許多內容頗合自己的口味。例如,今早看到(作者在進行哲學諮商輔導的某個個案中,當事人得出的結論)「承諾並不是失去自由,反而是自由的實踐」這樣的話語後,就覺得頗有感觸。
曾聽人說起,結婚後就失去大半的個人自由;而有了小孩後,就更是處處受限,沒有自己的生活。這些話看起來是很合理的:因為在事實上,結婚、有小孩之後,一個人必須花費相當多的時間精力來維護家庭;如此一來,自己的個人時間自然減少,甚至感覺蠟燭兩頭燒,在時間分配的調控上捉襟見肘、怎樣也感覺不夠。
然而,換一個角度來看,其實也正是因為那個人希望信守婚姻與家庭的承諾,願意將時間與精力投注在婚姻與家庭中,所以他才無法分配更多的時間給自己。這樣的承諾,確實佔據了個人的時間,但這樣並不是失去自由,反而是自己「選擇把時間投注在家庭上」的自由實踐。
另一方面,這幾天也不知怎麼回事,一直沒有上網看好友們的 Blogs 文章。是因為忙碌,所以抽不出閱讀的時間;還是因為沒有抽出「這麼一點點」的時間,悠閒欣賞 Blogs 文章,所以才更加深忙碌的感覺?也或許,它們之間的交互作用其實相當複雜,甚至互為因果?
還好的是,雖然日子過得匆忙,但內心卻似乎還頗平和。不管怎麼說,能夠擁有不算短的早餐閱讀時間,就應該算是一種幸福吧。
近日在早餐時段閱讀《柏拉圖靈丹》,覺得它有許多內容頗合自己的口味。例如,今早看到(作者在進行哲學諮商輔導的某個個案中,當事人得出的結論)「承諾並不是失去自由,反而是自由的實踐」這樣的話語後,就覺得頗有感觸。
曾聽人說起,結婚後就失去大半的個人自由;而有了小孩後,就更是處處受限,沒有自己的生活。這些話看起來是很合理的:因為在事實上,結婚、有小孩之後,一個人必須花費相當多的時間精力來維護家庭;如此一來,自己的個人時間自然減少,甚至感覺蠟燭兩頭燒,在時間分配的調控上捉襟見肘、怎樣也感覺不夠。
然而,換一個角度來看,其實也正是因為那個人希望信守婚姻與家庭的承諾,願意將時間與精力投注在婚姻與家庭中,所以他才無法分配更多的時間給自己。這樣的承諾,確實佔據了個人的時間,但這樣並不是失去自由,反而是自己「選擇把時間投注在家庭上」的自由實踐。
另一方面,這幾天也不知怎麼回事,一直沒有上網看好友們的 Blogs 文章。是因為忙碌,所以抽不出閱讀的時間;還是因為沒有抽出「這麼一點點」的時間,悠閒欣賞 Blogs 文章,所以才更加深忙碌的感覺?也或許,它們之間的交互作用其實相當複雜,甚至互為因果?
還好的是,雖然日子過得匆忙,但內心卻似乎還頗平和。不管怎麼說,能夠擁有不算短的早餐閱讀時間,就應該算是一種幸福吧。
星期一, 12月 25, 2006
小傢伙的畫作:爸爸和姑姑們
星期五, 12月 22, 2006
囫圇吞棗
用心與小朋友相處,經常可以發現自己的不足處。
小朋友很喜歡聽故事。自己沒有編故事的能力,只好在坊間挑了幾本彩色的故事書,在睡前講一兩則給她聽。有時,我並不會很喜歡某則故事,也很懷疑她是否聽得懂;但小朋友卻總是很入神地聽著,有時還會問一些問題。
昨天,當我講到「光榮」這個詞彙的時候,她就問我:「爸爸,光榮是什麼意思啊?」一時之間,我語塞了,不知道該怎樣解說。我只好跟她亂說一通,然後說,我會找時間查辭典,之後再向她說明。
剛剛上網查了一下,「光榮」的字義是「光采榮譽」或「光耀榮顯」的意思。可是,什麼是「榮譽」,到底「榮」是什麼意思?「榮」本身的字義有「富貴顯達」的意思,但光榮呢?「光耀、顯達」真的是合適的解釋嗎?
印象中,小傢伙問的詞彙,我幾乎有一半都回答不出來。不知道該怎樣向小孩子說明詞彙的意思,或許就暗示了,自己在語文類的求學與認知過程中,大概都是似懂非懂、含含糊糊地矇混過去,大概都是囫圇吞棗地用概括或想像去了解。
要能夠精準地掌握語彙的意義與使用方式,應該需要很深的語文功力吧。對我而言,這是相當困難、深具挑戰的一件事呢。
小朋友很喜歡聽故事。自己沒有編故事的能力,只好在坊間挑了幾本彩色的故事書,在睡前講一兩則給她聽。有時,我並不會很喜歡某則故事,也很懷疑她是否聽得懂;但小朋友卻總是很入神地聽著,有時還會問一些問題。
昨天,當我講到「光榮」這個詞彙的時候,她就問我:「爸爸,光榮是什麼意思啊?」一時之間,我語塞了,不知道該怎樣解說。我只好跟她亂說一通,然後說,我會找時間查辭典,之後再向她說明。
剛剛上網查了一下,「光榮」的字義是「光采榮譽」或「光耀榮顯」的意思。可是,什麼是「榮譽」,到底「榮」是什麼意思?「榮」本身的字義有「富貴顯達」的意思,但光榮呢?「光耀、顯達」真的是合適的解釋嗎?
印象中,小傢伙問的詞彙,我幾乎有一半都回答不出來。不知道該怎樣向小孩子說明詞彙的意思,或許就暗示了,自己在語文類的求學與認知過程中,大概都是似懂非懂、含含糊糊地矇混過去,大概都是囫圇吞棗地用概括或想像去了解。
要能夠精準地掌握語彙的意義與使用方式,應該需要很深的語文功力吧。對我而言,這是相當困難、深具挑戰的一件事呢。
星期一, 12月 18, 2006
塞車
今早起得有些晚,高速公路又遇到罕見的大塞車,花了約平常三倍的時間,才到達學校。
或許是因為思緒靜不下來,也沒能好好地看些閒書。事實上,這幾個星期以來,似乎沒有閱讀什麼有益心靈的書,而幾乎都是在看技術相關的文章,想一些系統或者程式相關的東西。或許,也是因為這一陣子書看得少,覺得自己「面目可憎」,因而認為在時間的調配上「輕重不分」吧。
實驗室還是和半年前類似,空蕩蕩地。在網際網路普及後,研究生們出現在實驗室的時間,似乎比十年前少了許多(不過,許多研究生是下午或晚上才會到實驗室,因此我這樣說其實也是偏頗了些)。電腦們倒是都開著機。寒冷的天氣,襯托著嗡嗡的風扇聲,格外令人感覺孤單、甚至有些寂寞。
或許是因為思緒靜不下來,也沒能好好地看些閒書。事實上,這幾個星期以來,似乎沒有閱讀什麼有益心靈的書,而幾乎都是在看技術相關的文章,想一些系統或者程式相關的東西。或許,也是因為這一陣子書看得少,覺得自己「面目可憎」,因而認為在時間的調配上「輕重不分」吧。
實驗室還是和半年前類似,空蕩蕩地。在網際網路普及後,研究生們出現在實驗室的時間,似乎比十年前少了許多(不過,許多研究生是下午或晚上才會到實驗室,因此我這樣說其實也是偏頗了些)。電腦們倒是都開著機。寒冷的天氣,襯托著嗡嗡的風扇聲,格外令人感覺孤單、甚至有些寂寞。
星期五, 12月 15, 2006
輕重不分
最近似乎花太多時間在 THDL(台灣歷史數位圖書館)的資料處理與系統開發上。
雖然說,自己原先設定的目標,就是寫一兩篇論文,並且開發 THDL 的雛形系統。雖然也知道,雛形系統會隨著時間演進,而且開發到某個地步後,就應該與現實接軌;但現實的狀況是,從上游接收到的資料一團亂,從編碼到儲存格式,什麼奇怪的狀況都有。為了讓系統能夠像個樣子,自己通常得一邊寫程式來做 integrity check,一邊修正系統的 bugs。
自己寫程式有個毛病,那就是常常覺得「只差臨門一腳就完成了」。從事後的角度來分析,只差「一腳」的情況不是沒有,但一般說來都「需要很多腳」:修完了這個部分,就發現另一個問題;解決這個問題後,又發現另一個有趣的嘗試。結果就是,整天都在寫程式,弄得身心俱疲。
看起來,自己是有些輕重不分,甚至本末倒置了。許多事情,急也急不來,甚至也不是自己該去著急的(皇帝不急,卻急死太監?)。是該讓自己多休息,並且將時間精力多投注在「應該在意」的事情上才好。
雖然說,自己原先設定的目標,就是寫一兩篇論文,並且開發 THDL 的雛形系統。雖然也知道,雛形系統會隨著時間演進,而且開發到某個地步後,就應該與現實接軌;但現實的狀況是,從上游接收到的資料一團亂,從編碼到儲存格式,什麼奇怪的狀況都有。為了讓系統能夠像個樣子,自己通常得一邊寫程式來做 integrity check,一邊修正系統的 bugs。
自己寫程式有個毛病,那就是常常覺得「只差臨門一腳就完成了」。從事後的角度來分析,只差「一腳」的情況不是沒有,但一般說來都「需要很多腳」:修完了這個部分,就發現另一個問題;解決這個問題後,又發現另一個有趣的嘗試。結果就是,整天都在寫程式,弄得身心俱疲。
看起來,自己是有些輕重不分,甚至本末倒置了。許多事情,急也急不來,甚至也不是自己該去著急的(皇帝不急,卻急死太監?)。是該讓自己多休息,並且將時間精力多投注在「應該在意」的事情上才好。
星期一, 12月 11, 2006
馬齒徒長
什麼是理想,什麼是抱負?
前些時日,MPH 在他的 Blog 中提到他對「有志青年」的一些看法與建議。不過,在後續的討論中,感覺他所說的「有志青年」似乎並不是「有理想、有抱負的時代青年」,而是比較保守的「有為青年」。
覺得自己是在「沒有什麼特定理想與抱負」的狀況下度過四十寒暑。回顧起來,「若是歲月可以倒流」,我會希望自己做些什麼呢?
很可惜,自己從來都沒有認真地思考過這個問題;因此,就算時光可以倒流,自己仍然擁有年輕的歲月與活力,但若要談理想、說抱負,得到的恐怕依舊是缺乏創意主見的庸碌之言。
有番大事業、賺很多錢?自己似乎從來都不曾強烈地有這種念頭。前些年有段時日,還真想賺多一點錢;然而,現實殘酷、時機不對、歷練不足、加上努力或許也嫌不夠,賺錢似乎就變成貓所說的「為五斗米折腰的工作」了。
那麼,難道世界上真的不存在「理想與實踐」這檔事嗎?不,當然不是。聽說過馬文仲與希望小學的故事嗎?另外,看看這一期的商業周刊,提到 2006 年諾貝爾和平獎得主尤努斯,為了讓祖國孟加拉的一般民眾脫離貧窮,而成立窮人銀行的故事。我覺得,這些就是能夠實踐的理想與抱負。
只是,不管怎麼說,遠離了輕狂的歲月,自己應該已經沒有多少的幻想了。在還沒有找回自己的理想前,就只能踏實地緩步前行,順著自性去發展,並於途中多看些他人的成長故事,多思考自己的人生價值意義。
此外,總還是希望能夠在家庭與工作間,取得令自己感覺舒適的平衡區。也祝福大家,在人生的道路上,旅途愉快且滿足。
前些時日,MPH 在他的 Blog 中提到他對「有志青年」的一些看法與建議。不過,在後續的討論中,感覺他所說的「有志青年」似乎並不是「有理想、有抱負的時代青年」,而是比較保守的「有為青年」。
覺得自己是在「沒有什麼特定理想與抱負」的狀況下度過四十寒暑。回顧起來,「若是歲月可以倒流」,我會希望自己做些什麼呢?
很可惜,自己從來都沒有認真地思考過這個問題;因此,就算時光可以倒流,自己仍然擁有年輕的歲月與活力,但若要談理想、說抱負,得到的恐怕依舊是缺乏創意主見的庸碌之言。
有番大事業、賺很多錢?自己似乎從來都不曾強烈地有這種念頭。前些年有段時日,還真想賺多一點錢;然而,現實殘酷、時機不對、歷練不足、加上努力或許也嫌不夠,賺錢似乎就變成貓所說的「為五斗米折腰的工作」了。
那麼,難道世界上真的不存在「理想與實踐」這檔事嗎?不,當然不是。聽說過馬文仲與希望小學的故事嗎?另外,看看這一期的商業周刊,提到 2006 年諾貝爾和平獎得主尤努斯,為了讓祖國孟加拉的一般民眾脫離貧窮,而成立窮人銀行的故事。我覺得,這些就是能夠實踐的理想與抱負。
只是,不管怎麼說,遠離了輕狂的歲月,自己應該已經沒有多少的幻想了。在還沒有找回自己的理想前,就只能踏實地緩步前行,順著自性去發展,並於途中多看些他人的成長故事,多思考自己的人生價值意義。
此外,總還是希望能夠在家庭與工作間,取得令自己感覺舒適的平衡區。也祝福大家,在人生的道路上,旅途愉快且滿足。
星期六, 12月 09, 2006
星期三, 12月 06, 2006
資料處理的取捨
生活中時常需要選擇,選擇就免不了得做取捨。
就拿「淡新檔案」的資料處理來說吧。明知道人工處理的步驟很容易出差錯、也的確在許多地方發現資料整合的問題,但面臨的選擇是:自己究竟該投入多少時間精力,又該將它們投注在什麼地方?
貓說的是有道理:「有錯就改,怎麼可以矇上眼睛假裝看不到」、「有辦法寫程式去修改,沒辦法就花錢找人去修改」、「不然你自己一筆一筆慢慢改」。問題是,自己不想假裝看不到、有寫程式去偵測一些錯誤、卻沒有足夠的資源請專家常常修改。此外,許多地方自己雖然知道有錯誤,卻不知道正確的結果應該是什麼啊!
於是,必須先做些取捨、對現實妥協。我採用的做法是,暫時把有錯誤的部分擱在一旁,並取出正確的部分來構成出初期的系統內容。這樣的「有缺陷的系統」當然不夠實用,但把目標設定在 prototype,拿這個雛形作為系統發展中的溝通工具,卻應該有相當好處的。
事實上,當我整合全文檢索、文字內容、詮釋資料與照片圖檔後,自己真還覺得「似乎完成」一個重要的階段任務呢。(至少,自己認為這樣的系統應該比目前「淡新檔案網路資料庫」的檢索系統實用得多。)
只是,整合的過程,充滿了「資料格式轉換」與「中文編碼」的問題,也時時得留意資料的完整性 (data integrity)問題。回想起來,資料處理還真的充滿瑣碎的步驟、真的需要有放下身段,保持耐心,一步一步地前行呢。
就拿「淡新檔案」的資料處理來說吧。明知道人工處理的步驟很容易出差錯、也的確在許多地方發現資料整合的問題,但面臨的選擇是:自己究竟該投入多少時間精力,又該將它們投注在什麼地方?
貓說的是有道理:「有錯就改,怎麼可以矇上眼睛假裝看不到」、「有辦法寫程式去修改,沒辦法就花錢找人去修改」、「不然你自己一筆一筆慢慢改」。問題是,自己不想假裝看不到、有寫程式去偵測一些錯誤、卻沒有足夠的資源請專家常常修改。此外,許多地方自己雖然知道有錯誤,卻不知道正確的結果應該是什麼啊!
於是,必須先做些取捨、對現實妥協。我採用的做法是,暫時把有錯誤的部分擱在一旁,並取出正確的部分來構成出初期的系統內容。這樣的「有缺陷的系統」當然不夠實用,但把目標設定在 prototype,拿這個雛形作為系統發展中的溝通工具,卻應該有相當好處的。
事實上,當我整合全文檢索、文字內容、詮釋資料與照片圖檔後,自己真還覺得「似乎完成」一個重要的階段任務呢。(至少,自己認為這樣的系統應該比目前「淡新檔案網路資料庫」的檢索系統實用得多。)
只是,整合的過程,充滿了「資料格式轉換」與「中文編碼」的問題,也時時得留意資料的完整性 (data integrity)問題。回想起來,資料處理還真的充滿瑣碎的步驟、真的需要有放下身段,保持耐心,一步一步地前行呢。
星期六, 12月 02, 2006
欲速則不達
說的總是比做的容易,說的總是比做的多。
想在資料庫裡先行計算出統計資訊。由於關聯式資料庫在處理樹狀結構上並不在行,SQL 語法也沒能處理類似 transitivity closure 的問題,自己必須先建構許多「輔助」的表格,然後慢慢地把想要的資訊計算出來。
但是,程式寫著寫著,就會想省下幾個步驟,想要「精簡」地把結果計算出來。然而,缺乏事先周密的思考,貿然貪快的結果,就是最後計算出錯誤的資訊,必須重新來過。
按耐煩躁的心,多花些時間思考到底需要那些步驟、每個步驟的目的和結果又是什麼。如此一步一步前行,終於取得一些初步的結果。
我想,或許僅是為了節省時間,或許是因為低估了問題的複雜性與困難度,人就是會有衝動,想一次處理掉很多事情。只是,欲速則不達,貪快通常只會讓自己學到另一次失敗的經驗。
想在資料庫裡先行計算出統計資訊。由於關聯式資料庫在處理樹狀結構上並不在行,SQL 語法也沒能處理類似 transitivity closure 的問題,自己必須先建構許多「輔助」的表格,然後慢慢地把想要的資訊計算出來。
但是,程式寫著寫著,就會想省下幾個步驟,想要「精簡」地把結果計算出來。然而,缺乏事先周密的思考,貿然貪快的結果,就是最後計算出錯誤的資訊,必須重新來過。
按耐煩躁的心,多花些時間思考到底需要那些步驟、每個步驟的目的和結果又是什麼。如此一步一步前行,終於取得一些初步的結果。
我想,或許僅是為了節省時間,或許是因為低估了問題的複雜性與困難度,人就是會有衝動,想一次處理掉很多事情。只是,欲速則不達,貪快通常只會讓自己學到另一次失敗的經驗。
星期三, 11月 29, 2006
資料處理的完整性問題
莫非定律中,有一條是這麼說:凡是可能出錯的事,準會出錯。
在資料處理的流程中,有人力介入的地方,就可能會出錯 -- 而且通常都真的會出錯。例如說,用人力處理資料時,就很難維護資料的完整性(Data Integrity,或譯為資料的整合性)。
資料的完整性並不等同於資料的完備性(Completeness)。用 Google 可以在網路上找到許多不同的解釋,而我在此是想用這個詞彙來強調「資料物件之間的連結正確無誤」的特性。
例如說,網頁有個圖檔的連結,但是這個連結在點選後卻找不到正確的內容,這就是完整性出了問題。或者,應該以某種規則來指定檔案的名稱,但是卻發現了例外。又或者,資料庫的某特定欄位應該儲存「地理」資訊,事後卻發現它含有「年齡」的資料。
要檢驗資料物件之間,是否連結完整並正確,通常需要很高的人力成本。然而,如果系統從設計規劃時,就開始重視資料的完整性,我們就可以利用電腦工具來檢驗、防止錯誤,從而降低維護的成本。
沒有控管資料完整性,會增加後續處理的困難。例如,目前處理「淡新檔案」的詮釋資料,就有發現某個欄位填寫有誤(連結所提供的資訊不正確)。碰到這樣的狀況,自己是該假裝沒看見,放任它繼續出錯,還是自行將它更正?如果自己只知道它出錯,卻沒有能力更正,那又該怎麼辦呢?若要有效率地利用流程更正錯誤,或許該「彙整可疑的狀況」批次處理。只是,自己真有興趣、真有時間精力去做這件事情嗎?
資料間缺乏完整性,最終也會破壞系統所能提供的服務品質。
在資料處理的流程中,有人力介入的地方,就可能會出錯 -- 而且通常都真的會出錯。例如說,用人力處理資料時,就很難維護資料的完整性(Data Integrity,或譯為資料的整合性)。
資料的完整性並不等同於資料的完備性(Completeness)。用 Google 可以在網路上找到許多不同的解釋,而我在此是想用這個詞彙來強調「資料物件之間的連結正確無誤」的特性。
例如說,網頁有個圖檔的連結,但是這個連結在點選後卻找不到正確的內容,這就是完整性出了問題。或者,應該以某種規則來指定檔案的名稱,但是卻發現了例外。又或者,資料庫的某特定欄位應該儲存「地理」資訊,事後卻發現它含有「年齡」的資料。
要檢驗資料物件之間,是否連結完整並正確,通常需要很高的人力成本。然而,如果系統從設計規劃時,就開始重視資料的完整性,我們就可以利用電腦工具來檢驗、防止錯誤,從而降低維護的成本。
沒有控管資料完整性,會增加後續處理的困難。例如,目前處理「淡新檔案」的詮釋資料,就有發現某個欄位填寫有誤(連結所提供的資訊不正確)。碰到這樣的狀況,自己是該假裝沒看見,放任它繼續出錯,還是自行將它更正?如果自己只知道它出錯,卻沒有能力更正,那又該怎麼辦呢?若要有效率地利用流程更正錯誤,或許該「彙整可疑的狀況」批次處理。只是,自己真有興趣、真有時間精力去做這件事情嗎?
資料間缺乏完整性,最終也會破壞系統所能提供的服務品質。
星期一, 11月 27, 2006
大量資料的呈現難題
自己一直都很關心「大量資料該如何呈現」的問題。
以文件檢索來說,就是將這些資料以「文件」作為單位,得到檢索結果後,該如何呈現文件、以及文件內容的問題。而「大量資料的呈現問題」在此就可以說是「大量文件的呈現問題」。
傳統的人機介面(Human-Computer Interface,HCI)對此似乎沒有多少著墨。不過,如何緩解超量資訊所造成的過載,似乎也是因為近幾年來 Web content 大量湧現,才顯得更為迫切。或許在幾年前,大量資料的呈現,也根本算不上是什麼重要的問題呢。
但我覺得這個問題並沒有乍看之下那麼容易。它牽涉到如何用較低的成本,來展示資料並提供互動,更關係到人類注意力有限的先天事實。
一個常見的處理方式,是將資訊分層別類地組織起來,然後提供一個瀏覽環境來讓使用者由上而下地找出想找的文件。例如,我們可以將 Windows 下的每個檔案視為一份文件,而「檔案總管」就是一個這樣的瀏覽環境。
接下來,就是提供「全文檢索」或類似的工具,讓使用者輸入關鍵字詞、指定檔案大小或最後存取的時間,然後系統將符合的文件「列表」出來。
那麼,還有沒有其他「或許更好」的方式?
合併分類瀏覽與查詢,提供「多維度」的檢索方式,曾經是我想探究的一個主題。不過,理論上說起來容易,在實作上,就經常碰到實際的問題:如何有效率地歸類或分群,如何快速地統計、過濾、彙整、計算出所需的資訊?此外,螢幕的解析度就這麼大,該怎麼把計算出的結果,有系統、有組織、易理解、易操作地呈現出來呢?
以文件檢索來說,就是將這些資料以「文件」作為單位,得到檢索結果後,該如何呈現文件、以及文件內容的問題。而「大量資料的呈現問題」在此就可以說是「大量文件的呈現問題」。
傳統的人機介面(Human-Computer Interface,HCI)對此似乎沒有多少著墨。不過,如何緩解超量資訊所造成的過載,似乎也是因為近幾年來 Web content 大量湧現,才顯得更為迫切。或許在幾年前,大量資料的呈現,也根本算不上是什麼重要的問題呢。
但我覺得這個問題並沒有乍看之下那麼容易。它牽涉到如何用較低的成本,來展示資料並提供互動,更關係到人類注意力有限的先天事實。
一個常見的處理方式,是將資訊分層別類地組織起來,然後提供一個瀏覽環境來讓使用者由上而下地找出想找的文件。例如,我們可以將 Windows 下的每個檔案視為一份文件,而「檔案總管」就是一個這樣的瀏覽環境。
接下來,就是提供「全文檢索」或類似的工具,讓使用者輸入關鍵字詞、指定檔案大小或最後存取的時間,然後系統將符合的文件「列表」出來。
那麼,還有沒有其他「或許更好」的方式?
合併分類瀏覽與查詢,提供「多維度」的檢索方式,曾經是我想探究的一個主題。不過,理論上說起來容易,在實作上,就經常碰到實際的問題:如何有效率地歸類或分群,如何快速地統計、過濾、彙整、計算出所需的資訊?此外,螢幕的解析度就這麼大,該怎麼把計算出的結果,有系統、有組織、易理解、易操作地呈現出來呢?
星期五, 11月 24, 2006
再談淡新檔案的文件檢索
約莫三個星期前,我提到了一個關於「淡新檔案」的檢索問題。
試著重述一下手頭有的東西。首先,台大圖書館有具歷史意義與價值的「淡新檔案」資料。希望利用電腦來處理這些資訊,前提是這些資訊必須數位化。於是,經過繁複的數位化處理後,我們將那些資料以「件」的方式來儲存(通常一個「件」就是一份公文,儲存為一個檔案)。
現在問題來了:歷史學者並非獨立地看待每個「件」。解讀歷史,必須鑑古識今,參考時代的脈絡與環境,才能得出有價值的解析。淡新檔案中,其實是以「案」來作為「有價值資訊」的單位,每個「案」是由多個「件」所組成,而時間則可能貫穿數十年之久。
套用流行的資訊檢索方式,是可以將「件」視為檢索的文件單位。使用者輸入查詢後,檢索結果是符合查詢條件的所有「件」的列表。
是可以用後處理(Post-Query Processing)的方式,將檢索結果分類(例如,利用阿尼說的「文件夾」概念,或者我從前論文所建議的 multi-dimensional spotlights),然後將「同個案之下的相關件」彙整在一起。但是,既然「案」才是有意義的解讀單位,而且每一個「件」其實都沒有多少(通常只有幾百)個字;那麼把「案」視為文件單位,是不是更為自然、而且便利呢?
於是,寫了一些程式,粗略地實作了將「案」視為文件單位的想法。除了因為淡新檔案裡只有一千多個「案」,彰顯不出系統的威力(從大量文件中,快速地搜尋出符合條件子集的能力)外,初步的感覺還不錯。
只是,如果真的把「案」視為文件單位,那麼如何組織與呈現一個「案」下的所有「件」,甚至整合每個「件」的「詮釋資料」(metadata),就帶出更多有待探討與解決的問題了。或許,這也是一個值得關注、思考的研究主題呢。
試著重述一下手頭有的東西。首先,台大圖書館有具歷史意義與價值的「淡新檔案」資料。希望利用電腦來處理這些資訊,前提是這些資訊必須數位化。於是,經過繁複的數位化處理後,我們將那些資料以「件」的方式來儲存(通常一個「件」就是一份公文,儲存為一個檔案)。
現在問題來了:歷史學者並非獨立地看待每個「件」。解讀歷史,必須鑑古識今,參考時代的脈絡與環境,才能得出有價值的解析。淡新檔案中,其實是以「案」來作為「有價值資訊」的單位,每個「案」是由多個「件」所組成,而時間則可能貫穿數十年之久。
套用流行的資訊檢索方式,是可以將「件」視為檢索的文件單位。使用者輸入查詢後,檢索結果是符合查詢條件的所有「件」的列表。
是可以用後處理(Post-Query Processing)的方式,將檢索結果分類(例如,利用阿尼說的「文件夾」概念,或者我從前論文所建議的 multi-dimensional spotlights),然後將「同個案之下的相關件」彙整在一起。但是,既然「案」才是有意義的解讀單位,而且每一個「件」其實都沒有多少(通常只有幾百)個字;那麼把「案」視為文件單位,是不是更為自然、而且便利呢?
於是,寫了一些程式,粗略地實作了將「案」視為文件單位的想法。除了因為淡新檔案裡只有一千多個「案」,彰顯不出系統的威力(從大量文件中,快速地搜尋出符合條件子集的能力)外,初步的感覺還不錯。
只是,如果真的把「案」視為文件單位,那麼如何組織與呈現一個「案」下的所有「件」,甚至整合每個「件」的「詮釋資料」(metadata),就帶出更多有待探討與解決的問題了。或許,這也是一個值得關注、思考的研究主題呢。
星期三, 11月 22, 2006
從兒童繪畫,到美術欣賞
帶小朋友到「蘇荷」學畫畫。
最初是太太的朋友介紹,我只是想讓小傢伙在尚未接受正規教育之前,有段愉快的學畫經驗。然而,上過幾次課後,我發覺除了小朋友樂在其中(我們是上晚上的課程,小傢伙一早醒來就會很期待去學畫),自己其實也頗認同蘇荷的一些教育理念與實踐方式。
或許,是因為在自己的經驗裡,總覺得台灣的教育方式太過僵化死板。教給學生的內容相當充實豐富,但重點卻似乎是在強調快速地讓學生「學」到經過組織的資訊與技巧,而不是給學生充裕的時間去感覺、摸索、嘗試、乃至領悟。此外,對於學生或小孩,我們似乎也很少給予發自內心的讚賞與與鼓勵。
有意思的是,小朋友在教室裡玩耍、學著用各式各樣的材料和色彩發揮想像,蘇荷教室也為家長們安排了藝術欣賞的課程。在一系列的幻燈片講解中,我似乎漸漸明白繪畫美學的一些原理,也似乎漸漸能夠欣賞一些看不懂得現代藝術畫。
欣賞的課程中,有時我會對人類如何表達生的喜悅而感到驚喜與震撼。有些時候,我似乎也能感受到,藉著各種嘗試與創新,藝術家試圖超越人類極限的掙扎與努力。
我很喜歡這樣的課程。
最初是太太的朋友介紹,我只是想讓小傢伙在尚未接受正規教育之前,有段愉快的學畫經驗。然而,上過幾次課後,我發覺除了小朋友樂在其中(我們是上晚上的課程,小傢伙一早醒來就會很期待去學畫),自己其實也頗認同蘇荷的一些教育理念與實踐方式。
或許,是因為在自己的經驗裡,總覺得台灣的教育方式太過僵化死板。教給學生的內容相當充實豐富,但重點卻似乎是在強調快速地讓學生「學」到經過組織的資訊與技巧,而不是給學生充裕的時間去感覺、摸索、嘗試、乃至領悟。此外,對於學生或小孩,我們似乎也很少給予發自內心的讚賞與與鼓勵。
有意思的是,小朋友在教室裡玩耍、學著用各式各樣的材料和色彩發揮想像,蘇荷教室也為家長們安排了藝術欣賞的課程。在一系列的幻燈片講解中,我似乎漸漸明白繪畫美學的一些原理,也似乎漸漸能夠欣賞一些看不懂得現代藝術畫。
欣賞的課程中,有時我會對人類如何表達生的喜悅而感到驚喜與震撼。有些時候,我似乎也能感受到,藉著各種嘗試與創新,藝術家試圖超越人類極限的掙扎與努力。
我很喜歡這樣的課程。
星期六, 11月 18, 2006
告狀的時間
伴小朋友成長,每個階段都有不同的樂趣。
雖然我放在小傢伙的心思並不算太多,自己還是經常陶醉在陪伴小孩的甜蜜時光裡。我應該沒有什麼「炫耀」的用意(或許貓真人會說,我潛意識裡是這麼想 :p);主要還是想趁著記憶猶新,把一些有趣、純真的日常瑣事記錄下來。
告狀的時間
前幾個月,小傢伙還不會自己上廁所尿尿,需要有大人抱著她到洗手間小解。我在家裡的時候,若她尿急,就會看到她以很著急的語氣說:「尿尿、尿尿、我要尿尿!」
然後,我就趕緊放下手邊的事情,衝過去帶她去小解。之後,我幫她穿好褲子,她會很高興地跑到太太那兒,說:「告狀的時間到了!」
原來,我幫她穿衣服褲子,經常穿得不甚整齊,需要她媽媽再幫她整理一次。看著她那麼興奮地跑去「告狀」,那麼天真的模樣,有時真會有一種難以形容的感動。
最近她漸漸學會自己去上廁所、自己穿褲子了。我想,這樣的有趣時光,或許很快地就會遠離,而被另一種成長喜悅所取代。
我冷得發抖了啦~
前兩天的一個傍晚,我在家裡,小傢伙在不遠處的外婆家。
接到一通電話,是小傢伙撥來的。在電話裡,她說:「爸爸你快點拿外套來給我」。我問怎麼回事,她說:「你快點來啦,我冷得發抖了啦~」
聽到她這樣說,我趕忙拿了一件外套,小跑步到岳母家,卻發現她已經穿了好幾件衣服,不應該會覺得冷。我說,妳穿這麼多,還會冷得發抖?小傢伙說:「我是跟你開玩笑的啦。」
原來,她就是想要快點看見爸爸,所以就編織了這樣的一個理由。告訴她不可以騙人(雖然現今的政治處處可見自欺欺人的行為),告誡她「放羊的小孩」故事,卻也不禁為四歲小娃娃的聰明伶俐感到讚嘆。
雖然我放在小傢伙的心思並不算太多,自己還是經常陶醉在陪伴小孩的甜蜜時光裡。我應該沒有什麼「炫耀」的用意(或許貓真人會說,我潛意識裡是這麼想 :p);主要還是想趁著記憶猶新,把一些有趣、純真的日常瑣事記錄下來。
告狀的時間
前幾個月,小傢伙還不會自己上廁所尿尿,需要有大人抱著她到洗手間小解。我在家裡的時候,若她尿急,就會看到她以很著急的語氣說:「尿尿、尿尿、我要尿尿!」
然後,我就趕緊放下手邊的事情,衝過去帶她去小解。之後,我幫她穿好褲子,她會很高興地跑到太太那兒,說:「告狀的時間到了!」
原來,我幫她穿衣服褲子,經常穿得不甚整齊,需要她媽媽再幫她整理一次。看著她那麼興奮地跑去「告狀」,那麼天真的模樣,有時真會有一種難以形容的感動。
最近她漸漸學會自己去上廁所、自己穿褲子了。我想,這樣的有趣時光,或許很快地就會遠離,而被另一種成長喜悅所取代。
我冷得發抖了啦~
前兩天的一個傍晚,我在家裡,小傢伙在不遠處的外婆家。
接到一通電話,是小傢伙撥來的。在電話裡,她說:「爸爸你快點拿外套來給我」。我問怎麼回事,她說:「你快點來啦,我冷得發抖了啦~」
聽到她這樣說,我趕忙拿了一件外套,小跑步到岳母家,卻發現她已經穿了好幾件衣服,不應該會覺得冷。我說,妳穿這麼多,還會冷得發抖?小傢伙說:「我是跟你開玩笑的啦。」
原來,她就是想要快點看見爸爸,所以就編織了這樣的一個理由。告訴她不可以騙人(雖然現今的政治處處可見自欺欺人的行為),告誡她「放羊的小孩」故事,卻也不禁為四歲小娃娃的聰明伶俐感到讚嘆。
星期二, 11月 14, 2006
推卻一個工作機會
經過一番內心交戰,傍晚打電話推卻一個「天上掉下來的工作機會」。
起因是這樣的。大約半年前,項老師說某家公司急缺技術人員的頭頭,要我到那家公司談談。我和對方約好見面,談得也算愉快,但回家後就一直沒有收到對方的通知。項老師後來問起,我說,對方可能並不是真的很急吧。
誰知道,上週四接到一通行動電話,約我週五過去吃頓午餐。席間,他們表示公司經過一番整頓,希望邀請我擔任產品研發主管。遊說的人是總經理特助,業務出身。緊迫盯人的言談,讓我不知該如何應對,就只好回答說,看看該公司能夠提供怎樣的薪資福利吧。
由於時間上,也差不多該找下一份工作了,因此我本來是有些心動的。然而,今天夜半醒來,竟然再也睡不著覺,腦袋裡盡是關於是否該到該公司工作的考量。最後,我決定推掉這份工作,原因是:
起因是這樣的。大約半年前,項老師說某家公司急缺技術人員的頭頭,要我到那家公司談談。我和對方約好見面,談得也算愉快,但回家後就一直沒有收到對方的通知。項老師後來問起,我說,對方可能並不是真的很急吧。
誰知道,上週四接到一通行動電話,約我週五過去吃頓午餐。席間,他們表示公司經過一番整頓,希望邀請我擔任產品研發主管。遊說的人是總經理特助,業務出身。緊迫盯人的言談,讓我不知該如何應對,就只好回答說,看看該公司能夠提供怎樣的薪資福利吧。
由於時間上,也差不多該找下一份工作了,因此我本來是有些心動的。然而,今天夜半醒來,竟然再也睡不著覺,腦袋裡盡是關於是否該到該公司工作的考量。最後,我決定推掉這份工作,原因是:
- 太太憑直覺,認為我接下那份工作會很辛苦、吃力不討好。
- 他們提供的薪資福利與配套,其實也不突出。
- 他們希望我馬上就可以去上班,如此倉促讓我覺得事有蹊蹺(更何況,半年前的經驗,讓我覺得不怎麼舒服)。
- 該公司將產品研發部門定位為利潤中心,但企畫及業務都是由其他部門負責 -- 這相當於產品的上下游都由其他部門負責,如此將很難訂定合適的績效評估方式。
- 若去那兒任職,短期內的狀況,恐怕就是在收拾一個爛攤子。該公司似乎是採用傳統的瀑布式流程開發,而 top managers 卻覺得這樣的開發模式非常好(但... 許多模組都只安排一個星期的 coding 時間耶。更何況,該部門的人員,看起來程式設計與寫作的能力都不夠呢。那麼,程式出 bugs 時怎麼辦?)。
星期一, 11月 13, 2006
珍惜得之不易的悠閒
差不多一個月前,就很希望能夠痛快地悠閒一下。
說起來似乎不困難:就我目前的 post doctor 工作而言,自己能調控的時間相當有彈性,項老師(老闆)也沒有施加額外的壓力。不過那篇 post 寫後沒幾天,我就發覺要想痛快地睡午覺,其實也沒有想像中那麼容易。
怎麼會這樣呢?首先,需要的時間遠比想像來得多(要想舒服地睡個一小時,大概需要三個小時的空檔)。要想舒服地躺在牀上睡午覺,我最好趕在下午兩點半之前就回到家裡,簡單盥洗之後入睡才舒服。然而,若為了避開人潮,通常午餐後就已經一點半,回實驗室後處理一下雜務,通常就已經兩點多了。
接下來,就是個人的的生活習性不易調整。即使告訴自己,不要老是惦念著系統有那些地方該加強,不要一直在那邊斟酌各種模型的優缺點;但一旦有多餘的時間,自己就是會忍不住開始把玩起來。結果就是,雖然對系統與程式又多認識了一些,卻錯失了好好睡覺的機會。
最後,有了時間,通常自己還會想做些其他的事情:到書店晃晃、幫小朋友買買文具或讀物、到賣場添購家用品,或是待在家裡整理一下房間、把書籍分類整理一番。
結果,一個月下來,我沒有一天能夠睡到那麼痛快的午覺。於是自己也了解到:即使是時間有彈性,要真能享受悠閒時光,依舊是說來容易做來難。
然而,或許也正是因為如此,昨天早上有機會睡個回籠覺,醒來後的感覺竟也如此舒暢;下午找時間帶小朋友到大安森林公園,遊玩之間也更加感覺幸福。
說起來似乎不困難:就我目前的 post doctor 工作而言,自己能調控的時間相當有彈性,項老師(老闆)也沒有施加額外的壓力。不過那篇 post 寫後沒幾天,我就發覺要想痛快地睡午覺,其實也沒有想像中那麼容易。
怎麼會這樣呢?首先,需要的時間遠比想像來得多(要想舒服地睡個一小時,大概需要三個小時的空檔)。要想舒服地躺在牀上睡午覺,我最好趕在下午兩點半之前就回到家裡,簡單盥洗之後入睡才舒服。然而,若為了避開人潮,通常午餐後就已經一點半,回實驗室後處理一下雜務,通常就已經兩點多了。
接下來,就是個人的的生活習性不易調整。即使告訴自己,不要老是惦念著系統有那些地方該加強,不要一直在那邊斟酌各種模型的優缺點;但一旦有多餘的時間,自己就是會忍不住開始把玩起來。結果就是,雖然對系統與程式又多認識了一些,卻錯失了好好睡覺的機會。
最後,有了時間,通常自己還會想做些其他的事情:到書店晃晃、幫小朋友買買文具或讀物、到賣場添購家用品,或是待在家裡整理一下房間、把書籍分類整理一番。
結果,一個月下來,我沒有一天能夠睡到那麼痛快的午覺。於是自己也了解到:即使是時間有彈性,要真能享受悠閒時光,依舊是說來容易做來難。
然而,或許也正是因為如此,昨天早上有機會睡個回籠覺,醒來後的感覺竟也如此舒暢;下午找時間帶小朋友到大安森林公園,遊玩之間也更加感覺幸福。
星期五, 11月 10, 2006
「瞎子摸象」的故事
發覺自己的表達能力不佳之後,有時心裡會浮現一些小時候就聽過的成語。
「瞎子摸象」就是其中的一個。它的故事內容是什麼呢?
細細品味這個故事,總會讓我感覺若有所悟(主要是「若有」的感覺,其實離「悟」還差得遠啦)。瞎子們應該都是聰明人(因此能夠根據經驗推理、以具象的實物來類比,也有與他人辯論的能力),但從「明眼人」(這裡就是指看故事的讀者吧?)的角度來觀看,他們都有「以偏蓋全」的毛病啊。
據說,這個故事出自於《大般涅槃經.卷32》。我覺得這個故事另外還有個有趣的地方:「象牽走以後,他們仍舊在那兒爭論」。想出這個故事的人,好像隱隱還想告訴聽者許多人生智慧,只可惜我自己慧根與歷練都不夠,還無法感悟其中的奧妙。
人生中的許多事,都沒有標準答案、都可以有多種思考方向。每個人都可以有自己的觀點和角度,但很可能大家都沒有「對」的答案。
「瞎子摸象」就是其中的一個。它的故事內容是什麼呢?
從前印度有六個瞎子。有一天,他們坐在路旁休息,正好有人牽著一隻象走過來。他們聽說是隻象,就都站起來,齊聲嚷著請求牽象的人停住,讓他們摸摸這隻象,好知道是什麼樣子。
第一個瞎子摸到象的身子,他說:「喔!象像一堵牆。」第二個瞎子摸到象的牙,他嚷著說:「你錯了!象又圓又尖的,像一支槍。」第三個瞎子摸到象的鼻子,他叫著說:「你們都錯了!象簡直像一條蛇。」第四個瞎子抱住了象腿,他說:「啊!象明明像一棵樹。」第五個瞎子個子高,剛巧摸到象的耳朵,他哼了一聲,說:「你們說的都不對!象的的確確像一把扇子。」第六個瞎子恰好摸到象的尾巴,他笑了一聲,喊著說;「你們這些笨瓜!象其實像是一根繩子。」
象牽走以後,他們仍舊在那兒爭論,每個人都覺得自己的意見是最正確的。
(文轉載自國語日報社出版「三百字故事」)
第一個瞎子摸到象的身子,他說:「喔!象像一堵牆。」第二個瞎子摸到象的牙,他嚷著說:「你錯了!象又圓又尖的,像一支槍。」第三個瞎子摸到象的鼻子,他叫著說:「你們都錯了!象簡直像一條蛇。」第四個瞎子抱住了象腿,他說:「啊!象明明像一棵樹。」第五個瞎子個子高,剛巧摸到象的耳朵,他哼了一聲,說:「你們說的都不對!象的的確確像一把扇子。」第六個瞎子恰好摸到象的尾巴,他笑了一聲,喊著說;「你們這些笨瓜!象其實像是一根繩子。」
象牽走以後,他們仍舊在那兒爭論,每個人都覺得自己的意見是最正確的。
(文轉載自國語日報社出版「三百字故事」)
細細品味這個故事,總會讓我感覺若有所悟(主要是「若有」的感覺,其實離「悟」還差得遠啦)。瞎子們應該都是聰明人(因此能夠根據經驗推理、以具象的實物來類比,也有與他人辯論的能力),但從「明眼人」(這裡就是指看故事的讀者吧?)的角度來觀看,他們都有「以偏蓋全」的毛病啊。
據說,這個故事出自於《大般涅槃經.卷32》。我覺得這個故事另外還有個有趣的地方:「象牽走以後,他們仍舊在那兒爭論」。想出這個故事的人,好像隱隱還想告訴聽者許多人生智慧,只可惜我自己慧根與歷練都不夠,還無法感悟其中的奧妙。
人生中的許多事,都沒有標準答案、都可以有多種思考方向。每個人都可以有自己的觀點和角度,但很可能大家都沒有「對」的答案。
星期一, 11月 06, 2006
重新認識人生
即使可能只是一場夢,仍覺得自己似乎正在重新認識人生。
說「可能是場夢」,是懷疑它或許只是「自我催眠」的結果。不過,就好似某人說的,人生之所以有趣,部分也在於當你認為洞澈它時,一個全新的體驗,卻又讓你捉摸不透。因而,能夠放下從前的自我,學習從更開闊的角度觀看世界,總是有趣的人生成長歷程。
嗯,回想一下,是從什麼時候,開始感受到自己的心境,起了微妙的變化呢?
其實,工作了數年後,每隔一陣子,心裡就會有股強烈的「自我失落感」。一年多前,前任公司急速縮編,加上自己已年近四十,更讓這些問題浮上枱面:為什麼要工作得如此疲憊?我究竟想要什麼、想做些什麼?
於是,離職後,找了個壓力比較小的 post doctor 工作,希望能夠整理出曾經吸引我的一些有趣主題、希望能夠寫些文章。不過,這個工作做了一陣子,就發現有兩件「對自己算有趣、也頗有意義」的事情可做:開發 THDL prototype,以及完成一篇多年前起意的論文。只是,自己分身乏術、處理事情的能力也不怎麼樣,因此只好「頗有遺憾」地暫且擱下寫文章的想法。
轉眼間,這份 post doctor 工作也經歷一年了。這段期間閱讀了一些書籍,深深地感覺到自己這十年(或者,這二十年吧)來,除了追逐網路科技的新技術、除了工作經驗有所增加外,似乎沒有什麼長進。
那麼,這一年我得到了什麼呢?自己其實也說不清楚。大致上,應該都是些老生常談,都是些生活與實踐相關的感觸。或許比較強烈的一些字眼,是「藝術是個動詞」、「愛,是個動詞」、乃至「生活,也是個動詞」。動詞,指的就是必須在生活中去實踐,而不僅是表面的感覺、不僅是存於腦袋中的思考。
或許,人生本就是一場修行的歷程。誠摯地希望自己,能夠放開心胸,「活在當下」地觀看時空的深邃奧妙、感受生命的活潑躍動,進而深深地被感動、並逐漸地將感悟融入日常生活來實踐。
說「可能是場夢」,是懷疑它或許只是「自我催眠」的結果。不過,就好似某人說的,人生之所以有趣,部分也在於當你認為洞澈它時,一個全新的體驗,卻又讓你捉摸不透。因而,能夠放下從前的自我,學習從更開闊的角度觀看世界,總是有趣的人生成長歷程。
嗯,回想一下,是從什麼時候,開始感受到自己的心境,起了微妙的變化呢?
其實,工作了數年後,每隔一陣子,心裡就會有股強烈的「自我失落感」。一年多前,前任公司急速縮編,加上自己已年近四十,更讓這些問題浮上枱面:為什麼要工作得如此疲憊?我究竟想要什麼、想做些什麼?
於是,離職後,找了個壓力比較小的 post doctor 工作,希望能夠整理出曾經吸引我的一些有趣主題、希望能夠寫些文章。不過,這個工作做了一陣子,就發現有兩件「對自己算有趣、也頗有意義」的事情可做:開發 THDL prototype,以及完成一篇多年前起意的論文。只是,自己分身乏術、處理事情的能力也不怎麼樣,因此只好「頗有遺憾」地暫且擱下寫文章的想法。
轉眼間,這份 post doctor 工作也經歷一年了。這段期間閱讀了一些書籍,深深地感覺到自己這十年(或者,這二十年吧)來,除了追逐網路科技的新技術、除了工作經驗有所增加外,似乎沒有什麼長進。
那麼,這一年我得到了什麼呢?自己其實也說不清楚。大致上,應該都是些老生常談,都是些生活與實踐相關的感觸。或許比較強烈的一些字眼,是「藝術是個動詞」、「愛,是個動詞」、乃至「生活,也是個動詞」。動詞,指的就是必須在生活中去實踐,而不僅是表面的感覺、不僅是存於腦袋中的思考。
或許,人生本就是一場修行的歷程。誠摯地希望自己,能夠放開心胸,「活在當下」地觀看時空的深邃奧妙、感受生命的活潑躍動,進而深深地被感動、並逐漸地將感悟融入日常生活來實踐。
星期四, 11月 02, 2006
一個淡新檔案檢索問題
最近又回頭檢視古文書檢索的一些問題。
檢索的基本單位是「文件」。也就是說,檢索系統會將一份文件視為一個獨立的單位,而我們可將檢索的結果視為「多份文件的列表」。
那麼,到底什麼是「一份文件」呢?在 Web 上,通常是將一個網頁視為一份獨立的文件(來加以做索引處理)。例如,若把一本書的每一頁內容,都獨立地賦予一個 URL 來存取;那麼這本書如果有 100 頁,檢索系統就會將其視為 100 篇獨立的「小文件」。
但是這樣一來,檢索出來的前幾份文件,就有可能通通都是這本書的各個頁面。這時,如果使用者想要的,其實是另外一本書,他就很可能會覺得這樣的檢索結果「重覆太多」,認為檢索的效果不佳。
一種解決的方式,是把「具有某些共同索引特徵」(例如,同個網站的某個相同目錄)的頁面,整合起來視為一個群聚 (cluster)。檢索結果若含有多份屬於一個群聚的文件,系統可以只呈現出其中的一份。(我想,許多使用中的應用系統,都應該處理過類似的問題吧。)
最近處理古文書的檢索,也遇到 granularity 的問題。一篇很長的文章,或者一本厚厚的書,應該被切分到怎樣的程度,才算是「一份文件」?文章太長或太短,似乎都不好 -- 那麼,是不是有怎樣的準則,來判定文件合適的大小與段落?
一個例子是關於「淡新檔案」的檢索。淡新檔案的內容,是清代地方衙門裡的經年累積所成的公文卷宗,總共有1143「案」,19281「件」。因此,至少在理論上,合適的最小文件單位應該是「件」,而由多件來組成一個「案」。
問題是,歷史學者檢視淡新檔案的內容,需要看的通常不是「件」,而是一整個「案」-- 因為這樣子才有機會完整地了解分析事件的來龍去脈。想想看,當我們檢索到某本書的某一頁內容後,是不是也會想看到這本書的整體結構呢?於是,在檢索上,以「案」來做為文件單位,會不會反而比較合適呢?
不過,在基礎的資料的建構上,我覺得以「件」為單位應該是好事。或許,日後會有人嘗試運用自動的方法,尋找「件」與「件」之間的關連。例如說,以現在的「案」與「件」之間的階層關係作為標準答案,來探討把相關的「件」組合成「案」的演算法,那或許也會是一項有趣的研究呢。
檢索的基本單位是「文件」。也就是說,檢索系統會將一份文件視為一個獨立的單位,而我們可將檢索的結果視為「多份文件的列表」。
那麼,到底什麼是「一份文件」呢?在 Web 上,通常是將一個網頁視為一份獨立的文件(來加以做索引處理)。例如,若把一本書的每一頁內容,都獨立地賦予一個 URL 來存取;那麼這本書如果有 100 頁,檢索系統就會將其視為 100 篇獨立的「小文件」。
但是這樣一來,檢索出來的前幾份文件,就有可能通通都是這本書的各個頁面。這時,如果使用者想要的,其實是另外一本書,他就很可能會覺得這樣的檢索結果「重覆太多」,認為檢索的效果不佳。
一種解決的方式,是把「具有某些共同索引特徵」(例如,同個網站的某個相同目錄)的頁面,整合起來視為一個群聚 (cluster)。檢索結果若含有多份屬於一個群聚的文件,系統可以只呈現出其中的一份。(我想,許多使用中的應用系統,都應該處理過類似的問題吧。)
最近處理古文書的檢索,也遇到 granularity 的問題。一篇很長的文章,或者一本厚厚的書,應該被切分到怎樣的程度,才算是「一份文件」?文章太長或太短,似乎都不好 -- 那麼,是不是有怎樣的準則,來判定文件合適的大小與段落?
一個例子是關於「淡新檔案」的檢索。淡新檔案的內容,是清代地方衙門裡的經年累積所成的公文卷宗,總共有1143「案」,19281「件」。因此,至少在理論上,合適的最小文件單位應該是「件」,而由多件來組成一個「案」。
問題是,歷史學者檢視淡新檔案的內容,需要看的通常不是「件」,而是一整個「案」-- 因為這樣子才有機會完整地了解分析事件的來龍去脈。想想看,當我們檢索到某本書的某一頁內容後,是不是也會想看到這本書的整體結構呢?於是,在檢索上,以「案」來做為文件單位,會不會反而比較合適呢?
不過,在基礎的資料的建構上,我覺得以「件」為單位應該是好事。或許,日後會有人嘗試運用自動的方法,尋找「件」與「件」之間的關連。例如說,以現在的「案」與「件」之間的階層關係作為標準答案,來探討把相關的「件」組合成「案」的演算法,那或許也會是一項有趣的研究呢。
星期一, 10月 30, 2006
星期四, 10月 26, 2006
清晨的甜蜜負擔
清晨六點,發現小傢伙緊緊抓著我的手臂。
怎麼了呢?「爸爸不要去上班,我要爸爸在家陪我。」
「不行,跟爸爸說 bye bye。」一旁的媽媽說。小傢伙不依,很快地就流出了眼淚。

坦白說,很難招架女兒的這種柔情攻勢,很想多抱抱她,答應她的請求。但雖然今天自己是可以選擇陪她一個早上,卻有些擔心她會逐漸養成「想要,不然就哭」的習慣,所以我沒有答應(其實,我心裡是有些動心,自己也想再多睡一陣子呢)。
在媽媽扮演黑臉的狀況下,最後小傢伙只得噙著眼淚說,「爸爸你要打電話給我,你要想我喔~」
再過數年,小傢伙漸漸長大後,應該就不會這麼黏人了罷。然而,說不定我那時候,反而會懷念這種甜蜜的負擔呢。假使能夠,我真的希望能好好地珍惜保存這份令人心動的美好回憶。
怎麼了呢?「爸爸不要去上班,我要爸爸在家陪我。」
「不行,跟爸爸說 bye bye。」一旁的媽媽說。小傢伙不依,很快地就流出了眼淚。

坦白說,很難招架女兒的這種柔情攻勢,很想多抱抱她,答應她的請求。但雖然今天自己是可以選擇陪她一個早上,卻有些擔心她會逐漸養成「想要,不然就哭」的習慣,所以我沒有答應(其實,我心裡是有些動心,自己也想再多睡一陣子呢)。
在媽媽扮演黑臉的狀況下,最後小傢伙只得噙著眼淚說,「爸爸你要打電話給我,你要想我喔~」
再過數年,小傢伙漸漸長大後,應該就不會這麼黏人了罷。然而,說不定我那時候,反而會懷念這種甜蜜的負擔呢。假使能夠,我真的希望能好好地珍惜保存這份令人心動的美好回憶。
星期一, 10月 23, 2006
三談資料模型的架構圖
最近發現先前的「資料模型架構圖」,在釐清觀念的溝通上,確實頗有幫助。
或許先前許多溝通上的困難,扣除掉(其實是最重要的)情感因素後,大致可說是:每個人關心的子問題與重點各有不同,理解的深度與焦距也不一樣,但卻使用類似的詞彙或語言。大家都使用自己所認知的詞彙,卻沒有注意到討論很可能是「雞同鴨講」,以致結果類似於「一個中國、各自表述」。
討論後,隱隱覺得先前的架構圖中,好像還漏了些什麼,使用的詞彙也不怎麼好(哎,對目前使用的詞彙,其實也仍然不滿意啦)。修正了一下,新的架構圖長得像這樣:

有了資料模型的架構圖,對於每個人的提問與質疑,可以藉著定位(將問題大致歸屬於某個區塊)來釐清重點。例如,當討論的重心是在「抽象模型」時,其實我們不必太在意資料建構或實作時,一定會碰到的成本或效率問題。而當討論的重心是在「資料建構模型」或「實作模型」時,就必須考慮現實面的可行性。
此外,也可以將項老師所關心的「模型、語言、推理機制」,用這張架構圖來說明它們的位置。例如:
註:為了自己參考方便,整理一些相關的先前 posts:
資料模型的溝通、再談資料模型、官職表:行政組織與任職人員、官職表的模型問題、來自史料的想像。
或許先前許多溝通上的困難,扣除掉(其實是最重要的)情感因素後,大致可說是:每個人關心的子問題與重點各有不同,理解的深度與焦距也不一樣,但卻使用類似的詞彙或語言。大家都使用自己所認知的詞彙,卻沒有注意到討論很可能是「雞同鴨講」,以致結果類似於「一個中國、各自表述」。
討論後,隱隱覺得先前的架構圖中,好像還漏了些什麼,使用的詞彙也不怎麼好(哎,對目前使用的詞彙,其實也仍然不滿意啦)。修正了一下,新的架構圖長得像這樣:

有了資料模型的架構圖,對於每個人的提問與質疑,可以藉著定位(將問題大致歸屬於某個區塊)來釐清重點。例如,當討論的重心是在「抽象模型」時,其實我們不必太在意資料建構或實作時,一定會碰到的成本或效率問題。而當討論的重心是在「資料建構模型」或「實作模型」時,就必須考慮現實面的可行性。
此外,也可以將項老師所關心的「模型、語言、推理機制」,用這張架構圖來說明它們的位置。例如:
- 「模型」應該可以對應到這裡的「問題抽象模型」,但最後應該可以有簡潔漂亮的數學或邏輯表達方式。
- 「語言」與「推理機制」,在思考或討論時,都運作在抽象模型上。但是,因為我們希望最後實作出「實際可用」的東西,因此可以將「語言」視為「使用者介面模型」的一種,將「推理機制」視為「實作模型」中必備的功能區塊。
- 每個模型中,都還可能有不同層次的模型。例如,即使是「抽象模型」,也依然可以區分為「理想中的抽象模型」(例如,假設每個歷史事件的日期都應該是明確的)與「現實環境下的抽象模型」(實際上,取得的時間描述通常有其模糊性)。
註:為了自己參考方便,整理一些相關的先前 posts:
資料模型的溝通、再談資料模型、官職表:行政組織與任職人員、官職表的模型問題、來自史料的想像。
星期四, 10月 19, 2006
星期三, 10月 18, 2006
論文難寫
寫論文,對我來說還真是一件困難事。
經過兩個多月的努力與掙扎,終於將論文的初稿完成,在今天拿給項老師審閱。看看自己最後決定的論文標題,與多年前投稿失敗的那一篇,相似度高到只差了幾個用字有了改變(而自己甚至還在斟酌是否先前的用字才更恰當)。那麼,為什麼還會需要這麼長的時間?
表面上的差異,或許是在於多舉了幾個例子,重組了論述的條理,並且修改英文的語句。但重寫論文期間,苦思該如何表達自己的想法與意見,卻也真的讓自己更能釐清想說的重點。
當然啦,自己也還是知道,許多地方論述似乎仍然不是那麼自然有力。此外,在英文語句的表達、以及去除冗餘的說理與造句上,這篇論文也應該還有「很多」的問題。我甚至預計,之後還會至少需要一次「大改」、以及數次的「小改」呢。
而說「論文難寫」,是在於自己雖然已經知道要述說的內容,也很努力地去寫,但平均每天生產的數量,竟然連半頁都不到。只是,每個人認為困難的事,真的都不一樣。我覺得寫論文難,有人覺得生小孩難,也有人覺得養小孩更難。
事後回顧,寫論文之所以如此困難,或許是因為自己年輕時並沒有接受足夠的訓練、沒有足夠好的英文表達能力、同時也並沒能釐清許多觀念之間的條理關係。但不管怎樣,寫完初稿總也算達到一個階段性目標,總也是令人感到高興的一件事。
經過兩個多月的努力與掙扎,終於將論文的初稿完成,在今天拿給項老師審閱。看看自己最後決定的論文標題,與多年前投稿失敗的那一篇,相似度高到只差了幾個用字有了改變(而自己甚至還在斟酌是否先前的用字才更恰當)。那麼,為什麼還會需要這麼長的時間?
表面上的差異,或許是在於多舉了幾個例子,重組了論述的條理,並且修改英文的語句。但重寫論文期間,苦思該如何表達自己的想法與意見,卻也真的讓自己更能釐清想說的重點。
當然啦,自己也還是知道,許多地方論述似乎仍然不是那麼自然有力。此外,在英文語句的表達、以及去除冗餘的說理與造句上,這篇論文也應該還有「很多」的問題。我甚至預計,之後還會至少需要一次「大改」、以及數次的「小改」呢。
而說「論文難寫」,是在於自己雖然已經知道要述說的內容,也很努力地去寫,但平均每天生產的數量,竟然連半頁都不到。只是,每個人認為困難的事,真的都不一樣。我覺得寫論文難,有人覺得生小孩難,也有人覺得養小孩更難。
事後回顧,寫論文之所以如此困難,或許是因為自己年輕時並沒有接受足夠的訓練、沒有足夠好的英文表達能力、同時也並沒能釐清許多觀念之間的條理關係。但不管怎樣,寫完初稿總也算達到一個階段性目標,總也是令人感到高興的一件事。
星期日, 10月 15, 2006
笨蛋,就是溝通的問題!
前兩天項老師找我和學妹討論「歷史資訊學」(hisinformatics) 中的模型、語言、以及推理機制。
學妹跟老師說,她和我對老師所說的「語言」,聽到的重點與理解上都有差異。由於「語言」必須具有足夠的表達能力,她似乎傾向於往 meta-language 的角度思考。然而,我卻覺得,若是把重點擺在 meta-language,那麼做出來的結果,很可能是 too general to be useful,這應該不是老師所想要的。
於是,老師試著把他的想法,說得更清楚些。他一邊解釋、一邊思考,最後很高興地說,「啊,這樣我們就有歷史資訊學了。」學妹對老師的興奮感到不解,但其實項老師這幾年忙著行政工作,很難有時間好好地思考「歷史資訊學」該建構於怎樣的理論模型上。能夠看見理論模型的曙光,我的回答又是「非常同意」,老師當然很高興。
老師說,我從前都沒有說過「非常同意」這樣的話。我事後想了想,我的理解其實和從前幾乎沒有什麼不同。只是,在從前,看到的是不一樣的地方;但現在,重視的卻是意見相同之處。因此,以前會急著強調自己與老師想法不同之處(甚至想表現出,自己想法應該比較好),但現在卻對相同的想法給予掌聲。至於想法不同的地方怎麼辦?以後「自然」會有機會表達啊。
所以,這其實應該就是溝通上的問題。就像前一篇 post 所說的,不管自己的想法有多獨特,在溝通時也不應讓別人覺得他是被強迫接受的。而從這樣的角度觀看,多給他人肯定,其實也是對自己有信心的表現呢。
學妹跟老師說,她和我對老師所說的「語言」,聽到的重點與理解上都有差異。由於「語言」必須具有足夠的表達能力,她似乎傾向於往 meta-language 的角度思考。然而,我卻覺得,若是把重點擺在 meta-language,那麼做出來的結果,很可能是 too general to be useful,這應該不是老師所想要的。
於是,老師試著把他的想法,說得更清楚些。他一邊解釋、一邊思考,最後很高興地說,「啊,這樣我們就有歷史資訊學了。」學妹對老師的興奮感到不解,但其實項老師這幾年忙著行政工作,很難有時間好好地思考「歷史資訊學」該建構於怎樣的理論模型上。能夠看見理論模型的曙光,我的回答又是「非常同意」,老師當然很高興。
老師說,我從前都沒有說過「非常同意」這樣的話。我事後想了想,我的理解其實和從前幾乎沒有什麼不同。只是,在從前,看到的是不一樣的地方;但現在,重視的卻是意見相同之處。因此,以前會急著強調自己與老師想法不同之處(甚至想表現出,自己想法應該比較好),但現在卻對相同的想法給予掌聲。至於想法不同的地方怎麼辦?以後「自然」會有機會表達啊。
所以,這其實應該就是溝通上的問題。就像前一篇 post 所說的,不管自己的想法有多獨特,在溝通時也不應讓別人覺得他是被強迫接受的。而從這樣的角度觀看,多給他人肯定,其實也是對自己有信心的表現呢。
星期五, 10月 13, 2006
一本談溝通的小書
最近對於薄薄的小書特別感興趣。
不知道是不是為了擴充版面賺稿費,現在的書籍大半都是厚厚的一大本。如果是經典著作,那也就算了;但是我總覺得很多書籍的內容,其實並沒有豐富到需要那麼多頁面來說明與闡釋。
前些時日在書店看到一本講溝通的小書:「五座燈塔教我的事」。全書只有 109 頁,字體字距都不小,中間還有一些不錯的插圖。心想這一陣子自己似乎頗關心溝通問題,看看專業的書籍或許會有幫助吧。
書中嘗試以第一人稱的故事,敘述他從五座燈塔裡思考體悟到的五項溝通關鍵:
這些要領,乍看下還真都像老生常談呢。這說明了我對於這類條理敘述的方式,感知其實已經麻木了。或許,重點是在於切身去實踐,並從實踐中體悟到溝通的要領或真理吧。
書中有一句話,倒是頗令人回味:生活是與心靈共生,而不是與腦袋共存。似乎在很久的從前,就有某些人曾經提醒過這句話。只可惜,當時的自己似乎太重視道理的論辯,因而忽略生活是有溫暖與情感的。
註: 隔天後,我覺得這本書的主旨,應該是「演講、演說」的五項關鍵,而非「溝通」的五項關鍵(不知道是不是自己的感覺有偏差,還是翻譯的人弄錯了)。只是,閱讀時自己還是一直被譯文帶著走,也分不清「溝通」、「演說」之間,應該是有相當差異的。
不知道是不是為了擴充版面賺稿費,現在的書籍大半都是厚厚的一大本。如果是經典著作,那也就算了;但是我總覺得很多書籍的內容,其實並沒有豐富到需要那麼多頁面來說明與闡釋。
前些時日在書店看到一本講溝通的小書:「五座燈塔教我的事」。全書只有 109 頁,字體字距都不小,中間還有一些不錯的插圖。心想這一陣子自己似乎頗關心溝通問題,看看專業的書籍或許會有幫助吧。
書中嘗試以第一人稱的故事,敘述他從五座燈塔裡思考體悟到的五項溝通關鍵:
- 傳遞的訊息要強而有力
- 善用譬喻讓人印象深刻
- 使用聽者聽得懂得語言
- 常注意聽者的各種反應
- 以邀請來代替強迫信服
書中有一句話,倒是頗令人回味:生活是與心靈共生,而不是與腦袋共存。似乎在很久的從前,就有某些人曾經提醒過這句話。只可惜,當時的自己似乎太重視道理的論辯,因而忽略生活是有溫暖與情感的。
註: 隔天後,我覺得這本書的主旨,應該是「演講、演說」的五項關鍵,而非「溝通」的五項關鍵(不知道是不是自己的感覺有偏差,還是翻譯的人弄錯了)。只是,閱讀時自己還是一直被譯文帶著走,也分不清「溝通」、「演說」之間,應該是有相當差異的。
星期一, 10月 09, 2006
星期四, 10月 05, 2006
星期二, 10月 03, 2006
又遇編碼問題
原本以為對文字編碼問題已經相當了解,沒想到最近又碰上一個狀況。
一直以為,Unicode 比 Big5 收錄更多的中文字元,因此從 Unicode 轉碼到 Big5,可能有部分字集無法轉換;但從 Big 轉碼到 Unicode,則不應該會碰到轉碼失敗的狀況。
但上週試圖從 Big5 編碼的網頁擷取內容時,PHP 的 iconv() 函式卻回報轉碼失敗的警告訊息。比較轉碼前後的檔案,發現原來是「恒春」的「恒」轉碼失敗了。
啊,怎麼會這樣?這下子怎麼辦呢?
想不出什麼好方法,只好先用 Windows VBScripting 將儲存下來的檔案,從 Big5 編碼轉成 Unicode,然後直接用 PHP 來讀取 Unicode 檔。比較耐人尋思的是,或許是因為資料處理的流程發生改變,即使是如此簡單的修改,也讓自己著實花了好一番工夫才完成。
事後,我試了一下,Java 程式也可以正確地轉換「恒」的文字編碼。那麼,為什麼 PHP 就不行呢?查閱相關文件,PHP 的 iconv() 好像是採用 GNU 的 libiconv 來執行編碼轉換的。下載 libiconv 來試試,它真的沒有辦法成功轉換「恒」這個字!
唉,看來連 GNU 的軟體,在中文處理上的可信賴度都沒有想像來的高呢。真是只能用嘆氣來形容自己的感覺了。
一直以為,Unicode 比 Big5 收錄更多的中文字元,因此從 Unicode 轉碼到 Big5,可能有部分字集無法轉換;但從 Big 轉碼到 Unicode,則不應該會碰到轉碼失敗的狀況。
但上週試圖從 Big5 編碼的網頁擷取內容時,PHP 的 iconv() 函式卻回報轉碼失敗的警告訊息。比較轉碼前後的檔案,發現原來是「恒春」的「恒」轉碼失敗了。
啊,怎麼會這樣?這下子怎麼辦呢?
想不出什麼好方法,只好先用 Windows VBScripting 將儲存下來的檔案,從 Big5 編碼轉成 Unicode,然後直接用 PHP 來讀取 Unicode 檔。比較耐人尋思的是,或許是因為資料處理的流程發生改變,即使是如此簡單的修改,也讓自己著實花了好一番工夫才完成。
事後,我試了一下,Java 程式也可以正確地轉換「恒」的文字編碼。那麼,為什麼 PHP 就不行呢?查閱相關文件,PHP 的 iconv() 好像是採用 GNU 的 libiconv 來執行編碼轉換的。下載 libiconv 來試試,它真的沒有辦法成功轉換「恒」這個字!
唉,看來連 GNU 的軟體,在中文處理上的可信賴度都沒有想像來的高呢。真是只能用嘆氣來形容自己的感覺了。
星期六, 9月 30, 2006
回鍋週年雜感
很快地,回鍋到實驗室擔任博士後研究,已經滿一年了。
這一年中,經歷了不少心情的起伏,也漸漸地了解感受,每個人都有每個人精彩的人生要奮鬥。起初,是由於公司未來走向不明,趁著縮編的機會求去;接下來,是思考自己是怎樣特色的一個人,究竟想要做些什麼事;然後,在看了許多書、在想找回自我的途中,因緣際會地漸漸懂得欣賞人生。
此外,第二個寶寶出生後,似乎更可以感受到,自己並不很想將時間都放在工作上。然而,有許多工作,其實是需要投注相當的時間精力,才能夠獲致比較良好的進展,因此經常還是感覺力不從心。
接下來,寫好論文之後,應該就得找尋下一份、「希望是自己喜歡」的工作吧。只是,年紀已經接近四十,很多產業都只想找年輕的小伙子呢。看來,競爭力不夠,是很難在產業界生存的。
這應該算是幸福的一年。真的十分感謝,這一年來太太與家人的支持。
這一年中,經歷了不少心情的起伏,也漸漸地了解感受,每個人都有每個人精彩的人生要奮鬥。起初,是由於公司未來走向不明,趁著縮編的機會求去;接下來,是思考自己是怎樣特色的一個人,究竟想要做些什麼事;然後,在看了許多書、在想找回自我的途中,因緣際會地漸漸懂得欣賞人生。
此外,第二個寶寶出生後,似乎更可以感受到,自己並不很想將時間都放在工作上。然而,有許多工作,其實是需要投注相當的時間精力,才能夠獲致比較良好的進展,因此經常還是感覺力不從心。
接下來,寫好論文之後,應該就得找尋下一份、「希望是自己喜歡」的工作吧。只是,年紀已經接近四十,很多產業都只想找年輕的小伙子呢。看來,競爭力不夠,是很難在產業界生存的。
這應該算是幸福的一年。真的十分感謝,這一年來太太與家人的支持。
星期四, 9月 28, 2006
再談資料模型
早上突然又對「資料模型」有了些「或許更加清晰」的感覺。
或許是因為昨天的實驗室會議後,我覺得將資料模型做這些分類,真的對溝通有幫助。雖然學弟仍然被老師數說了一頓(因為他在一些沒有想清楚的地方硬拗),但將資料模型分成幾類,因為可以縮小溝通的範疇,在我看來確實有助於「寫投影片內容者」與「看投影片思考者」之間的討論。
於是,對原先的資料模型做了些修改。新的圖長得像這樣:

「數學世界」提供了抽象模型的描述基礎,而「物理世界的問題」則對抽象模型該有哪些特性提供來源。一個好的抽象模型,應該可以解決一群性質類似的問題(稍微差的模型,通用性就比較弱)。
例如,物理世界所關心的問題,用抽象模型代表後,其模型中具有某些特性的元素,其間可能有代數系統的關係(例如,彼此間有 transitivity 的性質),或可能形成一個樹狀的階層結構。
而這些性質與結構如何被實作,在討論抽象層的通用性時,通常不是那麼重要。但對抽象模型有了清楚的認知後,對於「實作模型」的設計、「建構模型」該提供那些不可或缺的材料、以及「應用模型」的限制,都能夠提供具有建設性的觀點。
或許是因為昨天的實驗室會議後,我覺得將資料模型做這些分類,真的對溝通有幫助。雖然學弟仍然被老師數說了一頓(因為他在一些沒有想清楚的地方硬拗),但將資料模型分成幾類,因為可以縮小溝通的範疇,在我看來確實有助於「寫投影片內容者」與「看投影片思考者」之間的討論。
於是,對原先的資料模型做了些修改。新的圖長得像這樣:

「數學世界」提供了抽象模型的描述基礎,而「物理世界的問題」則對抽象模型該有哪些特性提供來源。一個好的抽象模型,應該可以解決一群性質類似的問題(稍微差的模型,通用性就比較弱)。
例如,物理世界所關心的問題,用抽象模型代表後,其模型中具有某些特性的元素,其間可能有代數系統的關係(例如,彼此間有 transitivity 的性質),或可能形成一個樹狀的階層結構。
而這些性質與結構如何被實作,在討論抽象層的通用性時,通常不是那麼重要。但對抽象模型有了清楚的認知後,對於「實作模型」的設計、「建構模型」該提供那些不可或缺的材料、以及「應用模型」的限制,都能夠提供具有建設性的觀點。
星期二, 9月 26, 2006
太過抽象
早上在麥當勞遇到 Ankh,聊了些最近的情形。
聊什麼呢?他說,我昨天的 post,講得太抽象啦。看到我那樣的句子,他會直接聯想到波柏(Karl Popper)與孔恩(Thomas Kuhn)關於科學哲學的論辯。然後,他說,我寫這樣的 post,沒有人會回應的 --- 因為沒有人知道該怎樣回應。
我說,我沒有那種偉大的企圖啦。但... 他說的也有相當部分是實情。大概是思考或者溝通上的「壞習慣」,我總是想要追溯一些「比較形而上」的東西。想探究這些起源或背後原因,應該不是件壞事,但壞就壞在自己其實沒有能力去「清楚地說明這些東西是什麼」。如此一來,就只是片面地企盼聽眾能夠「了解、領會」,溝通當然不容易成功了。
不過,後來談論到前些日子的 post「資料模型的溝通」,他倒是相當有興趣去釐清我說的「資料的抽象模型」與「數學模型」、「物件導向模型」之間的差異。我說,我其實也只是有一些直覺或感覺;我或許可以整理出一些自己認為的差異點,但聽眾卻不見得能夠認同我所說的差異。
Ankh 說,這或許是因為「缺乏適當語言」的緣故。討論「數學模型」時,可以使用數學的語言;討論「物件導向模型」時,可以用實作上所通用的語言。但是「資料的抽象模型」呢?大家都好像只有模模糊糊的感覺,卻找不到合適的例子或類比呢。
不得不佩服 Ankh 的博學、觀察、與評論。他就是能夠看到、說出一些我看不到、說不出的東西。或許,這也正是他特有的天賦才能吧。
聊什麼呢?他說,我昨天的 post,講得太抽象啦。看到我那樣的句子,他會直接聯想到波柏(Karl Popper)與孔恩(Thomas Kuhn)關於科學哲學的論辯。然後,他說,我寫這樣的 post,沒有人會回應的 --- 因為沒有人知道該怎樣回應。
我說,我沒有那種偉大的企圖啦。但... 他說的也有相當部分是實情。大概是思考或者溝通上的「壞習慣」,我總是想要追溯一些「比較形而上」的東西。想探究這些起源或背後原因,應該不是件壞事,但壞就壞在自己其實沒有能力去「清楚地說明這些東西是什麼」。如此一來,就只是片面地企盼聽眾能夠「了解、領會」,溝通當然不容易成功了。
不過,後來談論到前些日子的 post「資料模型的溝通」,他倒是相當有興趣去釐清我說的「資料的抽象模型」與「數學模型」、「物件導向模型」之間的差異。我說,我其實也只是有一些直覺或感覺;我或許可以整理出一些自己認為的差異點,但聽眾卻不見得能夠認同我所說的差異。
Ankh 說,這或許是因為「缺乏適當語言」的緣故。討論「數學模型」時,可以使用數學的語言;討論「物件導向模型」時,可以用實作上所通用的語言。但是「資料的抽象模型」呢?大家都好像只有模模糊糊的感覺,卻找不到合適的例子或類比呢。
不得不佩服 Ankh 的博學、觀察、與評論。他就是能夠看到、說出一些我看不到、說不出的東西。或許,這也正是他特有的天賦才能吧。
星期一, 9月 25, 2006
搬弄論文的英文造句
必須承認,自己很不會寫論文;或者說,很不會用論文形式來表達自己的想法。
這兩個月來,項老師已經多次詢問,我論文寫的進度如何。我猜項老師也不想嘮叨地問,他的詢問其實是表達他的關心;但我的進度實在太遲緩,弄得連自己都覺得很不舒服。
從內容來看,論文想陳述的主題與結果,三分之二都是多年前做博士研究時,就已經獲得的。上個月去西雅圖參加研討會,發表的會議論文其實大致也就是這些內容。那麼,到底是什麼問題,讓我一直寫不出完整的論文?
一個原因是,自己不但英文不好,論述的組織與造句能力也都不佳。但更深層的原因,或許是因為自己其實並沒有「真的」弄清楚自己想要表達些什麼。
例如說,經過了幾天的醞釀,我重新組織了一些論述的順序,並想用一句「過去一些合理的假設,今日並不見得合理」來連結兩個段落。起初,我寫出來的英文句子像這樣:
幾天後,想想覺得不對勁,「合理的假設」怎麼會隨時間變得不合理呢?應該是「過去看似合理的假設,今日不見得合理」吧?於是,把句子改成:
今天早上,想想還是覺得不對勁。這個句子的內容太具有一般性了,套在那兒都說得通;加上這個句子,對於了解論文內容其實並沒有什麼幫助(也就是說,它是一句「廢話」)。於是,又修改了一下:
翻譯成中文是:「這些假設,在簡化的狀況下看似合理,但實際上卻可能並非如此。」但它真的就是我想說的嗎?連自己都不敢百分百地確定啊。(想到日後重整文章的段落時,很可能還會刪去這些「醞釀苦思許久」的文句,就更覺得悲情。)
對我來說,寫論文真的是件耗費時間精力的事。明明內容與結果都有了,想不到「把它們清楚地說出來、寫出來」竟也是如此困難。有時,甚至會覺得自己像是在搬弄英文造句的小丑呢。
但不管怎樣,總是認為自己應該「盡力去寫好一篇論文」。雖然就目前的狀況來看,終究還是寫不出怎樣的好論文;但能夠感受到寫論文的困難,對於日後欣賞好的論文,並敬佩能夠寫出好論文的人,應該都有相當幫助吧。
這兩個月來,項老師已經多次詢問,我論文寫的進度如何。我猜項老師也不想嘮叨地問,他的詢問其實是表達他的關心;但我的進度實在太遲緩,弄得連自己都覺得很不舒服。
從內容來看,論文想陳述的主題與結果,三分之二都是多年前做博士研究時,就已經獲得的。上個月去西雅圖參加研討會,發表的會議論文其實大致也就是這些內容。那麼,到底是什麼問題,讓我一直寫不出完整的論文?
一個原因是,自己不但英文不好,論述的組織與造句能力也都不佳。但更深層的原因,或許是因為自己其實並沒有「真的」弄清楚自己想要表達些什麼。
例如說,經過了幾天的醞釀,我重新組織了一些論述的順序,並想用一句「過去一些合理的假設,今日並不見得合理」來連結兩個段落。起初,我寫出來的英文句子像這樣:
Reasonable assumptions made in the past may not be so reasonable today.
幾天後,想想覺得不對勁,「合理的假設」怎麼會隨時間變得不合理呢?應該是「過去看似合理的假設,今日不見得合理」吧?於是,把句子改成:
Assumptions plausible in the past may not be so reasonable today.
今天早上,想想還是覺得不對勁。這個句子的內容太具有一般性了,套在那兒都說得通;加上這個句子,對於了解論文內容其實並沒有什麼幫助(也就是說,它是一句「廢話」)。於是,又修改了一下:
These assumptions are plausible in simplified cases, but they may not be so reasonable in practice...
翻譯成中文是:「這些假設,在簡化的狀況下看似合理,但實際上卻可能並非如此。」但它真的就是我想說的嗎?連自己都不敢百分百地確定啊。(想到日後重整文章的段落時,很可能還會刪去這些「醞釀苦思許久」的文句,就更覺得悲情。)
對我來說,寫論文真的是件耗費時間精力的事。明明內容與結果都有了,想不到「把它們清楚地說出來、寫出來」竟也是如此困難。有時,甚至會覺得自己像是在搬弄英文造句的小丑呢。
但不管怎樣,總是認為自己應該「盡力去寫好一篇論文」。雖然就目前的狀況來看,終究還是寫不出怎樣的好論文;但能夠感受到寫論文的困難,對於日後欣賞好的論文,並敬佩能夠寫出好論文的人,應該都有相當幫助吧。
星期四, 9月 21, 2006
只看見自己想看的
曾經多次聽到「人只看得見自己想看的」。
這句話本身就很耐人尋味。從理論的角度來看,這句話「當然」是對的。自己不想看見的,雖然可以出現在眼簾;但因為不想看見,人卻可以「有意無意地」忽略它的存在。
但將這句話引入生活,卻經常可以令自己有煥然一新的不同感受。半年前也曾片段地提到,紐約時報的一篇報導裡,兩個人之間的對話:「You see what you want to see」與「You don't see what you don't want to see」。人與人之間溝通的困難,或許有一大部分就是在於,「只看得見自己想看的、看不見自己不想看的」。
最近從書櫃裡找出一本書「名牌得很厲害」。不曉得是否因為自己最近就是想看這類東西,雖然連前三章都還沒看完,我對作者的一些話語,卻頗能產生聯想與共鳴:
先有雞還是先有蛋?即使用一千年的時間去爭辯,這個問題可能也依然無解。而若將「品牌」換成「產品」或「模型」,以上的兩句話似乎也都說得通呢。這是不是表示,這類的情事即使有不同的表象,核心深處也依然存有某些類似、重要的共通性呢?
這句話本身就很耐人尋味。從理論的角度來看,這句話「當然」是對的。自己不想看見的,雖然可以出現在眼簾;但因為不想看見,人卻可以「有意無意地」忽略它的存在。
但將這句話引入生活,卻經常可以令自己有煥然一新的不同感受。半年前也曾片段地提到,紐約時報的一篇報導裡,兩個人之間的對話:「You see what you want to see」與「You don't see what you don't want to see」。人與人之間溝通的困難,或許有一大部分就是在於,「只看得見自己想看的、看不見自己不想看的」。
最近從書櫃裡找出一本書「名牌得很厲害」。不曉得是否因為自己最近就是想看這類東西,雖然連前三章都還沒看完,我對作者的一些話語,卻頗能產生聯想與共鳴:
- 如果是新開發的品牌,就必須構思出確切的定位;如果是現有品牌,則必須了解原有的定位,並且抓出未來的走向。
- 「為新品牌憑空創造一句響亮的廣告詞」,或者「重新塑造既有品牌的形象」,那一件事比較困難?真要爭論的話,給你一千年也辯不完 ...
星期一, 9月 18, 2006
資料模型的溝通
必須承認,自己在溝通方面的表現實在很差勁。
早在幾個月前,我就曾談過了一些自己對於「官職表資料模型」的看法(可參考 官職表:行政組織與任職人員 與 官職表的模型問題)。我也曾嘗試與老師、實驗室成員溝通自己的想法,但很可惜地都不怎麼成功。
隨著時間的流逝,慢慢地實驗室終於有人必須面對資料模型的問題。八月底的實驗室會議,學弟被老師罵到臭頭,在我看來也是因為溝通不良的緣故。
溝通本來就不是一件容易的事。但是為什麼連學術殿堂上的專業溝通,都顯得如此吃力呢?我漸漸地認為,一個頗重要的原因,是在於「溝通者所關注的焦點不同,卻使用類似的語彙」。
什麼意思呢?且讓我嘗試用以下的圖來解釋(這裡套用的詞彙,是自己左思右想後,覺得比較合適的。雖然我覺得,應該早就存在類似的圖表來解說 data modeling 的問題,但手頭實在也找不到這樣的資訊,就先誇大地說是自己的發現吧)。

項老師在理論方面(Abstract Model 的部分)非常拿手。在主導 THDL(台灣歷史數位圖書館)計畫多年後,他也明瞭資料建構的困難(人工建置、修訂 metadata 的成本極高)。但麻煩出在,即使有了抽象模型,也建構了適當的基礎資料;但一碰上實作,還是會產生很多系統開發、效能、以及後續維護改進的問題。
學弟挨罵的原因,是因為資料庫儲存地名資訊的每一列,id 都是用 a.b.c.d 這樣的編碼方式,來表示地名間的階層關係。老師認為,將階層關係直接寫在資料庫裡,將會失去資料建構的彈性:如果以後發現在節點 b 與 c 之間,還有一個節點 x,那麼不是整個資料表都需要重新建置嗎?
換句話說,項老師以為,資料表是由 Excel 之類人工建立的表單(contruction model)直接對應產生。因此,「將階層資訊編碼在 id 欄位」,就表示在 Excel 的表單裡,每一列都需要人工建置這樣的階層編碼。
但其實,階層編碼不必然都是由人工所產生的。如果有良好的建構模型,我們可以寫程式(上圖齒輪的部分),在彙整建構模型所提供的資訊時,自動產生這樣的編碼。
此外,實作上用關聯式資料庫來處理階層資訊,有時反而必須在效率上付出代價。因此若階層資訊是靜態的,深度也並不大,直接把階層資訊編碼在欄位裡,或許反而是合宜的處理方式呢。
於是,結果是溝通時大家關心不同的地方,但都用同樣的「模型」一詞(沒有區分各種模型),以致類似「雞同鴨講」了。老師關心資料建構的問題,但學弟只展示系統的運作方式 (application model),以及秀出資料庫的資料表 (implementation model),卻並沒有好好地說明建構的模型(原始資料該用什麼格式儲存有什麼欄位、該如何將這些資訊彙整入資料庫)!
上星期五我花了許多時間,利用上面的圖表,向兩位學弟說明「官職表」與「地名沿革」的資料模型問題。最後,他們表示同意我的想法與觀點。最近對於自己的溝通能力已經沮喪到不行,能夠得到一些正面的回應,還真很令人感到高興呢。
早在幾個月前,我就曾談過了一些自己對於「官職表資料模型」的看法(可參考 官職表:行政組織與任職人員 與 官職表的模型問題)。我也曾嘗試與老師、實驗室成員溝通自己的想法,但很可惜地都不怎麼成功。
隨著時間的流逝,慢慢地實驗室終於有人必須面對資料模型的問題。八月底的實驗室會議,學弟被老師罵到臭頭,在我看來也是因為溝通不良的緣故。
溝通本來就不是一件容易的事。但是為什麼連學術殿堂上的專業溝通,都顯得如此吃力呢?我漸漸地認為,一個頗重要的原因,是在於「溝通者所關注的焦點不同,卻使用類似的語彙」。
什麼意思呢?且讓我嘗試用以下的圖來解釋(這裡套用的詞彙,是自己左思右想後,覺得比較合適的。雖然我覺得,應該早就存在類似的圖表來解說 data modeling 的問題,但手頭實在也找不到這樣的資訊,就先誇大地說是自己的發現吧)。

項老師在理論方面(Abstract Model 的部分)非常拿手。在主導 THDL(台灣歷史數位圖書館)計畫多年後,他也明瞭資料建構的困難(人工建置、修訂 metadata 的成本極高)。但麻煩出在,即使有了抽象模型,也建構了適當的基礎資料;但一碰上實作,還是會產生很多系統開發、效能、以及後續維護改進的問題。
學弟挨罵的原因,是因為資料庫儲存地名資訊的每一列,id 都是用 a.b.c.d 這樣的編碼方式,來表示地名間的階層關係。老師認為,將階層關係直接寫在資料庫裡,將會失去資料建構的彈性:如果以後發現在節點 b 與 c 之間,還有一個節點 x,那麼不是整個資料表都需要重新建置嗎?
換句話說,項老師以為,資料表是由 Excel 之類人工建立的表單(contruction model)直接對應產生。因此,「將階層資訊編碼在 id 欄位」,就表示在 Excel 的表單裡,每一列都需要人工建置這樣的階層編碼。
但其實,階層編碼不必然都是由人工所產生的。如果有良好的建構模型,我們可以寫程式(上圖齒輪的部分),在彙整建構模型所提供的資訊時,自動產生這樣的編碼。
此外,實作上用關聯式資料庫來處理階層資訊,有時反而必須在效率上付出代價。因此若階層資訊是靜態的,深度也並不大,直接把階層資訊編碼在欄位裡,或許反而是合宜的處理方式呢。
於是,結果是溝通時大家關心不同的地方,但都用同樣的「模型」一詞(沒有區分各種模型),以致類似「雞同鴨講」了。老師關心資料建構的問題,但學弟只展示系統的運作方式 (application model),以及秀出資料庫的資料表 (implementation model),卻並沒有好好地說明建構的模型(原始資料該用什麼格式儲存有什麼欄位、該如何將這些資訊彙整入資料庫)!
上星期五我花了許多時間,利用上面的圖表,向兩位學弟說明「官職表」與「地名沿革」的資料模型問題。最後,他們表示同意我的想法與觀點。最近對於自己的溝通能力已經沮喪到不行,能夠得到一些正面的回應,還真很令人感到高興呢。
星期五, 9月 15, 2006
Internal Server Error?
怪怪,怎麼都連不上 MPH、貓、與 LYR 的 Blog 網頁?
得到的訊息都是 HTTP 500 (Internal Server Error)。是因為自己太疲倦,連 Computer + Networks 都想欺負,還是 Blogger beta 真的有太多 bugs?
更怪的是,自己的 Blogger site 竟然還可以連線,還可以寫這篇 post...
得到的訊息都是 HTTP 500 (Internal Server Error)。是因為自己太疲倦,連 Computer + Networks 都想欺負,還是 Blogger beta 真的有太多 bugs?
更怪的是,自己的 Blogger site 竟然還可以連線,還可以寫這篇 post...
星期四, 9月 14, 2006
即將跨入另一個階段
小寶寶即將滿月。今天太太就要離開月子中心,而生活也將跨入另一個階段了。
佩服施明德的勇氣與毅力,也佩服 Ankh 仍然有勇氣「想做出讓人感動的東西」。自己呢?除了變得比較樂觀、除了努力照顧小朋友之外,有沒有勇氣探尋其他有價值、有意義的人生目標?
說的還是比做的多,說易行難。現實面是,論文進度依然遲緩。雖然自己也明白,回鍋做 post doctor 已經快滿一年,應該想想下一份工作是什麼;但我最近似乎越來越關心實驗室的進度,與學弟妹們討論問題時,也經常越講越激動。
是怎麼回事呢?
佩服施明德的勇氣與毅力,也佩服 Ankh 仍然有勇氣「想做出讓人感動的東西」。自己呢?除了變得比較樂觀、除了努力照顧小朋友之外,有沒有勇氣探尋其他有價值、有意義的人生目標?
說的還是比做的多,說易行難。現實面是,論文進度依然遲緩。雖然自己也明白,回鍋做 post doctor 已經快滿一年,應該想想下一份工作是什麼;但我最近似乎越來越關心實驗室的進度,與學弟妹們討論問題時,也經常越講越激動。
是怎麼回事呢?
星期二, 9月 12, 2006
在困難中找尋機會
日子過得快,從西雅圖回來也將近一個月了。
第二個寶寶的出生,讓自己的日常生活顯得十分忙碌。也因親身體驗,心裡著實佩服那些能夠自己帶寶寶、照顧好家庭、又能在工作上發揮才能的人。
貓說,選擇當個好爸爸的同時,也就放棄了許多東西;他也多次建議,嘗試雇個保母來帶小朋友。這樣可以讓我擁有更多自由的時間,而工作上也就比較能夠有進展。然而,我總覺得,現在應該還不到需要找保母的時候。
能夠自己帶寶寶是一種幸福。時下許多父母因為工作忙碌而無法親自帶小孩,其實是很可惜的。看著大寶寶在一個月內,不論是講話或者玩耍,都成長了許多,心裡真的有股難言的感動。幸福,或許是在持續地對他人付出關愛後,才能成長、才能獲得的。
今天在轉寄來的信件裡,看到一句黑幼龍講的話:「不成熟的人在機會中找困難,成熟的人在困難中找機會」。過去會覺得這類的話是在搬弄文采,是老生常談;但現在卻對此頗有感觸。能夠放開心胸,用不同的角度來看待問題,就真的能有不一樣的想法與行動。
即使認為自己有所成長、認為自己變得比較樂觀,現實卻不會因不同觀點而改變。家家都依然有本難唸的經,而生活中也依然處處充滿了困難與挑戰。這一個月的工作進度遲緩,應該就是接下來該面對的問題與挑戰。
第二個寶寶的出生,讓自己的日常生活顯得十分忙碌。也因親身體驗,心裡著實佩服那些能夠自己帶寶寶、照顧好家庭、又能在工作上發揮才能的人。
貓說,選擇當個好爸爸的同時,也就放棄了許多東西;他也多次建議,嘗試雇個保母來帶小朋友。這樣可以讓我擁有更多自由的時間,而工作上也就比較能夠有進展。然而,我總覺得,現在應該還不到需要找保母的時候。
能夠自己帶寶寶是一種幸福。時下許多父母因為工作忙碌而無法親自帶小孩,其實是很可惜的。看著大寶寶在一個月內,不論是講話或者玩耍,都成長了許多,心裡真的有股難言的感動。幸福,或許是在持續地對他人付出關愛後,才能成長、才能獲得的。
今天在轉寄來的信件裡,看到一句黑幼龍講的話:「不成熟的人在機會中找困難,成熟的人在困難中找機會」。過去會覺得這類的話是在搬弄文采,是老生常談;但現在卻對此頗有感觸。能夠放開心胸,用不同的角度來看待問題,就真的能有不一樣的想法與行動。
即使認為自己有所成長、認為自己變得比較樂觀,現實卻不會因不同觀點而改變。家家都依然有本難唸的經,而生活中也依然處處充滿了困難與挑戰。這一個月的工作進度遲緩,應該就是接下來該面對的問題與挑戰。
星期五, 9月 08, 2006
忙碌但幾乎沒有產能
最近或許因為睡眠不太夠,比較容易感到不耐煩。
照顧寶寶,本來就很難空出一段比較長的時間。通常,是在她睡覺後、起床前,才能夠做些自己的事情。而有些時候,會找不到合適的親人來帶,只好自己在家裡陪她玩耍。
工作上,應該也算是遇到些許困難:論文「寫不太出來」。不是想不出內容,內容主體很早就已經知道,甚至寫得差不多了。主要是不知道該如何組織好文章段落,適度地「添加說明、表達想法、引徵論證」,並用英文寫出來。這是不是因為「腹笥甚窘」的緣故呢?
此外,Blogger 的 beta 升級版又弄得很爛,經常搞得自己火氣大。登入時,需要鍵入好幾次密碼,這也就算了。回應別人時會遇到困難(上回已經吐槽一次了,但今早還是遇到一樣的問題)、「應該是成功回應」後訊息竟然還會不見,就更令人感到不舒服了。
我想,貓說得對:整合真的不是一件簡單的事。軟體系統的整合不容易,日常生活的整合也是如此。
照顧寶寶,本來就很難空出一段比較長的時間。通常,是在她睡覺後、起床前,才能夠做些自己的事情。而有些時候,會找不到合適的親人來帶,只好自己在家裡陪她玩耍。
工作上,應該也算是遇到些許困難:論文「寫不太出來」。不是想不出內容,內容主體很早就已經知道,甚至寫得差不多了。主要是不知道該如何組織好文章段落,適度地「添加說明、表達想法、引徵論證」,並用英文寫出來。這是不是因為「腹笥甚窘」的緣故呢?
此外,Blogger 的 beta 升級版又弄得很爛,經常搞得自己火氣大。登入時,需要鍵入好幾次密碼,這也就算了。回應別人時會遇到困難(上回已經吐槽一次了,但今早還是遇到一樣的問題)、「應該是成功回應」後訊息竟然還會不見,就更令人感到不舒服了。
我想,貓說得對:整合真的不是一件簡單的事。軟體系統的整合不容易,日常生活的整合也是如此。
星期一, 9月 04, 2006
令人煩躁的 Blogger 改版
最近真的被 Blogger 的「升級版」弄煩了。
不曉得是不是只有我才遇到這樣的怪狀況。現在登入 Blogger,或者要回應別人的文章,手續都非常麻煩(要登入好幾次,有時網頁會被轉來導去,最後還是無法回應);雖然也有嘗試要把舊的 Profile 轉移到新版 (beta),但試了幾次都只收到「轉移失敗」的訊息,煩都煩死了。
也不知道 Google 是怎麼想的。我總是覺得,要有好的產品與服務,除了需要好的開發(軟體)人才,也應該有關心使用者感受的人才。如果因為軟體沒有寫好,無法讓使用者順利轉移到新版上,也應讓使用者能夠繼續使用舊版軟體(服務)才是。前幾天經過冗長的登入手續,我還能回應別人的 posts,但怎麼今天一直失敗呢?
浪費了許多時間後,實在很想講些氣話:只用一個「beta」的訊息,就想將所有問題推給使用者,這樣似乎是太小看使用者、也太沒有大企業風範了。
註:登入 Blogger 過程中,可以看到這樣的訊息:
不曉得是不是只有我才遇到這樣的怪狀況。現在登入 Blogger,或者要回應別人的文章,手續都非常麻煩(要登入好幾次,有時網頁會被轉來導去,最後還是無法回應);雖然也有嘗試要把舊的 Profile 轉移到新版 (beta),但試了幾次都只收到「轉移失敗」的訊息,煩都煩死了。
也不知道 Google 是怎麼想的。我總是覺得,要有好的產品與服務,除了需要好的開發(軟體)人才,也應該有關心使用者感受的人才。如果因為軟體沒有寫好,無法讓使用者順利轉移到新版上,也應讓使用者能夠繼續使用舊版軟體(服務)才是。前幾天經過冗長的登入手續,我還能回應別人的 posts,但怎麼今天一直失敗呢?
浪費了許多時間後,實在很想講些氣話:只用一個「beta」的訊息,就想將所有問題推給使用者,這樣似乎是太小看使用者、也太沒有大企業風範了。
註:登入 Blogger 過程中,可以看到這樣的訊息:
Unfortunately, you cannot post a comment on a non-beta blog or claim a mobile blog using your Google Account. These features are coming soon.
這樣的訊息,是不是就是針對我所遇到的狀況?
星期五, 9月 01, 2006
巧事不巧
我出席實驗室的頻率應該算頗高的了,但似乎經常碰到老朋友想找我,卻找不到的情況。
之前 MPH 回系所辦事,順道來找我,就似乎有過幾次這樣的經驗。今天 LYR 遠從台中來,想找我聚一聚,打手機和我聯絡,卻發現我在照顧寶寶,沒能到實驗室。
我原本是打算請家人代為照顧小傢伙的,但不巧大家都有要事在身,最後只好自己在家帶小朋友。此外,據說素瑜今天也有到實驗室找我。這麼多巧事發生在同一天,還真是不巧呢。
後記:原本我的標題很短:「不巧」。但 Ankh 反應,他多次把「不巧」看成「不朽」了。想想這兩個字型的確太像,還是加上幾個字,改為「巧事不巧」好了。
之前 MPH 回系所辦事,順道來找我,就似乎有過幾次這樣的經驗。今天 LYR 遠從台中來,想找我聚一聚,打手機和我聯絡,卻發現我在照顧寶寶,沒能到實驗室。
我原本是打算請家人代為照顧小傢伙的,但不巧大家都有要事在身,最後只好自己在家帶小朋友。此外,據說素瑜今天也有到實驗室找我。這麼多巧事發生在同一天,還真是不巧呢。
後記:原本我的標題很短:「不巧」。但 Ankh 反應,他多次把「不巧」看成「不朽」了。想想這兩個字型的確太像,還是加上幾個字,改為「巧事不巧」好了。
星期四, 8月 31, 2006
昨天的實驗室會議
感覺起來,在昨天的 Lab Meeting 裡,報告的學弟被項老師罵得很慘。
這位學弟的所做的研究,是處理「明清到近代台灣行政區域沿革」,希望能夠建立模型與系統,來幫助(例如,進行一些簡單的推理)使用者檢索相關文件,並提供閱讀上的參考連結。
他這幾天相當認真,因此應該也期望能夠得到正面的回饋。可惜,老師才看了幾張投影片,問了幾個學弟無法精確回答的問題,就開始發飆了。
我猜老師是希望,學弟先努力地想好資料模型,讓系統不但能夠提供合適的功能,還能減輕日後資料維護的困難。因為手頭擁有的歷史資料,本身可能並不完備(缺乏某些時期的資料)、也可能不一致(資料的訊息產生衝突),因而日後應該需要慢慢補齊與更正。如果缺乏良好的模型,每次處理就可能都需要「重頭來過」,那麼處理起來就很令人沮喪了。
不過,我覺得老師昨天的詰問,似乎失去了準頭。雖然他所強調的重點是正確的,但是學弟所做的,其實也沒有偏離那些原則太遠。
然而,當我嘗試替學弟說明,並提到「模型與實作的差異」時,老師卻說「你們不要用那種憐憫的眼光看著我,好像我什麼都不懂似的...」。
我很確定自己並沒有「用憐憫的眼光看老師」。那老師為什麼會這樣說呢?我猜想,或許是因為老師心底深處,對於理論與實作之間的鴻溝,有著矛盾與不安。老師對於理論很在行,但是實作方面的經驗卻不是很充分。他聽多了「實作上會有 ... 困難」這樣的話,卻又無法分辨提出困難的人是否只是在推託搪塞,最後乾脆一竿子打翻一船人。
於是,情況就是:即使遭遇困難的人努力溝通,但因缺乏實際的經驗,老師怎樣也無法感受困難之處究竟在那兒。溝通本來就不是一件容易事,學生們又很難用精確的話語描述那些是心裡想的、那些是實際上做到的,因而就惹得老師不耐煩了。
那麼,模型與實作之間,真的會有很大的差異嗎?有寶寶的人或許可以說,這就像是育兒書的內容,與實際帶小朋友長大之間,就是會不一樣、甚至「差很多」。
看育兒書,上相關網站看別人如何照顧寶寶、如何善用時間,這就類似於理解「模型、理論」。打理照顧大寶寶、到實驗室寫論文與修改程式、並抽空到月子中心陪太太,這就類似於「實作」。兩者之間的差異?因人因事因時因地而有不同。重點是,只看書了解理論,很容易低估「實際動手做」的困難處,而這或許就是所謂的「知易行難」吧。
這位學弟的所做的研究,是處理「明清到近代台灣行政區域沿革」,希望能夠建立模型與系統,來幫助(例如,進行一些簡單的推理)使用者檢索相關文件,並提供閱讀上的參考連結。
他這幾天相當認真,因此應該也期望能夠得到正面的回饋。可惜,老師才看了幾張投影片,問了幾個學弟無法精確回答的問題,就開始發飆了。
我猜老師是希望,學弟先努力地想好資料模型,讓系統不但能夠提供合適的功能,還能減輕日後資料維護的困難。因為手頭擁有的歷史資料,本身可能並不完備(缺乏某些時期的資料)、也可能不一致(資料的訊息產生衝突),因而日後應該需要慢慢補齊與更正。如果缺乏良好的模型,每次處理就可能都需要「重頭來過」,那麼處理起來就很令人沮喪了。
不過,我覺得老師昨天的詰問,似乎失去了準頭。雖然他所強調的重點是正確的,但是學弟所做的,其實也沒有偏離那些原則太遠。
然而,當我嘗試替學弟說明,並提到「模型與實作的差異」時,老師卻說「你們不要用那種憐憫的眼光看著我,好像我什麼都不懂似的...」。
我很確定自己並沒有「用憐憫的眼光看老師」。那老師為什麼會這樣說呢?我猜想,或許是因為老師心底深處,對於理論與實作之間的鴻溝,有著矛盾與不安。老師對於理論很在行,但是實作方面的經驗卻不是很充分。他聽多了「實作上會有 ... 困難」這樣的話,卻又無法分辨提出困難的人是否只是在推託搪塞,最後乾脆一竿子打翻一船人。
於是,情況就是:即使遭遇困難的人努力溝通,但因缺乏實際的經驗,老師怎樣也無法感受困難之處究竟在那兒。溝通本來就不是一件容易事,學生們又很難用精確的話語描述那些是心裡想的、那些是實際上做到的,因而就惹得老師不耐煩了。
那麼,模型與實作之間,真的會有很大的差異嗎?有寶寶的人或許可以說,這就像是育兒書的內容,與實際帶小朋友長大之間,就是會不一樣、甚至「差很多」。
看育兒書,上相關網站看別人如何照顧寶寶、如何善用時間,這就類似於理解「模型、理論」。打理照顧大寶寶、到實驗室寫論文與修改程式、並抽空到月子中心陪太太,這就類似於「實作」。兩者之間的差異?因人因事因時因地而有不同。重點是,只看書了解理論,很容易低估「實際動手做」的困難處,而這或許就是所謂的「知易行難」吧。
星期二, 8月 29, 2006
樂觀
說來也頗奇妙,自己近來在許多地方似乎變得樂觀許多。
有人說,看到杯子裡剩下半杯的水,樂觀的人高興於還剩半杯,但悲觀的人會憂傷於只剩半杯。我從前確實會感傷消逝的部分,並一直惦念著剩下的半杯水;但最近回想起這個問題,卻發現自己似乎已漸漸接受少了半杯水的事實,並且感恩(雖然這聽起來像是宗教用詞)剩下的部分。
同樣的外在客觀條件,或許也會導致類似的外在行為(例如,珍惜這剩下來的半杯水),但中間微妙的不同處,就在於不同的心境。
心境的轉化,似乎無法強求。然而,憑藉著自己的本心,真誠地面對自己,時候到了,似乎就可以看見轉機,似乎就能夠超越過去的自己,達到另一層的高度,用另一種角度來看待這個世界與人生。
就自己來說,是什麼時候開始產生這樣微妙的變化呢?
我也不是很清楚。回想起來,應該是在這一年內閱讀了許多好書,並努力打開心靈的窗口,因而在潛移默化裡,讓自己有了這樣的轉變吧?
當然啦,抱持著懷疑論的角度,或許我這樣的自白,只不過是潛意識被「催眠」了,只不過是「自欺欺人」的一種表現。我的確無法確認自己是否「真的」變得樂觀許多,也無法確認自己是不是身處夢中。然而,我對那半杯水的感覺,卻那麼明顯地和從前有了不同,這真是奇妙啊。
有人說,看到杯子裡剩下半杯的水,樂觀的人高興於還剩半杯,但悲觀的人會憂傷於只剩半杯。我從前確實會感傷消逝的部分,並一直惦念著剩下的半杯水;但最近回想起這個問題,卻發現自己似乎已漸漸接受少了半杯水的事實,並且感恩(雖然這聽起來像是宗教用詞)剩下的部分。
同樣的外在客觀條件,或許也會導致類似的外在行為(例如,珍惜這剩下來的半杯水),但中間微妙的不同處,就在於不同的心境。
心境的轉化,似乎無法強求。然而,憑藉著自己的本心,真誠地面對自己,時候到了,似乎就可以看見轉機,似乎就能夠超越過去的自己,達到另一層的高度,用另一種角度來看待這個世界與人生。
就自己來說,是什麼時候開始產生這樣微妙的變化呢?
我也不是很清楚。回想起來,應該是在這一年內閱讀了許多好書,並努力打開心靈的窗口,因而在潛移默化裡,讓自己有了這樣的轉變吧?
當然啦,抱持著懷疑論的角度,或許我這樣的自白,只不過是潛意識被「催眠」了,只不過是「自欺欺人」的一種表現。我的確無法確認自己是否「真的」變得樂觀許多,也無法確認自己是不是身處夢中。然而,我對那半杯水的感覺,卻那麼明顯地和從前有了不同,這真是奇妙啊。
星期一, 8月 28, 2006
從餵食母乳談起
我很喜歡看寶寶含著媽媽的乳頭,滿足地吃奶的模樣。那是種很難說清楚的奇妙感覺。
剛出生的嬰兒,幾乎所有時間都在睡覺。如果醒來了,不是因為尿布濕,就是因為肚子餓了想要喝奶。聽太太說,月子中心裡,似乎也只有她不願讓護士用湯匙或奶瓶餵寶寶,似乎也只有她夜半會起身來餵寶寶吃奶。
我想起數年前,在中興醫院的月子中心,我也只看到太太與另一位媽媽,會在夜半起身抱寶寶到哺乳室。雖說近年來,台灣也開始鼓勵媽媽們哺餵母乳,但或許是因為當今雙薪家庭多、或許是因為親自哺乳很辛苦(爸爸是無法代勞的),使用配方奶粉的媽媽佔了大多數。
寶寶每天大約要吃十次奶,每次大概要吃半個鐘頭。寶寶吃過奶後,太太還得用擠乳器把多餘的奶水擠出來(否則會溢出而弄髒衣服與床具),這樣又需要另外半個小時。扣除吃飯、泡盆的時間後,能夠睡覺休息的時間,當真也不多。
所以,產後的媽媽如果不能適當地宣洩鬱悶的心情,或許就容易有憂鬱傾向。我想,身為爸爸的人,是真的該多了解、體貼媽媽們的辛苦才好。
剛出生的嬰兒,幾乎所有時間都在睡覺。如果醒來了,不是因為尿布濕,就是因為肚子餓了想要喝奶。聽太太說,月子中心裡,似乎也只有她不願讓護士用湯匙或奶瓶餵寶寶,似乎也只有她夜半會起身來餵寶寶吃奶。
我想起數年前,在中興醫院的月子中心,我也只看到太太與另一位媽媽,會在夜半起身抱寶寶到哺乳室。雖說近年來,台灣也開始鼓勵媽媽們哺餵母乳,但或許是因為當今雙薪家庭多、或許是因為親自哺乳很辛苦(爸爸是無法代勞的),使用配方奶粉的媽媽佔了大多數。
寶寶每天大約要吃十次奶,每次大概要吃半個鐘頭。寶寶吃過奶後,太太還得用擠乳器把多餘的奶水擠出來(否則會溢出而弄髒衣服與床具),這樣又需要另外半個小時。扣除吃飯、泡盆的時間後,能夠睡覺休息的時間,當真也不多。
所以,產後的媽媽如果不能適當地宣洩鬱悶的心情,或許就容易有憂鬱傾向。我想,身為爸爸的人,是真的該多了解、體貼媽媽們的辛苦才好。
星期四, 8月 24, 2006
用 PHP 處理中文
用電腦處理中文,經常是件瑣碎又麻煩的事。
先前(例如,談古契書資料處理:之一)曾經提過,光是中文編碼,就有可能讓程式設計者忙昏頭又倍感沮喪。PHP 有一個「也算是令人感到麻煩」的地方,就是它的系統是被假設在 ISO-8859-1 編碼下運作的。
另一方面,現在「比較先進」的系統架構或程式語言,內部的編碼似乎都傾向於使用 Unicode(通常是 UTF-16,至於是大印地安 Big Endian 或者小印地安 Little Endian,則似乎還是涇渭分明,各有擁護者)。或許,有相當大的一部份原因,就是希望能夠減少程式的開發與維護時,處理各種編碼轉換的複雜性吧。
那麼,要用 PHP 來處理中文,該怎麼做呢?我想,程式設計者只能自己處理編碼的問題了。
好在 PHP 有提供轉碼的函式,使用上還算方便。一般來說,採用 UTF-16 或者 UTF-8 來處理字串,應該都是可行的。例如,假設我們的輸入與輸出字串都是以 BIG-5 的方式編碼,但是想要用 regular expression 找出字串中符合樣式的子字串,那該怎麼做呢?以下是一種方法:
它可以成功地比對出三個子字串:「感覺」、「藉口」、「感覺」。當然啦,如果要進行字串的取代,PHP 也提供了 mb_ereg_replace() 這樣的函式。
「麻煩囉唆」的地方,就在於必須反覆地呼叫 mb_utf16()、utf16_to_big5() 這類函式,這讓程式(至少看起來)一下子變得複雜許多。只是,相較於物件導向的程式語言,經常需要建立一堆物件來處理(正規表達式的字串比對),我還是覺得 PHP 在使用上比較簡單些。
另外,值得一提的是,要在網路上找到使用 mb_ereg_serach_init() 或 mb_ereg_search_regs() 的範例程式,竟然比想像中來得困難許多。因為不知道合適的查詢字串長得什麼樣貌,我只能混用這幾個關鍵字,加上 example、source code 之類的字彙來查詢。然而,用 Google 搜尋的結果,找到的幾乎都是 PHP manual 的內容 --- 而很不幸的是,目前 PHP manual 沒有列出使用的範例。
這或許也是搜尋引擎的限制:當多數網頁都含有「並非使用者想要」的類似內容,而搜尋引擎又認為這些網頁是「相關網頁」時,很容易讓使用者感到挫折。通常,解決的方式是將問題推給使用者,希望使用者能夠自己找到更合適的查詢字串。但問題是:使用者該怎樣做,才能找到合適的查詢字串呢?
先前(例如,談古契書資料處理:之一)曾經提過,光是中文編碼,就有可能讓程式設計者忙昏頭又倍感沮喪。PHP 有一個「也算是令人感到麻煩」的地方,就是它的系統是被假設在 ISO-8859-1 編碼下運作的。
另一方面,現在「比較先進」的系統架構或程式語言,內部的編碼似乎都傾向於使用 Unicode(通常是 UTF-16,至於是大印地安 Big Endian 或者小印地安 Little Endian,則似乎還是涇渭分明,各有擁護者)。或許,有相當大的一部份原因,就是希望能夠減少程式的開發與維護時,處理各種編碼轉換的複雜性吧。
那麼,要用 PHP 來處理中文,該怎麼做呢?我想,程式設計者只能自己處理編碼的問題了。
好在 PHP 有提供轉碼的函式,使用上還算方便。一般來說,採用 UTF-16 或者 UTF-8 來處理字串,應該都是可行的。例如,假設我們的輸入與輸出字串都是以 BIG-5 的方式編碼,但是想要用 regular expression 找出字串中符合樣式的子字串,那該怎麼做呢?以下是一種方法:
<?php
mb_internal_encoding('UTF-16LE');
mb_regex_encoding('UTF-16LE');
function mb_utf16($s) {
return iconv('BIG-5', 'UTF-16LE', $s);
}
function utf16_to_big5($s) {
return iconv('UTF-16LE', 'BIG-5', $s);
}
$s = "雖然感覺上像是藉口,但實際上感覺的東西,很難說清楚。";
mb_ereg_search_init(mb_utf16($s), mb_utf16('感覺|藉口'));
while ($match = mb_ereg_search_regs()) {
print utf16_to_big5($match[0]) . "\n";
}
?>
「麻煩囉唆」的地方,就在於必須反覆地呼叫 mb_utf16()、utf16_to_big5() 這類函式,這讓程式(至少看起來)一下子變得複雜許多。只是,相較於物件導向的程式語言,經常需要建立一堆物件來處理(正規表達式的字串比對),我還是覺得 PHP 在使用上比較簡單些。
另外,值得一提的是,要在網路上找到使用 mb_ereg_serach_init() 或 mb_ereg_search_regs() 的範例程式,竟然比想像中來得困難許多。因為不知道合適的查詢字串長得什麼樣貌,我只能混用這幾個關鍵字,加上 example、source code 之類的字彙來查詢。然而,用 Google 搜尋的結果,找到的幾乎都是 PHP manual 的內容 --- 而很不幸的是,目前 PHP manual 沒有列出使用的範例。
這或許也是搜尋引擎的限制:當多數網頁都含有「並非使用者想要」的類似內容,而搜尋引擎又認為這些網頁是「相關網頁」時,很容易讓使用者感到挫折。通常,解決的方式是將問題推給使用者,希望使用者能夠自己找到更合適的查詢字串。但問題是:使用者該怎樣做,才能找到合適的查詢字串呢?
星期一, 8月 21, 2006
生活雜感
雖然感覺上像是藉口,但實際上似乎又不是。
第二個寶寶出生了。太太去月子中心,我則儘量在家帶小傢伙。陪伴小孩子的時間過得相當快,轉眼幾天就過去了。清晨醒來才驚覺,這幾天都沒有看 New York Times,都沒有在早餐時間看書,都沒有在心裡掛念著一些想做該做的事。
我是還沒有到「一日不讀書言語無味,三日不讀書面目可憎」的地步,但時間過得如此迅速,心裡的感覺卻始終難以形容。帶點不安,有些徬徨,也感到迷惑。
古人四十而不惑,但自己呢?這一年來,看書比較有強烈感受的,幾乎都是與找尋自我有關。據說,能夠清楚地認識自我,就能夠活在當下,不以物喜,不以己悲。
雖然覺得這一年來,在人生的認識與態度上頗有長進,但還是會覺得「如果十年、二十年前就知道該如何讀書,知道人生該學些什麼、該怎樣去生活」,那有多好。但換個角度來說,光從這樣的感嘆,就可以知道,自己的修養還是差得多了。
帶小孩子的時光,雖然因為平凡而容易感到無趣,但有時卻是最溫暖美好的。小孩子,就是未來的希望。
第二個寶寶出生了。太太去月子中心,我則儘量在家帶小傢伙。陪伴小孩子的時間過得相當快,轉眼幾天就過去了。清晨醒來才驚覺,這幾天都沒有看 New York Times,都沒有在早餐時間看書,都沒有在心裡掛念著一些想做該做的事。
我是還沒有到「一日不讀書言語無味,三日不讀書面目可憎」的地步,但時間過得如此迅速,心裡的感覺卻始終難以形容。帶點不安,有些徬徨,也感到迷惑。
古人四十而不惑,但自己呢?這一年來,看書比較有強烈感受的,幾乎都是與找尋自我有關。據說,能夠清楚地認識自我,就能夠活在當下,不以物喜,不以己悲。
雖然覺得這一年來,在人生的認識與態度上頗有長進,但還是會覺得「如果十年、二十年前就知道該如何讀書,知道人生該學些什麼、該怎樣去生活」,那有多好。但換個角度來說,光從這樣的感嘆,就可以知道,自己的修養還是差得多了。
帶小孩子的時光,雖然因為平凡而容易感到無趣,但有時卻是最溫暖美好的。小孩子,就是未來的希望。
星期五, 8月 18, 2006
迎接新生命的到來
貓和 Ankh 很機敏,知道我從網路上消失了幾天,是因為第二個寶寶出生了。
說實在的,這兩個星期真的過得很「充實」。先是行程緊湊的西雅圖研討會,接下來是忙於處理太太生產的相關雜事。
寶寶是 15 日凌晨出生的,轉眼三天就已經過去,必須辦理出院,轉到月子中心。雖然許多媽媽到月子中心,是希望能夠好好地休息一下,讓月子中心的護士幫忙照護寶寶,但為了讓寶寶更健康,為了更增添親自哺育的情感,我和太太都支持餵食母乳。
我真的覺得,當媽媽的人很辛苦。生寶寶時必須忍受痛楚;產後得復健,還必須每三個小時就起身餵一次奶。連夜半都得爬起來餵奶,如此怎能得到充分的休息呢?
而自從當上爸爸之後,我似乎更能體會到,天下父母心、「父母都希望小孩健康活潑」的那種微妙感覺。
也曾聽人家說,當上父母之後,人會變得更成熟。我想,在這裡「成熟」應該多少與人生、環境的認知有關。有了寶寶,就會事事替寶寶著想(而不僅只是顧著個人的感受),就會有愛(這裡「愛」是個動詞,表示對小孩做應該做的事情。為了讓小孩有自己豐富的人生,願意犧牲父母的一些個人利益,努力培養教育她)。
偶而有一些些空閒時間,還是會想要寫些感興趣的東西,想要整理 PHP Programming 的一些東西(很難說清楚目的是什麼,就先當成是想出一本書好了)。但照目前情形來看,這幾天恐怕還是僅能先想想,只能先處理一些比較簡單、比較獨立的部分。
哎,說的、想的總是比做的多。要能腳踏實地、亦步亦趨地實踐,還真不是件容易事呢。
說實在的,這兩個星期真的過得很「充實」。先是行程緊湊的西雅圖研討會,接下來是忙於處理太太生產的相關雜事。寶寶是 15 日凌晨出生的,轉眼三天就已經過去,必須辦理出院,轉到月子中心。雖然許多媽媽到月子中心,是希望能夠好好地休息一下,讓月子中心的護士幫忙照護寶寶,但為了讓寶寶更健康,為了更增添親自哺育的情感,我和太太都支持餵食母乳。
我真的覺得,當媽媽的人很辛苦。生寶寶時必須忍受痛楚;產後得復健,還必須每三個小時就起身餵一次奶。連夜半都得爬起來餵奶,如此怎能得到充分的休息呢?
而自從當上爸爸之後,我似乎更能體會到,天下父母心、「父母都希望小孩健康活潑」的那種微妙感覺。
也曾聽人家說,當上父母之後,人會變得更成熟。我想,在這裡「成熟」應該多少與人生、環境的認知有關。有了寶寶,就會事事替寶寶著想(而不僅只是顧著個人的感受),就會有愛(這裡「愛」是個動詞,表示對小孩做應該做的事情。為了讓小孩有自己豐富的人生,願意犧牲父母的一些個人利益,努力培養教育她)。
偶而有一些些空閒時間,還是會想要寫些感興趣的東西,想要整理 PHP Programming 的一些東西(很難說清楚目的是什麼,就先當成是想出一本書好了)。但照目前情形來看,這幾天恐怕還是僅能先想想,只能先處理一些比較簡單、比較獨立的部分。
哎,說的、想的總是比做的多。要能腳踏實地、亦步亦趨地實踐,還真不是件容易事呢。
星期一, 8月 14, 2006
西雅圖之行:回顧
這是相當充實的一趟短期旅程。
主要的目的,是參加小型的論文發表會議。由於某些因素,我並沒有計畫在西雅圖好好地玩上幾天。但也正是因為行程緊湊又難以妥善安排,讓我自己有機會能夠充分利用在西雅圖的三天時光,嘗試了數種交通工具。從坐機場巴士、搭市區公車、到自己租車,我的破英文在溝通上倒是發生了一些小趣事。
例如,搭機場巴士 (Grey Line Airporter) 到下榻旅館時,我問櫃臺服務的小姐,她卻表示沒有聽說過我住的那家旅館;我說我在網路上看到有轉乘 (Connector) 服務,可以接送到我住的那家旅館 (Quality Inn & Suites);她看了看電腦,就給我一張車票,然後嘰哩咕嚕說了一堆話。我沒聽懂,大約只理解到「從那個門走出去,...,一個大大黃色的東西 (a Big Yellow one)」,就拉著行李離開了。走了一段路,實在看不到什麼 Big Yellow one,只好再回去詢問那位有些年紀的女士。這回我記得詢問要在那條號碼線上等,才聽懂原來是她的意思,是「在 line 14 through 16 等候一台大大的黃色巴士」。
最後一天租車的情況也類似。我從櫃臺的先生那兒,隱約只理解到「右轉直走到 601 ... 搭電梯到六樓,那兒會有其他的服務員 ... 離開時需要這張票」。走出 Hertz,剛好門牌的號碼是六百多號,我以為 601 指的是門牌號碼,要到門牌 601 號處取車。結果門牌號碼 601 是一間辦公大樓,怎麼看都不對勁。再回租車櫃臺詢問,才知道是「右轉後進門可以看到電梯,搭到六樓後,在 601 停車格取車」。
在麥當勞點餐,也遇到類似的「有聽沒有懂」狀況。雖然知道點餐後,服務生都會詢問是否要在店內用餐(for here or to go,有時是 to go or for here),但倉促下往往沒聽懂,以為服務生是聽不懂我想點什麼,所以會重覆一次點餐的內容。後來學乖了,點了餐後自己加上「to go」或「for here」,才減少了應對上雞同鴨講的尷尬。
三天的行程裡,花在交通上的時間很多。其中,光是花在步行上的時間,加起來應該就有十幾個小時。西雅圖的氣溫相當涼爽,很適合走路。華盛頓大學的校園相當漂亮,走走逛逛,感覺也是很好。然而,由於在行車的路徑上事先沒有做太多功課,開車起來相當累人。西雅圖市區車輛眾多,且幾乎都是單行道;而停車費一小時大概都要美金 $1.50,又找不太到加油站休息。開車逛街一兩個小時,很快地就感到疲倦了。
最後,還是該記錄一下與 workshop 相關的一些感想。雖然自己的 paper 內容與 workshop 多數成員所關心的的主題間,似乎有著一段距離,但我還是取得一些與會成員的意見回饋。有人問說,有沒有考慮投到更相關的其他會議。有人(應該是 Doug Cutting 吧?)覺得論述 convincing,但詢問說,除了理論方面的探討外,是否有打算用實際的資料來做更深入地檢視。此外,Hugo Zaragoza 問了數個問題,也在休息時間的討論裡,說論文很好,內容相當有趣。(這兩位都跟 workshop 論文發表者比較無關;他們都是 workshop 最後 panel discussion 的 panelists。)
主要的目的,是參加小型的論文發表會議。由於某些因素,我並沒有計畫在西雅圖好好地玩上幾天。但也正是因為行程緊湊又難以妥善安排,讓我自己有機會能夠充分利用在西雅圖的三天時光,嘗試了數種交通工具。從坐機場巴士、搭市區公車、到自己租車,我的破英文在溝通上倒是發生了一些小趣事。
例如,搭機場巴士 (Grey Line Airporter) 到下榻旅館時,我問櫃臺服務的小姐,她卻表示沒有聽說過我住的那家旅館;我說我在網路上看到有轉乘 (Connector) 服務,可以接送到我住的那家旅館 (Quality Inn & Suites);她看了看電腦,就給我一張車票,然後嘰哩咕嚕說了一堆話。我沒聽懂,大約只理解到「從那個門走出去,...,一個大大黃色的東西 (a Big Yellow one)」,就拉著行李離開了。走了一段路,實在看不到什麼 Big Yellow one,只好再回去詢問那位有些年紀的女士。這回我記得詢問要在那條號碼線上等,才聽懂原來是她的意思,是「在 line 14 through 16 等候一台大大的黃色巴士」。
最後一天租車的情況也類似。我從櫃臺的先生那兒,隱約只理解到「右轉直走到 601 ... 搭電梯到六樓,那兒會有其他的服務員 ... 離開時需要這張票」。走出 Hertz,剛好門牌的號碼是六百多號,我以為 601 指的是門牌號碼,要到門牌 601 號處取車。結果門牌號碼 601 是一間辦公大樓,怎麼看都不對勁。再回租車櫃臺詢問,才知道是「右轉後進門可以看到電梯,搭到六樓後,在 601 停車格取車」。
在麥當勞點餐,也遇到類似的「有聽沒有懂」狀況。雖然知道點餐後,服務生都會詢問是否要在店內用餐(for here or to go,有時是 to go or for here),但倉促下往往沒聽懂,以為服務生是聽不懂我想點什麼,所以會重覆一次點餐的內容。後來學乖了,點了餐後自己加上「to go」或「for here」,才減少了應對上雞同鴨講的尷尬。
三天的行程裡,花在交通上的時間很多。其中,光是花在步行上的時間,加起來應該就有十幾個小時。西雅圖的氣溫相當涼爽,很適合走路。華盛頓大學的校園相當漂亮,走走逛逛,感覺也是很好。然而,由於在行車的路徑上事先沒有做太多功課,開車起來相當累人。西雅圖市區車輛眾多,且幾乎都是單行道;而停車費一小時大概都要美金 $1.50,又找不太到加油站休息。開車逛街一兩個小時,很快地就感到疲倦了。
最後,還是該記錄一下與 workshop 相關的一些感想。雖然自己的 paper 內容與 workshop 多數成員所關心的的主題間,似乎有著一段距離,但我還是取得一些與會成員的意見回饋。有人問說,有沒有考慮投到更相關的其他會議。有人(應該是 Doug Cutting 吧?)覺得論述 convincing,但詢問說,除了理論方面的探討外,是否有打算用實際的資料來做更深入地檢視。此外,Hugo Zaragoza 問了數個問題,也在休息時間的討論裡,說論文很好,內容相當有趣。(這兩位都跟 workshop 論文發表者比較無關;他們都是 workshop 最後 panel discussion 的 panelists。)
星期五, 8月 11, 2006
疲累的一天
今天是 workshop presentation 的日子。
時差不易調整,早上還是四點半就醒過來了。怎樣也睡不著,只好閉著眼睛儘量休息。
吃過早餐後,依照昨天探勘的路線搭公車到華盛頓大學門口,走路穿過校園到 workshop 會場。奇怪的是,怎麼還是沒有看到任何關於 workshop 的標誌?
等了十幾分鐘,心想是不是 workshop 改地方,還是自己弄錯時間了?想用筆記型電腦上網查詢,連外的網頁卻都被鎖住了,需要有 ID 與密碼。這下怎麼辦呢?只好衝進大樓裡,找個「看起來知道怎麼回事」的人問問看了。
好不容易知道會場確實是在這棟大樓的 251 室,走進去詢問是否在這兒報到,才又被告知,報到的位置改在一棟叫做 Mary Gates Hall 的建築裡。匆匆趕去報到,拿到名牌後,服務人員告訴我 Proceedings 已經沒貨;也就是說,我預購的 Proceedings 賣光了。她說,沒有預料到如此,但會退費到信用卡帳戶。哎,怎麼會搞出這麼多烏龍啊?
後來才知道,許多人也遇到類似的問題。於是,workshop 開始的時間被迫順延半個小時(原本預定在早上 8:30 開始)。
雖然英文講來仍不順暢,但有一兩位聽眾似乎頗感興趣。其中一位 Hugo Zaragoza 還看出我投影片中,隱約暗示論文的結果,應該也能應用在 closed document repositories。我在休息時間向他請益,他稱讚我說做得相當好。
這個 workshop 從 8:30AM 開到 5:00PM,參加人數不多,自己也不好開溜。起得早又睡得少,報告完了之後精神鬆懈下來,其實自己已經頗有盹意。只好趁休息時間喝些可樂來提神,讓自己能夠從頭聽到尾。
結束一天的會議後,搭公車到市區,徒步走回旅館,並順道買份麥香雞堡來當作晚餐。市區的麥當勞賣得特別貴,但這時因為太過疲累,也顧不了這麼多。回旅館後,趁著還有些氣力,胡亂地寫下一些今天的遭遇與感想。
這真是累壞人的一天啊。
時差不易調整,早上還是四點半就醒過來了。怎樣也睡不著,只好閉著眼睛儘量休息。
吃過早餐後,依照昨天探勘的路線搭公車到華盛頓大學門口,走路穿過校園到 workshop 會場。奇怪的是,怎麼還是沒有看到任何關於 workshop 的標誌?
等了十幾分鐘,心想是不是 workshop 改地方,還是自己弄錯時間了?想用筆記型電腦上網查詢,連外的網頁卻都被鎖住了,需要有 ID 與密碼。這下怎麼辦呢?只好衝進大樓裡,找個「看起來知道怎麼回事」的人問問看了。
好不容易知道會場確實是在這棟大樓的 251 室,走進去詢問是否在這兒報到,才又被告知,報到的位置改在一棟叫做 Mary Gates Hall 的建築裡。匆匆趕去報到,拿到名牌後,服務人員告訴我 Proceedings 已經沒貨;也就是說,我預購的 Proceedings 賣光了。她說,沒有預料到如此,但會退費到信用卡帳戶。哎,怎麼會搞出這麼多烏龍啊?
後來才知道,許多人也遇到類似的問題。於是,workshop 開始的時間被迫順延半個小時(原本預定在早上 8:30 開始)。
雖然英文講來仍不順暢,但有一兩位聽眾似乎頗感興趣。其中一位 Hugo Zaragoza 還看出我投影片中,隱約暗示論文的結果,應該也能應用在 closed document repositories。我在休息時間向他請益,他稱讚我說做得相當好。
這個 workshop 從 8:30AM 開到 5:00PM,參加人數不多,自己也不好開溜。起得早又睡得少,報告完了之後精神鬆懈下來,其實自己已經頗有盹意。只好趁休息時間喝些可樂來提神,讓自己能夠從頭聽到尾。
結束一天的會議後,搭公車到市區,徒步走回旅館,並順道買份麥香雞堡來當作晚餐。市區的麥當勞賣得特別貴,但這時因為太過疲累,也顧不了這麼多。回旅館後,趁著還有些氣力,胡亂地寫下一些今天的遭遇與感想。
這真是累壞人的一天啊。
星期三, 8月 09, 2006
初至西雅圖
西雅圖的天空,層層地疊起多片雲層,看起來頗有美感。
到旅館把行李卸下後,看看時間還早(下午五點左右,西雅圖到九點才天黑)。背上背包,徒步到旅館四處逛逛,看看一下旅館四周的景色,也了解一下它們在地圖上的位置所在。
雖然從網路上,已經知道旅館距離有名的西雅圖針塔 (Space Needle) 相當近;但隨便走過兩個 blocks,針塔就在眼前,還是讓自己小小地吃了一驚。
不過,可能是因為先前聽說西雅圖很漂亮,以致於心裡產生過高的期望,當我看到街道不算是太乾淨時,心裡其實是有些失落感的。
我想探勘一下公車的路線,因為明天自己必須試著搭公車去 workshop 會場。循著地圖往商業區走去,比起台北來,路上的行人數量不算多,但汽車的密度卻差不多。我沒有把握明天就學會搭乘這裡的公車,心想,如果到時候迷路了,就坐計程車吧。
沒能像阿尼那般自在瀟灑。除了想到上台用英文報告會緊張,連交通行程自己都還是走一步算一步。雖然有從網路上取得一些資訊,但真槍實彈地搭公車轉乘,還是會擔心自己錯過站。
不過,旅遊的一部份趣味,正是在於小小地探險。因此,用半生不熟的英語問路,有時也會變成旅遊的有趣回憶。這也是為什麼我會試著從機場搭 Airporter Shuttle 到旅館 --- 除了省些錢外,還可以讓自己詢問櫃臺小姐與司機,該如何乘坐到下榻的旅館。(我其實也不是一開始就自願要這樣問路的。主要的原因,是自己並沒有在網路上租到便宜的汽車,而在西雅圖機場租車,價格卻是市區的兩倍左右。)
雖然許多行李是由太太幫忙打點,但這可是自己第一次,一個人出國「半自助旅遊」呢。因此,即使是「問路」這種小問題,都還是會讓我的神經緊繃。雖然事後看起來還頗有意思,但身在其中,就很容易感到緊張煩躁了。
到旅館把行李卸下後,看看時間還早(下午五點左右,西雅圖到九點才天黑)。背上背包,徒步到旅館四處逛逛,看看一下旅館四周的景色,也了解一下它們在地圖上的位置所在。雖然從網路上,已經知道旅館距離有名的西雅圖針塔 (Space Needle) 相當近;但隨便走過兩個 blocks,針塔就在眼前,還是讓自己小小地吃了一驚。
不過,可能是因為先前聽說西雅圖很漂亮,以致於心裡產生過高的期望,當我看到街道不算是太乾淨時,心裡其實是有些失落感的。
我想探勘一下公車的路線,因為明天自己必須試著搭公車去 workshop 會場。循著地圖往商業區走去,比起台北來,路上的行人數量不算多,但汽車的密度卻差不多。我沒有把握明天就學會搭乘這裡的公車,心想,如果到時候迷路了,就坐計程車吧。
沒能像阿尼那般自在瀟灑。除了想到上台用英文報告會緊張,連交通行程自己都還是走一步算一步。雖然有從網路上取得一些資訊,但真槍實彈地搭公車轉乘,還是會擔心自己錯過站。
不過,旅遊的一部份趣味,正是在於小小地探險。因此,用半生不熟的英語問路,有時也會變成旅遊的有趣回憶。這也是為什麼我會試著從機場搭 Airporter Shuttle 到旅館 --- 除了省些錢外,還可以讓自己詢問櫃臺小姐與司機,該如何乘坐到下榻的旅館。(我其實也不是一開始就自願要這樣問路的。主要的原因,是自己並沒有在網路上租到便宜的汽車,而在西雅圖機場租車,價格卻是市區的兩倍左右。)
雖然許多行李是由太太幫忙打點,但這可是自己第一次,一個人出國「半自助旅遊」呢。因此,即使是「問路」這種小問題,都還是會讓我的神經緊繃。雖然事後看起來還頗有意思,但身在其中,就很容易感到緊張煩躁了。
星期二, 8月 08, 2006
參加 Workshop 前夕
我覺得,最近總感覺不到太多悠閒,即將出國參加 workshop 應該也是一大原因。
從辦理美國簽證、機票、旅館住宿、甚至該如何到旅館、如何到 workshop 場地(是否要租車),都頗為繁瑣。努力地想省些錢,最後卻經常發現很難省到,令自己平添一股怨氣。
此外,希望能夠做好投影片,希望自己上台報告時不要太出醜。光是想儘量給一份可聽可看的 presentation,就會讓自己悠閒感盡失。
其實,英文非自己母語,聽說能力不好,也不能說太丟臉(只能說自己過去努力不足)。能夠將論文投上 workshop,多少已經表示論文有些內容,因此也不必覺得內容羞澀無法見人。此外,workshop 應該也練習學術溝通的好機會,既然是練習,偶而出醜也是難免,真的也不需看得太重。
然而,說的還是比做的容易。閒暇時,三不五時就會想起投影片某個地方的英文用字不妥,因而持續對投影片做小修改。基本上,由於了解自己英文報告的能力不佳,「策略上」我都嘗試把要講的東西儘量寫在投影片上,讓聽眾可以「用看的就懂」,而不需要聽我的口頭報告。
會對參加 workshop 感到緊張煩躁,多少表示自己還是頗重視這樣的場合吧。出國報告,可是得花費一筆不小的費用哪。只可惜,因為寶寶就要出生了,我這回的行程排得像是在「出差」,時間相當緊湊,沒有任何觀光旅遊的餘裕。
也或許,時間的過去,就是任務的完成。就是把這樣的機會,當作一場不錯的學習經驗罷。
從辦理美國簽證、機票、旅館住宿、甚至該如何到旅館、如何到 workshop 場地(是否要租車),都頗為繁瑣。努力地想省些錢,最後卻經常發現很難省到,令自己平添一股怨氣。
此外,希望能夠做好投影片,希望自己上台報告時不要太出醜。光是想儘量給一份可聽可看的 presentation,就會讓自己悠閒感盡失。
其實,英文非自己母語,聽說能力不好,也不能說太丟臉(只能說自己過去努力不足)。能夠將論文投上 workshop,多少已經表示論文有些內容,因此也不必覺得內容羞澀無法見人。此外,workshop 應該也練習學術溝通的好機會,既然是練習,偶而出醜也是難免,真的也不需看得太重。
然而,說的還是比做的容易。閒暇時,三不五時就會想起投影片某個地方的英文用字不妥,因而持續對投影片做小修改。基本上,由於了解自己英文報告的能力不佳,「策略上」我都嘗試把要講的東西儘量寫在投影片上,讓聽眾可以「用看的就懂」,而不需要聽我的口頭報告。
會對參加 workshop 感到緊張煩躁,多少表示自己還是頗重視這樣的場合吧。出國報告,可是得花費一筆不小的費用哪。只可惜,因為寶寶就要出生了,我這回的行程排得像是在「出差」,時間相當緊湊,沒有任何觀光旅遊的餘裕。
也或許,時間的過去,就是任務的完成。就是把這樣的機會,當作一場不錯的學習經驗罷。
星期一, 8月 07, 2006
十年前的軟體系統
週末幫別人安裝、設定一台需要執行 ET + dBASE 的電腦。
MS-DOS 6.22?倚天?別開玩笑了,這個年頭,大家都已經習慣用 Windows XP + M$ Office 2000+ 了,誰還在用這些老掉牙的軟體啊?
但還是有這樣的需求。被取代的,是一台已經有十年以上機齡的電腦。最近因為這台機器老舊,開始出現一些狀況,因而需要重新安裝一台新的電腦。舊機器上的許多軟體,因為經常在使用、且已經習慣使用,因而最好能在新機器上執行。
為了把系統移植到新的機器上,我著實花了不少時間。理論上,新的電腦應該可以吃舊的硬碟格式,新版的 Windows 也可以用相容模式執行舊版的軟體,但...實際上就是會出些狀況。
例如,在新電腦上若同時置入新的(至少數十 GB 容量)硬碟與舊的(只有 1GB 容量)硬碟,必須將它們放在不同的 IDE channel 上,否則就會聽到「嗶、嗶」的警示聲。但即使放在不同的 IDE channel 上,用新硬碟執行 Windows 系統,把舊電腦的內容拷貝出來時,系統會相當不穩定,很容易當機(系統自動重新啟動)。
然後,為了讓新的硬碟是可以開機的,我必須在硬碟上安裝 MS DOS 6.22 的開機系統,這樣又花了不少力氣。再來,就是測試倚天系統與 dBASE,反覆弄了好幾趟才成功。
印象深刻的,是舊的硬碟上,含有 ET + dBASE + Windows 3.1 + M$ Office 5.x 的軟體,壓縮起來後,總共竟然只需要 100+ MB 的容量。相較起現在動不動就是幾百 MB 的軟體,真令人不禁懷疑,那些儲存空間究竟是被什麼怪物吃掉了。
MS-DOS 6.22?倚天?別開玩笑了,這個年頭,大家都已經習慣用 Windows XP + M$ Office 2000+ 了,誰還在用這些老掉牙的軟體啊?
但還是有這樣的需求。被取代的,是一台已經有十年以上機齡的電腦。最近因為這台機器老舊,開始出現一些狀況,因而需要重新安裝一台新的電腦。舊機器上的許多軟體,因為經常在使用、且已經習慣使用,因而最好能在新機器上執行。
為了把系統移植到新的機器上,我著實花了不少時間。理論上,新的電腦應該可以吃舊的硬碟格式,新版的 Windows 也可以用相容模式執行舊版的軟體,但...實際上就是會出些狀況。
例如,在新電腦上若同時置入新的(至少數十 GB 容量)硬碟與舊的(只有 1GB 容量)硬碟,必須將它們放在不同的 IDE channel 上,否則就會聽到「嗶、嗶」的警示聲。但即使放在不同的 IDE channel 上,用新硬碟執行 Windows 系統,把舊電腦的內容拷貝出來時,系統會相當不穩定,很容易當機(系統自動重新啟動)。
然後,為了讓新的硬碟是可以開機的,我必須在硬碟上安裝 MS DOS 6.22 的開機系統,這樣又花了不少力氣。再來,就是測試倚天系統與 dBASE,反覆弄了好幾趟才成功。
印象深刻的,是舊的硬碟上,含有 ET + dBASE + Windows 3.1 + M$ Office 5.x 的軟體,壓縮起來後,總共竟然只需要 100+ MB 的容量。相較起現在動不動就是幾百 MB 的軟體,真令人不禁懷疑,那些儲存空間究竟是被什麼怪物吃掉了。
範本檔案損壞了?
學弟說,我的網誌在 IE 上觀看,左邊的 sidebar 會看不見。
我試了一下,果真是如此。奇怪啊,雖然我已經習慣使用 Firefox,但先前似乎也曾用 IE 來檢視過。怎麼會(什麼時候開始)出現這種狀況呢?
調出 Blogger 的範本,意外地發現,範本檔好像有些毀損。奇怪啊,自己應該有一陣子都沒有動過範本檔了,難道是 Blogger 想幫我修改些什麼,卻意外地把範本檔案弄壞了?
好吧,只好從新建構一個範本。可是,我早已忘卻,如何在左方的 sidebar 加上「最近 post 的一些網誌」了(之前好像是 MPH 告訴我怎麼弄的,但這類的設定最好能夠找到參考資料,否則每次都會忘卻)...
我試了一下,果真是如此。奇怪啊,雖然我已經習慣使用 Firefox,但先前似乎也曾用 IE 來檢視過。怎麼會(什麼時候開始)出現這種狀況呢?
調出 Blogger 的範本,意外地發現,範本檔好像有些毀損。奇怪啊,自己應該有一陣子都沒有動過範本檔了,難道是 Blogger 想幫我修改些什麼,卻意外地把範本檔案弄壞了?
好吧,只好從新建構一個範本。可是,我早已忘卻,如何在左方的 sidebar 加上「最近 post 的一些網誌」了(之前好像是 MPH 告訴我怎麼弄的,但這類的設定最好能夠找到參考資料,否則每次都會忘卻)...
星期四, 8月 03, 2006
PHP 的字串處理
喜歡 PHP 的另一個原因,是因為它提供許多方便的字串處理函式。
文件上說,PHP 這個程式語言,是採擷 Perl、C、以及 Java 的一些優點所形成。Perl 的優點是什麼呢?我覺得,主要就是提供一套強大的處理函式,可以利用正規語言表達式 (Regular Expression,或可直接譯為「正規表達式」) 來對字串進行比對與取代。
雜事做多了,就自然能夠感受 Perl 或 PHP 那些處理字串函式的優點。例如,很常見的一項雜務,就是一個「a,b,c,d,e」這樣的字串,用逗點切分,放在陣列中供後續處理;或者反過來,將一個陣列的內容一個個地傾印出來,但是在兩項內容間,加入一個分號。PHP 的 explode() 與 implode(),就可以做這樣的事情:
$s = "a,b,c,d,e";
$array = explode(",", $s);
$t = implode(";", $array);
就像是 Perl,PHP 也提供了更強大方便的 regular expression 的字串處理函式(事實上,PHP 支援了 Perl-Compatible 與 POSIX-Extended 兩種正規表達式的處理標準)。例如,由於 HTML tag 的屬性值,可以用雙引號、單引號、或甚至「沒有引號」來標示,我們可能會想將一篇文件的 href 統一用雙引號來框住。也就是說,會想將
這樣的字串們取代為
在 PHP 裡,要達到這樣的功能是頗容易的:
$pattern = "/<a href=(['\"]?)(.+?)\\1>/i";
$replaced_by = "<a href=\"$2\">";
$t = preg_replace($pattern, $replaced_by, $s);
只要大家嘗試用一般的字串處理函式來實作,吃過苦頭(因為麻煩又無趣)後,應該就會同意,正規表達式在字串處理上的的威力與優點。
雖然,現今廣用的程式語言幾乎都有提供 regex.Matcher 與 regex.Pattern 之類的物件,可以依循正規表達式處理字串;但我覺得,繼承了 Perl 的優點後,PHP 在正規表達式的使用上,還是比那些物件導向語言,來得自然、方便太多了。
文件上說,PHP 這個程式語言,是採擷 Perl、C、以及 Java 的一些優點所形成。Perl 的優點是什麼呢?我覺得,主要就是提供一套強大的處理函式,可以利用正規語言表達式 (Regular Expression,或可直接譯為「正規表達式」) 來對字串進行比對與取代。
雜事做多了,就自然能夠感受 Perl 或 PHP 那些處理字串函式的優點。例如,很常見的一項雜務,就是一個「a,b,c,d,e」這樣的字串,用逗點切分,放在陣列中供後續處理;或者反過來,將一個陣列的內容一個個地傾印出來,但是在兩項內容間,加入一個分號。PHP 的 explode() 與 implode(),就可以做這樣的事情:
$s = "a,b,c,d,e";
$array = explode(",", $s);
$t = implode(";", $array);
<a href='www.yahoo.com'>Yahoo</a>
<a HREF=www.google.com>Google</a>
<a HREF=www.google.com>Google</a>
這樣的字串們取代為
<a href="www.yahoo.com">Yahoo</a>
<a href="www.google.com">Google</a>
<a href="www.google.com">Google</a>
在 PHP 裡,要達到這樣的功能是頗容易的:
$pattern = "/<a href=(['\"]?)(.+?)\\1>/i";
$replaced_by = "<a href=\"$2\">";
$t = preg_replace($pattern, $replaced_by, $s);
雖然,現今廣用的程式語言幾乎都有提供 regex.Matcher 與 regex.Pattern 之類的物件,可以依循正規表達式處理字串;但我覺得,繼承了 Perl 的優點後,PHP 在正規表達式的使用上,還是比那些物件導向語言,來得自然、方便太多了。
星期一, 7月 31, 2006
從「先苦後樂」談起
仔細想想世間事,還真讓人不明白。
本來對「先苦後樂」這句話並沒有想太多。但今天早上在丹堤閱讀「學習,就是一種享受」,看到作者把「先苦後樂」視為錯誤的神話,卻突然有些話想說。
「現在努力工作,不久之後就會有獎賞」、「你只要把家庭作業做完,就可以出去玩」。在我們的求學過程以及之後的生涯裡,諸如此類的命令與信仰一直影響著我們。因此,退休之後的那幾年,才是一個人的「黃金時期」...
記不記得,童話故事裡,在草地裡唧唧吟唱整個夏天的蚱蜢最後被餓死;而在塵封穀倉裡辛勤工作的螞蟻卻得到回報?從前的年代裡,似乎將「先苦後樂」視為理所當然。但是,如果年老體衰後才退休、而退休後才是一個人的黃金時期,那樂趣又在那兒呢?
曾經寫下一篇 Stop improving yourself and start living。算算從這篇網誌到現在,已經接近一整年了(好可怕!)。我當初想表達的,是不是就是反對一廂情願的「先苦後樂」?
大姊曾似頗感擔心地說,她的小孩好像都是把作業留到最後再做 --- 這跟我們從前先把作業趕完,然後再玩的作風完全不同。而令我咀嚼再三的,卻是她接下來的一句話:「這樣也好,免得最後累死了,也沒有輕鬆到。」
每個人都有每個人的命性,每個人也都有自己的風格。或許,認識自己,就能夠在「先苦後樂」與「莫待無花空折枝」之間微妙地拿捏,就能夠在生活中知足常樂。但這裡其實有個困難處,那就是自己實在很難認清自己!
本來對「先苦後樂」這句話並沒有想太多。但今天早上在丹堤閱讀「學習,就是一種享受」,看到作者把「先苦後樂」視為錯誤的神話,卻突然有些話想說。
「現在努力工作,不久之後就會有獎賞」、「你只要把家庭作業做完,就可以出去玩」。在我們的求學過程以及之後的生涯裡,諸如此類的命令與信仰一直影響著我們。因此,退休之後的那幾年,才是一個人的「黃金時期」...
記不記得,童話故事裡,在草地裡唧唧吟唱整個夏天的蚱蜢最後被餓死;而在塵封穀倉裡辛勤工作的螞蟻卻得到回報?從前的年代裡,似乎將「先苦後樂」視為理所當然。但是,如果年老體衰後才退休、而退休後才是一個人的黃金時期,那樂趣又在那兒呢?
曾經寫下一篇 Stop improving yourself and start living。算算從這篇網誌到現在,已經接近一整年了(好可怕!)。我當初想表達的,是不是就是反對一廂情願的「先苦後樂」?
大姊曾似頗感擔心地說,她的小孩好像都是把作業留到最後再做 --- 這跟我們從前先把作業趕完,然後再玩的作風完全不同。而令我咀嚼再三的,卻是她接下來的一句話:「這樣也好,免得最後累死了,也沒有輕鬆到。」
每個人都有每個人的命性,每個人也都有自己的風格。或許,認識自己,就能夠在「先苦後樂」與「莫待無花空折枝」之間微妙地拿捏,就能夠在生活中知足常樂。但這裡其實有個困難處,那就是自己實在很難認清自己!
星期四, 7月 27, 2006
PHP 的陣列
就 prototyping 而言,我相當喜歡 PHP 的陣列。
上回提到,PHP 的 array 其實是用 Hash table + Double Linked List 實作的。因此,要存取$array[100] ,實際上是用 "100" 作為雜湊表 $array 的鍵值 (key),然後傳回表中所儲存的值。
所以,在實際的應用上,使用 PHP 的陣列,效能會比「一般程式語言的陣列」慢上許多(因為需要計算 hash key,有時也必須處理 hash collision 的問題)。
即使有著這麼大的效能缺陷,我還是相當喜歡 PHP 的陣列。為什麼呢?
因為,除了「一般陣列」的處理方式外,我們還可以很簡單地利用 PHP array 來實作出基本的資料結構(像是 linked list、stack、queue、tree 等等),而 PHP 也內建了許多有用的函式,可以讓我們方便地操作陣列的內容。例如,我們可以
上回提到,PHP 的 array 其實是用 Hash table + Double Linked List 實作的。因此,要存取
所以,在實際的應用上,使用 PHP 的陣列,效能會比「一般程式語言的陣列」慢上許多(因為需要計算 hash key,有時也必須處理 hash collision 的問題)。
即使有著這麼大的效能缺陷,我還是相當喜歡 PHP 的陣列。為什麼呢?
因為,除了「一般陣列」的處理方式外,我們還可以很簡單地利用 PHP array 來實作出基本的資料結構(像是 linked list、stack、queue、tree 等等),而 PHP 也內建了許多有用的函式,可以讓我們方便地操作陣列的內容。例如,我們可以
- 用 array_push() 與 array_pop() 來實作出堆疊 (stack) 的行為。
- 用 array_shift() 與 array_push() 來實作簡單的佇列 (queue)。
- 用 array_push()、array_pop()、array_shift()、array_unshift()來實作雙向佇列 (dqueue)。傳統的人工智能 (artificial intelligence) ,有許多問題相當著重於「狀態空間搜尋」(state space search);傳統的課本裡,也經常會以一些「玩具問題」 (toy problems) 來介紹這樣的解題概念。之前解傳教士與食人族的程式、解數獨的程式、解 Pentominoes的程式,都是利用狀態空間搜尋的例子。
狀態空間的搜尋,大致上類似於樹狀結構的巡走 (tree traversal)。利用雙向佇列,可以很容易地實作出廣度優先 (breadth-first) 或深度優先 (depth-first) 搜尋。 - 用 array_merge()、array_intersect()、array_diff() 來實作集合之間的聯集、交集、以及差集。
- 用多重陣列實作樹狀結構 (tree)。也就是說,可以直接利用 PHP 的多重陣列來實作像是 parse tree 般的階層結構。
- 其他還有許多「有時會顯得很方便」的內建函式,像是 sort() 可以對陣列排序,usort() 可以呼叫自己定義的另一個函式來對陣列內容排序,shuffle() 可以打亂陣列內容的順序(不必自己寫一小段程式來做洗牌的動作),array_fill()、array_pad() 與 range() 可以填滿一個陣列... 等等。
星期一, 7月 24, 2006
從 Pentominoes 程式談起
對於一些年幼時期所玩過的益智遊戲,似乎總有著一股濃濃的情感。
Pentominoes 是一種拼圖益智遊戲,用十二片面積相等的不同拼塊,填滿一個 6x10 的長方形。下圖是一個拼好的例子:

印象中,國小時期曾經玩過這個益智遊戲,並且好像拼出兩百多個不同解。十多年前,在美國讀碩士班時,為了因應無聊的日子,曾用 Power Basic 寫過一個程式來解這個拼圖遊戲。記得當時的主機,還是 Intel 386。66M Hz 的 CPU,跑出所有 2339 組解,需要整整一天的時間。
曾幾何時,電腦硬體的進展飛速;同樣一支程式,在我現在的 1.73G Hz 的 Notebook 上執行,竟然只要 200 秒的時間。(我是有稍微改進了一些冗餘的程式迴圈,但沒有這些改進,依然可以在幾分鐘內跑完所有的解答。)
前些日子,想整理一些曾經感興趣的程式設計問題。很自然地,也想重新檢視一下這個解 Pentominoes 的程式。
溫故也該知新。回頭整理從前的東西,似乎也應檢視一下先進們的成果。用 Google 查了一下 Pentominoes,可以找到許多相關的網頁與程式。其中有一個 Gerard's Polyomino Solution Engine,竟然可以在 18~19 秒內,就跑出所有的解答!
坦白說,我當時是覺得有些氣餒。執行速度,怎麼會差這麼多呢?
前兩個月想開了些(不必要求完美 --- 即使自己的演算法或程式效能比較差,但應該也還是能藉此介紹一些有趣的東西),還是決定用 PHP 重新改寫自己的 Pentominoes 程式,順便改用 bit operations 來改善一些執行效能。很不幸地,執行後發現,竟然需要將近兩個小時的時間,才能跑出所有的解答!這當然也讓自己頗感訝異:雖然早知道 PHP 屬於 interpretive language,但... 似乎也跑得太慢了吧?
後來做了一些簡單的實驗,閱讀相關文件後,漸漸了解其實這是因為 PHP array 並不是像傳統的陣列,被配置在連續的記憶體區塊內。它是使用 hash table + double linked list 來實作的,因此執行$array[$i] ,實際上並不該被解譯為「取出 $array 區塊第 $i 個項目的內容」,而是「用 $i 作為 $array 雜湊表的 hash key,然後取得相對應的值」。如此一來,執行的速度當然就會慢上許多。
幾個星期前,突然想用 Java 來實作看看,了解一下自己的程式究竟比 Gerard 的程式慢上多少。大概是自己寫程式的習慣還不錯,從 PHP 改寫為 Java,含除錯竟然只需要幾個小時的時間。初步執行的結果是,需要 57 秒的時間。
哦,只需要不到一分鐘的時間!這下子精神來了,花上一個星期左右的時間來優化實作的方式,最後終於可以在 17~18 秒內,就把 2339 組解答都找出來。
於是,允許自己得意十七秒鐘,就當作是一個星期辛苦地優化程式的犒賞吧 :p
Pentominoes 是一種拼圖益智遊戲,用十二片面積相等的不同拼塊,填滿一個 6x10 的長方形。下圖是一個拼好的例子:

印象中,國小時期曾經玩過這個益智遊戲,並且好像拼出兩百多個不同解。十多年前,在美國讀碩士班時,為了因應無聊的日子,曾用 Power Basic 寫過一個程式來解這個拼圖遊戲。記得當時的主機,還是 Intel 386。66M Hz 的 CPU,跑出所有 2339 組解,需要整整一天的時間。
曾幾何時,電腦硬體的進展飛速;同樣一支程式,在我現在的 1.73G Hz 的 Notebook 上執行,竟然只要 200 秒的時間。(我是有稍微改進了一些冗餘的程式迴圈,但沒有這些改進,依然可以在幾分鐘內跑完所有的解答。)
前些日子,想整理一些曾經感興趣的程式設計問題。很自然地,也想重新檢視一下這個解 Pentominoes 的程式。
溫故也該知新。回頭整理從前的東西,似乎也應檢視一下先進們的成果。用 Google 查了一下 Pentominoes,可以找到許多相關的網頁與程式。其中有一個 Gerard's Polyomino Solution Engine,竟然可以在 18~19 秒內,就跑出所有的解答!
坦白說,我當時是覺得有些氣餒。執行速度,怎麼會差這麼多呢?
前兩個月想開了些(不必要求完美 --- 即使自己的演算法或程式效能比較差,但應該也還是能藉此介紹一些有趣的東西),還是決定用 PHP 重新改寫自己的 Pentominoes 程式,順便改用 bit operations 來改善一些執行效能。很不幸地,執行後發現,竟然需要將近兩個小時的時間,才能跑出所有的解答!這當然也讓自己頗感訝異:雖然早知道 PHP 屬於 interpretive language,但... 似乎也跑得太慢了吧?
後來做了一些簡單的實驗,閱讀相關文件後,漸漸了解其實這是因為 PHP array 並不是像傳統的陣列,被配置在連續的記憶體區塊內。它是使用 hash table + double linked list 來實作的,因此執行
幾個星期前,突然想用 Java 來實作看看,了解一下自己的程式究竟比 Gerard 的程式慢上多少。大概是自己寫程式的習慣還不錯,從 PHP 改寫為 Java,含除錯竟然只需要幾個小時的時間。初步執行的結果是,需要 57 秒的時間。
哦,只需要不到一分鐘的時間!這下子精神來了,花上一個星期左右的時間來優化實作的方式,最後終於可以在 17~18 秒內,就把 2339 組解答都找出來。
於是,允許自己得意十七秒鐘,就當作是一個星期辛苦地優化程式的犒賞吧 :p
星期四, 7月 20, 2006
一切都是從夢幻開始
「神奇寶貝樂園在台北開幕了!」
小傢伙從電視上看到廣告後,可以將這句台詞朗朗上口,可見神奇寶貝的威力無窮。我答應她,只要她連續十天的表現都是「O」(沒有亂哭鬧;不會拖延不肯去刷牙、吃飯、洗澡),就帶她去玩。
前天她達到了要求(雖然太太覺得我有放水的嫌疑;但我的目的,其實是要小傢伙學會克制自己不好的行為。她應該是有進步不少,因此我認為該實踐約定)。恰好神奇寶貝樂園推出「夜間雙人星光票」,票價便宜許多;再加上晚上氣溫較低,不必在太陽下曬得渾身冒汗,所以我們決定昨晚就帶她去玩。而小傢伙,當然一路上都非常興奮!
樂園的門口,有一隻大大的皮卡丘。主題歌曲重覆地播放,很有歡樂的氣氛。服務人員態度非常好,讓人覺得,台灣若真的要學習日本的服務精神,其實也是做得到的。
或許是因為非假日的晚上,人潮並不多。比起熱門時段,動不動就要排隊一個小時(網路留言如此說),我們可是玩得相當盡興。在三個半小時內,我們玩了三次「皮卡丘之森」、四次「神奇寶貝的刺激狩獵之旅」、三次「神奇寶貝旋轉木馬」、兩次「皮丘兄弟頑皮列車」,也看了「神奇寶貝3D電影」、被「水躍魚的滑水道冒險之旅」濺得右半身幾乎全溼。不要說小傢伙非常高興,連我都覺得票價相當值得。
下圖左方是樂園門口的巨大皮卡丘,右方是小傢伙坐在皮卡丘之森的皮卡丘上。

再來一些照片:下圖左方是星光票的票根,右方是小傢伙在狩獵之旅所獲得的神奇寶貝證書。

就像是樂園裡的某個標語:一切都是從夢幻開始。且讓我們洗滌蒙塵的童心,坐上頑皮列車、戴上 3D 眼鏡,陪小朋友一起去尋找夢幻吧!
小傢伙從電視上看到廣告後,可以將這句台詞朗朗上口,可見神奇寶貝的威力無窮。我答應她,只要她連續十天的表現都是「O」(沒有亂哭鬧;不會拖延不肯去刷牙、吃飯、洗澡),就帶她去玩。
前天她達到了要求(雖然太太覺得我有放水的嫌疑;但我的目的,其實是要小傢伙學會克制自己不好的行為。她應該是有進步不少,因此我認為該實踐約定)。恰好神奇寶貝樂園推出「夜間雙人星光票」,票價便宜許多;再加上晚上氣溫較低,不必在太陽下曬得渾身冒汗,所以我們決定昨晚就帶她去玩。而小傢伙,當然一路上都非常興奮!
樂園的門口,有一隻大大的皮卡丘。主題歌曲重覆地播放,很有歡樂的氣氛。服務人員態度非常好,讓人覺得,台灣若真的要學習日本的服務精神,其實也是做得到的。
或許是因為非假日的晚上,人潮並不多。比起熱門時段,動不動就要排隊一個小時(網路留言如此說),我們可是玩得相當盡興。在三個半小時內,我們玩了三次「皮卡丘之森」、四次「神奇寶貝的刺激狩獵之旅」、三次「神奇寶貝旋轉木馬」、兩次「皮丘兄弟頑皮列車」,也看了「神奇寶貝3D電影」、被「水躍魚的滑水道冒險之旅」濺得右半身幾乎全溼。不要說小傢伙非常高興,連我都覺得票價相當值得。
下圖左方是樂園門口的巨大皮卡丘,右方是小傢伙坐在皮卡丘之森的皮卡丘上。

再來一些照片:下圖左方是星光票的票根,右方是小傢伙在狩獵之旅所獲得的神奇寶貝證書。

就像是樂園裡的某個標語:一切都是從夢幻開始。且讓我們洗滌蒙塵的童心,坐上頑皮列車、戴上 3D 眼鏡,陪小朋友一起去尋找夢幻吧!
星期二, 7月 18, 2006
永遠不夠的時間
大概是年紀到了某個階段,最近經常覺得時間過得太快。
前一陣子在網誌裡發洩了煩躁的狀況後,白天裡心情似乎逐漸恢復平和;但是,晚上卻仍會覺得某些地方不對勁。
我想了想,一個主要的原因,似乎是在於,自己想寫寫一些文章,卻越來越覺得路途遙遠(光陰短暫)而不可及。光是為了準備素材,就花去相當多的時間;而文章本身,卻怎樣也寫不出來。這是否表示,「整理一些心得、寫寫文章、甚至出本書」的目標,對自己來說是太高、太過不切實際了些?
如果確實是「不切實際」的目標,那麼我不該去追求,應該要放棄它。但是,令人困擾的是,我自己內心似乎仍然想去做,似乎仍覺得應該嘗試、似乎仍鼓勵自己勇敢地向前行。只是,為什麼「看透不切實際而放棄」,與「積極努力、一步一腳印地前行」之間的界線,感覺起來是那麼地模糊、那麼地令人困惑呢?
前一陣子在網誌裡發洩了煩躁的狀況後,白天裡心情似乎逐漸恢復平和;但是,晚上卻仍會覺得某些地方不對勁。
我想了想,一個主要的原因,似乎是在於,自己想寫寫一些文章,卻越來越覺得路途遙遠(光陰短暫)而不可及。光是為了準備素材,就花去相當多的時間;而文章本身,卻怎樣也寫不出來。這是否表示,「整理一些心得、寫寫文章、甚至出本書」的目標,對自己來說是太高、太過不切實際了些?
如果確實是「不切實際」的目標,那麼我不該去追求,應該要放棄它。但是,令人困擾的是,我自己內心似乎仍然想去做,似乎仍覺得應該嘗試、似乎仍鼓勵自己勇敢地向前行。只是,為什麼「看透不切實際而放棄」,與「積極努力、一步一腳印地前行」之間的界線,感覺起來是那麼地模糊、那麼地令人困惑呢?
星期四, 7月 13, 2006
「迴紋針換到房子」的故事
CNET 有篇頗有意思的文章:「Blog 傳奇:一根迴紋針換到一棟房子」。
這是真實、卻令人難以相信的故事:在一年內,經由十四次的交易,可以讓人用一根紅色的迴紋針,換到一棟兩層樓房子。
以事後諸葛的角度,大家或許可以說,這是經由網路與大眾行銷等等的推波助瀾,才能達成這項「不可能的任務」。但令我印象深刻的,卻是在 CNET 的採訪裡,主角 MacDonald 說的一些話語。
MacDonald 說,『一開始我也很擔心,因為一說出來,大家都會覺得你瘋了』。這是現實社會對「違反社會常態」crazy idea 的反應。『於是情況類似於,你慢慢靠近游泳池,周遭的人一直喊著:跳下去,跳下去。然後你就鼓起勇氣跳下去...』,這是讓自己在勇氣不足的情況下,卻仍然能夠「走不一樣的路」的一種方式吧?
然後,MacDonald 說,『幾個月前,我有一度很擔心,覺得大概不太可能達成這個目標』、『在交易的過程中,我的確有一陣子很不確定。我不是沮喪,而是覺得有點厭倦了,我覺得自己一直付出,但卻沒什麼收穫』。這似乎是任何「走不一樣的路」的人,都必須承擔的困頓,必須面對與解決的問題?
MacDonald 還有一些話語也頗有意思:
這是真實、卻令人難以相信的故事:在一年內,經由十四次的交易,可以讓人用一根紅色的迴紋針,換到一棟兩層樓房子。
以事後諸葛的角度,大家或許可以說,這是經由網路與大眾行銷等等的推波助瀾,才能達成這項「不可能的任務」。但令我印象深刻的,卻是在 CNET 的採訪裡,主角 MacDonald 說的一些話語。
MacDonald 說,『一開始我也很擔心,因為一說出來,大家都會覺得你瘋了』。這是現實社會對「違反社會常態」crazy idea 的反應。『於是情況類似於,你慢慢靠近游泳池,周遭的人一直喊著:跳下去,跳下去。然後你就鼓起勇氣跳下去...』,這是讓自己在勇氣不足的情況下,卻仍然能夠「走不一樣的路」的一種方式吧?
然後,MacDonald 說,『幾個月前,我有一度很擔心,覺得大概不太可能達成這個目標』、『在交易的過程中,我的確有一陣子很不確定。我不是沮喪,而是覺得有點厭倦了,我覺得自己一直付出,但卻沒什麼收穫』。這似乎是任何「走不一樣的路」的人,都必須承擔的困頓,必須面對與解決的問題?
MacDonald 還有一些話語也頗有意思:
- 『一開始當我選擇迴紋針做為起點,這就注定了我必須很有創意才行』
- 『你必須走出戶外,真實去面對你的交易對象』
- 『從很小的地方開始,把目標放遠,然後就好好地玩吧』
星期二, 7月 11, 2006
陪伴小傢伙的下午
今天下午在家裡帶小孩。
覺得帶三歲多的小孩,最需要的是耐性,陪小朋友玩的耐性。小傢伙一直要求我陪她玩,可是,陪她玩玩茶犬、神奇寶貝、堆堆積木、揉揉黏土後,自己很快地就覺得無聊、甚至疲倦了。
到床上小盹了半小時,醒來時竟已滿目瘡痍 -- 地上、床上堆滿了各式的玩具。(據教育部國語辭典,「滿目瘡痍」的意思是「映入眼中的都是殘破不堪的悲涼景象」,用在這裡作為誇大的比喻,應該還算合適吧?)
於是,相當佩服傳統的家庭主婦。帶小孩之外,她們竟然還能做那麼多家事,還能將家裡整理得乾乾淨淨。
在射雕英雄傳裡,郭靖曾提到他七師父常說:「看人挑擔不吃力,自己挑擔壓斷脊」。帶小孩雖不似挑擔,但道理卻也類似。要帶得好,當真不是件容易事呢。
覺得帶三歲多的小孩,最需要的是耐性,陪小朋友玩的耐性。小傢伙一直要求我陪她玩,可是,陪她玩玩茶犬、神奇寶貝、堆堆積木、揉揉黏土後,自己很快地就覺得無聊、甚至疲倦了。
到床上小盹了半小時,醒來時竟已滿目瘡痍 -- 地上、床上堆滿了各式的玩具。(據教育部國語辭典,「滿目瘡痍」的意思是「映入眼中的都是殘破不堪的悲涼景象」,用在這裡作為誇大的比喻,應該還算合適吧?)
於是,相當佩服傳統的家庭主婦。帶小孩之外,她們竟然還能做那麼多家事,還能將家裡整理得乾乾淨淨。
在射雕英雄傳裡,郭靖曾提到他七師父常說:「看人挑擔不吃力,自己挑擔壓斷脊」。帶小孩雖不似挑擔,但道理卻也類似。要帶得好,當真不是件容易事呢。
星期六, 7月 08, 2006
煩躁
棄我去者,昨日之日不可留。亂我心者,今日之日多煩憂。
不知怎麼搞地,最近這一兩個星期,總是會覺得有些心煩。或許是天氣炎熱、或許是睡眠不足、或許是一些生活瑣事、也或許是自己「每隔一些時日就會發作的週期病」。算了算時間,距離上回發作,差不多有兩個半月(間隔好像太短了些,真糟糕)。
煩躁的原因,到底是什麼呢?我依然不確定。只是隱隱覺得好似有許多東西積壓在心裡,但卻又無法明確地指認,究竟是那些事物讓自己煩心。
因此,從這個角度來看,自己這一年來在心性與成熟度上的些許進步,其實是相當微不足道的。連自己的煩惱究竟是什麼,都不知道,怎能算有多少進步呢?
不過,自己倒是學會時時提醒自己,就算煩躁「發作」,也不該讓它擴大、不該讓它蔓延到家中的其他成員。畢竟,要克服自己內心的無明與煩憂,光靠嘴巴說是不夠的。
不知怎麼搞地,最近這一兩個星期,總是會覺得有些心煩。或許是天氣炎熱、或許是睡眠不足、或許是一些生活瑣事、也或許是自己「每隔一些時日就會發作的週期病」。算了算時間,距離上回發作,差不多有兩個半月(間隔好像太短了些,真糟糕)。
煩躁的原因,到底是什麼呢?我依然不確定。只是隱隱覺得好似有許多東西積壓在心裡,但卻又無法明確地指認,究竟是那些事物讓自己煩心。
因此,從這個角度來看,自己這一年來在心性與成熟度上的些許進步,其實是相當微不足道的。連自己的煩惱究竟是什麼,都不知道,怎能算有多少進步呢?
不過,自己倒是學會時時提醒自己,就算煩躁「發作」,也不該讓它擴大、不該讓它蔓延到家中的其他成員。畢竟,要克服自己內心的無明與煩憂,光靠嘴巴說是不夠的。
星期三, 7月 05, 2006
冬山河親水之旅
酷熱的盛暑。早上走過林蔭道,卻時時可以聽見悅耳的蟬聲。
經歷上回墾丁之遊後,小傢伙說她很喜歡在淺水池玩耍。我答應她,會再帶她去玩水。
而國道五號開通後,台北到宜蘭只需要不到一個小時的車程。因此,到羅東冬山河的親水公園玩玩水,來個半日或一日遊,應該是可行的。
所以,我和太太商量,應該趁著非假日的時段,帶著寶寶來趟戲水之旅。順道也走走國內最長的雪山隧道,感受一下隧道工程的艱辛與偉大。
小傢伙玩得很愉快。而自己在一旁看著、陪著她玩,心裡也是無比舒暢。好棒的感覺啊。
後記:報載雪山隧道在安全顧慮上,其實還有諸多問題。雖然自己算是提前享用到隧道工程縮短車程的便利,但我還是認為,行車人員的安全性應該比「趁早通車」來得重要。換句話說,大官們不應該為了「表面上的政績」,在尚未取得足夠安全性保證前,就倉促宣布通車。現在的政治人物,思考作為實在都令人看不下去。
經歷上回墾丁之遊後,小傢伙說她很喜歡在淺水池玩耍。我答應她,會再帶她去玩水。而國道五號開通後,台北到宜蘭只需要不到一個小時的車程。因此,到羅東冬山河的親水公園玩玩水,來個半日或一日遊,應該是可行的。
所以,我和太太商量,應該趁著非假日的時段,帶著寶寶來趟戲水之旅。順道也走走國內最長的雪山隧道,感受一下隧道工程的艱辛與偉大。
小傢伙玩得很愉快。而自己在一旁看著、陪著她玩,心裡也是無比舒暢。好棒的感覺啊。
後記:報載雪山隧道在安全顧慮上,其實還有諸多問題。雖然自己算是提前享用到隧道工程縮短車程的便利,但我還是認為,行車人員的安全性應該比「趁早通車」來得重要。換句話說,大官們不應該為了「表面上的政績」,在尚未取得足夠安全性保證前,就倉促宣布通車。現在的政治人物,思考作為實在都令人看不下去。
星期二, 7月 04, 2006
「東山再起」
「東山再起」與「捲土重來」是同義詞嗎?
感覺起來,好像是吧。至少,我分不出它們在成語的使用上有著什麼樣的不同。然而,今早經由「公孫策說唐詩故事」的一篇解說,我才知道、才注意到它們在使用上,是有不同含意的。
「捲土重來」典故出自杜牧《題烏江亭》中,「江東子弟多才俊,捲土重來未可知」。詩人認為項羽自刎烏江,雖然悲壯(英雄氣短),但是若項羽 EQ 高些,當年能忍一時之氣,回到江東重整旗鼓,楚漢相爭鹿死誰手,還未可知。
「東山再起」指的是東晉時期,謝安接到朝廷徵召出來做官,卻始終不忘歸隱東山,因而當了一個多月的官之後,就掛印辭職了;之後,應當權的大將軍桓溫力邀,再度出來做官。這樣的故事歷程,被時人稱之為「東山再起」。
因此,公孫策特別說明,一個人失敗以後積極求勝,叫做「捲土重來」。不忮不求而由在位者力邀復出,才叫做「東山再起」。
喔,成語典故的使用,就是有著如許微妙的不同!
感覺起來,好像是吧。至少,我分不出它們在成語的使用上有著什麼樣的不同。然而,今早經由「公孫策說唐詩故事」的一篇解說,我才知道、才注意到它們在使用上,是有不同含意的。
「捲土重來」典故出自杜牧《題烏江亭》中,「江東子弟多才俊,捲土重來未可知」。詩人認為項羽自刎烏江,雖然悲壯(英雄氣短),但是若項羽 EQ 高些,當年能忍一時之氣,回到江東重整旗鼓,楚漢相爭鹿死誰手,還未可知。
「東山再起」指的是東晉時期,謝安接到朝廷徵召出來做官,卻始終不忘歸隱東山,因而當了一個多月的官之後,就掛印辭職了;之後,應當權的大將軍桓溫力邀,再度出來做官。這樣的故事歷程,被時人稱之為「東山再起」。
因此,公孫策特別說明,一個人失敗以後積極求勝,叫做「捲土重來」。不忮不求而由在位者力邀復出,才叫做「東山再起」。
喔,成語典故的使用,就是有著如許微妙的不同!
星期一, 7月 03, 2006
「注意力經濟」讀後感
又是一本「金玉其外,無趣其中」的企管論述書籍?
三年前在書店看到這本「注意力經濟」,就被這本書的一些外在特質所吸引。書本紙張的質感、印刷排版的舒適度、封面背頁的名人推薦、以及看起來頗有趣的書名(看到書名,很容易聯想到「注意力失焦」等因應資訊過載所產生的困擾),讓我當時毫不猶豫地將這本書買了下來。
「注意力經濟」這本書的基本觀察,其實是相當有趣的。由於資料、資訊不斷增加,且增加的速度遠超過人類基因(經由自然演化)所能適應,因此注意力就逐漸成為稀有財,而「資訊時代」也將逐漸過渡到「注意力時代」。
我同意作者們的這些觀察與推論。可是,類同於前些時日閱讀後,覺得表面上有趣,實質上深度不足的幾本書:資訊超載、新消費者心理學、A+的秘訣,這本「注意力經濟」的有趣內容,幾乎也只出現在第一章。閱讀到後來,越來越感覺作者們的論述似乎與「注意力經濟」沒有太大的關連。
簡單地說,有了「資訊超過人類所能負擔、人的注意力有其限制」這樣的觀察後,作者們將重點轉入「注意力管理」的問題。但既然人類天生無法處理資訊超載的問題,要「管理注意力」真是談何容易?於是,前兩個章節後,剩下來的長篇大論,建議就越來越顯得力不從心,論述也就越來越顯得牽強了。
其實,換一個角度來看,或許我不應該對這些書籍有如許多的批評。它們或許只是彰顯出,要寫一本立論有趣,內容又充實的書,是多麼困難的一件事。也或許,作者們本來就不期待它是一本怎樣的好書,而只是想藉著出版這樣的一本書,獲取社會上的注意力(名氣)與實質的回饋(金錢)呢。
三年前在書店看到這本「注意力經濟」,就被這本書的一些外在特質所吸引。書本紙張的質感、印刷排版的舒適度、封面背頁的名人推薦、以及看起來頗有趣的書名(看到書名,很容易聯想到「注意力失焦」等因應資訊過載所產生的困擾),讓我當時毫不猶豫地將這本書買了下來。
「注意力經濟」這本書的基本觀察,其實是相當有趣的。由於資料、資訊不斷增加,且增加的速度遠超過人類基因(經由自然演化)所能適應,因此注意力就逐漸成為稀有財,而「資訊時代」也將逐漸過渡到「注意力時代」。
我同意作者們的這些觀察與推論。可是,類同於前些時日閱讀後,覺得表面上有趣,實質上深度不足的幾本書:資訊超載、新消費者心理學、A+的秘訣,這本「注意力經濟」的有趣內容,幾乎也只出現在第一章。閱讀到後來,越來越感覺作者們的論述似乎與「注意力經濟」沒有太大的關連。
簡單地說,有了「資訊超過人類所能負擔、人的注意力有其限制」這樣的觀察後,作者們將重點轉入「注意力管理」的問題。但既然人類天生無法處理資訊超載的問題,要「管理注意力」真是談何容易?於是,前兩個章節後,剩下來的長篇大論,建議就越來越顯得力不從心,論述也就越來越顯得牽強了。
其實,換一個角度來看,或許我不應該對這些書籍有如許多的批評。它們或許只是彰顯出,要寫一本立論有趣,內容又充實的書,是多麼困難的一件事。也或許,作者們本來就不期待它是一本怎樣的好書,而只是想藉著出版這樣的一本書,獲取社會上的注意力(名氣)與實質的回饋(金錢)呢。
星期四, 6月 29, 2006
公孫策說唐詩故事
小時候,我應該也是很喜歡聽故事的。
只是,隨著年歲漸長,越來越少看到精彩的故事,也漸漸地沒有了夢想。
然而,中國的歷史故事,其實是相當精采的。只是,在自己的求學時期,似乎很少碰到會講故事、會解說故事的老師。對於一般陳述歷史的書籍,自己通常看過了也沒有什麼特別的感受、看過了也摸索不到故事的精華。
前些時日,在書店看到一本「公孫策說唐詩故事」,隨手翻了幾頁,卻也因而喚起內心深處的渴望。雖然看過了之後,對許多書中介紹的唐詩還是「有看沒有懂」(這本書並沒有解說唐詩 --- 連翻成白話文都沒有!),但閱讀公孫策介紹說明的歷史故事(以及偶而加入的提示或評論)後,自己卻似乎對於人生的起落、戰爭或政治鬥爭的黑暗,隱隱有了更深一層體會。
對我來說,這是一本值得閱讀的書。它讓我再次回味許多「似曾相識」的歷史故事、再次旁觀古時名人將相的精彩人生(雖然許多故事的主角都是以悲慘的結局收場),也似乎讓自己對時局、環境、乃至生活際遇,感受到不一樣的厚度。
只是,隨著年歲漸長,越來越少看到精彩的故事,也漸漸地沒有了夢想。
然而,中國的歷史故事,其實是相當精采的。只是,在自己的求學時期,似乎很少碰到會講故事、會解說故事的老師。對於一般陳述歷史的書籍,自己通常看過了也沒有什麼特別的感受、看過了也摸索不到故事的精華。
前些時日,在書店看到一本「公孫策說唐詩故事」,隨手翻了幾頁,卻也因而喚起內心深處的渴望。雖然看過了之後,對許多書中介紹的唐詩還是「有看沒有懂」(這本書並沒有解說唐詩 --- 連翻成白話文都沒有!),但閱讀公孫策介紹說明的歷史故事(以及偶而加入的提示或評論)後,自己卻似乎對於人生的起落、戰爭或政治鬥爭的黑暗,隱隱有了更深一層體會。
對我來說,這是一本值得閱讀的書。它讓我再次回味許多「似曾相識」的歷史故事、再次旁觀古時名人將相的精彩人生(雖然許多故事的主角都是以悲慘的結局收場),也似乎讓自己對時局、環境、乃至生活際遇,感受到不一樣的厚度。
星期一, 6月 26, 2006
數獨 (Su DoKu) 的程式解
據說,靈長類的動物,都喜歡玩遊戲。
或許是出於天性,自己一直對於益智遊戲頗感興趣。而設計程式,不也是為了解決某個問題嗎?因此,從某種角度觀看,也可以將「不算複雜的程式設計」,當作一種益智遊戲。如此一來,程式設計與實作,就相當於發展出「如何找出遊戲答案」的方法了。
或許是由於媒體的炒作與推波助瀾,數獨 (Su DoKu) 在這幾個月裡,似乎吸引了不少閒暇排遣的大眾目光。上網路書店博客來查了一下,光是書名包含「數獨」的資料,就有 45 筆呢。
數獨的遊戲規則很簡單,就是在一個 9x9 的方陣中,給定一些 1~9 的數字;然後遊戲玩家必須在其他的空格裡填入 1~9 的數字,讓方陣的每一行、每一列、以及(將方陣切分為 9 個) 3x3 的小方陣裡,都不重覆地出現 1 到 9 的數字。
例如,下圖左方就是一個數獨問題的盤面,而右方則是這個問題的(唯一)解答。

解解數獨,就像是以往令人懷念的填字遊戲,可以在閒暇時鍛鍊自己的腦力。不過,對關心程式設計的人來說,怎樣寫出一個「能夠自動解數獨」的程式,或許才是有趣點。
這個問題並不難,網路上也已經有豐富的相關資源。用 Google 搜尋 Su Doku,很快就可以找到許多數獨相關的網站,有的提供線上遊戲,有的則連程式的原始碼都附上了。
但說實在地,在看過答案(程式原始碼)之前,自己思考、設計與實作這樣的程式,還是有趣得多(雖然,花時間做這樣的思考與實作,沒能得到什麼實質上的回饋)。而我不是也想整理些有趣的小程式嗎?數獨或許是一個不錯的主題吧。
因此,花了些時間,自己用 PHP 開發了一份解數獨的程式。貫穿程式的演算法,是 number-of-choices(可能的選擇數目;或者說是可能性)的想法,以及 backtracking(回溯)的機制。 Number-of-choices 的意思,是找出每個空格裡,有多少種可能的數字;而 backtracking 則是當程式發覺某條路走不下去時,回溯到先前的狀態,換另外一條路走。
對於上圖左方的問題,每個空格「可能出現的數字」總數(可能性),就如右圖紅色字體所示。例如,從左邊數來第三格、上邊數來第三格,原本可以填 1~9 的任意數字;但因為同一列 (row)已經出現數字 1, 2, 3, 7, 8,同一行 (column) 已經有數字 2, 3, 4, 5, 6,且同一個 3x3 子方陣已經填有 2, 3, 5, 7,因此這個格子裡,不可能填 1~8 的數字,它的可能性(用紅色數字表示)只剩下 1。
可能性為 1 的方格,表示已經可以決定這個方格內的數字。因此程式可以將這個數字找出來,填寫進去,然後產生一份新的盤面。接下來,重覆運用可能性的觀念,計算這個新盤面裡每個空格的可能性,可以算出更多可能性為 1 的方格數字;如此反覆計算,最後就可以得到解答。
困難些的數獨問題,會讓盤面裡的每個空格,可能性都超過 1。例如,下圖左方的盤面,每個空格的可能填寫的的數字總數,就都大於 1(用紅色字體標示於下圖右方):

遇到這樣的盤面,我的程式會尋找目前具有最小可能性的方格(如果有數個方格有相同的最小可能性,就選擇「填入數字後,能夠降低最多其他方格可能性」的空格來填),猜測一個可能的數字,然後看看填入這個數字後,是不是能夠找到解答。如果最後失敗了(有某個空格可能性小於或等於零,意味著找不到解答),就表示這個數字猜錯了;這時程式會退回猜測前的狀態,重新選一個數字,然後繼續找尋問題的答案。
有時,一個數獨盤面也可能得出多種解答。至於上圖那個「比較困難」的數獨問題,很容易用程式算出唯一解:

雖然想要藉由這類的益智問題,來介紹、討論程式設計的一些相關課題,但還是懷疑自己是否有足夠的能力、毅力、與恆心來完成。既然對自己這麼沒有把握,那麼先利用 Blog 記錄一些目前的想法與結果,或許也是個不錯的作法吧。
後記:原先我把 number-of-choices 寫成 degree-of-freedom(自由度)。雖然「有多少種可能出現的選擇」(number-of-choices) 多少也代表「可自由變化的程度」,但 degree of freedom 是一個廣被接受的 well-defined term,還是不要錯用、亂用比較好。
或許是出於天性,自己一直對於益智遊戲頗感興趣。而設計程式,不也是為了解決某個問題嗎?因此,從某種角度觀看,也可以將「不算複雜的程式設計」,當作一種益智遊戲。如此一來,程式設計與實作,就相當於發展出「如何找出遊戲答案」的方法了。
或許是由於媒體的炒作與推波助瀾,數獨 (Su DoKu) 在這幾個月裡,似乎吸引了不少閒暇排遣的大眾目光。上網路書店博客來查了一下,光是書名包含「數獨」的資料,就有 45 筆呢。
數獨的遊戲規則很簡單,就是在一個 9x9 的方陣中,給定一些 1~9 的數字;然後遊戲玩家必須在其他的空格裡填入 1~9 的數字,讓方陣的每一行、每一列、以及(將方陣切分為 9 個) 3x3 的小方陣裡,都不重覆地出現 1 到 9 的數字。
例如,下圖左方就是一個數獨問題的盤面,而右方則是這個問題的(唯一)解答。

解解數獨,就像是以往令人懷念的填字遊戲,可以在閒暇時鍛鍊自己的腦力。不過,對關心程式設計的人來說,怎樣寫出一個「能夠自動解數獨」的程式,或許才是有趣點。
這個問題並不難,網路上也已經有豐富的相關資源。用 Google 搜尋 Su Doku,很快就可以找到許多數獨相關的網站,有的提供線上遊戲,有的則連程式的原始碼都附上了。
但說實在地,在看過答案(程式原始碼)之前,自己思考、設計與實作這樣的程式,還是有趣得多(雖然,花時間做這樣的思考與實作,沒能得到什麼實質上的回饋)。而我不是也想整理些有趣的小程式嗎?數獨或許是一個不錯的主題吧。
因此,花了些時間,自己用 PHP 開發了一份解數獨的程式。貫穿程式的演算法,是 number-of-choices(可能的選擇數目;或者說是可能性)的想法,以及 backtracking(回溯)的機制。 Number-of-choices 的意思,是找出每個空格裡,有多少種可能的數字;而 backtracking 則是當程式發覺某條路走不下去時,回溯到先前的狀態,換另外一條路走。
對於上圖左方的問題,每個空格「可能出現的數字」總數(可能性),就如右圖紅色字體所示。例如,從左邊數來第三格、上邊數來第三格,原本可以填 1~9 的任意數字;但因為同一列 (row)已經出現數字 1, 2, 3, 7, 8,同一行 (column) 已經有數字 2, 3, 4, 5, 6,且同一個 3x3 子方陣已經填有 2, 3, 5, 7,因此這個格子裡,不可能填 1~8 的數字,它的可能性(用紅色數字表示)只剩下 1。可能性為 1 的方格,表示已經可以決定這個方格內的數字。因此程式可以將這個數字找出來,填寫進去,然後產生一份新的盤面。接下來,重覆運用可能性的觀念,計算這個新盤面裡每個空格的可能性,可以算出更多可能性為 1 的方格數字;如此反覆計算,最後就可以得到解答。
困難些的數獨問題,會讓盤面裡的每個空格,可能性都超過 1。例如,下圖左方的盤面,每個空格的可能填寫的的數字總數,就都大於 1(用紅色字體標示於下圖右方):

遇到這樣的盤面,我的程式會尋找目前具有最小可能性的方格(如果有數個方格有相同的最小可能性,就選擇「填入數字後,能夠降低最多其他方格可能性」的空格來填),猜測一個可能的數字,然後看看填入這個數字後,是不是能夠找到解答。如果最後失敗了(有某個空格可能性小於或等於零,意味著找不到解答),就表示這個數字猜錯了;這時程式會退回猜測前的狀態,重新選一個數字,然後繼續找尋問題的答案。
有時,一個數獨盤面也可能得出多種解答。至於上圖那個「比較困難」的數獨問題,很容易用程式算出唯一解:

雖然想要藉由這類的益智問題,來介紹、討論程式設計的一些相關課題,但還是懷疑自己是否有足夠的能力、毅力、與恆心來完成。既然對自己這麼沒有把握,那麼先利用 Blog 記錄一些目前的想法與結果,或許也是個不錯的作法吧。
後記:原先我把 number-of-choices 寫成 degree-of-freedom(自由度)。雖然「有多少種可能出現的選擇」(number-of-choices) 多少也代表「可自由變化的程度」,但 degree of freedom 是一個廣被接受的 well-defined term,還是不要錯用、亂用比較好。
星期五, 6月 23, 2006
還是想整理些什麼...
這一份 post doctor 工作,轉眼已經從事將近九個月了。
回想當初,本來是想在四十歲左右,嘗試整理一些曾感興趣的程式設計題目、並寫寫相關的技術文章。然而,過沒多久,因為發覺這份工作有兩件值得去做的事情(寫一篇多年前未完成的論文、設計實作 THDL 檢索系統的 prototype),因而就把「想整理些有趣問題」的事情給忽略、耽擱了。
這一陣子,論文已經寫完一篇,prototype 也經設計、實作、並轉交給實驗室學弟妹們。此外,上個星期也度過一個愉快的旅遊假期。因此,似乎是是時候,想想自己接下來,該做些什麼了。
雖然工作上的正經事大致上都告了個段落,但最近自己其實也都沒有閒著。其中一件與實驗室相關的事,是「指導」學弟做研究。MPH 在他的 Blog「標準差」裡,曾提到他以一個局外人的身份,在口試當天發覺一位碩士畢業生對於基本觀念的誤解。他覺得頗不可思議(畢竟,台大資工還是執台灣學術界資訊領域的牛耳),但我卻覺得,類似的研究品質,目前應該是「相當普遍而常見」的。
對實驗室的某位學弟,雖然他的碩士論文已經撰寫了數十頁,而學校的畢業典禮也已經結束,但自己對那些「研究成果」實在看不太過去。因此,這兩個星期,藉由討論作為起點,我建議學弟從不同的角度來看待他的那些研究、「指導」他調整研究焦點與聚焦方式。
但一有空閒,整理「小而有趣的程式設計專題」的念頭,就還是會不時浮現出來。也因此,自己最近也花了不少時間,寫寫一些小程式。這些程式雖然體積不大,但撰寫除錯還是很耗時間與精神。有時,我真不禁懷疑,自己在寫程式上的「生產力」,是不是下降了許多呢。
回想當初,本來是想在四十歲左右,嘗試整理一些曾感興趣的程式設計題目、並寫寫相關的技術文章。然而,過沒多久,因為發覺這份工作有兩件值得去做的事情(寫一篇多年前未完成的論文、設計實作 THDL 檢索系統的 prototype),因而就把「想整理些有趣問題」的事情給忽略、耽擱了。
這一陣子,論文已經寫完一篇,prototype 也經設計、實作、並轉交給實驗室學弟妹們。此外,上個星期也度過一個愉快的旅遊假期。因此,似乎是是時候,想想自己接下來,該做些什麼了。
雖然工作上的正經事大致上都告了個段落,但最近自己其實也都沒有閒著。其中一件與實驗室相關的事,是「指導」學弟做研究。MPH 在他的 Blog「標準差」裡,曾提到他以一個局外人的身份,在口試當天發覺一位碩士畢業生對於基本觀念的誤解。他覺得頗不可思議(畢竟,台大資工還是執台灣學術界資訊領域的牛耳),但我卻覺得,類似的研究品質,目前應該是「相當普遍而常見」的。
對實驗室的某位學弟,雖然他的碩士論文已經撰寫了數十頁,而學校的畢業典禮也已經結束,但自己對那些「研究成果」實在看不太過去。因此,這兩個星期,藉由討論作為起點,我建議學弟從不同的角度來看待他的那些研究、「指導」他調整研究焦點與聚焦方式。
但一有空閒,整理「小而有趣的程式設計專題」的念頭,就還是會不時浮現出來。也因此,自己最近也花了不少時間,寫寫一些小程式。這些程式雖然體積不大,但撰寫除錯還是很耗時間與精神。有時,我真不禁懷疑,自己在寫程式上的「生產力」,是不是下降了許多呢。
星期一, 6月 19, 2006
收心
遊玩了一週,似乎是該收收心,回到日常生活(工作)了。
其實,把「幸福」和「收心」等等世俗貪戀與用語拿來記錄生活,就較高的理論層次來說,類似於「此地無銀三百兩」,可說是一種恐懼心理的反應。
就如同阿尼所說,「你放棄了一切希望,不再有目標和慾望,也不在口中談論幸福。此時, 世上的辛苦,都不在你心頭,你的心才得到歇息。」真正的幸福、實際的收心,是不需要說、也不需要寫的。
然而,或許世俗的人,就是需要世俗的提醒,才能夠在修習與實踐中,找到自我的覺醒。也就是說,我承認自己並沒有什麼自覺,也沒有什麼實踐力,因而偶而需要「賣弄」、需要「世俗羈絆」、需要經常的自我記錄與反省、更需要身邊親友的支持與鼓勵,才能夠讓自己的心靈,有著那麼些微不足道的提昇。
因此,「收心」也只是告訴自己,雖然上週的度假旅遊令人迷戀;但接下來,是該提醒自己,回頭專注日常工作的事務了。
其實,把「幸福」和「收心」等等世俗貪戀與用語拿來記錄生活,就較高的理論層次來說,類似於「此地無銀三百兩」,可說是一種恐懼心理的反應。
就如同阿尼所說,「你放棄了一切希望,不再有目標和慾望,也不在口中談論幸福。此時, 世上的辛苦,都不在你心頭,你的心才得到歇息。」真正的幸福、實際的收心,是不需要說、也不需要寫的。
然而,或許世俗的人,就是需要世俗的提醒,才能夠在修習與實踐中,找到自我的覺醒。也就是說,我承認自己並沒有什麼自覺,也沒有什麼實踐力,因而偶而需要「賣弄」、需要「世俗羈絆」、需要經常的自我記錄與反省、更需要身邊親友的支持與鼓勵,才能夠讓自己的心靈,有著那麼些微不足道的提昇。
因此,「收心」也只是告訴自己,雖然上週的度假旅遊令人迷戀;但接下來,是該提醒自己,回頭專注日常工作的事務了。
星期六, 6月 17, 2006
墾丁四日遊
這幾天離開台北,來個四天三夜的墾丁遊。
不過,並沒有照片留下來,因為相機在海洋生物博物館遺失了。我懷疑是被扒走的 --- 坐在長凳上觀看大洋池餵食,坐姿幾乎都沒有改變,但在短短數分鐘內相機就不見了。這讓我花了許多時間才調適好心情,並繼續讓小傢伙在戶外的親水區戲水遊玩。(由於遺失相機,我問寶寶這下該怎麼辦。小傢伙說,再買一台就好啦。看來,她比我還看得開呢。)
因為現在的旅館幾乎都有提供無線上網,出門前曾考慮要不要帶筆記型電腦。最後,我還是決定把電腦留在家裡,因為這樣子可以讓自己與網路世界斷隔數天,因而更有休閒旅遊的感覺。
長途開車是有些累。更糟的是,對於初次到訪的旅客來說,台灣的高速公路號誌,還真是不友善。去程應該在高雄的五甲系統轉接 88 號快速道路,但一不留神就錯過了。此外,回程在台南附近也走錯了一小段路,因為號誌與出口離得太近,等看到號誌時,已經來不及切換車道了。
大致上,我覺得恆春半島的景致相當好,處處洋溢著南國的氣息。墾丁的天氣雖然炎熱,但卻不會覺得黏溼不舒服。此外,我們旅遊的時段屬於「非假日」,交通也相當舒暢。
今早一覺醒來,自己似乎還有著些微醺的奇妙感覺。旅遊,也是一種幸福。
不過,並沒有照片留下來,因為相機在海洋生物博物館遺失了。我懷疑是被扒走的 --- 坐在長凳上觀看大洋池餵食,坐姿幾乎都沒有改變,但在短短數分鐘內相機就不見了。這讓我花了許多時間才調適好心情,並繼續讓小傢伙在戶外的親水區戲水遊玩。(由於遺失相機,我問寶寶這下該怎麼辦。小傢伙說,再買一台就好啦。看來,她比我還看得開呢。)
因為現在的旅館幾乎都有提供無線上網,出門前曾考慮要不要帶筆記型電腦。最後,我還是決定把電腦留在家裡,因為這樣子可以讓自己與網路世界斷隔數天,因而更有休閒旅遊的感覺。
長途開車是有些累。更糟的是,對於初次到訪的旅客來說,台灣的高速公路號誌,還真是不友善。去程應該在高雄的五甲系統轉接 88 號快速道路,但一不留神就錯過了。此外,回程在台南附近也走錯了一小段路,因為號誌與出口離得太近,等看到號誌時,已經來不及切換車道了。
大致上,我覺得恆春半島的景致相當好,處處洋溢著南國的氣息。墾丁的天氣雖然炎熱,但卻不會覺得黏溼不舒服。此外,我們旅遊的時段屬於「非假日」,交通也相當舒暢。
今早一覺醒來,自己似乎還有著些微醺的奇妙感覺。旅遊,也是一種幸福。
星期一, 6月 12, 2006
幸福,可以是個動詞
幸福,要懂得把握,也值得珍惜。
記得當學生時,就聽老師們說過,當學生是人生最幸福的時期。從前聽不甚懂這些話,雖然同意學生的生活單純,但是單純就代表幸福嗎?
或許,學生們之所以幸福,是在於目標很單純。只要把書讀好(考試得到好成績?),就算是漂亮地完成任務。今早在報紙上,看到「威爾許談致勝」專欄裡,Jack Welch 說,「出人頭地之道,就是要超額付出... 過去老師交你只要回答問題就可以得到 A+,但在企業界要得到 A+ 的評語,你得突破公司期待,讓公司喜出望外;你要回答問題,還要回答老師沒想到的問題。」
說得真是漂亮!或許自己從前一直以為,以自己的想法來「做好事情」就好了,但其實這樣是不夠的。事情真的有被「做好」了嗎?自己是不是因為現實層面的各種牽絆,很容易就妥協、很容易就降低標準了呢?
真實生活的問題,通常複雜而難解。要看出複雜面向背後的一致性,並且了解如何利用這種一致性來取得大眾的認同,或許才更有價值。那麼,自己是真的能夠感受這些問題、分析過這些問題的各種面向、也腳踏實地去解決它們嗎?
這是否就是所謂的「活在當下」呢?過去的以如雲煙,未來卻遙遠而不可知,能夠把握的,就是現在而已。或許問題的癥結點,正在於「說的比做的多」,在於缺乏將思想轉為行動的勇氣,缺乏實踐的恆心毅力。
珍惜幸福的感覺,這幸福是個形容詞。然而,若用動詞的角度來詮釋,幸福其實也是需要去「做」、需要去實踐的。經過實踐,幸福才有生命,才流露世間溫暖、才彰顯人性光輝。
我覺得,幸福可以、也應該是個動詞。
記得當學生時,就聽老師們說過,當學生是人生最幸福的時期。從前聽不甚懂這些話,雖然同意學生的生活單純,但是單純就代表幸福嗎?
或許,學生們之所以幸福,是在於目標很單純。只要把書讀好(考試得到好成績?),就算是漂亮地完成任務。今早在報紙上,看到「威爾許談致勝」專欄裡,Jack Welch 說,「出人頭地之道,就是要超額付出... 過去老師交你只要回答問題就可以得到 A+,但在企業界要得到 A+ 的評語,你得突破公司期待,讓公司喜出望外;你要回答問題,還要回答老師沒想到的問題。」
說得真是漂亮!或許自己從前一直以為,以自己的想法來「做好事情」就好了,但其實這樣是不夠的。事情真的有被「做好」了嗎?自己是不是因為現實層面的各種牽絆,很容易就妥協、很容易就降低標準了呢?
真實生活的問題,通常複雜而難解。要看出複雜面向背後的一致性,並且了解如何利用這種一致性來取得大眾的認同,或許才更有價值。那麼,自己是真的能夠感受這些問題、分析過這些問題的各種面向、也腳踏實地去解決它們嗎?
這是否就是所謂的「活在當下」呢?過去的以如雲煙,未來卻遙遠而不可知,能夠把握的,就是現在而已。或許問題的癥結點,正在於「說的比做的多」,在於缺乏將思想轉為行動的勇氣,缺乏實踐的恆心毅力。
珍惜幸福的感覺,這幸福是個形容詞。然而,若用動詞的角度來詮釋,幸福其實也是需要去「做」、需要去實踐的。經過實踐,幸福才有生命,才流露世間溫暖、才彰顯人性光輝。
我覺得,幸福可以、也應該是個動詞。
星期五, 6月 09, 2006
當電腦介入生活
不知不覺間,自己的清醒時間,多半被電腦給佔據了。
電腦與軟體應用,真的已經深深地介入我的日常生活。早上帶著 Notebook 出門,工作時緊盯著螢幕看(寫程式、製作文件、上網瀏覽、檢查電子郵件),就連晚上回家的空閒時間,都似乎被電腦給綁住了。
這個情形,我想自己的寶寶最是清楚。她會說,「爸爸,陪我玩嘛,不要看電腦啦~」。雖然驚覺似乎不該如此,但卻仍難以抗拒「寫程式、製作文件、上網瀏覽、檢查電子郵件」的誘惑。
今早 Blogger 出現了一些狀況:

Blogger 服務出現網路壅塞,連線不上,已經是個「頗常碰到」的問題了。現在竟然還會刊登一份「unexpected technical problem」的訊息,強調「our engineer is working hard...」,這是不是也說明了「做好網路服務」的困難性(至少,軟體必須有足夠的容量與能力,來處理如此大量的訊息處理)?
習慣使用網路的服務後,對於軟體的品質的要求,似乎不知不覺提高了。Ankh 前些時日在他的 Blog 裡,聊到對於 Google 出現了一些負面聲音。在回應裡,我也提到最近 Gmail 在郵件編碼的處理上,似乎顯得不夠周全(對使用者的顧慮不足)。
能夠享有這些應用服務,其實是世界上很多人,經過長時間努力的結果。可是,人在適應後,往往會忘記應該對此「感恩惜福」。或許,在現今重視功利的資本主義下,人們因為激烈的社會競爭、因為承受著過度的資訊負載,早已不能(也無力)把這些服務視為「享受」了。只是,如此一來,我們的生活品質,真的有因為前人的努力,而得到良好的提升嗎?
電腦與軟體應用,真的已經深深地介入我的日常生活。早上帶著 Notebook 出門,工作時緊盯著螢幕看(寫程式、製作文件、上網瀏覽、檢查電子郵件),就連晚上回家的空閒時間,都似乎被電腦給綁住了。
這個情形,我想自己的寶寶最是清楚。她會說,「爸爸,陪我玩嘛,不要看電腦啦~」。雖然驚覺似乎不該如此,但卻仍難以抗拒「寫程式、製作文件、上網瀏覽、檢查電子郵件」的誘惑。
今早 Blogger 出現了一些狀況:

Blogger 服務出現網路壅塞,連線不上,已經是個「頗常碰到」的問題了。現在竟然還會刊登一份「unexpected technical problem」的訊息,強調「our engineer is working hard...」,這是不是也說明了「做好網路服務」的困難性(至少,軟體必須有足夠的容量與能力,來處理如此大量的訊息處理)?
習慣使用網路的服務後,對於軟體的品質的要求,似乎不知不覺提高了。Ankh 前些時日在他的 Blog 裡,聊到對於 Google 出現了一些負面聲音。在回應裡,我也提到最近 Gmail 在郵件編碼的處理上,似乎顯得不夠周全(對使用者的顧慮不足)。
能夠享有這些應用服務,其實是世界上很多人,經過長時間努力的結果。可是,人在適應後,往往會忘記應該對此「感恩惜福」。或許,在現今重視功利的資本主義下,人們因為激烈的社會競爭、因為承受著過度的資訊負載,早已不能(也無力)把這些服務視為「享受」了。只是,如此一來,我們的生活品質,真的有因為前人的努力,而得到良好的提升嗎?
星期三, 6月 07, 2006
古契書的亂碼問題
這一陣子比較空閒,幫實驗室繼續處理一些「古契書檢索應用」的工作。
去年十一月,在「談古契書資料處理:之一」與「談古契書資料處理:之二」的 posts 裡,我曾提到「古契書中文編碼」的一些問題。
當時的問題之一,是「編碼標準」的衝突:將古籍數位化的人員,寫程式的人員、MySQL 資料庫、M$ 資料庫...,經常使用不同的編碼格式(常見的格式是 Big5, Unicode Little Endian, Unicode Big Endian, 與UTF-8),因而造成後續資料處理的困難。
經過一些討論後,實驗決定統一用 UTF-16LE 來儲存「文件數位化後的純文字檔案」。因為我的 THDL Retrieval Prototype 當初所用的文獻集(corpus)只含「明清檔案」的部分,而明清檔案的內容不像古契書那麼「古怪」,所以制訂好儲存的編碼格式後,似乎就解決了一大部分的問題。
這兩天處理古契書,又遇到「亂碼」的問題 --- 某些文件中,大概有超過三分之一的亂碼。為什麼會有亂碼呢?一部份的原因,是有些古契書是用日文書寫的(不要忘了,日本人曾統治台灣許多年);而有些古契書裡用的字,在編碼表上找不到對應(像是台大八魚社,四條魚組成一個字,就好像找不到對應的編碼)。另外,還有一部份的原因,則是因為數位化的人員想保存契書的書寫樣式,因而引用了多個 Microsoft Word 的物件,讓自動擷取文字的工具「誤判」而產生亂碼。
看個例子好了(因為剪貼也會經過轉碼的處理,所以許多原本「更古怪」的亂碼,在此已經被轉成問號了):
亂碼就亂碼,有什麼好大驚小怪?問題出在,亂碼轉來轉去,經過多次處理後,會變得越來越莫名其妙(非常符合「Garbage in, garbage out」的原理),而這樣會增加檢索前置處理的困難(有時,經由 regular expression 處理後會產生「原本不預期」的結果;有時,MySQL 會拒絕寫入資料)。
看來,項老師想做 Histoinformatics 的研究,要走的路還頗長呢!
後記:回家後發現這兩天與「古契書」奮戰的結果是:眼睛疲倦、肩膀痠痛。咦,我不是想好好地休息一下嗎,這麼辛苦做什麼啊?
去年十一月,在「談古契書資料處理:之一」與「談古契書資料處理:之二」的 posts 裡,我曾提到「古契書中文編碼」的一些問題。
當時的問題之一,是「編碼標準」的衝突:將古籍數位化的人員,寫程式的人員、MySQL 資料庫、M$ 資料庫...,經常使用不同的編碼格式(常見的格式是 Big5, Unicode Little Endian, Unicode Big Endian, 與UTF-8),因而造成後續資料處理的困難。
經過一些討論後,實驗決定統一用 UTF-16LE 來儲存「文件數位化後的純文字檔案」。因為我的 THDL Retrieval Prototype 當初所用的文獻集(corpus)只含「明清檔案」的部分,而明清檔案的內容不像古契書那麼「古怪」,所以制訂好儲存的編碼格式後,似乎就解決了一大部分的問題。
這兩天處理古契書,又遇到「亂碼」的問題 --- 某些文件中,大概有超過三分之一的亂碼。為什麼會有亂碼呢?一部份的原因,是有些古契書是用日文書寫的(不要忘了,日本人曾統治台灣許多年);而有些古契書裡用的字,在編碼表上找不到對應(像是台大八魚社,四條魚組成一個字,就好像找不到對應的編碼)。另外,還有一部份的原因,則是因為數位化的人員想保存契書的書寫樣式,因而引用了多個 Microsoft Word 的物件,讓自動擷取文字的工具「誤判」而產生亂碼。
看個例子好了(因為剪貼也會經過轉碼的處理,所以許多原本「更古怪」的亂碼,在此已經被轉成問號了):
立遺囑鬮分書字人陳金山娶業林氏生水兄弟七人長曰杉奇次曰賜ഀ
能三曰勳珍四曰允固五曰五港六曰六賽七曰七子□母續世□詣子凜ഀ
命營鶯俱以完娶各齊承受繩繩是心之所欣慰也有積餘資創建各ഀ
處等業但余罕ὔ浵䅥⑾停쵠ὓ챵饚粖ᑑ텎蚏鍏൱上進數被宗ഀ
□侵漁難以總理似應分爨爰請房親姻戚共相酌議將兄弟鬮分應ഀ
份及已置山場山茶水田物業先抽起贊業段又抽起長孫田業其餘山場茶ഀ
畬水田物業以及家□往來賬項公仝配踏作七房均分至公無私禱神拈鬮ഀ
為定各應安分照鬮掌管自今日既約之后務各立志恢宏永敦和睦各自經ഀ
營創建各業各管靎ⵟ睲ㆁ豙⍔䙬偏⦆⅓酱왡쭢空톐⹖ڛ
坦͛᥎}⍎歛ћ綾㡘恬몐杰㥱⪋螂푸ї啔䎆涅ڛ鵒땨ᝫ๒蹦൝
能三曰勳珍四曰允固五曰五港六曰六賽七曰七子□母續世□詣子凜ഀ
命營鶯俱以完娶各齊承受繩繩是心之所欣慰也有積餘資創建各ഀ
處等業但余罕ὔ浵䅥⑾停쵠ὓ챵饚粖ᑑ텎蚏鍏൱上進數被宗ഀ
□侵漁難以總理似應分爨爰請房親姻戚共相酌議將兄弟鬮分應ഀ
份及已置山場山茶水田物業先抽起贊業段又抽起長孫田業其餘山場茶ഀ
畬水田物業以及家□往來賬項公仝配踏作七房均分至公無私禱神拈鬮ഀ
為定各應安分照鬮掌管自今日既約之后務各立志恢宏永敦和睦各自經ഀ
營創建各業各管靎ⵟ睲ㆁ豙⍔䙬偏⦆⅓酱왡쭢空톐⹖ڛ
坦͛᥎}⍎歛ћ綾㡘恬몐杰㥱⪋螂푸ї啔䎆涅ڛ鵒땨ᝫ๒蹦൝
亂碼就亂碼,有什麼好大驚小怪?問題出在,亂碼轉來轉去,經過多次處理後,會變得越來越莫名其妙(非常符合「Garbage in, garbage out」的原理),而這樣會增加檢索前置處理的困難(有時,經由 regular expression 處理後會產生「原本不預期」的結果;有時,MySQL 會拒絕寫入資料)。
看來,項老師想做 Histoinformatics 的研究,要走的路還頗長呢!
後記:回家後發現這兩天與「古契書」奮戰的結果是:眼睛疲倦、肩膀痠痛。咦,我不是想好好地休息一下嗎,這麼辛苦做什麼啊?
星期一, 6月 05, 2006
林間的岔路
自己雖然文學的素養不怎麼樣,但有時對詩文還是有著難以言喻的感觸。
前些時日收到書商的廣告信,推介一套中譯的詩集。心想家裡的書都已經堆到地上啦,怎麼還有空間置放數十本的詩集呢?正要把廣告信扔進回收桶,卻一眼瞥見佛羅斯特(Robert Forrester)一首有名的詩:
黃樹林裡有兩條岔路,
很遺憾我不能都涉足。
我孤單地站立良久,
向其中一條極目望去,
看它彎沒在林蔭的深處。
多年後的某時某地,
我回憶此刻將輕聲嘆息。
樹林裡岔開兩條路。而我,
我走了人跡較少的那一條,
因此有了完全不同的人生。
這首詩寫景、寫實,卻又兼喻人生選擇的意境。每個人都有自己不同的人生、每個人也都有自己的路可以選擇。詩人選了人跡較少的路來走,但一般人多半難以抗拒社會的規範、渴望得到他人的認同,因而幾乎都是「跟著前人的腳步走」啊。
不同的林間路,有著不同的林間景致。不同的人生、工作選擇,會有著迥然不同的人生體驗。只是,此時此刻,自己的選擇,又是什麼呢?
前些時日收到書商的廣告信,推介一套中譯的詩集。心想家裡的書都已經堆到地上啦,怎麼還有空間置放數十本的詩集呢?正要把廣告信扔進回收桶,卻一眼瞥見佛羅斯特(Robert Forrester)一首有名的詩:
黃樹林裡有兩條岔路,
很遺憾我不能都涉足。
我孤單地站立良久,
向其中一條極目望去,
看它彎沒在林蔭的深處。
多年後的某時某地,
我回憶此刻將輕聲嘆息。
樹林裡岔開兩條路。而我,
我走了人跡較少的那一條,
因此有了完全不同的人生。
這首詩寫景、寫實,卻又兼喻人生選擇的意境。每個人都有自己不同的人生、每個人也都有自己的路可以選擇。詩人選了人跡較少的路來走,但一般人多半難以抗拒社會的規範、渴望得到他人的認同,因而幾乎都是「跟著前人的腳步走」啊。
不同的林間路,有著不同的林間景致。不同的人生、工作選擇,會有著迥然不同的人生體驗。只是,此時此刻,自己的選擇,又是什麼呢?
星期五, 6月 02, 2006
「資訊超載」讀後感
這幾天重新閱讀一本多年前看過的書:「資訊超載」。
雖然中文的書名叫做「資訊超載」,但這本書的原文名稱是 "Data Smog",或許直譯為「資料煙霾」比較貼近原書的意旨。然而,如果譯者真的這樣直接翻譯,書名就顯得太過古板饒舌,無法吸引具有潛在興趣的閱書人罷。
這真是個飽食 (glut) 的年代啊。從許多年前,自己就深切地覺得,在現今的資訊社會下,龐大的資料與資訊,經常讓人注意力無法集中、讓人思考的品質下降。資訊過載 (information overload),就像是吃多了食物,自己不但感受不到餐點的精美、甚至被龐大的攝食量給噎到了。因此,會被這本書的書名所吸引,甚至在多年後重新溫習一遍,也似乎「有跡可尋」,而顯得理所當然。
坦白地說,我覺得這本書的論述,組織得並不是很好。不過,它的內容還是頗值得自己花些時間,靜靜地思考問題本質,與接下來的應對方式。
就像數個月前看過的「選擇的弔詭」,強調過多的選擇未必是件好事,「資訊超載」這本書也強調過多的資訊造成人們注意力不集中、鍛傷人們的理解力、危害人們思考的品質。資料與資訊的成長速度很快,但人類與生俱來的能力卻無法仿效莫爾定律,每一年半就成長兩倍。
大致上,這本書的論述,是在強調一些資訊超載所造成的問題:
雖然中文的書名叫做「資訊超載」,但這本書的原文名稱是 "Data Smog",或許直譯為「資料煙霾」比較貼近原書的意旨。然而,如果譯者真的這樣直接翻譯,書名就顯得太過古板饒舌,無法吸引具有潛在興趣的閱書人罷。
這真是個飽食 (glut) 的年代啊。從許多年前,自己就深切地覺得,在現今的資訊社會下,龐大的資料與資訊,經常讓人注意力無法集中、讓人思考的品質下降。資訊過載 (information overload),就像是吃多了食物,自己不但感受不到餐點的精美、甚至被龐大的攝食量給噎到了。因此,會被這本書的書名所吸引,甚至在多年後重新溫習一遍,也似乎「有跡可尋」,而顯得理所當然。
坦白地說,我覺得這本書的論述,組織得並不是很好。不過,它的內容還是頗值得自己花些時間,靜靜地思考問題本質,與接下來的應對方式。
就像數個月前看過的「選擇的弔詭」,強調過多的選擇未必是件好事,「資訊超載」這本書也強調過多的資訊造成人們注意力不集中、鍛傷人們的理解力、危害人們思考的品質。資料與資訊的成長速度很快,但人類與生俱來的能力卻無法仿效莫爾定律,每一年半就成長兩倍。
大致上,這本書的論述,是在強調一些資訊超載所造成的問題:
- 商人們藉著各類的「升級」來販賣資訊焦慮(不升級就無法處理新的檔案格式、不買就不上時代)。
- 各門領域的專家大量發表結果衝突、讓人無所適從的研究報告(微波爐、基因改造食品是否有礙健康?廢止核四是否真的對台灣有利?)
- 網際網路雖然有益於小眾媒體的興起,讓關心特殊議題的人們有聚集討論的場所,卻無法凝聚大眾的共識、無法增進大眾溝通的質與量。
- 要能夠深入學習一項主題,需要的不是一連串的新聞快報,而是對情勢有詳細與周全的分析與評論。(因而,作者也建議媒體 -- 尤其是印刷媒體 -- 不僅要「告知」訊息,也要扮演「資訊守門員」的角色,甚至「教育」讀者。)
- 所謂的「資訊窮人」,他們最需要的並不是網際網路,而是基礎的教育、以及好的老師。(這一點頗有趣,它似乎隱隱在說,US$100 的電腦其實並無法解決「資訊落後」地區的教育問題...)
星期二, 5月 30, 2006
這幾個星期的回顧
按理說,這幾個星期應該是頗悠閒的,但事實卻非如此。
首先,幾個星期前,已經把 prototype 交接出去了。此外,論文一分為二之後,前半也整理後投稿了(後半則因自己「沒力」了,遲遲沒有重新整理與改寫)。因而,原本工作的重點,似乎都告個段落,應該是可以讓自己輕鬆一下。
那麼,自己在忙些什麼呢?這一陣子心血來潮,重新溫習了類神經網絡(Neural Networks)的一些基本概念,甚至寫寫一些小程式,實際演練一些教科書上的範例。理解、寫程式、除錯,光是這樣,就讓自己忙碌了好一陣子。
猶記得十年前,在台大唸博士班時,還曾經修過某人開的類神經網絡課程呢。雖然最後期末的成績似乎也還不錯,但除了記得那某人經常提的「MIT 有一個很大的魚箱,他常常站在那兒看魚兒游來游去,吐著大大小小的泡泡」之外,我似乎什麼也沒學到。修過課後,對 Neural Networks 依然一竅不通。
現在想來,我覺得台大許多研究所的課程,都不知道在講授些什麼。或許,研究所的課程,本來就傾向於「尚未完全明瞭的研究」,而不是「已成基本學理的知識」,因此也難期待老師能教導些什麼、難期待學生能夠學到些什麼。但是,修完課後只剩下魚箱的印象(ㄟ,魚箱和類神經網絡有什麼關係呢?還真是深奧啊),若非自己太混(我是覺得自己應該沒有那麼混啦),授課老師也應該負相當責任的。
這應該也是台灣研究所課程、台灣高等教育的某些樣貌吧。台灣的研究所,研究與教學似乎混雜而不明。有時我甚至覺得,或許連授課老師也不知道課程的主軸應該是什麼。然而,比起現今社會道德觀念淪喪,上位者貪瀆舞弊,教授們無心研究或教學,又算得了什麼呢?
首先,幾個星期前,已經把 prototype 交接出去了。此外,論文一分為二之後,前半也整理後投稿了(後半則因自己「沒力」了,遲遲沒有重新整理與改寫)。因而,原本工作的重點,似乎都告個段落,應該是可以讓自己輕鬆一下。
那麼,自己在忙些什麼呢?這一陣子心血來潮,重新溫習了類神經網絡(Neural Networks)的一些基本概念,甚至寫寫一些小程式,實際演練一些教科書上的範例。理解、寫程式、除錯,光是這樣,就讓自己忙碌了好一陣子。
猶記得十年前,在台大唸博士班時,還曾經修過某人開的類神經網絡課程呢。雖然最後期末的成績似乎也還不錯,但除了記得那某人經常提的「MIT 有一個很大的魚箱,他常常站在那兒看魚兒游來游去,吐著大大小小的泡泡」之外,我似乎什麼也沒學到。修過課後,對 Neural Networks 依然一竅不通。
現在想來,我覺得台大許多研究所的課程,都不知道在講授些什麼。或許,研究所的課程,本來就傾向於「尚未完全明瞭的研究」,而不是「已成基本學理的知識」,因此也難期待老師能教導些什麼、難期待學生能夠學到些什麼。但是,修完課後只剩下魚箱的印象(ㄟ,魚箱和類神經網絡有什麼關係呢?還真是深奧啊),若非自己太混(我是覺得自己應該沒有那麼混啦),授課老師也應該負相當責任的。
這應該也是台灣研究所課程、台灣高等教育的某些樣貌吧。台灣的研究所,研究與教學似乎混雜而不明。有時我甚至覺得,或許連授課老師也不知道課程的主軸應該是什麼。然而,比起現今社會道德觀念淪喪,上位者貪瀆舞弊,教授們無心研究或教學,又算得了什麼呢?
星期五, 5月 26, 2006
官職表的模型問題
好的抽象模型,應該能夠貼切地表達出問題本身的特質。
前一陣子,在「官職表:行政組織與任職人員」裡,我提到「實驗室成員希望能在研究上,找到合適的官職表抽象模型」。
或許是因為「想趕快得到成果」,或許是因為「好的抽象模型本來就不是說說那麼容易」,許多人會直接由輸入(手頭有的資料)與輸出(想要達到的結果)來做對應 -- 畢竟,起點(輸入)與終點(輸出)都知道了,系統本來就是其間的黑盒子。在輸入輸出間,直接做對應,不是自然不過的嗎?
於是,若想發展出一個「formal model」,我們或許會從任職人員起迄時間的列表著手,將每一列對應到一個述詞 (predicate) inPosition(p, q, t1, t2) -- 也就是說,將任職人員起迄的資料,換成一個「看起來有點數學味道」的式子。而 inPosition(p, q, t1, t2)這個式子,就表示了「從時間 t1 到 t2,人名 p 擔任 q 這個職位」。
模型當然可以這樣設計。而且,將手頭的資料表示成邏輯式子的「規則」,想到有了這些規則後,可以應用證明論 (Proof Theory) 來進行推理,內心應該還是興奮的。
然而,我總覺得這樣「從手頭資料直接對應」所取得的模型,雖然因為形式化而具有邏輯味道,但稍嫌人造 (artificial) 且「複雜」。
怎麼會複雜?它不是很恰當地表示了「任職人員起迄時間」這樣的資訊嗎?
我的感覺是這樣的。我們之前提過,官職表除了「任職人員起迄時間」外,還有「階層式的組織圖」資訊。如果獨立地將這兩樣資訊個別模型化,然後再設計一些 relations 來串接它們之間的關係,最後得到的模型,就會是一堆邏輯述詞(而且經常頗為複雜)的集合,有相當的可能,會因此喪失了模型自己應該具備的「直觀、簡潔」特性。
此外,更重要的一點,是看待歷史資料的態度。用「邏輯式子」表達每一項歷史資料,基本上相當於將這些歷史資料看作「事實」。然而,我們也知道,歷史資料雖然有相當的信實性,但還是可能有錯誤,可能有不一致 (inconsistent) 的狀況,也可能有資料不完整的問題。
因此,我總覺得,應該回歸到歷史資料的「本質」上來思考,模型才比較實際。那麼,什麼才是「本質」、怎樣的模型才算是「直觀、簡潔」?坦白說,我也不甚明瞭。只隱隱覺得,那是要經由一番淬鍊、經由相當深入的探索與思考,所得到的直觀。(或許,很弔詭地,「眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處」。最後得到的結論,外觀竟也還是「獨立地將個別的資訊模型化,之後再整合」,也說不定呢。)
前一陣子,在「官職表:行政組織與任職人員」裡,我提到「實驗室成員希望能在研究上,找到合適的官職表抽象模型」。
或許是因為「想趕快得到成果」,或許是因為「好的抽象模型本來就不是說說那麼容易」,許多人會直接由輸入(手頭有的資料)與輸出(想要達到的結果)來做對應 -- 畢竟,起點(輸入)與終點(輸出)都知道了,系統本來就是其間的黑盒子。在輸入輸出間,直接做對應,不是自然不過的嗎?
於是,若想發展出一個「formal model」,我們或許會從任職人員起迄時間的列表著手,將每一列對應到一個述詞 (predicate) inPosition(p, q, t1, t2) -- 也就是說,將任職人員起迄的資料,換成一個「看起來有點數學味道」的式子。而 inPosition(p, q, t1, t2)這個式子,就表示了「從時間 t1 到 t2,人名 p 擔任 q 這個職位」。
模型當然可以這樣設計。而且,將手頭的資料表示成邏輯式子的「規則」,想到有了這些規則後,可以應用證明論 (Proof Theory) 來進行推理,內心應該還是興奮的。
然而,我總覺得這樣「從手頭資料直接對應」所取得的模型,雖然因為形式化而具有邏輯味道,但稍嫌人造 (artificial) 且「複雜」。
怎麼會複雜?它不是很恰當地表示了「任職人員起迄時間」這樣的資訊嗎?
我的感覺是這樣的。我們之前提過,官職表除了「任職人員起迄時間」外,還有「階層式的組織圖」資訊。如果獨立地將這兩樣資訊個別模型化,然後再設計一些 relations 來串接它們之間的關係,最後得到的模型,就會是一堆邏輯述詞(而且經常頗為複雜)的集合,有相當的可能,會因此喪失了模型自己應該具備的「直觀、簡潔」特性。
此外,更重要的一點,是看待歷史資料的態度。用「邏輯式子」表達每一項歷史資料,基本上相當於將這些歷史資料看作「事實」。然而,我們也知道,歷史資料雖然有相當的信實性,但還是可能有錯誤,可能有不一致 (inconsistent) 的狀況,也可能有資料不完整的問題。
因此,我總覺得,應該回歸到歷史資料的「本質」上來思考,模型才比較實際。那麼,什麼才是「本質」、怎樣的模型才算是「直觀、簡潔」?坦白說,我也不甚明瞭。只隱隱覺得,那是要經由一番淬鍊、經由相當深入的探索與思考,所得到的直觀。(或許,很弔詭地,「眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處」。最後得到的結論,外觀竟也還是「獨立地將個別的資訊模型化,之後再整合」,也說不定呢。)
星期二, 5月 23, 2006
從「罄竹難書」談起
報載陳總統在 520 說了一句「志工偉業『罄竹難書』」,引發一陣議論。
議論的源由,是國家元首似乎錯用了這句成語。錯用也就算了,教育部長卻「硬拗」說,這樣用也不是不可以。
「罄竹難書」到底是什麼意思?字面上看,的確只是講述「用盡所有的紙張都寫不完」;因而陳總統這樣說,應該也沒什麼大礙。問題是,這個成語一般是用來比喻「罪狀之多,難以寫盡」。而就如余光中所言,成語是「不平常的用語,背後有千百年累積的傳統」,即使是國家元首、即使是教育部長,也不應恣意替成語加添新意義。
觀諸陳總統的言論,或許他也只是文化素養不足、語言能力不佳罷了。回想一下,之前他不是曾把「本因坊」錯唸成「本田坊」,而呂副總統也曾把「黑面琵鷺」唸成「黑面琵鷲」嗎?這或許只是彰顯出,許多人的語言表達能力,亟需改進加強。就像自己在前些日子的 post「隨波逐流」裡,也曾提及自己在語言上的運用能力,其實是很差的。
在現今的社會裡,要求政治人物必須有良好的文化素養、合宜的表達能力,似乎是稍嫌嚴苛了些。然而,教育部長的「護主」反應,看起來不但沒有知識份子的良知與骨氣,而且似乎還刻意地指鹿為馬(顛倒是非),就真的令人很感嘆息了。
議論的源由,是國家元首似乎錯用了這句成語。錯用也就算了,教育部長卻「硬拗」說,這樣用也不是不可以。
「罄竹難書」到底是什麼意思?字面上看,的確只是講述「用盡所有的紙張都寫不完」;因而陳總統這樣說,應該也沒什麼大礙。問題是,這個成語一般是用來比喻「罪狀之多,難以寫盡」。而就如余光中所言,成語是「不平常的用語,背後有千百年累積的傳統」,即使是國家元首、即使是教育部長,也不應恣意替成語加添新意義。
觀諸陳總統的言論,或許他也只是文化素養不足、語言能力不佳罷了。回想一下,之前他不是曾把「本因坊」錯唸成「本田坊」,而呂副總統也曾把「黑面琵鷺」唸成「黑面琵鷲」嗎?這或許只是彰顯出,許多人的語言表達能力,亟需改進加強。就像自己在前些日子的 post「隨波逐流」裡,也曾提及自己在語言上的運用能力,其實是很差的。
在現今的社會裡,要求政治人物必須有良好的文化素養、合宜的表達能力,似乎是稍嫌嚴苛了些。然而,教育部長的「護主」反應,看起來不但沒有知識份子的良知與骨氣,而且似乎還刻意地指鹿為馬(顛倒是非),就真的令人很感嘆息了。
星期一, 5月 22, 2006
哲學入門九堂課
我覺得,自己內心對於哲學以及哲學問題,應該都是相當感興趣、相當關心的。
自己是一個閱讀速度頗慢,卻也還頗喜歡買書、藏書(把書「藏」起來,這個詞彙還真的頗有趣味)的人。在書店閒逛時,如果發現一些「看似淺顯、自己或許有能力理解」的哲學書籍,經常會心動而把它們買回家。然而,因為消化(看書)的速度慢,這些書多半只能堆積在書櫃或者某處地板上,靜靜地等我那天心血來潮,再與它們邂逅。
「哲學入門九堂課」這本書很薄(我猜這也是吸引我的一個主要原因),作者是應該相當有聲望的學術院士。我猜自己大約是三年前就買這本書了,在去年年底也看過一回(不過,應該是時機還不對,雖然花費了許多時間精力去看,卻沒有產生多少迴響)。或許是因為自己對哲學的興趣、或許是緣份、這幾天翻書櫃又看見它,因此趁著吃早餐後的閱讀時間,重新再把它簡略地看過。
雖然作者一開頭就說「這是一本哲學入門書,想要對這門學科有些基本認識的人都適合閱讀」,但是我覺得自己看起來還頗感吃力。除了內容相當「硬」之外,作者舉的例子也不算多,不似一般入門書籍,會嘗試使用許多實例,運用簡單的詞彙、從各種可理解的角度來引導讀者思考。
還好,這回的閱讀似乎產生了一些感覺。原來,這本書所提到的九堂課,就是九個困擾古今哲學家,沒有標準答案的基本問題。有意思的是,古今哲人何其多,畢生窮究心力想要釐清這些概念的學者也不知凡幾,但「這些被視為理所當然的一般觀念」,竟然還是沒有被明瞭、問題竟然還沒有被解決、甚至可能根本沒有所謂的答案!
作者介紹的的九個基本問題是:
存在太多的疑問,存在太多的可能。或許,問題尋覓的過程,本身就是答案。或許,假如人類天生追求意義,生命不但可能毫無意義,更可能是一場荒謬(這本書最後的幾句話)。也或許,生命本就無常,必須有足夠的自覺,必須經由修行,不斷地鍛鍊自己的心性,才能夠逐漸地明瞭自身的意義。
自己是一個閱讀速度頗慢,卻也還頗喜歡買書、藏書(把書「藏」起來,這個詞彙還真的頗有趣味)的人。在書店閒逛時,如果發現一些「看似淺顯、自己或許有能力理解」的哲學書籍,經常會心動而把它們買回家。然而,因為消化(看書)的速度慢,這些書多半只能堆積在書櫃或者某處地板上,靜靜地等我那天心血來潮,再與它們邂逅。
「哲學入門九堂課」這本書很薄(我猜這也是吸引我的一個主要原因),作者是應該相當有聲望的學術院士。我猜自己大約是三年前就買這本書了,在去年年底也看過一回(不過,應該是時機還不對,雖然花費了許多時間精力去看,卻沒有產生多少迴響)。或許是因為自己對哲學的興趣、或許是緣份、這幾天翻書櫃又看見它,因此趁著吃早餐後的閱讀時間,重新再把它簡略地看過。
雖然作者一開頭就說「這是一本哲學入門書,想要對這門學科有些基本認識的人都適合閱讀」,但是我覺得自己看起來還頗感吃力。除了內容相當「硬」之外,作者舉的例子也不算多,不似一般入門書籍,會嘗試使用許多實例,運用簡單的詞彙、從各種可理解的角度來引導讀者思考。
還好,這回的閱讀似乎產生了一些感覺。原來,這本書所提到的九堂課,就是九個困擾古今哲學家,沒有標準答案的基本問題。有意思的是,古今哲人何其多,畢生窮究心力想要釐清這些概念的學者也不知凡幾,但「這些被視為理所當然的一般觀念」,竟然還是沒有被明瞭、問題竟然還沒有被解決、甚至可能根本沒有所謂的答案!
作者介紹的的九個基本問題是:
- 我們如何知道事物存在
- 其他心靈(除了自我心靈具有意識之外,對於世界上那些生命具有意識,能夠真正知道的有多少?)
- 心靈與身體的關係
- 字詞的意義
- 自由意志
- 對與錯
- 正義
- 死亡
- 生命的意義
存在太多的疑問,存在太多的可能。或許,問題尋覓的過程,本身就是答案。或許,假如人類天生追求意義,生命不但可能毫無意義,更可能是一場荒謬(這本書最後的幾句話)。也或許,生命本就無常,必須有足夠的自覺,必須經由修行,不斷地鍛鍊自己的心性,才能夠逐漸地明瞭自身的意義。
星期四, 5月 18, 2006
Life is fun every day
小傢伙有一片 Disney 的 DVD,名稱叫做 "Magic English"。
她喜歡看片子,但更喜歡有人陪她一起看。這個系列的 DVD 裡,都有一個唱歌的單元,會剪接一些 Disney 經典動畫的片段,配上一段歌唱,教小孩子一些基本的英文。
前幾天陪小傢伙看,聽到 "I sleep, I eat, I work, I play. Life is fun every day" 時,心底產生一股很奇妙的感覺。它隱約告訴自己:生活就是這樣,每天重覆地睡、吃、工作、玩樂,但... 每一天都很有趣!
怪怪,每天單調地重覆,怎麼會有趣呢?
這應該牽涉到心境吧。有人說,在日常生活中找樂趣;樂趣是需要培養、需要主動去發掘的。有人說,無欲則剛,只要無所求,就能夠堅強、甚至感受到樂趣。「愛工作、更愛人生」這本書,則似乎是強調「追隨個人的志業」就能夠帶來無上的喜樂。
不知怎地,最近的一些心路歷程,似乎隱隱都與這些心境有著些許契合。或許,這也是選擇性思考的威力:我們只看得見想看的(另一方面,我們「看不見不想看的」,則往往有著奇妙的對照,而值得品味與深思)。最近我因著心性與思考角度的轉換,感受到人生的某些有趣樣貌,因而也對相關的情事產生共鳴。
即使從某種角度來看,生活確實頗為單調,但是若能明瞭這是「正常」的,或許就能轉換心境、知足常樂呢。而自己,雖然不明白近來的歷程是否表示有進步、更成熟,但比起從前,(感覺起來)最近心情似乎真的平和許多。
這樣,應該就已經足夠了吧。
她喜歡看片子,但更喜歡有人陪她一起看。這個系列的 DVD 裡,都有一個唱歌的單元,會剪接一些 Disney 經典動畫的片段,配上一段歌唱,教小孩子一些基本的英文。
前幾天陪小傢伙看,聽到 "I sleep, I eat, I work, I play. Life is fun every day" 時,心底產生一股很奇妙的感覺。它隱約告訴自己:生活就是這樣,每天重覆地睡、吃、工作、玩樂,但... 每一天都很有趣!
怪怪,每天單調地重覆,怎麼會有趣呢?
這應該牽涉到心境吧。有人說,在日常生活中找樂趣;樂趣是需要培養、需要主動去發掘的。有人說,無欲則剛,只要無所求,就能夠堅強、甚至感受到樂趣。「愛工作、更愛人生」這本書,則似乎是強調「追隨個人的志業」就能夠帶來無上的喜樂。
不知怎地,最近的一些心路歷程,似乎隱隱都與這些心境有著些許契合。或許,這也是選擇性思考的威力:我們只看得見想看的(另一方面,我們「看不見不想看的」,則往往有著奇妙的對照,而值得品味與深思)。最近我因著心性與思考角度的轉換,感受到人生的某些有趣樣貌,因而也對相關的情事產生共鳴。
即使從某種角度來看,生活確實頗為單調,但是若能明瞭這是「正常」的,或許就能轉換心境、知足常樂呢。而自己,雖然不明白近來的歷程是否表示有進步、更成熟,但比起從前,(感覺起來)最近心情似乎真的平和許多。
這樣,應該就已經足夠了吧。
星期一, 5月 15, 2006
Impact
最近項老師提到研究,經常談及「Impact」。
例如,他會說,有某某人寫了上百篇 journal papers,若再加上 conference papers,堆起來會比一個人還要高(嗯...我們常用「著作等身」來形容某人著作很多,但...「等身」是什麼意思呢?是不是「堆起來跟身高一樣」啊?)。只是,問及相關領域的專家,竟然沒有人知道此人是誰,他竟然沒有一點 impact!
就表面來看,項老師應該是對這種現象感到訝異(他似乎並沒有對此表達嘲諷的意圖)。是啊,這應該就「只是一個令人難以理解接受的既有現象」吧。
雖然我並不清楚項老師想要表達些什麼,但我心裡對於「沒有 impact」這句話,倒是有著些許嘀咕。怎麼會沒有 impact 呢?他應該帶有許許多多的學生吧。而這些學生,應該也從他那兒學到一些生產論文的技巧吧。再說,有這麼大量的論文產出,也是台灣目前的學術環境所鼓勵的,應該會成為許多人注目的焦點。怎麼會沒有影響呢?
或許,項老師說的「impact」,指的是相同的學術研究領域,學者彼此間 peer review 之後的影響力。或許想表達的是,他並不同意以大量生產的方式,來評估個人或團隊研究的成果。只是,如果評估的方式是「impact」,那麼「影響大的就必然表示研究好,影響小的就必然表示研究差」嗎?似乎也覺得不怎麼對勁啊。
也或許,這是在現代社會高度競爭下,必須管控生產與成本,所不得不採取的「科學管理」方式。一方面,我們想要求進步;另一方面,我們似乎也不知道進步的本質究竟是什麼。而大家競相套用「科學管理」的外衣,或許也只是想快捷地取得認同(至少不反對),並進而為自己的立場取得優勢吧?
例如,他會說,有某某人寫了上百篇 journal papers,若再加上 conference papers,堆起來會比一個人還要高(嗯...我們常用「著作等身」來形容某人著作很多,但...「等身」是什麼意思呢?是不是「堆起來跟身高一樣」啊?)。只是,問及相關領域的專家,竟然沒有人知道此人是誰,他竟然沒有一點 impact!
就表面來看,項老師應該是對這種現象感到訝異(他似乎並沒有對此表達嘲諷的意圖)。是啊,這應該就「只是一個令人難以理解接受的既有現象」吧。
雖然我並不清楚項老師想要表達些什麼,但我心裡對於「沒有 impact」這句話,倒是有著些許嘀咕。怎麼會沒有 impact 呢?他應該帶有許許多多的學生吧。而這些學生,應該也從他那兒學到一些生產論文的技巧吧。再說,有這麼大量的論文產出,也是台灣目前的學術環境所鼓勵的,應該會成為許多人注目的焦點。怎麼會沒有影響呢?
或許,項老師說的「impact」,指的是相同的學術研究領域,學者彼此間 peer review 之後的影響力。或許想表達的是,他並不同意以大量生產的方式,來評估個人或團隊研究的成果。只是,如果評估的方式是「impact」,那麼「影響大的就必然表示研究好,影響小的就必然表示研究差」嗎?似乎也覺得不怎麼對勁啊。
也或許,這是在現代社會高度競爭下,必須管控生產與成本,所不得不採取的「科學管理」方式。一方面,我們想要求進步;另一方面,我們似乎也不知道進步的本質究竟是什麼。而大家競相套用「科學管理」的外衣,或許也只是想快捷地取得認同(至少不反對),並進而為自己的立場取得優勢吧?
星期三, 5月 10, 2006
視覺思考
今天看(本週聯合報附贈的)紐約時報,對其中一些敘述產生了聯想。
這篇文章叫做 "From Eels to Egos, Freud's Art Displayed",描述佛洛依德從早期研究鰻魚的解剖,到成為心理學家(深刻地影響精神醫學的觀點與研究,並開創了心理分析學派),雖然研究領域變遷,對於畫圖的執著始終不變。
讓我產生感覺的,是報導引述某位學者說:「愛因斯坦曾說,當他思考科學時,是透過視覺思考 (Thought Visually),將思維化為圖像 (Thought in Pictures),而佛洛依德似乎也是如此。」
猶記得數年前,貓曾經拿了一份 IBM 內部測驗一個人思考傾向的一些題目給我把玩。中間好像有些題目,就是問自己,是傾向於圖像式思考,還是抽象式(包含邏輯推論吧)的思考。我一直不清楚,自己究竟比較擅長哪一種。
現在看到這篇文章,忽然覺得,能夠讓自己印象深刻的一些學理,似乎都在心目中隱約地透露著些許圖像的面貌。我想,我應該不是很擅長抽象思考的。然而,自己是不是比較擅長於視覺思考?好像也不是呢(自己也不會畫圖,畫出來的東西通常又醜又呆板)。
最近一陣子,對於自己「表達能力欠佳」、「文筆不好」等,都感到有些遺憾(應該在年輕時多花些時間看書、練習的)。現在,對於自己不會「畫圖」,似乎也覺得有些傷心了。
這篇文章叫做 "From Eels to Egos, Freud's Art Displayed",描述佛洛依德從早期研究鰻魚的解剖,到成為心理學家(深刻地影響精神醫學的觀點與研究,並開創了心理分析學派),雖然研究領域變遷,對於畫圖的執著始終不變。
讓我產生感覺的,是報導引述某位學者說:「愛因斯坦曾說,當他思考科學時,是透過視覺思考 (Thought Visually),將思維化為圖像 (Thought in Pictures),而佛洛依德似乎也是如此。」
猶記得數年前,貓曾經拿了一份 IBM 內部測驗一個人思考傾向的一些題目給我把玩。中間好像有些題目,就是問自己,是傾向於圖像式思考,還是抽象式(包含邏輯推論吧)的思考。我一直不清楚,自己究竟比較擅長哪一種。
現在看到這篇文章,忽然覺得,能夠讓自己印象深刻的一些學理,似乎都在心目中隱約地透露著些許圖像的面貌。我想,我應該不是很擅長抽象思考的。然而,自己是不是比較擅長於視覺思考?好像也不是呢(自己也不會畫圖,畫出來的東西通常又醜又呆板)。
最近一陣子,對於自己「表達能力欠佳」、「文筆不好」等,都感到有些遺憾(應該在年輕時多花些時間看書、練習的)。現在,對於自己不會「畫圖」,似乎也覺得有些傷心了。
星期日, 5月 07, 2006
星期四, 5月 04, 2006
一個多年前寫的動態網頁
最近心血來潮,整理出一些「多年前」(1999) 寫的動態網頁。
事隔多年,當我從繁雜的目錄檔案中找出它們時,還是對其中許多 DHTML Pages 感覺到相當的樂趣 --- 雖然當時寫的許多東西都是 "IE Only",只能在 M$ Internet Explorer 上正確地執行。
一個例子是「用 DHTML 做出放大鏡呈現的樣子」。50 行不甚精簡的 VBScript 程式碼,就能夠呈現出一個「放大鏡在某個圖形上移動」的範例,回想起來,仍有些難以言喻的心動。
當然啦,能夠用如此短的程式碼做到,主要是 IE 在自己獨有的 CSS 規格中,加入了一個 "filter"「視覺特效」的屬性與功能。可惜的是,即使在多年後的今天,W3C 的 CSS 2.1 仍然將這些「視覺特效」視為微軟專屬,Firefox 之類的瀏覽器也都不支援這類功能。
在自己粗淺的想法裡,HTML、CSS 與 DHTML 等,都屬於「為了網頁呈現」的語言(工具)。如果在標準規格裡,能夠加上這類視覺處理的功能(即使初期只是建議的選項),應該能夠讓許多人,更容易地利用 Web pages,來展現他們的想像與創意吧。
事隔多年,當我從繁雜的目錄檔案中找出它們時,還是對其中許多 DHTML Pages 感覺到相當的樂趣 --- 雖然當時寫的許多東西都是 "IE Only",只能在 M$ Internet Explorer 上正確地執行。
一個例子是「用 DHTML 做出放大鏡呈現的樣子」。50 行不甚精簡的 VBScript 程式碼,就能夠呈現出一個「放大鏡在某個圖形上移動」的範例,回想起來,仍有些難以言喻的心動。
當然啦,能夠用如此短的程式碼做到,主要是 IE 在自己獨有的 CSS 規格中,加入了一個 "filter"「視覺特效」的屬性與功能。可惜的是,即使在多年後的今天,W3C 的 CSS 2.1 仍然將這些「視覺特效」視為微軟專屬,Firefox 之類的瀏覽器也都不支援這類功能。
在自己粗淺的想法裡,HTML、CSS 與 DHTML 等,都屬於「為了網頁呈現」的語言(工具)。如果在標準規格裡,能夠加上這類視覺處理的功能(即使初期只是建議的選項),應該能夠讓許多人,更容易地利用 Web pages,來展現他們的想像與創意吧。
星期二, 5月 02, 2006
愛工作、更愛人生
最近似乎傾向於挑選與「人生、工作」有關的書籍來看。
這兩天看的,也是一本塵封已久的書:「愛工作、更愛人生」(The Money or Your Life)。才看了前幾章,就已身有感觸。
想起貓在半年前,曾經在 Blog 寫過一篇「要錢還是要命?」。這本書的標題也類似:你要追尋的,是金錢(事業),還是生活(志業)?
作者說得頗老實:無論選擇的是事業還是志業,都會有正反兩面的收穫。選擇事業,可以享有豐厚的經濟所得,但很可能一生都在體驗痛苦(包含感到才華虛擲、機會錯失、沒有人生意義)。選擇志業,物質生活恐怕不會太精彩,但可以享受到豐富、活力充沛、完美的人生。
重點是,你要選擇那一條路?(我從前通常會逃避這樣的問題,幻想可以「兩者得兼」 --- 卻不了解,兩者得兼,是因為選擇志業、又需有幸運女神的眷顧。)
p.s. 看中文翻譯書,經常有種缺憾,那就是譯者並不見得會把重要的詞彙原文附在譯文上。像是「志業」,我就頗想知道原文的單字究竟是什麼。
這兩天看的,也是一本塵封已久的書:「愛工作、更愛人生」(The Money or Your Life)。才看了前幾章,就已身有感觸。
想起貓在半年前,曾經在 Blog 寫過一篇「要錢還是要命?」。這本書的標題也類似:你要追尋的,是金錢(事業),還是生活(志業)?
作者說得頗老實:無論選擇的是事業還是志業,都會有正反兩面的收穫。選擇事業,可以享有豐厚的經濟所得,但很可能一生都在體驗痛苦(包含感到才華虛擲、機會錯失、沒有人生意義)。選擇志業,物質生活恐怕不會太精彩,但可以享受到豐富、活力充沛、完美的人生。
重點是,你要選擇那一條路?(我從前通常會逃避這樣的問題,幻想可以「兩者得兼」 --- 卻不了解,兩者得兼,是因為選擇志業、又需有幸運女神的眷顧。)
p.s. 看中文翻譯書,經常有種缺憾,那就是譯者並不見得會把重要的詞彙原文附在譯文上。像是「志業」,我就頗想知道原文的單字究竟是什麼。
訂閱:
文章 (Atom)










