電子閱讀

Amazon最近推出一款電子閱讀器─kindle,價格還真不是普通的貴,竟然要399美金。其實電子閱讀器不是Amazon首先推出的,在它之前也有其它相關的產品,比如Sony的PRS-505。但是電子閱讀似乎一直沒有辦法造成風潮,甚至有部落格對這次Amazon推出的電子閱讀器不是很樂觀。

當然,以目前情況來看,電子書數量並不多,電子閱讀器要價更不便宜。這種情形下,難免讓人覺得電子閱讀不夠實用,倒是比較適合拿來當作耍酷的玩意。不過比起這些原因,更常聽到的一些排拒電子閱讀的理由是:閱讀習慣。過去我也曾經是擁抱這個理由的一員,而且我認為不管電子閱讀如何風行都無法說服我放棄傳統書籍的閱讀習慣。畢竟跟冷冰冰的電子閱讀器比起來,每一本有個性的書看起來有質感太多了,更何況那種翻書的感覺是電子設備永遠無法取代的。直到最近,這種想法開始翻轉,我開始認為電子閱讀在未來必然是日常生活作息的一部份,最後全面取代傳統書籍的地位,而傳統書籍最後也許成為某種古董、收藏品甚至是藝術品。

每個星期,我都必須在中壢與台北之間來回往返,而每一次往返必定隨身攜帶物品則是NoteBook跟書。有時後我很貪心,我希望隨行的書可以多本一點,可是每多一本身體的負擔就越重,而且空間也極為有限。如果這些書都轉換成電子書的話呢?我只要帶一本薄薄的電子閱讀器就夠了,再也不需要像練習舉重般辛苦。除此之外,在搜尋一本書裡面的某些有印像的內容時,在傳統書籍上的作法是,除非你有作下記號,否則找起來是很辛苦的。但是如果是電子書的話呢?只要在閱讀器上輸入有印像要找的Key Word,大概瞬間就能幫你帶到那本書的那個位置上。而且電子書有個最大的好處是,空間與能源的節省。每製造一本傳統書籍要用掉多少紙張呀,而且傳統實體書本的售價也絕對是比電子書還要貴,書局還需要有倉庫空間作擺放。想想看,如果把目前世界上所有實體書本都轉換成電子書儲存在電子設備上,地球上不知道能夠省下多少空間跟木頭!

電子書還可以作許多很方便的延伸應用,比如在讀一本書的時後,每個章節後面的參考書目,就可以跟網頁上作成Hyper Link的方式一樣,這樣一來只要點一下就可以很容易的轉換到另一本書中相關的部份作參考。還有針對老花眼的老年人,以往看傳統書本或報紙時都必需帶老花眼鏡或是拿一個放大鏡照。改成電子書形式的話,可以很輕易的作Zoom In、Zoom Out功能。而且由於是以電子資料的方式儲存,未來說不定還有許多有創意的電腦軟體或技術的應用,我想這些便利都不是實體書本可以比得上的。

然而電子書恐怕要面對一些額外的問題,就好像著作權侵犯。至少電子書在散播上就比實體書要容易太多,在實體書上影印超過一定比例是違法的。不過也許這個問題可能可以透過有創意的business model來解決也說不定,就好像google推出許多服務但都是免費的,這在以前是令人難以想像的。

最後一個比較可惜的地方是,在之前沒有對應電子書的傳統實體書本上,是不是電子閱讀就只好放棄了?幸運的是,google不是有一個圖書館數位計劃嗎?也許這個部份可以兜在一塊,讓之前年代出版的實體書籍也能輕鬆地出現在電子閱讀器中。

11/05~11/12計劃

上個星期完成部份有書報討論報告與Linux核心詳解第二章,登入部份用ASP.NET 2.0的既有元件來作,也花了點時間了解背後的機制原理。大部份的主要時間花費在Linux研讀上,因為第二章談到的記憶體定址部份牽涉到許多跟硬體有關的概念,比較複雜。

本週預定計劃:
Linux第十章系統呼叫部份跟第三章前半段行程結構的部份
駭客現形第二章
ASP.NET 2.0個人化物件部份的研讀

Linux的第一個project已經公佈,這星期把相關背景知識了解後,下星期打算到分配主機上對Linux Kernel增加System Call與建置並安裝新Kernel,時程上有點趕,要在12/04前完成四個小任務。另外電腦攻擊與防禦的project可能也快要出來了,老師有提到大概會需要寫一個buffer overflow的攻擊測試程式。

目前使用ASP.NET的感覺是,它內建的元件可以減輕程式碼撰寫的負擔,不過在學習曲線上也比PHP還要困難許多。像是內建的登入控制項有好幾個,每一個都有許多屬性與事件。另外也必需了解專屬於ASP.NET的一些系統物件的特性,還有如果要搭配其它元件使用,也需要深入了解才能作到比較理想的整合與設計。

一個完整的網站功能從設計、建置到撰寫還有測試都是很重要且不是短期間能夠完成的。在目前時間不是很夠且需要學習新工具使用的情況下,只能就所學的盡量去作。現在身邊對ASP.NET 2.0真的很了解的人似乎也很少,這點是目前遇到問題時比較頭痛的部份,因為這樣花費的時間大概會更多了。

順道一題,如果可以讓每個人都能互相在不同的任務中支援或許也不錯,這樣好像比較能夠有互相討論與幫忙的氣氛。不過缺點是,大概目前大家的時間都很有限,要再分出額外的時間去學習不同的工具與了解不同的任務環節似乎不太可能。

10/23 Regular Meeting

這一次是我第二次報告paper,感覺上比較沒有上次的緊張。由於這一篇paper比較偏實用方面,因此在理解上也比上一篇掌握更多。同樣地,在報告完後老師也給了我一些改進的建議。這一次是針對投影片內容,我也作了一些修改,很感謝老師的指導。

本篇paper的題目是 A Framework for Rapid Integration of Presentation Components,出處是Proceedings of the 16th international conference on World Wide Web WWW 2007,底下是我所寫的摘要部份:

UI(User Inteface)的開發在軟體開發過程中是最費時的部份之一。尤其是在合成應用程式的軟體開發中,UI的可重複利用機制的需求變得越來越明顯。基於此,本篇paper的作者們提出了一個Presentation Integration Framework。透過這個Framework,可以讓開發人員利用現成的Web Application組合出一個新的混合程式,只需要提供適當的介面定義文件(以XPIL寫成)而不需撰寫Application間通訊的底層程式碼。這個Framework包含以下部份─

Component Model
以抽象的方式描述Presentation Component的定義,包含了Events、Operations、Properties and Presentation Modes。

Composition Model
a event-based model,其包含了Event Subscriptions、Data Mappings、Additional Integration Logic and Layout Information。

Language Presentation
作者們提出的一個declarative composition language,稱為Extensible Presentation Integration Language(XPIL)。用來描述Component Model和Composition Model。

Runtime Middleware
用來整合presentation component,包含了Event Automation與Component Adapters and Wrappers兩部份。

最後作者們認為:由於這樣一個framework是基於抽象的與鬆散耦和(loose-coupling)的概念,因此適用於web application與desktop application。而且經由這個framework的幫助將使得軟體開發者可以更快速並且簡單地開發合成應用程式中關於UI互動方面的外觀整合部份。



偶然發現的紀念物品

今天在把臥室書架上的書搬到書房時,突然想起在國際書展買的那一套台灣衛星地圖集,但是卻發現不知道跑哪去了。於是花了一些時間找,最後竟然是在走廊的書櫃上面發現。在找的過程中,也意外發現很多以前買的東西但卻遺忘了的,所以把它們條列,作個紀錄。

一張愛因斯坦扮鬼臉的海報
記得最早是在一本書上看到愛因斯坦作鬼臉的照片,覺得很有趣。後來有一次在一部日劇中,看到一間實驗室掛著一模一樣的海報,於是就找在美國的朋友幫我買。我很感謝她的幫忙,雖然後來我發現台北也有間賣國外海報的商店。

莫扎特C小調彌撒曲與安魂曲CD
這是我之前去參加一個基督教會舉辦的音樂電影欣賞活動後跑去買的,那次觀賞的電影是阿瑪迪斯。莫扎特的全名是Wolfgang Amadeus Mozart,這部電影取Amadeus作為片名,裡面讓我印象很深刻的背景音樂就是C小調彌撒曲跟安魂曲。

柴可夫斯基1812序曲音樂CD
這張專輯是我第一個工作時公司的總經理介紹的,他涉獵廣泛,有個人獨特的品味。當時他說這張專輯最後有大砲聲很有氣勢,我覺得新奇便跑去買了。值得一題的是,我買的這個版本裡面的大砲聲是真的錄制於軍方的傳統大砲。

2002年維也納新年音樂會DVD
這張DVD是在我有一次經過台北一家音響展示店時,看到門口展示的片子時決定買的。當時展示的就是這一片,指揮是日本人小澤征爾。我那時在店門口看到他的指揮,真是整個人都呆掉了,眼光完全沒辦法離開,就這樣在那裡停留了大約一個小時。

一個在義大利買的黑色面具
這是我去義大利玩的時後,在水都威尼斯買的。我記得當時我買了兩個大面具跟三個小面具,大面具是那種真的可以戴在臉上的,而小面具則是用來別在胸前的胸針。其中一個大面具送給了朋友,另一個我自己保留下來。這個面具可不便宜,當時花了我一百歐元呢。

一把印有鬼面圖案的日本扇子
這是去日本京都玩的時後買的,黑色的扇面帶一點透明,扇子上對比一張白色的鬼面圖,不過我想我應該不太可能會拿這把扇子出來用吧。

最近在實作登入的部份,剛好需要用到send mail的功能,主要是用在忘記密碼跟註冊通知上面。在寄信的部份要先設定SMTP Server,可以使用既有的或是本機IIS Server提供的SMTP服務。

如果要使用本機上IIS 6.0(XP的環境)的話要先安裝SMTP服務,安裝步驟如下:
1.在 [開始] 功能表上按一下 [控制台],按兩下 [新增或移除程式],然後按一下 [新增/移 除 Windows 元件]。
2.在 [元件] 清單中,按一下 [應用程式伺服器],然後按一下 [詳細資料]。
3.在 [應用程式伺服器的子元件] 清單中,按一下 [網際網路資訊服務 (IIS)],然後按一下 [詳細資料]。
4.在 [網際網路資訊服務 (IIS) 的子元件] 清單中,選取 [SMTP 服務] 核取方塊,然後按一下 [確定]。
5.按 [下一步]。如果電腦提示您輸入 Windows CD 或網路安裝路徑,請按指示操作。
6.按一下 [完成]。

安裝完後會發現在C:\Inetpub\Mailroot 中建立預設的 SMTP 伺服器組態和訊息存放區。

接下來是設定SMTP服務,步驟如下:
1. 開啟 [IIS 管理員] 之 [預設 SMTP 虛擬伺服器] 設定。
2. 在 [存取] 的畫面中,針對 [轉換限制] 進行設定,將該台機器的 IP 加入可允許的清單中,例如 "127.0.0.1" 。

完成後,ASP.NET就可以使用本機IIS提供的SMTP服務了。

ASP.NET 2.0提供了會員管理功能,其對應的類別為membership。所以當使用ASP.NET 2.0內建的登入控制項系列元件時,其背後運作的機制就是透過membership API。另外,ASP.NET 2.0開發工具也提供了圖形介面的會員管理操作。可以透過登入元件或在開發工具上使用,經由會員管理圖形介面指定SMTP Server,如127.0.0.1(使用本機上的IIS SMTP服務),或是自行使用程式碼指定。

最後,在使用本機IIS SMTP服務發送Mail的過程中發現使用防毒軟體的垃圾郵件功能可能要關掉,不然發送的Mail都會被queue在MailRoot下的queue目錄裡送不出去。另外如果本機是浮動IP的話發送也可能會失敗或是被當成垃圾信處理,我在家裡的電腦上測試時發現google是當成垃圾信,而yahoo則是連回應都沒有,直接擋掉了。

張栩挑戰名人成功

今天,是張栩在日本圍棋名人戰七番棋最後一局得勝再度奪得名人的日子。對張栩來說取得這次的勝利可謂報了一箭之仇,一吐之前被高尾紳路連續從他手中奪走名人、本因坊的怨氣。

自從被高尾紳路連續奪走名人與本因坊兩大頭銜後,日本棋壇開始有了高尾是張栩剋星一說。這一次挑戰成功,可謂得來不易。比賽進行完前四局時,張栩對高尾紳路是三勝一敗,只差一場就可以挑戰成功了。結果,後面兩場硬是被高尾扳回兩成,形成三比三平的局面。最後一場比賽更是有驚無險,經過一輪驚天大轉換後,張栩最後以兩目半險勝,贏得最後勝利。

目前日本棋壇的地位在世界比賽中已經漸漸沒落,許多日本棋界好手在國際大賽上的成績都不盡理想。張栩算是目前唯一能在世界大賽中讓中韓棋手頭痛的日本棋手,不過卻在日本七大頭銜中只擁有小棋聖。這次挑戰,我一開始就覺得他會再度收復收土。甚至是接下來的本因坊或棋聖戰,如果有機會的話,也許他可能集日本三大頭銜於一身呢。

題外話,之前在晶華酒店舉辦的中環盃第一屆比賽,我去看大盤講解時還請他在扇子上簽了名。那時給我的感覺是,很沉穩的一個年輕人,完全感覺不出來只有二十幾歲。他現在還很年輕,我想他將會再度開創另一個棋界生涯的高峰。

10/29~11/05計劃

上個星期大部份都在準備分散式系統期中考,另外ASP.NET 2.0網頁程式看了11~17章共240頁。剛好把會員管理的部份看完,後面剩下小部份主題就可以把這本ASP.NET的入門書結束了。

以下是本週預定的計劃:
書報討論心得報告
linux核心詳解第二章
駭客現形第二章
登入系統實作

linux核心的課程方面,老師也開始準備丟出project讓各個小組開始去作了。所以我也打算開始灌Linux OS並試著Compile Kernel。這部份我想會很辛苦但很值得,因為從Linux Kernel中不但可以印證OS的原理,也能夠從Open Source Code裡學到許多程式高手的寫作技巧。

另外ASP.NET 2.0入門書讀起來果然可以很快地掌握基本概念,也可以很快地感覺到用ASP.NET 2.0寫Server端網頁程式的表現是怎麼樣。它的優點是可以讓開發者在開發的時後花少得許多的心力在一些程式碼上的撰寫,但另一方面,要能夠作到這樣也必需要對相關的元件與背後的原理了解透徹才有辦法。所以ASP.NET是開頭學習比較不容易,但是之後的寫作會省下很多事情。不過隨著了解ASP.NET越多,就感覺到ASP.NET的龐大。比如Web Part的部份也可以寫成一本書,使用ASP.NET作AJAX技術也可以寫成另一本書。至於差別在哪?那就要看對程式內容與品質的追求到哪,才能決定需不需要學習到比較深入。

順道一題,在一本談到建置Web 2.0網站的書中看到,一般在開發過程中會有文件的撰寫,這部份可以考慮使用WiKi系統。感覺蠻有意思的,據說Google內部在文件交流上也是採用WiKi方式。不過那通常要是一個任務一個Team去Work才會感覺到有用,如果只有個人的話,Word應該就夠了。

Blogger Templates by Blog Forum