台北自由行(下) – 西門町﹐中正紀念堂﹐信義﹐貓空

第三天行程十分緊湊﹐一天內去了很多地方。早上先過去西門町逛逛﹐旅遊書說這裏是類似日本原宿﹐豈料我們選錯了時間去﹐早上大部份店舖還未開門。我們按地圖找了鴨肉扁﹐店子明明叫名稱叫鴨肉卻賣台灣土鵝﹐除了獨沽一味賣鹵水鵝外﹐便只賣淨麵淨米線送鵝吃。老字號開業幾十年﹐是我在台灣吃地道美食中最好吃的店子。吃過早飯後去了西門紅樓走了一轉﹐不過紅樓後面的藝術工房要下午二時才開門﹐只好在紅樓四週拍照便繼續行程。

西門町

鴨肉扁土鵝

西門紅樓

原來打算下午去參觀國父紀念館﹐不過我把中山和中正搞亂了﹐結果去了中正紀念堂。不過錯有錯著﹐蔣介石比孫中山更有排場。中正紀念堂在台北市中憑空劃出一大片土地﹐正前方是早幾年給陳水扁改名的自由廣場﹐不過所謂改名不過是廣場牌坊上的四隻字重寫。廣場兩旁有兩橦中式古典建築﹐分別是國家音樂院和國家歌劇院。廣場盡頭便是一座白色的中正紀念堂﹐四邊像金字塔般以梯級升起﹐中央大堂安放蔣介石的銅像﹐甚有華盛頓林肯像的氣勢。我們從正面爬四層高的樓梯扺達到銅像後﹐才發現原來側門有升降機﹐真笨。銅像前有衛兵站崗﹐每小時也有換班儀式。我們到達是還差二十分鐘才兩點﹐大堂空蕩蕩沒有遊人。我們下樓走一個圈十五分鐘後回來﹐銅像前竟然排滿等待看換班儀式的人。換班儀式長十五分鐘﹐有步操和花式托槍看﹐很多人也對兵哥評頭品足﹐看看那個高大靚仔。不知道蔣介石是否生死很多仇家﹐害怕有人來他的銅像搗亂﹐要派兩個士兵站著不動看守著。中正紀念堂內有個蔣介石博物館﹐展品沒有什麼好看﹐不過放他的舊信舊相舊衫。內容更是不盡不實﹐只講述他二次大戰的威水史﹐不講述他給共產黨打敗那段歷史。回程時路過國家音樂廳﹐老婆被賣DIY音樂盒的小店吸引﹐坐在那兒成個鐘做勞作整音樂盒。我便陪她悶了一個鐘﹐把音樂廳的所有資料也翻看﹐結論那不過是台灣版文化中心和大會堂﹐演出的全部都是些懶有文化的劇團和樂團。

自由廣場

中正記念堂

蔣介石銅像

換班儀式

國家音樂廳

DIY音樂盒小店

老婆整的音樂盒

晚上我們過去信義區逛﹐香港有老襯亭﹐台北有老襯塔。台北101觀景台雖然不貴﹐也是旅遊書指定必到的地標景點﹐可是觀景台的風景沒有什麼好看﹐不過是一望無盡的城市景和公路街燈。九十一樓有戶外觀景台﹐風吹得很猛又冷﹐看不到數分鐘便返回樓下﹐反正八十八數和九十一樓也是看同樣的東西。最好看倒是Damper Baby﹐ 全球最大風風阻尼器﹐基本上是一個黃色大鐵球﹐用來平衡大樓的搖晃。那成為台北101的吉祥物﹐記念品店有很多Q版Damper Baby公仔賣。晚餐在台北101樓下商場的餐廳吃﹐原本以為台北101是高檔商場﹐想不到那兒的高級餐廳消費倒不貴﹐兩個人坐在窗旁吃一頓浪漫晚餐﹐結賬才二千元新台幣﹐折合不過五十多加元。

台北101

Damper Baby

台北夜景

信義是名店區﹐新光三越賣的盡的名牌子﹐幸好吃完晚餐時已經關門﹐不用擔心荷包大出血。信義區的另一個名勝是誠品總店﹐反正二十四小時營業﹐我們留到最後才去。誠品總店有一橦大廈﹐不過書店只有兩層﹐比我想像中細間。其他樓層賣時裝家俬消費生活品味﹐只有賣書的兩層才開二十四小時。最大問題還是價錢﹐在誠品買書沒有折﹐比旺角二樓書店還貴。熱門流行的書藉不用在誠品賣﹐比較冷門的藏書雖然豐富﹐但未聽過的作者和書本又沒有興趣買﹐結果入全台最大的書店卻空手而回。

誠品書店

店內賣書一角

文胡線

第三天的行程很輕鬆﹐原本打算坐高鐵去其他城市看看﹐不過太累取消行程留在台北。早上睡過頭十一時才起床﹐決定遠離台北市區﹐坐貓空纜車看看近郊的地方。去貓空要從捷運文湖線到終站﹐文湖線用小列車行駛﹐像溫哥華的Sky Train﹐可以邊坐邊看市內的風景。貓空纜車像昂平360﹐也有玻璃地的水晶車廂﹐不要花少少時間排隊。纜車沿途經過山頭樹林﹐可以眺望遠處台北城市的景色﹐還可以看到山後半橦台北101。貓空是高山茶莊小鎮﹐山谷間一級級種茶的梯田。纜車開通後平靜小鎮淪為遊客景點﹐三條大街有超過半百間茶舍。我們在間有風景看的茶舍坐下﹐待應端上泡茶的器具﹐我們便一邊品茶吃點心﹐一邊看風景寫明信片﹐悠閒地消磨了一個下午。台北動物園在貓空纜車站隔鄰﹐原本打算下山時順道去看熊貓。同樣是看熊貓﹐台北動物園入場費六十新台幣﹐香港海洋公園要二百五十港元﹐在台北看只要香港二十分之一值錢﹐扺。可惜我們下山弄錯時間﹐動物園五點關門但四點停止售票﹐結果我們和熊貓緣慳一面。

貓空纜車

品荼看風景

台北動物園

晚上到忠考區走走﹐那兒與香港旺角差不多﹐也是熱熱鬧鬧很多商店很多餐廳。我們按旅遊書指示﹐找到周杰倫開的餐廳吃晚飯。店子名稱叫豚屋﹐賣日式炸豬排定食﹐諷刺是店外養了一隻小豬做生招牌﹐不知道每天牠聞到同類被炸的肉香有什麼感想。食物不過不失﹐不過叫我最在意的是﹐店子內的食客竟然沒有台灣人。我們到的時候還算早﹐店子只有四台人﹐不過全部都是拿著旅遊書的香港人﹐有一台還拿著我那本旅遊書。好像我們做了傻瓜遊客﹐給周杰倫的大名騙了來吃飯﹐說不定路過的台灣人都在笑我們不懂吃呢。

炸豬排店門外的小豬

周董炸豬排

最後一天中午飛機回香港﹐起床退房便坐旅遊巴到機場﹐這樣便結束四天三夜的台北自遊行。台北雖然是大城市﹐給我的感覺沒有香港的壓迫感﹐遇到的台灣人普遍很有禮貌。台灣人的文化風氣比香港好﹐很多地方也有誠品分店﹐捷運上看書的人比香港多﹐香港地鐵上絕大部人只是在玩電話。在酒店我也看了好些電視﹐庾澄慶在台灣應該很紅﹐竟然兩個電視台在黃金時段﹐同時播他的遊戲節目﹐讓他自己打自己對台﹐在一台獨大的香港是不可思議的事情。台灣劇集比無記劇集更婆媽﹐國語劇集還算好點﹐看台語劇集才叫救命﹐只是隨便看了十五分鐘﹐便已有齊絕症死人情變的橋段。我看了套台灣偶像劇﹐一星期播一集長兩個小時﹐接著還有半小時的製作和訪問特輯﹐慢工出細貨﹐撇開劇本不論﹐拍攝和鏡頭比工廠式流水作業的無記劇集好得多﹐不知道是否其他台灣劇集也一樣﹐怪不得台灣電視可以捧出新偶像﹐香港電視來來去去只有師奶看。有機會我想再到台灣一遍﹐去看看台北以外的其他城市﹐或者可以坐火車沿道南下﹐看看台灣南北間的文化差異。

台北自由行(上) – 台北車站﹐故宮﹐夜市

去印度工幹飛行哩儲了不少﹐今次飛印度正好連接聖誕假期﹐便順道換張機票和老婆台北遊行。台灣最適合自由行﹐能看能聽能寫能說﹐溝通上完全沒有困難。台灣是已發展國家﹐獨自行街也不用擔心人身安全﹐加上受日本風氣影響﹐又保留傳統的中國文化﹐有一份熟識的親切感﹐但同時亦擁有身在陌生的國度的新奇。

去台北前在香港買了本台北旅遊書﹐不過市面上很多同類旅遊書﹐每本的內容也大同小異﹐都是介紹一些出名吃喝玩樂購物的地方﹐讓讀者按圖索驥跟著來玩。不過那些旅遊書以消費心態來寫﹐只適合不論去到世界那個角落﹐也要千篇一律香港生活模式的香港人﹐完全不能認識和感受台灣的特別。其實去台灣根本不用買旅遊書﹐台北車站的遊客中心拿的免費旅遊小冊子就已經夠用了﹐再者那是從台灣人的角度去介紹台灣﹐比起以香港人心態寫的旅遊書﹐會看得更多地道的文化。

我們住在台北車站隔鄰的天成大飯店﹐二十年前應該是間頂級酒店﹐現在有點陳舊不過勝在房間舒適價格不貴﹐最重要是下樓便是捷運站出入方便﹐步行五分鐘便到火車站﹐要坐高鐵去看其他城市也可以即日來回。從台灣機場到台北市十分方便﹐可以購票坐旅遊巴直達酒店門口。桃園機場離市區大約三十分鐘車程﹐沿途看見繁體字的招牌﹐驟眼看有點似去了荃灣﹐也都是十多二十層高的舊樓。台北到處也在進行基建工程﹐擴充捷運網直達機場﹐預計未來幾年每年也會有一條新捷運線通車。可能一來台北地方大﹐二來城市發展也是近五十年的事情﹐城市規劃做得十分好﹐每條馬路十分寬闊﹐亦預留空間興建高速公路貫通全城﹐交通比香港暢順得多。

台北火車站

第一天剛剛坐完長途機﹐沒有精神到處遊玩﹐只是在台北車站附近逛逛。台北車站二樓是食街﹐有四個不同特色的美食廣場﹐分別以台灣夜市﹐牛肉麵﹐國際美食和咖喱為主題﹐另外還有十數間不同的種類的餐廳。在眾多美食當前﹐可恨我竟然誤信旅遊書之言﹐跑了去食台灣鐵路便當﹐說什麼有台灣懷舊風情﹐說穿了不過是台式飯盒罷了。想不到接下來的四天行程中﹐我們竟然前後跑回去台北車站食街吃了三次。說起來很多旅遊書介紹的餐廳也不外如是﹐倒不及台北車站選擇多兼經濟實惠。

微風美食廣場

難吃的鐵路便當

在台北車站附近﹐有連接三個捷運站的地下街商場﹐行人可以從一個車站步行另一個車站﹐不用受風吹日曬之苦。這大慨是當年興建捷運時有先見之明﹐反正也要把路面翻起來築鐵路﹐不如索性打通幾個車站組合成巨型商場。如果香港彌敦道當年起地鐵時也起條地下街﹐旺角便不用現在般人車爭路了。台北地下街的商店其實很普通﹐只不過像一般屋村商場﹐人流亦不特別旺﹐可能我去時還未到放工時候吧。晚飯去了三越隔鄰的K-Mall﹐去那裏主要原因是我要朝聖。那兒是台灣高達(台灣叫鋼彈)旗艦店﹐有三隻像真人般大的高達﹐還有陳列歷代高達模型﹐今年模型比賽的得獎作品﹐比香港銅鑼灣的那間大得多﹐拍了不少照片。

台北地下街

高達旗艦店

第二天我們一早起床﹐出發去看故宮博物館。台灣交通真的很方便﹐坐捷運和公車只需要買張悠遊卡﹐就像是香港的八達通一樣﹐便可以自由地坐公共交通公具﹐口渴還可以用來在七十一賣汽水。到故宮博物館要﹐先坐捷運到士林站﹐再轉乘公車﹐十五分鐘便直達門口。公車內在電腦顯示下一站﹐不怕不懂下車﹐不過顯示就只有中文﹐外國人就比較麻煩了。朋友到過故宮博物館﹐說看一整天也看不完﹐害我對它十分期待﹐以為會有羅浮宮的級數。看見博物館外貌心涼了半裁﹐左看右看也不是很大。宮內的展覽更是讓我失望﹐心想當年國民黨從大陸撒退﹐聞說帶走了故宮很多珍寶﹐應該可以大開眼界。只是故宮博物館很孤寒﹐那些珍寶沒有拿多少件出來展覽﹐所有展出的書法字畫全部是假貨。

捷運車站

台北公車

我最想看是清明上河圖﹐故宮博物館說自己有收藏五幅﹐我不貪心要看宋朝最古老那幅﹐好歹也給我看看清朝的臨摹版本吧﹐怎料只有一幅硬膠版清明上河圖。另外我想看王犧之的書法﹐正本看不到﹐在博物館商點倒有很多印有王犧之書法的產品賣﹐從領帶餐巾到書簽雨傘應有盡有。能夠看到真品就只有些佛像﹐上古時代的石器銅器﹐還有那幾隻刻有甲骨文的鼎。故宮博物館的鎮館之寶是翠玉白菜和肉形石﹐不論明信片還是宣傳海報﹐到處也看見這兩件珍寶。實物比我想像中細﹐翠玉白菜雕功雖是精巧﹐但那塊玉本身並非什麼上等玉石。至於肉形石則是浪得虛名﹐像五花腩般豬皮花紋原來只是染色染上去﹐我還以為是天然而成那麼神奇。博物館入場卷包括參觀館外的至善園﹐可能先入為主知道故宮博物館只有幾十年歷史﹐那不是貨真價實的歷史遺跡﹐我總是覺得至善園的中式庭園﹐與美孚對出公園那些庭園沒有很大分別。只是既然不用錢看看也無妨﹐不過我認為看至善園有點浪費時間。

故宮博物館

至善園

原本行程是在士林區留到晚上直接去夜市﹐結果參觀故宮博物館不用半天時間﹐還可以有空回酒店睡個午覺休息一下﹐養足精神夜晚再行更多的路。士林夜市並不是在士林站﹐要在捷運在劍潭站下車。士林夜市有分新舊兩個夜市﹐新夜市在捷運站對面﹐基本上是一個有蓋的大排檔。想參觀真正夜市的朋友﹐可以跳過新夜市不用看﹐反正裏面只有大排檔﹐反正所有賣來賣去也是賣那幾種食物﹐十全排骨﹐炸雞排﹐士林香腸﹐蚵仔煎等等﹐檔檔差不多﹐看一檔等於看了全部。最大問題還是不乾淨﹐我們坐在新夜市裏其中一檔吃十全排骨﹐竟然有蟑螂大搖大罷桌上在爬過﹐害我看 食慾全消吃不下。吃十全排骨要去舊夜市那邊﹐檔口名稱是什麼我忘記了﹐不過店面十分容易認﹐街口停了很多平治寶馬那檔就是了。新夜市不過是騙遊客的玩意﹐要逛夜市一定要去舊夜市﹐ 出了捷運站住北走一個街口﹐看見人頭湧湧那邊便是了。士林夜市前後有是四個街口之大﹐有點像香港女人街﹐兩邊也罷滿賣乾貨的商店﹐在十字路口則是賣吃的檔口。乾貨與旺角見到的差不多﹐大慨香港與台灣消費文化差不多﹐賣的東西也差不多。賣吃的與舊夜市也是一樣﹐有幾檔還是那邊的分檔﹐舊夜市重開後又搬回來做。邊行邊食差不多行了三個小時﹐食了不少東西卻沒有買到什麼。

士林夜市

十全排骨

人頭湧湧的舊夜市

不方便的通識 – 謝毅

說在前頭這篇書評有點膳稿的味道﹐《不方便的通識》的作者謝毅﹐是很少數我從網絡萍水相逢﹐變成變為現實中的朋友。他與我的政治和經濟理念十分相近﹐我們都是古典自由主義的支持者﹐難怪我們一見如故﹐有無數說不盡的話題。可是我的學術水平只是停留在吹水層次﹐人家便已是出版了兩本書的大作家。在香港芸芸眾多左傾的時事評論當中﹐他可是絕無僅有的右派擁躉﹐也算是一個另類聲音。

《不方便的通識》其實有點呃錢﹐這本書結集他在報章專欄﹐和他自己博客的發表過文章。讀者如果想省錢的話﹐大部份文章可以在薯淘同雞的網站觀看﹐不知道這本書是否改錯名﹐我原本以為書店會放在香港評論一欄﹐竟然給放了在中學生參考書一欄﹐與其他通識教育的雞精書放在一起。在此奉勸各位中學生﹐考試時千萬不要引用此書的觀點﹐因為有些事實只能知不能說﹐說出來便被扣上政治不正確的罪名﹐肯定不合改卷員的標準答案。

謝毅文章的觀點在香港的報章評論雖比較少見﹐但其思想脈絡與《經濟學人》的分析大同小異﹐反對大政府凡事都管﹐主張私有化和自由市場﹐反對最低工資﹐支持引入競爭﹐反對共產主義社會主義等等。可能是報紙專欄篇幅有限﹐很多文章只是宣示了立場﹐引用經濟學大師佛利民或海耶克的名言背書﹐外加一兩個粗淺經濟學推論作例子便算。大慨要遷就一般香港讀者的程度﹐實在沒有辨法說深入一點理論。謝毅寫文章有一個口頭襌﹐總愛在結尾時加句反問﹐有點硬銷讀者去讚同他的說法。其實一篇文章理據充份﹐推論嚴緊正確﹐結論自然順理成章﹐那句反問倒像在質疑讀者的智慧。以前在網上逐篇逐篇看不太覺﹐把所有文章放在一起讀﹐那句反問起來便有點刺眼。

網絡上有些人對謝毅不太客氣﹐如果不認識他的人單單閱讀他的文章﹐甚至會懷疑那些文章是否大商家出錢找人代寫﹐好粉飾香港歌舞昇平繼續賺其大錢。謝毅的文章用經濟學為骨幹﹐以分析整體總利益和效率為主﹐不免忽略左派常常強調公義的問題。如果他的文章在強調經濟學的結果之餘﹐還花點篇幅回應左派的攻擊﹐相信文章會更有說服力。除了他支持醫療私營化﹐我則認為醫療應該與警察消防一樣﹐本質上是公共事業外﹐基本上我大致認同謝毅的大部份觀點。

這本書的全部文章﹐我在網絡上早已看過﹐買書純萃是捧朋友場。買書另外還有一個目的﹐就是勉勵自己要發奮向上﹐如果謝毅都可以出書﹐無理由我唔可以出番本書嘛。

Automation without abstraction is like a bicycle without pedals

Automation is just transforming information from one format to another format, it won’t make the information any easier to work with. Abstraction drops irrelevant information and keeping only the useful information at the right layer. Abstraction can scale vertical, automation can only scale horizontally.

Design and Reuse, by David Murray

I’ve noticed recently that the word ‘automation’ can be used very loosely in the EDA industry as a presumption of productivity and quality. I’ve recenlly been working with some legacy customer flows on an IP integration process that was 100% ‘automated’ from an Excel sheet. This excel sheet was written to CSV text file which was then parsed with perl to create an RTL output. As the solution evolved however and the requirements grew more complex, another set of perl scripts were deployed which directly manipulated the RTL file. In fact this perl included some snippets of RTL code to insert into the output. So while technically the process was 100% automated, theis type of textmanipulation brought the level of abstraction lower even than the RTL level. I came across similar types of ‘automation’ in my previous life as a design engineers life, where automation was considered the ability to record keystrokes macros within a text editor. Again this automation was at a very granular and low level of abstraction and consisted of no more than creating repeatable, but not very reusable small steps. No matter the claimed level of automation of a process, a simple fact remains; automation without abstraction is like a bicycle without pedals.
A bicycle without pedals!

The Laufmaschine or ‘running machine’, a brilliant concept, was realized by German, Baron von Drais in 1817. Described as “A mechanical machine with two, in-line wheels and the ability to steer”, the Laufmaschine could get you from A to B in a more efficient fashion and it meant keeping both feet on the ground (and probably a new set of shoes every week). At initial trials, the laufmaschine was able to get running speeds at walking efficiency. This laufmaschine was also called a velocipede, meaning ‘fast foot’ as well as swiftwalker (a marketing term if there ever was one). Its goal was to make walking or running more efficient and it successfully achieved this.

In 1863, Frenchman Pierre Lallement modified a two-wheeler in Paris and attached pedals, forever changing the concept. The introduction of the pedal took the fast-walking to a new level . With the advent of gears, the efficiency of man travelling was catapulted way ahead of our counterparts in the animal kingdom. Man on a pedal-enabled bicycle was100 times more efficient than man walking. Man was now CYCLING!

So how does this relate to SoC realization and IP integration? As the number of connections required to assemble a system grew, manual connectivity was replaced with in-house (as well as outhouse!) scripting solutions without really changing the assembly concept. The scripts – be they Excel VBA, perl or python were performing low-level data manipulation rather than high level automation abstraction. There were still trying to deliver better walking efficiency.

These scripted solutions are essentially ‘swift-stitch’, or ‘veloci-wire-up’ style environments performing low-level connectivity manipulation. As the complexity inevitably increases, the levels of efficiency of scripting simply aren’t scaling. A new concept is needed for IP integration; a higher level of abstraction is needed to boost the SoC realization process.

So, what did we learn from the laufmaschine? With pedals, Mr Lallement found a way of synthesizing one motion into another, increasing efficiency by an order of magnitude in the process. Pedals were in fact a very small but highly significant change to the methodology – CYCLING was the result! We need the same paradigm in SoC realization where we replace adhoc IP stitching type of solutions and change to a new methodology called ‘weaving’.

Like pedals, ‘weaving’ doesn’t seem like a massive leap in innovation but it gives a quantum leap in efficiency. Weaver takes what these integration scripts were doing time and time again and abstracts it up to a specification language that defines how to integrate IPs and systems.
Weaving

The key to this solution is a simple but powerful IP integration specification language that allows engineers to specify a high level integration specification as a set of rules that define how IP is integrated. These rules contain powerful assembly instructions and link with formal port/interface definitions, such as IP-XACT.

This rule when run on a sub-system containing multiple IP instances will export any ports that have been formalized through attributes or IP-XACT. The selected ports will be created on the sub-system boundary and connected to the originating instances. It will also maintain any packaging metadata that was stored with the ports e.g. properties, IP-XACT interface mappings etc.

The export instruction has a range of options that control the intended port creation. Other instructions include, connect, tieoff, group/split (for hierarchical manipulation), etc. and work at both the port or interface level. An integration specification can therefore be considered a collection of these rules

How can such a small change in abstraction lead to massive efficiency gains?

A rule can be reused multiple times on many sub-systems and also on multiple projects. Therefore the reuse potential is huge. Also the design intent is very clear and concise and easy to understand review. In a sample peripheral sub-system, 3 rules (with 9 instructions) auto-generates 1434 lines of structural HDL code. Similarly at the top-level of a large chip, 21 rules (120 instructions) gives 11188 lines of HDL, an average of 96 lines of HDL code created, per instruction. (Much like 1 revolution of the pedals giving you 100m in distance!)

Specifications and Scripts

The specification language is easy to understand and familiar to people working in the domain . There are only a handful of instructions to learn. So what is the difference between specifications and scripts?

* Rules are executable, synthesizable specifications whereas scripts tend to be ad-hoc implementations.
* Specifications by their nature captures design intent and raise the design abstraction. The design intent can be very clear. Scripts are low level and design intent cannot be as clear.
* Specifications are more formalised and are more stable than the resulting implementation. Scripts tend to be very implementation specific and implementation sensitive.
* Rules are essentially specifications whilst scripts are code

Scripting will always play a role in design automation and should be considered the essential glue of a process. Scripts should handle corner cases, tweaks and nuances but because of their ad-hoc nature and its resulting instability and unpredictability, script should be kept to a minimum and not form the central part of an integration flow. Scripts offer flexibility and a way to get out of certain holes but long-term, strategic solutions require a more automated AND abstracted solution. Scripting gives a context of what you are trying to do with the data and because of this it provides a pointer as to where the automation is going, probably much like what went through the Frenchman’s mind when he envisaged pedals. He would probably not have come up with a bicycle without first seeing the original laufmaschine.

It is time to raise the level of abstraction and aim to finally become 100 times more efficient at the IP integration process.

人形軟件卷一:靈魂上載 – 譚劍

用中文寫作的科幻小說作家鳳毛麟角﹐譚劍大慨是香港絕無僅有的土產科幻小說作家。自從倪匡封筆以後(如果衛斯理也算是科幻的話)﹐香港的科幻界差不多完全進入真空。去年譚劍憑《黑夜旋律》贏得台灣九歌文學獎﹐使他踏出寫作的重要的一步﹐放棄IT的高薪厚職﹐全情投入科幻小說創作之中。時隔一年他的新書《人形軟件》終於面世﹐而且還是以連載故事的形式出版﹐看來他有滿肚子的寫作大計﹐準備寫一系列人形軟件的小說。

上次《黑夜旋律》全香港書店也沒入貨﹐今次的《人形軟件》卻很醒明地放在流行小說一欄﹐可見譚兄的努力續漸被讀者肯定和接受。《人形軟件》節奏明快﹐主線直線發展﹐沒有前作故弄玄虛的老病﹐讓我閱讀時放不下書來﹐一氣呵成追書十分過癮。雖說這是科幻小說﹐其實題材比較接近輕小說類型﹐角式和場面設計很重動漫感。大慨硬科幻在香港市場太小﹐還是以輕科幻為包裝﹐加入日本美女黑客﹐虛擬銅鑼灣九一一大爆炸﹐黑客集團打劫網絡獅子銀行等元素﹐讓普通讀者也能享受書中的情節。

當然作者譚劍兄骨子裏流的是硬科幻的血﹐在緊張激刺套俗的小說情節之間﹐充滿電影影像式的鏡頭描述背後﹐其科幻what-if的主題仍然清晰可見。人工智能軟件﹐虛擬人格﹐網上代理人等等﹐不是譚兄原創的新鮮事物﹐在外國科幻小說﹐如Terminal Experiment﹐Getting to Know You早已提及。譚兄把這些熟口熟面的科幻橋段﹐加入讓讀者陪感親切的香港色彩。以虛擬人格作為小說的主角﹐故事在本尊逝世後才展開﹐也是很破格的創新手法。故事主線有些像Broune Identity﹐主角沒有主人真正身份的記憶﹐卻在主人死後被人追殺﹐抽絲剝繭解開背後驚天大劫案的陰謀。

故事主線不外是追趕跑跳碰﹐可是過程中申引出很多對未來科技的反思。女主角天照百份百是動漫跑出來的人物﹐她愛上只是虛擬人格的主角。人與電腦戀愛本身已可以是一個深入發揮的題材﹐可以借此探討戀愛的本質﹐若愛是靈魂與靈魂交流﹐若人的靈魂上載至電腦﹐那愛情又是否可以無分物質界限。可惜譚劍兄一介老男人﹐恐怕不擅於描寫細膩的愛情﹐看不出天照是愛上主角﹐還是想保護本尊僅存的一點靈魂血脈。今次少年漫畫式的點到既止的愛情觀﹐總好過上次大灑鹽花露骨地寫性愛。

後半部把主角的人工智能上載至機械人身上﹐讓他從網絡逃出來到現實世界﹐以情節編排來收線結局無可原非。但結尾時才忽然加入機械人元素﹐與全書一直在塑造的世界觀有點格格不入。如果有智能機械人的話﹐小說的世界在細節之處應有不同的安排﹐可以加插人腦與電腦﹐肉身與機械人之間﹐不同關係的側寫描述。

看書後第二卷的預告﹐鼓吹人類應該捨棄肉身﹐完全融入網絡的魔神教將會成為新反派。在今集魔神教只是客串出場﹐為主角題供逃過追殺的避難所﹐魔神教教主蝶神與主角的換動不多﹐沒有好好清楚表達魔神教的教義。在電影Matrix中﹐人類要逃離電腦的虛幻世界﹐魔神教反而主張人類要擁抱虛幻世界﹐謂虛幻世界中可以解決真實世界上的所有問題。其邏輯與高達中馬沙的地球淨化論相同﹐也都是認為把地球上的人殺光了﹐就可以解決問題地球自然就會回復原貌。可是若把人類從現實中割離﹐只讓人類活在電腦的虛擬世界中﹐那與殺光所有人根本沒有分別﹐只不過是否有留下一個拷貝矣。

正所謂不怕生壞命﹐最怕改壞命﹐好端端的一個網絡極端宗教組織﹐給譚兄改了魔神教這麼老土的一個名字﹐怪不得在書中他們好像沒有什麼信眾。捨棄肉身只保留思想本身不一定是壞事﹐但捨棄肉身不等於可以捨棄物質世界﹐靈魂也要在電腦中才可以運行。人只不過把生物學的肉體﹐轉變成電腦硬件的肉體矣﹐思考效率可能提高了﹐物質需要也可能減少了﹐但始終還是不能完全無視能量轉換定律的物理法則。

《人形軟件》最大敗筆﹐便是無視電腦和網絡也要尊守的物理法則﹐書中的虛擬世界似是奇幻多於科幻﹐網絡好像是憑空建造一樣﹐可以完全無視現實世界的限制。姑勿論網絡傳送速度快慢這些低級技術問題﹐書中完全沒有提及是虛擬人格到底是那裏在運行。就算是雲端電腦也有地理位置。光柵傳送是只連結輸出輸入埠﹐還是把整個智能程式抄過去新主機。如果是抄程式資料的話﹐那在舊主機的資料如何處置。如果可以留多一個拷貝﹐就不用村上春樹病毒來分身這麼麻煩了。當然若果要顧及現實性合不合理﹐情節便不能隨心所欲地天馬行空發揮﹐讀起來也不會有現在這麼強烈的動畫感。可是正正因為譚兄沒有費心解決這些細節﹐《人形軟件》只是披上科幻外衣的輕小說﹐與傳統硬派科幻小說還有一段距離。

在香港當作家不容易﹐當一個科幻小說作家更難﹐譚兄堅持這條難行之路﹐其誠意可嘉值得買書支持。從他的網誌中讀到﹐《人形軟件》第二卷已經完稿﹐希望快些交給出版商印刷出版﹐讓我可以續繼追看故事發展。