Posts RSS Comments RSS  

Archive for April, 2008

中和的永和路,Vista 64 的 System32,Cocoa 的 NSString

住台北縣的人可能聽過這一句

永和有永和路,中和也有永和路, 中和有中和路,永和也有中和路; 中和的中和路有接永和的中和路, 永和的永和路沒接中和的永和路; 永和的中和路有接永和的永和路, 中和的永和路沒接中和的中和路。

最近發現,世界上存在不少類似結構的東西,例如

Vista 64 有 System32 ,也有 SysWow64,System32 裡面裝的是 64-bit 的 binaries,SysWow64 裡面裝的是 32-bit 的 binaries。Vista 64 的 64-bit binaries 不能放進 Vista 64 的 SysWow64 裡,Vista 64 的 32-bit binaries 不能放進 Vista 64 的 System32 裡。

又或者

Cocoa 有 NSString,Carbon 有 CFString,Cocoa 的 NSString 可以接 Carbon 的 CFString,Carbon 的 CFString 可以接 Cocoa 的 NSString。Carbon 的 CFString 沒有 garbage collection,Cocoa 的 NSString 有也可以沒有 garbage collection。Carbon 的 CFString 可以接到 Cocoa 沒有 garbage collection 的 NSString 裡,Cocoa 有 garbage collection 的 NSString 不能直接接到 Carbon 的 CFString 裡。

對,總歸一句話就是,不鬼打牆時候就不會覺得這樣的設計會鬼打牆,鬼打牆的時候就真的覺得這樣的設計真是鬼打牆……

書寫練習:中文的 lipogram

Lipogram 在歐語中是一種具有難度的文字遊戲。簡言之就是刻意限制不使用某幾個字母來寫東西。例如,刻意不用字母 e 來寫詩,或是重寫莎士比亞作品(真的有人這麼做過)。

那麼作為漢語書寫用的中文,有沒有這樣的東西呢?

今天想到一種:sinojapanocoreanogram (”CJKgram”),意思是僅能使用中日韓共通的漢字來書寫。規則很簡單,不能使用另一種書寫系統不存在的字符。例如「書寫」就不能用,因為並非(嚴格定義上的)簡體字字符。

於是,以下這句話:

「僅能使用中日韓共通的漢字來書寫,繁體字才有的,或是簡體字才有的,就不允許使用。」

就可能得書寫成:

「只能使用中日以及其中那地方等三地的方型字做文,很久以前就在用的字才有的,或是容易一些的字才有的,就不能使用。」

(很不幸的,韩国的相关称呼或历史称呼,高丽、朝鲜、新罗、百濟似乎都没有好的通用字。「汉字」很不幸地本身就是非通用字。)

相對之下,antebellumkanjigram(我自造的詞,意思是使用「二次大戰前日本還沒將和製簡化漢字標準化後的漢字來書寫」)就容易多了。上述句子只要改掉「書寫」一詞就可以了,因為日文漢字似乎做「冩」(無上頭的一點)。

當然,對本身就使用繁體字的我們來說,magnacinquogram macropentagram (”Big5gram”),或是對本身就使用簡體字來書寫的人來說,extendronatiogram (”GBgram”) 就是沒有意義的了。

一但開始練習 sinojapanocoreanogram ,就會發現有太多繁體字的常用字,在簡體字中都被簡化過(主要是偏旁部首造成的)。因此如果僅限制使用通用字,書寫的難度,看來是要比 Simple English 要難得多,如上例所示。

當然,如果按照趨勢,未來可預見,台灣各地將越來越多簡體字標示或說明,那麼除了簡繁轉換filter外,或許針對兩種文字的書寫慣例(句法風格或文法差異)的探討,也會增添更多實用價值。

註:其實, -gram 用拉丁前綴是不對的。But (1) they are all Greek to me, (2) 計算語言學家自己就用 bigram 了(照理說應該是 “digram”), so…

電影片尾

Update: 的確,還有一種場合會把 closing credit 放完,那就是有 closing credit 裡面有安排花絮的那一種。

在朋友 MSN 上看到這樣的串連活動:要求電影院把電影的完整片尾給放完。

我從來不參加串連,所以就不列出網址了(搜尋一下很容易找到)。我看了一下原發起人的文章和相關回應,很有趣。

我所記憶以來,台灣只有兩個場合會把片尾,所謂 closing credit,給完整放完。一個是影展。一個是外商影城。後者就我最近經驗,也每下愈況。

生活中保有一些「對完整的堅持」有這麼困難嗎。更何況,我們講的是「作品完整性」這一件事情呢。

就實用的價值來看,片尾有好幾種功用。會放 NG 或搞笑片段的電影排除的話,closing credit 一定會提供的資訊有:演員名單、工作人員名單、音軌清單、拍攝地點。

我其實並沒有對 closing credit 做過什麼有系統的研究。不過很可能這是小時候養成的癖好(我曾經被家人問過:為什麼就是非得把片尾看完?),再加上對名字(事實上是任何的名詞)有狂熱,我的粗淺觀察是,從小到大看的科幻片中,”visual effect” 或 “computer graphics” 一項,80 年代出現過不少日本人,90 年代華人的名字比較多,到了近十年,則幾乎非歐美人士的名字裡,都是韓國人的名字。所以,或許 closing credit 也可以視為某種產業指標?

這種都是實用主義傾向的辯護就是了──就如同我看書本的 colophon 或 copyright page 是為了想知道書本是用哪一套字體編排,或是買成藥看 fine print 是想要知道不能喝完酒後服用一樣。(事實上我有個理論是,廣告、保單、軟體授權,這些裡面的 fine print 其實我等現代人的 daily ritual,不過這有待來日說明吧)。

但是,實用的價值之外,或許更重要的還是那些一點都不實用、一點都對電影「播放」本身都沒有影響的、形而上的東西吧?保有作品的完整性,難道不是一種對作品的尊重嗎?就好比說,書本不可能截去封面封底來販賣一樣。聽音樂會,大家也不會在樂團謝幕之前就開燈走人。那麼為什麼電影不可以呢。

更何況,大家恐怕無法想像,影展片如果遭受這種對待,會是什麼德性吧。那為什麼一般的電影就不行呢。

其實會坐在觀眾席上把片尾看完的人還真不少(看影展就知道了)。有些人說,「片尾哪有什麼人看」。這其實是倒果為因。正是因為台灣太多不播片尾的電影院,大家也只能燈亮走人啊。

上週六在 OSDC.tw 2008 的投影片

投影片在這裡

OSDC.tw 的邀請,上週六下午給了一個題目為「開放原始碼、開放資料與日常生活的語言應用」(Open Source, Open Data in Everyday Handling of Natural Languages)的分享。題目有點長,內容也有點雜。主要的企圖還是在區分日常生活語言問題的種類,以及圍繞在中文的核心問題──斷字──上面。

「問題意識」(problems)上,日常生活的語言問題,主要還是在怎麼將之編目索引檢索。除非你的應用程式本身就是語言應用(language-specific applications)。這個部分有一些地方跟 l10n/m17n/i18n 有重疊處,但這並不是同樣的兩件事。另外一個我試圖(但沒有很成功)想要講述的方向是,我們這些講中文的人應該試圖去處理中文以外的語言,切莫認為我們只需要處理中文就好(而且事實上中文也並非是如我們被教育成的,是一種均質的語言,「中文」本身諸元的差異或許就和中文與其他語言的差異一樣地多)。

在「方法論」(methods)的段落,我簡短介紹了兩種「正規」的方法,基於觀察中文構詞型態的MMSEG以及基於language model的方法。事實上相關的研究很多,implement說來比較偏工程問題。(中文自動選字)輸入法的問題其實只是其中的一種變體,把輸出改成音素,輸出改成可能的最佳句子就是了(用最化約的方法來說)。

在「工具」一段,所介紹的大多數工具仍是以 Perl 為主。Perl 在語言處理上仍然是最強大的語言之一,也是大多數相關工作的首選。我不熟 Python ,所以用 Python 寫的 NLTK 等工具,就無法多說什麼。Ruby 在這方面很弱。當我說「如果你用 C++ ,那沒有人救得了你」時,沒想到大家竟然反應熱烈地笑了。這句話,出自一個還是必須用 C++ 來解決問題的人嘴裡,其實是很辛酸的呀。

「資料」的問題,還是跟 Hans Rosling 在講公共衛生議題的相關 TED talks 的那句話一樣:資料就都在那邊,可是卻沒有辦法開放出來。

準備這次主題的一個額外的收獲是,我深深感受到日文相關軟體計畫,無論在規劃,募集資料、或者看問題的方法、甚或是 C library header file 的組織上,都有很多可以借鏡的地方。另一方面同樣看到的問題是,編碼的需要現代化(例如 anthy 仍是 Shift JIS-based)、程式語言的需要現代化(需要引進 C++ 來使得語言物件──音節、音素、unigram──等等可以被當做型別來操作)等等挑戰。

總之還有很多很多要努力的地方啊。

OpenVanilla捐款明細修正與更新

前次發佈的 OpenVanilla 2007 年年底明細有誤,已經發佈了新版到同一網址上。

同時我們於 2008 年 2 月 6 日收到一筆扣除 PayPal 手續費後為 USD 33.51 的捐款。我們在此也同時更新帳目明細。截至 2008 年 4 月 14 日止,OpenVanilla 捐款的新台幣餘額為 NTD 39,550,美金為 USD 1,439.35。

同時今年贊助 OpenVanilla 開發者(zonble)的 WWDC 入場券和機票款項也將撥出,屆時會再更新帳目明細。

再次謝謝所有捐助 OpenVanilla 的朋友。同時我也對於前次的登錄錯誤說聲抱歉。

我從電玩中學到的單字

有些其實影響是相當深遠的。

militia
phalanx
chariot
conscription
masonry
granary
republic
despotism
monarchy
anarchy
universal suffrage
internal combustion
nuclear fission

如果當初玩的是 l10n 過的版本,很可能就沒辦法對這些單字有這麼深的體驗了吧。:p

(另外,其實我覺得那個能教會大家分辨 “republic” 與 “democracy” 或者 “monarchy” 跟 “despotism” 差別的遊戲,也很適合當公民與道德課的教材啊啊啊)

提昇台灣國民英文程度芻議

以下是沒有根據、不負責任的論點。

要提昇台灣青少年的英文程度,方法很簡單:立法禁止電玩發行中文版本。

台灣一直以來,資訊人才的英文閱讀程度就不算差。為什麼現在 40 歲的 senior engineers 看英文書不困難?因為他們當年只有英文版的 Ultima 可以玩。為什麼現在 30 歲的 RD 看英文書不困難?因為幻想空間沒有出中文版。

李杯杯(此處不是指任何一個特定的人,只是一種象徵)如果真的擔心台灣小孩未來沒國際觀,最應該做的,就是趕快促使朝野兩黨,立法禁止電玩發行中文版本(或者由NCC出面沒收也可以,該機構不就是設計來從事這類管制的嗎?)。

另外,根據台灣經濟發展鐵律「政府輔導什麼,什麼就倒」的引理「打壓什麼,什麼就盛」,立法禁止中文版本的電玩還有一項額外的好處:台灣立刻會變成 l10n/m17n/i18n 的世界大國,當然,對本地經濟的貢獻,就只能靠地下經濟的產值來估算了。

Flickr 的 Video Service

Flickr 也有 video 了。

雖然有很多評論者馬上拿來和 Google 的 YouTube 擺在一起比較,我倒是覺得,Flickr Video 跟 YouTube 完全是兩種概念的東西。Flickr 的 90 秒短片,一如 Flickr 員工自己說的,比較像 “moving pictures”。另外 Flickr 的 video 是圍繞在「個人」身上,也就是說那些影片跟作為上傳者的「你」是聯繫在一起的。YouTube,一定程度上,比較像一種脫個人化(de-individualized)的 video depot (影片倉儲)。同時你也很難從後者影片的留言串,跟他人建立關係。反之,Flickr 的 comment 很成功地把人跟人給拉在一起。

另外就是 Flickr 員工自己的社群經營囉。例如這個。很可愛不是嗎?

我主觀的欣賞這個新服務,當然有一些同樣主觀的因素啦。好比說,那一年去東京旅遊時,拿 Cybershot 拍的那些爛爛的 video,也終於找到了合適的地方上架。這種東西我不太可能搬到 YouTube 上。但是放在 Flickr 上卻合適極了。套用《空想科學讀本》的說法,適才適所,這樣不是很好嗎?(誤)

當Leopard的Terminal.app終於把我惹毛的時候

cp /Volumes/Tiger/Applications/Utilities/Terminal.app ./

(是的,我有 file 過 Radar, to no avail.)