The Old Blog Archive (Traditional Chinese), 2004-2009

上週六在OSDC.tw的Cocoa講題…

說完一場。

因為一些原因,我人無法出現在台北,透過Skype和不怎麼穩定的線路,聲音據說偶爾還是斷斷續續的。聽說那場到了30+人左右。以後如果還要像這樣子以遠端方式出場,一定會準備更多器材的。或許還會考慮買一套錄製軟體,把操作過程錄成短片也未可知。

在後來Q&A的時候,有朋友問到開發OpenVanilla的感想。那天其實沒有任何準備會被問到這樣的問題,回答得有點亂七八糟。簡言之,我認為OpenVanilla完全是驚喜,我自己從中的收獲自不消說,也很樂見這個計劃有它自己的生命,能夠繁衍下去。

回到Cocoa的話,我比較好奇的,則是Apple未來的roadmap。另一方面,即使Windows Vista遲遲不出對產業界有傷害(雖然出貨了也還是個難題,不過那是另一件事了),不可否認極大多數的desktop應用程式還是在Windows上開發的,然後也有另一個極大數是web應用程式。所以另一個好奇的事情是,做為OS X的開發者,到底活不活得下來?我先前有聽說過,在台灣,最可能為OS X做的開發,是驅動程式──曾經有人問我認不認識熟IOKit的人;也有很多作硬體的廠商是從pre-OS X時代就有用Metroworks開發驅動程式的需要,這些主要都是為了國外市場的需要。然而我也好奇,除了Adobe、MS的Mac BU一定很賺錢不用去問外,像是Omni Group(OmniGraffle和OmniOutliner),或是Ranchero (NetNewsWire)、Bare Bones (BBEdit) 這些公司等,做為OS X的軟體開發者,究竟有沒有利基?或是,Mac上的共享軟體或捐款軟體,他們的使用者是否有比起其他平台同類型軟體的使用者,更願意付費?也就是說,一般我們在意的是市佔率,但很少去問不同市佔率是否也代表了不同的使用者組成使用者行為業界結構,薄利多銷和「三年不開張,開張吃三年」是兩種不同的走向,又好比高級車消費者或許比較會買原廠零件(這並不代表用Mac跟開高級車是同一回事)。這些問題,雖然不是Cocoa技術本身的議題,但或許一樣重要。

最感謝的當然是幫我們作示範的yllan (blueapple)了。同時也要謝謝各位聽眾的支持。我那時坐在一間辦公室裡,星期六的下午沒有其他人。看不到、聽不到觀眾的反應(原真倒是不時用Skype傳來訊息,多少減緩了這樣的尷尬)。如果你有去聽那一場講題,而你有些想法(尤其是批評)的話,歡迎留言,督促我能在未來對講題的presentation,做得更好。:)

後現代=現代2.0

聲明在先,以下是唬爛文。

上次一個朋友跟我感嘆:這個時代已經沒有流行的「人文理論」了。她的意思是「後現代」的一堆「後」理論在1990年代熱過之後,已經不知道還有什麼思想上的火花,讓人能掌握時代精神。

今天突然覺得:如果當年那些學者們也有「版號」(versioning)的概念,這問題今天就不會存在了。羅馬數字沒有0讓羅馬數字系統不適合用在算術中(不好對齊難作直式計算也是原因);相似地,拉丁字根「後」(post-)和希臘字根「新」(neo-)只能使用一次,無法體現「版本」關係。如果把「後現代主義」(postmodernism)稱為「現代主義2.0」(modernism 2.0),我們這個時代的難題──找不到「後現代」之後的時代精神──不就解決了嗎?

時代精神不在於找不到,而是無以名之,有一種非常精神分析上的痛苦。後現代之後,那當然就是「後現代主義2.0」,也就是「現代主義3.0」啦。

我們可以用「後設理論」(meta-theory)的方法學來考察此一變化。羅馬數字式的命名體系(後/新)跟當初設計 .bak 檔是同一回事,也就是說,有了後現代主義,現代主義就要加上.bak了。如果要再次增修新版本,勢必得要更改檔名(重新找一個新的主義)。有了版號以及版本管理之後,問題迎刃而解,不再需要不停地尋找新名字。只要有版號就行,而且,可以rollback(所謂retro潮流)跟fork(分支)。至於l10n又是另一個問題了…….

味噌汁(みそしる)

連續不停地工作兩個禮拜,身體終於抗議了,完全沒有任何想要碰電腦或想事情的意思。我看了看鏡中開始耍任性的身體,過往習慣的哄法是:煮一鍋濃稠的味噌湯。

從超市買來的日式味噌(不是便利商店12元一包的工研味噌),用只有平常四分之三的水量煮沸,再熬至只剩一半的湯量,配上傳統市場買的豆腐,切將一整條青蔥,趁湯起鍋時灑上一大把,然後用整個晚上的時間喝光。往往第二天就什麼都好了,身體不再嘟嘴抗議,精神一新。

今天晚上突然很想喝,卻發現原來味噌不是那麼容易買到的。樓下的小雜貨店沒有,24小時營業、「面向外國人」的商店裡也只有一罐罐的Campbell’s,完全沒有誠意。在這樣的時候才突然深覺原來家鄉ふるさと的日本味有多重,也才驚覺,雖然自己想盡辦法把異地當做本地在活著,但終究因為一塊買不著的味噌,而讓這座無比巨大又陌生的城市露出了異地的本質。

只是,今晚苦了充滿渴望的身體。這兩天得來問問哪裡有日僑商店啊。

註:如果你用的是IE,你會看到「家鄉」上面標註了所謂的ruby text。本來其實想試試看Safari小狐狸有沒有支援的,結果跟買不到味噌同樣令人傷心啊。

翻譯:〈我們年老、無力、流於自滿〉(上)

譯按:好一陣子沒做翻譯了。原文出自德語《明鏡週刊》(Der Spiegel)2005年8月29日的文章。文章是訪談形式,訪問的是社會學家Meinhard Miegel。雖然訪談起因於Miegel當時剛出版的一本新書,也因為當時即將舉行德國聯邦議會(Bundestag)大選,但是這篇文章講到了幾件事,一直留在我心裡,讓我想著總有一天要把全文翻譯出來。然後,最近法國因為首次雇用法案(CPE)鬧得不可開交,兩相對照,頗令人玩味。看著台灣的報紙評論,一些論者似乎仍然活在1968年──其實,身為一個第三世界的人,對於西方人能享受如此完善(近乎不可思議)的職業保障,難道不會有任何妒恨(ressentiment)?(我的意思是,一方面把勞動條件惡化歸咎於全球化,一方面無視於更宏觀的南北國家所得分配問題,或者拿著高保障的薪水還購買血汗工廠製造的便宜T恤,毋寧是自私又短視的吧)

另外,左派和右派的分法在這裡也出現了很大的問題(儘管《經濟學人》依然說得很酸:一、法國的菁英及理工學校不受這次罷課潮影響;二、「左派人士必須瞭解到…… 財富必須先被創造出來,才能談論分配」):確實這篇訪談的Miegel是CDU的智囊,然而,後面提到的一些論點(譯文之後會陸續刊出),竟又和一本名叫《小即是美》的老書,如此地相近……

因為沒有取得任何人的許可,翻譯僅僅是作練習用的。有可能會隔一陣子後收起來。以下:

“Wir sind alt, müde und satt”

現年66歲的社會學家曼哈爾德.米格爾(Meinhard Miegel),於訪談中論及各黨派在這次選戰中是如何背離現實,並談論西方國家經濟惡化的險惡趨勢,以及擦鞋工的尊嚴。

《明鏡週刊》(以下簡譯為《明》):米格爾教授,再過三週就是德國聯邦議會大選了。各黨派都想制止德國的向下沉淪、消除失業、減少聯邦政府的債務,並且重新拾起過往的蓬勃成長。您認為這樣的想法切合實際嗎?

米格爾(以下簡譯為「米」):如果像過去數十年那樣,永遠只是半調子地頭痛醫頭,那是不切實際的。各黨派都只想到經濟的事,卻忽略了,其實問題本質是社會問題。各黨派不敢去碰觸此一問題。大家卻只儘開些關於經濟成長的安慰劑。不過並沒有所謂永遠的經濟成長這回事。因此我們必須學會,即使沒有了經濟成長,也仍要繼續有做事的能力、解決我們的問題。

《明》:目前的沉淪,是否如您在您的新書(編註)所宣稱的那般,其實代表著時代的變化?抑或僅僅是一時的成長停滯?

米:在許多早期工業化國家(frühindustrialisierten Ländern)所發生的事,完全不是什麼一時性的成長停滯,而卻是新時代的開端。我們此時處在一個發展歷程的頂峰,這個發展歷程在歐洲是從約五百年前開始的。這個發展歷程伊始於歐洲人發現美洲大陸,又因宗教改革和早期資本主義而加速,並繼續進入效率越益增高的製造業經濟,並帶入了工業化。就因為這樣的發展歷程,使得今天在西方,每個人平均所能消費的勞務財貨,是世界上其他人所能支配的十七倍之多。這樣的領先是不可能持久的。最終我們又要被拉回競賽車隊的中間群裡。

《明》:那我們是被甩到後頭了呢,還是說我們仍能迎頭追上?

米:我們(德國人)要說是被甩到後頭,倒還遠不至於。只是──若要保持目前仍在的領先,則(德國)社會必須通盤改變。而依現況,德國社會老化得很快。僅僅現在,德國過半人口已經超過43歲。在其他與德國競爭的國家,過半人口則小於30歲。沒過多久,德國幾乎兩個人裡面就有一個超過60歲。許多人的心態極度追求安全感、對安逸生活相當要求、積弱不振。大家有了既得的利益和習慣了的享受。如此一個社會,是不可能在這世界上居於領先地位的。

《明》:您是否真的認為,德國社會的人口過度老化,是這種劇變的主要原因?

米:很多年輕人及青少年,也一樣既無專業能力,又缺少動機,無法成為其他人的依靠和支柱。這些人縱情逸樂,而且希望一直到35歲都還像個孩子一樣,嚇死人。這其中也有不少是在兒時根本缺少照顧的。他們未來不可能成為社會的棟樑。

《明》:但我們也看到另一種趨勢。許多年輕人比任何一代都來得有世界觀。他們還在唸中學的時候,就已經出過國、有過許多實習經驗。這一代三十出頭的人,便和1968學運世代很不一樣。他們企圖心旺盛、有志氣、成就動機高。

米:我完全同意您的看法。這樣的年輕人有很多。問題在於,沒有如此表現的人,比例究竟有多高。根據我們所知的一切顯示,這比例高得嚇人。這意味著,那些努力的人,在未來不但要肩負照顧更多老人的責任,同時也得照顧很多沒有能力或不想一起努力的年輕人。如是觀之,則德國人能依靠的,不是他們那些人數僅只有三分之二的下一代,真實的數字──如果我們看的是那些真正有能力(肩負起此一責任的人)──很可能只有一半。而這一半的人裡,竟還有很多人說:「我們要離開德國」(Und von diesen sagen dann auch noch etliche: Dieses Land verlassen wir)。

編按:Meinhard Miegel: “Epochenwende – Gewinnt der Westen die Zukunft?” Propyläen Verlag, Berlin; 312頁; 22 Euro; 2005年8月30日起於各書店發售。

網站裸身日

趕在GMT+8時區快結束前,參加網站裸身日的活動。這個活動的用意是在倡導語意(semantics)與布局(layout)分離的設計概念──其實就是CSS設計的原初宗旨。總之,我是後知後覺的跟風者。:)

不能親自出席的演講公告:「Cocoa: 即沖即溶Mac OS X程式設計指南」(2006年4月8日)

(update:關於rich client的譯名,b6s建議可以譯成「瑞氣千條客戶端」。至於為什麼是瑞氣千條呢?請看布袋戲……)

相信很多朋友都聽說了OSDC.tw 2006的事。我想這將是2006年台灣最重要的開發者社群聚會之一。lukhnos做為OpenVanilla的開發者,也受邀提供一個講題。

這次我提供的講題是「Cocoa:即沖即溶Mac OS X程式設計指南」。Cocoa是Mac OS X的兩套官方API之一,其實就是NeXTSTEP的API(不用懷疑啦,所有Cocoa的舊類別名,都以NS開頭),是以Objective-C寫成的。也因為NeXTSTEP/Mac OS X的關係,而使Objective-C這個語言在眾多物件導向語言間獨樹一格──或者說,才得以在諸強者之間勉強爭到一席之地。這一次的講題,我將針對Cocoa及Objective-C做簡單的概述。希望在Mac OS X上進行原生應用程式(native application)開發的人,目前仍有學習Objective-C的必要。

附帶一提:我們是可以用Java來寫Cocoa原生應用程式──Xcode會幫你把框架生好,介面可以用Interface Builder來拉,裡面的程式再填上Java便成。但是一來Java版的Cocoa介面用起來沒有Objective-C好用,Apple對於繼續發展Java版的Cocoa又似乎很猶豫…… 至於Java的AWT/Swing呢,雖然可以靠「貼皮」(skin)的方式來模擬OS X的長相,但是偶爾還是有些地方皮沒貼好,會露出Sun或X-Window式的三夾板(最佳範例是NeoOffice/J)…… 其他語言的Cocoa接口也有一樣的問題。

在示範操作上,這次講題將直接示範用Xcode配合Interface Builder寫程式。不過,如果還示範如何寫「溫度換算程式」就太遜了。我們將配合WebKit套件,開發一套極簡單的「多樣態客戶端」(rich client)──配合Web後台存取資料,而以原生GUI作為表現層的應用程式。利用WebKit的JavaScript支援,我們甚至可以讓JavaScript寫的程式,倒過來呼叫原生的Objective-C程式碼(註:Apple的開發文件有遺漏細節,照著手冊的範例,程式是不會動的,確實的解法請參考下面的範例程式)。

由於4月8日當天我人不在台北,我會用voice over Skype的方式講解。示範部份則是由Blueapple出手。他用Cocoa寫程式的經驗,要比我豐富多了。:)

如果等不及了,目前的講題投影片(草稿,非常草的草稿)放在這裡。至於範例程式則放在這裡。範例的後台在這裡

OpenVanilla捐款贊助名單更新

OpenVanilla的捐款贊助活動,從2005年十月開始,也已經經歷快半年了。這半年來我們持續收到許多朋友的支持。本來我一直提醒自己一個月一定要更新一次捐款名單的,這兩個月先是因為工作,又有一些個人的事,竟然被擱到了一邊。跟大家說聲抱歉。

我們二月和三月都各收到一筆贊助款,在此再次謝謝大家的支持。捐款名單已經更新於OV的捐款贊助者名單,另外如果你有訂閱ov-develoepr這個mailing list,也會收到這份更新的名單。

書展、空間、遭遇,以及隱喻的變化

好幾年沒去參觀台北書展了。今年因為朋友邀約去晃了一圈,第一次有種感覺:書展不是為了大書商賣便宜書而存在的,而是為了那些平常在書店的地平面上不易看到的小出版社、另類出版社,或者是一些平常不在認知範圍外的知識領域。收獲:一本安德烈.布列東(André Breton,《超現實主義宣言》作者)的名作《娜嘉》(Nadja)中譯本(台北:行人,2003),還有認識一家名叫「集合」,專出女同志相關書籍的出版社(她們攤位掛滿彩虹旗,大概是整個書展最好認的攤位吧)。

這幾年因為有網路書店,再加上在書店買外文書的選擇也多,就沒有必要把書展當作是解決書渴的出口了(在很多很多年前的確是一個很重要的出口)。但是我慢慢相信,不管亞馬遜或阿嬤爽介面做得再好,仍然取代不了我們在實體空間跟書「遭遇」(encounter)的經驗──好比不管amazon.de做得再好,要對德文書有個全貌式(holistic)的感覺,還是應該要走進德國任何一家書店才行。那是一種整體感,而不只是早年電子商務流行時議者所談的「觸感」而已──當時很多人認為觸感是可以在技術進步下被取代的。

亞馬遜的介面及促銷話術確實越來越進步,「觸感」的替代方案也越來越多。當然更不用提諸於one-click buying這種技術,在消減、解決經濟學上所謂交易摩擦(transaction friction)、減少中介人轉手所做的貢獻。但是「空間」和「遭遇」是取代不了的。我們就算有30吋螢幕,我們仍然只是透過「窗口」在看世界。那和你走進一家有著挑高五層中庭的大書店,或是有著善本書香的小書店,所得到的全貌式感官經驗,還是有很大的不同。色聲香味觸法,眼耳鼻舌身意,加上走動的肢體經驗(甚至是疲倦),這些東西都得要走出窗口才能得到。或許要到了虛擬實境和可複製氣味的世界才可能解決「窗口」的問題,但到那時虛擬實境就不是虛擬的了。

「遭遇」又是另一回事。「遭遇」意味著見到自己喜歡的也見到自己不喜歡的,遇見自己想找的與自己意料之外從來沒想找過的,碰觸到自己熟悉的與自己完全陌生的。「遭遇」毋寧說是一種空間經驗,需要在空間當中才可能發生的事件。就這個意義上,書店與展場都是一種公共領域:一種各方折衝、碰撞的地方。

網路書店的問題是為了在最小的窗口上達到最大的銷售作用,必須要迎合購買人的喜好一路追下去,亞馬遜的資料海撈(data mining)技術是這種「在小窗口上只呈現你喜歡的東西」的代表。網路媒體這種「黨同伐異」的潛在問題很多年前也有無數人提過了。簡言之:網路是一種極化性(polarizing)的媒介,愛者更愛,恨者更恨,悲觀者認為網路很難真的擴展我們的視野或想像力,因為我們都只是被亞馬遜式的話術(在跨國資本主義的層次上)或「鄉民」的推文(在草根的層次上)不停地正增強我們的偏好而已。政治機能的網路化,或許很諷刺的代表現代性(公共空間)的結束,世界於是就再被「部落化」了(re-tribalize,麥克魯漢早在還沒有部落格的1960年代便如是說)。真實世界(有血有肉有同有異的世界)說不定還是得要從走出窗口才能開始。

還有一個關於展場的聯想(聯想──這或許也是遭遇性空間的質性之一):

關於「市集」(bazaar)與「商展」(trade fair)的關係。如今想來這似乎是一個批評Eric S. Raymond(此處批評不是負面表述的批評而是作為一種重省式的critical thinking)不錯的起點?例如,他所採取的兩個意象(市集與大教堂),毋寧是相當中世紀、前現代的意象(以及關於俗民世界〔vernacular〕與階層的、菁英的、封閉的宗教體系的對比)。如果市集是前現代的「市場」典型(市集的確也是一種遭遇他者/異種/異地/異議/意想不到的地方),那麼,現代的「市集」對映物,又是什麼呢?會不會是「商展」、「交易所」(exchange)以及全景敞視的議院(panoptic council)?ESR的書成於1998年,以技術變革而論已經有如盤古時代的事了,我們對於open source的想像與隱喻,是否也需要升級了?

「每個人都需要一片森林。」

「對在寒帶長大的人,對應到內心黑暗或者壓過那一切聲響的或許是冬天的雪。但是對一個活在熱帶的人,卻可能是下午突然下起的雷雨。雨聲大到連教室裡快要放學的興奮都聽不見了,有些人趴在窗邊呆呆地望著成了一片湖泊的操場。教室的燈一盞盞亮起。」

「我還記得那樣的雨天。」

「『那是一年裡最黑的夜。』」

「後來有的父母撐著雨傘,有的兩兩成行。你站在川堂不知道怎麼辦。一直到天真正地黑了雨還下著。」

「一個六十人班上的轉學生。」

「那的確是一年裡最黑的夜。」

「『…… 在紫式部生活的時代,所謂活靈既是怪異現象,同時又是切近的極其自然的心的狀態。將那兩種黑暗分開考慮在當時的人們來說恐怕是不可能的。但是,我們今天所處的世界不再是那個樣子了。外部世界的黑暗固然徹底消失,而心的黑暗卻幾乎原封不動地剩留了下來。』」

「大雨是沒有長夜的熱帶的黑夜。」

「…… 在那麼短短一個下午的時間是這樣,彷彿白晝被神一類形體之上的東西給抽走了。家在林子的另一邊,必須要走一段山路過去。後來連學校對面漆黑的房舍也亮了起來,有的家裡已經開飯。必須要走一段山路過去,別無選擇,沒有路燈,穿著制服短褲襪子布鞋。」

「淋得濕濕的。」

「覺得不如給林子吞沒了好。分不清楚是叫喊還是雨聲,是雨水還是淚滴。」

「不過畢竟走過了林子成為了如今在電話那頭的你。」

「也許沒有。發了三天高燒沒有去學校。也沒有發生任何稱得上是奇跡的東西。對人的緣份一向淡薄,後來的努力模仿也只是努力。有些東西也許如今想起被丟在了林子的那一頭沒有回來過。」

「所以你一直都還是一個六十人班上的轉學生……」

「…… 我不能不打電話給你,這些東西不好說出口。」

「我知道,」我說,「那些東西沒有什麼不好說出口的。每個人都需要一片森林。但是你得逆著走回去把丟在林中另一邊的東西給要回來。然後才有擰乾的希望。」

的確,我不

本網誌不參與任何串聯寫作活動。

« Previous PageNext Page »