自NewYorker,作者:James Somers,機器之心編譯。
有很多人認為,Jeff Dean 的存在是谷歌如此強大的原因,谷歌員工都把谷歌搜索驚人的速度歸功于他,他也是神經網絡框架 TensorFlow 的主導設計者之一。在被谷歌面試時,這位大神被問及如果 P=NP 意味著什么。Jeff 答道:「P=0 或 P=1」。然后,在所有面試官還沒笑完之前,Jeff 瞄了一眼谷歌的公共證書,然后在白板上寫上了對應的私鑰(以上為玩笑)。近日,《紐約客》終于發布了他們描寫 Jeff Dean、以及 Jeff 的「好基友」Sanjay Ghemawat 的特稿。記者不僅和這兩位程序員聊天,也在一旁觀察了他們是如何工作,甚至吃晚餐的。紐約客指出,Jeff 和 Sanjay 共用同一臺電腦寫代碼。
文章發出之后,Jeff Dean 表示:「我認為這篇文章精準地捕捉了我們的工作風格。」
讓我們看看這篇歷時一年半才寫成的「黑歷史」都說了些什么。
2000 年 3 月的一天,谷歌六名最優秀的工程師聚集在一個臨時「作戰室」里。當時的谷歌正處于前所未有的緊急狀況中:1999 年 10 月,谷歌的核心系統(抓取網頁然后構建「索引」)停止運轉。盡管用戶當時仍可以在 google.com 中輸入查詢,但搜索結果已經是五個月前的了。工程師意識到的困難更多。當時,谷歌聯合創始人 Larry Page 和 Sergey Brin 商議與雅虎進行合作,為雅虎提供搜索服務,他們承諾提供十倍于目前索引結果的索引,以跟上萬維網的增長(2000 年萬維網的規模是前一年的 2 倍)。如果失敗,google.com 仍然是時間膠囊,凝固在過去的時間中,與雅虎的合作可能失敗,谷歌有可能燒完現有資金,然后死亡。
在樓梯旁的一間會議室里,工程師將門板橫在木板凳上,在上面放置計算機。27 歲的 Craig Silverstein 坐在墻邊。他是谷歌第一名員工:在谷歌辦公室還在 Brin 起居室時他就加入了這家公司,并且憑一己之力重寫了很多代碼。四天四夜之后,他和一名羅馬尼亞系統工程師 Bogdan Cocosel 仍然一籌莫展。「我們所做的所有分析都沒有用,一切都崩潰了,而我們卻找不到原因。」Silverstein 說道。
Silverstein 幾乎沒有注意到 Sanjay Ghemawat,這位安靜的 33 歲 MIT 畢業生眉毛濃密,一頭黑發,但鬢角處已經斑白。Sanjay 幾個月前加入這家公司(12 月)。他追隨 Jeff Dean 加入谷歌,他們之前同在 Digital Equipment Corporation。Jeff Dean 比 Sanjay 早十個月離開 D.E.C.。他們關系很好,喜歡一起寫代碼。在作戰室里,Jeff 把椅子挪到 Sanjay 的桌子處,Sanjay 使用鍵盤工作,Jeff 就在一旁糾正錯誤,就像制片人通過耳機對新聞主播耳語一樣。
Jeff 和 Sanjay 開始專心檢查停頓的 index。他們發現一些關鍵詞丟失了,搜索「mailbox」時無搜索結果,有搜索結果時也是亂序的。這些天來,他們一直在查找代碼中的錯誤,檢查代碼的邏輯。然而,每一部分都檢查過之后,依然沒有發現 bug。
程序員有時候將軟件概念化為多層結構,包括頂層的用戶界面和比較基礎的層。探索該結構的底部(即軟硬件的交接處)意味著不再按照代碼的邏輯順序,而是觀察代碼依賴的電子和硅的宇宙。在作戰室的第五天,Jeff 和 Sanjay 開始懷疑問題可能不在于邏輯,而存在于物理層面。他們將混亂的索引文件轉換成原始表示格式:二進制代碼。他們想了解機器看到了什么。
多個 1 和 0 的列出現在 Sanjay 的顯示器中,每一行表示一個索引詞。Sanjay 指出:一個本應該是 0 的數字卻顯示為 1。Jeff 和 Sanjay 將所有錯誤分類的詞放在一起,然后觀察到一種模式:每個詞都出現了同樣的故障。機器的存儲芯片被破壞了。
Sanjay 看著 Jeff。幾個月以來,谷歌正在經歷越來越多的硬件故障。當時的問題是,谷歌正在成長,所以它的計算基礎設施也在擴張。計算機硬件很少出錯,直到問題積累爆發——然后就會一直無法運轉。線路磨損、硬盤壞道、主板過熱。很多機器從一開始就沒有工作過,有些則速度慢的讓人無法接受。各種奇特的環境因素也必須考慮在內——當超新星爆發時,爆炸會產生向所有方向散發的高能粒子。科學家認為有很小的幾率,一種被稱為宇宙射線的粒子可以擊中計算機芯片,讓 0 和 1 翻轉。所以,世界上最魯棒的計算機系統,比如 NASA、金融公司的系統,會使用可以接受單比特翻轉的特殊硬件。但此時的谷歌仍然更像一家初創公司,使用的是缺乏這種功能的廉價計算機。這家公司已經到了發展的拐點,它的計算集群變得無比巨大,大到無法忽視這種硬件故障。
Jeff 和 Sanjay 一起寫代碼來補償硬件的問題。很快新 index 就完成了,作戰室宣告解散。Silverstein 曾陷入困境。他是一個很好的調試員,但解決的關鍵是找到問題的根源,Jeff 和 Sanjay 走得更深。
在 3 月份 index 崩潰之前,谷歌的系統根植于其創始人在斯坦福大學攻讀博士期間所寫的代碼。Larry Page 和 Sergey Brin 并不是專業的軟件工程師,他們是在學界進行搜索技術實驗的人。當他們的網絡爬蟲崩潰時,并不會出現診斷信息——只會出現諸如「Whoa、horsey!」之類的字眼。谷歌的早期員工常稱之為 BigFiles,其名稱來源于 Page 和 Brin 的一個軟件 BugFiles。他們最重要的索引代碼需要數天時間才能運行完成,如果遇到問題則必須從頭開始重新啟動。按照硅谷的說法:谷歌不具有「可擴展性」。
我們會說「搜索整個網絡」,但實際上搜索引擎并不會這么做:我們的搜索引擎會遍歷 Web 的索引——一張地圖。當谷歌在 1996 年仍被稱為 BackRub 時,它的地圖還很小,足以被裝進 Page 在宿舍安裝的電腦里。但到了 2000 年 3 月,已經沒有足夠大的超級計算機可以處理它了。谷歌要跟上萬維網增長速度的唯一辦法就是購買消費級電腦并將它們組成集群。因為電腦的一半成本都花在了對谷歌無用的軟盤驅動器、金屬機箱上,因此谷歌購買電腦主板、硬盤,然后自己組裝電腦。谷歌有五百個這樣的計算機,堆起來有六英尺高,它們被放置在加州圣塔克拉拉的谷歌數據中心。由于硬件故障,僅有二百臺計算機能夠正常運轉。這些看似隨機發生的故障繼續摧殘著整個系統。為了生存,谷歌不得不將計算機連接成為一個無縫、堅韌的整體。
Jeff 和 Sanjay 共同主導這一舉措。2000 年 11 月,曾在蘋果公司研究蘋果電腦的 Wayne Rosing 加入谷歌,運營百人工程團隊。「他們是領導。」他說。工程師每周工作九十個小時,如果不把代碼輸入整體系統,則單個硬盤肯定會出現故障。于是工程師為網頁抓取過程添加了檢查點。通過開發新的編碼和壓縮機制,他們有效地使系統容量翻倍。他們是不懈的優化者。汽車拐彎時,外輪覆蓋的地面面積更大;類似地,運轉著的硬盤的外邊緣(outer edge)比內邊緣更快,但內部處于半空狀態。Jeff 和 Sanjay 使用該空間存儲常見搜索查詢的預處理數據。2001 年 1 月 4 日,他們證明谷歌的 index 可以使用快速隨機存取存儲器(RAM)來存儲,而不用相對緩慢的硬盤,這一發現重塑了谷歌的經濟狀況。Page 和 Brin 知道用戶會樂于使用一項能夠提供即時答案的服務,問題在于速度(即時性)需要算力,而算力需要錢。Jeff 和 Sanjay 完成了這一艱巨任務。
2005 年 Rosing 離開谷歌后,Alan Eustace 成為工程團隊的新領導。Eustace 稱,「荒謬的是,要想解決大規模問題,你必須先了解最微末的細節。」Jeff 和 Sanjay 對計算機有非常深入的了解。Jeff 曾經寫過一份清單《Latency Numbers Every Programmer Should Know》。實際上,這是一份數字清單,幾乎沒有程序員了解。而這些數字已經嵌在 Jeff 和 Sanjay 的大腦中。他們帶頭對谷歌的核心軟件踐行了幾次重寫,該系統的容量擴展了幾個數量級。同時,谷歌的數據中心專家按照軟件生成的指令來設置硬盤、電源供給和記憶條。這樣即使某個部件壞了,整個系統仍然能夠運轉。
今天,谷歌的工程師處于一個「存在鎖鏈」中,從 Level 1 開始。最底層一級即 Level 1 是 IT 支持人員,Level 2 是應屆大學畢業生,Level 3 通常有碩士文憑。到達 Level 4 需要幾年工作經驗,或者有博士文憑。大部分工程師停留在 Level 5。Level 6 工程師(top 10%)能力非常強悍,他們可以是一個項目成功的關鍵。Level 6 工作經驗逐漸增長到一定程度會升成 Level 7,而 Level 8 和主要產品或基礎架構相關。Level 9 是 Distinguished Engineer。Level 10 是 Google Fellow,該榮耀一旦得到將伴隨一生,Google Fellow 通常是其領域內的世界級頂級專家。而 Jeff 和 Sanjay 是 Google Senior Fellow——谷歌唯二的 Level 11。
這兩位頂級程序員就像一個大腦的兩個半球
谷歌園區坐落在距離山景城中心幾分鐘車程的高速公路旁,園區里的建筑矮矮的,沒有什么吸引力。去年夏天的一個周一,在一起編程整個上午之后,Jeff 和 Sanjay 去了一家名為 Big Table 的餐廳吃午飯,這家餐廳是以他們倆 2005 年幫助開發的一個系統命名的,該系統將無數計算機視為一個數據庫。Sanjay 又高又瘦,穿著一件 maroon Henley 的舊 T 恤、灰色褲子,戴著一副小小的線框眼鏡。他發現餐廳外面有張空桌子,快步走過去占了,打開傘,在陰涼處坐下,還替 Jeff 把另一把椅子搬到了太陽下。幾分鐘后,Jeff 到了,肩膀寬寬,穿著短袖襯衫和時髦的運動鞋。
兩人就像一對夫妻,各自講述一點過去的事情,就這么拼湊出了過往的回憶。他們開始回憶早期的項目。
「我們當時還是手打代碼,」Sanjay 說道。他的眼鏡在陽光下萌生出一絲陰影。「我們會重寫代碼,然后感覺——『噢,這和上個月寫的好像差不多』。」
「或者索引數據的傳遞略有不同。」Jeff 補充道。
「略有不同……我們就是這樣發現問題。」Sanjay 說。
「這是重點。」Jeff 說。
「這是常見模式。」Sanjay 補充完。
Jeff 咬了一口他買的披薩。他長著像水手一樣的手指,指節粗大還有點粗糙;相比之下,Sanjay 看起來似乎有點脆弱,他也不知道當初是怎么和 Jeff 成為搭檔的。「我也不知道當初是怎么決定在一起合作的。」他說。
「我們加入谷歌之前就是搭檔了。」Jeff 說。
「但我記不清為什么要在一臺電腦上編程,而不是在兩臺電腦上干活。」Sanjay 說。
「在 D.E.C. 工作的時候,我經常從我的實驗室走兩個街區去他的實驗室,」Jeff 說道,「路上有家冰淇淋店。」
「是有家冰淇淋店!」Sanjay 高興地說道。
Sanjay 一直未婚,但他會和 Jeff 一家人去度假,Jeff 的兩個女兒喊他 Uncle Sanjay。他們五個人經常在周五一起吃飯。Sanjay 還會和 Jeff 的大女兒 Victoria 一起做烘焙。他自豪地說:「我算是看著她們長大的。」2004 年谷歌首次公開募股以后,他們搬到了僅隔四英里的房子里。Sanjay 住在山景城一個普通的三居室里;而 Jeff 則在帕羅奧多市中心附近設計了自己的房子。他在地下室里裝了一張蹦床。在設計房子時,他發現雖然自己喜歡設計空間,但并沒有耐心去完成「適合 Sanjay 的部分」:橫梁的細節、螺栓以及保證整個設計不至于分崩離析。
「我不知道為什么別人不這么干——合作編程。」Sanjay 說道。
「你要找一個與自己思考方式兼容的人一起合作編程,這樣你們兩個就可以互補了。」Jeff 說。
在分享工作生活多年以后,兩個人會形成一種私密的語言,就像雙胞胎一樣。他們會模仿彼此的穿著和習慣,幽默感會在潛移默化中傳遞。他們的貢獻也很難分出高下。但這種強度的伙伴關系在軟件開發中非比尋常。雖然有些開發者嘴上會說「合作編程」——兩個程序員共用一臺電腦,一人「駕駛」一人「導航」,但他們通常認為這種合作是累贅。相比之下,Jeff 和 Sanjay 有時候看起來像是一個大腦的兩個部分。他們很多著名論文是二人合著的。他們的經理之一 Bill Coughran 回憶:「他們倆搭檔時效率很高也很多產,所以我們經常得圍繞他們倆組隊。」
1966 年,System Development Corporation 的研究人員發現,最出色的程序員效率是最差的程序員效率的十倍以上。自此,所謂的「十倍效率程序員」開始引發爭議。這個概念推崇個體,但軟件項目通常是龐大的集體項目,在編程中很少有人能獨立取得成就。即便如此——甚至有些諷刺的是,很多程序員都相信「十倍效率程序員」的存在,因為他們看到了 Jeff 和 Sanjay 的合作成果。
Jeff 和他的父母經常搬家。13 歲的時候,他在八年級的最后三個月里翹課去西索馬里的難民營幫助父母。高中的時候,他開始為流行病學家編寫叫做 Epi Info 的數據收集程序;之后,這個程序成了流行病學家野外作業的標配工具,最終,該程序以十幾種語言發行了數十萬份。
Jeff 讀博期間專注于編譯器(一種將人寫的代碼轉化成為計算機優化的機器語言指令的軟件。)「要說性感,編譯器真是無聊透了,」Alan Eustace 說道;但另一方面,編譯器卻可以幫你「拉近與機器之間的距離。」Jeff 描述道,Sanjay 則用食指揉著太陽穴。「你寫代碼的時候他在研究一個模型,」他說。「『代碼的性能將會如何?』他基本上會半自動地考慮所有極端情況。」
Sanjay 17 歲之前沒有碰過電腦,直到他去了康奈爾大學。1966 年,他出生在印第安納州的西拉法葉,但在印度北部工業城市科塔長大。他的父親 Mahipal 是一名植物學教授。Sanjay 的家人都很愛讀書:他的叔叔 Ashok Mehta 買過一本 Frederick Forsyth 寫的 The Day of the Jackal,這本書裝幀非常破舊,他看著 Ghemawat 家的孩子們一起閱讀這本書,并在讀完一頁時為他們翻到下一頁。Sanjay 的哥哥 Pankaj 成為了哈佛商學院獲得終身教職的最年輕教師(他現在是紐約大學斯特恩商學院的教授)。Pankaj 和 Sanjay 上同一所學校,被譽為「全才」(Renaissance man)。「我有點活在我哥哥的陰影下。」Sanjay 說道。因此,他一直都很謙遜。2016 年,當他入選美國人文與科學院(American Academy of Arts and Sciences)時,他沒有告訴他的父母,他們還是從鄰居那兒聽說的。
在 MIT 研究生期間,Sanjay 結交了一群關系密切的朋友。那時候 Sanjay 幾乎不曾約過會,現在也很少。他說過不是不想組建家庭,只是還沒到時候。他的朋友和父母已經學會接受這樣的他。也許是因為他安靜的性格,他在谷歌是充滿了神秘色彩的存在。他以安靜而深刻著稱:一個深思熟慮且不同尋常的人。在他的桌子上有一堆 Mead composition notebook,這些筆記本有近二十年歷史,里面裝滿了整潔的清單和圖表。他用鋼筆寫作,字跡潦草。他很少引用舊筆記本,寫作是為了思考。在 MIT,他的研究生導師是 Barbara Liskov,這是一位有影響力的計算機科學家,研究復雜代碼庫的管理。在她看來,最好的代碼就像是一篇好文章。它需要一個精心實現的結構,每個詞都應該起作用。以這種方式編程需要與讀者共情。它還意味著不僅要將代碼視為達到目的的手段,也要把它作為工藝品。「我認為 Sanjay 最擅長的是設計系統,」Craig Silverstein 說。「如果你只是看著他寫的代碼文件,會發現那就像一個比例勻稱的雕塑般美麗。」
在谷歌,Jeff 更為人所知。谷歌有所謂的 Jeff Dean 模因。但是,對于了解他們二者的人來說,Sanjay 是個與 Jeff 同等的人才。「Jeff 非常善于提出瘋狂的新想法和原型設計,」他們的長期同事 Wilson Hsieh 說,「Sanjay 是那個能夠持續開發到最后的人。」在生活中,Jeff 更外向,Sanjay 更內向。在代碼中,情況正好相反。Jeff 的編程令人眼花繚亂(他可以迅速勾勒出令人吃驚的想法),但是,因為它完成得很快,并以發現的形式出現,所以它可能會把讀者甩在身后。而 Sanjay 的代碼具備社交性。
「某些人的代碼非常松散,滿屏幕的代碼只攜帶了很少的信息,你需要來來回回的反復閱讀才能讀懂。」Silverstein 說。另一些人寫的代碼則太密集了。「Sanjay 的代碼風格恰好處于兩者之間,讀他的代碼能很容易理解,同時也能獲取足夠的信息。」Silverstein 繼續說,「無論我想在 Sanjay 的代碼中添加什么函數,都似乎是水到渠成的事情。我認為這很棒,但又不知道他是怎么做到的。」
今年春天的一個周一清晨,Jeff 和 Sanjay 站在 40 號大樓(谷歌 AI 部門多數人的家)的簡易廚房里。在他們背后,一塊白板上寫滿了矩陣代數的式子,一篇關于無監督對抗網絡的論文躺在桌子上。Jeff 穿著一件褪色 T 恤和牛仔褲;Sanjay 穿著毛衣和灰色褲子。透過明亮的窗戶可以看到一片高大的松樹,還有一片田野。無論 Jeff 在谷歌何處工作,咖啡機都會隨之轉起來。在小廚房的柜臺上,一個三英尺寬的 La Marzocco 咖啡機嗡嗡作響。「我們遲到了。」Sanjay 在咖啡機旁說道。現在是八點三十二分。
在喝完卡布奇諾之后,他們走到電腦前。Jeff 將一把椅子從自己凌亂的桌子前轉到 Sanjay 的桌子上,Sanjay 的桌子一塵不染。他把一只腳放在文件柜上,向后靠,Sanjay 在他面前查看屏幕。他打開了四個窗口:左側是 Web 瀏覽器和終端,用于運行分析工具;右邊是文本編輯器 Emacs 中的兩個文檔,一個是組合待辦事項列表和 notebook,另一個是色彩斑斕的代碼。Sanjay 的 Mead 筆記本放在電腦旁邊。
「好了,我們在干什么?」Sanjay 問道。
「我想我們正在思考 TensorFlow Lite 的代碼 size。」Jeff 說道。
TensorFlow Lite 是一個與機器學習相關的重要軟件項目,Jeff 和 Sanjay 擔心它會臃腫,他們像圖書編輯一樣尋找精簡代碼的方法。為此,他們構建了一個本身需要優化的新工具。
「所以我正在嘗試弄清楚它到底有多慢。」Sanjay 說道。
「非常慢。」Jeff 說。他向前傾身,仍然很放松。
「所以這一塊代碼有 120 KB,需要 8 秒的運行時間。」
「那是 120,000 個堆棧調用,不是 KB。」
「額,我是說有多少 KB 的文本。」
「哦,這樣,抱歉。」
「我不清楚我們應該采用多大的單元 size 閾值,0.5MB?」
「聽起來不錯,」Jeff 說道。Sanjay 開始寫代碼,Jeff 盯著屏幕。「所以你是說,如果比這大,那我們就……」他只說了一半,Sanjay 用代碼來回答他。
Sanjay 開車時把手放在十點鐘和兩點鐘方向,專注地看著前方。他在鍵盤上也是這樣。他的雙腳分開與肩同寬,看起來好像在練習坐姿。他的細長手指輕輕地滑過鍵盤。一些年輕的程序員開始加入進來。
不久,他們達到了一個小的里程碑,Sanjay 鍵入了一個命令來測試他們的進展。他在運行時檢查了一下 e-mail。看起來很疲憊。測試結束了,他沒有注意到。
「嘿,」Jeff 打了個響指,指著屏幕。雖然在談話中他經常講些冷笑話和雙關語,但當他和 Sanjay 一起坐在電腦前時,他會變得自以為是、唐突并提出反對意見。當 Sanjay 認為 Jeff 說的太快時,他會將手從鍵盤上抬起并伸出手指,好像在說「停」。(一般來說,Jeff 是油門,Sanjay 是剎車。)當他們爭論時也是如此。
Sanjay 滾動屏幕,展示了一段新的代碼,「這些代碼都可以寫成一個程序,不是嗎?」Jeff 說道。
「嗯。」Sanjay 表示同意。
Jeff 扳了一下他的指關節。「看起來可行,要寫嗎?」
Sanjay 謹慎地說道,「不,我……」
「所以我們要忽略眼前的問題?」Jeff 生氣地說道。
「不,我是說,我們正在思考眼前看到的是什么類型的問題。我們可以記個筆記,不是嗎?」
「OK。」Jeff 開心地說,他的心情變化之快就像六月的天氣。他們一起記了筆記。
接近午餐時間。他們工作了兩個小時,休息了十分鐘,大部分時間都在說話。(如果有較年輕的程序員看著他們會留下深刻的印象,因為他們從未停止或被卡住。)讓你的代碼由另一個程序員 review 是標準的工程實踐,但 Jeff 和 Sanjay 跳過了這一步,只在他們的日志中寫下,一個敷衍的「lgtm」以及「我覺得還不錯。」從某種意義上來說,他們的工作充滿細枝末節。但是,他們的代碼是以 Google 的規模執行的。他們擔心的千比特數和微秒數在世界各地的數據中心會急劇增加。這些喧鬧、悶熱、倉庫大小的建筑物中的無數處理器由大量水冷卻。在這樣的日子里,Jeff 回家告訴他的女兒們,「Sanjay 和我今天把谷歌的搜索速度提高了百分之十。」
在 2003 年的四個月里,Jeff 和 Sanjay 給谷歌進行了最大的一次升級。他們用一款名為 MapReduce 的軟件做到了這一點。在第三次重寫谷歌的抓取工具和索引器時,他們有了這個想法。他們解決了重要的問題:讓分布在各地、彼此獨立的大量計算機協同工作。推廣他們的解決方案意味著可以避免一次又一次地重新解決這個問題。但它也會創建一個工具,谷歌的任何程序員都可以使用它來運行其數據中心的機器,就好像它們是一臺行星大小的計算機一樣。
Jeff 和 Sanjay 在一個高級辦公室里寫下了 MapReduce,這個辦公室俯瞰著一個鴨子池塘,這一架構使得令人費解的進程變得井井有條。在 MapReduce 之前,每個程序員都必須弄清楚如何分割和分配數據、分配工作以及自己解決硬件故障。而 MapReduce 為編程人員提供了一種思考這些問題的結構化方法。就像一位廚師在掌勺之前做餐前準備,MapReduce 要求程序員將他們的任務分成兩個階段。首先,他們需要告訴每臺機器如何進行任務的「map」階段(比如,計算一個單詞出現在網頁上的次數); 接下來,他們需要編寫「reduce」所有機器計算結果的指令(例如,把它們累加)。MapReduce 處理分配細節。
第二年,Jeff 和 Sanjay 依照 MapReduce 任務重寫了谷歌的爬蟲和索引系統。很快,當其他工程師意識到了這種方法的強大時,他們開始使用 MapReduce 來處理視頻以及在谷歌地圖上渲染圖塊。MapReduce 是如此的簡單,新任務也在不斷昭示著這一點。谷歌有所謂的「晝夜使用曲線」(即白天的流量比夜晚更大),MapReduce 任務開始占用谷歌服務器的閑置時間。生物大腦會在夢中處理白天的經歷。現在谷歌用同樣的方式處理自己的數據。
在早些時候就已經出現了一些跡象,暗示谷歌是一家假裝成搜索公司的 AI 公司。2001 年,與 Jeff 和 Sanjay 同一辦公室的 Noam Shazeer 因為谷歌從其它公司獲得授權的拼寫檢查器而感到心力交瘁:它不斷犯一些讓人尷尬的錯誤,比如告訴輸入了「TurboTax」的用戶他們可能是想搜索「turbot ax」(turbot/大菱鲆是生活在北大西洋的一種比目魚)。拼寫檢查器的表現取決于它的詞典,Shazeer 意識到了這一點,谷歌能在網絡上獲取有史以來最大的詞典。他編寫了一個程序,可以利用網上文本的統計屬性來確定哪些詞有可能被錯誤拼寫。該軟件學習到「pritany spears」和「brinsley spears」都是想表示「Britney Spears(布蘭妮·斯皮爾斯)」。當 Shazeer 在谷歌每周的 T.G.I.F. 聚會(谷歌每周五下午固定的放松聚會)上展示這一程序時,谷歌的員工嘗試糊弄它,但大都失敗了。通過與 Jeff 以及另一位工程師 Georges Harik 合作,Shazeer 將類似的技術應用到了網絡頁面的關聯廣告上。定向廣告成了一條淌著錢的河,谷歌將這條河導向了其計算基礎設施。這是反饋循環的開端——規模造就了谷歌的智能,智能帶來了谷歌的財富,財富推動谷歌壯大規模;這將使得該公司占據極其強勢且令人不安的主導地位。
隨著富有進取精神的程序員使用 MapReduce 來發掘谷歌的數據中的洞察,轉錄用戶的語音郵件、回答他們的問題、自動完成他們的查詢以及翻譯上百種語言也隨之變得可能。這樣的系統都是用相對不那么復雜的機器學習算法開發的。不過 Jeff 說:「都是非常簡單的技術,當你有大量數據時,效果就會非常好。」隨著「數據、數據、數據」變成谷歌的最高指導原則(可使用 BigTable、MapReduce 及其后繼技術存儲和處理這些數據),該公司那全球擴張的基礎設施也變得更加無縫和靈活。分布式計算是一個古老的思想,「云計算」和「大數據」等概念在谷歌崛起前就已出現。但是,Jeff 和 Sanjay 使這些技術可被智能地管理,讓普通程序員也能編寫分布式程序,進而讓谷歌在這些技術方面又占據了進一步的主導地位。用戶可能已經注意到某些東西已然改變:谷歌的云正越來越聰明。
2004 年,因為 Jeff 和 Sanjay 認為這些技術對天文學家、遺傳學家和其他有大量數據需要處理的科學家很有用,所以他們寫了一篇論文《MapReduce: Simplified Data Processing on Large Clusters》,并將其公開。這篇 MapReduce 論文真乃一場及時雨。廉價硬件以及網絡服務和互連設備的增長帶來了巨量數據,但只有很少的公司擁有處理這些信息的軟件。Mike Cafarella 和 Doug Cutting 這兩位工程師堅信 MapReduce 的重要性,以至于他們決定從頭開始創建一個該系統的免費克隆版本——在此之前,他們一直在艱難地擴展一個小型搜索引擎 Nutch。他們最終將自己的項目命名為 Hadoop,得名于 Cutting 的兒子喜歡的一個毛絨小象玩具。Hadoop 日趨成熟,已經得到了半數「財富 50 強(Fortune 50)」公司的采用。Hadoop 幾乎已成為「大數據」的同義詞。眾所周知,Facebook 使用了 Hadoop MapReduce 來存儲和處理用戶元數據——關于用戶點擊、喜歡、廣告查看等行為的信息。Facebook 曾有一段時間擁有世界上最大的 Hadoop 集群。Hadoop MapReduce 還幫助驅動了 LinkedIn 和 Netflix。前美國國家安全局(NSA)技術主管 Randy Garrett 記得曾向 NSA 局長 Keith Alexander 上將演示過這項技術。Hadoop 執行分析任務的速度是之前系統的 18000 倍。它成了一種新的情報收集方法的基礎,某些觀察家稱之為「collect it all」。
Jeff 的本性是不安現狀的:一旦他看到了問題解決方案的輪廓,這個問題就不再那么有趣了。2011 年,在全世界都擁抱云的時候,他開始與來自斯坦福大學的計算機科學教授吳恩達合作;吳恩達教授當時在谷歌領導著一個研究神經網絡(由虛擬「神經元」構成的計算機程序)的秘密項目。Jeff 曾在本科階段接觸過神經網絡;那時候,它們還不能解決真實世界的問題。吳恩達告訴 Jeff 情況正在發生改變。在斯坦福,當研究者為神經網絡提供大量數據時,他們取得了一些激動人心的結果。吳恩達認為,有谷歌這樣的規模,神經網絡不僅僅會變得有用,而且會變得非常強大。
神經網絡與傳統的計算機程序截然不同。和通常的做法不同,神經網絡的行為不是由程序員指定的,而是使用輸入和反饋「學習」到的。Jeff 對神經網絡的了解自本科階段以來一直沒什么進展,于是 Heidi 看到他們家的衛生間擺滿了教材。Jeff 開始每周投入一天時間到這個被稱為「Google Brain(谷歌大腦)」的項目上。谷歌內部有很多人對這項技術持懷疑態度。他當時的經理 Alan Eustace 回憶道:「簡直浪費人才。」Sanjay 也不能理解 Jeff 的舉動。「你的工作是基礎設施,」他認為,「你在那里做些什么?」
接下來的七年時間里,谷歌大腦團隊開發的神經網絡在機器翻譯以及語音和圖像識別方面超越了之前最佳的方法。最終,它們替代了谷歌最重要的用于搜索結果排序和定向廣告的算法,谷歌大腦也變成該公司增長速度最快的團隊之一。2001 年加入谷歌的工程師 Claire Cui 說 Jeff 的參與標志著谷歌內部 AI 發展的一個轉折點:「有人相信它,也有人不相信。Jeff 證明了它是有效的。」
事實證明,AI 依賴于規模,而系統工程師 Jeff 提供了規模。他的一項努力是領導了 TensorFlow 項目的開發——目標是為 AI 創造出類似 MapReduce 的東西。TensorFlow 簡化了將神經網絡分配到多臺計算機的任務,從而可將它們變成一個巨大的腦。2015 年,TensorFlow 公開發布,變成了 AI 的通用語言。谷歌 CEO Sundar Pichai 近期還宣布谷歌是一家「AI 優先」公司,并讓 Jeff 領導該公司的 AI 計劃。
Jeff 現在每周花四天時間管理谷歌大腦。他指導著三千人的工作。他到處旅行發表演講,每周召開一次有關一款新計算機芯片(張量處理單元/TPU,專為神經網絡設計)的例會,并且還會幫助開發 AutoML,這是一個使用神經網絡來設計其它神經網絡的系統。他每周只有一次能與 Sanjay 一起寫代碼。
現在,他們兩人的角色已經大不相同。在谷歌,Sanjay 被看作是「個人貢獻者」——獨自干活的程序員,不管理任何人。對此,他很感激。他說:「我可不想要 Jeff 的工作。」他目前正在開發能讓工程師能更輕松地組合和控制數十個程序(用于獲取新聞、照片、價格)的軟件,會在用戶開始在谷歌搜索框輸入文本時開始運行。他每周會與一群「區域技術主管(Area Tech Leads)」開一次會,這算得上是谷歌工程開發方面的最高委員會;他們會一起制定會影響整個公司的技術決策。如果把谷歌比作一座房子,Jeff 正在建新房間,而 Sanjay 則在支撐結構、加固橫梁、鉚緊螺栓。
同時,在 Jeff 和 Sanjay 周一的共同編程時間,他們啟動了一個新東西。這是一個 AI 項目。Jeff 說這是一個嘗試,要訓練一個「巨型」機器學習模型來做數千或數百萬個不同的任務。Jeff 多年來一直在思考這一思路,最近他認為這是可能的。他和 Sanjay 計劃構建一個原型,然后讓一個團隊圍繞其開發。在軟件的世界里,最好的領導方法就是用代碼。
Jeff 的妻子 Heidi 說:「我認為他們想念彼此。」在他們合作放緩的時候,他們開始一起在周五吃晚餐。
三月的一個周日,Jeff 和 Sanjay 一起去庫比蒂諾城外遠足。天氣清爽、干冷,但在太陽底下還是有些熱。Jeff 開著一輛藍色的特斯拉 Roadster 抵達山口,車的保險杠上貼著 Bernie 2016 貼紙。Sanjay 開著自己的紅色特斯拉 Model S 緊隨其后。Sanjay 整個早上都在讀書。Jeff 則選擇踢足球(綁在小腿上的設備提醒他已經跑了 7.1 英里)。在創造「March index」20 年后,Jeff 像一名退休的耐力運動員,他的皮膚受到太陽灼曬。但 Sanjay 看起來卻年輕得多。
旅程全長 6 英里,途中穿過了茂密的樹林。Jeff 在前面領路。他們在樹林里追憶谷歌的發展之快。Sanjay 想起在谷歌的第一個快速發展時期,一名管道工一次性為男廁所安裝了兩個廁位。「我記得當時 Jeff 評論道,」他說,「三個臭皮匠賽過諸葛亮!(Two heads are better than one!)」說完他笑了起來。
他們走出叢林,走進一片干燥裸露的區域。一只土耳其禿鷹從頭頂飛過。
「這山比我想象中的要陡。」Jeff 說道。
「我記得有人說這是一次非常平坦的遠足。」Sanjay 說。
「我猜這就是那一側沒有自行車道的原因。」Jeff 說道。
他們又走進了一片叢林。在一個之字形的爬坡路段,Jeff 瞥了一眼樹后。「我們可以在某個點好好眺望一下。」他說道。
他們腳下的小徑通往山頂,那里高聳、寬闊,沒有樹木,可以領略全景。視野中有淡淡的薄霧。
他們依然可以看見南邊的圣克魯斯山和東邊的使命峰(Mission Peak)。「Sanjay,那是你的辦公室!」Jeff 說道。他們并肩而立,視線穿越山谷。
原文鏈接:https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge/amp?__twitter_impression=true
中國最大的小游戲網站,有一棟3130層的高樓。
伴隨著21世紀第3個10年的來到,以年輕用戶為主的B站掀起了一股針對老游戲的懷舊浪潮,“小游戲”成了這股浪潮中,最具代表性的一批“前浪”。
有人考古2003年的游戲《黃金礦工》,做出視頻“黃金礦工到底是誰做的?游戲爆火卻鮮有人知作者是誰,一款可能本不屬于我們童年的游戲大揭秘”向玩家們科普《黃金礦工》的由來和當年小玩家們并不知道的系列發展。
有人圍繞1990年推出的,俗稱“是男人就下一百層”的游戲NS-Shaft制作視頻,在引發玩家關注,甚至被譽為“頭號玩家”之余,又因為洗稿問題引發出更大的熱點,引發眾多玩家及視頻制作者關注。
有人追尋2009年推出的《武林外傳》同人游戲《武林外傳之同福客棧》,成功揭開近乎于網絡都市傳說的隱藏結局謎底,制作出“《武林外傳》的終極神秘結局,我揭開了埋藏14年的新春禮物!”視頻熱度飛速攀至B站全站排行榜第10。
它們的相同點是,幾乎所有以“小游戲”為主題的懷舊視頻,都和一個名為“4399”的游戲網站關系匪淺。
那是大多數中國玩家并不陌生的,屬于“4399”的游戲時代。
和你家中剛上幼兒園大班的孩子都會抓著iPad,用稚嫩的小手在屏幕上劃來劃去不同,二十一世紀初的互聯網,對于中國為數不多的網民還是個新鮮事物。坐在自家的“大屁股”電腦前,或是帶好鞋套上計算機課的初代網民們,對“互聯網”這個概念,還有著原始人對火焰一般的敬畏。
當時的賽博空間還是一張白紙,“站長”們建立起各種BBS論壇,在空白的紙張填充色彩。大膽的奇思妙想,一定程度的技術知識,佐上不錯的執行力,弄潮兒們開始在藍海劃出自己的一畝三分地。
這片埋藏著大量金礦的處女地,給了他們功成名就的機會,在人民群眾的精神生活從電視機和現實歌舞搬遷到賽博空間的歷史階段,伴隨著這場浩蕩蕩“網進”的,是他們自覺又或不自覺地淘金。
李興平就是不自覺的淘金者之一,高中畢業后開始工作的他,幫著朋友組裝電腦出售。這份工作讓他比受過同等教育的同齡人,多了一些關于計算機的知識,這些知識也引導著他,在廣東興寧老家出現網吧后,成為一名網管。
在縣城網吧里當網管,今天看來有點兒古董職業的味道。但在一些欠發達的十八九線小城市,“古董”們的工作和20年前仍然相似——解決“小白”的上網問題。
在李興平一邊在網吧前臺幫人“開卡上機”,一邊用網吧電腦“公款沖浪”時,他發現很多來網吧的人并不會上網。在降低上網門檻的營業網吧剛剛出現時,很多來到這里的人都缺乏最基礎的上網知識。
李興平
通向網絡世界的大門已經為這些人打開,但這些把飯錢和工資省成網費的人,卻并不知道進門之后要干些什么。伊甸園好賴還有條蛇做任務指引,但網管可沒辦法同時應付整網吧的亞當。
這種情況今天不會再出現,類似“萬象網管”的成熟網吧管理系統已經上線,不會吃蘋果的亞當也成為了極少數群體。但在當年,網管們很有可能要客串下臨時的計算機課教師,對初來網吧的網民進行基礎的上網知識教學,滿足他們進入賽博空間的需求。
李興平做了一件事,他整合了當時的一些熱門網站,做了一個導向其他網站的聚合頁面,用自己的網名“黑蘋果不亮”作為個人站名。后來,這個聚合頁面囊括的網址越來越多,分類也更加詳細。
有人建議他起個更好記的名字,比如“網址大全”什么的,于是“黑蘋果不亮”就成了“網址之家”。再后來,最初為了幫助網吧用戶上網,便捷自己網管工作的“網址之家”開始傳遍大江南北,李興平也給網站起了個更順口好記的名字。
你不會陌生的“hao123”。
2004年,李興平的“hao123網址之家”被百度以1190萬人民幣外加40000股百度股票收購。于是,李興平順理成章地成為最知名的早期“站長”之一。
而這時,關于“4399”的故事才剛剛開始。
2004年同年,被譽為“站長之王”的李興平手握大把現金,但1979年出生的他還是個25歲的年輕人。雖然擁有了一筆數額巨大的財富,但這位年輕人并沒有準備“混吃等死”。李興平敏銳地注意到“hao123”的用戶中有很多人都喜歡玩游戲。于是他將目光放到了游戲行業。
用今天的話來說,“hao123”火爆的原因不僅是因為解決了用戶痛點,更重要的原因是因為李興平注意到了“下沉市場”,為廣大初次接觸互聯網的網民提供了方便。而4399的建立,則成功地彌補了“傳奇”巨擘們沒有關注的另一個玩家群體——那些對“打打殺殺”不感興趣的成年用戶,以及為數更多的低齡玩家們。
于是網絡上就多出了一個地址為“4399.com”的,成為大量中國玩家童年記憶的“4399”。
因為有“hao123”專門向其傾瀉流量,網站上的游戲又有載入速度快、游玩門檻低和種類豐富等多種優點,“4399”很快積累起了一批早期用戶。
“4399”和“hao123”的成長歷程如出一轍,但和“hao123”聚合大量網址,為網民提供更舒適上網體驗略微不同的是,“4399”作為一個游戲網站,顯然不能單純通過放上其他游戲的官網鏈接就完事,大量的優質游戲才是它吸引玩家的基礎。
但在當時的中國互聯網,招募游戲制作團隊,通過自主研發填充網站游戲庫,顯然無法在短時間內滿足海量用戶五花八門的游戲需求。于是“4399”選擇了十分簡單粗暴的解決辦法,從別的網站“扒游戲”。
B站Up主“湊不出音符的GM”在他關于《黃金礦工》的游戲雜談類視頻里向玩家們科普,最早的《黃金礦工》由Dan Glover制作,網站Game Rival擁有版權及轉載權。
但在當時的中國互聯網上,網站運營者們卻借勢跨國版權申訴困難的大環境,憑一手信息差扒來了《黃金礦工》,并且通過反編譯手段刪除了制作者加入的版權標識,使很多玩家只知游戲而不知制作人,甚至會天真地認為這就是游戲網站自主研發的產品。
顯而易見,在“扒游戲”方面上,曾經的“4399”是個中好手。傳言“4399”公司甚至有一支專門負責“扒游戲”的團隊。無論游戲制作者是在哪個互聯網角落發出游戲,這些游戲都會在一天之內發布“4399版本”。這種說法顯然有些夸張,但通過這些神乎其神的傳言,我們不難猜到“4399”“扒游戲”團隊曾經的“輝煌”。
2009年,李興平開始和知名域名投資者蔡文勝合作。蔡文勝在中國互聯網的名聲很響,身為著名天使投資人的他,早在1999年就通過買賣域名積累大量資金,后來又通過創辦類似“hao123”的聚合導航頁面“265”為網民所知。在他向“4399.com”注入大量資金后,“4399”一步步朝著后來我們知道的“4399”邁進。
當然,在互聯網還是新興事物的當年,小游戲平臺之間存在著殘酷的競爭。可在那個就連互聯網本身都未曾規范化管理的年代,像“游戲分級”這類直到今天都還未施行的管理辦法,當然也不可能出現。
這直接導致當年類似“4399”的Flash游戲網站們,以一些上不得臺面的方式“鉆空子”展開競爭。比如,誰的游戲更“黃暴”,哪些“黃暴”游戲“我有你沒有”。頗有些如今Epic和Steam爭搶獨占游戲,任天堂第一方和索尼第一方各有千秋分庭抗禮的意思。
平臺運營者搬運來一些擦邊球游戲,或是“魔改”小游戲,向其中添加擦邊球內容,成為吸引人氣最快速有效的方式之一。
通過“hao123”的引流和“扒游戲”,以及不算上臺面的競爭方式,“4399”積累起了為數眾多的早期用戶。但本質身為技術人員,并不熟悉商業變現套路的李興平,一直沒有為“4399”找到除廣告位以外的更好變現方式。
2009年5月,蔡文勝對“4399”的投資和加入,讓李興平的難題不再難解,身為知名天使投資人的蔡文勝,擁有李興平無法比擬的人脈,也更加熟悉互聯網上的商業運作模式。很快,蔡文勝就為“4399”找到了一條穩妥的“流量變現”之路——頁游聯運。
網頁游戲這個品類,如今雖然已是“鄙視鏈”底層的首陀羅,被越來越多在Steam商店或通過主機平臺乃至于Tap Tap購買游戲的玩家所不齒,但在21世紀第1個10年,它擁有著其他平臺游戲無可比擬的熱度。
隨著電腦的普及率從一線城市輻射向為數更多的十八九線縣城,越來越多的中國年輕人按亮了機箱上圓圓的開關鍵,伴隨著風扇轉動的“笨重”噪聲,他們開著“奔騰4號”接連駛上信息高速公路。
與此同時,陳天橋譜寫的《傳奇》神話,史玉柱通過《征途》推廣的F2P模式,在用戶群體不斷壯大的同時,開發者們也越來越熟悉通過數值成長欲望和PVP心理鋪設課金點,調起玩家的付費意愿。
2009年,一款名為《盤龍神墓記》的頁游被“4399”搶先獨家代理,并出現在主頁的醒目推薦位,開發團隊廣州菲音信息有限公司和蔡文勝有著千絲萬縷的關系。
在網絡文學著作版權同樣不清晰的當年,《盤龍神墓記》明顯地蹭著網文作家“我吃西紅柿”的作品《盤龍》、“辰東”的作品《神墓》以及“蕭鼎”的作品《誅仙》的熱度,游戲內人物辰南、小凡和林雷,更是簡單粗暴的人物套用。
但踩在版權鋼絲上的《盤龍神墓記》成功了,這讓“4399”通過看到了網頁游戲聯運“流量變現”的可能。此后,越來越多由菲音以及其他公司開發的頁游,出現在4399的醒目推薦位。
在21世紀第2個10年到來之際,今天的大廠們都已經開始了向《魔獸世界》的漫長學習,自主研發陣容有《劍網情緣網絡版三》《流星蝴蝶劍OL》《九陰真經》,代理陣容則有《龍之谷》《洛奇英雄傳》《第九大陸》,即使在不提LOL、CF和DNF這些“怪物”的情況下,端游仍在以極高頻率出現在大江南北的網吧屏幕上。
很顯然,一部分頁游玩家必將順勢投入端游的懷抱。不過,直到“端游遍地走”的今天,頁游仍然屹立不倒發揮著恐怖的吸金能力,可想而知,在頁游仍是“老大哥”的年代,吸金能力能有多恐怖。
“4399”自然賺得盆滿缽滿。
在“4399”的IPO招股書上顯示,“4399”在2013年全年的營收高達14.9億元,凈利潤2.49億元,其中自有游戲平臺收入占79%,第三方聯運平臺收入17.58%,廣告收入只占3.35%。顯而易見,在聯運頁游嘗到甜頭后,招募游戲開發人員自研頁游成為“4399”流量變現最大的收入來源。
不過,就像廣為流傳的俚語“出來混,早晚是要還的”說的那樣,到了2017年,“4399”開始還債了。
在維權意識尚未普及,維權手段也有諸多不便的年代,“4399”一直踩著版權的邊界“玩火”。但隨著中國互聯網各種規章制度漸趨成熟,刀尖不再允許拙劣的舞者進行演出。
2015年12月,網易發布《關于敦促立即停止侵犯網易合法權益的警告函》,警告“4399”在運營的游戲《仙語》中,大量抄襲網易游戲《夢幻西游》。但“4399”很快作出回應,稱《仙語》是其合作方獨立研發,不構成侵權。
后來,這款和《夢幻西游》有著諸多相似的《仙語》,在2016年被蘋果公司從Apple Store移除。自知理虧又碰到硬茬的“4399”向網易提出“私了”,并在未得到網易回應后,將100萬元賠償金提到至800萬元,卻仍未得到網易的回應。
2017年7月,網易以《仙語》涉嫌侵犯《夢幻西游》手游版權為由,向《仙語》運營商“4399”與開發商進行起訴維權,要求賠償損失5000萬元。在法院的一審判決下,法院認定《仙語》手游存在侵權及不正當競爭,運營商“4399”和開發商必須向網易賠償人民幣1500萬元。
2017年10月,網易和暴雪娛樂聯合訴訟“4399”旗下手游《英雄槍戰》和《槍戰前線》抄襲《守望先鋒》,并給出確鑿證據,經法院判決后,“4399”共需賠償397萬元。
2017年12月,騰訊加入了這場“戰事”,狀告“4399”旗下手游《格斗獵人》侵害《地下城與勇士》及“DNF”的商標權,并且通過不正當手段進行競爭。法院一審判決裁定“4399”侵權成立,賠償500萬元。
隨著“豬廠”和“鵝廠”的雙雙開炮,“4399”的侵權行為成為玩家間討論的熱點,一時間情懷與謾罵齊飛,淚水和口水遍地。不過無論是流淚還是吐痰,屬于“4399”的時代已經過去,這是毋庸置疑的事。
此時的游戲界已是移動游戲的時代,頁游和PC端游都已經是某種“舊時代的殘黨”,無法和移動游戲站在同臺競技。
2020年的中國游戲產業報告中顯示,2020年中國移動游戲市場實際銷售收入高達2096.76億元,比2019年增加515.62億元,用戶規模達6.54億人。
在移動游戲市場持續高歌猛進的同時,2020年中國客戶端游戲市場則比起2019年減少了55.94億元,同比下降9.09%,網頁游戲產品則持續減少開服量,市場相比2019年下降22.61億元,同比增速逐年下降。
在成為實際上“中國最大的小游戲網站”之后,“4399”通過“hao123”提供的流量扶持和“扒游戲”等方式,在維權困難的早期互聯網獲取到大量用戶,此后通過“頁游聯運”和“自研發頁游”賺得盆滿缽滿。在中國移動游戲市場逐漸興盛的階段,“4399”同樣布局了移動游戲,可因為仍然走在版權邊界賺“快錢”,在損失真金白銀之余,又丟掉懷舊濾鏡帶給它的,本就不多的口碑。
雖然在游戲出海領域,擁有海外爆款《奇跡之劍》《熱血神劍》等產品,在國內也有口碑佳作《皇帝成長計劃2》,旗下有著造夢工作室和比目魚工作室等自研發團隊。但一些像是“4399游戲盒”這種試圖推廣自家渠道的應用商店,在市場上的存在感只能說聊勝于無。
今天,當我們聊起“4399”,總是會不自覺地給它加上一層回憶濾鏡,看上去它仿佛依舊美好。但事實卻是,正是從成立之初就忽視版權大量“扒游戲”,玩家們才會擁有與“4399”相伴的早期游戲經歷。
一些曾經中國青少年游戲界的爆款,也正是因為“4399”的存在才成為更多玩家心中的白月光,比如曾經“年輕人的第一款網游”——淘米游戲的《賽爾號》和《摩爾莊園》。
《賽爾號》和《摩爾莊園》的主要用戶群體,在當年正是大量喜歡“小游戲”的“小玩家”。一位長大后仍是《賽爾號》和《摩爾莊園》忠實粉絲的朋友告訴我,他當年正是因為上“4399”,才發現了這兩款讓他愛不釋手的游戲。
“4399”也確實地給“小玩家”們,提供了方便。
當他通過“4399”游玩《賽爾號》,在Flash游戲窗口下滑,就是方便游玩的精靈圖鑒和游戲攻略。正是因為這些足夠詳細的攻略,他才更輕松地理解了游戲里復雜的屬性克制,得到了更順暢的游戲體驗。
在百度貼吧“4399”吧里的人們,或多或少都和他一樣,對“4399”有著復雜的感情。他們在高樓“4399我的游戲你來找”里,尋找著自己童年的游戲記憶。
在這棟貼吧高樓,人人都試圖通過模糊的記憶碎片,拼湊出曾經游戲全貌,然后因為一些好運,被恰好知道游戲名的吧友說出那個已經忘掉的名字,找回一些曾經的回憶。
有人的碎片比較清晰“有吊在木板下面的人”,有人的碎片太過模糊“火柴人男孩吃星星”,有人尋找的游戲在發帖幾年后被找到,有人尋找的游戲則在幾年后依然沒有回復。
每個帖子里也許都藏著一個場景,一個還在長大的小玩家,坐在屏幕前全神貫注。他得準備好一條略濕的毛巾,時刻準備著給屏幕后蓋降降溫,還得注意著樓道里會不會突然傳來熟悉的腳步聲。
每個帖子里都住著一個故事,這棟高樓今天共有3130層,住著3130個故事。
矛盾貫穿著“4399”的發展歷程。一方面,“扒游戲”行為明顯是對游戲制作者勞動果實的偷盜,但另一方面,在玩家沒有渠道接觸到優質游戲的曾經,如果不是早期互聯網上的“草莽英雄”,和互聯網相關的記憶則必將失去很多樂趣。
當然,“草莽英雄”在治世是要被“掃除”的,無論主動還是被動,“英雄”生存的前提是必須拿掉“草莽”的帽子。
但那些關于《瘋狂流浪漢》《狂扁小朋友》《僵尸危機3》《森林冰火人》《死神VS火影》和“閃客快打”系列的故事,則成為“中國最大小游戲網站”留給玩家的珍貴回憶。
也許曾經何時,我們都住在那棟有著3130個故事的高樓里。
市場上銷售的大部分顯示器的OSD功能里面,會發現一個不算特別的功能,那就是DCR(Dynamic Contrast Ratio),中文叫做動態對比度,這個動態對比度和普通的靜態對比度是有區別的,讀完這篇文章后,你會驚訝的發現,簡直就是天壤之別!
某知名品牌顯示器規格里面描述的DCR功能
仔細閱讀這個動態對比度的數據指標,你會驚訝的發現,顯示器規格參數里面展現的動態對比度規格竟然達到幾千萬的比值,這個值是真實的嗎?如果是真實的那這個功能真的可以改善顯示器的動態對比度,給用戶實實在在的體驗嗎?
某知名品牌的DCR最大值為20000000:1
在了解動態對比度的這個技術規格指標之前,我們必須先來了解一下顯示器的另外一個指標,叫做靜態對比度(英文簡稱:CR)。
紅色框顯示的為某品牌顯示器的靜態對比度指標
這個靜態對比度比值是怎么得來的呢?我們通過以下的實例展示,相信大家會更清楚了。
首先,我們得找到一個暗室,也就是很黑的地方,得把我們的顯示器放在這個小黑房子里。正常顯示后,我們得將顯示器的背光亮度調到最大,再將輸入給顯示器的畫面設置為純白色畫面,然后用CA-310或其他光學儀器測試出顯示器的中心點亮度,我們以通用的顯示器的亮度標準來評估,這時你可能測量出來的顯示器亮度是300 cd/m2。測試完后,在同樣的背光亮度最大的條件下,把輸入到顯示器的畫面設置為純黑色畫面,用CA-310或其他光學儀器再去測試此時的中心點亮度值,這時你可能測試到的值是0.1 cd/m2。 我們用純白色下面的亮度值除以純黑色畫面下的亮度值(CR=300/0.1=3000:1),得到的比值就是靜態對比度,這就是剛才那張圖里面展示的3000:1的由來。
圖片來源于互聯網,與本文內容無關
靜態對比度這個指標說明了顯示器的真實的對比度指標,其定義指在暗室之中,白色畫面下的亮度除以黑色畫面下的亮度比值,具有實質的意義。
知道了靜態對比度的測試方法和意義,我們再回到要討論的動態對比度(DCR)指標上來,動態對比度其實也是一個亮度比值,而且也是在純白色畫面下和純黑色畫面下的亮度比值,既然同樣是亮度比值,為什么不是3000:1,而是20000000:1呢?白色畫面下的亮度測試條件跟靜態對比度的沒有區別,區別就區別在純黑色畫面下的亮度測試條件。動態對比度功能打開后,顯示器主控IC會配合軟件自動識別當前輸入的畫面是不是黑色畫面,如果是黑色畫面,顯示器軟件會自動將背光調到很小或直接關掉(這個鍋軟件工程師不背),注意,是調到很小或直接關掉。靜態對比度下測試黑色畫面亮度時是不關掉背光的,保持著和白色畫面下一樣的背光亮度設定,只是畫面變成了黑色而已。而在動態對比度功能打開時,在黑色畫面下直接調小了或關掉了顯示器的背光,最有趣的事情發生了,既然調的很小或關掉了,那么在黑色畫面下的亮度值自然就很小了,所以這時白色畫面的亮度和黑色畫面的亮度比值自然就很大很大,如果你膽子夠大,在黑色畫面下直接把背光關掉,你可以把動態對比度這個指標設置成無窮大。
可是這個20000000:1或無窮大對用戶來說有什么實質作用嗎?我只能說,如果你只是喜歡數據指標,數據指標能帶給你快樂的話,你自然會從中找到快感,不然你就不要理會她,撕掉遮羞布后,你會發現她注定不是你該愛的人。
圖片來源于互聯網,與本文內容無關
感謝大家閱讀,麻煩大家關注一下,您的支持是我們的最大動力!