一個軟體,微軟通常需要經歷四、五代,才會搞對
這是前幾天在一個 podcast 中聽到美國幾個 IT 前輩的觀點。我當下腦中立刻發出「一針見血」的反射動作,這兩天更是遇上一個活生生的例子,始作俑者的現行犯是 Windows Media Player。
一位同事最近買了 Macbook,故需要將一些 MP3 從 XP 遷移到 Mac OS 10.5 上的 iTune,其中包括一些過去用 Media Player 從原始 Audio CD 剝下來的中文和日文歌。當這些 MP3 被彙入 Mac 上的 iTune 時,他發現裡面出現了大量的亂碼,而大部分都集中在中、日文歌曲。於是找我求助。

我們知道,MP3 等多媒體檔案的元資料(如歌名、演唱者、專輯名等),是存放在 ID3 標籤裡面的。可能是因為我不愛用 Media Player(覺得 UI 很不直覺),自己過去對處理這個問題還真的沒經驗。替他診斷了一下後,發現這些 MP3 的 ID3 標籤中的文字,都是以簡體中文 CP936, GB2312 的編碼形式存在,而未採用多語言支援更好的 Unicode (UTF-8)。這就有趣了。在 ID3 文字編碼的處理上,Windows Media Player 的做法,不同於其他 MP3 音樂播放器,如 iTune 或 Linux 上的各播放器。人家都是選擇用 Unicode,但微軟則獨排眾議地選擇用本地的語言,所以在不同語言的 OS 下做,會出來不同的結果 — 簡體中文會是 CP936,繁體中文則 CP937…。微軟早在 NT 和 Office 2000 時代便已支援 Unicode,為何 Media Player 不採用真是匪夷所思。
more »
去年寫過選擇目前這支 Nokia E70 的心路歷程,當時正值 Apple 剛宣佈 iPhone,世人讚歎聲 ooo…、ah… 不絕於耳之際。當時也和幾位網友交換了在 Nokia 上使用 SIP VoIP 的心得。
自從 iPhone 「越獄版」出現之後,至少已有不下兩打的同事成為愛用者。我也開始評估是否/何時改用 iPhone。Nokia E 和 某些 N 系列手機內建的 Wi-Fi 加 SIP 支援,是我當初選擇 E70 的主因之一。從一年前搬到北京以來,光是這個功能,已經替我們省下了大量的國際電話費,不管是打台灣、香港,還是美國、講多久,都完全免費 — 一個叫 Truphone 的英國 SIP-VoIP 供應商(在那篇 blog 中提過),因為做促銷,所以提供 40 多個國家免費的活動;這個活動雖然已在二月底正式結束,但 Truphone 私下 email 通知我,說因為我是很早就加入的老用戶,所以這個免費活動特別再延三個月,呵呵(附帶一提,Truphone 一旦收費就划不來了,因為他的費率比 Skype Out 和某些其他 VoIP 供應商貴)。除了 Truphone 這種針對 Nokia 用戶的服務外,Nokia E 系列上還能安裝 Fring 這個軟體,可同時支援 SIP、Skype Out,和多種 IM。
隨著 Apple 正式釋出 iPhone SDK,第三方開發人員百花齊放,SIP 和其它各式各樣應用的出現,只是遲早的事。果然,Fring 的 iPhone 版已經出現,還有其他 SIP-VoIP 的免費軟體。iPod Touch 的接頭幾個月前更已被人破解成功,麥克風都已經在量產了。現在有了 SIP 應用,iPod Touch 也能通話了。
more »
Web 2.0 早已不是什麼新話題。過去的幾年內,知名度高如 Google、Yahoo、MySpace、PayPal 等大站,也都無法完全免疫,而陸續爆發過各種攻擊事件(釣魚、蟲…)。Web 2.0 網站不管是選擇用 AJAX 、Flash,還有逐漸風行的離線解決方案,如 Dojo Offline、Google Gears 、Adobe AIR 等,來提供互動性更高的 UI,只要一不小心,這些 Web 應用出現安全漏洞、被壞人佔便宜的機率,其實是很高的。有時候不僅是自己的 code,而問題也可能出現在第三方提供的現成工具箱、API。
要如何防範?對網站開發人員而言,在過去,對這個主題的探討,往往比較零散,要不就偏學術,要求較高的門檻(例如 OWASP 發表的文獻),一直缺乏系統化,全面性,且深入淺出的探討。不久前終於出了一本好書 — AJAX Security,作者為 Billy Hoffman 和 Bryan Sullivan 這兩位 Web 2.0 安全的專家(過去在零星的安全相關報道中,也常出現他們兩位的影子)。在此強烈推薦這本書,給所有從事與 Web 2.0 開發相關的網友。儘管書名選擇叫 “AJAX” Security,但事實上,除了 AJAX 之外,Flash 安全,甚至於如何將 CSS 這種看似無害、展現層的東西,拿來攻擊的方法,在書中都有深入探討(第十二章)。儘管這樣的書,早該出現,但出版時間晚,反而也做出一些額外的貢獻 — 比較新的科技,如上述的 Google Gears 和 Dojo 離線工具箱的安全弱點,在書中都涵蓋了。希望它盡快能被翻譯成中文,以造福更多大眾。
more »
過去兩年因著書《長尾》而爆紅的作者克裡斯安德森,最近開始推銷他的下一本書《免費》(英文書名目前定為:“Free: the Economics of Giving Stuff Away”),預計明年出版。一如過去對《長尾》的行銷,這次要闡述 「免費經濟」 的現象和模式,安德森的首選通路,自然是充分利用他任職總編的《Wired》雜誌。前兩天他在 Wired 網站發表了這篇專文。除此之外,還配合三月號「訂雜誌、免費附贈別冊」 的行銷活動(老掉牙的把戲了,但多少還是得營造一點氣勢出來)。而他在稍早,半年前的一個 O’Reilly 的演講場子上,已開始談 “免費”。這場演說在一個月前被整理成podcast發行。
這篇文章將近幾年在網路經濟和摩爾定律推波助瀾下產生的種種免費現象和經濟模式,做了一個比較完整的整理。因此,個人認為還是蠻值得看的(不過目前在網路上還沒見到中譯版)。至於那場演說,除了基本上把文章中的重點都快速地涵蓋之外,還多談了一個主題 — 為什麼書不能走免費路線?《長尾》大賣後,安德森接下來要出的書,還是要收錢的;深知這個問題一定會被人拿出來 challenge,故決定將此問題,主動提出來探討。很多網友知道,我在8年前便實驗過免費電子書的模式,故對此一課題,特別感興趣。在針對安德森在那場演講中,就他在免費書議題的表述上,講一些我個人的觀點前,我想先來對他在專文中整理出來的六種免費經濟的模式,和大家做個扼要的分享。《Wired》雜誌另外還整理了一頁 “How-to Wiki”,將提供免費商品/服務的手法,做了一個羅列(推薦)。
more »
昨天從 Digg 得知 Google Talk 剛增加一個翻譯功能,用法很有創意(大概又是哪位 Google 員工利用每週 20% 的自由時間想出來的),設定方式是必須先將恰當的語言,以聯絡人的方式加入,格式為 xx2yy@bot.talk.google.com,其中 xx 和 yy 是根據 IANA 制定的雙字母語言碼,中間加 2,例如英翻中為:en2zh@bot.talk.google.com,其他語言可如法炮製(Google 目前支援二十多種語言間的互轉),@後一律相同。如果要利用這個 bot 充當語言不通的 IM 用戶間的即時翻譯的話,可以用 group chat 的方式,把翻譯 bot 同時加入。
用幾個口語的句子測了一下它的中英文翻譯能力,和對簡繁體字的處理,發現它和 Google 的搜尋引擎一樣,繁體和簡體中文同時支援,Google 會自動判別,這點做得不錯,至於翻譯的準確性,就有點爆笑了 — 相同意思的三句話,分別用英文和中文版本測了一下(如下圖),翻譯出來的結果,其中甚至連語法都有問題(不過最搞笑的,還是將中文的語助詞 「啊」 硬生生地翻成 “ah”,讓我想起在和香港的朋友 chat,英文句尾夾帶 “ma”、”la” 的感覺)。(BTW, “You never cease to amaze me” 是英文常用的說法,有時候用來諷刺,但這裡我們看到 GTalk 的 bot 把意思完全搞反了)。
不過我主要想談的,不是它的翻譯水準,而是其背後的運作機制。這個翻譯機器人 (bot) 的運作方式,仰賴的正是 Cloud Computing(雲運算) — 無獨有偶地,恰好是前幾天紐約時報和美國商業週刊封面故事分別報道的主題(儘管二者的側重點不同)。更巧的是,最早觸發商業週刊對 Google 雲運算做報道的,正是這個翻譯 bot 。在商業週刊幕後故事 podcast中,記者談到他在兩年前,從卡內基美隆大學那兒聽到,曾經有一場自然語言電腦翻譯大賽。參賽者中,IBM 自然不能缺席,此外還有來自亞洲、歐洲的團隊,當然還有 Google。Google 團隊的玩法與眾不同,他們不用傳統 AI 那套,從分析語句結構、語義模型等入手,而是利用一組超強的分散式運算 cluster(也就是那朵「雲」),然後餵給它大量的聯合國翻譯稿件,讓它根據字的關聯性,做出統計分析,作為翻譯的基礎。結果 Google 隊贏了。自此之後,美國許多大學的研究機構,都渴望能有一套像 Google 一樣的運算怪獸,用來加速對大量資訊的科學分析。兩年後,他們終於如願以償。這篇報道講的正是背後的故事 — 一名 Google 員工如何將公司核心競爭力平台的縮小版,帶入校園,教導大學生如何善用平行運算資源。這項利用 20% 自由時間的專案,稍後還帶動了和 IBM 的研發合作。同樣巧合的是,紐約時報這周也對平行運算和它對程式設計帶來的新挑戰,做了一個報道(中譯)。
紐約時報對 Cloud Computing 的報道,則著重於和微軟的競爭,和潮流的變遷。簡單的講,Google 玩的是改變遊戲規則的玩法,順著時勢潮流,用雲來遮蔽桌面。
這幾篇報道的相關鏈結:
回到 Google Talk 翻譯機器人的翻譯水準問題,由於聽了上述翻譯大賽的故事,還有之前對 Google 超級電腦的粗淺瞭解,我的猜測是 1) Google 的翻譯引擎的翻譯能力是可以調整的,而他們大概沒有分給 Gtalk 翻譯 bot 太多的腦細胞/運算能力(使用比較簡化的運算過程),目前的目的只在實驗這個新的應用模式,以致翻譯品質仍處在搞笑階段;2) 我用來考它的生活口語太難了,它比較擅長的,應該還是正經八百的官樣文章,這或許是為什麼餵食大量聯集國資料和網頁的 Google 雲能夠贏得冠軍的原因吧!
從小耳朵對聲音和音樂的反應就比較強烈:彈吉他、玩電貝司、學藍調小口琴;初中時代的校園民歌、高中大學時代的西洋流行和搖滾,大量(盜版的)黑膠唱片和錄音帶,後來的藍調、爵士、雷鬼,甚至現在的嘻哈,對音樂的熱愛不曾停歇過。但可悲的是,一部分由於不停地搬家,多年下來,從來沒擁有過一套像樣的音響,聽音樂的設備持續停留在 all-in-one 的迷你床頭音響和 iPod 的層次。一直到現在,不知為什麼,從沒去想要作一個發燒友的念頭。
來了北京後,在一位音響發燒友同事劉松的不斷慫恿下,最近終於開始認真花心思考慮組合一套音響的大事。首先,它必須能配合我對音源的特殊要求-多年來收集的兩百多張音樂 CD 目前都還留在台北,其中只有部分用 iTune 剝成 MP3 放在 Macbook 的硬碟上;此外,還有數十 G 的 MP3,分別散佈在兩台 iPod、電腦硬碟、和許多備份的 CD/DVD 光碟中。簡單地講,除了在北京新買的幾張 CD 外,絕大多數音源都是 MP3 的形式。這套音響應該要能很輕易地和家裡的 iPod、PC 和 Macbook 相連,而且音質要夠水準,而花費則希望能盡量低。
我知,我知… 當提到用 iPod 和 MP3 作為音源時,可能大多數發燒友都會嗤之以鼻地回應:要想擁有夠水準的音響效果,就別想用 MP3 或 iPod。但情況真是這麼悲觀嗎?

more »
觀察過去一年 SOA 在美國的發展,一個愈來愈明顯的趨勢是,SOA 和傳統 EA (Enterprise Architecture;企業架構) 領域逐漸在協作和融合。不久前,美國知名的 SOA 顧問大衛•林錫肯,David Linthicum 在一個由 The Open Group 主辦的大會上預言:五年後,大家將不再像現在這麼看待 SOA,因為 SOA 將逐漸融入 EA,變成只是 EA 實踐中的一部份。此話一出,引發各方激烈的討論。
對於絕大多數 IT 從業人員來說,”EA” 一直是個模糊而遙遠的名詞,儘管它已經悄悄存在約二十來年了(這點,從 EA 相關書籍數量之少,便可看出)。在許多世界五百大、一千大的大企業中,儘管在 IT 中存在著 EA 的組織,但這些架構師在組織外的其他 IT 同事眼中,往往是一小撮象牙塔里的文書官僚 (paper-pushers),對於他們實際的工作內容,往往非常陌生,也不關心;許多項目實施團隊,對於 EA 架構小組所制定的各種標準和規範,甚至採取 “上有政策,下有對策” 的態度。
more »
去年我曾用 Google Trends(提供英文和簡體中文兩種介面),來一探 SOA 和 Web 2.0 的市場熱度。今天再次利用 Google Trends,外加百度指數,來試探一下 SOA 和 EA(Enterprise Architecture;想在下篇探討的主題)各自的溫度,除了有些在去年就看到的趨勢之外,另一方面也印証了我和同事劉松等在市場上觀察到的現況,此外還有一個純屬巧合的有趣現象。

more »
2005 年底,著名 IT 分析機構 Gartner 的一個分析師 Nick Gall 發明了一個新詞 — WOA (Web-Oriented Architecture) 。大家知道,發明新縮寫字 (acronym) 一向是 Gartner 的絕活。幾個月後,SOA 界著名的 blogger 和專欄作家 Dion Hinchcliffe 對它表示支持,他甚至畫了一幅圖,說明基於 SOAP 和 WS-* 的 Web services,和基於 REST、POX和 JSON 的 WOA,以及其他 SOA 相關科技,在複雜度和豐富程度上的比較。
本以為 “WOA” 的命運,差不多已經和先前廣遭聲討的 “SOA 2.0” 一樣,開始消聲匿跡,但最近在一片大談 REST 聲中(前兩篇帖子的主題),發現 WOA 已死灰復燃。
more »

剛到上海…最近常出差在外,屈指一算,到下週六月底前,一個月內到過的城市,北京不算,就有七個。歌壇老人艾爾頓強 Elton John 古早有一首經典歌曲,叫 “Rocket Man”,火箭人。現在搭飛機時,不時想起此歌。”火箭人” 其實是 50, 60 年代,冷戰時期美蘇太空競技,當時許多老百姓對太空人 “astronaut” 的俗稱。這首歌以太空人來隱喻經常搭機出差在外人的心情寫照:
She packed my bags last night pre-flight
… …
I miss the earth so much, i miss my wife
It’s lonely out in space
On such a timeless flight
… …
… i’m a rocket man
Rocket man, burning out his fuse up here alone
講到出差,上週在某市一家裝潢前衛的 Sofitel,一大清早竟被蚊蟲攻擊,接著窗外大街上又響起了連續兩三個小時的音樂廣播。當下立即的反應是,這可是頭一回在五星級 hotel 遇上蚊子;而蚊子正是我最不想念台灣的兩樣東西之一(另一個是政客;英文說 “demogog”)。當時真恨不得手上能有把在台灣耍得虎虎生威的電蚊拍。
幾張用手機在幾個城市隨意捕捉的剪影: more »