星期六, 9月 30, 2006

回鍋週年雜感

很快地,回鍋到實驗室擔任博士後研究,已經滿一年了。

這一年中,經歷了不少心情的起伏,也漸漸地了解感受,每個人都有每個人精彩的人生要奮鬥。起初,是由於公司未來走向不明,趁著縮編的機會求去;接下來,是思考自己是怎樣特色的一個人,究竟想要做些什麼事;然後,在看了許多書、在想找回自我的途中,因緣際會地漸漸懂得欣賞人生。

此外,第二個寶寶出生後,似乎更可以感受到,自己並不很想將時間都放在工作上。然而,有許多工作,其實是需要投注相當的時間精力,才能夠獲致比較良好的進展,因此經常還是感覺力不從心。

接下來,寫好論文之後,應該就得找尋下一份、「希望是自己喜歡」的工作吧。只是,年紀已經接近四十,很多產業都只想找年輕的小伙子呢。看來,競爭力不夠,是很難在產業界生存的。

這應該算是幸福的一年。真的十分感謝,這一年來太太與家人的支持。

星期四, 9月 28, 2006

再談資料模型

早上突然又對「資料模型」有了些「或許更加清晰」的感覺。

或許是因為昨天的實驗室會議後,我覺得將資料模型做這些分類,真的對溝通有幫助。雖然學弟仍然被老師數說了一頓(因為他在一些沒有想清楚的地方硬拗),但將資料模型分成幾類,因為可以縮小溝通的範疇,在我看來確實有助於「寫投影片內容者」與「看投影片思考者」之間的討論。

於是,對原先的資料模型做了些修改。新的圖長得像這樣:


「數學世界」提供了抽象模型的描述基礎,而「物理世界的問題」則對抽象模型該有哪些特性提供來源。一個好的抽象模型,應該可以解決一群性質類似的問題(稍微差的模型,通用性就比較弱)。

例如,物理世界所關心的問題,用抽象模型代表後,其模型中具有某些特性的元素,其間可能有代數系統的關係(例如,彼此間有 transitivity 的性質),或可能形成一個樹狀的階層結構。

而這些性質與結構如何被實作,在討論抽象層的通用性時,通常不是那麼重要。但對抽象模型有了清楚的認知後,對於「實作模型」的設計、「建構模型」該提供那些不可或缺的材料、以及「應用模型」的限制,都能夠提供具有建設性的觀點。

星期二, 9月 26, 2006

太過抽象

早上在麥當勞遇到 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」。人與人之間溝通的困難,或許有一大部分就是在於,「只看得見自己想看的、看不見自己不想看的」。

最近從書櫃裡找出一本書「名牌得很厲害」。不曉得是否因為自己最近就是想看這類東西,雖然連前三章都還沒看完,我對作者的一些話語,卻頗能產生聯想與共鳴:
  • 如果是新開發的品牌,就必須構思出確切的定位;如果是現有品牌,則必須了解原有的定位,並且抓出未來的走向。

  • 「為新品牌憑空創造一句響亮的廣告詞」,或者「重新塑造既有品牌的形象」,那一件事比較困難?真要爭論的話,給你一千年也辯不完 ...
先有雞還是先有蛋?即使用一千年的時間去爭辯,這個問題可能也依然無解。而若將「品牌」換成「產品」或「模型」,以上的兩句話似乎也都說得通呢。這是不是表示,這類的情事即使有不同的表象,核心深處也依然存有某些類似、重要的共通性呢?

星期一, 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),卻並沒有好好地說明建構的模型(原始資料該用什麼格式儲存有什麼欄位、該如何將這些資訊彙整入資料庫)!

上星期五我花了許多時間,利用上面的圖表,向兩位學弟說明「官職表」與「地名沿革」的資料模型問題。最後,他們表示同意我的想法與觀點。最近對於自己的溝通能力已經沮喪到不行,能夠得到一些正面的回應,還真很令人感到高興呢。

星期五, 9月 15, 2006

Internal Server Error?

怪怪,怎麼都連不上 MPH、貓、與 LYR 的 Blog 網頁?

得到的訊息都是 HTTP 500 (Internal Server Error)。是因為自己太疲倦,連 Computer + Networks 都想欺負,還是 Blogger beta 真的有太多 bugs?

更怪的是,自己的 Blogger site 竟然還可以連線,還可以寫這篇 post...

星期四, 9月 14, 2006

即將跨入另一個階段

小寶寶即將滿月。今天太太就要離開月子中心,而生活也將跨入另一個階段了。

佩服施明德的勇氣與毅力,也佩服 Ankh 仍然有勇氣「想做出讓人感動的東西」。自己呢?除了變得比較樂觀、除了努力照顧小朋友之外,有沒有勇氣探尋其他有價值、有意義的人生目標?

說的還是比做的多,說易行難。現實面是,論文進度依然遲緩。雖然自己也明白,回鍋做 post doctor 已經快滿一年,應該想想下一份工作是什麼;但我最近似乎越來越關心實驗室的進度,與學弟妹們討論問題時,也經常越講越激動。

是怎麼回事呢?

星期二, 9月 12, 2006

在困難中找尋機會

日子過得快,從西雅圖回來也將近一個月了。

第二個寶寶的出生,讓自己的日常生活顯得十分忙碌。也因親身體驗,心裡著實佩服那些能夠自己帶寶寶、照顧好家庭、又能在工作上發揮才能的人。

貓說,選擇當個好爸爸的同時,也就放棄了許多東西;他也多次建議,嘗試雇個保母來帶小朋友。這樣可以讓我擁有更多自由的時間,而工作上也就比較能夠有進展。然而,我總覺得,現在應該還不到需要找保母的時候。

能夠自己帶寶寶是一種幸福。時下許多父母因為工作忙碌而無法親自帶小孩,其實是很可惜的。看著大寶寶在一個月內,不論是講話或者玩耍,都成長了許多,心裡真的有股難言的感動。幸福,或許是在持續地對他人付出關愛後,才能成長、才能獲得的。

今天在轉寄來的信件裡,看到一句黑幼龍講的話:「不成熟的人在機會中找困難,成熟的人在困難中找機會」。過去會覺得這類的話是在搬弄文采,是老生常談;但現在卻對此頗有感觸。能夠放開心胸,用不同的角度來看待問題,就真的能有不一樣的想法與行動。

即使認為自己有所成長、認為自己變得比較樂觀,現實卻不會因不同觀點而改變。家家都依然有本難唸的經,而生活中也依然處處充滿了困難與挑戰。這一個月的工作進度遲緩,應該就是接下來該面對的問題與挑戰。

星期五, 9月 08, 2006

忙碌但幾乎沒有產能

最近或許因為睡眠不太夠,比較容易感到不耐煩。

照顧寶寶,本來就很難空出一段比較長的時間。通常,是在她睡覺後、起床前,才能夠做些自己的事情。而有些時候,會找不到合適的親人來帶,只好自己在家裡陪她玩耍。

工作上,應該也算是遇到些許困難:論文「寫不太出來」。不是想不出內容,內容主體很早就已經知道,甚至寫得差不多了。主要是不知道該如何組織好文章段落,適度地「添加說明、表達想法、引徵論證」,並用英文寫出來。這是不是因為「腹笥甚窘」的緣故呢?

此外,Blogger 的 beta 升級版又弄得很爛,經常搞得自己火氣大。登入時,需要鍵入好幾次密碼,這也就算了。回應別人時會遇到困難(上回已經吐槽一次了,但今早還是遇到一樣的問題)、「應該是成功回應」後訊息竟然還會不見,就更令人感到不舒服了。

我想,貓說得對:整合真的不是一件簡單的事。軟體系統的整合不容易,日常生活的整合也是如此。

星期一, 9月 04, 2006

令人煩躁的 Blogger 改版

最近真的被 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 反應,他多次把「不巧」看成「不朽」了。想想這兩個字型的確太像,還是加上幾個字,改為「巧事不巧」好了。