如何高效利用GitHub正是Github,讓社會化編程成為現(xiàn)實。本文嘗試談?wù)凣itHub的文化、技巧與影響。
Q1:GitHub是什么A1:一家公司位于舊金山,由Chris Wanstrath, PJ Hyett 與Tom Preston-Werner三位開發(fā)者在2008年4月創(chuàng)辦。迄今擁有59名全職員工,主要提供基于git的版本托管服務(wù)。 在此之前,它是由Tom與Chris 在本地程序員聚會中,開始的一個用于托管git的項目。正如每個偉大的傳奇都開始于一場冒險,Tom在這篇文章我如何辭掉微軟30萬年薪邀約,創(chuàng)辦GitHub中談到:
另一位創(chuàng)始人Chris也詳細(xì)描述了GitHub初創(chuàng)的前因后果,他說道:
于是,在2008年4月10號這一天,GitHub正式成立。 目前看來,GitHub這場冒險已經(jīng)勝出。根據(jù)來自維基百科關(guān)于GitHub的描述,我們可以形象地看出GitHub的增長速度: 今天,GitHub已是:
Q2:GitHub風(fēng)格A2: GitHub只是GitHub強(qiáng)調(diào)敏捷開發(fā)與快速原型,而又的確成功的創(chuàng)業(yè)團(tuán)隊,常具備一個重要氣質(zhì):有自己的文化風(fēng)格。如GitHub,又如37signals。通過他們的快速開發(fā),向用戶證明了團(tuán)隊在技術(shù)上的能力,并且時常有驚喜。同時,通過強(qiáng)調(diào)特立獨行的文化,將對半衰期過短的產(chǎn)品族群的信任轉(zhuǎn)為對GitHub團(tuán)隊的信任。 Gravatars的創(chuàng)始人(對,就是互聯(lián)網(wǎng)最流行的頭像托管系統(tǒng))、Jekyll(對,它就是我近幾年用的博客系統(tǒng))作者、GitHub創(chuàng)始人,現(xiàn)任CTO Tom在GitHub第一年學(xué)到的10大教訓(xùn)、創(chuàng)業(yè)學(xué)校演講中談到GitHub文化的方方面面。我嘗試將這種風(fēng)格總結(jié)為以下要點:
創(chuàng)業(yè)公司多半死在錢上,就讓我們先從錢談起: 高利潤,較低的融資額或者零融資類似于GitHub這樣的公司,拿到風(fēng)險投資很難嗎?恰恰相反,創(chuàng)始人PJ Hyett 在Hacker News的一篇評論中提到,自從GitHub創(chuàng)辦以來,已與幾十個VC溝通過。但是,直到今天,GitHub的融資額還是為零,并引以為豪。讓我們看看GitHub官網(wǎng)的自我介紹: 運營良好與較高的內(nèi)外滿意度在Quora上有人問道,GitHub是否尋找被收購?,還是PJ Hyett ,他的回答是:No。 GitHub從一開始就運營良好,員工擁有較高滿意度,看看這些不太一樣的做法:
富有激情、創(chuàng)意的員工使得GitHub得到了社區(qū)的廣泛認(rèn)同,從而擁有極高的客戶滿意度,并從創(chuàng)業(yè)一開始就盈利。一份早期的調(diào)查表明,GitHub很快成為Git托管首選。 專注創(chuàng)作,高創(chuàng)意GitHub59名全職員工僅有29名員工在本地工作!不僅僅是工作地點的安排富有創(chuàng)意,GitHub員工Holman, 詳細(xì)介紹了GitHub的工作方式: Q3:在GitHub,如何跟牛人學(xué)習(xí)A3:在學(xué)習(xí)區(qū)刻意練習(xí)追隨牛人,與他們一起修行
正如這首禪詩所言,與其在墻內(nèi)仰望牛人,不如直接在GitHub:
GitHub本身建構(gòu)在git之上,git成為勾搭大師們的必要工具,以下讀物成為首選: 如果希望進(jìn)一步深入,可以閱讀已有中文翻譯版的材料: 同樣,如果希望了解更多GitHub自身的知識,GitHub官方文檔值得推薦: 牛人在哪里?
關(guān)于學(xué)習(xí)的心理學(xué)研究,常常會談到一個術(shù)語:元認(rèn)知、元學(xué)習(xí)、元知識。是的,關(guān)于認(rèn)知的認(rèn)知、關(guān)于學(xué)習(xí)的學(xué)習(xí)、關(guān)于知識的知識,你對這些信息的偏好與熟練掌握,會讓你在學(xué)習(xí)一門新東西時更加輕車熟路。對一手信息進(jìn)行回溯,比如作者、創(chuàng)始人、最初文獻(xiàn)出處,總是會讓你更容易理解知識。 在學(xué)習(xí)區(qū)刻意練習(xí):借助GitStats進(jìn)行項目統(tǒng)計在如何學(xué)習(xí)一門新的編程語言?——在學(xué)習(xí)區(qū)刻意練習(xí)中,我已談過:
如何進(jìn)行自我監(jiān)督? 借助于GitStats,我們能很好地統(tǒng)計自己的每個項目的工作量,從而看到工作進(jìn)展。 用法如下,
以下為生成結(jié)果示范: 每周代碼提交次數(shù): 每天代碼提交行數(shù): 如果Fork別人的項目或者多人合作項目,最好每人都擁有一個獨立分支,然后由項目維護(hù)人合并。如何建立自己的分支?
如何將牛人的遠(yuǎn)程分支更新到自己的本地分支?
生產(chǎn)力小技巧codeshelver:給git庫做標(biāo)簽觀察的項目如果多了,怎么管理?用codeshelver,安裝擴(kuò)展之后,可以對GitHub項目做標(biāo)簽。 gollum:利用git與github做wikigollum是一個基于git的輕型wiki系統(tǒng)。 GitHubwatcher: 監(jiān)測重點項目GitHubwatcher適用于通知不頻繁的情景。 GitHub官方資源GitHub官方列出了一些有用的腳本與書簽。 社區(qū)驅(qū)動的安裝與配置文件GitHub中各類配置文件層出不窮,一些常用的:
Q4: 享受純粹的寫作與演講A4:回歸創(chuàng)作的初始寫作早在2008年,就有技術(shù)圖書作者通過Git來寫作,以下是示范: 你能想到的技術(shù)前沿話題,大多能在GitHub找到相應(yīng)的培訓(xùn)材料或者開源圖書。 個人寫作照樣適用。在前文理想的寫作環(huán)境:Git+GitHub+Markdown+Jekyll,我已經(jīng)格外贊美過這些美好事物了。 暖色調(diào)的燈光,足夠?qū)挾鹊墓ぷ髋_,聽著清脆的鍵盤聲音,基于Git、GitHub、Markdown與Jekyll來寫作,不擔(dān)心寫廢與排版,只關(guān)注最純粹的寫作,是一種享受。我有時候會想,如果Git、Github、Markdown、Jekyll,再加上Yaml、Json的作者,讓這些作者們重新來設(shè)計今天互聯(lián)網(wǎng)基礎(chǔ)架構(gòu)偏文本的部分,會誕生一些什么? 個人博客借助于Jekyllbootstrap,可以在Github上快速搭建一個基于jekyll的博客系統(tǒng)。 除了這個簡單易行的辦法之外,還存在一些其他方法,例如:
演講借助于GitHub,可以享受更純粹、更酷的演講。GitHub 2011年收購Ordered List之后,從此可以通過speakerdeck更好的分享ppt文檔。 我們還可以:
Q5: 代碼幫你找工作A5:GitHub簡歷很誠實NumEricR(非GitHub工作人員)基于GitHub Pages功能做了一個簡歷生成器,使用極其簡單,登陸網(wǎng)站GitHub簡歷生成器,填入你的GitHub網(wǎng)站用戶名即可。 fredwu是Ruby中文社區(qū)活躍份子,他的開源項目angel_nest,一個天使投資與創(chuàng)業(yè)者對接的網(wǎng)站,適合Ruby初學(xué)者升級為Ruby中級開發(fā)者時學(xué)習(xí),也在Hacker News上被熱烈討論過,讓我們來看看他的簡歷: http://resume.GitHub.com/?fredwu 正是因為GitHub上的代碼無法造假,也容易通過你關(guān)注的項目來了解知識面的寬度與深度?,F(xiàn)在越來越多知名公司活躍在GitHub,發(fā)布開源庫并招募各類人才,例如:Facebook、Twitter、Yahoo ... 開始有了第三方網(wǎng)站提供基于GitHub的人才招聘服務(wù),例如:
Q6: GitHub還在影響一些什么A6:讓計算機(jī)增強(qiáng)人類智慧很多年前,在某個名聲顯赫的學(xué)府中,兩位先后拿過圖靈獎的牛人有一段對話:
這段對話來自《失控》。牛人A是明斯基,他最喜歡將人類看做有血肉的機(jī)器,他的框架理論成為認(rèn)知心理學(xué)、人工智能入門基礎(chǔ)。牛人B則是恩格爾巴特。當(dāng)明斯基1961年發(fā)表他著名的文章人工智能走向時,恩格爾巴特還籍籍無名。直到次年,恩格爾巴特發(fā)表宏文:人類智力的增強(qiáng):一種概念框架。提出不同于明斯基的另一條增強(qiáng)人類智力的道路:不要嘗試發(fā)明自動打字的機(jī)器,而是嘗試發(fā)明鼠標(biāo),并且他真的發(fā)明鼠標(biāo)成功了! 從近些年的發(fā)展來看,仍然是明斯基占上風(fēng),但是,三十年河?xùn)|,三十年河西,明斯基的人工智能方向又有多少年沒有大突破了?相反,來自恩格爾巴特的群件、集體智慧等思想,逐步成為步入Web2.0時代之后的共識。無關(guān)對錯,可以說,恩格爾巴特為增強(qiáng)人類智力,提供了可行的框架。與其去發(fā)明聰明的、昂貴的、功能一體化的智能機(jī)器人,還不如發(fā)明類似于鼠標(biāo)這樣笨笨的、廉價的、功能單一的人類智慧服務(wù)單件。明斯基的機(jī)器人很容易陷入死胡同,沒有上升到哲學(xué)的高度?,F(xiàn)在慢慢又回到恩格爾巴特這個方向來了。比如現(xiàn)在IBM開始宣傳的認(rèn)知計算。 從git與GitHub設(shè)計與解決的問題本質(zhì)來看,明顯加速了代碼生產(chǎn)流程,促進(jìn)了卓越智力產(chǎn)品的誕生。這就是一種典型的web2.0對智力生產(chǎn)流程的改良與人類智慧的增強(qiáng)。同樣,某種意義上,小說寫作網(wǎng)站也起到類似作用。但是,學(xué)術(shù)界尤其是社會科學(xué)類的智力產(chǎn)品生產(chǎn)似乎還停留在一個古老階段。在開源領(lǐng)域,好想法層出不窮,極客影響極客,最終產(chǎn)生的是酷玩意。這些酷玩意拋棄浮華,直奔問題本質(zhì)。那么,有沒有科學(xué)界的GitHub?? 類似問題層出不窮,以下為其他領(lǐng)域產(chǎn)品不完全名單。 學(xué)術(shù)研究數(shù)據(jù)
科學(xué)計算
教育
Q7:除了GitHub,還可以選擇什么?A7:nil因為進(jìn)化的需要,多數(shù)裸猿存在選擇強(qiáng)迫癥:哪種程序語言更好?哪個web開發(fā)框架更好?當(dāng)然,最令宅男技術(shù)男們羨慕的問題是,高白瘦御姐還是青春小蘿莉好?:D 除了GitHub之外,
我們可以理解,正是因為無數(shù)條分岔路口,讓人類不再受制于某種基因、特定疾病、獨裁家族,從而擁有無限的可能。但是,這種選擇強(qiáng)迫癥與遠(yuǎn)古時代可憐的信息量相比較,
生命如此短暫,為什么總要將青春浪費在不斷的選擇之中呢?罰你,回頭閱讀心理學(xué)家施瓦茨(Barry Schwartz)的TED演講:選擇之困惑——為何多即是少,1百遍啊1百遍。請記住施瓦茨的演講要點:
最后,讓我再抒情一把吧,
相關(guān)參考
本作品采用知識共享署名-非商業(yè)性使用-禁止演繹 3.0 Unported許可協(xié)議進(jìn)行許可。 |
|