手邊有 Martin C. Brown 寫的 Perl To Python Migration 這本書,
順便簡介其內容。
首先,這是本「不厚」的書。扣掉最前面的 Python 概論與最後面的附錄,本文在 268頁之內,
而且頁面留空頗多。
真正切題講到 Perl 轉 Python 技巧的內容,大抵從第七章開始,這章說明了 module, class 在兩者間的對照關係,第九章介紹作業系統操作方式的對照關係,包括調整 library search path, getpwuid 的技巧,第十章與第十一章分別介紹兩者在資料與檔案處理上的異同,第十二章介紹 socket 及基礎網路服務的處理,第十三章是 web 主題,第十四章以 Tk 為例談 GUI 程式寫作。
手邊有書的朋友,值得看一下戡誤表。
2007/12/06
2007/11/20
Intro to OpenMoko
OpenMoko 是提供 mobile phone software stack 開源軟體在內的整合平台計畫,核心成員包括許多德國朋友,例如台灣廠商「熟知」的 Harald Welte 擔任了系統總監,此計畫並獲得大眾電信 (FIC Inc.) 的支持。目前的產品僅限於 hacking 用途,暫時僅提供 Neo 1973 (Samsung S3C2442 SoC) 為硬體參考平台。
community development 部份可由 http://www.openmoko.org/ 找到文件、程式碼、討論區等,包括累積的簡報錄影。developer kit 可由 http://www.openmoko.com/ 選購,分成 base 與 advanced 兩款。
從軟體架構圖可看到它搭配了 OpenEmbedded 工具來產生 Linux embedded system 環境,細部 OpenMoko 元件項目包括 core, net, pim, ui 等。透過 QEMU 可獲得一個軟體模擬開發環境。
負責訓練活動的 jollen 表示,實體活動也是 OpenMoko 著重的項目,固定場地 OpenLab 位於大眾電信在內湖的大樓裡,樂見公開支持 open source 的台灣廠商再多一家。簡明仁董事長提到 參與 open source 是直接提昇台灣軟體實力與能見度的重要方法,接下來,就看各人的努力了。
community development 部份可由 http://www.openmoko.org/ 找到文件、程式碼、討論區等,包括累積的簡報錄影。developer kit 可由 http://www.openmoko.com/ 選購,分成 base 與 advanced 兩款。
從軟體架構圖可看到它搭配了 OpenEmbedded 工具來產生 Linux embedded system 環境,細部 OpenMoko 元件項目包括 core, net, pim, ui 等。透過 QEMU 可獲得一個軟體模擬開發環境。
負責訓練活動的 jollen 表示,實體活動也是 OpenMoko 著重的項目,固定場地 OpenLab 位於大眾電信在內湖的大樓裡,樂見公開支持 open source 的台灣廠商再多一家。簡明仁董事長提到 參與 open source 是直接提昇台灣軟體實力與能見度的重要方法,接下來,就看各人的努力了。
Memory on Mr. Liu
有人寫了劉重次的追憶文,我也記下與他生命交集的片段。
一九九四年左右,劉重次在政大介紹嘸蝦米輸入法,那是我第一次與他見面的機會,後來身為蝦米一族,才知這可不是每人都有的機遇。第二次和他見面,是在一九九九年之後,三月間我們一群 CLE list 的朋友才到桃園拜會過朱邦復,相較之下,兩位前輩關注的題目與切入方式各異,但都展現同樣的恆心毅力,留下值得我們學習的典範。
當時想主動和劉重次見面,為的就是在 Linux 環境裡能夠方便地使用嘸蝦米,我邀 thhsieh 一同前往,他很熱切地招呼我們,提到台灣還動手寫軟體的人少,有群同好以 open source 方式創作軟體,著實難得。
我們表明來意,希望嘸蝦米能以 open source 授權條款釋出,劉重次並未馬上允諾,當時正值 Unicode 蘊釀興起之際,他詢問 Linux 是否有支援 Unicode,提醒應用程式撰寫時要留意這個方向。嘸蝦米輸入法當時還有發展野心,一方面是處理 Unicode 裡多國語文的議題,例如俄文輸入的設計,另一方面是成為手機介面的中文輸入工具。
聊得起勁下,劉重次把壓箱寶抬出來,一大冊的記錄本,記載了他長年研究中文檢字的心血。十年鑄一劍,除了感佩之外,也能體會他熱切與人對話的心情,台灣軟體界的凋零,總容易叫人抑鬱於心。
四年後,我再次嘗試請劉重次考慮 open source 模式,甚至使用 dual license 方法,還搬出「倉頡族群比嘸蝦米還大的原因,是差在兩者是否能自由流通」來激他,他說這是一段未被廣為人知的故事。這次總又有了進展,他想保持輸入法表格規則,輸入法介面程式部份則可開放開發。此時,局勢比人強,他也意識到這些心血不知還能在他手上維護多久時日,但,他還是期待輸入法能交到有心人手上好好維護。
每次經過新生南路,我都會刻意地尋找那塊公司招牌,心中為這位擇善固執的前輩,獻上感謝與致意。
一九九四年左右,劉重次在政大介紹嘸蝦米輸入法,那是我第一次與他見面的機會,後來身為蝦米一族,才知這可不是每人都有的機遇。第二次和他見面,是在一九九九年之後,三月間我們一群 CLE list 的朋友才到桃園拜會過朱邦復,相較之下,兩位前輩關注的題目與切入方式各異,但都展現同樣的恆心毅力,留下值得我們學習的典範。
當時想主動和劉重次見面,為的就是在 Linux 環境裡能夠方便地使用嘸蝦米,我邀 thhsieh 一同前往,他很熱切地招呼我們,提到台灣還動手寫軟體的人少,有群同好以 open source 方式創作軟體,著實難得。
我們表明來意,希望嘸蝦米能以 open source 授權條款釋出,劉重次並未馬上允諾,當時正值 Unicode 蘊釀興起之際,他詢問 Linux 是否有支援 Unicode,提醒應用程式撰寫時要留意這個方向。嘸蝦米輸入法當時還有發展野心,一方面是處理 Unicode 裡多國語文的議題,例如俄文輸入的設計,另一方面是成為手機介面的中文輸入工具。
聊得起勁下,劉重次把壓箱寶抬出來,一大冊的記錄本,記載了他長年研究中文檢字的心血。十年鑄一劍,除了感佩之外,也能體會他熱切與人對話的心情,台灣軟體界的凋零,總容易叫人抑鬱於心。
四年後,我再次嘗試請劉重次考慮 open source 模式,甚至使用 dual license 方法,還搬出「倉頡族群比嘸蝦米還大的原因,是差在兩者是否能自由流通」來激他,他說這是一段未被廣為人知的故事。這次總又有了進展,他想保持輸入法表格規則,輸入法介面程式部份則可開放開發。此時,局勢比人強,他也意識到這些心血不知還能在他手上維護多久時日,但,他還是期待輸入法能交到有心人手上好好維護。
每次經過新生南路,我都會刻意地尋找那塊公司招牌,心中為這位擇善固執的前輩,獻上感謝與致意。
2007/10/26
Fixing a Slow Linux
安裝一台 Mandriva 2007.1 主機後,總有記憶體耗光的問題,今天有空細看,發現是 haldaemon 佔用大量資源,趁機多找了 Linux HAL 的資料。傳統上 kernel 會維護一份硬體清單,讓 desktop application 可以查詢溝通,這種方式並不能精準地認得所有硬體,像數位相機、隨身碟會被當作是硬碟,應用效果就大打折扣。透過 HAL daemon 維護一份 device object 清單,並查看 file system type 之類的額外資訊,使得 HAL 能提供比 kernel 更豐富的硬體資訊,但也付出額外的系統資源做為代價。
2007/10/13
Introduction to KSS
下列文字編譯自 Introducing KSS 一文。
KSS 是 Kinetic Style Sheets 的縮寫,在 Plone 軟體裡提供 AJAX 功能的 client side 開發架構。設計理念上,KSS 並不是創造另一個 AJAX 的新架構,而是盡量沿用既有的函式庫,並專注於處理下列議題:
1. JavaScript 並不是個容易開發程序的環境,藉由 KSS 可協助開發者建立 AJAX 應用程式,卻不需要了解 JavaScript。
2. 實作上盡量降低瀏覽器不相容的問題。
3. 處理 JavaScript 除錯環境不良的問題,提供有效率的除錯環境。
4. JavaScript 的 DOM 機制並不適於多數的應用場合,僅呼叫 server 端傳回 HTML 再由 client 端修改網頁的部份內容,便能有效處理許多應用需求。
5. 以 thin client 為設計基礎,遇到需要 fat client 的場合,則可加裝 plugin 來滿足功能要求。
網站開發的過程,需要不同專長的技術人員,同樣地,KSS 的使用者依其興趣角色可分成三類:
* KSS designer : 應用程式可能需要搭配 KSS 資源檔,此檔的內容格式與 style sheet 類似,設計人員可輕鬆完成撰寫。
* KSS application developer : 應用程式的開發,則需要搭配 plugin 與 KSS 資源檔,並撰寫 server side method 等,不過,倒不需要 JavaScript 的知識。
* KSS plugin developer : 需要具備 JavaScript 程式設計與 KSS plugin API 知識。
KSS 的系統架構具備下列的特色:
1. 諸如 browser event 與 plugin 之間工作處理的指定,這類的程序控制,都由 KSS 資源檔與 server action code 所管理,也就是說,應用程式的控制邏輯,由 server 端負責,而不是在 client 端實作。
2. 在 HTML 網頁裡不會出現任何 JavaScript 內容,所有的 JavaScript 程式碼都是一個 KSS plugin,通常扮演 event binder plugin 或 client action plugin 的角色。
概括地說,KSS 架構的設計目的,就是要把設計與實作兩者分開。
KSS 是 Kinetic Style Sheets 的縮寫,在 Plone 軟體裡提供 AJAX 功能的 client side 開發架構。設計理念上,KSS 並不是創造另一個 AJAX 的新架構,而是盡量沿用既有的函式庫,並專注於處理下列議題:
1. JavaScript 並不是個容易開發程序的環境,藉由 KSS 可協助開發者建立 AJAX 應用程式,卻不需要了解 JavaScript。
2. 實作上盡量降低瀏覽器不相容的問題。
3. 處理 JavaScript 除錯環境不良的問題,提供有效率的除錯環境。
4. JavaScript 的 DOM 機制並不適於多數的應用場合,僅呼叫 server 端傳回 HTML 再由 client 端修改網頁的部份內容,便能有效處理許多應用需求。
5. 以 thin client 為設計基礎,遇到需要 fat client 的場合,則可加裝 plugin 來滿足功能要求。
網站開發的過程,需要不同專長的技術人員,同樣地,KSS 的使用者依其興趣角色可分成三類:
* KSS designer : 應用程式可能需要搭配 KSS 資源檔,此檔的內容格式與 style sheet 類似,設計人員可輕鬆完成撰寫。
* KSS application developer : 應用程式的開發,則需要搭配 plugin 與 KSS 資源檔,並撰寫 server side method 等,不過,倒不需要 JavaScript 的知識。
* KSS plugin developer : 需要具備 JavaScript 程式設計與 KSS plugin API 知識。
KSS 的系統架構具備下列的特色:
1. 諸如 browser event 與 plugin 之間工作處理的指定,這類的程序控制,都由 KSS 資源檔與 server action code 所管理,也就是說,應用程式的控制邏輯,由 server 端負責,而不是在 client 端實作。
2. 在 HTML 網頁裡不會出現任何 JavaScript 內容,所有的 JavaScript 程式碼都是一個 KSS plugin,通常扮演 event binder plugin 或 client action plugin 的角色。
概括地說,KSS 架構的設計目的,就是要把設計與實作兩者分開。
2007/09/13
Plone3 On Its Way
Plone 3 正式版本問世後,最近總算試用,之前 release candidate 版本遇過 Internet Explorer 頁面不正常的問題,看來已修訂,為了把 ArchExample 搬到 Plone 3 環境,才陸續發現新版本的調整之處,詳細的內容大抵都刊在 upgrade guide 裡,還沒空看完,目前已遇到的是 CMFCorePermissions 和 get_transaction 改名字的部份,算小事。如果一切順利,再試著把一個 GIS 系統在 Plone 上進行開發。
2007/07/28
The Way to Peaceful Mind
呼吸,是我們最好朋友,
呼吸,無時無刻傳遞心的訊息,
現在,就讓你的注意力放在呼吸,
感覺呼吸、享受呼吸,
你將有一顆安定的好心情。
數呼吸時,只數出息,不管入息。
每一次呼氣的時候數一個數目,直到下一口氣呼出的時候,才換下一個數目。
反覆從一數到十。
不控制呼吸,否則胸部會不舒服。
- 摘自 祝福你平安 聖嚴法師
呼吸,無時無刻傳遞心的訊息,
現在,就讓你的注意力放在呼吸,
感覺呼吸、享受呼吸,
你將有一顆安定的好心情。
數呼吸時,只數出息,不管入息。
每一次呼氣的時候數一個數目,直到下一口氣呼出的時候,才換下一個數目。
反覆從一數到十。
不控制呼吸,否則胸部會不舒服。
- 摘自 祝福你平安 聖嚴法師
Subscribe to:
Posts (Atom)