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

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

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

Dear Chiang

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

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

點銅成金,給五角找一元

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

記者 呂郁青/台北報導

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

...(中略)

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

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

拿鈔票擦屁股。不是錢多,是通貨膨脹

辛巴威通膨破 900% 全球最慘 ~ 兩張衛生紙 辛幣逾四百,不如拿紙鈔擦擦划算

編譯 陳宜君/綜合外電報導

在非洲國家辛巴威首都哈拉雷的一家超市,衛生紙要價辛幣 417 元,這還不是一整捲的價格,而是以兩張為單位的衛生紙單價。買一整捲得花辛幣十四萬五千七百五十元,約相當於新台幣 22 元。...

辛巴威的物價每隔三或四個月就上漲一倍,雖比不上 1923 年德國威瑪政權時期每月增加三倍的歷史紀錄,但已是目前全球惡性通貨膨脹最嚴重的地區。

...(中略)

有人開玩笑,在辛巴威使用衛生紙,不如用五百元紙幣擦擦划算,五百元是辛巴威目前面額最小的紙鈔。...

辛巴威自 2001 年起就深為經濟大幅衰退和通膨率飆高所苦... 民眾不願把錢放在銀行,而是投資在玉米粉、蔗糖等能確保值的物資上。

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

承上之引文,辛巴威政府所採取的兩種政策為:

  1. 總統抓緊權力,將振興經濟的責任交給由親信組成的國家安全會議,並安插軍方與情治官員出任文職閣員,確保糧源、徵稅等要務。
  2. 為保政府部門能夠運作,並讓人領得到薪水,政府大肆印製鈔票,以免腐惡化,但此舉反使通膨越演越烈。

從 XML 產生 JSON 資料及方法的封裝

在「JSON 速寫」中曾介紹過運用 JSON 可以輕巧地達到和 XML 同等的中介資料交換功能。然而 JSON 也和 XML 相同,它們儲存/封裝的只是資料和結構,並不包含操作方法 (method) 。雖然熟悉 JavaScript 的人知道可以直接將 method 定義在 JSON 資料中,且 JavaScript 可以接受。但 JSON 的規範並不允許這樣做,而且也只有 JavaScript 能夠理解定義在 JSON 資料中的 method ,其他程式語言並不能理解 (除非其他程式語言支持以 JavaScript 做為內嵌語言) 。

95年9月第4週週記

天氣: 晴時多雲。

  1. 泰國發生軍事政變。因為泰國總理貪污,所以貪污是不行的。
  2. 匈牙利總理為掩飾政績不佳而說謊,引起民眾上街抗議發生街頭暴動。所以說謊是不對的。
  3. 國內百萬倒扁圍城活動和平結束,警方估計約有32萬人以上參與。
  4. 台南倒扁靜坐活動發生暴力事件,一倒扁人士駕車離開場地時,遭多位挺扁民眾持安全帽等物品擊打車身,擋風玻璃嚴重破損。民視新聞報導,為避免再度發生這類事件 (註: 防止挺扁民眾攻擊倒扁民眾) ,地方警局調動大批警力於活動場地戒護,將導致警力不足以維持日常治安工作。
  5. 旅美投手王建民,23日登板主投,洋基以 4:1 勝魔鬼魚,王建民再添勝場數,18勝追平大聯盟亞洲投手勝投紀錄。

掌握 JavaScript 的「封裝」特性, part 2

續前文「掌握 JavaScript 的封裝特性, part 1」。 第一部份已經說明了 ECMAScript 封裝特性的大部份內容。大多數情形,我們都是按照第一部份的範例程式的格式撰寫。將 private member 寫在 function 定義之中,將存取 private member 的 public method 一同寫在 function 定義之中。至於其他 public member/method 則藉由 prototype property 寫在 function 定義之外 。 然而 ECMAScript 的語法提供我們更大的運用彈性。

掌握 JavaScript 的「封裝」特性, part 1

JavaScript/ECMAScript (配合 ECMAScript Language Specification - Standard ECMA-262 - 用語,以下稱 ECMAScript) 是一種個體導向程式語言 (object-oriented programming language, OOPL) ,但並不是一種基於類別的個體導向程式語言 (class-based OOPL) (ECMA-262 section 4.2 "Language Overview")。只接觸過 C++, Smalltalk, Java, C# 這些程式語言的 programmer ,一開始多少會因 ECMAScript 沒有 class, public, protoected, private 這些關鍵字而困惑。不過 ECMAScript 仍然支援繼承 (inheritance) 、封裝 (encapsulation) 、動態連結 (dynamic binding) 這三種特性。

經典動畫「攻殻機動隊 STAND ALONE COMPLEX」

攻殻機動隊 STAND ALONE COMPLEX 封面©Production I.G.

看了那麼多動畫,「攻殻機動隊 STAND ALONE COMPLEX」絕對在我的經典名單之中。攻殻機動隊 TV 版目前有三部,第一部是「攻殻機動隊 STAND ALONE COMPLEX」,以後都簡稱「攻殻機動隊 S.A.C.」,第二部是「攻殻機動隊 S.A.C. 2nd GIG」,第三部則是不久前開始放送的「攻殻機動隊 S.A.C. 3rd Solid State Society」。因為某種不可說的奇蹟,所以我有幸搶先看到第三部第一話。

攻殻機動隊 S.A.C. 堪稱先鋒級前衛作品,作畫、音樂、劇情皆具一流水準。劇情中深刻地描寫了 A.I. 和資訊網路發展對人類社會的影嚮,其中最有趣的觀點,就是所謂的「Stand Alone Complex」現象,所謂「沒有正本的複本」。這似乎是自創名詞,但就概念而言,在社會科學研究中,這「Stand Alone Complex」現象是人類文化發展中的神秘關鍵。生活中,到處都充斥著說不出「正本」為何的規範,例如私有財產權的起源,又如文字、語言的起源等等。但又不可否認這些事物對人的行為所產生的制約與影嚮力。甚至在歷史上,由於不了解這種現象,又想要掌握這些事物的 power ,而發生了許多極具破壞性的社會活動,例如共產主義、法西斯主義。一般人對動畫有種給「小孩子看的」刻版印象,但像 攻殻機動隊 S.A.C. 這類動畫,如果觀眾不具有足夠的學識背景,又如何能體會他們的內涵呢?小孩子是看不懂的。有著如此豐富的故事背景,再加上優秀的作畫與配樂, 攻殻機動隊 S.A.C. 絕對是動畫迷公認的經典作品。

Framework of PHP5

Tags: framework agile-method

接觸 PHP 多年,常常有人向我請教 PHP 和 ASP.Net 的不同。基本上, PHP 和 ASP.Net 是不一樣的東西,不能放在一起比較。因為PHP 是一個程式語言 (programming language) ,而 ASP.Net 是一個 framework 。有人說用 ASP.Net 開發 Web 程式很快,可是 PHP 很麻煩。這說法並不正確,如上所言,這兩者是不一樣的。 PHP 雖然和 Web 程式的開發工作緊緊聯繫,但它依然是一個程式語言, programmer 仍然需要處理一些 HTTP/CGI 的細節。在「程式語言」這個基準下,如果沒有 ASP.Net 這個 framework ,單單使用 VB, C# 這些程式語言來開發 web 程式,那可比 PHP 要難上好幾倍了。

四無陳水扁,拿什麼教育他的外孫?

施明德倒扁活動,稱陳水扁是「禮義廉,無恥」。我說啊,這還真是手下留情,抬舉陳水扁了。陳水扁是無禮、無義、無廉、無恥,四無啊。

「學校教要誠實」,可是陳水扁教「做官要為長官說謊」。

記得聯合報有篇社會新聞,標題寫著「學校教要誠實,子證母撞人」聯合報民國95年8月25日A8版訊,記述一名婦人開車載兒子,路上擦撞機車後逃逸。事後兒子向警方作證時表示,當時就告訴母親撞到人了,婦人責怪兒子多嘴,可是兒子說「學校教我們做人要誠實,我實話實說。」

反觀陳水扁,在他展開迷航之旅回來後,還大言不慚地教導人們作官的人有為長官說謊的權力。當時被他害慘的駐美代表程建人,日前退休時意有所指地說,作官是不能說謊的。陳水扁日前也承認以不實發票申報國務機要費。學校教要誠實,陳水扁教可以說謊。我很想請教一下陳水扁,他是拿哪一套標準教育他的兒子、女兒、女婿和外孫?我父親當年沒有用陳水扁的超低道德標準來教養我,我將來也絕對不可能以那種超低標準來教我兒子啦。用那種超低道德標準來教養後代,還有未來可言嗎?如果陳水扁聲稱自己是「本土政權」的代表,按照他可以為長官說謊的邏輯,那些「本土政權」人士講的話,又有幾分是可信的?若要請以前100分的陳水扁立委來評論現在這個18分的陳水扁,大概也要說「這個人沒救了」。

Explain Inline Function in C (GCC compiler)

在 C++ 剛出現的時候,大多數 C++ compiler 引入了一個新關鍵字 'inline' ,用於解決個體行為 (methods of object) 的部份效率瓶頸。直到 ISO C99 時,才正式將 inline 定於規範之中。不過多數的 C/C++ compiler 只將 inline 用於 C++ program 中,並未延伸到 C program (*1)。'inline' is a keyword of ANSI/ISO C99. Some C/C++ compilers do not allow to use this in C program. '__inline__' is a keyword of GNU GCC. Some compilers use '__inline'. )。 GCC 最晚在 2.9 版 ,為 C program 加入了一個擴充關鍵字 '__inline__' (*2),使得 programmer 可以在 C program 中使用 inline function 。請參考 GNU GCC Info document setcion 'An Inline Function is As Fast As a Macro'. 說明文件意簡言骸,我將配合程式碼說明 inline function 在 C program 中運作的相關細節。

台灣資訊軟體業缺乏資深programmer

七月底參加2006IBM開發者大會時,有個議題是「軟體前景大師談」,對一個我已知的事實,提出了一份數據。資訊軟體先進國家,如美、歐、印度、乃至日、韓,資訊軟體與資訊硬體的產值比平均是 2: 1 ;臺灣的情形卻是 1: 15 ,不但相反,而且是數倍大的落差。從這個數據來看,則臺灣的資訊軟體業在全球的地位,只能排在第三流以後。

How to use MinGW GNU GCC and with PSPad

"MinGW" 是取 Minimalist GNU for Windows 計劃之意,其目標為提供一個可在 Win32 平台上開發 Win32 native code 的 GNU GCC tools ,而非提供 Unix 程式移植到 Win32 平台之用,此即為其 Minimalist 之意。 2000年時,我曾在「安裝 GCC 2.95/Mingw32」說明過 MinGW 。不過那篇文章中的資訊已經過時了,現在 MinGW 的正式網址為 http://www.mingw.org/

Bug 數量與軟體品質控制

我日前看了「那些 Bug 是怎麼找來的?」這篇文章,裡面提到用 Bug 數量作為軟體品質的管理指標。管理學有云「可量化者方能管理」,可量化者就是指標項目,諸如一小時的產品生產數量、一天完成的工作項目等等。然而,錯定指標的例子也比比皆是。在軟體工程上,最經典的採用不適當管理指標的案例,就是用「程式行數」來管理工作進度了。就我所知,在理論或實務上,都不是用 Bug 數量作軟體品質管理的指標。此處所說的軟體品質管理,指的是開發過程中的品質管理,交貨時,理論上是無 Bug 的。既然選擇了不適當的指標項目,自然就產生「Bug 多,品質好;Bug 少,還是品質好!」這種無助於管理的結論。

Watch "Sometimes in April"

上週某日早上 (近來閒賦在家,不知今日何日) ,無意中在 HBO 頻道上看到一部關於 1994 年廬安達種族屠殺事件的半紀錄式電影,片名為「Sometimes in April」。這部片不是日前獲得奧斯卡提名的「廬安達飯店 (Hotel Rwanda)」,但兩部電影都是在描寫廬安達種族屠殺事件,而「廬安達飯店」也確有其事其地。

RUP 概念入門參考文章

RUP (Rational Unified Process) 的內容又大又多,令人望而卻步。在「透過類比介紹 IBM Rational Unified Process 的要點」一文中,作者嘗試以電影製作過程為喻,說明 RUP 各項設計工作的概念,全文並不涉及 RUP 各項工具的使用。如果想了解更多關於 RUP 的內容,可以拜訪「Rational software developer resources」。瀏覽「The Rational Edge: Browse by category: Rational Unified Process (RUP)」中精選自至 Rational 社群的相關文章,亦甚有助益。