欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    絕參數,只談體驗,關注導盲犬小摳,真實解讀您熟悉的數碼產品,本文閱讀預計耗時3分鐘。

    筆記電腦市場的發展,在智能手機光芒映襯下,早已放慢了速度,但行業里推陳出新的節奏依舊存在,相關主打專業、性能、顏值的產品層出不窮。本期,小編與大家分享一款來自國產機械革命旗下的code01型號的筆記本電腦,它不僅擁有大屏和大按鍵,且性能還非常出眾。官方將這款筆記本稱之為程序員本,定位專業群體使用,實測一般的設計師用也非常順手,堪稱全能本代表。


    從外觀看,code01的模具與機械革命以往本子的模具類似,尤其是a面d面的設計,幾乎未做任何更改。簡單來說,機器的a面是一塊完整的金屬外殼,銀色本色,做了一定磨砂處理,看著十分細膩。這種材質的優點是細膩輕薄,千人一面,缺點是在沒有防護的情況下,非常容易產生刮痕,也很懼怕摔痕,一旦摔傷,只能更換殼面。機器a面邊角處有一個產品logo,激光鐳射,銀色鏡面,反射角小,十分光亮,在很多旗艦機型里出現過。


    翻轉到機器的d面,同樣是機械革命傳統的家族式設計。這個設計將底部外殼分成三個區域和元素點,一是處在機器轉軸處的散熱孔,在一塊矩形區域里開了大量密集圓孔,看著很有金屬美感;其次是位于機器外殼上下邊緣處的橡膠條,分成兩根,作為底座支點,防滑效果明顯,但很容易沾染污漬,且無法清除。最后是機器的揚聲器,也是在面板左右邊緣開了孔位,面積很小,功率和效果不錯,影音娛樂時感受明顯,至于設計師和程序員,實際使用頻率有限。


    打開code01,擺到正常使用角度,機器的b面c面完全展現。b面屏幕面是機器的亮點之一,它設計了一塊16英寸大小的屏幕,妥妥的大屏陣營產品。這塊屏幕使用了霧面屏工藝,所以能夠看到明顯的屏幕邊緣,屏幕邊框也非常刺眼。雖然code01的屏幕邊框已經很窄了,且上邊和左右邊也做了黑色板材映襯,但由于下巴處的銀色邊條還是相當露骨,導致機器看著沒有鏡面屏那種一體感,通透程度也差很多,總覺得十分油膩。這種不適應感在亮屏之后覺察得更加明顯,雖然code01的屏幕分辨率給到了1920*1080,可觀看內容顯示,與同級別的鏡面屏比差距明顯。


    由屏幕到鍵盤,code01的設計仍然大眾化,表現在鍵盤上,居然毫無違和感,與老機械革命的本子鍵盤如出一轍。在鍵盤面布局上,雖然有15.6英寸大本的底子,但機器設計并未調教好,其鍵盤左右兩邊的邊框非常大,讓鍵盤擠在中間,看著十分緊湊。雖然code01的鍵盤是標準鍵位,按壓手感尚可,耐不住邊框也大,實際操作按壓體驗,非常一般,沒有精致感,不知道程序員朋友們是否會習慣。


    開機進系統,查看機器配置,code01的硬件參數也是亮點之一。像機器的處理器是AMD Ryzen 4800H,7nm制程工藝,擁有八核心十六線程,最高45w功率,理論性能超過十代i5。機器的內存組合為16GB加512GB,最高內存可支持到64GB,也是準性能霸主。很多人在看到amd系的處理器時,會有一種排斥,實際大可不必,其相關優化已經十分具體,表現在code01上,無論使用還是待機,它的表現與英特爾系的配置,幾乎沒有差距。更現實的問題是,amd版本的機器確實要便宜不少。


    實際使用code01,開機關機加常用軟件操作,迅即響應。像機器開機默認,內存占用率只有不到18%,優化非常到位,打開常用的辦公軟件,wps和微軟系的office,大小文件各有優勢,但整體上兼容性良好。既然是程序員本子,少不了測試下Vscode等編輯器,其實與一般編輯器并無差別,對電腦硬件的要求不是太高,Vscode也絲毫沒有卡頓感。其他常見的裝機必備軟件,其實就是小工具,對code01更是毫無壓力。


    整體來看,這臺機械革命code01本子,可謂完全符合它程序本的定義。雖然機器模具用的還是老版本產品,但這又有什么關系呢,機器該有的接口外設都有,對多數程序員而言,也不會關心顏值,畢竟實用才是硬道理。擁有不錯的性能,搭配完全的可升級硬件的潛力,能編程序能做設計,前后端一起開掛,切換自由,這樣一臺大屏筆記本,換成多數工科男,估計都不會拒絕。


    很多人都留意到,目前全球都掀起了一陣“編程風”,兒童編程更是成為了熱門的培訓項目。它不僅可以鍛煉孩子的思維邏輯能力,對于動手能力和腦力發育都有很大的幫助。
    所以今天我們就來分享下有關兒童教育編程。


    數據文摘出品

    編譯:DonFJ、周家樂、李雷、小七、胡笳、jin、錢天培

    單絲不成線,孤木不成林,渾身是鐵也打不成幾根釘子。

    谷歌的偉大有一多半要歸功于公司中親密無間、協同工作的程序猿們!向偉大的猿類童鞋致敬!

    今天,就讓我們翻開谷歌程序員們的基情實錄,扒一扒《紐約客》筆下谷歌兩大元老——Jeff Dean和Sanjay Ghemawat“手拉手”走過的那些年。

    故事從這里開始!

    2000年三月某日,六位谷歌的頂尖程序員齊聚一堂,眉頭緊鎖,當時谷歌正處于前所未有的緊急狀態。

    公司的核心系統罷工了,也就是那個爬取各種網頁然后建立索引的爬蟲系統。它要是罷工了,新產生的網頁和新聞都沒法被檢索到了!所以,就算這時候用戶還能湊合的在google.com上輸入檢索信息,但是得到的結果都是五個月前的內容了。

    這個事兒其實挺嚴重,因為當時的谷歌還不是現在這個龐然大物,他們需要資金需要錢,那就要向外界展示他們技術沒問題!

    當時谷歌還剛好正在和雅虎談項目,為雅虎提供搜索引擎。谷歌承諾提供一個比當時谷歌搜索引擎還大十倍的索引,為什么要這么大的量呢,因為按照當時的情況,互聯網上的數據一年翻一倍(現在豈止一倍……),那這個索引剛好能小跑兒地跟上時代的步伐。

    如果谷歌失敗了,建立不了這么大的索引,那他們就會淪為一個時間膠囊,檢索的結果還都是老內容,而且跟雅虎談好的生意肯定崩了,谷歌就很有可能面臨著資金鏈斷裂然后GG的結果。

    為了解決這個問題,工程師們扎營在一間靠近樓梯的會議室里,鄭重的打開他們的電腦。

    Craig Silverstein是谷歌的第一個員工,在兩位創始人們還在自己家創業的時候就已經跟著他們混了。Silverstein當時還是個27歲意氣風發的小伙子,工程能力極強,重寫了很多谷歌的代碼。他和Bogdan Cocosel,一位羅馬尼亞的系統工程師搞了四!天!四!夜!但是一無所獲……(是的,都是套路,先夸上天,然后pia!踹倒~)

    Silverstein在回憶這段經歷的時候說,“額了個神,鬧鬼了,我們分析了半天找了半天試了半天搗鼓了半天呀!都沒用……我們真的弄不明白這是為什么!”

    在Silverstein抓耳撓腮的這幾天里,坐他左手邊,一個默默無聞的程序員卻有了點思路。

    Sanjay Ghemawat是一位33歲的MIT畢業生,生得是豹頭環眼,但兩鬢黑發已經花白。Sanjay幾個月前才進入公司,跟他一起來的還有一位叫做Jeff Dean的童鞋。Dean原來在一家數字設備公司工作,后來跳槽到谷歌。

    Dean和Sanjay原來也經常在一起玩耍,后來Dean離開了華盛頓DC,Sanjay也跟著過來了。他們兩個關系特別好(unusually close),老喜歡一起寫代碼。

    在辦公室里,Jeff把椅子推到了Sanjay桌子旁邊,自己的桌子空著。Sanjay敲代碼的時候,Jeff就一邊兒斜靠著他,一邊兒在Sanjay耳邊指正他的錯誤,不時的還調戲一下Sanjay。

    上面的畫面太美……我們繼續說索引失敗的問題!

    Jeff和Sanjay也加入奮戰大軍,開始嘗試找到問題的根源。他們發現代碼里面有些單詞漏掉了,還有些單詞拼錯了。好幾天以來,他們都在尋找代碼中的漏洞,一點點剝絲抽繭的查代碼邏輯錯誤。慢慢的,所有的代碼都查完了,但還是找不到問題。

    程序員查bug也是有邏輯的,通常會分成很多層。先是最上面的用戶交互邏輯層,然后是代碼實現層,數據層等等等等,一直到最底的硬件層。

    當查到最底下的硬件層的時候其實是最困難的,因為那里都是0、1組成的世界,是芯片中硅元素的碰撞,和高低電平之間的交互。

    某個在交互層一眼就能看明白的東西,在底層世界你要花半個小時才懂得是什么。終于,在第五天的時候,Jeff和Sanjay開始意識到問題可能不是出在代碼上,而是出在硬件的物理層上!他們將索引的文件以二進制的形式打開(是的,就是一堆0xblablablabla或者0101010001010的東西),然后嘗試從這堆看著跟亂碼一樣的內容中找到問題。

    在Sanjay的屏幕上,密密麻麻的出現了一堆1和0,每一行代表一個索引詞。Sanjay一點一點的查看文件,說,這里應該是0,居然變成了1.當Jeff和Sanjay耐心至極的將所有排列錯誤的單詞匯總到一起的時候,他們發現了共性!每個單詞中都有同樣的故障!

    矛頭緊指一個目標,他們服務器的內存!不出意外的話,是內存條出問題了。

    Sanjay看著Jeff,這個結果其實并不意外。最近幾個月,公司內部硬件損壞事故頻發!

    隨著公司規模的迅速擴大,谷歌對計算設備的需求與日俱增,需要購入更多的設備。對于單獨的計算機硬件來說,它壞掉的概率很低,但是如果你有大量的計算機的話,那么故障就總是會發生(概率問題嘛~100臺故障率0.01的設備中出現故障的概率可是高達63.4%的哦)。

    什么電線斷了、硬盤壞了、主板過熱等等的問題接踵而來。甚至有的機器一開始就沒有工作,有的莫名其妙用著用著就慢了等等,各種問題五花八門。

    據說當超新星爆炸的時候,爆炸波會產生高能粒子,這些粒子會向各個方向散射。科學家認為其中一種叫做cosmic射線的粒子極有可能擊中地球上的計算機芯片,然后讓0變成1……(聽著怎么那么像那些賣硬盤公司的軟文)。

    為了防止這種問題,NASA和大批有錢有勢的公司都購入一些特殊的硬件來避免這個問題的發生。

    谷歌那時候還是個沒錢的創業公司,苦哈哈的活著,買不起這么高端的東西。但是當時的谷歌在業務上已經進入了轉折點,它慢慢的長大了,擁有的集群數量開始特別龐大,大到硬件的損壞頻發!

    所以在了解問題的根本之后,Jeff和Sanjay寫了很多代碼來避免讓機器再出現類似的問題。那之后很快,新的索引就能夠建立辣~那個在樓梯旁邊的作戰指揮室自然而然解散鳥。

    Silverstein很苦惱,他本來是一個很好的程序員,很擅長處理bug的。但是解決bug的真諦是弄清楚事情的根源。Silverstein挖得不夠深,相反,Jeff和Sanjay才真正的刨到了問題的根兒。

    在這場三月風波之前,谷歌的系統都是植根于兩位創始人的核心代碼上,而寫代碼的時候他們還都是斯坦福的學生。兩位創始人Page和Brin都不是專業的軟件工程師,他們更像是個實驗室的研究人員,用自己在搜索領域的學術知識搭建一個原型系統。

    當他們的網絡爬蟲GG的時候,系統沒能提供錯誤信息,最多的就是輸出一句不痛不癢的:“我勒個去!(Whoa,horsey!)”。

    谷歌的早期員工將Page和Brin寫的BigFiles系統戲稱為BugFiles。系統中最重要的索引部分代碼需要好幾天才能寫完,如果它遇到問題的話,必須要從頭開始一點點排查才能解決。所以當時硅谷說谷歌搜索引擎無法擴展(Google wasn’t “scalable”)。

    要搞懂這個問題還要先了解“搜索”在網絡世界到底是如何進行的。

    我們常說,我們是在互聯網上搜索,但其實并非如此。我們能看到的結果依賴于搜索引擎,搜索引擎會用網絡爬蟲到網絡的各種地方來將信息下載下來,然后建立索引。咱們能看到的結果只是索引庫中有的內容而已。

    當谷歌還叫BackRub的時候,大概是1996年,當時的索引庫特別小,就安裝在Page宿舍的電腦上。但是在2000年的時候,索引就已經特別龐大,按照當時的技術,根本沒有任何超級計算機能夠將全部的內容放在上面處理。

    在當時來說,唯一的解決方案就是買很多計算機,然后想辦法讓他們一起工作(就是我們知道的集群)。可是以當時谷歌的資金情況來看,是買不了特別多全新的設備的,所以他們的設備中一半都是用到的別人淘汰的垃圾設備,包括軟盤驅動、金屬托盤之類的。然后為了保證設備的可用性,谷歌會向生產商購買“芯兒”,就是主板和硬盤之類的東西,再把他們拼到一起使用。在加利福尼亞谷歌的一棟大廈里,有1500臺這樣的混用設備堆在六英尺高的機架上。但是由于故障等等原因,其中只有1200臺能使用。再微小、再偶然的故障,也會讓系統崩潰。

    為了能讓系統工作下去,谷歌不得不將它的系統整合成一個天衣無縫的整體!

    于是乎,Jeff和Sanjay一起并肩為這項工作而努力。

    2000年11月,一個名叫Wayne Rosing的程序員加入了谷歌,并開始管理百人工程團隊。之前,他曾在Apple公司負責Macintosh項目的前期工作。

    Wayne Rosing如此評價Jeff和Sanjay,“他們都是領導者”。

    他們每周奮戰90個小時來編寫代碼(平均每天超過12小時?。源_保一個微小的硬盤故障不會導致整個系統的癱瘓。他們在爬蟲進程中添加各種檢查點,以確保程序能夠在進程中途自動重啟。通過開發新的編程和壓縮方案,他們迅速高效實現了系統容量的翻倍。

    簡直是兩只行走的、機械般無情的優化器??!

    當汽車在轉彎時,它的外輪必須覆蓋更多的地面;同理,旋轉硬盤的外邊緣必須比內邊緣移動的更快。Google已經將運行最流暢的進程數據移動到了硬盤外緣,因為這樣后臺智能傳送服務能夠在頭部讀取式的進程中運轉更快,并同時把內部空間留空。Jeff和Sanjay利用這些空間來存儲普通式搜索查詢所需的預處理數據。

    在2001年的四天中,他們證明了Goolgle的索引可以使用快速的隨機存取式存儲器,而不是相對存儲較慢的硬盤,這一發現使得公司的財務狀況實現了逆轉。

    Page和Brin 很清楚,用戶將會涌向能夠迅速提供答案檢索服務的產品。關鍵問題是檢索速度需要匹配相應的計算能力,而計算能力需要成本投入。Jeff和Sanjay對軟件進行了見縫插針般的精細打磨。

    2005年,在Rosing離開團隊后,Alan Eustace繼任了工程師團隊的負責人。

    “想要解決一定規模的問題,相應的,你必須了解最微小的細節”,Eustace說。

    Jeff 和 Sanjay對計算機的了解已經達到了字節級別。Jeff曾經發布過一個名為“每個程序員都應該知道的延遲數列”的列表。事實上,幾乎沒有程序員知道這個數字列表:引用L1緩存通常需要半納秒,或者在內存中順序讀取一兆字節通常需要250微秒。這些數字都深深印刻在了Jeff和Sanjay的腦海中。當他們多次幫助Google進行核心軟件的改寫后,其系統容量提升了幾個數量級。同時,在Google公司龐大的數據中心內,技術人員們正遵循軟件生成的指示,沿著曲曲折折的路,分部的替換硬盤、電源和內存條等設備。就算存在部分脫軌或死機的情況,整個系統進程仍可健康運行。

    今天,谷歌的工程師們從巨大生存鏈條中的1級水平開始成長。處在鏈條最底層的是IT支持人員。處在2級水平的是大學畢業生,3級水平的通常是碩士畢業生。想要達到4級,通常需要數年的積累,或者獲得博士學位。大多數工程師的成長進程都停留在第5級。

    達到第6級的工程師們,是群體中的前10%,可以說他們所具有的能力是項目獲得成功的重要原因。7級工程師是具有老資歷的工程師們。首席工程師們,屬于8級別,通常都與某個主要產品或某項基礎設施相關聯。杰出的工程師們,屬于9級別,通常都已獲得極大的尊敬。成為Google的合伙人,即達到10級,能夠獲得伴隨自己一生的榮譽。Google的研究員們通常都是世界范圍內各領域的領軍人物。

    Jeff和Sanjay都是Google的高級合伙人,是公司內第一批也是唯一的兩位11級工程師(神一樣的工程師?。。。?。

    Google的園區坐落在離市中心幾分鐘的高速公路旁,其山頂視角可縱覽風光。園區內是成片的低層建筑,窗戶雖是彩色的卻毫不張揚。

    去年夏天的某個星期一,經過一上午的集體編程,Jeff和Sanjay去了一家名為Big Table的園區自助餐廳吃午飯。這個餐廳是以2005年他們協助開發的一個系統命名的,該系統能夠把無數的計算機都識別為獨立的數據庫。Sanjay又高又瘦,他穿著一條古老的栗色Henley上衣,搭配灰色的褲子,并佩戴了一副小巧的金屬框眼鏡。他發現外面有一張桌子,便快步走過去,打開傘,在陰涼處坐下。他又額外拉了一把椅子留給Jeff。一分鐘后,穿著短袖襯衫和時尚運動鞋的Jeff來了。

    Jeff和Sanjay就像一對夫婦,你一言我一語的,從早期的那些項目開始共同回憶起他們的故事。

    “我們可都是手寫代碼,”Sanjay說到。他的眼鏡在陽光下顯得更暗了?!拔覀儾煌P薷?、重寫,可始終感覺跟上個月寫的比沒什么長進。'”

    “或者說只是索引數據中的傳遞方式略有不同,”Jeff補充道。

    “而這些細小的差別,”Sanjay說?!熬褪俏覀兊猛黄瓶凇?/p>

    “這才是本質,”Jeff說。

    “…這是常見的模式,”Sanjay做了個總結。

    Jeff吃了一口手里的披薩。他的手指看起來就像低等水手那樣指節粗大、皮膚粗糙;相比之下Sanjay看起來精致得多,連他自己都好奇他們是怎么湊成一對的?!拔乙膊惶宄菚r候我們究竟怎么了竟然會覺得湊一對會更好,”他說。

    “我們來谷歌之前就開始這么合作了,”Jeff說。

    “不知道為什么,我們就是覺著兩人共用一臺電腦會更利于合作”,Sanjay說。

    “我愿意從我的D.E.C.研究實驗室走兩個街區去他的D.E.C.實驗室,“Jeff說?!爸虚g還有一家冰淇淋店。”

    “這么說是因為冰淇淋店咯”,Sanjay帶著微笑說道。

    Sanjay至今還是單身,所以他經常和Jeff一家一起度假,包括Jeff的兩個女兒和妻子Heidi。Jeff的女兒們親切的稱呼他為Sanjay叔叔,他們五人還經常在周五一起聚餐。Sanjay和Jeff的長女維多利亞有時會一起烘焙。

    “我可是看著他的女兒們長大的,”Sanjay自豪地說道。2004年Google I.P.O.之后,他們各自搬進了相隔四英里的房子。Sanjay住在Old Mountain View的一間很普通的三居室里;Jeff則在Palo Alto市中心附近自己設計了一套別墅,還在地下室安裝了一個蹦床。

    在房子里工作的時候,Jeff發現雖然他喜歡設計自己的空間,但他實在無法忍受他所謂的帶有“Sanjay風格“的部分:屋梁,螺栓和載重這些細小的部分讓他那些偉大的設計避免了分崩離析。

    “我不懂為什么其他人不像我們這樣,”Sanjay說,“可以湊成一對一起編程。”

    Jeff說:“你需要找到一個與你思維方式一致的人和你結對編程,這樣你們兩個人可以互相彌補。

    他們推開桌子站起來,穿過Big Table和那些忙碌的谷歌人,出發去尋找好吃的甜筒了。他們兩人之中,Jeff更熱衷于表達,即使走在路上他還在闡述他的甜筒策略?!拔矣X得一邊擠冰激凌,一邊把甜筒往上推的策略更有穩定性?!彼f到。Sanjay則帶著微笑專注地往他的甜筒里繞上更多的巧克力香草冰淇凌。

    在社會學家邁克爾?法瑞爾(Michael P. Farrell)2001年出版的《協作圈:友誼動機與創造性工作》(Collaborative Circles: Friendship Dynamics and Creative Work)一書中,他對相近的創作型群體進行了研究,包括法國印象派畫家、西格蒙德?弗洛伊德(Sigmund Freud)及其同時代的人。

    他在書中寫道:“大多數新愿景,并非起源于整個團隊的協商,也不是單個成員的獨立構想,而是他們在合作時相互激發出來的”。莫奈(Monet)和雷諾阿(Renoir)曾在1869年的夏天并肩工作,才開創了印象派畫風;畢加索(Pablo Picasso)和喬治·布拉克(Georges Braque)在六年的合作期內,都經常在畫布背面簽名,以混淆他們的作品,是以產生了立體主義。畢加索后來回憶道,“一幅畫只有我們倆都認同它完成了,它才能算真正的成品”。

    在《兩個人的力量:發現創造性組合中的革新本質》一書中,作者Joshua Wolf Shenk引用了1971年John Lennon接受采訪時說的話,在采訪中Lennon是這樣形容他和Paul McCartney的,“我們都能寫出好的內容,就像‘我今天看了新聞’或者其他東西,這時創作就很容易”。他還說,“我們都可能會遇到創作瓶頸,但是我們可以相互激發,例如,我會唱一半,他會受到啟發,寫下一段,反之亦然?!泵總€人都會遇到創作瓶頸,但很少兩個人一起遇到。

    在新科學或藝術的“理論建設”階段,重要的是廣泛探索,而不要陷入死胡同。Francois Jacob與Jacques Monod一起開創了基因調控研究的先河,他指出,到了二十世紀中葉,分子生物學領域的大多數研究都是兩個人合作的結果。Jacob寫道:“相比一個人,兩個人更容易提出理論并構建模型。因為兩個人在處理同一個問題,所以想法就會來得更快、更多,它們會在合作伙伴之間相互反射。當它們彼此嫁接在一起時,就會像樹上的樹枝一樣,密不可分。在這個過程中,假象很快就會被扼殺在萌芽中。”在過去的三十五年里,大約一半的諾貝爾生理學或醫學獎都是授予了科學合作伙伴。

    經過多年工作和生活的分享,兩個人就可能會形成自己私密的語言,就像雙胞胎一樣。他們模仿彼此的衣著和習慣,幽默感也在不知不覺中相互滲透,在他們之間分配信任是不可能的。但是這種強度的合作在軟件開發中是不尋常的。雖然開發人員有時會談論“結對編程”,即兩個程序員共享一臺計算機,一個“駕駛”而另一個“導航”,但他們通常認為這種合作關系是冗余的,這就好像一架飛機上安排了兩個飛行員。相比之下,Jeff和Sanjay有時更像是一個大腦的兩部分。他們共同參與了很多項目,所以很多著名的論文都有多達十幾位的合作者。他們的經理之一Bill Coughran回憶說:“他們非常多產,工作效率極高,因此我們常常會讓他們帶不同的項目?!?/p>

    1966年,系統開發公司的研究人員發現,最好的程序員的效率是最差的十倍以上。從那以后,所謂的“10倍程序員”一直存在爭議。

    這種說法推崇的是個人至上,但是軟件項目通常非常龐大,需要多人共同完成,尤其在編程中,很少有人是獨立完成項目的。然而,具有諷刺意味的是,即便如此,許多程序員也將Jeff和Sanjay共同完成的工作視為10倍程序員存在的證據。

    Jeff于1968年7月出生在夏威夷,他的父親Andy是一名熱帶病研究員,而他的母親Virginia Lee是一位會講六國語言的醫學人類學家。一時興起,父子倆設計了一套IMSAI 8080工具包計算機。他們將升級程序焊接到機器上,學習它的每一部分。

    Jeff和他的父母經常搬家。十三歲時,他正上八年級,為了到索馬里西部的一個難民營幫助父母,在最后的三個月里他都沒有去上課。后來,在高中時,他開始為流行病學家編寫一個名為Epi Info的數據收集程序,之后它就成為了野外工作的標配工具,最終它以十幾種語言發行了數十萬份。由疾病控制和預防中心維護的一個網站(Epi Info Story)上面還有Jeff在高中畢業典禮上的照片。

    Jeff在明尼蘇達大學遇到的他后來的妻子,Heidi。Heidi說:“Jeff從不張揚,想要了解他你可得一點點慢慢挖?!?/p>

    他們的第一次約會是在一場女子籃球比賽中,當時Jeff穿著地鼠服在當啦啦隊。

    Jeff在博士期間專注于編譯器,這是一種將人們編寫的代碼轉換為針對計算機優化的機器語言指令的軟件。Alan Eustace說:“就有趣程度而言,編譯器非常無聊。”但是從另一方面說,它們可以讓你非常接近機器。

    在描述Jeff時,Sanjay用食指在腦袋上畫了個圈,說道:“當你編寫代碼時,他腦子里就會跑出來一個模型,來衡量這段代碼的性。他幾乎可以不會吹灰之力地考慮到所有極端情況。”

    Sanjay在17歲時去康奈爾大學之前沒有碰過電腦。他于1966年出生于印第安納州西拉斐特,但在印度北部的工業城市長大。他的父親Mahipal是一名植物學教授,他的母親Shanta則在家照顧Sanjay和他的兩個哥哥姐姐。他們一家人都熱愛看書,還記得他的叔叔Ashok Mehta買了一本Frederick Forsyth寫的《豺狼的日子》副本,但它的裝訂已經嚴重損毀,他叔叔會看著Ghemawat的孩子們一起讀這本破舊的書,等所有人讀完了才舍得翻頁。

    Sanjay的哥哥Pankaj是哈佛商學院有史以來最年輕的教師。(他現在是紐約大學斯特恩商學院的教授。)Pankaj和Sanjay去了同一所學校,當年Pankaj有著“文藝復興時期男子”的美譽。Sanjay說:“我有點生活在我哥哥的陰影下。”成年后,他保留了自我貶低的品質。2016年,當他被引入美國藝術與科學學院時,他的父母事前居然不知道,還是他們的鄰居告知的。

    在麻省理工就讀研究生期間,Sanjay結識了一群關系緊密的朋友。盡管如此,他從來沒約過會,而且現在也“非常非常少見”。他說,他并不是不想結婚,只是順其自然就這樣了而已。他的親密朋友已經學會了不去打擾他,而他的父母也在很久以前就接受了他們的兒子將成為單身漢的事實。也許正是因為他如此低調,他在谷歌才充滿了神秘色彩。他喜安靜,比較沉默寡言,但是他是一個思想深刻且出眾的人。近二十年來,在他的桌子上,他一直保留著一堆Mead組合筆記本,這里面記載的滿是整潔的清單和圖表。他喜歡用鋼筆寫草體字,但他很少翻閱之前的筆記本,書寫只是為了思考。在麻省理工時,他的研究生導師是一位很有影響力的計算機科學家Barbara Liskov,研究過復雜代碼庫的管理。

    在Barbara看來,最好的代碼就像一篇好的文章。它需要精心設計的結構,每個單詞都應該發揮作用。這種程序需要與讀者產生共鳴。這也意味著代碼不僅被看做是實現功能的手段,而其本身也是一種藝術。

    Craig Silverstein說:“我認為他最擅長的就是系統設計”,“如果你閱讀Sanjay寫的代碼,就知道他的代碼就比例協調的雕塑那么美?!?/p>

    在谷歌,Jeff更為人所知,但是對于那些了解他們倆的人來說,他們會說Sanjay同樣是個天才。

    “Jeff非常善于提出瘋狂的新想法和原型設計”,他們長期以來的同事Wilson Hsieh說道:“Sanjay是那種能夠打造出能夠持久運行的作品的人。”在生活中,Jeff更外向,Sanjay更內向。而在代碼中,情況正好相反。Jeff的代碼令人眼花繚亂——他可以迅速構架出驚奇的想法——但是因為實現的過快,出于探索精神的讀者可能會被拉在后面。Sanjay的代碼更加具有交流觀賞性。

    “有些人”Silverstein說,“他們的代碼太過松散。一頁屏幕中的代碼展示的信息非常少。你總是來回滾動屏幕來弄清楚代碼做的是什么。另一些人代碼寫的太過密集,你看著這樣的代碼,會想,‘額,我一點也不想讀下去?!疭anjay以某種方式介于這兩種方式中間。你閱讀他們的代碼,就好像‘哦,我懂了’而且,你仍然可以從一頁屏幕上得到很多信息?!盨ilverstein繼續說道:“每當我想為Sanjay的代碼添加新功能時,我會發現他已經給我準備好了切入口。我懂這種偉大,但我不明的他是如何做到的。”

    今年春天的一個早上,Jeff和Sanjay站在40號樓的小廚房里,那里是谷歌人工智能部門總部。在他們身后的白板上,寫滿了矩陣代數;一篇關于無人監督的對抗性網絡的論文擺在桌上。Jeff穿著一件褪色的T恤和牛仔褲,看起來像是一個進階版流浪漢;Sanjay穿著一件毛衣和灰色的苦衷。明亮的窗外是一片高大的松樹,還有一片田野。無論Jeff在谷歌哪里工作,都會伴隨咖啡機。在小廚房的柜臺上,一個三英尺款的La Marzocco正在嗡嗡作響。“我們遲到了”,Jeff站在咖啡研磨機旁說道。這時正是八點三十二分。

    在喝過卡布基諾后,他們走到各自的電腦前。Jeff從他自己的臟兮兮的桌子旁,滾了一把椅子到Sanjay的桌旁,那張桌子很干凈。他把一只腳放在文件柜上,向后靠著,而Sanjay盯著他們面前的電腦屏幕。

    屏幕上有四個窗口:左側分別是Web瀏覽器和終端,用于運行分析工具;右側是文本編輯器Emacs的兩個編輯文件,一個是待辦事項列表和筆記本,另一個是顏色豐富的代碼。Sanjay的一個筆記本電腦放在電腦旁邊。

    “好吧,我們做點什么?”Sanjay問道。

    “研究TensorFlow Lite的代碼大小”,Jeff說。

    這是一個與機器學習相關的主要新軟件項目,Jeff和Sanjay擔心它會像書編輯一樣不斷膨脹,他們正在尋找削減方法。為此他們構建了一個需要優化自身的新工具。

    “所以我試圖找出它有多慢,”Sanjay說。

    “非常慢,”Jeff說。他向前傾身,仍然很放松。

    “所以那個是120KB,”Sanjay說,“要八秒鐘?!?/p>

    “是十二萬個堆棧調用,”Jeff說,“不是KB?!?/p>

    “好吧,我是說120KB個字符”,Sanjay說,

    “哦,是的,抱歉”,Jeff說

    “我不知道我們應該為單元大小設定什么門檻”,Sanjay說“半個兆?”

    “聽起來不錯”,Jeff說,Sanjay開始編碼,Jeff被屏幕所吸引。“所以你剛才說,如果它比我們樣本那個大...”還沒有說完,Sanjay就用代碼回答了他。

    當Sanjay開車時,他把手放在十點鐘和兩點鐘的位置,然后專注地向前看。他在敲鍵盤時也是這樣。他的雙腳分開與肩同寬,看起來好像在按照自己的姿勢行事。他的細長手指輕輕地移過鑰匙。一些年輕的程序員開始魚貫而入。

    不久以后,他們達成了一個小里程碑,Sanjay敲下了一個命令來測試他們的進展。他看起來很疲憊,在程序運行的時候檢查了一下自己的郵箱。測試結束了,他沒有注意到。

    “嘿”,Jeff 說道,啪的一聲指著屏幕。雖然他平時很喜歡講笑話,但當他坐在Sanjay的電腦前時,他會變得很自以為是、頑固、粗魯和不滿。Sanjay對此已然可以從容應對。當他認為Jeff的移動速度太快的時候,他會將手從鍵盤上抬起,并伸出手指,好像在說“停止”(一般來說,Jeff是加速器,Sanjay就是制動器。)這很接近爭論,在二十年的時間里,他們已經不記得他們相互吼了多少回了。

    Sanjay滾動屏幕,將新的代碼塊放入視圖中?!八羞@些都可以成為慣例,不是嗎?”Jeff說。

    “嗯”,Sanjay表示同意。

    Jeff敲了個指響,“似乎可行。我們應該這么做嗎”?

    Sanjay 很謹慎“不,我——”

    “所以我們將忽略這個問題?”Jeff憤怒的說。

    “不,我的意思是,我們只是試圖了解正在發生的事情的類型。所以我們可以做出一些關于它的消息,對吧?”

    “哦”,Jeff愉快地說,他的心情變好了。他們一起討論了這條消息。

    午餐時間接近了。他們工作了兩個小時,中間休息了十分鐘,大部分時間都在交談。(一個年輕程序員看著他們工作會留下很深的印象,因為他們從未停止或被卡住。)這種將你的代碼由另一個人審查的方式,是標準的工程實踐。

    但Jeff和Sanjay跳過了這一步,直接在日志中輸入了一個敷衍的“lgtm”表示“我覺著不錯(looks good to me)”,從某種意義上說,他們沉浸在各種細枝末節中。

    但是他們的代碼是按照谷歌的規模來執行的。他們擔心的kb和微妙數將在世界各地的數據中心成倍增加,達到十億倍。在這樣的日子里,Jeff回家會告訴他的女兒們,“Sanjay和我今天加快了谷歌搜索的百分之十?!?/p>

    2003年的四個月中,Jeff和Sanjay給谷歌帶來了可以說是其最大的單一升級,是用一個名為MapReduce的軟件做的。在第三次重寫Google的爬蟲和索引器(indexer)時,他們就有了這個想法。每次當他們解決一個重要的問題時,都會面對一個現實:如何讓大量散步各地、不可靠的計算機協同工作。做一個通用化的解決方案意味著他們可以避免一次又一次地重新面對這一問題。

    MapReduce就是Jeff和Sanjay在一個辦公室的角落里這樣編寫出來的,它對一個令人費解的復雜過程添加了排序。

    在MapReduce出現之前,每個程序員都必須弄清楚如何分割和分發數據,分配工作以及自己負責解決硬件故障。MapReduce為編碼人員提供了一種思考這些問題的結構化方法。就像一位廚師的準備工作,在炒菜之前準備食材,所以MapReduce要求程序員將他們的任務分成兩個階段。首先,編程人員要告訴每臺機器如何進行任務的“map”階段(比如,計算一個單詞出現在網頁上的次數);接下來,她要編寫如何“合并”(reduce)所有機器結果的指令(例如,把它們加起來)。MapReduce處理分發的細節 – 并且對編程人員是透明的。

    第二年,Jeff和Sanjay重寫了Google爬蟲和索引系統的MapReduce任務。很快,當其他工程師意識到它有多強大時,他們開始使用MapReduce處理視頻和在Google地圖上渲染圖塊。MapReduce非常簡單,新任務可以自發的進行。

    谷歌擁有所謂的“晝夜使用曲線” - 白天的工作量比夜間更多 - 而MapReduce任務開始利用這些閑置能力。就像做夢中的大腦可以處理其日間體驗一樣,現在谷歌也可以在“夢中”處理它的數據了。

    在谷歌早期階段,你就可以看出它是一家打著搜索公司幌子的人工智能公司。2001年,與Jeff和Sanjay共享辦公室的Noam Shazeer已經對Google從另一家公司購買的拼寫檢查程序越來越失望:它不斷犯下令人尷尬的錯誤,例如告訴那些想輸入“TurboTax”的用戶他們可能想輸入“turbot ax”(turbot是一種生活在北大西洋的比目魚)。

    如果一個拼寫檢查程序參照的字典不好,那這個程序一定也好不到哪里去。Shazeer意識到在網絡世界,谷歌可以訪問有史以來最大的字典。他編寫了一個程序,該程序利用Web上文本的統計屬性來確定哪些單詞可能是拼寫錯誤。這個軟件學會了“pritany spears”和“brinsley spears”都是“Britney Spears”的意思。

    當Shazeer在谷歌每周一次的TGIF聚會上演示這個程序時,其他的程序員們試圖騙過它,但大多數都失敗了。Shazeer與Jeff和一位名叫Georges Harik的工程師合作,采用類似技術將廣告與網頁相關聯。廣告定位成為支持公司重新投入其計算基礎架構的財路。這是良性循環的開始 - 巨大數據量將成為谷歌智能的源泉;谷歌智能帶來財富;而財富是公司增長的基礎 - 這將使谷歌成為人工智能的霸主。

    有想法的程序員使用MapReduce從Google的數據中獲取先機,因此使用戶的語音郵件識別,問題回答,查詢自動完成以及超過一百種語言的互譯成為可能。這種系統是使用相對簡單的機器學習算法開發的。

    “很簡單的技術,當你擁有大量數據時,也會工作得很好,”Jeff說。隨著“數據,數據,數據”使用BigTable,MapReduce及其后續產品進行存儲和處理成為公司的最高指導原則,Google的全球基礎架構變得更加無縫和靈活。

    分布式計算的想法早已有之;像“云計算”和“大數據”這樣的概念也早于谷歌的崛起就已經出現。但是,通過使普通編程人員編寫分布式程序這件事變得智能可控,Jeff和Sanjay已經讓谷歌對這些技術的掌控更上一層樓。用戶可能已經感覺到了某些變化:谷歌云變得越來越聰明。

    2004年,Jeff和Sanjay覺得MapReduce這項成果對對天文學家、遺傳學家和其他有大量數據需要處理的科學家也非常具有價值,于是他們寫了一篇論文把MapReduce公之于眾了。

    這是一把神器!

    硬件設備的降價以及Web服務和連接設備的增長導致了大量數據泛濫,但很少有公司擁有可以處理這些信息的軟件。工程師Mike Cafarella和Doug Cutting一直在努力擴展一個名為Nutch的小型搜索引擎,他們堅信MapReduce的重要性,因此決定從零開始構建一個免費的克隆版本。

    他們最終以Cutting的兒子所喜愛的一頭毛絨玩具象給他們的項目取名Hadoop。

    隨著Hadoop的逐步成熟,它已被全球財富50強中的一半所采用。它成為“大數據”的代名詞。據了解,Facebook使用“Hadoop MapReduce”來存儲和處理用戶元數據(例如用戶點擊內容、喜歡內容以及查看了哪些廣告的信息)。它曾一度擁有世界上最大的Hadoop集群。

    Hadoop MapReduce也幫助推動了LinkedIn和Netflix的發展。國家安全局前技術總監Randy Garrett記得曾向該機構的主管Keith Alexander將軍展示這項技術。Hadoop執行分析任務的速度比之前的系統快了18000倍。它成為了一種新的情報收集方法的基礎,一些觀察家稱之為“全面收集”。

    Jeff有一種不安分的本性:一旦他能看到解決方案的輪廓,問題就變得不那么有趣了。2011年,當云計算開始為世界所接受時,他開始與斯坦福大學的計算機科學教授Andrew Ng合作。Andrew Ng當時正在谷歌主持一個秘密項目,研究神經網絡-由虛擬“神經元”組成的軟件程序。

    Jeff在他的大學期間曾經接觸過神經網絡;那時的神經網絡還無法解決現實世界的問題。Ng告訴Jeff這種情況正在發生改變。在斯坦福大學的研究中,當給神經網絡輸入大量數據時,研究人員取得了一些令人興奮的結果。Ng認為,憑借谷歌的規模,神經網絡將不僅有用武之地而且會非常強大。

    神經網絡系統與傳統的電腦程序大不相同,該系統的操作不是由程序員進行常規的編碼建成,而是通過輸入與反饋學習到。在大學期間,Jeff沉迷于學習神經網絡,這一點可以從浴室里成堆的教科書就可以看出來。Jeff開始致力于“谷歌大腦”項目,然而,那時谷歌內部大多數員工都認為這個項目毫無價值。不僅經理Alan Eustace說“它是在浪費人才!”,Sanjay甚至質疑他“你究竟是在做些什么?”。

    此后7年內,谷歌大腦團隊成功訓練出了神經網絡,完勝機器翻譯、機器語音以及圖像識別。最后,他們替換掉谷歌的搜索結果排序和定位廣告這些最重要的算法,谷歌大腦成為公司內成長速度最快的團隊。Claire Cui將Jeff的創舉視為谷歌在A.I領域發展的轉折點:“公司里,有人支持這個項目,也有人認為它是在浪費時間,但Jeff堅信它將會成功?!?/p>

    AI似乎是一項繁冗復雜的大工程,所以Jeff研發出了一項程序“TensorFlow”,用于創建AI的分布式計算系統(MapReduce)。TensorFlow簡化了在計算機之間散步神經網絡的過程,將他們集中于一個大腦。2015年,TensorFlow一經發布,就成為A.I領域的通用語。近期,谷歌首席執行官Sundar Pichai宣布公司將A.I放于第一位,并且將任命Jeff為領頭人。

    現在Jeff帶領著3000人的團隊,平均每星期有四天都在運營谷歌大腦。另外他還會去到全球演講、為新的電腦芯片(用于神經網絡的張量處理單員)開周例會議、協助AutoML的研發——使用神經網絡來建設其他網絡的系統。

    反觀Sanjay,他依舊是個“個體工作者”,獨自編寫程序,也不需要管理其他人。對此,他表示很慶幸:“我并不想像Jeff那樣工作?!彼F在致力于研究一款軟件,讓工程師們可以更容易地整合和控制大量程序(例如尋找新聞、圖片和搜尋價格),并在用戶輸入搜索詞時就開始運行。每周,他都需要和“Area Tech Leads”集團(谷歌工程絕地委員會engineering Jedi council)會面一次,保證技術更新能夠即時傳遞到整個公司。

    如果將Google比喻為一座房子,Jeff在為房子增華添彩,而Sanjay則支撐著房子的基地,加固房梁,擰緊螺栓。

    同時,在他們的“周一編碼日”,Jeff和Sanjay仍會聚在一起研究新事物。

    Jeff說:“我想開發一個巨型機器學習模型,一個可以完成成千上萬不同任務的模型?!盝eff多年來一直在考慮這個問題,直到最近,他才肯定了它的可行性。他和Sanjay打算建造一個原型,團隊其他成員就可以按此繼續研發——在軟件世界,最好的領導方式是使用代碼。

    Jeff的妻子Heidi說:“他們很想念對方?!弊詮乃麄冮_始各自工作后,合作就越來越少了。

    三月的某個周日,Jeff和Sanjay相約去Cupertino徒步旅行。天氣明亮清新,但是有些熱。Jeff開著一輛藍色特斯拉電動跑車,Sanjay的紅色特斯拉Model S緊隨其后。Sanjay喜好閱讀,Jeff經常打球。建造March index的20年后,Jeff越來越像退役的運動員,他的皮膚也被烈日曬成黝黑,而Sanjay看起來依舊年輕煥發,不曾老去。

    穿過茂密森林,有一條道路環繞6公里。Jeff帶路,走在叢林中,他們追憶起以前Google如何快速發展。Sanjay回憶起,公司業績獲得第一次劇增后,給一個廁所隔間裝了兩個便池,“我還記得Jeff說,兩個比一個好。“

    他們走出森林,進入鄉村,這時一只土耳其禿鷹從頭頂飛過。

    “這里的山比我想象中還要陡峭”,Jeff說。

    “我記得有人說過這是一個非常平坦的山坡”,Sanjay回應道。

    “我想,這就可以解釋為什么沒有人騎車了。”

    當他們走回森林,Jeff向樹的遠方瞥了一眼,說到:“那邊我們可以看到更好的風景?!?/p>

    這條小路通向一個小山頂,高而寬廣,沒有樹,可以俯瞰全景。雖然有薄霧籠罩,他們依舊看見了南邊的圣克魯茲山脈,以及東邊的使命峰。

    Jeff調侃到:“Sanjay,看!那就是你的辦公室!”。

    他們并立一起,眺望山谷。

    相關報道:

    https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge/amp?__twitter_impression=true

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有