2009年4月29日星期三

將我帶往杭州的黑天鵝

東西都已經打包好交給貨運公司,我看著空空盪盪的房子,每一個紅血球都在翻滾著叫嚷:「要到杭州了,YA!」。一年前,我還不太確定我會離開台北搬到北京,而現在,我居然要離開北京搬到杭州了。

我很喜歡我在北京的工作,但是公司出問題而結束,我的心也死了。雖然原班人馬很可能會重組一家公司,但我還是決定走自己的路。這幾個月陸續面試了台灣和大陸的幾家公司,最後我決定落腳在杭州。

公司出問題,導致我離開北京前往杭州,這是命運的安排嗎?一個朋友最近這幾年變得很宿命論,講話中經常出現「天意」兩個字,但向來鐵齒的我,卻不以為然,我認為這頂多是一隻「黑天鵝」(Black Swan)罷了!是黑天鵝將我帶往杭州的。而我一直都在做準備,希望每次黑天鵝出現之後,我能成為受益者,而非受害者。

海峽兩岸修辭學(三)

【同義字代換】
中文喜歡成雙成對,經常會將兩個同義字湊在一起,成為一個雙字詞彙,例如「棍棒」、「恐懼」。當這樣的詞彙搭配別的詞彙,就可以將兩個字簡化成一個字,對意義無損。例如棍棒可以縮略為「棍」、也可以縮略為「棒」。這個時候,兩岸選擇的縮略字經常會不同。請看下面的例子:

  1. 棍棒:大陸說「冰棍」,台灣說「冰棒」
  2. 捐獻:大陸說「獻血」,台灣說「捐血」
  3. 恐懼:大陸說「恐高」,台灣說「懼高」
  4. 沉重:大陸說「這東西很沉」,台灣說「這東西很重」
  5. 戀情:大陸說「婚外戀」,台灣說「婚外情」

另外,大陸說「充值卡」,台灣說「儲值卡」;大陸說「棉籤」,台灣說「棉花棒」。

【精簡】
剛剛提到的「棉籤」和「棉花棒」,還牽涉到另一種差異:大陸比台灣更喜歡精簡的用法,所以當「棉」可以代表意義的時候,就不會說「棉花」。這樣的情況相當多,例如:

  1. 「使用」省略「用」:大陸說「這東西不好使」,台灣說「這東西不好使用」
  2. 「可是」省略「是」:大陸說「可我還沒看」,台灣說「可是我還沒看」
  3. 「我的」省略「的」:大陸說「我單位」,台灣說「我的單位」

【改變發音】
許多字的腔調變了,而且對台灣人來說,大陸發音「平聲變成仄聲」的比例似乎比「仄聲變成平聲」的比例高。最明顯的例子是英文字母ABCDE…,台灣的發音都是一聲,但大陸都是四聲。

除了聲調不同,兩岸有不少字甚至連聲母或韻母也不同。「攜」這個字在大陸讀作「鞋」,在台灣讀作「西」(韻母變了)。所以當你在大陸聽到地鐵廣播「禁止攜帶危險物品」的時候,可不要以為「鞋帶」是一種危險物品。這樣的例子還有「筠」,這個字台灣讀成「雲」,大陸讀成「君」(聲母變了)。

【稱謂】
台灣人會區分「親」兄弟姊妹、「堂」兄弟姊妹、「表」兄弟姊妹、「乾」兄弟姊妹,但大陸通常對他們一律用哥哥、姊姊、弟弟、妹妹來稱呼,所以台灣人說「我堂哥來找我」,大陸人說「我哥來找我」。

大陸甚至連陌生不熟的人都可以稱呼哥哥姊姊,而台灣人則比較清楚地區分身分,例如:大陸店員會親密地對顧客說「哥,你來啦!」,台灣店員則會對顧客說「先生,你來啦!」

在台灣,媳婦指的是「兒子的老婆」;在大陸,媳婦卻是「自己的老婆」。大陸習慣稱呼自己尚未出嫁的女兒為閨女,但台灣則直接稱呼她們為女兒,我覺得台灣的稱呼方式比較保險一點,畢竟現代社會婚前性行為的比例很高,誰能保證未出嫁的女兒就一定是「黃花大閨女」?

我最驚訝的是,當我在大陸的購物中心聽到廣播說「xxx老人,請到服務台,您的親人在等你」時,我感到很不解:「老人」怎麼會變成一種稱謂呢?台灣會說「老先生」或「老太太」,而不會說「老人」。但仔細想想,這「老人」和「愛人」有相似的作用:都不強調性別,也都比較精簡。而台灣的許多稱謂似乎太強調性別了。

2009年4月28日星期二

NLP新書


語義網(semantic web)想要成功,似乎困難重重。隨著資訊越來越多,NLP(Natural Language Processing)也會越來越重要。如果你想學習NLP的編程方式,但不想閱讀枯燥且使用Prolog和LISP當範例的NLP教科書,你有一個新的選擇了: O'Reilly即將出版【Natural Language Processing with Python】一書。

2009年4月25日星期六

打架不時尚

小時候我曾經和姐姐打過一次架。除此之外,印象中我沒有打過架,因為我總是盡量避開拳頭大且腦袋小的人。長大之後,懂得控制脾氣,要打架就更困難了。我雖然不打架,但確實有時候會火氣上升到怒不可遏的地步。例如:有一次在吃火鍋時(2004年總統大選前),朋友在我面前說阿扁的好話,要我們投票給阿扁,當時我超想把火鍋從他頭上淋下去。

最近,我的心境特別祥和,只有一件事情可以激怒我。如果有人斗膽在我面前批評REBOL語言,我很可能會學邱議瑩,趁對方不注意,衝過去動手呼他一個巴掌。

電影「鬥陣俱樂部」(Fight Club)中,Brad Pitt給club成員出的一道家庭作業是「盡量挑釁別人,找人打架」,但這個作業的難度相當高,因為在文明社會中,大家都高度自制,避開紛爭。即使你故意拿水管對陌生人噴水,陌生人也只是用憤怒又害怕的眼神看著你,小罵一聲「神經病」,然後快步離開。

是的!在現代社會,時尚的作法是耳語中傷、散播合成裸照或非常光碟、背地裡放冷箭、或者利用媒體借刀殺人。這個時代還用打架的方式,就太落伍、太不文明、太男性賀爾蒙、太二十世紀了。

不過,過去這半年,我還真的親眼(耳)看(聽)到三次不時尚的打架事件。一次在我住的公寓,鄰居一對男女打起來了,幾乎鬧了整晚(會不會是我搞錯了,他們其實是在恩愛?);一次在公司,兩位領導打起來了(我們公司因此解體,害我得找新工作);一次在電腦賣場,顧客和店家打起來了(店家抄了一把椅子作勢要砸顧客,我連筆記型電腦的贈品滑鼠都忘了拿,就逃之夭夭,免得掃到颱風尾)。

我想,這些人如果有參加鬥陣俱樂部,應該會讓Brad Pitt感到很滿意的,但Meryl Streep(穿著Prada的惡魔)可能就不高興了,她肯定會說『It's not vogue』。

2009年4月22日星期三

新聞也山寨

大陸有山寨商品,山寨明星 ... ... 還有山寨新聞。

今天(週二)中午和友人搭地鐵時,一個報紙小販拿著一疊號外報紙在叫賣,我一聽不得了:「成龍被殺死,情殺」,我瞄了一眼小販手上的報紙,上面大大地寫著新聞標題,還有刊登一張照片,但我沒仔細看清照片的內容是什麼。

我有一點被嚇到了,我想買一份報紙好好看看到底怎麼回事,但是又沒看到其他人買,心中很是狐疑。

朋友提醒我,她說這新聞可能是假的。我想,最近成龍才放砲把中港臺都得罪光了,不肖業者可能拿他為主角,虛構出情殺的新聞,一方面消遣成龍曾經犯下「全世界所有男人都會犯的錯誤」,所以會引來情殺之禍,另一方面讓大眾在震驚之餘購買這份假報紙,好小賺一筆錢。

我和朋友一起去北京植物園玩,我們無法查證這件新聞,很快我就把這件事拋諸腦後。晚上回家後,我查證一下,確定這果真是山寨新聞。

2009年4月20日星期一

感謝阿扁

這次回台灣,回台南老家一趟。哥哥出門送貨,順便載我一同出遊。

哥哥大我11歲,以往我和他沒有共通的話題。但這次的情況卻相當不同,我們談得相當融洽,這一切還得感謝阿扁。

送完貨的途中,哥哥忽然提到前面那條道路通往阿扁家鄉。鬼點子很多的我,馬上提議到阿扁家吐口水吧!我聽說阿扁老家有阿扁的人形看板,我還想和人形看板合影,拍照時,拿把刀子架在阿扁看板的脖子上,再裝出一個「卡哇伊」的表情。可惜的是,當時我們沒有攜帶武器,也沒有攜帶照相機,所以沒有這麼做。

但口水我們可是隨身攜帶的。哥哥和我互換一個眼神,我一同搖下車窗,一左一右吐口水,然後我們真正開懷地笑了。

我告訴哥哥,我穿著紅衫遊街倒扁過,哥哥則告訴我,他當時特別大老遠到阿扁家附近的郵局捐一百元給紅衫軍,甚至還差點到阿扁家噴漆。忽然間,我相當敬佩是非分明的哥哥。做生意這麼忙,還不忘了倒扁的國家大事。

這次的旅程,就像是一部心靈探索的公路電影,拜阿扁之賜,我和哥哥之間長久的隔閡消失了,阿扁就像是親情的黏著劑,讓我和哥哥重拾小時候的親密感。

2009年4月16日星期四

我的背景音樂

當Nicolas Cage的空中監獄飛機平安降落,他和妻女重逢,歷經生離死別的一家人相擁,Trisha Yearwood的歌曲 "How do I live" 開始播放:

How do I get through one night without you? If I have to live without you, what kind of life would that be ...

這個時候,你明知道這是一部很芭樂的影片,你還是會感動得鼻酸。這就是背景音樂的功效。

電影中,隨時可以聽到背景音樂,導演試圖利用背景音樂控制你的情緒。背景音樂可以說明劇中人物的心境,可以帶出劇情的轉折,可以強化故事的張力。

而我的腦海中,也經常出現背景音樂。

考上大學,必須參加成功嶺集訓並搬進大學宿舍,我才算第一次離開家,那一陣子心理狀態是很難熬的。由於思鄉心切,經常搭火車長途往返兩地。在夜班火車上,看著窗外遠處的點點燈火,腦袋開始播放姜育恆的「驛動的心」:

曾經以為我的家,是一張張的票根,撕開後展開旅程,投入另外一個陌生...

幾年後離開台中的大學,搬到中壢,我特別想念台中的同學們。那個時候手機不普及,而我們這些在外租屋而居的遊子,甚至往往連室內電話都沒有,或者是好多人共用一支電話。我在便利商店前打公用電話給台中的幾個朋友,如果他們都不在,我的腦海就會開始播放Whitney Houston的歌曲 “Run to You” 中的一小段:

I come home and turn the key. There is nobody there. No one cares for me.

多年後的現在,我已經習慣了長途旅程,習慣了到處搬家,習慣了朋友來來去去。我的腦袋已經很久不選「驛動的心」和「Run To You」當背景音樂了。這兩首背景音樂的消失,象徵著我這些年來成熟與改變。

我個性喜好自由,不喜歡被逼做一些無聊的事,但是在工作職場上,這又是避免必不了的。當我被迫去做這些不想做的事情時,陳小雲版的「舞女」就會成為背景音樂:

打扮著妖嬌模樣,陪人客搖來搖去,紅紅的霓虹燈閃閃爍爍,引我心傷悲。啊啊啊,誰人能夠了解,做舞女的悲哀,暗暗留著眼淚,還是假裝笑咳咳。

我希望徹底將這首意識不良的歌曲逐出我的原聲帶(Sound Track)。如果能成功,表示我樂於接受更多種類的工作任務,我在職場上的表現會更出色。

我似乎在快樂時,比較不會出現背景音樂。通常只有在心中有所感觸時,背景音樂才會出現,所以大多數的背景音樂曲風是比較悲傷。但也有極少數輕快的背景歌曲。當我在台北河濱公園騎著單車時,我的腦海中自動播放著恬妞的一首歌「我騎著一部單車」,不知不覺我也哼了起來:

我騎著一部單車(阿哈)要到路的盡頭,沒人看到我,(阿哈)我卻不寂寞。青山綠水鳥語花香風光多美好 ....

美景伴著歌聲,加上運動讓腦部釋放快樂激素,我此時的我,感到無比的放鬆和愜意。我想當一個快樂的人,我希望像「單車」這樣的背景音樂能多多出現。

2009年4月10日星期五

回覆讀者 如何發現有所謂的過度設計(工程化)現象

軟體設計模式的一個很重要的目的,是為了因應未來需求的變動。如果評估在某地方未來如此變動的機會不高,就不應該在此採用考慮到異動需求的設計模式。所以過度設計與否,當下的判斷可能相當不準確。以Java Swing來說,很多地方會被認為是過度設計,但是當你需變動時,你卻會覺得它的設計真是有遠見。

我舉Swing當例子,是因為這是我體會比較深的設計框架。但是話說回來了,即使Swing這樣的設計,似乎思考得很周詳,但面對未來的新需求時(例如:GUI採用描述的方式,和程式邏輯分開),仍未必適合。面對這樣的現象,往往推出新的設計,放棄舊的包袱。(例如微軟WinForms到WPF的變化。)

2009年4月7日星期二

腳踏車與程式

之前上班時,有一陣子的工作是以教育訓練的講師為主,沒怎麼寫程式。公司的副總經理唱衰我,「蔡學鏞應該已經寫不出程式了」。不過,不久之後,我還是銜公司之命,用C#/WinForms寫出一個影像處理與繪圖程式,給自己爭了一口氣。

有一個朋友告訴我一個理論,他認為寫程式就像是騎腳踏車一樣,一旦學會了,就不會遺忘。即使一段時間沒騎腳踏車(寫程式),經過很短時間的練習,依然可以找回之前的感覺,順利地騎腳踏車(寫程式)。

我不知道他的理論對不對。你說呢?

2009年4月5日星期日

一個人的生活

我從高中時代,就有了獨行俠的稱號 – 我很少和人結伴成行。我喜歡安靜、不喜歡吵鬧。喜歡快速做決定、不喜歡拖泥帶水。喜歡快步走到目的地,不喜歡漫無目的閒晃。

幸好,我也算是喜歡孤獨的人。我很少覺得寂寞,幾乎沒有過。我總覺得,有好多電影要看、好多書要讀、好多技術要學 … 寂寞是奢侈的玩意兒,我才沒時間覺得寂寞。我享受一個人在家裡安靜的過日子。有時候心血來潮,就去書店逛逛。有時候,我自己下廚,煮一個人份量的晚餐。

當然我也有朋友(在台北時),有時候就和朋友約了聊天或吃飯。這只是生活的點綴,這對我來說,並非絕對有必要的。比較特殊的是,一個研究所同學和我比較契合,我們的各種品味都相當接近,所以我們兩個一起出去玩時,基本上就像是一個人,而不像是兩個人。不過後來我們分住不同的城市,他也結婚了,就很少聯絡了。

有些時候,我也會堅持找人陪,特別是當我到陌生的環境,沒有安全感時。上次去杭州,我特別找一個同事陪我去,這樣比較不會擔心一個台灣人在陌生的城市發生什麼意外的狀況。事實證明,我是多慮了,但我還是認為把安全當做第一考量,找個人陪同到陌生的地方,是正確的作法。

我很習慣一個人,但這個社會不習慣一個人。舉個例子:我很喜歡看電影,在台北時,我幾乎看遍所有的電影,我幾乎都是一個人去電影院。有一次去看電影時,我一入席,就聽到後面的一對情侶說:「那人一個人來看電影耶」,「對呀!好可憐」。這對話相當清晰,不只我聽見了,恐怕附近的人都聽見了。

我當時開始注意到這個社會對於「一個人」的歧視。當時我或許在意,但現在不會了。每個人都有權力選擇最適合自己的生活,我怕吵,怕囉嗦,怕麻煩;我還是繼續一個人走進電影院,走進餐廳,走進書局。

2009年4月1日星期三

愚人節玩笑成真

每年的四月一日是愚人節,這一天總會有許多好笑和不好笑的玩笑出現。我印象中鬧得比較大的有假的訃聞(拿人家的生命開玩笑,真夭壽),還有假的戰爭新聞(戰爭是很恐怖的,有甚麼好拿來開玩笑的)。這些一點都不好笑,這些人真是腦子進水了。

關於IT界的愚人節故事,我印象最深刻的是Parrot。在2001年時,我在美國O'Reilly出版社的網站,看到一本新書「Parrot in a Nutshell」的出版預告。書的封面是一隻鸚鵡(Parrot),這本書的預計頁數是401頁。Parrot號稱是當時兩大腳本語言Perl和Python陣營放棄紛爭,整合而成的新語言,這讓大家感到相當驚喜。後來證實這一切都只是愚人節的玩笑。

但是這個玩笑並未隨著愚人節的結束而告終,Parrot仍有下文。Perl下一代決定設計出一個跨語言的虛擬機器,讓Perl和Python(以及其他動態語言)都能在上面運行,這個虛擬機器後來就被名為Parrot,來和此愚人節的笑話相呼應。從某種角度上來看,這就像是愚人節的笑話成真了。當時.NET還沒有所謂的DLR(Dynamic Language Runtime),且Java也還沒有Da Vinci Machine呢!

從2001年4月1日的一個愚人節玩笑,到2009年的3月17推出的Parrot 1.0,整整八年的時間,終於孕育出Parrot。如果你想設計一個自己的語言,Parrot是一個不錯的平台。