Author Archives: Pesty

記得當時年紀小

大概很少人像我一樣會記得為什麼加入一個社團。高三的時候看了兩本書:《資訊遊俠列傳》《我的電腦探索》。為了借這兩本書回家看,我還加入萬惡的建中三研社,其實這都是邪惡的林解碼(ljm)的陰謀。總之,在看完這兩本書之後,除了認識很多建中資訊社的強者之外,印象最深的大概就是 CCCA黃志賢了。

在整本都是神的書裡面,其實你是不會崇拜裡面某個人的;相對的,我開始認識這個我常常出現在我使用的軟體(NCSA Telnet,好懷念呀)、以及我抓檔案的 FTP 站(NCTUCCCA.edu.tw)的社團 — CCCA。即使在那個唸大學就要到台大的高中生涯裡面,我這個連交通大學在哪、以及交通大學到底管不管交通都搞不清楚的高中生,對於交通大學的想望,完全來自於 CCCA。

人生的際遇總是很奇妙,明明很嚮往,真的有機會卻不去把握,過了一個學期我也只參加過一次課程。也許是和這個社團有緣,卻因為營隊被草蝦學長找上,才慢慢融入這個大家庭之中,在這邊度過了最美好的大學生涯。

前幾天和某位前社長學弟(:p)聊到社團近況,老人嘛,總是有看不慣的事情。我正好想起以前這段經驗,就說了,其實重要的不是改變已經在的,而是如何讓好的人才願意進這個社團。我自己覺得過去 CCCA 的名聲真的很響亮,也確實做了非常多新的嘗試、引進新的技術。雖然很多事要看時機,但這些年來,社團對外累積的東西真的是越來越少了。(其實是在自我檢討,當了一年社長也沒什麼建樹 >_<)

我就和某位前社長學弟說,也許我們可以多寫一些的文件,連帶讓外界認為是"CCCA出品"的感覺,累積外界對CCCA的熟悉感。雖然我不知道能夠有多大用處,不過,就算只是做給自己這群人看的,其實也夠了。

在《資訊遊俠列傳》最後訪問了交大資工的四位學長們。裡面提到的”群體學習”也影響了我對社團的看法。高三在三研社的經驗、以及大一、二在CCCA和同齡的社團夥伴們一起學習的感覺,真的是非常的好;也許我們都已經遺忘了這種感覺,但其實,經營社團,不就是這麼一回事嗎?:-)

註一:《資訊游俠列傳》, 賀元著, ISBN 9579964025
註二:《我的電腦探索》, 黃志賢等著, ISBN 9579964033
註三:CCCA 創社副會長
註四:草蝦,一個曾號稱台灣數萬個 NewsGroups 板主的男人,剛保衛國家回來

Network OS 的未來

歷史是作弄人的;主從架構(Client-Server Architecture)曾經是電腦世界的主流,藉著威力強大的大型主機,使用者只需要用計算能力有限的用戶端電腦連接到 Server即可處理大部份的工作。然而大型主機的發展受限、個人電腦運算能力提昇、多媒體的掘起,使得運算的工作被個人電腦的 CPU 取代。然而網路頻寬的提升、叢集運算(Clustering)的成熟,又再一次讓主從架構變成一種值得考慮的架構。
Thin Client 是一台計算能力有限的電腦,它主要只負責處理使用者的輸入、以及呈現畫面的工作。大部份繁複的工作,都藉由網路交給 Server 來處理,再將結果傳回給 Client。然而這個架構其實面臨到兩個問題: 1) Thin Client 的能力到底得有多強? 2) 網路頻寬得有多大? 這兩個問題彼此又是相關的。當 Client 處理的越少,就得將越多的資料透過網路傳給 Server,而需要更大的頻寬。

Sun 在 1994 年推出 JAVA 的時候就曾經嘗試過藉由這個架構來破解微軟在作業系統上的絕對優勢;使用者從網路上下載的 JAVA 程式,只要有 JAVA Virtual Machine就可以執行,不論原本使用什麼作業系統。當 Client 一開機,就自動從網路上抓取其他所需的程式,不再需要透過傳統的硬碟來儲存資料。

然而這個架構在當時終究是不可行的;區域網路設備的價格仍太貴、Client 端的配備不能滿足日益擴張的多媒體需求,更不用說,Server 的價格也還是居高不下。與其採用這種架構,不如把工作都分散在單獨的 PC 來執行。文書處理、試算表、甚至小型資料庫都慢慢變成以 PC 為主的工作了。

時至今日,對於企業而言,又有了新的考量。分散儲存造成資料集中控管、備份不易,而 100Mbps 的網路已經是入門級的配備,個人電腦的 CPU 更是強大到可以處理大部份的任務都綽綽有餘。如今對於集中管理的渴望還是來自控管的便利性,為了避免機密外洩、病毒氾濫、資料流失,如今的 Client-Server 架構其實是以資料為中心的概念,而同時若能夠提供更低價的辦公室軟體,減少每台電腦所需要付的授權費用,那麼就更有誘因了。

首先推出的還是網路儲存方案。藉由網路分享,資料可以確保是最新的狀態;某些文件則甚至可以追蹤它的修改記錄達到回溯的功能。MIS 人員則可以更方便的備份重要的資料。

接下來是也許就是公司公文流程的改良。藉由 E-mail 系統,辦公室的公文都可以透過 E-mail 來傳達;而收發這些 E-mail,當然也可以透過瀏覽器連到 Server 端處理,而不需要將信件收回 Client 端;透過處理這些資料的記錄,主管也可以更清楚掌握每一個工作進度。

很顯然的是,文書處理、試算軟體以及資料庫等等都可以用現有的 Client、透過瀏覽器來實現。也就是說,在辦公室的環境中,透過網路來執行程式的架構,應該是會越來越流行的。

不過這時候如果跳出來看一看家庭應用,是不是有可能也是以網路為主體的架構呢?

首先還是以儲存資料為中心來看。現在的硬碟越做越大,雖然價格也越來越低,但是對消費者而言,由於家中的電腦越來越多,資料重複的問題也越來越大,特別是筆記型電腦為了滿足行動便利性,往往造成資料和家中的桌上型不同步的現象。同時,MP3隨身聽、Tablet PC以及其他新的數位裝置,若是擁有無線上網的能力,就可以不需要內建一個大的儲存裝置來擺放明明原本就在桌上型電腦有一份的資料。

或是,反過來說,如果我們有一台 20GB 硬碟的 MP3 隨身聽,那麼桌上型電腦也不需要特意去把這 20GB 和自己的硬碟同步,而應該要可以從這台 MP3 隨身聽的硬碟播放檔案。

所謂的分散式系統的精髓,就是要讓使用者在操作時,完全就像是使用一台正常單機作業的電腦一樣。將來如果在使用這些設備中的儲存裝置,就如同像在用我們自己的硬碟一樣,想必對於使用者會是更為方便的。

同樣的,現在作業系統、應用程式都必須要每一台系統上灌一套,如果在同一個家庭中我們可以在任何類似的裝置執行某些程式,例如,只要有螢幕有喇叭,就可以播放影片,而不需求額外進行安裝,那麼顯然也比現在要方便許多。

而當我們要處理大量運算的時候,如果又可以把資料分散到各台裝置去執行,這樣的架構才能夠完全把網路和硬體發揮到極致。對於沒有運算能力的,就加強它的網路能力,靠著主電腦或其他電腦來處理。

雖然這樣的夢想還有一段路要走,但是可以想見的是,以資料為中心的架構,將成為Network OS 走入家庭的第一步。

可惡的中文問題…

很不幸的忘了把 NoHTMLEntities 設成 1,結果標題都亂掉了,於是很生氣把 DB 砍掉重裝一次。我真的衝動又沒耐性的人…

談 GNU General Public License

GPL(GNU Public License)是現在許多網路上流傳的 Open-Source 軟體所採用的授權模式。由於一般慣於將之稱為 "Freeware",使得一般人常誤解這類軟體一定不能營利。事實上,這邊的 "Free" 指的是 "Freedom"(自由) 而非"免費"。
在 GPL 的前言就開宗明義說道:

"當我們談到自由軟體 (free software) 時,我們指的是自由而不是價格。我們把 GNU 通用公共許可證設計成您的保障,讓您保有發佈自由軟體的自由(您可以自由決定是否要對此項服務收取費用);確保您能收到程式原始碼或者在您需要時能得到它;確保您能修改軟體或將它的一部分用於新的自由軟體;而且還確保您知道您擁有這些權利。"(註一)

因此採用 GPL 的 Freeware,是允許使用者修改、散佈,只要使用者也遵循 GPL 的遊戲規則 — 不能限制其他使用者修改、散佈,並且讓他們也知道自己擁有這樣的權利。

也就是說,Mike 如果今天拿到 RedHat 公司出的 RedHat Linux 8.0,他若發現裡面有若干 bugs,想要加以修改,他可以把 RedHat 提供的原始碼拿出來加以修正,修正完成之後的成果,假如他的同學 John 也想要,Mike 可以 1) 直接送給他; 2) 以若干價格賣給他。但不論如何,Mike 都不能阻止 John 把這份新的 Linux 交給別人,或是加以修改;John 甚至可以原封不動的送給他的女朋友 Mary。

這邊有幾個問題存在:

第一,如果任何人只要遵照 GPL 的規範,都可以將他拿到的軟體自由散佈,那合理來說,GPL 軟體的價格幾乎不會高於使用者取得這份軟體的代價;例如說,某人可以選擇到網路上下載一份 Redhat Linux,也可以選擇到店裡面去買一張同樣內容的光碟;甚至請隔壁鄰居燒一張給他,三種不同選擇付出的成本,可能是時間、金錢或是其他機會成本,但其定價會趨近於取得成本。最終的結果是,售價都被散佈成本吃掉了,提供改良的人本身並沒有獲得好處。

第二,在作業系統上開發應用軟體如果也要被納入 GPL 的範圍中,也是不合理的。
通常作業系統都會提供所謂的 API(Application Interface),或是常用函式庫(Library),它們的角色就如同一台車上的各種操控元件,當車要轉彎時,我們轉動方向盤就可以,不需要去思考車子是如何控制輪胎、齒輪如何作用等等。有了方向盤這個 API 或是 library,某公司設計的自動駕駛機器人就可以藉著操控方向盤來控制車子行進方向,再配合上油門、煞車、排檔等等其他 API,這家設計機器人的公司並不需要去接觸到汽車研發的底層技術,就可以完成一個自動駕駛機器人。

從上面的例子可以看出來,雖然這個機器人是基於汽車的 API 來開發的,但是其關鍵技術和汽車本身並無相關。同樣的道理,在 GPL 的作業系統上,如果硬性要求使用這些 API 的程式被列入 GPL 的範圍,恐怕只會大幅降低開發新軟體的意願,因此為了避免這問題產生,必須要將 Library 或是 API 的 License 與一般的區分開,而有了所謂的 GNU Lesser General Public License (LGPL)。

在 LGPL 中,只強調對於原本的 library 的 freedom,也就是說如果我賣的機器人搭配上這台 LGPL 的車來賣,那麼我必須要告訴使用者這台車是可以自行改裝的,也可以複製這台車的任何部份,但是機器人本身的設計圖我可以不用給使用者。

實務上,採用 GPL 是不太可能靠軟體本身賺錢的。照 Richard Stallman(Free Softeware Fundation 發起人,註二) 的說法,GPL 的軟體是要靠服務而不是軟體本身來
賺錢。也許這樣的說法很奇怪,但服務其實包涵的範圍很廣,從客製化(Customized)、教育訓練、到修正軟體的 Bug fix 都可以算是服務。GPL 的 Free Software 的商業模式和現實並沒有什麼不同,就像水電裝潢我們可以自己去特力屋買材料來做,也可以請別人來幫忙,或是請專業團隊來施工設計。這些都是服務的範圍。

另一個有趣的商業模式是 MySQL AB 這家公司(註三),這家公司所提供的GPL 資料庫在 Open-Source 社群擁有非常高的知名度,同時在市場上也擁有不小的市佔率。該公司的 MySQL Server 同時擁有 GPL 和 Commercial License 兩種授權,也就是說,如果某公司今天想要開發一套資料庫應用軟體,又不想把原始碼交給客戶,那麼就可以向他們採購 Commercial License 版的 MySQL。相對的,對於一般人而言,GPL 版本是免費的,小公司若是自己內部要架設資料庫,就可以採用這個版本。

除了 GPL 之外,還有 BSD License(註四) 等其他 License 模式;BSD License 遠比 GPL 更為鬆散,它只要求附上原版的版權聲明,以及要註上"本產品包含由加州大學柏克萊 分校及其他貢獻者所開發的軟體"。更簡明的說,就是只要不宣稱整個軟體都是自己寫出來的,就符合它的要求了。以商業應用而言,這可以算是最好的選擇了。

註一: 譯文摘自 http://cldp.linuxforum.net/doc/GPL.html
註二: http://www.stallman.org/
註三: http://www.mysql.com/
註四: http://www.freebsd.org/copyright/license.html

談電子出版

“內容有價”在後 .COM 時代已經是被喊得震天價響的口號,許多原本免費的內容網站都開始考慮是否要進行收費,當然,PCHome 集團旗下的雜誌如 IThome 也已經試行收費有一段時間了,成效如何因為手邊沒有相關數據,暫且不論。

相較於傳統雜誌的數位版,個人出版在收費方面其實面臨了更大的挑戰。個人也許可以很輕易的藉由網頁的形式在網路上發聲,卻不容易得到金錢上的回饋;在網路泡沫破滅之後,個人出版者不再能夠期待靠著被金主收購而獲利,而要尋找向讀者收費的可能性。

但是由於個人出版者往往也希望藉由網路來建立自己的名聲,所以必須面對內容是否提供免費閱讀的抉擇;如果選擇要將內容開放免費閱讀,那麼,誰會付費來買?

許多人會將這視為數位內容不可行的理由;但如果我們仔細檢視現實生活已經存在許久
的商業模式,就會發現其實免費閱讀並不是收費的最大阻力。

市面上大部份的雜誌都是開放大家在店內閱讀的,從便利商店到書局,一本本的雜誌擺在那邊,幾乎都是歡迎翻閱的,為什麼呢?因為翻閱是決定購買的重要因素,如果這本雜誌、書完全沒有讀者要的資訊,當然也不會引起消費者購買的慾望。

消費行為當然更複雜一些,從看到這本書、拿起書、到翻閱以後願意購買,中間還有很多影響因素,我們也可以看到出版商竭盡所能的利用這些心理因素來加強消費者的購買動機(雜誌越做越厚、標題越勁爆越好、送光碟片等等),結果事實上讀者得到的是越來越厚的廣告、無用的初學者知識、與標題不符的內容、完全沒有用的光碟片。當然在這時也用塑膠套將雜誌給封了起來,以免被發現其實是敗絮其中。

而這樣的出版者/讀者關係,顯然沒辦法在網路上獲利。免費閱讀是因為會讓讀者更容易發現內容的貧乏,所以才會造成看似無法收費的假象;根本的原因還是,數位化的內容並沒有提供更多的方便、相對於其價值的內容,以及方便的付費模式。

如果一本書可以在圖書館中借到,為什麼要買一本呢?除了想要擁有的感覺之外,能夠隨時翻閱查詢也是很大的誘因,而數位內容能不能提供這樣的便利性?如果傳統的書籍必須要隨身攜帶才能夠閱讀,那數位內容能夠為它的購買者提供隨時查詢或是閱讀的便利?這類服務本身是有價的,而且是傳統的內容完全沒辦法取代的。

再者,傳統內容提供者並不知道你的需求,所以一本空中英語教室,剛開始是難的對初學者沒有用處,等到讀者進步了,它卻不會進步,變成簡單的那一半沒有用;可是消費者同樣要掏出錢來買沒有用到的那一半,甚至是光碟。數位內容提供者並不能期待消費者會接受這樣的搭售;報紙也是一樣的狀況,並不是每個讀者都會把每個版面都仔細閱讀,更何況受到頻寬以及閱讀舒適感的影響,讀者對自己不感興趣的更是不會花太多注意力。所以數位內容提供者必須思考自己要怎樣推出不同版本以符合讀者的要求。就如同旅遊書可以拆成各縣市的介紹、或是單一主題來賣一樣,言簡意賅的內容常常更能激起購買慾。

最後是付費模式不夠簡便的問題。目前看到一篇很好的文章,想要花錢買進階的服務(下載到我的行動裝置、搜尋、或擁有印刷精美的實體版本),幾乎沒有什麼方便的付款管道。個人出版不代表出版社沒有存在的價值了,數位內容出版社應該提供服務、數位內容書店則提供方便的付款管道。例如我可以在博客來付款,從我預儲的帳戶中扣款、或是由新絲路用月結的方式向我請款。這些基本設施不需要由個人出版者自己來打造才是,更不應該是互不相通的。

在網路上收費還是要回歸到:

1) 提供的資訊是不是和收費相當;
2) 提供的服務是不是有別於傳統模式、甚至是傳統作不到的;
3) 收費的過程是不是過於繁瑣、會使願意付費者有挫折感;

所以免費閱讀反而不是要收費甚至獲利的最大問題。

上帝的靈藥─基因演算法(一)

如果說上帝鉅細彌遺的創造了這個世界,那麼當這個上帝還真的得無所不能。幸好達爾文為我們指出了演化的力量,靠著演化,即使沒有上帝,這個世界還是有可能發展出來的; 如果真的有上帝,那麼我相信祂是寫下『基因演算法』的傑出程式設計師。

在這個網站上已經談過許多基因演算法的應用,但卻還沒為它寫一篇詳細的介紹。究竟基因演算法是什麼呢?

基因演算法(Genetic Algorithm)其實是取法大自然的一種演算法,藉著對於演化現象的觀察,John H. Holland 認為可以透過把問題轉為基因型(Genotype),利用競爭-生存以及基因交換-突變,尋求出問題的正確解答。

透過競爭-生存,擁有好基因的品種會有較高的機會生存到下一代,而與生存較無關的基因則會隨著時間逐漸被淘汰,。在理想的狀態下,競爭-生存會迫使不具優勢的品種逐漸消失。

然而單單擁有一種好基因是不夠的;透過基因的交配,不同的個體可以把它們的好基因組合起來,變成更具優勢的下一代;而若是組合出來的後代不理想,也只會加速被淘汰。

但交換基因也不能改變現有的基因狀態,還要再配合突變,才能夠產生革命性的改變,進而對族群進步有突破性的發展。

因此,"生存-競爭"、"交配"、"突變"就是整個基因演算法,也可以說是演化的中心思想。

下一篇將介紹基因演算法的例子,利用基因演算法來演化出符合要求的字串。

讀書救國?

報載行政院政務委員蔡清彥正在美國強力招攬小留學生回國服務,其最大的賣點就是將海外留學生納入國防訓儲制度(俗稱國防役)的範圍之中,使得這些於役齡前就出國、目前已取得碩、博士學位的小留學生,也能夠在國內的公家單位或是私人機構服務滿四年後,取得役畢的資格。

國防役的適用範圍能夠一體適用於海外的留學生,其積極爭取人才的精神令人肯定,但在此時卻也不能不提醒政府,國防役本身已造成役男出國意願大為降低,反而不利於整體產業的提升。

由於目前屆齡役男仍需要服役後才能夠出國進修,為了不讓自己學業中斷,許多有心出國留學的學生於是打消出國的念頭,轉而投考國內研究所,完成碩士學位後,再直接進入國內企業或公家單位服國防役。以一個順利考取大學、研究所的學生而言,服完四年國防役後已 28 歲,大多已有經濟壓力而不願出國;另一方面,選擇一般兵役的學生也必須要中斷學業兩年,才能出國留學。

國防役設立的本意應著眼於經濟戰略,讓國家人材能夠充實國家實力;將小留學生納入適用範圍也是為了吸引更多人才回流,然而近年來包括教育部、學界以及業界都普遍發現大學生畢業後出國意願低落,除了國內研究所招生名額增加、學生不願忍受"留學苦"等因素之外,國防役的推廣也意外的成為影響留學意願的推手。若國防役的名額持續增加,對於出國進修的學生又沒有相對的鼓勵方案,只怕長久下來會變成慢性失血,更不利經濟戰略佈局。

相對的,如果國防部能夠以積極的態度,鼓勵役男出國留學並回國服務,相信在如今台灣高科技需才孔急、工作機會多過美國的時刻,更能夠帶動整體產業提升和轉型,相信也比吸引久居國外的小留學生來得更有效。

原載於 2002-8-28 中國時報 15 版

以基因演算法美化您的聲音

嫌自己的聲音不夠美妙?說起話來沒有男子氣概?還是害怕自己演講時不夠威嚴或感性?現在科學家發明出一種新的音訊處理程式,讓您可以隨心所欲的改變自己發出的聲音。

當人對著麥克風說話時,這套系統會把輸入的聲音轉換為設定的語調。然而這套系統的語調並不是事先在出廠時設定好,而是透過基因演算法來訓練。

首先,系統會隨機產生一些"聲音基因",每一個的語調、音量和速度各有不同,使用者可以在聆聽修改的結果後,對每一個基因體作評分,然後再經由基因交換、突變等過程產生下一代的基因。

這套由東京 Hosei 大學 Yuji Sato 所發表的系統,目前還不能將輸入的聲音即時作轉換,Sato 表示他將會在這方面繼續努力。

新聞來源:
Genetic algorithm tunes up public speakers

相關連結:
Yuji Sato, Hosei University, Tokyo

Metropolis 大都會

當人類越來越倚賴機器人、當機器人越來越完美,人類和機器人之間的關係究竟是越來越親近,還是越來越緊張呢?《Metropolis 大都會》這部片試圖勾勒出未來的圖像。

《Metropolis 大都會》是由日本知名漫畫家手塚治虫在1949完成的漫畫,如今重新搬上大螢幕,將原本的漫畫重新繪製成動畫演出。腳本由大友克洋改編,由林太郎執導。

片中描述在未來機器人已經大量取代人類的勞動工作,但是社會還是分成數個區域和階級,不只是機器人,連人也不能在未經允許的狀況下越界。機器與人的分界在於機器人不能攻擊人,也因此在社會底層、工做被廉價機器人取代的下層階級暴動時,機器人總是首當其衝。

在此同時,大都會的統治者正處心積慮要建造一個威力強大的高塔,以便統治全世界,恰巧為了追捕國際通緝要犯和伯父前來大都會的健一捲入了事件之中;機器人的失控、勞工的怨恨,再加上右派反機器人份子蓄意的破壞,暴亂一觸即發…。

本片的劇情設定雖然在今日已經不算新鮮,但是和手塚完成的年代相比,在當時還是相當前衛的想法。在本片中有許多各式各樣的機器人,各有其職司和特性,在二十一世紀初仍能以動畫的角度來勾勒出未來的走向。

相關連結:
手塚治虫網頁
介紹 Metropolis 及手塚創作背景

個人化的機器人套件

自己打造機器人是許多人小時候的夢想,但是要從頭打造卻不是件容易的事;Evolution Robotics 公司推出的這個機器人套件,可以讓您自行設計出機器人;透過內建的軟體,使用者可以自行設計機器人的行為,發展出自己心目中的小機器人。

這組套件包括了攝影機、控制模組、輪子底座,以及軟體的控制台。藉由軟體控制台,使用者可以自訂機器人對於環境的回應方式,例如辨認特定的畫面、接收聲音下指令、或是用遠端遙控,而機器人也可以移動、發出聲音、寄出E-mail等等。

Evoluation Robotics One(ER1) 需要配合Notebook 來處理系統的資料,除了 ER1 之外,該公司也推出了 Evoluation Robotics Robot Developer Kit (RDK) 以便發展自主的機器人;與 ER1 不同的是,這個 RDK 擁有更多的感應器,以及更複雜的移動系統

原始網站:
Evoluation Robotics

新聞來源:
筆記型電腦化身機器人