Rendering images with title and box

我個人喜歡簡單、敏捷。因此當我在網頁文章中放置圖像 (image) 時,我希望透過 JavaScript 改變圖像的呈現方式,加上一個標題以及外框。標題自動從圖像的 'alt' 屬性中取得,當然啦,順便加上順序編號看起來就更正式了。

老子編注:通行本三十章、以道佐人主者不欲以兵強於天下

校編內容

以道佐人主者不欲以兵強於天下,善者果而已,不以取強,果而不伐,果而不驕,果而不矜,是謂果而不強,其事好長。

通行本

以道佐人主者,不以兵強天下。其事好還,師之所處,荊棘生焉;大軍之後,必有凶年。善者果而已,不敢以取強。果而勿矜,果而勿伐,果而勿驕。果而不得已,果而勿強。物壯則老,是謂不道,不道早已。

編注事項

此章據《簡本》訂之,又《簡本》作「以[彳人亍]佐人主者」(此字為「人」字夾在「行」字中,今無此字。《帛本》、《通行本》皆用「道」字。)。另《通行本》與《帛本》其字義皆多於《簡本》,我以為僅具解釋之用,學者多認為係後人注釋衍入,故刪去。「物壯則老」以後之字義,與前文不匹配,刪去。(民國94年8月9日修訂)

箴、long live the Individualism.

The Individualism is dead, long live the Individualism.

於網上搜尋自由主義、個人主義之文獻時,看到的字句。很貼切地說明個人主義一詞的現況。現在一般人對於「個人主義」一詞的理解,已和原義相去甚遠。

資料管理趨勢,檔案一如資料表,資料表一如檔案

打從人們開始使用電腦管理資料時,數位資料就一直有著兩種不同的儲存系統,一為檔案系統 (file system) ,二為資料庫系統 (database system) 。過去想使用這兩種儲存系統中的資料,也要使用兩種不同的工具軟體。例如一份儲存在檔案系統中的試算表 (spreadsheet) ,要用檔案管理員移除、複製、搬移,用 Louts-123, MS-Excel 編輯內容;而一份儲存在資料庫系統中的資料表 (table) ,則要用資料庫管理工具移除、複製、搬移,用專屬的前端系統軟體,如aa會計系統、bb進銷存系統編輯內容。即便試算表中的資料內容與資料表中的資料內容完全相同,兩種儲存系統的架構,硬是把人們使用資料的方式切成兩套不同的使用途徑。

本月自由軟體兩大事, 1. Free and Open Source Java; 2. Microsoft 和 Novell 策略結盟

自由軟體界 (Free Software) 在本月 (2006/11) 發生了兩件大事,一件是好消息,另一件是壞消息。

先聽聽壞消息吧,壞消息是 Novell 在11月2日宣布和 Microsoft 達成策略結盟,雙方允諾交流資訊,加強雙方平台的軟體互通性。好消息是 Sun Microsystems 在11月15日宣布開放 Java 開發工具的源碼,並以 GPLv2 釋出。

慎到「定分說」肯定財產權的作用,但也可以毀了財產權的發展

戰國中期的法家學者慎到所提出的「定分」說,據信是中國最早談及私有財產權的學說。其曰「一兔走百人追之;積兔於市過而不顧。非不欲兔,分定不可爭也。」

我個人對定分說的看法是,其肯定財產權的作用,但也可以進一步毀了財產權的發展。使物有所分而民不爭,是財產權的作用。但如何定分,亦即財產權是如何發展的呢?從此處便可看出道、法為何分兩家。

Let results of preg_match be an associative array

在 Regular Expression (REGEX) 的語法中,有一種方式可以讓我們將 subpatterns 的內容存放在一個數值索引陣列,而以 $1, $2, $3, ... (或 \1, \2, \3, ...) 的敘述方式取用。雖然這已經很方便了,但仍然有缺點,就是比對結果不易理解,時日一久,很容易忘記 $1, $2,... 各是代表什麼意思。所以 PHP 在 4.3.3 版之後增加了一個新語法,可以指派名稱給 subpattern ,這個語法格式是: (?P<name>pattern) 。如此一來就可以將 subpatterns 的內容存放在一個關聯陣列 (associative array) 中,可以鍵值取用,提高程式可讀性。

為什麼程序員不用版本控制工具?

自從我到某資訊軟體公司做過一陣子程式工程師後 (過去式) ,我就一直在感慨為何國內的多數程序員不用版本控制工具 (Version control system) 。這個問題不久前得到了解答。

Web Service 基本心法

每一個網頁 (web page) 都是一個 service object ,都是隱性的函數物件 (function object) ,可以直接呼叫 (GET) 。網頁中的每一個表單 (form) 都代表了此 service object 的公開行為 (public method) ,每個表單的內容都是 service object 之公開 行為的反射 (reflection) ,可以查知其參數,也可以調用 (POST) 。

暫且忘了 WSDL, REST ,那都是招式。所謂無招勝有招,掌握上述心法,就能把每一個網頁都視為既有的服務 (Web Service) ,無(PAge)不(GEt),無方(FOrm)不破(POst) ... 暫時想不到有趣的諧音字。

JSON in PHP - PHP 5.2 正式納入 JSON extension

自 PHP 5.2 起,正式納入 JSON extension 。函數名稱跟 php-json 一樣是 json_decode()/json_encode() 。稍微要注意 json_decode() 多加了一個選擇性的參數。 PHP 官方的 json_decode() 對於 Object of JSON 的回傳型態是個體 (object) 而不是陣列 (associative array) ,但可以指定第二個參數為 true 以回傳陣列。這個差異是基於 JavaScript 和 PHP 的語法不同。對 JavaScript 而言, obj.member 和 obj['member'] 是等義的,兩者都是個體成員存取操作。對 PHP 而言, $obj->member 和 $obj['member'] 卻是不等義的,前者是個體成員存取操作,後者則是陣列索引子操作。

Programming with Subversion Quickstart - 安裝 Subversion 服務

Subversion (簡稱 SVN) 是繼 CVS 之後新興的版本控制工具 (version control system) 。對於版本控制工具的諸多概念與名詞,我並不打算說明,因為《Version Control with Subversion》已經說得很仔細。以我個人的經驗,任何接觸過版本控制工具的 programmer ,都會上癮,深陷其中、不可自拔。誇張地形容, Programmer 可以沒有 IDE 工具,但不能沒有版本控制工具。

分組統計的二種查詢敘述

使用 inner join 和 sum() 統計進貨數量。由於要進行分組合計,遂有兩種可行且結果相同的查詢敘述。但這兩種查詢敘述的 explain 和效能有所差異,視資料庫系統的查詢引擎而定。

"Principles of Economics" by Carl Menger is made available online.

"Principles of Economics" is made available online. 奧地利經濟學派奠基作,由 Carl Menger 所著之《經濟學原理》一書,現在可在 Mises.org 下載完整的英文譯本電子書 (PDF) 。請瀏覽「"Principles of Economics" by Carl Menger 」下載及其他事項。也請拜訪「奧地利經濟學派@Wikipedia」獲知更多關於奧地利經濟學派的歷史。現在在網路上可找到的資源,比過去要豐富多了,真是令人欣喜。

SQL99 中取代子查詢表格的功能 - CTE (Common Table Expression)

隨著 IBM DB2 v8,v9; Oracle9i release 2; 以及 Microsoft SQL Server 2005 相關文件出現,我注意到它們都有提供一個由 SQL:1999 (簡稱 SQL-99 或 SQL3) 所規範的 CTE (Common Table Expression) 查詢語法。 CTE 查詢語法簡化了以往「子查詢表格」的複雜語法與難讀敘述。不妨試著解讀《一個較複雜的表格聯結 (join) 範例》一文的範例,想看出裡面有四個子查詢表格確實不是件容易的事。

How to use the select(), an I/O Multiplexer

根據《Boost application performance using asynchronous I/O》一文所做的區分,在 POSIX 上的 I/O 處理模式可分為四種。該文所舉的 POSIX AIO API 是晚近較新的處理模式,是 POSIX.1b 基於 realtime system (即時系統、實時系統) 之需求而定的規範內容,其概念是事件驅動模式, AJAX 中的 XMLHttpRequest 調用方式就是這種模式。在 POSIX 傳統上的非同步 I/O 模式 (即 Asynchronous blocking I/O) ,則是使用 select() 來達成。本文將說明這種傳統模式的使用方式。

秀吉の辞世

功名が辻 第39回

點擊觀看原尺寸圖
つゆとをち
 つゆときえにし
   わかみかな
なにわの事も
  ゆめの又ゆめ

天保異聞妖奇士第二話,揭露山神獻祭的真相

天保異聞妖奇士第二話,以山神獻祭之迷信風俗,揭露迷信背後的真相。故事起自一對從日本東北地方 (陸奧南部藩,「南部」是藩主的姓氏) 流浪到江戶的母子,理由是因為當地饑荒,父親按照當地風俗將兒子帶到山上獻給山神卻又反悔,因而觸怒山神,不得不逃離當地。然而第二話揭開真相,事實完全不是那麼一回事。