2013年10月23日星期三
超級電腦與香港競爭力
為了寫一篇有關 <賈伯斯傳> 的書摘, 我花了好幾天重讀該書. 在重讀通程中留意到作者提到一篇由PCWorld 於 2006 年發表的 <25項最差勁的科技產品> (The 25 Worst Tech Products of All Time) 的文章, 在好奇之下我在網上找出來好好細讀. 讀完了最差的, 當然再去看看最好的產品. 在另一篇最好科技產品的排行榜之中, 我讀到了在 2003 年於伊利諾大學厄巴納-香檳分校中的國家超級電腦應用中心 (National Center for Supercomputing Applications,NCSA) 中工作的科學家以 70 部 Sony 的 PlayStation 2 組成一部理論峰值速度 (Rpeak) 為每秒五千億次浮點運算 (500 GFlop/s) 的超級電腦, 而其硬體成本只為五萬美元左右*.
這令我想起幾個月前一次就有關 "香港為什麼造不出超級電腦" 的網上討論. 當 Top500(R) Supercomupters Sites 公報最新的2013年6月份全球最快的超級電腦為我國的天河二號時, 我不禁在網上群組留言嘆息: 香港有錢有人才卻造不出一台超級電腦. 要知道, 現時世上的超級電腦都不是單一台電腦, 而是電腦叢集, 即是用高速網路將一群電腦連結起來, 再用叢集軟體把各自的運算能力整合在一起. 這不是要求電腦學家去創造出前所未見的處理器, 而是利用現有的工具再加上技術去把效能推到極限. 當然, 技術是困難的, 資金是有限的, 市場是細小的. 可是在過程所積累的經驗的價值卻是無可估量的. 例如美國及中國都投入大量資源去發展太空科技, 為的是除國威之外, 也為在挑戰科技極限的過程中所得到的知識與經驗. 這些無形的資產是可以拉動經濟的發展, 也簡接地惠及整個國家人民的福祉. 而反對我的網友就說這是因為香港政府沒有支援, 所以香港的科技人才無法一展抱負. 但是, 當我看到了這個 PlayStation Supercomputer 時, 我想這些都不過是借口而已.
讓我們回到2003年的時空吧. 在2003年, 香港共有 4 台超級電腦位列世界五百大之內, 其中最讓人引以自豪的, 是香港大學研製的 Gideon 300 Cluster P4 2 GHz Fast Ethernet, 其峰值速度達到每秒六千億次浮點運算 (600 GFlop/s). 而其他三台分別是由 IBM (金融機構), Dell (浸會大學) 及 Hewlett-Packard (和記電訊) 製造的超級電腦. 在同時期國內只有 6 台超級電腦, 台灣則有兩台, 而且全是由電腦廠商所製造. 值得注意的是, 在國內的機器之中, 有一半是由聯想製造. 為了參照, 美國在2003年擁有的超級電腦有 245 台, 日本為 41 台, 南韓為 12 台.
在2013年, 香港與台灣各只有一台機器位列 500 大之內, 香港的是由Hewlett-Packard 製造, 而台灣的是 Acer 出品. 擁有最多超級電腦的是美國, 有 252 台 (2003年+7), 大陸是 66 台 (2003年+60), 日本是 30 台 (2003年-11), 南韓是 4 台 (2003年-8). 或許你會覺得這只是國內財大氣粗的另一例證, 不過要知道, 維持一台超級電腦運轉最需要的不是錢, 而是人才, 並且是電腦產業各方面的人才.
在這個資訊世紀, 一個地區競爭力的高低其實在很大程度上是取決於電腦人才是否興旺. 如果香港人還在為所謂的第三產業著迷, 認為靠服務業金融業就可以繼續發光發熱, 那就真的是痴人說夢. 有一個個人的體會想在此分享一下. 當我在開發自己的記帳系統時, 我在香港是找不到任何網絡資源的, 最後我是從美國和英國的無私網友身上找到源源不絕的援助與建議. 這一點實在讓我感到非常遺憾.
* From PlayStation to Supercomputer for $50,000
2013年9月6日星期五
大數據
洶湧的滔天巨浪的已經把我們包圍, 這一次我們再無高地可逃, 這一次我們必被洪水捲走!
"噢, 恭喜你的女兒懷孕了"
今日, 我們的生活已經與 Internet 密不可分. 當生活足跡往虛擬世界伸延, 我們會製造很多資料, 而這些資料一方面讓有眼光的人大發利市, 另一方面也有可能引出有如 <<1984>> 中描述的老大哥出來. 但是我們已經沒有回頭路可走, 未來世界只會進一步數據化, 更多的資料被儲存被分析. 書中作者援引了很多例子指出大數據的光明與黑暗, 其中一個引人深思的案例是一間零售商只是分析了其他女性顧客在他們網站上的數位足跡及懷孕周期, 就可以準確知道一位高中女生已經懷孕, 比天天相見的父母更早知道!
我們都是一座座活生生的資料庫
在以往的類比世界中, 資訊凝結於不同的日常生活事物, 黑膠唱片, 電影底片, 錄影帶, 書籍, 相片, 繪畫, 雕塑, 衣服鞋襪, 地圖... 各有各的形態規格, 使用時也是限制多多. 到了今天, 不只上述的東西已經全被數據化, 甚至我們的人際關係, 喜怒哀樂, 信用度都已經全面變成了電腦可以讀取的數據. 猶有甚者, 連我們移動滑鼠的軌跡所產生的數據都會被收集分析. 海量數據已經日益成為不同公私單位的決策基礎, 然而對隨此之來的後果卻一無所知. 唯一知道的是, 大數據正在沖擊著我們看待世界的方法.
相關性-達陣!
作者於書中指出, 由於現今資訊科技的發展, 世界已經進入了"母體=樣本"的時代. 在這個時代之中, 以往統計學的種種陷阱與偏見已經不再大規模影響我們如何看待事實, 因為在海量資料中找出相關性比因果性更重要更有用. 在面對海量資料所展現的現實時我們不需知道 "為何如此" 只需知道 "正是如此"! 看似是實用主義者的作者在書中卻也批評高舉理論無用觀點的人, 因為萬事萬物背後都有其理論, 就算是普通如數據庫也是一大堆數學理論的產物.
自由意志
作者雖然強力呼喚我們要擁抱大數據時代, 但也提出了大數據所賦與數據掌握者的強大力量. 如果掌握者無限制的儲存所有數據並可以任意操弄, 他將會透過種種數學模型來預測我們的行為. 當數據繼續指數式的成長, 預測的可靠性也會日益提高, 到最後他會不會透過這種預測來限制了我們的選擇? 而限制了我們的選擇又會回過頭來提高預測的準確度. 再進一步, 這種預測會不會用來懲罰我們有可能但並未施行的罪行? 一旦我們的自由意志有如 Arthur Schopenhauer 所言只不過是鏡花水月, 那支撐西方文明的種種價值觀及制度也會轟然倒下. 因此作者在書中提出了幾個解決方法, 好把這個人類的新時代引領我們的文明往正確的方向前進.
作者: 麥爾荀伯格及庫基耶 Viktor Mayer-Schonberger and Kenneth Cukier
譯者: 林俊宏
2013年9月4日星期三
自製記帳軟件 - 思考
動機有了, 工具選了, 是時候思考想要的目標有幾多. 在思考時要將目標分為幾個類別, 並設定先後次序, 好讓自己不會在漫長的開發過程中迷失了.
思辯
在這階段可以先不想電腦硬體及網絡設備, 因為這些都是金錢可以解決的問題. 要多花時間去細心思考的是如何將日常工作的流程在電腦內重現. 為此, 我有段時間真的自我閉關, 甚至學周伯通以自言自語來跟自己思辯, 只為解決一些在類比世界沒有但卻會在電腦世界發生的邏輯問題. 再一次, 香煙真是好伴侶... (香港政府忠告市民: 吸煙危害健康).
另一個需思考再思考的就是整個系統背後的 Database Schema. Schema 是什麼呢? 它就是讓資料庫管理軟件知道如何儲存你所輸入的資訊, 其關聯性及屬性. 如果以建築大廈作例子, 那 Schema 就是你系統中的建築藍圖. 即是當你設計一個 Schema 時, 你要想像及考慮到整個工作流程及如何達到目標, 換句話說這是 "商業邏輯"!
Point of No Return
再用建築大廈來說明思考在設計 Database Schema 的重要, 因為 Database Schema 是沒有 Trial & Error 的機會, 而 P.N.R. 就在落實 Schema 前的那一刻. 想像一下你在設計一座住宅大廈的時候, 你會為未來的目標住客設計出適合他們生活習慣或品味的間隔, 睡房和廁所的數目, 廚房的位置, 客廳大小, 甚至樓高, 每方尺承重等等不同的屬性. 當藍圖落實後, 工程師及工人就可以開始根據你的藍圖來動工. 突然市場氣氛轉變, 然後老闆跟你說: "啊, 我們要將這大廈轉變為辦公大樓!"
於是你叫停工序, 打開藍圖一一審視可修改之處 (在這裡"關聯式資料庳"再一次跟大廈結構很相似; 就是環環相扣, 是真真正正的 "牽一髮而動全身"). 但是你發現, 如果你修改A, 就必須改B, 而修改B, 就要把C也改掉. 如此類推直到修改最核心的部份為止. 然而當你修改最核心的部份, 就變成整個架構都要修改! 緊記的是, 當你的完成度越高, 要修改的東西就越多.
在分析後你可能發現, 打掉重來可能是邏輯上最合理的辦法, 但往往因為經濟政治等問題而有所不能. 到最後你只能作一些小修小補, 甚至不惜潛建來達到目的. 這樣的成品出來之後不是失敗缺乏效益, 就是成了四不像.
祖師爺
上圖是 Luca Pacioli (1445-1517) 的肖像. 在文藝復興時期這樣的肖像油畫對被繪者來說, 可說是一種非常高的榮譽. Pacioli 被譽為會計之父, 雖然他並非複式簿記的發明人, 但是他是第一個梳理複式簿記的流程, 規則並全面以阿拉伯數字論述其數學思想及出版的人, 因為其關於複式簿記的部份被獨立成書並暢銷歐洲各國, 促使歐洲揮別難於計算的羅馬數字, 擁抱我們現在日常所見的阿拉伯數字. 所以更被現代某些人說他是這個日漸資料化世界的奠基人!
說說題外話, 在 Wikipedia 上的 Database Schema 題目有十一種不同語言版本, 亞洲的有韓文(非常簡短)及日文, 但是沒有中文. 為何會這樣的呢?
訂閱:
文章 (Atom)

