From: Shann Wei-Chang【 在 shann (阿丹) 的大作中提到: 】 : 今天隨便看看電視, 看到一則很短的新聞回顧. 說一名十四歲的少年想到法子 : 解決 PC 上因為二位數年份所引起的 1999 -> 1900 年的軟體危機. 真丟臉我從來沒有 : 聽說過這個新聞 (我知道二位數年份危機的事, 不知道少年提出解法的事). 有誰 : 可以給我多一點兒資料? 謝謝. 上面是我在九七年十二月二十八日問的. 沒人理我 8-( 正好可以自問自答了. 昨天收到 IEEE Computer Society 的 Computer 期刊 (1997 十二月份), 晚上帶回家 翻翻. 坐在電視前面, 不小心被電視吸引了, 就隨手亂翻. 也不知道為什麼停手在 某一頁, 等我低頭回到書本的時候, 眼光正好就放在一行字上: Teenager Offers a Solution to Year 2000 Problem 所以啊, 人生真的有許多巧合. 只要有緣, 【人生何處不相逢】是嗎? 故事是這樣的. 紐西蘭一位十四歲的少年 (男), 名叫 Nicholas Johnson, 住在 Christchurch 這個城市, 寫了一個程式, 宣稱可以解決部分的西元 2000 年問題. 一位專業的電腦程式設計師, Andrew Siddel, 檢驗了這個程式, 他認為這少年的 程式 "appears very promising" (看起來大有可為). 因為他們想要將此程式 商業化 (那還客氣啊), 所以不便透露太多. 基本上, 他有個辦法在電腦啟動後, 作業系統進入前, 就先跑去欺騙一下 BIOS. 使得往後的 DOS function call 和 BIOS function call (修過組合語言的同學就該懂得是什麼意思), 都會在 西元 2000 年後仍然得到正確的日期. 所以, 理論上, 如果應用程式的內部是 透過 DOS 或 BIOS function call 取得日期的, 那就會正確地執行. 至於 那些自作聰明的應用軟體, 就自求多福了. 對於那個程式的內容, 我覺得沒什麼大不了 (認真去想的話, 我也寫得出來). 我佩服 的是, 十四歲的少年怎麼會懂到 BIOS 裡面去? 我可以自我解嘲, 因為我十四歲的 時候連 Intel 都還沒成立, 我哪裡會懂它的 BIOS? 但是, 即使今天專業科系的大學生, 會懂到 BIOS 裡面去的也不普遍吧. 這使我聯想到 Erdos 七歲的時候發明鴿籠定理. 鴿籠定理這個點子我覺得沒什麼大不了 (認真去想的話, 我也想得出來). 當時他用鴿籠定理去證明了一個互質的命題. 我佩服的是, 七歲男童怎麼會懂得【互質】呢? 我七歲的時候連除法都還不會. 這兩個故事告訴我們, 光是所謂的【有創意】是不夠的. 一個人必須有足夠深度 的基礎知識, 他的創意才會有意義. 【後記】 2001/08/01 這篇文章再度出現,是人轉貼的。 天啊,這篇是從哪裡轉來的?我自己都忘了這回事!再讀一遍,看來大致上還 同意。只是有一處不對,需要訂正。 : 的是, 十四歲的少年怎麼會懂到 BIOS 裡面去? 我可以自我解嘲, 因為我十四歲的 : 時候連 Intel 都還沒成立, 我哪裡會懂它的 BIOS? 但是, 即使今天專業科系的大學生, 這句話錯得離譜。不知道我當時在想什麼?我十四歲的時候是 1976,Intel 已經 八歲了。甚至 8080 晶片都已經兩歲了。我只是在數學系的 MCL 版和實驗室的工讀生 閒聊,沒想到會被人轉錄,現在要鄭重修訂。
[ 回上層 ]