星期六, 11月 16, 2002

這個不科學的年代!

這個不科學的年代
最近看到這本書,裡面集結了費曼三篇演講稿
算是蠻不錯的小本讀物,有興趣參考看看 ^_^

科學的本質,在於存疑和不確定性。
這是好處,不是壞處,是科學的本質,也是我們進步的泉源。
觀測、數據才是判斷某個想法是否包含真理的終極大法官。

在科學世界中沒有權威這回事。
這種與疑惑和不確定性打交道的經驗十分重要,

要解開任何從未被解開過的難題,你必須虛心去探索解答,
並保留也許有那些地方沒全弄對的可能性。
否則,假如早已抱有定見,也許就找不到真正的答案。

有個關於美國太空總署NASA的小故事,
在1960年代時NASA裡的科學家
想要研究出一種可供太空人在外太空中使用的筆,
這種筆須能在真空無重力狀態下書寫。

不但可以用任何角度書寫,
而且書寫時必須保證全程不會斷水。
這群科學家們花費了半年的時間,

使用了許多新的材質來實驗,
但終究未能成功,於是他們決定將這個難題丟出來,
提供一筆獎金給提供解答的人。

很快的提供解決辦法的信件如雪片般寄來,
很多是不可行的幻想,
也有許多是NASA科學家所實驗過不可行的方法。

又過了一個禮拜,
NASA的科學家們收到一位住在德國的小朋友寄來的信,
信上只寫了”你們試過鉛筆了沒”?

由此可見要打破自已舊有的觀念,及心中的成見是件極不容易的事。
即使是學有專精的太空科學家也會犯這樣的錯誤。

也正因為如此,保持著一種一切皆不確定的態度。
這是知識份子的謙卑。

科學中最令人興奮的部份,是在於刻苦努力思考後所獲得的新發現。
對科學家而言,這些努力不是為了某種目的而做,
完全是為了發現新事物時那種振奮人心的感覺。如果不最瞭解這種感覺,
那麼科學或許是件很沈悶的事吧。

想像力是科學中很重要的一部份,我們必須憑空想像一些從未看過的事物,
而這些事物運作的原理又必須和已看過的東西完全吻合不悖,
同時又要和已被想出來的事物完全不同。
此外,它更必須是一些明確、不模糊的設想。這還真是困難呀。

比如像重力的平方反比律
【行星乃是在向心力的影響之下繞著太陽運行,
向心力的大小與行星中心點及太陽中心點之間距確的平方成反比】
的發現,還真是個奇蹟,當時並沒有人真的了解這個定律。

但卻把它帶向有預測的可能性。也就是說在還沒有實驗以前,
就預先假想了這個實驗的結果。
而這些不斷的假設及實驗結果便累積成為我們目前所依循的定律。

但是舊有的定律仍可能是錯誤的,定律並不等於觀測的結果,
而實驗永遠都不可能百分之百的準確。所有的定律都是猜想出來的定律,
只不過現在還沒被人發現它的例外而已。

所以我們可以得知科學的精神要遠比科學的知識重要,
或許我們遠比數百年前的人們要了解一些科學的知識,
有些甚至已不須要特別說明,而已內化成為一般的常識,
例如像地球是圓的,且地球是繞著太陽而旋轉。

而相對我們透過這些一點點科學上累積的知識去了解的世界,
實際上我們所面對的還是那個廣大的令我們感到無知的世界。

保有科學的精神,也就是科學的本質,存疑和不確定性。
這是好處,不是壞處,是科學的本質,也是我們進步的泉源。

星期二, 11月 05, 2002

讓高牆倒下吧

讓高牆倒下吧(新版)
讓高牆倒下吧 / 李家同著

其實找這本書很久了…
之前在cszone talk版上看到有人轉錄這本書的一些文章
讓我對這本書產生了興趣

我本來還以為這是新書哩
找了幾家書局都沒找著
心裡慢慢也就忘了有這回事

上週在北市圖書館永建分館的每月一書
架上赫然發現
它就安安靜靜的躺在哪

看著泛黃破舊的書皮…
心中想著
喔…原來已經出版很久了呀

生怕它又走失了
我趕緊像小偷般把它藏在懷中
找了個小角落翻閱(唉~為啥每月一書不能借回去看哩)

很久沒看散文集…或是像這種說故事的文章了
寫得真好…心中蠻多感觸的

雖然我是不太信啥米天堂、地獄啦
覺得若是種福田也是可以計量的話
總是怪怪的

但幫助人時心中會自然產生平和愉悅的心情
這種感覺很好

有空嗎…也去找找這本書吧 :P

星期一, 9月 09, 2002

神呀~請再多給老將們一點時間吧

真讓人有種時光錯置的感覺呀~
今早的美國公開賽
好像突然間又回到當年山大王和阿格西的輝煌年代

真是不可思議呀。
昨天看到Sampras力拼兩盤搶七後,終於擊潰Schelken的心防。
到第三盤打的Schelken無心戀戰時,就讓我看的很感動了。

看到老將的光輝再一次閃爍在場上真是難得。
沒想到或許是受了Sampras的感召,Agassi也打出了自已的高峰。
竟然與比他小11歲的Hewitt打起了底線強抽跑位大戰。
更難得的是Agassi竟然跑贏了!!

尤其是這一場我們更看到的老將強健的心理素質。
從第一盤的3:0落後,到第三盤煮熟的鴨子竟然飛了。
Agassi仍然是保持著他在場上的專注力。

第四盤終於Hewitt心理開始動搖,面對著愈打愈神的Agassi。
小將Hewitt不禁開始手軟,一下子便兵敗如山倒。
比賽結束,即將在決賽出現Sampras VS Agassi的夢幻對決。
真的是太令人感動了。

或許這就是名將與球星最大不同之處吧。
看到老將們克服了體能,心理上的影響。
再一次閃耀出當年的光芒,
即便是煞那的光彩也讓人不禁沈醉於這美好的一刻。

星期二, 9月 03, 2002

XP的感想…

所謂XP像不像把一群散兵遊勇
丟到槍林彈雨的叢林殺戳戰場裡(Project)

兩人一組為一個戰鬥單位(pair-programming)
彼此相互支援

也許是老鳥帶菜鳥,也許是兩隻菜鳥
反正一場近距離肉搏戰馬上會讓菜鳥升格為老鳥

勇氣(courage)是戰士的唯一精神支柱
不需制訂作戰計畫(UseCase),
不過倒會請嚮導說說故事(希望故事還沒說完前不要敵前陣亡)

不給地圖反正地圖(UML)會過時
不標定敵人據點反正敵人行蹤莫測(Requirements always change)

各自拿著開山刀(UltraEdit)或步鎗(IDE tool)或火箭炮(TogetherJ)
逐步浴血推進步步為營(Testing)
隨時清理戰場並鞏固已有戰果(Refactoring)

嗯...也許XP team要多多看越戰電影....
( 不知是誰寫的,真是有趣的觀點呀 :p )

星期一, 8月 26, 2002

Fortune Cookie

昨天在看SATC時,看到凱莉衰到連抽Fortune Cookie都抽不到好運氣。
突然想起一件童年往事。

記得以前小時候有一次在學校辦園遊會時。
那時就想要來擺個不用花多少成本。
準備起來又不會很累的東東。

於是我就想弄個像Fortune Cookie的東東。
不過還要烤餅干實在太累了。
就用氣球代替餅干吧。

還記得當園遊會剛開始的時候。
我還心裡怕怕的,覺得或許這是個餿主意。
直到我的第一個客人上門以後。

突然間不知道那裡來的勇氣與自信。
我又覺得,嗯~其他人都擺一些很常見的丟水球、烤香腸之類的。
我這個點子要特別多了。

於是我覺得我應該主動出擊。
我離開了自已班上的攤位,沿著各個班級到處大聲叫賣著。
來喔、來喔,來買幸運氣球喔… ^_^

就這樣,遇到運氣不好的抽到壞籤的同學。
我就慫恿他再買一個,換換手氣。
事後大家都說我很有做奸商的特質 哈哈 :p

不過想想能抽到壞籤的也是很厲害。
我都是想不出還有啥米幸運的詞句後才開始寫些不好的東東。
總共佔的比例,大概不到百分之五吧 :p

不到二個小時,我的氣球就賣完了。
雖然喉嚨也啞了,可是真的是很開心。
第一次感到作生意的快樂 :p

現在想想,有時人還是需要那麼點愚勇和自信吧。
或許那一張張破爛爛寫著醜醜幸運語句的紙條不值什麼。
不過我想那種熱情投入的感覺是件很美好的事。 ^_^

星期三, 8月 21, 2002

A little thoughts about TIJ2

Thinking in Java

關於TIJ2這本書,無庸置疑的是一本內容精彩的好書
且原作者Bruce Eckel十分慷慨的在網路上開放了本書的所有內容

就如同侯老大的譯序中所說,我們很容易找到同樣閱讀過本書的同好
而大家可以在同一基調上針對書中的內容開始討論。

也因此許多高手也推薦此書給入門者,稱此書為絕佳的入門教材。
而許多人也因而隨之起舞,用力的為此書大大宣傳。
這陣子,大概只要在網上問:請問Java入門書那本最好?

必然會有一群熱心人士,努力回覆並介紹TIJ2給這位初學者。
不過這樣真的好嗎?TIJ2真的適合初學的人使用嗎?

我想分享一下我初學Java時的看TIJ2的感覺。
當時我正為Java到底是Call by XXXX的問題所迷惑。
如果你想看看我當時的疑問,請點下面這行字

【EZ Java 】Call By XXXX?!


於是網友yiwen建議我看TIJ2,那時看完書中說明後還是有點模糊不清。
不太能體會其中真正的含意。

不過,我想既然TIJ2這本書這麼好。
於是我把原本正在看的入門書籍先擺在一旁。
想說那我就把TIJ2當入門書就好了嘛。

沒想到這正是困惑的開始。
由於書中提供的資訊太多了。
對於那時完全沒有物件導向概念及Java基礎的我。
閱讀此書的經驗簡直是場惡夢。

常常讀到一小段,就為了不明瞭其含意的句子而苦惱不已。
那種感覺就像是遇到網頁上的超鏈結地獄一樣。
往往從一個疑問連結到另一個疑問。
最後變成一團混沌。

最後我放棄了以TIJ2為入門書這個念頭。
回頭重拾原先那本已看到一半的入門書。

那時我心中有個預感。
或許我該等我對物件導向有點概念,
且對Java的架構有些概觀後再回頭來看TIJ。

直到最近侯老大與王建興先生合譯的TIJ2終於出版了。
昨日去誠品翻閱後,可能是因免除了語言上的隔閡。
也或許是由於心中對Java已有了點小小的概觀。
重讀TIJ2後,心中感到十分充實。

先講譯筆好了,的確譯的十分清楚明白。
雖然第一章的某些部份有點繞舌。
不過我想有些英文的詞彙要翻成中文就是怪怪的吧。
但是還是很容易了解其所要表達的含意。

另外很多人批評的排版問題。
我倒是沒覺得看起來特別的難過。唯一覺得不太習慣的部份,
應該是程式碼的字體吧,太大了點,感覺有點奇怪。
不太喜歡看一小段程式碼還要翻頁的感覺。

我想重新閱讀TIJ2讓我對之前很多模糊不清之處。
有了一個重新複習與反芻思考的機會。
尤其是當我們習於try & error的學習方式。
往往會知其然而不知其所以然。

有本醬子的書籍提醒、整理算是相當不錯
也感謝侯老大及王建興先生譯了這本好書 ^_^

星期五, 8月 02, 2002

好久沒寫廢言了…

呵~ 好久沒來廢言一下
今天閒閒就來給他廢一下 哈哈 ^_^
最近在明日報個人新閒台發現二個有趣的站台

一個是"相親日記",看到台長:紅玫瑰&白玫瑰
精彩的相親趣事,真的是會笑到流淚喔~

另一個是"精神台好囉",除了爆笑的內容外
還有引爆笑點的插圖喔…
有時光看圖我就笑翻了 哈哈 ^_^

心情鬱足嗎? 上去笑一笑吧 哇哈哈~

星期六, 7月 06, 2002

Things to Consider When Building Large Business Systems

最近小弟我在看Marstering in EJB2
(可在TheServerSide.com上Free DL ^_^)
在第一章Page38-39中列出了的一項大型商業系統需求清單

在要開始往下了解為啥米要使用EJB前,
先了解大型商業系統所需達成的目標。
所以我想這份清單蠻重要的。
小弟現將其翻譯出來與大家分享

原書中這份列表只是將這些項目列出來並稍作說明。
小弟將我所能理解的意思照翻。
希望大家發覺有錯誤之處能加以指正。
或是覺得原書中過於簡略說明的部份,想加以補充也歡迎修正。

希望這樣的補充能對大家思考如何建置一個完備的系統有所幫助。

Things to Consider When Building Large Business Systems

建置大型商業系統時需列入考慮幾項部份

Remote method invocations.

我們需要將server-client之間透過網路連結的關係邏輯化
這包含了分派服務需求、管理參數及其他更多的細節。

Load Balancing.

Clients應該是以最輕負載來對Server發出請求服務。
如果某一台server發生超載,
那麼應選擇由另一台server來執行此項服務。

Transparent fail-over

一旦某一台server掛點或是網路掛了。
可以在無中斷服務的情況下快速導向至另一台server嗎?
如果可以,那麼有多快可達成錯誤回復?是幾分?還是幾秒?
這是指你的商業服務所能忍受中斷的回復時間。

Back-end integration.

商用資料在寫回資料庫時需考慮與原先舊有系統的資料間有良好的整合。

Transactions.

當有二位客戶同時存取資料庫中的同一欄位時。是否會使資料庫資料損毀。
交易的確認及保護是此項議題的重點。

Clustering.

如果server所保存的狀態毀壞了,這個狀態的值是否已備份至其它server上了?
而clients是否可以繼續使用不同的server所提供的服務。

Dynamic redeployment.

當系統正在持續運作時,我們該如何對它來作更新的動作哩?
你需要暫時的關機停止服務或是能夠持續地執行服務呢?

Clean shutdown.

如果你需要將server關機時,你能很順利的管理資源的回收或資料的保護,
而又不中斷目前正在服務的項目嗎?

Logging and auditing.

當系統出現錯誤時,我們能擁有完整的log來解決或發現問題原因嗎?
完整的log可幫助我們發掘問題的關鍵點並使它不再發生。

Systems Managemetn.

當災難性的錯誤發生時,誰來監控我們的系統?
我們需要一項軟體來自動監控,
以便當災難發生時自動去呼叫管理者來處理。

Threading.

假設現在我們有許多的clients要與server作連結,
而server必須有能力去處理這些client同時發出的服務需求。
這表示server必須是具有多執行緒的能力。

Message-oriented middleware

clients-server間是以明確的訊息型態為基礎來構成此鬆散的架構。
我們需要一些基礎架構來包含處理這些訊息。

Object life cycle.

存在於server上物件的產生及消滅,由client的需求而定。

Resource pooling.

如果某一client不再使用先前所取得的server端資源,
那麼server端的資源將被集中在一處(Resource pool)
等待其它clients連結後再利用。
這包含了像是sockets(例如與資料庫的連線)也如同一些存在於server端的物件。

Security.

系統及資料庫皆須要保護以免受到外來的惡意破壞。
執行使用者命令前,
應確認使用者所執行的是經由允許且他們有權執行的操作指令。

Caching.

讓我們來假設一種情況,
這兒有些資料庫的資料是要讓所有clients所共享及使用。
比方如:一般的產品型錄。
那麼為何我們要讓server一次又一次不斷的去和資料庫取得這些相同的資料。
我們可以讓這些資料保存在server的記憶體中
去避免往返於資料庫之間的存取動作。

當然還有更多更多建置大型商業系統時需列入考慮部份

上述的每一項議題都是一項可分離的服務,
皆須要認真的思考如何處理這些伺服端的運算。
而這些服務是在任何商業問題及各種獨立的企業都所需要的。
現在這些服務被稱之為中介軟體(middleware)

星期五, 6月 28, 2002

費曼先生

來講講我覺得對我蠻有啟發性的一本好書
書名叫"別鬧了,費曼先生" 由天下文化出版

費曼是世界知名的物理學家並曾獲得諾貝爾物理獎
但是他的特立獨行及獨特的幽默感才是真正令人佩服之處

此書是由一連串費曼不可思議的瘋狂事跡所組成
從其中我們也可深刻體會到所謂天才的思維模式是如何

費曼從不以自已在物理上的偉大成就自滿
他反倒希望人們稱他為森巴鼓專家
(事實上他參加過巴西的森巴慶典,並將森巴鼓手這個角色扮演的很好)

這也可從他接獲得到諾貝爾獎得獎的通知時的反應得知
他並非那麼在意人們對於他在物理貢獻上的表彰

對自己被告知得獎的情景,他自己有一段生動的描述:

「我真是搞不懂為什麼有人會在清晨三點半或四點鐘打電話給我。」
「費曼教授嗎?」
「嘿!為什麼這時候打電話來煩我?」
「我想你會很高興知道你得了諾貝爾獎。」
「是,但我在睡覺!如果你等到早上再打來告訴我,不是更好嗎?」
我把電話掛斷,繼續回去睡覺。

另外費曼愛捉弄人的性格在他學會開鎖技巧之後表露無遺
雖然他在書中自承自已並非真正的開鎖大師
只不過是會了點小技巧再加上良好的social skill
(這是不是聽起來很耳熟呢,原來費曼還是Hacker界的老前輩呀)

這也是讓我最佩服費曼的地方,憑著自已的天份
及愛捉弄人的個性,費曼總是有本事把別人唬弄的一愣一楞的
同樣類似的天份也展現在他與數學系學生打賭的事情上

而鐵漢也有柔情的一面,費曼與他第一位夫人間的愛情故事
真令人感到十分感動,其過程精彩不下於坊間言情小說

有人說這個世界是屬於平庸的一輩,因為天才們總是超越這個世界太多
天才總是孤單的不是嗎

但費曼卻是打破了這個說法的最佳明證。
或者我們可以說,他真的是不世出的天才吧。
因為他的天份已經到了可以出世而又入世的境界。

這真是一本好書,我從其中也獲得了不少啟發。
建議還沒看過的朋友可以找時間看看。

也希望大家能把對你有所啟發的好書,Mail給我再與大家分享

星期六, 5月 04, 2002

Miller Time Expired

Pacers VS Nets Game 5

落後三分,Nets還有二罰機會…時間不到十秒…沒有暫停

看來Pacers玩完了,咦~Nets二罰不進…搶下籃板…傳到前場…

剩三秒…Miller接到球…出手…進了…Miller Time再度重現

OT1最後又是不到十秒…落後二分…Miller三分線外接到球

一個出手假動作…往裡頭硬切…飛身雙手扣進…Miller Time又來了…@@

二次生死關頭Miller憑一已之力扭轉戰局…終於在OT2 Miller Time Expired…

不知為何有種莫名的傷感…看著當年的明星球員們一一凋零…

就好像連自已的時代也跟著過去了一樣…

星期三, 3月 27, 2002

Lottery Lucky Number Generator


import javax.swing.* ;
import java.util.*;
public class EZLottery {
private static int allNum[]=new int[42];
public static void main ( String args [] ) {
for (int i=0;i < class="blue">//把42顆彩球裝箱
allNum[i]=++i;
}
String output="";
int[] luckyNum = getLuckyNum();
Arrays.sort(luckyNum);
for (int i = 0; i < luckyNum.length-1; i++) {
output += "【" + luckyNum[i] + "】";
}
JOptionPane.showMessageDialog ( null , output +
"特別號【" + luckyNum[6] +"】" );//秀出結果
System.exit ( 0 ) ;
}
private static int[] getLuckyNum() { //將前七個彩球隨機打亂
int selectNum[] = new int[7];
for (int i = 0; i < selectNum.length; i++) {
int num = (int)(allNum.length * Math.random());
int tmp = allNum[i];
allNum[i] = allNum[num];
allNum[num] = tmp;
}
for (int i = 0; i < selectNum.length; i++) {
selectNum[i] = allNum[i];
}
return selectNum;
}
}


星期日, 1月 20, 2002

偎頭嗄巴落去~


看電影是一件很優閒的事情
讓平時被無聊日子禁錮的靈魂
得到暫時釋放的自由
但是……
總有些鳥人把電影院當成是他家
上週去看了香草天空…
但是我前面那位好動兒讓我不得不跟著他搖擺
更扯的是,他帶了位超愛問劇情的朋友
天…這兩個人竟然就在戲院裡聊開了
當場破壞我欣賞小湯演技的心情
不自覺腦海中浮現偎頭嗄巴落去~的衝動…