Archive for the '勞虎的左腦' Category
Windows Media Player ID3 玩雞同鴨講

一個軟體,微軟通常需要經歷四、五代,才會搞對

這是前幾天在一個 podcast 中聽到美國幾個 IT 前輩的觀點。我當下腦中立刻發出「一針見血」的反射動作,這兩天更是遇上一個活生生的例子,始作俑者的現行犯是 Windows Media Player。

一位同事最近買了 Macbook,故需要將一些 MP3 從 XP 遷移到 Mac OS 10.5 上的 iTune,其中包括一些過去用 Media Player 從原始 Audio CD 剝下來的中文和日文歌。當這些 MP3 被彙入 Mac 上的 iTune 時,他發現裡面出現了大量的亂碼,而大部分都集中在中、日文歌曲。於是找我求助。

itune-wmp-chicken-duck

我們知道,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 »

棄 E70 就 iPhone 的時機愈來愈近了

去年寫過選擇目前這支 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 安全

Web 2.0 早已不是什麼新話題。過去的幾年內,知名度高如 Google、Yahoo、MySpace、PayPal 等大站,也都無法完全免疫,而陸續爆發過各種攻擊事件(釣魚、蟲…)。Web 2.0 網站不管是選擇用 AJAX 、Flash,還有逐漸風行的離線解決方案,如 Dojo OfflineGoogle GearsAdobe AIR 等,來提供互動性更高的 UI,只要一不小心,這些 Web 應用出現安全漏洞、被壞人佔便宜的機率,其實是很高的。有時候不僅是自己的 code,而問題也可能出現在第三方提供的現成工具箱、API。

ajax_security 要如何防範?對網站開發人員而言,在過去,對這個主題的探討,往往比較零散,要不就偏學術,要求較高的門檻(例如 OWASP 發表的文獻),一直缺乏系統化,全面性,且深入淺出的探討。不久前終於出了一本好書 — AJAX Security,作者為 Billy Hoffman 和 Bryan Sullivan 這兩位 Web 2.0 安全的專家(過去在零星的安全相關報道中,也常出現他們兩位的影子)。在此強烈推薦這本書,給所有從事與 Web 2.0 開發相關的網友。儘管書名選擇叫 “AJAX” Security,但事實上,除了 AJAX 之外,Flash 安全,甚至於如何將 CSS 這種看似無害、展現層的東西,拿來攻擊的方法,在書中都有深入探討(第十二章)。儘管這樣的書,早該出現,但出版時間晚,反而也做出一些額外的貢獻 — 比較新的科技,如上述的 Google Gears 和 Dojo 離線工具箱的安全弱點,在書中都涵蓋了。希望它盡快能被翻譯成中文,以造福更多大眾。

more »

Google 也 PaaS,亞馬遜皮皮挫

無巧不成 blog。

大約在半年前寫過關於 PaaS (Platform as a Service) 和亞馬遜的 AWS (可謂 PaaS 鼻祖)。上周有位記者朋友向我詢問相關資訊,打算做個深入報道。同樣在上周,看到有篇 blog,談到一個馬路訊息,說 Google 很快就要開始「搶亞馬遜」 的午餐了。當時看了以後,只覺得這個可能性的確存在,但不知何時才會發生。沒想到來得這麼快 — 幾個小時前,華爾街日報報道,Google 也將開始做基礎設施租賃的生意。

亞馬遜最早開發 AWS 的念頭來自於 — 既然我自己能把基礎設施玩得這麼好,為什麼不乾脆把它鬆耦合化,當成一門生意 outsource 出去?Google 玩基礎設施、電腦中心這方面的效率是出了名的(之前也寫過),這是他們的核心競爭實力,對公司財務報表的 bottom-line,帶來很大的貢獻,放眼 Web 的世界,可說無人能敵。所以本著同樣的論點,Google 可說非常有資格做 PaaS 這門生意。

more »

喋喋不休困擾 REST 的兩大問題

REST 是好東西,但受到兩個問題的拖累。

Duke RESTing 之前已經寫過一些對 REST 的簡介和看法。不久前恰好又在中文版的 infoQ 網站上看到一篇剛翻譯成中文的文章,發現一些問題,於是又把整個 REST vs. SOAP 的論戰再仔細看過一遍,刀光劍影,娛樂性十足。好訊息是,最近這幾個月,比較聳動或炒作性的 REST 話題似乎開始從網站、雜誌頭版消失。就來回顧和總結一下,事情其實很簡單,REST 是被兩個問題給害了。

more »

《長尾》接下來是《免費》

過去兩年因著書《長尾》而爆紅的作者克裡斯安德森,最近開始推銷他的下一本書《免費》(英文書名目前定為:“Free: the Economics of Giving Stuff Away”),預計明年出版。一如過去對《長尾》的行銷,這次要闡述 「免費經濟」 的現象和模式,安德森的首選通路,自然是充分利用他任職總編的《Wired》雜誌。前兩天他在 Wired 網站發表了這篇專文。除此之外,還配合三月號「訂雜誌、免費附贈別冊」 的行銷活動(老掉牙的把戲了,但多少還是得營造一點氣勢出來)。而他在稍早,半年前的一個 O’Reilly 的演講場子上,已開始談 “免費”。這場演說在一個月前被整理成podcast發行

FREE 這篇文章將近幾年在網路經濟和摩爾定律推波助瀾下產生的種種免費現象和經濟模式,做了一個比較完整的整理。因此,個人認為還是蠻值得看的(不過目前在網路上還沒見到中譯版)。至於那場演說,除了基本上把文章中的重點都快速地涵蓋之外,還多談了一個主題 — 為什麼書不能走免費路線?《長尾》大賣後,安德森接下來要出的書,還是要收錢的;深知這個問題一定會被人拿出來 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 把意思完全搞反了)。

GTalk Bot - en2zh GTalk Bot - zh2en

不過我主要想談的,不是它的翻譯水準,而是其背後的運作機制。這個翻譯機器人 (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 雲能夠贏得冠軍的原因吧!

規劃 SOA 參考架構

註:這陣子參與編寫一本專為下個月在上海的 BEAWorld 大會所準備的 SOA 專刊,因篇幅關係,部分內容無法納入,在此將其以blog形式發表,並將詞彙調整成台灣IT界比較慣用的說法。

SOA 參考架構 (Reference Architecture) 是一個框架,使各個專案都有一個遵循的依據,藉以促進一致性、最佳典範,和標準化。參考架構並不該受限於目前的 IT 現況,而應針對一個經過深思熟慮的願景目標;它可說是 IT 用來指導未來所有的新開發工作,藉以實現該目標的參考依據。一般來說,2-3 年的規劃,是一個比較合適的涵蓋範圍,既能提供足夠的時間來達成服務導向的轉型,又不至於過於長遠而虛幻。因此,參考架構提供了一個溝通目標願景的方法,協助部門和角色各異的 IT 人員,逐漸朝向該目標會合。

高效的 SOA 需要採用新的方法來對待 IT 基礎設施,並且根據個別企業的需求來量身定做,並將服務基礎架構、共享的技術服務、安控服務,以及資訊/資料、和Legacy系統擷取服務等,全部定義在內。

more »

從城市建設看 SOA

註:這陣子參與撰寫一本專為下個月在上海的 BEAWorld 大會所準備的 SOA 專書,以下將我負責寫的部分整理摘錄。

SOA 承諾許多美好的願景,IT 體質經過調養,轉變成敏捷、靈活,能快速回應業務需求的有機體。但如果只有一個崇高的目標願景,卻缺乏一套有效的體制和方法,千頭萬緒不知從何下手,那麼願景將持續是高遠的願景,依然是那麼地遙不可及。

建設一個企業級的服務導向架構,不論在規劃、施工、維運,乃至於治理 (Governance) 這些關鍵課題上,都能從多年來在城市建設領域所累積的經驗和教訓中,得到許多借鏡。

more »

利用蘋果音源的超值音響組合

從小耳朵對聲音和音樂的反應就比較強烈:彈吉他、玩電貝司、學藍調小口琴;初中時代的校園民歌、高中大學時代的西洋流行和搖滾,大量(盜版的)黑膠唱片和錄音帶,後來的藍調、爵士、雷鬼,甚至現在的嘻哈,對音樂的熱愛不曾停歇過。但可悲的是,一部分由於不停地搬家,多年下來,從來沒擁有過一套像樣的音響,聽音樂的設備持續停留在 all-in-one 的迷你床頭音響和 iPod 的層次。一直到現在,不知為什麼,從沒去想要作一個發燒友的念頭。

來了北京後,在一位音響發燒友同事劉松的不斷慫恿下,最近終於開始認真花心思考慮組合一套音響的大事。首先,它必須能配合我對音源的特殊要求-多年來收集的兩百多張音樂 CD 目前都還留在台北,其中只有部分用 iTune 剝成 MP3 放在 Macbook 的硬碟上;此外,還有數十 G 的 MP3,分別散佈在兩台 iPod、電腦硬碟、和許多備份的 CD/DVD 光碟中。簡單地講,除了在北京新買的幾張 CD 外,絕大多數音源都是 MP3 的形式。這套音響應該要能很輕易地和家裡的 iPod、PC 和 Macbook 相連,而且音質要夠水準,而花費則希望能盡量低。

我知,我知… 當提到用 iPod 和 MP3 作為音源時,可能大多數發燒友都會嗤之以鼻地回應:要想擁有夠水準的音響效果,就別想用 MP3 或 iPod。但情況真是這麼悲觀嗎?

stereo

more »