ASP.Net~~是用 codebehind 還是用 src ?

最近因工作需要,開始接觸 .Net Framework ,公司用的是 M$ VisualStupid 2003 .Net ,而我在家裡,當然是用 Mono 囉。說到 VisualStupid 這套工具,真是讓我愈用愈氣。我不懂 M$ 在想什麼。

ASP.Net~~自定控制項的 Property

ASP.Net:: 自定控制項的 Property

在自訂控制項類別中,定義 public property 成員,則在 ASPX 頁面標籤中,就可使用相同名稱的標籤屬性(tag attribute)。 ASP.Net 會在 Page_Load() 之前就調用自訂控制項的 property set method ,設定控制項的屬性值。

ASP.Net~~Validator 驗證動作的執行時機

Validator 驗證動作的執行時機

MSDN: 「因為這個屬性的預設值為 true ,所以如果您在執行驗證前查詢這個屬性,它會傳回 true 。例如,如果您企圖使用網頁之 Control.Load 事件中的這個屬性,則可能會發生這個狀況。」

正簡之紛~~二、簡化筆劃不一定能簡化文字

有一部份人,認為筆劃的簡化是一種「進步趨勢」、「歷史規律」,因此認為正體中文應該當成歷史文物了。我不否認筆劃簡化所帶來的方便性,但我要提醒的是,增加方便性的做法,並非只有筆劃簡化一途。文字簡化還有為了簡化意義,而增加字根 (筆劃) 的情形。不要摸到一根尾巴,就當做自己看到整頭大象了。

See also: 正簡之紛::一、從一個誤會說起

從 Popper 和 Wittgenstein 看自然科學哲學與社會科學哲學的分界

為了理解奧地利經濟學派的思想,我開始接觸近代西方的科學哲學思想著作。因為海耶克(Hayek) 的關係,一開始從 Karl Popper 著手,但我愈讀是愈不懂為什麼一般人常把海耶克和 Popper 放在一起講,因為海耶克和 Popper 的方法論之相關性並不高,不像一般人熟知的那麼密切 (與他們的友誼相比)。後來又開始接觸維根斯坦 (Ludwig Wittgenstein) 的著作,他的著作就讓我覺得很貼切。

正簡之紛~~一、從一個誤會說起

前往: 向聯合國停用傳統 (正體) 中文說「不」連署活動

經過查證,以上事件係為誤傳。因為聯合國本來就沒在用正體中文字。但那不是我在意的重點,跟我的想法無關,因此以下內容仍然保留。我有時會很懶,有些事情會一直等到一個契機出現後,才會記述於文字上。

什麼文字優美 (正體支持者) 、什麼使用方便 (簡體支持者) ,都不是理由。我覺得講出這種話的人,對「語言」持有很奇怪的幻想。

我論統計方法與計量經濟

奧地利經濟學派並不反對使用統計方法,但要求正確使用。對我們而言,統計資料是一種經過整理的歷史資料,這些統計資料幫助我們在有限的時間中,吸收大量的資訊。

我對 Mises 所言「人心的邏輯結構」的理解

奧地利經濟學派學者米塞斯(Ludwig von Mises) 在其著作《人的行為》一書中,一開始就在談「人心的邏輯結構」。當時看反覆看了數次,心中只隱隱約約地抓到一點頭緒,但還不能清晰地說出到底「人心的邏輯結構」所指為何,又有何重要性。直到我前些日子為了編輯《老子》,又重溫先秦百家對人性的討論內容後,我這才有把握能說出人心的邏輯結構所指為何。

另見: 「人心中的邏輯結構與行為元範之臆想

從 Ergo Proxy 第2話,看人與電腦的的理性

Ergo Proxy 第2話中的片段內容,我有些不吐不快的想法。人心和電腦一樣,在其中一樣有一個邏輯結構存在,因此一樣地理性,一樣地正確,一樣地受到資料的影嚮而使行為改變。這一點,一般人不了解,人工智慧研究者也不了解。電腦比人要理性與正確,已經是根深柢固的偏見了。

但在本話中,我們可以看到,人工智慧體 (奧特雷) 一樣是依照記憶體中所記錄的資料做判斷,只要資料不存在記憶體中,事情就不存在、從沒發生過。由於奧特雷與中央管理局總是維持連線狀況,因此當管理局將主角被襲擊的資料,從奧特雷的記憶體中刪除 (或是隔離,不讓此資訊被同步到其他人工智慧體中) ,所以奧特雷對於主角被襲擊的事件的回答,是「有這回事嗎?」的「不理性答案」。

人的記憶機制,遠比現行電腦系統的記憶機制複雜,因此電腦系統的資料易於刪除、修改, 但人腦的資料卻無法刪除、修改。那麼要如何讓一個人發出「不理性答案」呢?就是資訊隔 離,當100人中的99人,都不知道那其他的1人所知道的資料時,自然就會將那其他的1人根 據那99人都不知道的資料所做出的答案,認定為「不理性的答案」。

另見:「我對 Mises 所言「人心的邏輯結構」的理解

智慧財產權是否正成為「無效率的財產權」?

在我的碩士論文「從 Copyleft 探討著作權體系的發展」中,第三章是辯駁,第四章才是我個人對智慧財產權的見解及重點。第四章內容若以一言蔽之,即強調應重視一般人「發明」財產權的能力,而非認定只有政府法令所出者才是財產權。

按照芝加哥財產權學派 (依 Hayek (1988) 在「不要命的自負」之用詞,以張五常等學者為代表人物) 的說法,在設立財產權後,可以誘導人們主動進行協商,而降低搜尋與協商之交易成本。此一說法的前提在於,人們必然遵循此一財產權法律而願意進行協商。但若人們不願意遵循此一財產權法律時,則為了維持法律系統的威信,政府必然要增加執行之交易成本。然而在智慧財產權議題之上,我們為了維護政府法令所出的財產權而付出的「執行之交易成本」,依我之見,已經超過訂定此財產權後而省下的「協商之交易成本」。同樣按照芝加哥財產權學派的說法,這是「無效率的財產權」。

「 從 Copyleft 探討著作權體系的發展」補充資料~ 軟體業者的因應之道

2003年時,我在「從 Copyleft 探討著作權體系的發展」一文中寫著:「選擇的交易方式愈適當,則可獲得的利潤也愈大。因此可以得到此一命題:命題4.3:選擇最適當交易方式的人,亦即掌握最適交易方式之知識者,才能獲得最大利潤。」。這句話正可以貼切描述今日資訊軟體業者所面臨的危機/轉機。

SQL~~一個較複雜的表格聯結 (join) 範例

在這個 table join 範例中,使用了 inner join, cross join, full outer join, 以 AS 將 sub-select 視為 table 再 join ,以及 group, case 等用法。這個範例雖然很長,但只是一句 SQL 查詢。拆開來是跑不出結果的。

此範例實際上取自我為了我任職的公司所寫的一個進銷存報表程式。我目前任職的公司,採用國內 飛X 公司所設計的零售業進銷存 POS 系統。這個範例中的表格及欄位名稱,直接對應該 POS 系統。另外,我是用 PHP 寫這隻報表程式,所以範例中嵌有 PHP 的變數名稱。此報表程式係依據進貨表格 (pos204) 、銷貨表格 (pos324) 及庫存表格 (product_stock) 中的貨品數量,計算出本期的期末庫存。表格 produt_stock 是我新增的,原先飛X 設計的 POS 系統中,並沒有這個表格。

PHP~~分析資料輸入欄位,並轉成 SQL 查詢字句

在表單中,可讓使用者查詢指定的門市代號。門市代號全為數字,以空白或逗點分隔各門市代號,並可使用連字符號 (-) 表示從哪個門市到哪個門市。例如輸入 000-010 表示查詢從 000到010 的門市。又如輸入 000,005, 010-020 ,則表示查詢 000 、005 以及從 010 到 020 的門市。解析輸入字串,轉成 SQL 查詢語法的一部份。

各國大使排隊領紅包,陳總統好大的面子

前幾天邊吃飯邊看報,在報上看到外交部安排了一場國宴,宴請各國大使,並安排各國大使排隊向陳總統領紅包。看到這新聞,我差點把口中飯菜噴出來。先不談國際禮儀如何。在中國文化中,春節的紅包,向來是長輩給晚輩,絕無給與同輩的。試問有誰是從朋友手中領紅包的?有人想給,我還拉不下臉拿咧。各國駐外大使,其身份代表著該國元首,既是代表元首身份,那麼大使的地位,便等於和陳總統同輩,是平輩論交的朋友身份。試問,陳總統該讓朋友向他排隊領紅包嗎? 哎呀,差點忘了,陳水扁認為台灣不是中國,所以台灣文化也許和中國文化不一樣,台灣文化是讓朋友排隊向自己領紅包的。只是這規矩何時改的,我也是台灣人,怎麼不知道?

我不知道外交部在想什麼,我也不知道陳總統在想什麼?但我看到新聞時,我只想到,我們把外國大使當成三歲小孩了嗎?也許外交部習慣花錢買外交,就自以為高人一等,把那些外國大使都當成用錢買來的下人看了,所以發紅包給下人也沒什麼不對。也許陳總統被奉承慣了,碰到這麼失禮的安排,竟然不以為意。要是我當總統,碰到這種事,當晚就要外交部長把負責人員名單交上來,所有人員全部以失職懲處,再一路連坐到部長。丟人丟到國外去了啊。為了陳水扁一人在國內的面子,把台灣對外的形象全部賠光了。以後外國元首一提到台灣之子,大概只會聯想到不懂禮貌的粗人,再順便借用一下美國總統小布希形容陳水扁的那三個英文字問候。

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

上週六,我為了乙級電腦軟體設計技術士的術科測驗,跑了一趟台中,到勤益技術學院應考。

說起來,這次應檢經驗非常不愉快啊。明明就是在高雄報名,也在高雄考學科,竟然要我跑到台中考術科,感覺非常不爽,而且基本上是砸鍋了。沒想到出了一題最優路徑選擇演算法的實作題,偏偏我最弱的就是那一點,沒做完那題,是一定不過的。寫了十年 C/C++ 程式,竟然沒考過,實在是太大意了。附帶一提,當年 (民國83年) 丙級電腦設計技術士一開辦,我就考到了,隔了十二年「終於」等到乙級檢定...

PHP~~關於 PHP 4/5 對 UTF-BOM 的 bug

在 Windows 系統下,有些以 utf-8 編碼儲存的文件,交由 PHP4/5 處理時,會發生非預期的結果。

原因在於 Windows 下的記事本 (notepad) 儲存 utf-8 編碼文件時,會加上 BOM 檔頭,而 PHP 4/5 會把 BOM 視為一般字元輸出,連帶影嚮整個網頁的輸出結果。這個問題,其實早經由使用者反應給 PHP 開發團隊,但令人遺憾的是, PHP 開發團隊的答案是 PHP6 「就會正式支援 unicode 」,到時就不會有 BOM 問題了。

SQL~~GROUP BY, COUNT and HAVING

欲得知資源被使用次數大於 1 的報表。資源使用記錄儲存在資料表 rsu 中,其中 uno 欄位為資源代碼,資源每被使用一次 ,就會在 rsu 表中增加一筆使用記錄。故需使用 COUNT() 做計數動作,並指定搜尋條件為計數值大於 1 者。但在合計操作中 (It, '合計操作', means a query with aggregate method.) ,不能使用 WHERE 為條件表示,而應使用 HAVING 。

SQL~~ 使用 CASE 修飾資料內容,以便進行 group 操作

出貨單表格 sale_orders (saleno: 出貨單號, cno: 客戶單號, sale_date: 出貨日期, amt: 訂購總金額)。有 M, PH, YA 三處通路,來自 M 通路的客戶訂單,單號為 'M' 開頭,餘類推。欲查詢 2006 年一月份,三處通路的客戶訂單總金額。