作者iincho (..)
看板Soft_Job
標題[翻譯]圖形計算機的故事
時間Tue Mar 4 12:04:50 2008
Copyright (c) 2004 Ron Avitzur.
============================================================
本文譯自
http://www.pacifict.com/Story/
已獲得作者授權翻譯並同意於PTT發布
譯者 委員長
============================================================
太平洋科技公司的圖形計算機軟體有個很長的故事。在1985年,當我
還在學校的時候,就已經開始進行這個項目。它後來變成了Milo,稍
後又成為FrameMaker這個產品的一部分。圖形計算機1.0版和蘋果電
腦第一版PowerPC一起出貨源自於一個相當特殊的狀況。
我曾是蘋果公司一個秘密計畫的約聘人員。不幸的是,我們發展的電
腦從來都沒有公開過就被取消了。該計畫被政治及自我意識所詛咒,
以致於當工程師們要求一個技術監督人員時,我們的主管找了個心理
學家來頂替。1993年八月,這個計畫取消了。我們一整年的努力就這
麼飛了,我的約聘到期,也失業了。
因為浪費了如此多的努力,讓我非常的沮喪。因此我決定維持計畫裡
我負責的那一小部分,之前有人付我錢叫我幹活而我希望繼續把這東
西做完。因為我的電子狗牌仍然可以打開蘋果公司的大門,所以我仍
然持續的到公司露臉。
許多人同情我,蘋果的工程師們認為我做的東西很酷,當我在demo
的時候,我同事說:「真希望我上學的時候有那玩意。」那些在蘋
果公司裡更換微處理器到PowerPC計畫的工程師更是特別支持,他們
認為我的軟體可以展示新機器的速度。然而這些人之中沒有一個能夠
雇用我,所以我只好以用那種典型的臭鼬鼠工程型態[1],非正式的
進行,
我那時候對PowerPC一無所知,也不知道如何將我的軟體修改成可以
在那上面跑。在八月的某天晚餐後,有兩個傢伙突然出現,聲稱他們
可以窩在我的辦公室裡工作直到這個修改完成。接下來六個小時我們
三個就修好了五萬行的程式碼。這個工作就像是個棘手的外科手術,
需要對晦澀難解的MacOS,PowerPC,以及我的軟體有深刻的了解。如
果單獨工作,我們當中任何一人都得花上好幾個禮拜才做得到。
凌晨一點的時候,我們晃到一間有PowerPC原型機的辦公室。彼此看
了一眼,深呼吸,然後執行了程式,螢幕就燒起來了。我們冷靜的把
它搬到外頭以免觸動火災警報器,接上另一個螢幕再試一次。軟體並
不是造成火警的原因,只是那個螢幕碰巧在那個時候掛了。這個程式
比在舊處理器上跑快了五十倍,我們玩了一下就同意:「這東西不賴」
(蘋果公司的讚美黑話). 雖然有個令人感動的demo,但要把它產
品化還得花上好幾個月的苦工。
我向我朋友Greg Robbins尋求協助,因為他在蘋果公司內另一個部門
的合約剛好到期,所以他告訴他的經理以後他是我手下。他的經理既
沒問我是誰也沒收回他的狗牌。我則是告訴其他人我是他手下。既然
在這個圈子裡已經沒有任何經理,我們不必開任何會,所以極有生產
力。一天工作12小時,每週七天。Greg有用不完的精力,而且對細節
有著如完美主義者的堅持,經常整天躲在緊閉的門後寫程式,我則把
許多時間花在和其他工程師交談。因為是我把他找來幫忙,我必須跟
上他的步調,幸好我臥房朝東的窗戶沒掛窗簾,天剛亮我就起來並且
通常比 Greg早十分鐘到。他會覺得我已經工作幾個小時,所以應該
要做到很晚來配合我。作為回報,我覺得應該待到和他一樣晚。這個
反饋循環創造了總是上升的生產力迴旋。
蘋果園區附近的人看到我們總是在那出現,就認為我們是屬於那個地
方的,很少人問我們是誰和我們在幹什麼。當某人真的問我時,我從
不說謊,靠的是大企業裡冷漠的力量,對話通常類似如下:
問:你在這工作嗎?
答:不是。
問:你是指你是約聘?
答:實際上也不是。
問:那誰付你薪水?
答:沒人。
問:那你怎麼過活?
答:我的生活簡單。
問:(懷疑地) 你在這幹麻?!
當時我給了個demo,並且解釋我們的計畫已經被取消,但我留下來繼
續完成它。因為我既沒貸款又沒家庭,所以我可以靠存款過活。大部
分的蘋果工程師都經歷過許多被腰斬的計畫,所以能完全理解我的動
機。
當時在蘋果公司裡,臭鼬鼠工程計畫是個很強的傳統:工程師們會持
續進行那些被取消的計畫,希望能做出demo以喚起管理階層將它們復
活。偶爾他們會成功,例如一個代號叫妖怪(Spectre)的計畫被取消
又重新開始超過五次。工程師在全職於他們被交付的計畫外,下班之
後會進行他們的臭鼬鼠工程。 Greg和我不是職員,所以白天沒事幹,
僅是將這個傳統擴展到了另一個層次。
九月,蘋果公司的工務部門試著把一些人移到我們那間在帳上應該是
空的辦公室時,注意到了我們。工務部門的女士認為我們只是換了計
畫,但是還沒移到新的辦公室。她問我們在哪個團隊裡做事,因為幫
我們找位置是那個團隊該做的事。當我把真相告訴她時,她顯得不怎
麼高興,找來了安全人員叫他們取消我們的狗牌,並且明確地請我們
離開辦公室。
我們被那個月開始的資遣活動所救。蘋果公司的一萬五千名員工中,
百分之二十失去了工作,但是Greg和我是安全的。首先我們不在名冊
上,並且沒正式存在過。後來有許多辦公室空出來,我們找了兩個位
置,開始每天偷偷混進大樓,方法是在前門等真的員工出現。並緊跟
著他們穿過大門。因為我們把舊的狗牌當成誘餌,所以僅管許多人都
知道我們,但沒人過來詢問。
我們進展的很順利,但無法只靠自己就將計畫完成。創造一個複雜的
軟體需要團隊的合作,一個人可以利用鏡子和煙霧弄出一個令觀眾讚
嘆不已的demo,然而一但被發行到幾百萬的用戶的時候就會暴露出缺
陷,給每個人留下一個壞印象。有句老話說,我們的工作的前90%是
很容易的,剩下工作中的90%讓你厭煩,而最後工作的90%--對於細節
的執著--才能創造出好的產品。做一個能同時滿足易學、易用、有親
合力、實用且功能強大的軟體,需要有同時具有經驗、天份、以及藝
術才能的人們一起有耐心且努力的工作。Greg和我可以做核心工程,
但是這樣離產品完成的目標還很遠。
除此之外,我們需要專業的測試人員(QA),一個困難且耗時的測試可
以幫忙找出我們在設計上的缺陷與自己沒辦法看見的臭蟲。這時兩個
我們從來都沒見過的測試人員經由謠指部聽到了我們的冒險,突然冒
出來找我們(我們已經引起檯面下的廣泛討論)。他們白天的工作是測
試一個系統軟體,已經讓他們覺得如思考麻痺一樣的無聊,所以他們
自願來幫忙。他們說:「別告訴我們的老闆這些,好嗎?」其中一個
是數學博士,另一個之前自己寫過數學軟體。像是天上掉下來的禮物,
他們馬上開始工作。
接下來我們需要寫個能利用我們核心產生的資料來畫出三度空間影像
的軟體。我們的一個朋友是這方面的專家,利用他不必去他草創初期
的公司上班的週末包辦了所有的工作。他做兩天的事我得花一個月的
時間才做得完。
在這些專家和其他人在圖形設計、文件、程式、數學以及使用者介面
方面的幫助下,我的臭鼬鼠工程計畫開始像是玩真的。程式設計的秘密
不在於智力,雖然他們無疑的有幫助;也不在於努力工作或是經驗,
雖然這也有幫助;程式設計的秘密在於有一群聰明的朋友。
還剩下最後一個急迫的問題:要怎麼把這東西混進將要發售的機器中
的系統軟體裡?「我們可能會失敗」這件事比「可能因為不法侵入被
起訴」更使我恐懼。我和Greg花的全部心血,所有朋友們暗中給予的
幫助,我厚著臉皮打擾的那些認識或不認識的人們,所有自願投入的
時間、專業、硬體、碳酸飲料和垃圾食物都將白白浪費。
又一次,我的精神被一個陌生人的好意拯救。某天早上凌晨兩點,一
個訪客出現在我的辦公室裡,是負責製作PowerPC系統碟母片的工程
師。他解釋事情可以這樣幹:「蘋果是一家硬體公司,工廠離蘋果大
樓很遠,他們產線上的最後步驟裡有一項是從系統母碟將檔案拷貝到
每台電腦的硬碟中。我負責製作母碟並透過FedEx送到工廠。某種層
面來說,實際上,我決定什麼軟體該發行或者不發行。」他告訴我,
如果我在開始開始生產前一天給他我們的軟體,這東西可能就會出現
在母碟裡。之後,在任何人發現它在那之前,三萬份我們軟體在磁碟
上的拷貝就會被打包送進倉庫。 (回憶起來,他可能只是開個玩笑,
但是那時我們不知道。因此這件事讓我們有信心繼續前進)
一旦我們有個看起來可行的發行方式,蘋果公司就變成一個很理想的
工作環境。每個我們認識的工程師都樂意幫助我們,我們拿到若我們
還領公司薪水的話根本不可能拿到的資源。舉個例子,當時世界上只
有大約兩百顆PowerPC的晶片,大部分都是蘋果的硬體設計工程師在
用,只有約數十台的PowerPC給那些系統軟體部裡開發作業系統的人。
即使在系統軟體部這些機器還是夢寐以求的,而我們有兩台。工程師
們半夜跑來我們辦公室,幾乎是悄悄地把機器塞進門下。其中一位說:
「這台機器不在帳上,你沒有從我這拿到它,而且我不認識你。記得,
千萬別讓這些機器離開這棟建築。」
十月,當我們覺得我們幾乎要完成了,那些幫助過我們的工程師讓我
們demo我們的軟體給他們的經理看。一打左右的人擠在我的辦公室。
我並不期待經理們的支持,但是我對他們誠懇地爭取正式管道的努力
感到感激。我做了個二十分鐘的demo,引起了一陣陣「噢」和「啊」
的讚嘆聲。之後他們問我:「你老闆是誰?屬於哪個團隊?為什麼我
們之前沒看過這玩意?」我解釋我是偷偷溜進大樓,而且這個計畫根
本不存在時,他們開始笑,直到他們了解到我是認真的。之後他們告
訴我:「別再告訴別人這個故事。」
PowerPC軟體部門的頭是個學者,正離開Dartmouth做休假研究,
PowerPC行銷部門的頭是個數學老師的小孩。他們看到了把這個教育
性的軟體放進每個學校裡每一台麥金塔的價值,所以立刻採用了我們
的提案。
之後事情真的變得很詭異。測試經理指派一些人來測試(我沒告訴他
這些傢伙早就已經在做了);區域化團隊派人來把它翻譯成十二種語
言;人機介面團隊做正式的可用性調查;我則處於這場活動旋風的中
心。然而,Greg和我依然得偷偷溜進大樓,影響這家公司未來的
PowerPC計畫成員不申購的話沒辦法幫我們弄到狗牌,而申購需要一
紙簽署的合約,沒有法務的允許他們弄不到這合約。如果法務聽到這
件事的話,我們會被趕出這棟大樓。
有一天Greg偷偷地在外面等,試著裝著漫不經心的時候,另一個工程
師向他攀談說:「我受夠了你們兩位每天在大樓前面閒晃!」稍後他
代我們打給相關的官僚,我在旁邊聽到了二十分鐘的對話:「不,他
們沒有申購單,因為我們沒付他們錢。不,他們沒有合約,因為他們
不是約聘。不,他們不是員工,我們無意雇用他們。是的,他們一定
要能通行這棟大樓,因為他們的程式和我們的盒子一起出去。不,我
們沒有申購編號,因為沒有申購單,因為我們沒付他們錢。」最後他
終於把他們搞得精疲力竭。說可以用標準申請表來申請狗牌,但是必
須把約聘劃掉並且寫上供應商。在申購編號那欄,我們寫上「不支薪
的約聘」這個不可思議的詞。第二天我們拿到了橘色供應商的狗牌,
和那些在餐廳工作、替植物澆水和修理影印機的傢伙一樣型式。
官方的認可讓我們生活變得刺激有趣,一夕之間越來越多人變得熱心
參與。當以學生及老師為對象,正式的可用性測試開始時我們又一次
發現,我們離把事情做完還很遠。
我一直對我們程式設計的優雅和簡潔感到驕傲,我希望我們的程式和
每一台麥金塔一起出貨,因此我將他設計成每個使用者都可以用,即
使他們只懂一點點電腦並且討厭數學。我希望把數學變容易並且像在
玩遊戲一般愉快。在教室裡,任何因為電腦感到沮喪的時間就佔走了
學教學的時間。當我做在雙面鏡後面看到第一次使用的使用者艱難地
使用我們的軟體時,提醒我程式設計師是最差勁的新手軟體設計者。
因為這件事大丟面子的五天後,Greg和我費盡苦心地根據使用者的意
見修改軟體,就好像我們站在使用者旁邊,親自向他們解釋一樣。
因為已經沒辦法維持秘密活動的狀態,我們的存在在某些方面使得生
活變得有趣。在demo給外面的開發人員看了之後,某人通知蘋果公司
聲稱我們侵犯了他的專利,公司人慌忙地處裡這個事件直到我拿出東
西證明它是我們已有的技術。另一家做Mathematica(TM)的公司僅是
禮貌地要求將我們的產品從麥金塔系統中移除,蘋果公司也禮貌地拒
絕。一個禮拜之前我們還得躲警衛,一個禮拜之後蘋果公司幫我們辯
護。
到十一月之前,我們處於完全的關鍵時刻,一天工作十六小時,每週
七天,感覺相當有壓力。最後的階段變得模模糊糊 - 早上醒來隨手
拿個貝果,邊開車邊吃,一直工作到不行了就去睡覺,這些階段不停
重複。假如這個故事是個電影的話,我們可以看到一個鐘在身後轉啊
轉、日曆一頁一頁地被風吹走。
在1994年的一月我們完成了這項目,圖形計算機軟體從那時候成了麥
金塔的一部分。世界各地的教師將它當成生動的黑板,用來具象化地
說明抽象的概念。它在超過兩千萬台的機器上一起被賣出。但它從來
沒有正式地存在過。
為什麼Greg和我會做出像是溜進一個八百億企業大樓企業,只為了做
志工這種荒唐可笑的事?蘋果公司當時正面臨經濟危機,我們開玩笑
地說我們正在非營利機構自願工作。實際上我們的動機非常複雜,部
分是 PowerPC是個驚人的機器,我們想賣弄一下我們能用它做些什麼,
以「搖滾萬萬歲」[2]裡面的話來說就是:「很好,這傢伙暴走了。」
一部分是我們覺得這可以寫個故事;一部分這是個電腦硬派想做的事:
我們之前從來都沒有出過一個百萬份以上的軟體;最主要的是,Greg
和我覺得創造一個高品質的教育軟體是個公共服務。我們做這個是
為了幫助孩子們學數學,公立高中通常都太窮以致於沒辦法買軟體,
因此幫助他們最有效的方法就是將它在工廠就裝好然後交給他們。
在這背後有一連串心理和政治上的問題:是因為計畫被取消的痛苦讓
我做出這件事?我為了自己的目的,顛覆性地取得跨國公司的資源?
或是,我天真的被體制所操作而讓我極為努力的工作,僅是為了它的
利益?我只是個我行我素,被自大和自尊所驅使的傢伙?亦或,我就
是單純獻身於教育事業?
我將這些視為顛覆權力結構的一個實驗。我對任何人沒有任何傳統上
因為企業及官僚結構所賦予的權利。我既沒預算底下也沒人頭。我不
必回答任何人的問題,也沒有人必須我要求他們的事。成打的人們基
於忠誠、友誼和對技術的熱愛自發性地合作。我們是駭客,創造新的
事物僅為了純粹的樂趣。
經歷六個月不眠不休但沒報酬的工作後,Greg無法和他的雙親解釋他
做了什麼。他們不用電腦,僅是偶爾看看紐約時報。所以當計畫快收
尾時我問Greg是否希望照片出現在紐約時報上,這樣他雙親就知道他
到底在幹麻。想當然爾他給了一個答覆:「是啊,的確是」。我們賭
了一頓晚餐,約在Saratoga一家叫Le Mouton Noir不錯的法國餐廳。
說實話,我覺得我會輸。但我還是打了電話。Greg從此之後就不再找
我打賭了:在1994的三月11日,紐約時報的商業報導的首頁,頭版登
了我和Greg在照片,背景是Santa Cruz Mountains的照片。同一頁還
刊登了一篇關於蘋果公司、IBM和摩托羅拉公司結盟的文章。有個在
蘋果公司公關部我認識的傢伙非常生氣。我曾問她是否希望派個人去
接受訪談,她說工程師不允許和媒體談任何東西。對於無法被開除的人
來說這種事當然沒什麼約束力。然而這對蘋果公司還算是個正面的新聞,
而且我們的父母很高興。
我們也想發行一個成為Windows 98一部分的Windows版本,但很不幸
地,微軟的大樓門禁還蠻有效的。
附錄:在這件事被說出來以後,我們盡力使每件事溯及既往地合法化,
將軟體授權給蘋果公司發佈.幾年後太平洋科技公司開始了生意並且
繼續發展圖形計算機的免費及商業版本,免費版本隨著蘋果的Mac OS
8和 9一起出貨,請造訪
http://www.PacificT.com/FreeStuff.html
下載這個軟體。
註釋:
[1]臭鼬鼠工程: 原文是skunkworks,原來是美國洛克希德馬丁公司的一個
部門,創造出傳奇的U2、SR-72和F-117。在這裡意思是借
這個部門獨特的管理方式–鬆散的管理,傑出的人才,各自
分散的工作地點等 – 來類比作者進行的這個計畫。
[2] 搖滾萬萬歲: 為電影This Is Spinal Tap的中文譯名。後面的
This one goes to eleven原意是把音量調到最大,在這裡
是用來形容一個人到達極限的狀態,翻成鄉民用語「暴氣」
也很傳神,不過為了照顧非鄉民最後決定翻成「暴走」。
譯者的廢話:
第一次讀到這篇文章就有股莫名其妙的衝動,等我發現的時候文章已經譯完,
只能說是一時糊塗。原文有很強的口語性,在翻譯的時候一併考慮進去,
閱讀時如覺得有些詞有點怪,多半是故意的。
如果看完這篇能讓您找回一點工作時的夢想,就不枉我翻這篇了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.53.4
※ 編輯: iincho 來自: 220.130.53.4 (03/04 12:07)
推 globelin:推~~~ 03/04 13:26
推 luke1105:國中時玩peforma映像中有這一套 03/04 13:38
推 richliu:有 RD 魂一定要推的~~~ 03/04 13:44
推 rogerjian:推啊, 翻得不錯~ 03/04 19:15
推 flys:有熱血 03/06 07:17
推 buggy:推 03/07 04:35
推 kekeo:so fun 03/07 22:44