星期五, 4月 27, 2007

工作雜記:2007/04

最近工作上的「待辦事項」增加了。

做的事情還是一樣:「寫論文」與「開發、修改、除錯、維護 THDL 檢索系統」。只是,由於自己寫論文的速度太慢、項老師希望系統能夠稍作修改來讓別人使用、再加上詩沛的善意提醒(提供「最新版本」的 metadata 檔、回報系統的臭蟲 bugs、以及使用介面的建議),因此必須撰寫或除錯的程式就增加了。換句話說,現在手頭「同時」有著許多小工作等待完成。

說來也是奇怪,自己在「寫論文」 -- 還是用中文寫的喔 -- 這件事情上,怎麼如此沒有工作效率啊?

上個月在「疲倦?茫然?」中,曾提到自己為了瞭解「簡單隨機抽樣」與「信賴區間」的概念,花了約兩個星期的時間。

不過呢,當我把「介紹什麼是信賴區間」的內容寫好之後,過幾天卻發現自己仍然因觀念不清而在推導的過程中有著瑕疵。

於是,又花了許多時間,大幅修改了原先的內容,然後請太太撥一點時間幫我看看,是不是還有重大或明顯的錯誤。

「之前不是就寫好了嗎?」太太問道。

喔,因為後來發現一些觀念與符號上的錯誤,所以... 就重寫這個部分了。看過之後,她似乎也同意我原先的寫法是有問題的。但... 為什麼之前沒有發現呢?

或許,之前沒有發現,是因為「答案是正確的」吧。太太知道「最初的條件」(實務上如何運用)與「最終的答案」(就是列在統計教科書上的公式)是什麼。因為先前的推導過程,也是我「很努力地勉強整理」出來的,所以若沒有仔細看,是不容易發現其中失誤的。

太太略帶佩服地(不要太認真:這只是我為了讓自己快樂些,拿來吹捧自己的用詞)說,我怎麼像是在寫教科書啊?我說,我也不知道寫論文與寫教科書有什麼差異呢。自己手頭至少有五本提到統計抽樣的教科書,卻沒有一本能夠讓我「看了之後真的有懂」(或許是因為自己資質太差吧)。所以嘛,很希望自己能夠從頭推導一遍。

我甚至不曉得這段內容會不會在最後投稿的內容中,因頁面限制而決定將它簡略掉。只是,自己弄不清楚一些基本觀念,卻大言不慚地引用「大家習以為常的公式」,總會讓我在一段不算短的時間內覺得不甚舒服。

例如,我的博士論文就有運用到「信賴區間」的概念。但我敢說,自己當初並不了解「信賴區間」是什麼(腦子裡響起另一股聲音:喂喂喂,你怎麼啦?不怎麼了解,當然還是可以生產論文啊)

這回,我還是可以直接引用教科書上的公式(這可是標準教科書的內容耶,看不懂也敢來審閱論文?)。但我希望、也試著在寫論文的過程中,強迫自己去推導、明瞭「實務上的抽樣」是怎麼與「理論上的機率」相結合的。

就是這樣。

僅僅這樣,就可以吃掉我數週的時間。

星期四, 4月 26, 2007

《最後 14 堂星期二的課》

我的眼眶有些濕潤,甚至得輕輕用紙巾拭去眼角的淚水。

這是一本讀來不甚費力、字裡行間卻能動人心弦的書:《最後 14 堂星期二的課》。博客來這樣介紹它的內容:
  本書作者,米奇,曾經是老師眼中的希望。大學畢業後,他進入社會,載浮載沈,曾有的理想逐漸幻滅,人生的課題日益龐大難以面對。十六年後,他偶然與大學時代的恩師重逢,而這時他的老師只剩下最後幾個月可活。於是,他又上了十四堂他老師的課 ……

  米奇每個星期二到老師家探望他。這位老師,墨瑞.史瓦茲 (Morrie Schwartz),面對著死亡一步步接近,誠實看見自己在死亡面前的恐懼與脆弱,承認自己對人世的眷戀不捨,但他掙脫這些情緒,展現出洞澈人生之後的清明與安靜,並且帶著幽默感。

  墨瑞不僅自己勇敢面對死亡,窮究死亡的多重意義,更藉著與學生米奇的談話,一點一點讓米奇因為世故而僵硬的心逐漸柔軟,讓他重新看待生命。

  作者在夢想褪色、視野變窄、情感變得僵硬的時刻,有機會聆聽昔日恩師的教誨。讀到這本書的人,也彷彿跟著旁聽了這堂叫做「什麼是人生」的課,汲取了其中的智慧與溫暖。這是個會發光發熱的故事,讀後會讓你一輩子難忘。

我必須承認,自己在閱讀時,幾度眼眶濕潤。我不知道自己為什麼遇到這類真誠的人性表白,總會顯得如此脆弱。不過,這樣也好,它表示我並不是個機器人,而是有血有肉有感情的真實人類。

或者,講得文謅謅些,是真實的故事被作者以生動的文筆與穿插的劇情,真誠且直接地穿透我的心房。我因此而動容。

會想起這本書,是因為幾天前經過誠品,看到它陳列在展示區內。想想這本書當初好像也是貓推薦的,印象中自己看過後也曾頗有感觸。只是,回想起來,隱藏在書本字裡行間的人生哲理,卻似乎早已忘卻。於是,回家後把這本書從櫃子裡尋了出來,這幾天早晨在咖啡館裡重新咀嚼回味。

自己現在的心境,頗能感受墨瑞 (Morrie) 一些話語的內涵。我想,這回看完後,應該將書中自己覺得有益的箴言與建議寫下來,在日常生活中細細品味與實踐。

什麼是人生?不要被世俗的文化所欺騙。如果最後我們終於知道,我們只是自然的一部份,而可以安然接受死亡,那麼我們就可以做到那件最大的難事:安然接受生命。
 

星期一, 4月 23, 2007

檢索的「採莓模式圖」

上個月曾經記錄了一些自己看「資訊架構學」的感想

前幾天詩沛到實驗室,說她也想看看這本書的內容(但是... 她也說沒有足夠的時間好好地閱讀)。我向她簡單地說了點想法,順便請她把書上的「採莓模式圖」掃瞄(或照相)下來寄給我。

後來,詩沛確實把照相的圖檔寄給我了,但我覺得這個圖檔的品質不甚理想,不如自己重畫。於是,早上騰出一段時間,把這個模式圖重繪一次。在過程中,也順便想一想檢索流程中,自己可能忽視的部分。


在思考「使用者」與「資訊檢索」的交互運作時,多數人應該都會注意到類似的流程。問題是,這些流程之間的變化相當複雜,何時會走哪一條路線也很難加以明確定義。於是,雖然大致上知道使用者在資訊系統中怎樣「移動」來檢索資料,卻很難將這些模型很「漂亮地」延伸到實務面的應用上。

我覺得,要從「廣度」的層面來大幅精進檢索的成效,應該要思考每條路線的內在意涵、應該要經過更深厚的使用者習慣分析,才能夠有所突破。在缺乏這些資源的情況下,或許專注些、從個別的路線來「改善」,會是比較務實的做法。

星期三, 4月 18, 2007

謝謝老天爺

經常因小朋友的天真而感動莫名。

昨晚,我略帶感嘆地說:「時間過得好快啊,明天就是星期三了。」

小傢伙聽見了,很高興地大叫:「謝謝老天爺!這樣把巴就可以陪我玩了。耶~」

我問她:「為什麼這樣爸爸就可以陪妳玩?」

她說,「因為這樣很快就可以週末啦,謝謝老天爺!」

肇因於被重視、被需要所延伸而來的存在感、想要讓她健康地生活成長的責任感、以及自認為應該做得更好的愧疚感(因工作上的生產效率差,最近經常在家趕一點工,因而疏忽了關懷與照顧),剎那間錯綜複雜地襲上心頭。

謝謝老天爺!只有天真的小朋友,才能這句話由「慶幸」轉回「發自內心的感謝」。

星期一, 4月 16, 2007

初生之犢不畏虎?

勇敢(有勇氣)與無知魯莽,經常只是一線之隔,難辨是非。

突然對「初生之犢不畏虎」這個成語感到好奇:它是說小牛有勇氣,還是表示小牛無知?

教育部國語辭典的解釋,是說「剛出生的小牛不懼怕老虎。比喻閱歷不深的年輕人敢說敢做,無所畏懼。」我從前也習以為然地認為,它是在正面稱讚年輕人有勇氣面對未知。

但最近試著講故事給小傢伙聽,講著講著卻漸漸覺得,許多童書對成語或故事的解說頗為牽強。小牛不怕老虎,應該是因為牠沒有見識過老虎的可怕。但是,牠會因為不怕老虎,而跟老虎持續拼鬥、無所畏懼嗎?很難想像。

或許,這個成語的解釋,應該是「比喻閱歷不深的年輕人敢說敢做,無知莽撞,有勇無謀」呢。

也或許,這個成語其實是「陽褒陰貶」,表面上是稱讚年輕人無所畏懼,底子裡卻是諷刺他們有勇無謀?

也或許,這個成語適當的使用時機,是在事後(心平氣和、不帶褒貶地)描述年輕的特質:衝撞有活力、卻略嫌魯莽。

越想越不明白。嗯,自己似乎想太多了... :)

勇氣,並不是不帶有畏懼。它應該是:持續面對並克服恐懼的行動。
 

星期六, 4月 14, 2007

產生迷宮的另一種方法

約一年多以前,曾寫了些關於「如何產生迷宮」的 Blogs。

前些時日,在書店亂逛,無意間看到一本關於資料結構與演算法的書,裡頭提到利用 Set Union 來產生迷宮的方法(Weiss: Data Structures and Algorithm Analysis in C++, 3rd edition, pp.331-334)

這個方法的概念很簡單:
  1. 首先,將地圖中的每個單位 (cell) 視為個別的小集合,然後將這些集合的 collection 稱為 C。

  2. 隨意從 C 裡抽出兩個集合 x, y。若這兩個集合「打掉一面牆」之後可以連通,那麼就將這兩個集合聯集 (union) 成集合 z,並將 z 放入 C 中。

  3. 反覆執行步驟二,直到最後 C 只含有一個集合為止。

我覺得這個演算法很漂亮。

春假期間騰出一些時間,用 PHP5 把它實作出來。(為了避免無效率地從 C 中挑選元素,我先將所有「可被打破的牆」排序並打亂後,逐一檢視每一面牆「若被打掉後,是否相當於將 C 裡的兩個元素作聯集的動作」。)


產生的迷宮「效果」如何?我覺得還算不錯。它似乎比「稍微有些曲折的迷宮」的結果來得有變化,但並沒有「更為曲折的迷宮」所產生的迷宮那麼蜿蜒。

星期四, 4月 12, 2007

又見對資料處理的苦笑

昨天在實驗室碰到 Hsu,他笑著向我吐苦水。

怎麼回事呢?原來,他幫項老師做計畫(寫程式),詩沛請他幫忙處理一些古籍 metadata 與文件之間的對應。然後... 他也碰上一大堆「不該有」的問題,隨便列舉幾個:
  • 原先以為文件都是 Unicode Little Endian 編碼,處理後才發現有的文件依然是 Big5 編碼。

  • Metadata 是用 Excel 編寫的。如果從外部呼叫 Excel 的Automation 元件,每個欄位的長度不能超過某個值(他有說一個數字,但我忘了是多少),但剪貼並不會有這樣的問題。於是,他只好先將 Excel 檔的內容匯出,然後再自己剖析 (parse) 輸出的文件。

    類似這樣的 Excel I/O 問題,屹靈(實驗室碩二的學弟)和我都曾經碰到過。只是,解法雖類似(都先從 Excel 匯出檔案),但因為目的不盡相同、使用的程式語言也不太一樣,寫出來的程式(或格式轉換工具)彼此是不能互通的。(永倫也曾碰到反向的問題:產生一份 Excel 可讀的檔案。)

  • 要寫剖析的程式,當然得先知道輸入字串的格式(或語法,syntax)。問題是,有些地方會出現莫名其妙的分斷字元或符號,而這些字元該如何被處理,往往需要重新檢視 Excel 檔的內容,然後以「經驗」再加上一些「Common Sense」來決定該怎麼做(直接捨棄這個字元、還是這個字元前後代表不同的欄位... 等等)。

    這表示,程式得因為這類「不在預期中的小問題」一改再改,程式碼最後可能會變得雜亂或醜陋,而增加日後維護的困難。

哇哈哈,你看,這些問題是不是在一年前我就曾碰到過、抱怨過?「垂直式的開發模式」就是會有這樣的困擾:每個人各自開發一個子系統,獨立解決自己看到的問題,然後... 類似(或甚至是相同)的問題反覆出現,每個人都得「重新發明輪子」來讓自己跑得輕便些。

厲害些的人,遇到這樣的問題,會知道如何去處理(但通常還是會抱怨、嘆氣、或苦笑一番)。實務經驗比較缺乏的學弟妹們,遇到這類「煩人的瑣事」,往往就會被卡住幾個星期、甚至數個月。

所以,會不會覺得很奇怪:處理 THDL 的資料,怎麼會遇到如許多的問題?

我認為,一個複雜系統之所以困難,有很大部分是來自於合作的挑戰,以及對「未來之不可預期與不確定性」的一致期許與規劃。這應該也是軟體工程所看見的問題與挑戰吧(當然,還有「降低成本」的挑戰。「工程」就是要在現實的環境下儘可能地滿足需求)

星期日, 4月 08, 2007

妮基的異想世界

「若人生是一場牌戲,即使無法得知遊戲規則,我們仍得玩下去。」

妮基 (Niki de Saint Phalle, 1930-2002) 是一位著名的素人(沒有經過正式的藝術教育或訓練)藝術家。歷史博物館 在今年的 2/9 - 4/29,以「妮基的異想世界」為題,展出妮基的一些作品、道述她傳奇的一生。

因為出生的時機,正逢經濟大蕭條,妮基從小就不被父母所疼愛,而由爺爺奶奶所撫養。年少的她,甚至曾被父親性侵害,且因牧師不願信任他而學會緘默。年輕時美麗動人,曾擔任模特兒(雜誌封面人物),18 歲就結婚私奔,卻因不堪承受壓力而精神崩潰。直到她遇見丁格利 (Jean Tinguely) 之後,生命從此另闢一片天空。

妮基的 Nana (「女人」之意)系列,展現了豐富的色彩與想像,頗能討人喜歡、並進而引發省思。塔羅公園 (Tarot Garden) 也相當有意思,妮基希望它是寄託夢想與快樂的所在。

在小傢伙昨天(星期六)的課程裡,蘇荷的老師介紹妮基的生平及一些作品。蘇荷很有意思,除了鼓勵家長帶小朋友去參觀展覽,也讓家長旁聽。我對藝術可說是一竅不通,但聽蘇荷的老師用小朋友可接受的方式介紹妮基,竟也聽得趣味盎然(從這裡就知道,我的藝術欣賞能力,大約只有小朋友的程度,哈!)

想說既然蘇荷極力推薦,似乎該帶小傢伙去參觀展覽。於是,趁著天氣還算不錯,下午先徵得小傢伙同意,帶她到歷史博物館走走看看。

參觀的人數眾多,頗出自己意料之外。我自忖,如果不是聽過蘇荷的介紹,我就算心血來潮去參觀,自己恐怕感受不到其中的許多趣味。看來,我自己看不懂,就以為別人也不會欣賞,真的是「以小人之心」來猜度他人的藝術鑑賞或品味能力了。

太太很欣賞妮基的後期作品。不過,紀念品實在太貴了,我實在買不下手。斟酌再三,最後只購買了一本「妮基的異想世界:導覽手冊」(中文書籍的價格,還是比較合理,NT$200)與一片 Nana 圖案的小塑膠磁鐵(這個單價就要 NT$120 呢),以供日後回憶。

星期六, 4月 07, 2007

從 Ankh 的虛擬書櫃談起

Ankh 在 aNobii 為他的實體書籍,建了一個虛擬 (virtual) 的書櫃

不包括中文書,就已經有 597 本書了。雖然好像尚未完成分類的標記,看起來數學和語言學的書籍最多。嗯... 光從這麼粗淺的分類統計,就可以大略得知他的研究興趣(不說是「閱讀喜好」,是因為這些擺上櫃的圖書,幾乎都是很「硬」的教科書)了。

所以,我認為統計應該是很實際,很有意思的一門學問。許多學者重理論而輕應用,稱機率而鄙統計,其實正可彰顯出「理論」與「實際」間的距離。

看別人的書櫃,似乎可以滿足一些偷窺的慾念。一個重點是,自己還認識擁有這個書櫃的實體人。「喔,這本書我也有耶」、「嗯,這本爛書他也有,哈哈」、「啊,竟然有這麼一本有趣的書」之類的想法此起彼落。

此外,由於自己的閱讀速度慢,看到他在許多圖書上標示「已讀完」時,感覺是頗複雜的。「嘿,我應該也不算很混、應該也是也很認真地在閱讀、求學、上進、成長的啊,怎麼幾乎每本書都沒能看完?」

妙的是,自己竟然覺得:在「比較」之中觀看自己的心情(即使是「既羨慕、又嫉妒」的感覺),也是頗有趣的一件事。

坦白說,我個人是很佩服 Ankh 的。他每個星期幾乎都會到台大圖書館借閱書籍(也似乎都至少有瀏覽過那些借閱的書籍),這讓我認為他必然屬於借書的大戶。不知道圖書館會不會善加利用這類資訊來與借閱者溝通,甚至藉以「教育」其他潛在的借閱者?

星期二, 4月 03, 2007

天下雜誌:直昇機父母

從中時電子報上,看到天下雜誌的一篇文章,談到「別當直昇機父母」。

根據該文的說法,「直升機父母」(helicopter parents)指的是「過度介入」與「過度焦慮」的父母。他們像極了直升機在上空盤旋,無時無刻守望孩子的一舉一動。

文章說,台灣現在約有六百萬位父母(大多數在一九六一到一九七六年階段出生、解嚴前後接受大學或義務教育),被威權教育訓練為學歷至上的競爭動物,上最好的學校、爭取頂尖工作。由於他們多半只有一兩位小孩,又身處全球化無情競爭、就業市場不確定的環境,因而把「教養小孩」當成「極限運動」(extreme sport),帶著小孩四處補習,就怕輸在起跑點。

講到最後,撰稿者終於提到自己的看法:「直升機父母被困在一種愛的陷阱裡。誤以為愛孩子,就要為孩子掃除一切人生的障礙、幫孩子成功(successful);其實,愛的價值是在幫助孩子找到重要價值(significant value)」。

喔,原來文章開頭寫得落落長,還用數個案例來凸顯問題的嚴重性,現在才說到重點:「一旦堅信孩子都是獨立的個體、都有其價值,父母就能學會接受與放下」。

不是嗎?每個人都有自己的天賦、都有自己的自性、都有自己的使命感、都有自己的人生路。或許父母所該做的色,是從旁協助與鼓勵小孩往「成就自我」的方向努力。換個角度說,若父母把自己的價值觀強加在小孩的身上,那恐怕就「關心過頭」了。