第5章
火山代碼節(jié)的籌備------------------------------------------:暴雨前的寧靜,度假村的日子開始有了節(jié)奏。每天早上六點(diǎn)半,我會(huì)準(zhǔn)時(shí)醒來,沿著洱海跑步,然后回到度假村和楊阿婆一起準(zhǔn)備草藥茶。八點(diǎn),陳麗會(huì)帶著村民們開始晨會(huì),討論當(dāng)天的工作安排。九點(diǎn),莉莉開始檢查財(cái)務(wù)和運(yùn)營(yíng)狀況。十點(diǎn),我開始教靜修者們寫代碼。,直到那場(chǎng)暴雨的到來。,但到了下午,天空突然暗得像夜晚,烏云壓得很低,仿佛要吞噬整個(gè)騰沖。陳麗急匆匆地找到我:"Mark,火山代碼節(jié)的場(chǎng)地還在搭建,如果雨太大,所有的設(shè)備都會(huì)泡湯。",雨滴已經(jīng)開始落下,起初是稀疏的,但很快就變成了傾盆大雨。我拿起手機(jī),發(fā)現(xiàn)有幾個(gè)未接來電,都是負(fù)責(zé)場(chǎng)地搭建的阿強(qiáng)打來的。"阿強(qiáng)說那邊出現(xiàn)了山體滑坡的險(xiǎn)情,"陳麗的聲音里帶著焦慮,"有幾輛運(yùn)送設(shè)備的車被困在路上了。""我馬上過去。"我抓起外套,沖進(jìn)雨中。,視線很差。我開著周博士那輛老舊的皮卡,沿著山路往場(chǎng)地趕。那是距離度假村二十公里外的一個(gè)山谷,我們租了下來,準(zhǔn)備舉辦第一屆火山代碼節(jié)。,我看到前面有輛大G停在路邊,右后輪已經(jīng)完全癟了下去,估計(jì)是扎了什么東西。車旁站著一個(gè)女人,穿著最專業(yè)的戶外裝備,但看起來有些手足無措。。在這種天氣下,一個(gè)女人在山路上遇到爆胎,確實(shí)很危險(xiǎn)。,打開雙閃,然后走到那輛大G旁邊。女人看到我,有些警惕。"需要幫忙嗎?"我大聲問,雨聲很大。,然后點(diǎn)點(diǎn)頭:"謝謝,我已經(jīng)打了道路救援電話,但他們說這種天氣,至少要等兩個(gè)小時(shí)。""兩個(gè)小時(shí)?在這種暴雨里?"我看了看四周,"后面出了好幾起交通事故,他們一時(shí)半會(huì)肯定來不了。你這只是換個(gè)輪胎的小事,就別浪費(fèi)公共資源了。":"你會(huì)換輪胎?"
"會(huì)。"我轉(zhuǎn)身回到皮卡,從后備箱拿出備胎和工具。
她幫我撐傘,但雨太大,傘根本擋不住。我讓她站到車?yán)锶?,自己則開始換輪胎。
輪胎很重,尤其是在這種惡劣天氣下。我的衣服很快就被淋透了,雨水順著臉頰流下,但我顧不上擦。她站在車?yán)?,默默地看著我?br>"你是去度假村的嗎?"她突然問。
"對(duì)。"
"去參加火山代碼節(jié)?"
"對(duì),我是組織者之一。"我用力擰著螺帽,"你呢?"
"我去看朋友。"她說,"我有個(gè)朋友在周博士的度假村做志愿者。"
換好輪胎后,我渾身都濕透了。她遞給我一條毛巾:"謝謝。你叫什么名字?"
"Mark。"
"我叫秦雨薇。"她伸出手,"到了度假村,我們?cè)僖姟?
我點(diǎn)點(diǎn)頭,回到皮卡,繼續(xù)往場(chǎng)地趕。
第二節(jié):山體滑坡
趕到場(chǎng)地時(shí),我看到阿強(qiáng)帶著十幾個(gè)村民正在雨中忙碌。有幾輛運(yùn)送電子設(shè)備的貨車確實(shí)被困住了,山體滑坡的泥土和石塊堵住了半邊路。
"情況怎么樣?"我走過去問。
"很糟糕,"阿強(qiáng)抹了把臉,"泥土還在往下滑,如果雨不停,可能會(huì)有更大的滑坡。"
我看了看地形,心里迅速計(jì)算著解決方案。這是個(gè)小山坡,滑坡不算太嚴(yán)重,但泥土很松軟。
"我們得先把這些設(shè)備轉(zhuǎn)移到安全的地方,"我說,"然后再想辦法清理道路。"
"怎么轉(zhuǎn)移?"阿強(qiáng)問,"這些設(shè)備很重的,有服務(wù)器、投影儀、音響系統(tǒng)。"
"用人力。"我看向那些村民,"每三個(gè)人一組,搬小件設(shè)備。大件設(shè)備我們先推到路邊,等雨停了再想辦法。"
村民們點(diǎn)點(diǎn)頭,開始行動(dòng)。我也加入他們,扛著一臺(tái)服務(wù)器往高處走。
雨越下越大,泥土變得**。我腳下一滑,差點(diǎn)摔倒,但懷里的服務(wù)器抱得很穩(wěn)。阿強(qiáng)跑過來扶住我:"小心點(diǎn)!"
"沒事。"我繼續(xù)往前走。
就在這時(shí),我聽到身后傳來一聲驚呼。轉(zhuǎn)頭一看,一輛貨車因?yàn)橥T诓环€(wěn)定的地面上,開始緩緩下滑。
"快!把設(shè)備推下來!"我大喊。
幾個(gè)村民沖上去,試圖把設(shè)備從貨車上往下搬,但貨車的傾斜角度越來越大。
我放下服務(wù)器,沖了過去。我們一起用力,終于把幾臺(tái)重要的設(shè)備搬到了安全地帶。
但貨車還在下滑。
"別管車了!人都撤到安全地帶!"我揮著手喊。
村民們迅速撤離。就在最后一個(gè)人離開貨車的一瞬間,貨車整個(gè)翻下了山坡,摔得粉碎。
所有人都沉默了。那輛貨車是租來的,價(jià)值不菲,更重要的是,里面還有一些無法替代的設(shè)備。
阿強(qiáng)走到我身邊,低聲說:"Mark,對(duì)不起,我應(yīng)該早點(diǎn)把車開走的。"
"不是你的錯(cuò)。"我拍拍他的肩,"這種天氣,誰也沒想到會(huì)這樣。"
雨漸漸小了。我看著被毀的貨車和散落一地的設(shè)備,心里計(jì)算著損失。初步估計(jì),直接經(jīng)濟(jì)損失超過五十萬。
更麻煩的是,火山代碼節(jié)兩周后就要舉辦,現(xiàn)在設(shè)備損壞,場(chǎng)地也被滑坡威脅,時(shí)間非常緊張。
"我們先清理出一條臨時(shí)通道,"我對(duì)阿強(qiáng)說,"然后把沒損壞的設(shè)備搬到場(chǎng)地,能搶救多少是多少。"
"好。"阿強(qiáng)轉(zhuǎn)身去組織村民。
我站在雨中,看著被毀的一切,心里卻沒有慌亂。很奇怪,在這種時(shí)候,我反而感到一種奇異的平靜。也許是因?yàn)榻?jīng)歷了太多,也許是因?yàn)槲抑?,慌亂解決不了任何問題。
手機(jī)響了,是周博士打來的。
"Mark,聽說場(chǎng)地出事了?"
"嗯,山體滑坡,一輛貨車毀了,設(shè)備損壞不少。"
"人沒事吧?"
"人沒事,都安全。"
"那就好。"周博士松了口氣,"設(shè)備可以重新買,人沒事最重要。"
"但是代碼節(jié)..."
"代碼節(jié)可以延期,也可以簡(jiǎn)化。重要的是我們沒事。"周博士頓了頓,"對(duì)了,剛才有個(gè)叫秦雨薇的女人來度假村,說是你路上幫她換了輪胎。她帶了一些設(shè)備來,說是捐贈(zèng)給代碼節(jié)的。"
我愣了一下:"秦雨薇?"
"對(duì),她說在路上遇到你,看到你在暴雨中幫人換輪胎,覺得你是個(gè)靠譜的人。"周博士笑了,"她帶來了一套完整的音響系統(tǒng)和投影儀,還有一些服務(wù)器。她說這是她公司的產(chǎn)品,正好適合我們的活動(dòng)。"
我心中一動(dòng)。原來她說的"看朋友"是假的,她其實(shí)是來捐贈(zèng)設(shè)備的。
"她人呢?"
"在四方院和陳麗聊天呢。"
"好,我馬上回來。"
我掛了電話,對(duì)阿強(qiáng)說:"我回度假村一趟,這邊你先處理一下。能搶救的設(shè)備都搬回去,不能搶救的就算了。"
"好。"阿強(qiáng)點(diǎn)點(diǎn)頭,"你路上小心。"
第三節(jié):秦雨薇的身份
回到度假村時(shí),雨已經(jīng)停了。秦雨薇正坐在四方院里,和陳麗聊得很投機(jī)。她看到我,微笑著站起來。
"Mark,你的衣服都濕透了,快去換一件吧。"她說。
"沒事。"我坐下,"謝謝你送來的設(shè)備。"
"不用謝。"她泡了杯茶給我,"我只是做了我應(yīng)該做的事。"
"你怎么知道我們需要這些設(shè)備?"
"我朋友其實(shí)不是志愿者,"她坦率地說,"我是做智能硬件創(chuàng)業(yè)的,最近在找一些鄉(xiāng)村科技項(xiàng)目的合作機(jī)會(huì)。聽說了你們的事,就過來看看。路上遇到你幫我換輪胎,我覺得,一個(gè)能在暴雨中毫不猶豫幫助陌生人的人,值得我投資。"
我看著她,突然明白了什么:"你不是來看朋友的,你是來考察項(xiàng)目的。"
"對(duì)。"她點(diǎn)點(diǎn)頭,"但我現(xiàn)在不是來考察項(xiàng)目的,我是來加入項(xiàng)目的。你們的火山代碼節(jié),我愿意提供全程的技術(shù)支持。"
"為什么?"我問,"我們這個(gè)項(xiàng)目,現(xiàn)在看起來風(fēng)險(xiǎn)很大。"
"因?yàn)槲以谀闵砩峡吹搅瞬灰粯拥臇|西。"她認(rèn)真地說,"現(xiàn)在很多做鄉(xiāng)村項(xiàng)目的人,要么是來撈一筆就走,要么是來做慈善秀。但你不是,你是真的在做事,在解決問題。而且,你身邊有四個(gè)很了不起的女人,她們每個(gè)人都有自己的堅(jiān)持。這種組合,很罕見。"
陳麗笑了:"秦小姐的眼光很準(zhǔn)。"
"叫我雨薇吧。"她說,"我想正式加入你們的團(tuán)隊(duì),不是作為投資者,而是作為合作者。"
我想了想,伸出手:"歡迎。"
就這樣,我們的團(tuán)隊(duì)迎來了第五個(gè)成員。
**節(jié):代碼節(jié)的重新規(guī)劃
有了秦雨薇的支持,火山代碼節(jié)得以重新啟動(dòng)。但時(shí)間緊迫,我們必須在兩周內(nèi)完成所有的準(zhǔn)備工作。
那天晚上,我們五個(gè)人坐在四方院里,討論著新的方案。
"我覺得我們應(yīng)該縮小規(guī)模,"莉莉說,"現(xiàn)在時(shí)間不夠,設(shè)備也不夠,如果硬要辦大型活動(dòng),可能會(huì)搞砸。"
"我不同意。"秦雨薇說,"越是困難的時(shí)候,越應(yīng)該堅(jiān)持原來的計(jì)劃。如果我們縮小規(guī)模,會(huì)讓那些已經(jīng)報(bào)名的參與者失望。"
"但是..."
"沒有但是。"秦雨薇打斷她,"設(shè)備的問題我來解決。我已經(jīng)聯(lián)系了**的朋友,他們可以空運(yùn)一批設(shè)備過來。場(chǎng)地的問題,我們可以找專業(yè)的工程隊(duì)來處理。"
"那得花多少錢?"莉莉問。
"錢不是問題。"秦雨薇說,"問題是我們要把這件事做成。"
周博士皺了皺眉:"秦小姐,我理解你的好意,但我們這個(gè)項(xiàng)目,一直強(qiáng)調(diào)的是可持續(xù)性和社區(qū)參與。如果全部用錢來解決,那就失去了我們的初衷。"
"周博士,我明白你的顧慮。"秦雨薇說,"但我不是要用錢來砸出一個(gè)活動(dòng)。我是要用錢來買時(shí)間,讓我們有時(shí)間去做真正重要的事情。"
我看著她們,突然開口:"我有一個(gè)折中的方案。"
所有人都看向我。
"雨薇可以提供設(shè)備和技術(shù)支持,但我們不用錢來解決問題,而是用合作的方式。"我說,"比如,工程隊(duì)我們可以找,但費(fèi)用可以從未來的收益中扣除。設(shè)備可以借給我們,等代碼節(jié)結(jié)束后再付款。這樣既解決了時(shí)間問題,又保持了我們的原則。"
秦雨薇想了想,點(diǎn)點(diǎn)頭:"我同意。"
周博士也點(diǎn)頭:"這個(gè)方案比較合理。"
"那好,"陳麗說,"我們來分工。雨薇負(fù)責(zé)設(shè)備和工程,莉莉負(fù)責(zé)財(cái)務(wù)和運(yùn)營(yíng),周博士負(fù)責(zé)社區(qū)聯(lián)絡(luò),我負(fù)責(zé)活動(dòng)流程,Mark負(fù)責(zé)技術(shù)支持和內(nèi)容。"
"那我呢?"楊阿婆問。
"您負(fù)責(zé)給我們所有人看病。"我們都笑了。
第五節(jié):暴雨后的重建
接下來的兩周,我們開始了瘋狂的工作。
秦雨薇確實(shí)很有能力,她不僅帶來了設(shè)備,還帶來了一支專業(yè)的技術(shù)團(tuán)隊(duì)。他們只用了一天時(shí)間就清理了滑坡的泥土,修復(fù)了道路。
阿強(qiáng)帶著村民們?nèi)找冠s工,重新搭建了場(chǎng)地。我也和靜修者們一起,通宵達(dá)旦地寫代碼,開發(fā)火山代碼節(jié)的活動(dòng)平臺(tái)。
陳麗則發(fā)揮了她的社區(qū)組織能力,動(dòng)員了更多的村民參與進(jìn)來。周博士聯(lián)系了**和媒體,為活動(dòng)做宣傳。
莉莉管著錢,每一筆賬都算得很清楚。她甚至說服了幾個(gè)在**的企業(yè)家朋友,為活動(dòng)提供了贊助。
楊阿婆也沒閑著,她采了很多草藥,做成香包送給參與者,還教他們?nèi)绾斡貌菟幣莶琛?br>第十四天,場(chǎng)地基本完工。我們站在山谷里,看著搭建一新的舞臺(tái)、音響系統(tǒng)、投影設(shè)備,還有為參與者準(zhǔn)備的帳篷和休息區(qū),所有人都感到一種成就感。
"我們真的做到了。"莉莉感慨地說。
"還沒有。"秦雨薇說,"明天才是真正的考驗(yàn)。"
明天,火山代碼節(jié)正式開幕。
那天晚上,我很晚才睡。我走到溫泉邊,泡在熱水里,看著星空。手機(jī)響了,是秦雨薇發(fā)來的信息。
"睡了嗎?"
"還沒。"
"明天加油。"
"你也是。"
我放下手機(jī),突然想起王叔叔的日記里的一句話:"最好的代碼,是在壓力下寫出來的。"
我想,最好的生活,也是在壓力下活出來的。
第六節(jié):火山代碼節(jié)開幕
第二天一早,天空晴朗得讓人心醉。山谷里搭起了幾十個(gè)帳篷,舞臺(tái)上傳來調(diào)試音響的聲音。參與者們陸續(xù)到來,有程序員、設(shè)計(jì)師、產(chǎn)品經(jīng)理,還有對(duì)科技感興趣的村民和游客。
我站在入口處,迎接著每一個(gè)到來的人。他們每個(gè)人臉上都帶著期待和好奇,讓我想起了幾個(gè)月前的自己。
上午九點(diǎn),火山代碼節(jié)正式開始。我拿起話筒,站在舞臺(tái)上。
"歡迎大家來到火山代碼節(jié)。"我說,"這是一個(gè)特別的地方,因?yàn)檫@里不僅有代碼,還有土地,還有人心,還有我們所有人對(duì)未來的期待。"
臺(tái)下響起掌聲。
"我們?cè)谶@里,不只是為了學(xué)習(xí)技術(shù),更是為了重新思考我們?yōu)槭裁磳懘a。"我繼續(xù)說,"在**,在上海,在北京,我們寫了很多代碼,但我們可能忘記了,代碼的初心是為了讓生活變得更好,而不是讓我們變成工作的機(jī)器。"
"在這里,我們將用一周的時(shí)間,一起寫代碼,一起生活,一起思考。我們將為村民寫一個(gè)蔬菜溯源系統(tǒng),為孩子們寫一個(gè)編程教學(xué)平臺(tái),為度假村寫一個(gè)社區(qū)管理系統(tǒng)。我們寫的每一行代碼,都將是真實(shí)有用的,都將是服務(wù)于人的。"
"我希望,一周后,我們每個(gè)人都能記住,我們?yōu)槭裁撮_始編程。"
臺(tái)下響起熱烈的掌聲。
接下來的幾天,我們開始了緊張而充實(shí)的活動(dòng)。白天,我們分組寫代碼,討論技術(shù)問題。晚上,我們圍坐在篝火旁,分享各自的故事。秦雨薇帶來了她的技術(shù)團(tuán)隊(duì),和我們一起開發(fā)項(xiàng)目。周博士邀請(qǐng)了當(dāng)?shù)氐拇迕?,讓我們了解他們的需求。陳麗組織了社區(qū)討論,讓我們思考技術(shù)與社會(huì)的關(guān)系。楊阿婆教我們草藥知識(shí),讓我們明白人與自然的關(guān)系。
莉莉則忙著拍照、記錄,她說要把這一切都保存下來,做成一個(gè)紀(jì)錄片。
第五天,我們遇到了一個(gè)技術(shù)難題。為村民開發(fā)的蔬菜溯源系統(tǒng),在測(cè)試時(shí)出現(xiàn)了數(shù)據(jù)同步的問題。幾個(gè)程序員調(diào)試了很久,都沒有找到原因。
我走過去看,發(fā)現(xiàn)是網(wǎng)絡(luò)連接的問題。這里的網(wǎng)絡(luò)信號(hào)不穩(wěn)定,導(dǎo)致數(shù)據(jù)無法實(shí)時(shí)同步。
"我們可以用離線模式。"秦雨薇說,"先存儲(chǔ)在本地,等有網(wǎng)絡(luò)時(shí)再同步。"
"但是這樣會(huì)有數(shù)據(jù)丟失的風(fēng)險(xiǎn)。"一個(gè)程序員說。
"我們可以設(shè)計(jì)一個(gè)冗余機(jī)制。"我提議,"在本地存儲(chǔ)的同時(shí),也存儲(chǔ)在鄰居的手機(jī)上,形成一個(gè)小的網(wǎng)狀網(wǎng)絡(luò)。這樣即使某個(gè)節(jié)點(diǎn)失去連接,數(shù)據(jù)也不會(huì)丟失。"
秦雨薇眼睛一亮:"這個(gè)方案很好!"
我們立刻開始實(shí)施。經(jīng)過一夜的努力,終于解決了這個(gè)問題。
第六天,我們舉辦了第一次"技術(shù)倫理工作坊",討論的話題是:當(dāng)我們擁有改變世界的技術(shù)時(shí),我們應(yīng)該如何負(fù)責(zé)任地使用它?
討論很激烈,有人持技術(shù)樂觀**,認(rèn)為技術(shù)可以解決一切問題;有人持技術(shù)悲觀**,認(rèn)為技術(shù)只會(huì)帶來更多的控制。
我站起來說:"我認(rèn)為,技術(shù)本身沒有好壞,關(guān)鍵在于我們?nèi)绾问褂盟?。就像一把刀,可以用來切菜,也可以用來傷人。我們不能因?yàn)榈犊赡軅司筒挥玫?,而是要學(xué)習(xí)如何安全地使用刀。"
"同樣的,我們不能因?yàn)榧夹g(shù)可能帶來問題就拒絕技術(shù),而是要學(xué)習(xí)如何負(fù)責(zé)任地使用技術(shù)。這就是我們?cè)谶@里要做的事情——不只是學(xué)習(xí)寫代碼,更是學(xué)習(xí)如何寫好的代碼。"
工作坊結(jié)束后,一個(gè)參與者找到我:"Mark,你的話讓我想起了我剛開始學(xué)編程的時(shí)候。那時(shí)候,我覺得編程是魔法,可以創(chuàng)造一切。但現(xiàn)在,我覺得編程只是工具,有時(shí)候甚至是枷鎖。"
"那你還喜歡編程嗎?"我問。
"喜歡。"他笑了,"只是我需要重新找回那種魔法的感覺。"
"那你來對(duì)地方了。"我也笑了。
第七天,火山代碼節(jié)接近尾聲。我們舉行了成果展示會(huì),每個(gè)小組都展示了他們開發(fā)的項(xiàng)目。
有村民蔬菜溯源系統(tǒng),有兒童編程教學(xué)平臺(tái),有度假村社區(qū)管理系統(tǒng),還有幾個(gè)小游戲和工具應(yīng)用。
展示結(jié)束后,我們所有人圍坐在篝火旁,每人說了一句話。
一個(gè)程序員說:"我在這里找到了編程的樂趣。"
一個(gè)村民說:"我沒想到我種的菜也能用高科技來管理。"
一個(gè)孩子說:"原來編程這么好玩!"
最后,我說:"代碼的彼方,不是結(jié)束,而是開始。"
篝火旁,響起了掌聲和笑聲。
第七節(jié):新的開始
火山代碼節(jié)結(jié)束后,我們收到了很多反饋。參與者們都說,這是他們參加過的最有意義的科技活動(dòng)。
更讓我們高興的是,有幾個(gè)參與者表示愿意留下來,成為長(zhǎng)期的志愿者。秦雨薇也正式加入了我們的團(tuán)隊(duì),負(fù)責(zé)技術(shù)戰(zhàn)略。
但問題也隨之而來。
火山代碼節(jié)的成功,吸引了很多人的注意。有媒體來采訪,有**官員來視察,也有投資人來找我們。
一天,一個(gè)西裝革履的男人來到度假村,說是**一家風(fēng)投的合伙人,想要投資我們的項(xiàng)目。
他開出的條件很**:五百萬的投資,換取百分之二十的股份。
我們五個(gè)人坐在四方院里,討論著這個(gè)提議。
"五百萬可以讓我們做很多事情。"莉莉說,"可以擴(kuò)大規(guī)模,可以開發(fā)更多的項(xiàng)目。"
"但是百分之二十的股份太多了。"陳麗說,"這樣我們會(huì)失去對(duì)項(xiàng)目的控制權(quán)。"
"我們可以設(shè)置投票權(quán)。"秦雨薇說,"給他們股份,但不給他們決策權(quán)。"
"資本不會(huì)同意的。"周博士說,"他們要的就是控制權(quán)。"
"我覺得我們應(yīng)該拒絕。"楊阿婆說,"我們現(xiàn)在的模式很好,不需要資本進(jìn)來。"
我也猶豫了。五百萬確實(shí)很有吸引力,但我也擔(dān)心資本的介入會(huì)改變項(xiàng)目的初衷。
"讓我考慮一下。"我說。
那天晚上,我再次走到溫泉邊,思考著這個(gè)問題。
我想起王叔叔的日記里的一句話:"最好的代碼,是那些看不見的代碼;最好的程序員,是那些忘記自己是程序員的人。"
我想,最好的項(xiàng)目,應(yīng)該是那些不為資本所動(dòng)的項(xiàng)目;最好的人,應(yīng)該是那些不為利益所惑的人。
第二天,我告訴那個(gè)投資人,我們拒絕了投資。
他很不理解:"為什么?有了錢,你們可以做更多的事情。"
"正是因?yàn)槲覀兿胱龅氖虑樘啵晕覀儾恍枰X。"我說,"我們需要的是自由。"
他搖搖頭,走了。
莉莉有些擔(dān)心:"我們會(huì)不會(huì)太沖動(dòng)了?"
"不會(huì)。"我說,"如果我們接受了投資,我們就會(huì)變成另一個(gè)我們討厭的公司。"
秦雨薇笑了:"我支持你的決定。"
周博士拍拍我的肩:"你做得對(duì)。"
陳麗說:"我們五個(gè)人的意見是一致的。"
楊阿婆說:"錢買不到人心。"
我看著她們,突然感到一種前所未有的堅(jiān)定。
我知道,我們的路還很長(zhǎng),還會(huì)遇到很多困難。但只要我們五個(gè)人在一起,我們就可以克服一切。
因?yàn)槲覀兊拇a,不是為了改變世界,而是為了更好地理解世界。
"會(huì)。"我轉(zhuǎn)身回到皮卡,從后備箱拿出備胎和工具。
她幫我撐傘,但雨太大,傘根本擋不住。我讓她站到車?yán)锶?,自己則開始換輪胎。
輪胎很重,尤其是在這種惡劣天氣下。我的衣服很快就被淋透了,雨水順著臉頰流下,但我顧不上擦。她站在車?yán)?,默默地看著我?br>"你是去度假村的嗎?"她突然問。
"對(duì)。"
"去參加火山代碼節(jié)?"
"對(duì),我是組織者之一。"我用力擰著螺帽,"你呢?"
"我去看朋友。"她說,"我有個(gè)朋友在周博士的度假村做志愿者。"
換好輪胎后,我渾身都濕透了。她遞給我一條毛巾:"謝謝。你叫什么名字?"
"Mark。"
"我叫秦雨薇。"她伸出手,"到了度假村,我們?cè)僖姟?
我點(diǎn)點(diǎn)頭,回到皮卡,繼續(xù)往場(chǎng)地趕。
第二節(jié):山體滑坡
趕到場(chǎng)地時(shí),我看到阿強(qiáng)帶著十幾個(gè)村民正在雨中忙碌。有幾輛運(yùn)送電子設(shè)備的貨車確實(shí)被困住了,山體滑坡的泥土和石塊堵住了半邊路。
"情況怎么樣?"我走過去問。
"很糟糕,"阿強(qiáng)抹了把臉,"泥土還在往下滑,如果雨不停,可能會(huì)有更大的滑坡。"
我看了看地形,心里迅速計(jì)算著解決方案。這是個(gè)小山坡,滑坡不算太嚴(yán)重,但泥土很松軟。
"我們得先把這些設(shè)備轉(zhuǎn)移到安全的地方,"我說,"然后再想辦法清理道路。"
"怎么轉(zhuǎn)移?"阿強(qiáng)問,"這些設(shè)備很重的,有服務(wù)器、投影儀、音響系統(tǒng)。"
"用人力。"我看向那些村民,"每三個(gè)人一組,搬小件設(shè)備。大件設(shè)備我們先推到路邊,等雨停了再想辦法。"
村民們點(diǎn)點(diǎn)頭,開始行動(dòng)。我也加入他們,扛著一臺(tái)服務(wù)器往高處走。
雨越下越大,泥土變得**。我腳下一滑,差點(diǎn)摔倒,但懷里的服務(wù)器抱得很穩(wěn)。阿強(qiáng)跑過來扶住我:"小心點(diǎn)!"
"沒事。"我繼續(xù)往前走。
就在這時(shí),我聽到身后傳來一聲驚呼。轉(zhuǎn)頭一看,一輛貨車因?yàn)橥T诓环€(wěn)定的地面上,開始緩緩下滑。
"快!把設(shè)備推下來!"我大喊。
幾個(gè)村民沖上去,試圖把設(shè)備從貨車上往下搬,但貨車的傾斜角度越來越大。
我放下服務(wù)器,沖了過去。我們一起用力,終于把幾臺(tái)重要的設(shè)備搬到了安全地帶。
但貨車還在下滑。
"別管車了!人都撤到安全地帶!"我揮著手喊。
村民們迅速撤離。就在最后一個(gè)人離開貨車的一瞬間,貨車整個(gè)翻下了山坡,摔得粉碎。
所有人都沉默了。那輛貨車是租來的,價(jià)值不菲,更重要的是,里面還有一些無法替代的設(shè)備。
阿強(qiáng)走到我身邊,低聲說:"Mark,對(duì)不起,我應(yīng)該早點(diǎn)把車開走的。"
"不是你的錯(cuò)。"我拍拍他的肩,"這種天氣,誰也沒想到會(huì)這樣。"
雨漸漸小了。我看著被毀的貨車和散落一地的設(shè)備,心里計(jì)算著損失。初步估計(jì),直接經(jīng)濟(jì)損失超過五十萬。
更麻煩的是,火山代碼節(jié)兩周后就要舉辦,現(xiàn)在設(shè)備損壞,場(chǎng)地也被滑坡威脅,時(shí)間非常緊張。
"我們先清理出一條臨時(shí)通道,"我對(duì)阿強(qiáng)說,"然后把沒損壞的設(shè)備搬到場(chǎng)地,能搶救多少是多少。"
"好。"阿強(qiáng)轉(zhuǎn)身去組織村民。
我站在雨中,看著被毀的一切,心里卻沒有慌亂。很奇怪,在這種時(shí)候,我反而感到一種奇異的平靜。也許是因?yàn)榻?jīng)歷了太多,也許是因?yàn)槲抑?,慌亂解決不了任何問題。
手機(jī)響了,是周博士打來的。
"Mark,聽說場(chǎng)地出事了?"
"嗯,山體滑坡,一輛貨車毀了,設(shè)備損壞不少。"
"人沒事吧?"
"人沒事,都安全。"
"那就好。"周博士松了口氣,"設(shè)備可以重新買,人沒事最重要。"
"但是代碼節(jié)..."
"代碼節(jié)可以延期,也可以簡(jiǎn)化。重要的是我們沒事。"周博士頓了頓,"對(duì)了,剛才有個(gè)叫秦雨薇的女人來度假村,說是你路上幫她換了輪胎。她帶了一些設(shè)備來,說是捐贈(zèng)給代碼節(jié)的。"
我愣了一下:"秦雨薇?"
"對(duì),她說在路上遇到你,看到你在暴雨中幫人換輪胎,覺得你是個(gè)靠譜的人。"周博士笑了,"她帶來了一套完整的音響系統(tǒng)和投影儀,還有一些服務(wù)器。她說這是她公司的產(chǎn)品,正好適合我們的活動(dòng)。"
我心中一動(dòng)。原來她說的"看朋友"是假的,她其實(shí)是來捐贈(zèng)設(shè)備的。
"她人呢?"
"在四方院和陳麗聊天呢。"
"好,我馬上回來。"
我掛了電話,對(duì)阿強(qiáng)說:"我回度假村一趟,這邊你先處理一下。能搶救的設(shè)備都搬回去,不能搶救的就算了。"
"好。"阿強(qiáng)點(diǎn)點(diǎn)頭,"你路上小心。"
第三節(jié):秦雨薇的身份
回到度假村時(shí),雨已經(jīng)停了。秦雨薇正坐在四方院里,和陳麗聊得很投機(jī)。她看到我,微笑著站起來。
"Mark,你的衣服都濕透了,快去換一件吧。"她說。
"沒事。"我坐下,"謝謝你送來的設(shè)備。"
"不用謝。"她泡了杯茶給我,"我只是做了我應(yīng)該做的事。"
"你怎么知道我們需要這些設(shè)備?"
"我朋友其實(shí)不是志愿者,"她坦率地說,"我是做智能硬件創(chuàng)業(yè)的,最近在找一些鄉(xiāng)村科技項(xiàng)目的合作機(jī)會(huì)。聽說了你們的事,就過來看看。路上遇到你幫我換輪胎,我覺得,一個(gè)能在暴雨中毫不猶豫幫助陌生人的人,值得我投資。"
我看著她,突然明白了什么:"你不是來看朋友的,你是來考察項(xiàng)目的。"
"對(duì)。"她點(diǎn)點(diǎn)頭,"但我現(xiàn)在不是來考察項(xiàng)目的,我是來加入項(xiàng)目的。你們的火山代碼節(jié),我愿意提供全程的技術(shù)支持。"
"為什么?"我問,"我們這個(gè)項(xiàng)目,現(xiàn)在看起來風(fēng)險(xiǎn)很大。"
"因?yàn)槲以谀闵砩峡吹搅瞬灰粯拥臇|西。"她認(rèn)真地說,"現(xiàn)在很多做鄉(xiāng)村項(xiàng)目的人,要么是來撈一筆就走,要么是來做慈善秀。但你不是,你是真的在做事,在解決問題。而且,你身邊有四個(gè)很了不起的女人,她們每個(gè)人都有自己的堅(jiān)持。這種組合,很罕見。"
陳麗笑了:"秦小姐的眼光很準(zhǔn)。"
"叫我雨薇吧。"她說,"我想正式加入你們的團(tuán)隊(duì),不是作為投資者,而是作為合作者。"
我想了想,伸出手:"歡迎。"
就這樣,我們的團(tuán)隊(duì)迎來了第五個(gè)成員。
**節(jié):代碼節(jié)的重新規(guī)劃
有了秦雨薇的支持,火山代碼節(jié)得以重新啟動(dòng)。但時(shí)間緊迫,我們必須在兩周內(nèi)完成所有的準(zhǔn)備工作。
那天晚上,我們五個(gè)人坐在四方院里,討論著新的方案。
"我覺得我們應(yīng)該縮小規(guī)模,"莉莉說,"現(xiàn)在時(shí)間不夠,設(shè)備也不夠,如果硬要辦大型活動(dòng),可能會(huì)搞砸。"
"我不同意。"秦雨薇說,"越是困難的時(shí)候,越應(yīng)該堅(jiān)持原來的計(jì)劃。如果我們縮小規(guī)模,會(huì)讓那些已經(jīng)報(bào)名的參與者失望。"
"但是..."
"沒有但是。"秦雨薇打斷她,"設(shè)備的問題我來解決。我已經(jīng)聯(lián)系了**的朋友,他們可以空運(yùn)一批設(shè)備過來。場(chǎng)地的問題,我們可以找專業(yè)的工程隊(duì)來處理。"
"那得花多少錢?"莉莉問。
"錢不是問題。"秦雨薇說,"問題是我們要把這件事做成。"
周博士皺了皺眉:"秦小姐,我理解你的好意,但我們這個(gè)項(xiàng)目,一直強(qiáng)調(diào)的是可持續(xù)性和社區(qū)參與。如果全部用錢來解決,那就失去了我們的初衷。"
"周博士,我明白你的顧慮。"秦雨薇說,"但我不是要用錢來砸出一個(gè)活動(dòng)。我是要用錢來買時(shí)間,讓我們有時(shí)間去做真正重要的事情。"
我看著她們,突然開口:"我有一個(gè)折中的方案。"
所有人都看向我。
"雨薇可以提供設(shè)備和技術(shù)支持,但我們不用錢來解決問題,而是用合作的方式。"我說,"比如,工程隊(duì)我們可以找,但費(fèi)用可以從未來的收益中扣除。設(shè)備可以借給我們,等代碼節(jié)結(jié)束后再付款。這樣既解決了時(shí)間問題,又保持了我們的原則。"
秦雨薇想了想,點(diǎn)點(diǎn)頭:"我同意。"
周博士也點(diǎn)頭:"這個(gè)方案比較合理。"
"那好,"陳麗說,"我們來分工。雨薇負(fù)責(zé)設(shè)備和工程,莉莉負(fù)責(zé)財(cái)務(wù)和運(yùn)營(yíng),周博士負(fù)責(zé)社區(qū)聯(lián)絡(luò),我負(fù)責(zé)活動(dòng)流程,Mark負(fù)責(zé)技術(shù)支持和內(nèi)容。"
"那我呢?"楊阿婆問。
"您負(fù)責(zé)給我們所有人看病。"我們都笑了。
第五節(jié):暴雨后的重建
接下來的兩周,我們開始了瘋狂的工作。
秦雨薇確實(shí)很有能力,她不僅帶來了設(shè)備,還帶來了一支專業(yè)的技術(shù)團(tuán)隊(duì)。他們只用了一天時(shí)間就清理了滑坡的泥土,修復(fù)了道路。
阿強(qiáng)帶著村民們?nèi)找冠s工,重新搭建了場(chǎng)地。我也和靜修者們一起,通宵達(dá)旦地寫代碼,開發(fā)火山代碼節(jié)的活動(dòng)平臺(tái)。
陳麗則發(fā)揮了她的社區(qū)組織能力,動(dòng)員了更多的村民參與進(jìn)來。周博士聯(lián)系了**和媒體,為活動(dòng)做宣傳。
莉莉管著錢,每一筆賬都算得很清楚。她甚至說服了幾個(gè)在**的企業(yè)家朋友,為活動(dòng)提供了贊助。
楊阿婆也沒閑著,她采了很多草藥,做成香包送給參與者,還教他們?nèi)绾斡貌菟幣莶琛?br>第十四天,場(chǎng)地基本完工。我們站在山谷里,看著搭建一新的舞臺(tái)、音響系統(tǒng)、投影設(shè)備,還有為參與者準(zhǔn)備的帳篷和休息區(qū),所有人都感到一種成就感。
"我們真的做到了。"莉莉感慨地說。
"還沒有。"秦雨薇說,"明天才是真正的考驗(yàn)。"
明天,火山代碼節(jié)正式開幕。
那天晚上,我很晚才睡。我走到溫泉邊,泡在熱水里,看著星空。手機(jī)響了,是秦雨薇發(fā)來的信息。
"睡了嗎?"
"還沒。"
"明天加油。"
"你也是。"
我放下手機(jī),突然想起王叔叔的日記里的一句話:"最好的代碼,是在壓力下寫出來的。"
我想,最好的生活,也是在壓力下活出來的。
第六節(jié):火山代碼節(jié)開幕
第二天一早,天空晴朗得讓人心醉。山谷里搭起了幾十個(gè)帳篷,舞臺(tái)上傳來調(diào)試音響的聲音。參與者們陸續(xù)到來,有程序員、設(shè)計(jì)師、產(chǎn)品經(jīng)理,還有對(duì)科技感興趣的村民和游客。
我站在入口處,迎接著每一個(gè)到來的人。他們每個(gè)人臉上都帶著期待和好奇,讓我想起了幾個(gè)月前的自己。
上午九點(diǎn),火山代碼節(jié)正式開始。我拿起話筒,站在舞臺(tái)上。
"歡迎大家來到火山代碼節(jié)。"我說,"這是一個(gè)特別的地方,因?yàn)檫@里不僅有代碼,還有土地,還有人心,還有我們所有人對(duì)未來的期待。"
臺(tái)下響起掌聲。
"我們?cè)谶@里,不只是為了學(xué)習(xí)技術(shù),更是為了重新思考我們?yōu)槭裁磳懘a。"我繼續(xù)說,"在**,在上海,在北京,我們寫了很多代碼,但我們可能忘記了,代碼的初心是為了讓生活變得更好,而不是讓我們變成工作的機(jī)器。"
"在這里,我們將用一周的時(shí)間,一起寫代碼,一起生活,一起思考。我們將為村民寫一個(gè)蔬菜溯源系統(tǒng),為孩子們寫一個(gè)編程教學(xué)平臺(tái),為度假村寫一個(gè)社區(qū)管理系統(tǒng)。我們寫的每一行代碼,都將是真實(shí)有用的,都將是服務(wù)于人的。"
"我希望,一周后,我們每個(gè)人都能記住,我們?yōu)槭裁撮_始編程。"
臺(tái)下響起熱烈的掌聲。
接下來的幾天,我們開始了緊張而充實(shí)的活動(dòng)。白天,我們分組寫代碼,討論技術(shù)問題。晚上,我們圍坐在篝火旁,分享各自的故事。秦雨薇帶來了她的技術(shù)團(tuán)隊(duì),和我們一起開發(fā)項(xiàng)目。周博士邀請(qǐng)了當(dāng)?shù)氐拇迕?,讓我們了解他們的需求。陳麗組織了社區(qū)討論,讓我們思考技術(shù)與社會(huì)的關(guān)系。楊阿婆教我們草藥知識(shí),讓我們明白人與自然的關(guān)系。
莉莉則忙著拍照、記錄,她說要把這一切都保存下來,做成一個(gè)紀(jì)錄片。
第五天,我們遇到了一個(gè)技術(shù)難題。為村民開發(fā)的蔬菜溯源系統(tǒng),在測(cè)試時(shí)出現(xiàn)了數(shù)據(jù)同步的問題。幾個(gè)程序員調(diào)試了很久,都沒有找到原因。
我走過去看,發(fā)現(xiàn)是網(wǎng)絡(luò)連接的問題。這里的網(wǎng)絡(luò)信號(hào)不穩(wěn)定,導(dǎo)致數(shù)據(jù)無法實(shí)時(shí)同步。
"我們可以用離線模式。"秦雨薇說,"先存儲(chǔ)在本地,等有網(wǎng)絡(luò)時(shí)再同步。"
"但是這樣會(huì)有數(shù)據(jù)丟失的風(fēng)險(xiǎn)。"一個(gè)程序員說。
"我們可以設(shè)計(jì)一個(gè)冗余機(jī)制。"我提議,"在本地存儲(chǔ)的同時(shí),也存儲(chǔ)在鄰居的手機(jī)上,形成一個(gè)小的網(wǎng)狀網(wǎng)絡(luò)。這樣即使某個(gè)節(jié)點(diǎn)失去連接,數(shù)據(jù)也不會(huì)丟失。"
秦雨薇眼睛一亮:"這個(gè)方案很好!"
我們立刻開始實(shí)施。經(jīng)過一夜的努力,終于解決了這個(gè)問題。
第六天,我們舉辦了第一次"技術(shù)倫理工作坊",討論的話題是:當(dāng)我們擁有改變世界的技術(shù)時(shí),我們應(yīng)該如何負(fù)責(zé)任地使用它?
討論很激烈,有人持技術(shù)樂觀**,認(rèn)為技術(shù)可以解決一切問題;有人持技術(shù)悲觀**,認(rèn)為技術(shù)只會(huì)帶來更多的控制。
我站起來說:"我認(rèn)為,技術(shù)本身沒有好壞,關(guān)鍵在于我們?nèi)绾问褂盟?。就像一把刀,可以用來切菜,也可以用來傷人。我們不能因?yàn)榈犊赡軅司筒挥玫?,而是要學(xué)習(xí)如何安全地使用刀。"
"同樣的,我們不能因?yàn)榧夹g(shù)可能帶來問題就拒絕技術(shù),而是要學(xué)習(xí)如何負(fù)責(zé)任地使用技術(shù)。這就是我們?cè)谶@里要做的事情——不只是學(xué)習(xí)寫代碼,更是學(xué)習(xí)如何寫好的代碼。"
工作坊結(jié)束后,一個(gè)參與者找到我:"Mark,你的話讓我想起了我剛開始學(xué)編程的時(shí)候。那時(shí)候,我覺得編程是魔法,可以創(chuàng)造一切。但現(xiàn)在,我覺得編程只是工具,有時(shí)候甚至是枷鎖。"
"那你還喜歡編程嗎?"我問。
"喜歡。"他笑了,"只是我需要重新找回那種魔法的感覺。"
"那你來對(duì)地方了。"我也笑了。
第七天,火山代碼節(jié)接近尾聲。我們舉行了成果展示會(huì),每個(gè)小組都展示了他們開發(fā)的項(xiàng)目。
有村民蔬菜溯源系統(tǒng),有兒童編程教學(xué)平臺(tái),有度假村社區(qū)管理系統(tǒng),還有幾個(gè)小游戲和工具應(yīng)用。
展示結(jié)束后,我們所有人圍坐在篝火旁,每人說了一句話。
一個(gè)程序員說:"我在這里找到了編程的樂趣。"
一個(gè)村民說:"我沒想到我種的菜也能用高科技來管理。"
一個(gè)孩子說:"原來編程這么好玩!"
最后,我說:"代碼的彼方,不是結(jié)束,而是開始。"
篝火旁,響起了掌聲和笑聲。
第七節(jié):新的開始
火山代碼節(jié)結(jié)束后,我們收到了很多反饋。參與者們都說,這是他們參加過的最有意義的科技活動(dòng)。
更讓我們高興的是,有幾個(gè)參與者表示愿意留下來,成為長(zhǎng)期的志愿者。秦雨薇也正式加入了我們的團(tuán)隊(duì),負(fù)責(zé)技術(shù)戰(zhàn)略。
但問題也隨之而來。
火山代碼節(jié)的成功,吸引了很多人的注意。有媒體來采訪,有**官員來視察,也有投資人來找我們。
一天,一個(gè)西裝革履的男人來到度假村,說是**一家風(fēng)投的合伙人,想要投資我們的項(xiàng)目。
他開出的條件很**:五百萬的投資,換取百分之二十的股份。
我們五個(gè)人坐在四方院里,討論著這個(gè)提議。
"五百萬可以讓我們做很多事情。"莉莉說,"可以擴(kuò)大規(guī)模,可以開發(fā)更多的項(xiàng)目。"
"但是百分之二十的股份太多了。"陳麗說,"這樣我們會(huì)失去對(duì)項(xiàng)目的控制權(quán)。"
"我們可以設(shè)置投票權(quán)。"秦雨薇說,"給他們股份,但不給他們決策權(quán)。"
"資本不會(huì)同意的。"周博士說,"他們要的就是控制權(quán)。"
"我覺得我們應(yīng)該拒絕。"楊阿婆說,"我們現(xiàn)在的模式很好,不需要資本進(jìn)來。"
我也猶豫了。五百萬確實(shí)很有吸引力,但我也擔(dān)心資本的介入會(huì)改變項(xiàng)目的初衷。
"讓我考慮一下。"我說。
那天晚上,我再次走到溫泉邊,思考著這個(gè)問題。
我想起王叔叔的日記里的一句話:"最好的代碼,是那些看不見的代碼;最好的程序員,是那些忘記自己是程序員的人。"
我想,最好的項(xiàng)目,應(yīng)該是那些不為資本所動(dòng)的項(xiàng)目;最好的人,應(yīng)該是那些不為利益所惑的人。
第二天,我告訴那個(gè)投資人,我們拒絕了投資。
他很不理解:"為什么?有了錢,你們可以做更多的事情。"
"正是因?yàn)槲覀兿胱龅氖虑樘啵晕覀儾恍枰X。"我說,"我們需要的是自由。"
他搖搖頭,走了。
莉莉有些擔(dān)心:"我們會(huì)不會(huì)太沖動(dòng)了?"
"不會(huì)。"我說,"如果我們接受了投資,我們就會(huì)變成另一個(gè)我們討厭的公司。"
秦雨薇笑了:"我支持你的決定。"
周博士拍拍我的肩:"你做得對(duì)。"
陳麗說:"我們五個(gè)人的意見是一致的。"
楊阿婆說:"錢買不到人心。"
我看著她們,突然感到一種前所未有的堅(jiān)定。
我知道,我們的路還很長(zhǎng),還會(huì)遇到很多困難。但只要我們五個(gè)人在一起,我們就可以克服一切。
因?yàn)槲覀兊拇a,不是為了改變世界,而是為了更好地理解世界。
閱讀下一章(解鎖全文)
點(diǎn)擊即可暢讀完整版全部?jī)?nèi)容
相關(guān)書籍
友情鏈接