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

自從我到某資訊軟體公司做過一陣子程式工程師後 (過去式) ,我就一直在感慨為何國內的多數程序員不用版本控制工具 (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回

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

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

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

Yunus 應該得到諾貝爾經濟學獎

Yunus should be awarded the Nobel Economic Sciences Prize

2006 諾貝爾和平獎 (Nobel Pirze) 頒給了一名經濟學家,他是孟加拉的 Muhammad Yunus 。"for their efforts to create economic and social development from below", The Nobel Peace Prize 2006。我個人認為,他也應該得到經濟學獎的肯定。

民國95年10月第2週週記

  1. 北韓當局九日透過官方「朝鮮中央通信社」宣示,已成功進行地下核子試爆,國際社會紛紛譴責。
  2. 十月十日中華民國國慶日,五十萬餘民眾自發性出席參與民間慶祝遊行活動,號稱「天下圍攻」。台北市台北車站與博愛特區週遭,終日人潮不斷。我有幸參與,活到三十歲,這是我渡過最有意義的一次國慶日。
  3. 官方國慶大典進行時,在野黨立委高喊反貪腐口號,與執政黨立委發生推擠扭打。民視報導「這在北京早就抓起來了」,我以為民視:一、暗喻對岸北京政府應該涉入台灣內政;二、亦或主張台灣應效法北京專政威權體制,強力打壓異議份子。不論如何,個人以為民視之主張萬不可行。

2006 年乙級電腦軟體設計技術士應考記

隔了一年後再次應考乙級電腦軟體設計技術士 C++ 職類,依然歃羽而歸,真是令我情何以堪。好在學科成績可以保留三年,明年再挑戰吧。雖然已經是第三年進行術科檢定了 (第一年我沒考) ,但考題內容似乎還不是很完善,監考老師在檢定中途陸續修訂了數次題目的內容,多少令應檢者有些困擾。

桜蘭高校ホスト部 最終回 灰姑娘の逆襲

TV 動畫桜蘭高校ホスト部 (櫻蘭高校男公關部) 的漫畫原著還在慢慢拖著劇碼, TV 版卻要結局了,於是來了個原創結局。有鑑於這是個女權高漲的時代而且原著還是少女漫畫類,於是來了個灰姑娘逆襲版結局。說實話,這個結局挺有趣的 XD TV 版製作榎戸洋司慣用隱喻手法搞 kuso ,讓我分鏡說明這結局是如何逆轉灰姑娘的故事吧。

學習《老子》,當從科哲觀與方法論著手

Dear Chiang

老子道德經乃影響法家深遠之重要典籍,本欲瞭解其內涵,但卻不知如何切入,您在文章中提及,應先從『道經』部分著手,在此需請教的是,我應如何學習到正確的道經內涵,學習道德經是否也有一套學習方法論可加以運用呢?

用現代研究方法的術語來說,道經是科學哲學觀及方法論,德經是研究方法與實踐。韓非解老,先解德經後解道經,蓋法家重實務,且法家的科哲觀與道經已有所偏差。我以為法家思想,就是在對人心的所欲以及對道的認識這兩方面,走叉了路。例如我在「『天之道損有餘而補不足』在經濟思想上的誤解」一文中,便認為若從統計實證和歷史主義的方法論,則《老子》將成為國家權力高度涉入的法家主張。一解之差,道法兩家。所以我主張必須先從科哲觀與方法論著手。

點銅成金,給五角找一元

新台幣發行史頭一遭 ~ 貴金屬大漲 1元銅板身價 1.26 元

記者 呂郁青/台北報導

新台幣發行史上第一遭,收集破銅爛鐵的業者及集郵社,最近就掀起一股收集五角跟一元硬幣熱潮,因為一元硬幣材質的價值已達 1.26 元。

...(中略)

鋼鐵運送與熔燽的成本不到百分之十,熔掉一元還是有兩位數比率的獲利,熔掉五角獲利最豐富,也就是說,現在的一元硬幣有 1.26 元的身價,五角則有 0.93 元的身價。

《聯合報 中華民國九十五年五月十八日 A6 版》訊