2005/10/26

stopping spammers from sending via your mailing list

George,

First it's paramount that you determine what address the spam is being
sent to. Once that is determined, you can act:

I assume the list is closed and only list members are allowed to post
messages.

If so, then either a) a list member is spamming the list (unlikely) or
b) there is a hole through which spammers are able to address the
list that bypasses the list membership requirement.

The following is only useful if you run sendmail:

I had this problem a couple of years ago, and found that the problem
was well-known: if the list is called foo, then foo-outgoing will
be mentioned in the headers of each outgoing message. This is a
mail alias on your machine that BYPASSES majordomo, so ANY mail to
it will just get sent to the list. Spammer programs on zombie
Windoze computers were harvesting the addresses from the headers
of any email stored on the luser's computer.

The standard fixes are:

1. change your alias for each list so that instead of:

foo: "|/usr/local/majordomo/demime '|/usr/local/majordomo/wrapper resend -p
bulk -M 10000 -l foo -h dudley.casano.com -I foo foo-outgoing'
"

You put

foo: "|/usr/local/majordomo/demime '|/usr/local/majordomo/wrapper resend -p
bulk -M 10000 -l foo -h dudley.casano.com -I foo f0o-0utgoing,null'
"

Note the addition of ",null" to the alias. This prevents sendmail
from putting the outgoing address in the headers. As an extra step,
I changed my outgoing address from foo-outgoing to f0o-0utgoing in
order to invalidate the old compromised outgoing address.

2. Add this magic recipe to your virtusertable:

f0o-0utgoing@casano.com error:nouser User unknown
owner-f0o-0utgoing@casano.com error:nouser User unknown

and do whatever it is on your machine that causes virtusertable.db
to be rebuilt. ("make" on FreeBSD).

This causes sendmail to bounce any message sent to your outgoing alias.

I hope this helps.

Bill Dudley
Jackson, NJ

2005/10/05

讀書的方法

作者: 張五常 | 2005年08月24日14時25分

《賣桔者言》連載之三十一

五 讀書與思考

(一)讀書的方法

  新年時節,送些甚麼給學生呢?就送他們一些讀書的方法吧。
  首先聲明,我要談的是為知識而讀書的方法,不是為考試而讀書的方法。後者,香港的學生都是專家——猜題目、背課文之能,世間少有。但為知識而讀書可以幫助考試,為考試而讀書卻未必可助知識的增長。知識是讀書的目的(An End);考試只是一個方法(A Means)。然而香港學生(或教育制度),卻很顯然地將這兩佯東西顛倒過來。
  我可在四個大前提下給學生們建議一些實用的讀書方法。若能習慣運用,不但可以減輕考試的壓力,而對更重要的知識投資會是事半功倍的。

  一、以理解代替記憶

  很多人都知道明白了的課程比較容易記得。但理解其實並不是輔助記憶——理解是記憶的代替。強記理論不僅是很難記得准確:當需要應用時,強記的理論根本無濟于事。明白了理論的基本概念及含義,你會突然覺得你的記憶力如有神助。道理很簡單,明白了的東西就不用死記。但理論的理解有不同的深度,也有不同的准確性。理解愈深愈准確,記憶就愈清楚,而應用起來就愈能得心應手。所以讀書要貫通——理論上的不同重點的聯帶關系要明白;要徹底——概念或原則的演變要清楚。
  要在這些方面有顯著的進步易如反掌,而學生也不需多花時間。他只要能改三個壞習慣,一年內就會判若兩人。
  第一個壞習慣,就是上課時“狂”抄筆記。筆記是次要、甚至是可有可無的。這是因為抄筆記有一個無法補救的缺點——聽講時抄筆記分心太大!將不明白的東西抄下來,而忽略了要專心理解講者的要點,是得不償失。我肯定這是一般香港學生的壞習慣。例如好幾次我故意將頗明顯的錯誤寫在黑板上,200多學生中竟無一人發覺,只知低著頭忙將錯誤抄在筆記上。
  筆記有兩個用途。①將明白了的內容,筆記要點。但若覺得只記要點都引起分心,就應放棄筆記。明白了講者的內容是決不會在幾天之內忘記的。很多講者的資料在書本上可以找到,而在書本上沒有的可在課後補記。老師與書本的主要分別,就是前者是活的,後者是死的。上課主要是學習老師的思想推理方法。②在上課聽不懂的,若見同學太多而不便發問,就可用筆記寫下不明之處,于課後問老師或同學。換言之,用筆記記下不明白的要比記下已明白的重要。
  第二個壞習慣,就是將課程內的每個課題分開讀,而忽略了課題與課題之間的關系,理解就因此無法融會貫通。為了應付考試,學生將每一個課題分開讀,強記,一見試題,不管問甚麼,只要是似乎與某課題有關,就大“開水喉”,希望“撞”中——這是第二個壞習慣最明顯的例子。
  要改這個壞習慣,就要在讀完某一個課題,或書中的某一章,或甚至章中可以獨立的某一節之後,要花少許時間去細想節與節、章與章、或課題與課題之間的關系。能稍知這些必有的連帶關系,理解的增長就一日千里。這是因為在任何一個學術的范圍內,人類所知的根本不多。分割開來讀,會覺得是多而難記;連貫起來,要知要記的就少得多了,任何學術都是從幾個單元的基礎互輔而成,然後帶動千變萬化的應用。學得愈精,所知的就愈基本。若忽略了課題之間的連貫性,就不得其門而入。
  第三個壞習慣,主要是指大學生的,就是在選課的時候,只想選較容易的或講課動聽的老師。其實定了某一系之後,選課應以老師學問的淵博為准則,其他一切都不重要。跟一個高手學習,得其十之一、二,遠勝跟一個平庸的學得十之八九。這是因為在任何一門學術里面所分開的各種科目,都是殊途同歸。理解力的增長是要知其同,而不是要求其異。老師若不是有相當本領,就不能啟發學生去找尋不同科目之間的通論。

  二、興趣是因思想的集中而燃燒起來的

  我們都知道自己有興趣的科目會讀得較好。但興趣可不是培養出來的。只有總想能在某科目上集中,才能產生興趣。可以培養出來的是集中的能力。無論任何科目,無論這科目是跟你的興趣相差多遠,只要你能對之集中思想,興趣即盎然而生。
  對著書本幾小時卻心不在焉,遠比不上幾十分鐘的全神貫注。認為不夠時間讀書的學生都是因為不夠集中力。就算是讀大學,每天課後能思想集中兩三小時也已足夠。要培養集中力也很簡單。第一、分配時間——讀書的時間不需多,但要連貫。明知會被打擾的時間就不應讀書。第二、不打算讀書的時間要盡量離開書本—— “餓書”可加強讀書時的集中力。第三,讀書時若覺得稍有勉強,就應索性不讀而等待較有心情的時候——厭書是大忌。要記著,只要能集中,讀書所需的時間是很少的。
  將一只手表放在書桌上。先看手表,然後開始讀書或做功課。若你發覺能常常在30分鐘內完全不記得手表的存在,你的集中力已有小成。能于每次讀書對都完全忘記外物1小時以上,你就不用擔心你的集中力。

  三、問比答重要

  很多學生怕發問的原因,是怕老師或同學認為他問得太淺或太蠢,令人發笑。但學而不問,不是真正的學習。發問的第一個黃金定律就是要臉皮厚!就算是問題再淺,不明白的就要問;無論任何人,只要能給你答案,你都可以問。
  從來沒有問題是太淺的。正相反,在學術上有很多重要的發現都是由三幾個淺之又淺的問題問出來的。學術上的進展往往是靠盲拳打死老師傅。很多作高深研究的學者之所以要教書,就是因為年輕學生能提出的淺問題,往往是一個知得太多的人所不能提出的。雖然沒有問得太淺這回事,但愚蠢的問題卻是不勝枚舉。求學的一個重要目的,就是要學甚麼問題是愚蠢或是多余。若不發問,就很難學得其中奧妙。
  老師因為學生多而不能在每一個學生身上花很多時間。認真的學生就應該在發問前先作准備工夫。這工夫是求學上的一個重要過程。孔子說得好:“知之為知之,不知為不知,是知也!”要分清楚“知”與“不知”,最容易就是做發問前的准備工夫。這准備工夫大致上有三個步驟——
  第一、問題可分三類——A、“是甚麼”(What),B、“怎樣辦”(How?),C、“為甚麼”(why)。學生要先斷定問題是那一類。A類問的是事實:B類問的是方法:C類問的是理論。問題一經斷定是那一類,學生就應立刻知道自己的“不知”是在那方面的,因而可免卻混淆。若要問的問題包括是多過一類的,就要將問題以類分開。這一分就可顯出自己的“不知”所在。第二、要盡量去將問題加上特性。換言之,你要問的一點是愈尖愈好。第三、在問老師之前,學生要先問自己問題的答案是否可輕易地在書本上找到。若然,就不應花老師的時間。大致上,用以上的步驟發問題,答案是自己可以輕而易舉地找到的。若仍須問老師的話,你發問前的准備工作會使他覺得你是孺子可教。

  四、書分三讀——大意、細節、重點

  學生坐下來對著書本,拿起尺,用顏色筆加底線及其他強調記號。讀了一遍,行行都有記號,這是毀書,不是讀書。書要分三讀。
  第一讀是快讀,讀大意,但求知道所讀的一章究竟是關于甚麼問題。快讀就是翻書,跳讀;讀字而不讀全句,務求得到一個大概的印象。翻得慣了,速度可以快得驚人。讀大意,快翻兩三次的效果要比不快不慢的翻一次好。第二讀是慢讀,讀細節,務求明白內容。在這第二讀中,不明白的地方可用鉛筆在頁旁作問號,但其他底線或記號卻不可用。第三讀是選讀,讀重點。強調記號是要到這最後一關才加上去的,因為哪一點是重點要在細讀後才能選出來。而需要先經兩讀的主要原因,就是若沒有經過一快一慢,選重點很容易會選錯了。
  在大學里,選擇書本閱讀是極其重要的。好的書或文章應該重讀又重讀;平凡的一次快讀便已足夠。在研究院的一流學生,選讀物的時間往往要讀書的時間多。
  雖然我在以上建議的讀書方法是著重大學生,但絕大部分也適合中小學生學習。自小花一兩年的時間去養成這些讀書的習慣,你會發覺讀書之樂,實難以為外人道。
                  
1984年1月3日

思考的方法(全)

作者: 張五常 | 2005年08月24日14時52分
上中下連結:
http://www.blogchina.com/new/display/85846.html
http://www.blogchina.com/new/display/85850.html
http://www.blogchina.com/new/display/85853.html

《賣桔者言》連載之三十二

思考的方法(全)

  據說熊彼德(J.A.Schumpeter)曾在課堂上批評牛頓,指責這個如假包換的物理學天才只顧閉門思想,沒有將他思考推理的方法公開而留諸後世!這批評有點道理。但牛頓在物理學上的豐功偉績,是他在逃避瘟疫的兩年中想出來的;其後就再沒有甚麼重大發現——雖是曇花一現,但這“一現”卻是非同小可。愛因斯坦的思考方法,屢見經傳:可惜他天賦之高,遠超世俗,要學也學不到。

  有些朋友以為愛因斯坦既然可以不用資料而將相對論想了出來,他們也可照樣推理。但愛因斯坦所能辦到的,跟他們有甚麼相干?不自量力,以此為最!愛因斯坦的思考方法很可能是那自命不凡的人的一種思想障礙。

  我不僅不敢與牛頓或愛因斯坦相比,就是半個天才也算不上。但正因為這個緣故,我倒可以寫一點有實用性的思考方法。我的思考方法是學回來的。一個平凡的人能學得的思考方法,其他的凡夫俗子也可以學。天才的思考方法是天才的專利權,與我們無關。

  在大學念書時,我從不缺課的習慣就是為了要學老師的思考方法。所有要考的試都考過了,我就轉作旁聽生。有一次,赫舒拉發(J.Hirshleifer)在課後來問我:“你旁聽了我六個學期,難道我所知的經濟學你還未學全嗎?”我回答說:“你的經濟學我早從你的著作中學會了,我聽你的課與經濟學無關——我要學的是你思考的方法。”

  我這個偷“思”的習慣實行了很多年,屢遇明師及高手明友,是我平生最幸運的事。這些師友中,算得上是天才或准天才的著實不少。我細心觀察他們的思考方法,在其中抽取那些一個非天才也可用得著的來學習,久而久之就變得甚為實用。但因為被我偷“思”的人很多,我就綜合了各人的方法,作為己用。雖然這些人大都是經濟學者,但天下思考推理殊途同歸,強分門戶就是自取平凡。茲將我綜合了普通人也可作為實用的思考方法的大概,分析如下。

  一、誰是誰非毫不重要

  假如你跟另一個人同作分析或辯論時,他常強調某一個觀點或發現是他的,或將“自己”放在問題之上,那你就可以肯定他是低手。思考是決不應被成見左右的。要“出風頭”或要“領功”是人之常情,但在思考的過程上,“自己”的觀點不可有特別的位置。“領功”是有了答案之後的事。在推理中,你要對不同的觀點作客觀的衡量。

  有些人認為佛利民好勝、強詞奪理地去維護自己的觀點,這是錯的。佛利民的思想快似閃電,但他認錯更快!因為他認錯太快,往往給人的印象就是沒有認錯。在我所認識的高手中,沒有一個推理時將“自己”加上絲毫重量的。事後“領功”是另一回事。

  同樣地,在學術上沒有權威或宗師這回事——這些只是仰慕者對他們的稱呼;我們不要被名氣嚇倒了。任何高手都可以錯,所以他們的觀點或理論也只能被我們考慮及衡量,不可以盡信。當然,高手的推論較為深入,值得我們特別留意。我們應該對高手之見作較詳盡理解,較小心地去衡量。但我們不可以為既是高手之見,就是對的。高手與低手之分,主要就是前者深入而廣泛,後者膚淺而狹窄。

  我一向都佩服史密斯、米爾及馬歇爾等人。但當我研究佃農理論時,我就將他們的佃農理論一視同仁,沒有將他們的大名放在心上,若非如此,我是不可能將他們的理論推翻的。

  二、問題要達、要淺,要重要、要有不同答案的可能性

  問題問得好,答案就往往得了過半。在“讀書的方法”一文內,我述說了求學時的發問主旨。以發問作為思考的指引,有幾點是要補充的。

  第一、問題要一針見血。這是佛利民的拿手好戲。你問他一個問題,他喜歡這樣回答:“且讓我改一下你的問題。”(Let me rephrase your question.)他一改,就直達你要問的重心,十分清楚。我們凡夫俗子的仿效方法,就是要試將一個問題用幾種形式去發問,務求達重點的所在。舉一個例子。當佛利民解釋某法國學者的貨幣理論時,我問:“他的主旨是否若時間長而事情不變,人們就覺得沉悶?”佛利民答:“你是要問,是否時間越多,時間在邊際上的價值就越少?”這一改,就直達經濟學上的“替換代價下降”(Diminishing Marginal Rate of Substitution)定律,他無需答我,答案已浮現出來了!

  第二、問題要問得淺。這是艾智仁(A.A.Alchian)的專長。談起貨幣理論,他問:“甚麼是貨幣?為甚麼市場不用馬鈴薯作貨幣?”當經濟學界以功用(Utility)的量度困難為熱門的爭論時,艾智仁問:“甚麼是功用?甚麼是量度?我們用甚麼准則來決定一樣東西是被量度了的?”這是小孩子的發問方式。後來艾智仁找到了舉世知名的答案。量度不外是以武斷的方式加上數字作為衡量的准則,而功用就只不過是這些數字的隨意定名。假設每個人都要將這數字增大,就成了功用原理。這武斷的方法若能成功地解釋人類的行為就是有用的,而功用本身與社會福利無關!

  我自己的佃農理論,就是由幾個淺問題問出來的。傳統上的理論,都以為既然土地種植的收成是要將一部份分給地主,那麼地主以分賬的方法征收租金,就正如政府征稅一樣,會使農民減少勞力從而使生產下降。我問:“既然生產下降,租值就應減少了,為甚麼地主不選用其他非分賬式的收租辦法?”我再問:“假如我是地主,我會怎麼辦?假如我是農民,我又會怎麼辦?”

  第三、要斷定問題的重要性。在我所知的高手中,衡量問題的重要與否是慣例,赫舒拉發更喜歡把這衡量放在一切考慮之前。學生問他一個問題,他可能回答:“這問題不重要。”于是就想也不再想。認為是重要的問題呢,他就從座上站起來!

  判斷問題的重要性並不太難。你要問:“假若這問題有了答案,我們會知道了些甚麼?”若所知的與其他的知識沒有甚麼關連,或所知的改變不了眾所周知的學問,那問題就無足輕重。

  有很多問題不僅是不重要,而且是蠢問題。甚麼是蠢問題呢?若問題只能有一個答案,沒有其他的可能性,那就是蠢問題了。舉一個例。經濟學是基于一個“個人爭取利益”的假設;這就暗示著個人生產是會盡可能減低生產費用。有一個學者大做文章,問個人的生產費用是否會過高了?但基于這作者自己的假設下, “過高”是不可能的。佛利民就下評語:“愚蠢的問題,得到愚蠢的答案,是應有之報!”

  三、不要將預感抹殺了

  邏輯是推理的規格;但若步步以邏輯為先,非邏輯不行,思考就會受到壓制。不依邏輯的推理當然是矛盾叢生,不知所謂;但非經邏輯就想也不想的思考方法,往往把預感(Hunch )抹煞了,以致甚麼也想不到。邏輯學——尤其是數學邏輯——是一門湛深的學問,但若以邏輯先入為主,就會弄巧反拙。

  在念書時我拜讀過愛因斯坦與邏輯學高手朴柏(K.Popper)辯論的書信。他們爭論的是科學方法論的問題。在這辯論中,我以為朴柏是勝了一籌;但在科學上的貢獻,他卻是藉藉無名的。

  邏輯是可以幫助推理的正確性,卻不是思想(Idea )或見解的根源。科學方法論是用以證實理論的存在,但它本身對解釋現象毫無用處。那些堅持非以正確方法推斷出來的思想是犯了規,不能被科學接受的觀點,只不過是某些難有大貢獻的人的自我安慰。這種人我遇過了不少。他們都胸有實學,思想快捷——缺少了的就是想象力。

  純以預感而起,加上想象力去多方推敲,有了大概,再反覆以邏輯證實,是最有效的思考方法。只要得到的理論或見解是合乎邏輯及方法論的規格,是怎樣想出來的無關重要。那些主張“演繹法”(Deductive Method)或“歸納法”(Inductive Method )的紛爭,不宜盡聽。苹果掉到牛頓的頭上(或牛頓午夜做夢),萬有引力的理論就悟了出來。又有誰敢去管他的思考方法是否正確。

  有一些獨具卓見的學者,其邏輯推理的能力實在是平平無奇;他們的重要科學貢獻是經後人修改而成的。英國早期的經濟學家馬爾薩斯(T.Malthus),推理的能力比不上一般大學生!近代獲諾貝爾獎的海耶克及舒爾茲(T.Schultz),推理也沒有過人之處。這可見思想見解(Idea)是首要,邏輯次之。

  得到了一個稍有創見的預感,就不要因為未有邏輯的支持而放棄。在我所認識的學者中,善用預感的要首推高斯(R.H.Coase )。無論我向他提出任何比較特出的意見,他就立即回答:“好像是對了”或“好像是不對的”。先有了一個假定的答案,然後再慢慢地將預感從頭分析。

  有一次,在一個會議上,有人提議大地主的農產品售價會是專利權的市價,缺乏市場競爭,對社會是有浪費的,我衝口而出:“怎麼會呢?假若全世界可以種麥的地都屬我所有,我就一定要將地分開租給不同的農民耕種;麥收成後農民就會在市場上競爭發售,那麼麥價是競爭下的市價。”高斯在旁就立刻對我說: “你好像是對了。”三天之後,我再遇高斯時,他又說:“你好像是對了。”我問他我對了甚麼?他說:“麥的市價。”幾個月後,在閒談中,高斯舊事重提:“我認為在麥的價格上你是對了的。”對一個不是自己的預感而日夕反覆推斷,確是名家風范,是值得我們效法的。

  另一個已故的高手朋友,名叫嘉素(R.Kessel),是行內知名的預感奇才。在1974年(他死前一年)我有幸跟他相聚幾個月,能欣賞到他的不知從何而來的預感。嘉素有一條座右銘:“無論一個預感是怎樣的不成理,它總要比一點意見也沒有為佳。”他又強調:“若無半點見解在手,那你就甚麼辯駁也贏不了。”

  預感是每個重要發現都缺少不了的——從那里來沒有一定的規格,有時究竟是甚麼也不大清楚。在思考上,預感是一條路的開端——可走多遠,到那里去,難以預先知道——但是非試走一下不可的。走這路時邏輯就在路上畫上界線,將可行及不可行的分開。走了第一步,第二步可能較為清楚。好的預感的特征,就是路可以越走越遠,越走越清楚,到後來就豁然貫通。“沒出息”的預感的特征正相反。

  不要以為我強調預感的重要,是有貶低邏輯及科學方法論之意。我曾經是加納(R.Carnap)的學生,怎會輕視這些學問?我要指出的是邏輯是用以輔助預感的發展,用錯了是可將預感抹煞了的。

  四、轉換角度可事半功倍

  任何思考上的問題,是一定可以用多個不同的角度來推想的,換言之,同樣的問題,可用不同的預感來試圖分析。在這方面,我認識的高手都如出一轍——他們既不輕易放棄一個可能行得通的途徑,也不墨守成規,盡可能用多個不同的角度來推想。轉換角度有如下的效能——

  第一、茅塞可以頓開。茅塞(Mental Block)是一個很難解釋的思想障礙,是每個人都常有的。淺而重要的發現,往往一個聰明才智之士可能絞盡腦汁也想不到!但若將思想的角度稍為轉變一下,可能令茅塞頓開。想不到的答案,大多數不是因為過于湛深,而是因為所用的角度是難以看到淺的一面。重要的例子不勝枚舉。

  一間工廠為了生產,對鄰近的物業造成污染而有所損害。歷久以來,經濟學者都建議政府用幾種辦法去壓制工廠的生產,從而減少鄰近物業的損失。這個老問題到了高斯的手上,他就將角度倒轉了:“壓制工廠生產,就等于鄰近的業主對工廠有所損害,究竟要被壓制的應是那一方?”高斯定律是由此而出的。

  另一個例子是關于近十多年來在世界上大行其道的“財務投資學”(Corporate Finance)。這門學問其中的一個創始人沙爾波(W.Sharpe)的成名之作,是在有風險的情況下,首次在原理上斷定了資產的市價。雖然這原理是有著明顯的缺點,但對一個在當時是高手云集而不可解決的重要問題,稍可成理的答案已足令其馳名遐邇。沙爾波的“破案”出發點,就是將一條當時眾所周知的曲線倒轉了來划。

  第二、角度可以衡量答案。從一個角度看來是對的答案,換一個角度卻可能是錯了。任何推理所得的一個暫定的答案,都一定可以找到幾個不同的角度來衡量。若不同的角度都不否決這個暫定的答案,我們就可對答案增加信心。當然,可靠的答案還是要經過邏輯及事實的考驗的。

  第三、角度有遠近之分。在思考的過程中,細節與大要是互補短長的,無論細節想得如何周到,在大要上是有困難的見解,思考者就可能前功盡棄。但在大要上是對了的思想,細節的補充只是時間的問題——就算是錯了細節也往往無傷大雅。在這方面的思考困難,就是若完全不顧細節,我們會很難知道大要。有了可靠的大要而再分析細節,准確性就高得多了。

  思想一集中,腦袋就戴上了放大鏡,重視細節——這是一般的習慣。善于思考的人會久不久將問題盡量推遠以作整體性的考慮。

  五、例子遠勝符號

  推理時可用例子,也可用符號;有些人兩樣都不用,只是照事論事,隨意加點假設,就算是推理。後者是茶余飯後不經心的辯論,算不上是認真的思考。有科學性的思考,用例子是遠勝用符號的。

  數學是以符號組合而成的一種語言;嚴格來說,任何語言文字都是符號。畫面是沒有符號的,但也是表達的一種方式。用大量的字來表達畫面,就成了例子。思想是抽象的。要證實抽象思想的正確性,數學就大有用途,因為它是最嚴謹的語言。但有效的思考方法卻是要將抽象現實化。畫面比符號較接近現實,因此較容易記;所以在思考上,用例子就遠勝用符號了。

  以善用數學而負盛名的經濟學者,如森穆遜(P.Samuelson)、阿羅(K.Arrow)、烏沙華(H.Uzawa)、史得格斯(J.Stiglitz )等人,都是以例子幫助思考的。以數學求證是得了大要之後的事。其他少用數學而善于思考的人,用例子更是得心應手。有些學者只是用符號或少用例子的,但有重要發現的卻是少見。中國人天份之高舉世知名,但用例子的能力就比較弱了。這一點我實在不明白(可能佛學的例子過于抽象,造成不良影響;這問題要請岑逸飛代為解答)。以我之見,韓非子還算過得去,但孟子及孫中山所用的例子就往往似是而非,不知所云;他們成不了推理高手,是不難了解的。

  善用例子的人,再蠢也蠢不到哪里去。用例子有幾個基本的法門,能否善用就要看個人的想像力了。現試將這些法門分列如下。

  第一、例子要簡而貼切。以例子輔助推理,理論的重要特征是要全部包括在例子之內。通常的辦法就是將例子內的枝節刪去,使重點突出,務求在重點上例子與理論有平行的對比。簡化例子要有膽量,也要有想像力。在經濟學歷史上,簡化例子最有本領的是李嘉圖(D.Ricardo)——所以李嘉圖的經濟模型的廣博度,至今仍未有人能望其項背。那就是說,例子簡化得越利害,復雜的理論就越容易處理。

  第二、例子要分真假。所有可用的例子都是被簡化了的。以嚴格的准則來衡量,沒有一個例子是真實的。但有些例子是空中樓閣,其非真實性與簡化無關;另一類例子,卻是因事實簡化而變為非真實——我們稱後者為“實例”。純以幻想而得的例子容易更改,容易改為貼切,是可幫助推理的。但要有實際應用的理論,就必須有實例支持。少知世事的人可先從假例子入手,其後再找實例輔助;實證工夫做得多的人,往往可省去這一步。經驗對思考有很大的幫助,就是因為實例知得多。

  第三、例子要新奇(Novel)。眾所周知的例子不僅缺乏吸引力;在思考上,較新奇的例子會較容易觸發新奇的思想。第一個以花比美人的是天才,其後再用的就少了創見。工廠污染鄰居的例子,庇古用時是新奇的;用得多了、啟發力就減弱。高斯在同一問題上作分析,采用了牙醫工具的聲浪擾及鄰居、大廈的陰影減少了隔鄰泳池的陽光。這些比較新奇的例子,都啟發了一點新的見解。

  第四、要將例子一般化(Generalise)。這一點,中國人是特別弱的,事實不可以解釋事實;太多理論就等于沒有理論。將每個例子分開處理,理論及見解就變得復雜,各自成理。無意中變成了將事實解釋事實。將多個不同的例子歸納為同類,加以一般化,是尋求一般性理論的一個重要方法。

  馬克思走李嘉圖的路,將資本跟土地及勞力在概念上分開。所以馬克思的資本論缺乏一般性,使剩余價值無家可歸。李嘉圖自己從來不相信價值是單從勞力而來的;他想不通將不同資源一般化的方法,自知他的理論有困難。這困難要到費沙(I.Fisher)才清楚地解決了。

  在社會耗費的問題上,庇古所用的例子分類太多,以致他的理論模糊不清,前後不貫。這問題到了高斯手上,他就認為在社會上每個人無論做甚麼對其他人都有影響;他于是就將所有對人有影響的行為歸納為產權的問題。

  在另一個極端,過于一般性的理論,因為沒有例外的例子,所以也沒有解釋的功能。有實用的理論是必須有被事實推翻的可能性。因此之故,例子既要歸納,也要分類。分類的方法就是要撇開細節,集中在重點上不同例子之間難以共存的地方。將一個例子分開來處理,我們也應該找尋跟這例子有一般性的其他例子。世界上沒有一個“無法一般性化”的實例。若是有的活,在邏輯上這實例是無法用理論解釋的——這就變成了科學以外的事。

  第五、要試找反證的例子(Counter Example)。思考要找支持的例子;但考證是思考的一部分——考證就要試找反證的例子了。史德拉(G.Stigler)、貝加(G.Becker)等高手,在辯論時就喜用反證。可靠的理論,是一定要有可以想象的反證例子的——但若反證的是實例,理論就被推翻了。

  六、百思不解就要暫時擱置

  人的腦子是有著難以捉摸的機能——連電腦也能想出來的腦子,其機能當然要比電腦復雜得多。拼命想時想不到,不想時答案卻走了出來,是常有的事。我們可以肯定的,就是在不經意中走出來的答案,一定是以前想過的老問題。以前想得越深,得來全不費工夫的機會就越大。日有所思,夜有所夢,可以置信。

  百思不得其解的問題,時間並沒有白費。將問題擱置一旁,過些時日再想,可有奇效。就是不再想答案也可能會在無意間得到的。我的價格管制文章寫了 3年,公司原理12年,玉器市場9年仍未開筆……,這些及其他文章加起來起碼有百多年!不是言過其實,而是擱置著等時機成熟而已。貝加的文章,好的都是下了多年的工夫。高斯有幾篇等了30多年的文章:他今年74歲了,等不到是經濟學上的大損失。但人各有法,而等待是思考的一個重要的步驟。

  科學上的思考是一門專業。跟其他專業一樣,熟能生巧。可以告慰的,就是無論問題看來是如何的深奧,好的答案往往會比想象中的淺的。

1984年3月27日

2005/10/04

網路校時服務(NTP)說明

使用cron(8)的功能定期執行 ntpdate 程式,例如:使用
crontab(1)加入下面這一行設定,以便每隔6小時校正一次。其中,
參數-s表示將所產生的輸出以syslog(3)來記錄,而不是送到標準輸
出,適合在cron中設定。

* 0,6,12,18 * * * /usr/local/bin/ntpdate -s stdtime.sinica.edu.tw

附註:

http://www.stdtime.gov.tw/ntp/resource.html
http://www.eecis.udel.edu/~ntp/software.html

2005/10/03

ReMastering HOWTO for DSL

Topic: ReMastering HOWTO for DSL, Also for newbies and other enthusiasts

Posted: April 14 2004,15:11 QUOTE
First of all I want to make clear that I'm not taking any credit for these remastering HOWTOS. I have just kind of "translated" posts from nucpc and Del so that even a newbie or a selflearned DSL-enthusiast (as myself) might understand HOWTO get into the wonders of remastering DSL. As you can se of the instructions below my "playaround partition" is hda3 (if you have another just replace hda3 with your own).

Remastering HOWTO for Damn Small Linux (Copying manually)

Start by running from the live DSL-cdrom

Become root and mount the right partition

$sudo su
#mount -rw /dev/hda3 /mnt/hda3

Make the directories needed

#mkdir /mnt/hda3/source
#mkdir /mnt/hda3/newcd
#mkdir /mnt/hda3/newcd/KNOPPIX

Copy necessary files to directory /newcd

#cp -Rp /cdrom/autorun.bat /mnt/hda3/newcd
#cp -Rp /cdrom/autorun.inf /mnt/hda3/newcd
#cp -Rp /cdrom/index.html /mnt/hda3/newcd

Copy files to directory /newcd/KNOPPIX

#cp -Rp /cdrom/KNOPPIX/boot.cat /mnt/hda3/newcd/KNOPPIX
#cp -Rp /cdrom/KNOPPIX/boot.img /mnt/hda3/newcd/KNOPPIX

Copy the sources to the right directory

#cp -Rp /KNOPPIX/* /mnt/hda3/source
#cp -Rp /KNOPPIX/.bash_profile /mnt/hda3/source

Go through and copy wanted things to /mnt/hda3/source

I usually keep scripts, studyprojects and whatever I want to have handy in a directory on a usb-drive. That makes it easy to copy it to what will be the home directory on the live cd. In that way all I have to take along is the live cd, knowing it's all right there (and perhaps some favorite mp3's on the usb-drive):

(Don't forget to mount your usb-drive first with mount.app if you try this)

#cp -Rp /mnt/sda1/Docs/* /mnt/hda3/source/home/damnsmall

Create the custom compressed image file:

#mkisofs -R /mnt/hda3/source | create_compressed_fs - 65536 > /mnt/hda3/newcd/KNOPPIX/KNOPPIX

Create the iso-file as follows:

#cd /mnt/hda3
#mkisofs -r -J -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -o myknoppix.iso newcd

Copying your new iso-file to another partition to be able to burn it
First be sure that you have mounted the target partition (You can use the mount.app)

#cp /mnt/hda3/myknoppix.iso /mnt/hda1

Now just burn the iso with whatever software you have installed in the target partition.

It can surely be done in many ways, but this is the way I do it


DSL remastering HOWTO (Reinstalling apt-get)

Mount, copy and chroot

$sudo su
#mount /mnt/hda3
#cp -Rp /KNOPPIX /mnt/hda3
#mount --bind /dev /mnt/hda3/KNOPPIX/dev
#chroot /mnt/hda3/KNOPPIX
#mount -t proc /proc proc

(Connect to internet)

#dpkg-restore
#nano /etc/apt/sources.list (Change to the testing branch)

Add and remove packages to your liking

#umount /proc
#ctrl+D
#mkdir /dev/hda3/newcd (Copy everything from cd except the KNOPPIX image to this directory )
(See the previous HOWTO if you are uncertain)

Create the custom compressed image file

#mkisofs -R /mnt/hda3/KNOPPIX | create_compressed_fs - 65536 > /mnt/hda3/newcd/KNOPPIX/KNOPPIX

Create the iso-image

#cd /mnt/hda3
#mkisofs -r -J -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -o my_custom_DSL.iso newcd

Testing the new KNOPPIX-image

Make a boot-floppy

#dd if=/mnt/hda3/KNOPPIX/boot.img of=/dev/fd0

Boot with this floppy to try if your new KNOPPIX-image works (Then burn it if you like)


I must point out that I have not done it this way myself yet, so I can't tell if I got it wrong. If I have got it wrong please post a correction in this forum. This HOWTO is derived from a post by Del and I might have missed out in the "translation". If so keep me posted!

I hope this post will be useful for some that would like to get into the wonders of remastering DSL (this wonderful little distribution of linux) and making their own personalized copy of it.

Have a lot of fun (as I have had),
meo

FCKeditor

http://wiki.fckeditor.net/Developer%27s_Guide/Integration/Javascript

===========================================

window.onload = function()
{
// Automatically calculates the editor base path based on the _samples directory.
// This is usefull only for these samples. A real application should use something like this:
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
// var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
var sBasePath = '/path_fckeditor';
var oFCKeditor = new FCKeditor( 'name_of_textarea' ) ;
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.ToolbarSet = 'Basic' ; //較少的按鍵
oFCKeditor.Height = "450" ; //調整該form之高度
oFCKeditor.ReplaceTextarea() ;
}