本文首次發(fā)表在 細(xì)數(shù)我與 Linux 這十三年 -- 泰曉科技
大學(xué)畢業(yè)的時(shí)候總想著要 “轟轟烈烈地” 寫(xiě)一寫(xiě) “我的大學(xué)”,工作了以后慢慢地覺(jué)得好像也沒(méi)什么好寫(xiě)的钩述,工作八叁扫、九年后,現(xiàn)在離職了,接觸了知乎的诵、泰曉原創(chuàng)團(tuán)隊(duì)微信群等各個(gè)渠道大家提出的問(wèn)題后,覺(jué)得似乎可以簡(jiǎn)單回顧一下佑钾。
所以西疤,下面簡(jiǎn)單回顧一下 “我的大學(xué)” 以及 “我的工作”,這些基本都圍繞 Linux休溶,希望可以打發(fā)一下大家的碎片時(shí)間瘪阁。
在黃土高原萃英山下組建 Linux 社團(tuán)
第一次看到黃土高原
2003 年高考,筆者把報(bào)考的第一志愿全部填寫(xiě)為 “計(jì)算機(jī)專(zhuān)業(yè)”邮偎,因?yàn)閷?duì) “科技奧秘” 充滿(mǎn)無(wú)盡的遐想,雖然那伙都沒(méi)怎么碰過(guò)電腦义黎,高考后的那個(gè)暑假才學(xué)會(huì)了五筆打字禾进。
2003 年 9 月,坐了 20 多個(gè)小時(shí)的綠皮車(chē)廉涕,從江西南昌一路到甘肅蘭州泻云,天亮以后,過(guò)了寶雞狐蜕,看到黃土高原滿(mǎn)目的 “荒蕪” 感覺(jué)像是被流放到了邊陲宠纯,淚水直流,等到輾轉(zhuǎn)下了校車(chē)搖了兩個(gè)小時(shí)到榆中校區(qū)(現(xiàn)在有高速和火車(chē)层释,半個(gè)多鐘可到)婆瓜,看到蔥翠的校園和熱情接待的師兄師姐們,心才平靜下來(lái)贡羔。
各種折騰
到學(xué)校以后廉白,在師兄師姐的地?cái)偵腺I(mǎi)了好幾本感覺(jué)有趣的技術(shù)圖書(shū),比如說(shuō) HTML乖寒,由于買(mǎi)不起電腦猴蹂,所以跟同學(xué)們借了一堆上機(jī)證,每天下午上完課楣嘁,揣著個(gè)饅頭就去學(xué)校機(jī)房排隊(duì)去了磅轻。
也有加入學(xué)院報(bào)社編撰《信息星空》去圓自己的“文學(xué)夢(mèng)” —— 咬文嚼字,“排版碼字”而已了逐虚,后面很榮幸有機(jī)會(huì)一直做到副主編聋溜。真地很想念當(dāng)年投稿的作者們,一起編輯報(bào)紙的小伙伴們叭爱,還有第一食堂前那家打印社協(xié)助排版的同事們勤婚。這兩年多的經(jīng)歷,不僅結(jié)識(shí)了很多喜歡文字喜歡文學(xué)的朋友涤伐,也養(yǎng)成了嚴(yán)謹(jǐn)?shù)淖珜?xiě)和編輯習(xí)慣馒胆,所以缨称,泰曉科技的投稿作者們一定要耐心,有錯(cuò)別字是比較難接受的祝迂,有排版不美觀也是比較難接受的睦尽,可能來(lái)來(lái)回回得改好幾版,不過(guò)型雳,改個(gè)幾版后当凡,提升會(huì)很明顯的,歡迎接受挑戰(zhàn) ^_^
剛學(xué)完 C 語(yǔ)言沒(méi)多久參加過(guò)一屆學(xué)校 ACM 比賽纠俭,拿了二等獎(jiǎng)沿量,贏了一個(gè) 16M 的 U 盤(pán),現(xiàn)在還珍藏著冤荆。
然后也有暑假一個(gè)人窩在宿舍寢室編撰 匯編語(yǔ)言課程的參考答案朴则,那伙不知道去找出版社出版,而是跑到學(xué)校電臺(tái)去打字做勤工儉學(xué)钓简,歪打正著把碼字速度提升了不少乌妒。
期間,也陸陸續(xù)續(xù)參加過(guò)學(xué)校就業(yè)網(wǎng)站等各類(lèi)項(xiàng)目外邓。
對(duì)面宿舍的 “北極” 同學(xué) 10 歲那年用父母送的游戲機(jī)學(xué) Qbasic撤蚊,他在那一屆 ACM 比賽拿了第 3 名,后面陸續(xù)帶隊(duì)參加全國(guó)的比賽损话,而我則徹底離開(kāi)了 ACM 比賽侦啸,遠(yuǎn)離了對(duì)算法的研究。
FTP 搜索引擎
大學(xué)里頭丧枪,由自己發(fā)起并持續(xù)改了 n 個(gè)版本的軟件匹中,當(dāng)屬 FTP 搜索引擎。那時(shí)候成天夢(mèng)想著打造一個(gè)西北地區(qū)高校的 FTP 搜索引擎豪诲,從大二寫(xiě)到大四顶捷。
大二以后死皮賴(lài)臉跟家里要錢(qián)攢了一臺(tái)電腦(非常感激老爸老媽?zhuān)D菚r(shí)候成天抱著 MSDN 大磚頭電子書(shū)啃 VB屎篱,同時(shí)不斷向 “北極” 同學(xué)取經(jīng)(所以服赎,“北極” 可以說(shuō)是我大學(xué)階段的計(jì)算機(jī)啟蒙老師)。
在數(shù)據(jù)庫(kù)交播、網(wǎng)絡(luò)這些課程通通沒(méi)有接觸前重虑,硬是在 Windows 下用 VB+Acess+ASP 碼了個(gè)帶圖形界面,集爬蟲(chóng)秦士、數(shù)據(jù)存儲(chǔ)缺厉、搜索界面為一體的具有完整功能的 FTP 搜索引擎。
然后每隔一段時(shí)間在自己機(jī)器上跑完所有西北地區(qū)高校的 IP 地址段,跑完后把數(shù)據(jù)庫(kù)和網(wǎng)站更新到學(xué)校提供的個(gè)人空間上提针。
那段時(shí)間成就感滿(mǎn)滿(mǎn)命爬,因?yàn)榭梢钥吹綄?shí)實(shí)在在有很多同學(xué)在用,各種五花八門(mén)的搜索內(nèi)容都有辐脖,然后為了避免那啥饲宛,自己還因此建立了敏感詞庫(kù)等功能,后來(lái)陸陸續(xù)續(xù)迭代嗜价,一直到后面在 Linux 平臺(tái)用 C+MySQL+PHP 重構(gòu)了一遍艇抠。那個(gè)時(shí)候,跟隔壁班的 Tom 同學(xué)一起搞久锥,他負(fù)責(zé) UI 設(shè)計(jì)家淤,我負(fù)責(zé)剩下的部分,搞出來(lái)有模有樣瑟由。
被 “rm -rf" 傷到
只可惜絮重,大四畢業(yè)那年,需要把電腦轉(zhuǎn)給弟弟用错妖,在整理數(shù)據(jù)時(shí),一條 rm -rf
結(jié)束了一切疚沐。
只留下在實(shí)驗(yàn)樓 502 室無(wú)數(shù)個(gè)通宵達(dá)旦 debugging 的夜晚以及相關(guān)的 debugging 文章暂氯,比如說(shuō) Linux 段錯(cuò)誤詳解,當(dāng)然亮蛔,還有那篇基于 VB+Access+ASP 版本寫(xiě)的論文(沒(méi)有在任何雜志發(fā)表痴施,直接放到了網(wǎng)絡(luò)上):FTP搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)(優(yōu)化版),至今還在網(wǎng)絡(luò)流傳究流。
那個(gè)時(shí)候辣吃,有幾年,陸陸續(xù)續(xù)有很多高校的應(yīng)屆畢業(yè)生找過(guò)來(lái)芬探,要幫忙寫(xiě)論文神得,由于鄙視這種學(xué)術(shù)作風(fēng),所以一一拒絕了偷仿,雖然當(dāng)時(shí)一個(gè)月才拿實(shí)驗(yàn)室 200 塊哩簿,但是不為這點(diǎn)小錢(qián)折腰的精神至今還是贊賞的。
當(dāng)然酝静,這個(gè)項(xiàng)目有幾個(gè)很重要的貢獻(xiàn):
因此取了現(xiàn)在的網(wǎng)名:Falcon节榜,因?yàn)楫?dāng)時(shí)取的搜索引擎名字是 “獵鷹搜索 —— 生來(lái)是獵手,網(wǎng)海中搜尋”别智,原來(lái)想用 eagle宗苍,只是覺(jué)得不夠霸氣。
認(rèn)識(shí)了 Open Source 和代碼管理工具的重要性,如果當(dāng)時(shí)把代碼開(kāi)放到 sf.net讳窟,就不至于因?yàn)橐粭l
rm -rf
就蕩然無(wú)存了让歼。后面那些考試,比如說(shuō)數(shù)據(jù)庫(kù)都是很容易就 Pass 了挪钓。因?yàn)樵陧?xiàng)目里頭是越,SQL 都被玩爛了,各種優(yōu)化需要都實(shí)踐過(guò)了嘛碌上,幾百萬(wàn)條數(shù)據(jù)要在幾秒內(nèi)返回倚评,得優(yōu)化數(shù)據(jù)庫(kù)索引,優(yōu)化每條 SQL 語(yǔ)句馏予。
差不多時(shí)間段天梧,“北極” 在 Windows 平臺(tái)上,不停地用 C+內(nèi)存數(shù)據(jù)庫(kù)+CGI
寫(xiě)他的搜索引擎版本霞丧,速度很快呢岗,界面很一般。
蘭大開(kāi)源社區(qū)剛成立時(shí)的那些事兒
2005 年 9 月蛹尝,教育部和科技部批準(zhǔn)在全國(guó) 40 所高校建立 “國(guó)家 Linux 技術(shù)培訓(xùn)與推廣中心”后豫,蘭州大學(xué)于 10 月份建立 “Linux 技術(shù)中心”,成為首家 “大學(xué)國(guó)家 Linux 技術(shù)培訓(xùn)與推廣中心”突那。
之后學(xué)校開(kāi)設(shè)了相關(guān)的 Linux 課程挫酿,同學(xué)們開(kāi)始涉獵 Linux 方面的知識(shí)。
也是在這一年愕难,我和 Tom 因?yàn)樵诟?FTP 搜索引擎早龟,被學(xué)校團(tuán)委的徐老師發(fā)現(xiàn),那個(gè)時(shí)候她正在負(fù)責(zé)一個(gè)校園門(mén)戶(hù)網(wǎng)站:萃英在線猫缭,然后討論把這個(gè)搜索引擎搞得正式一點(diǎn)葱弟。
因此結(jié)識(shí)了萃英在線的主要成員 osier、jolestar猜丹、柳力芝加、acai、K.D. 等同學(xué)射窒,然后突然有一天妖混,他們有人提出來(lái)要組建學(xué)校的 Linux 用戶(hù)組,于是大家一起玩 Linux轮洋,印象中制市,從 TurboLinux, MandrivaLinux, Ubuntu 5.04 開(kāi)始玩。
然后弊予,委派我去跟當(dāng)時(shí)上數(shù)據(jù)庫(kù)課程的副院長(zhǎng)申請(qǐng)?jiān)O(shè)備資源祥楣,那個(gè)時(shí)候打探到有個(gè) IBM 實(shí)驗(yàn)室,有臺(tái)很不錯(cuò)的服務(wù)器閑置著,不過(guò)當(dāng)時(shí)沒(méi)能申請(qǐng)上误褪,后來(lái)輾轉(zhuǎn)聯(lián)系上了 DSLab 的 Kinggo 老師责鳍,后來(lái)在他的支持協(xié)助下,我們?cè)趯W(xué)校網(wǎng)絡(luò)中心申請(qǐng)到了服務(wù)器兽间,另外历葛,也協(xié)調(diào)學(xué)院在實(shí)驗(yàn)樓給我們支持了一間辦公室。
2006 年 5 月 12 日嘀略,蘭州大學(xué)第二屆Linux開(kāi)放日暨蘭州大學(xué)開(kāi)源社區(qū)對(duì)外開(kāi)放恤溶,正式成立了蘭大開(kāi)源社區(qū),大家做了一些分工帜羊,有的搭建論壇咒程,有的搭建社區(qū)鏡像站,熱火朝天讼育。
主導(dǎo)建立面向全校的正式社團(tuán)
后來(lái) osier 等師兄畢業(yè)后帐姻,DSLab 還在讀研的 “黃天” 師兄找到我和 Tom 接手負(fù)責(zé)后續(xù)的運(yùn)營(yíng),我們商量組織了全校范圍內(nèi)的納新奶段,制定了團(tuán)隊(duì)章程饥瓷,注冊(cè)了正式的校園社團(tuán),方便持續(xù)永久合法地運(yùn)作”约現(xiàn)在回頭來(lái)看呢铆,這個(gè)策略是對(duì)的,一個(gè)松散的開(kāi)源團(tuán)隊(duì)是無(wú)法持續(xù)存在下去的词裤。
另外刺洒,為了避免局限在信息學(xué)院鳖宾,我們主導(dǎo)把社團(tuán)注冊(cè)在了資源環(huán)境學(xué)院(可惜地是吼砂,后面有一屆負(fù)責(zé)人又被忽悠把注冊(cè)單位改回了信息學(xué)院)滤馍,從而確保團(tuán)隊(duì)有來(lái)自各個(gè)專(zhuān)業(yè)背景的同學(xué)剪返,大家可以相互學(xué)習(xí)亚隙,切磋银萍,交換思想猴贰。
同時(shí)炼七,建立了兩條線的管理制度帜乞,一條技術(shù)線嗽测,一條活動(dòng)線撑帖,雙 “CEO” 制度蓉坎。也逐步形成了社團(tuán)文化,建立了邀請(qǐng)外部工程師來(lái)做講座胡嘿,邀請(qǐng)優(yōu)秀畢業(yè)生來(lái)做交流以及畢業(yè)時(shí)捐贈(zèng)圖書(shū)的傳統(tǒng)蛉艾,還搞了幾個(gè)經(jīng)典的活動(dòng),新人培訓(xùn),軟件自由日勿侯,軟件自由日通常會(huì)播放 Revolution OS拓瞪、裝機(jī)、以及講解 Linux 命令上手助琐。
那個(gè)時(shí)候祭埂,每年都有來(lái)自美術(shù)、物理兵钮、行政蛆橡、資環(huán)、管理各個(gè)不同專(zhuān)業(yè)的新同學(xué)加入矢空,很多同學(xué)都是品學(xué)兼優(yōu)航罗。筆者后來(lái)在學(xué)校繼續(xù)讀研,雖然大四后就交棒給了下一屆新人 Loyou 和 Silent屁药,但是一直以來(lái)都在關(guān)心和支持社區(qū)直到研究生畢業(yè)粥血。畢業(yè)后,也贊助過(guò)幾筆小的費(fèi)用酿箭,用于采購(gòu)書(shū)籍和鏡像站硬盤(pán)复亏。
何不在貴校也建立一個(gè)社團(tuán)
在這個(gè)時(shí)間段,“北極” 在負(fù)責(zé)當(dāng)時(shí)學(xué)校的一個(gè) BBS缭嫡,星期天社區(qū)缔御。后來(lái),我們都有幸被邀請(qǐng)當(dāng)西北望 BBS 的技術(shù)站務(wù)妇蛀,只是那段時(shí)間項(xiàng)目多耕突,站務(wù)技術(shù)工作也少,所以我這邊沒(méi)有什么實(shí)質(zhì)的貢獻(xiàn)评架,只是在自己熟悉的 Linux 版塊做好版務(wù)工作眷茁。
那個(gè)時(shí)候,除了對(duì)技術(shù)的執(zhí)著纵诞,其實(shí)還有一種責(zé)任感在驅(qū)使著我們上祈,就是覺(jué)得我們應(yīng)該為學(xué)校留一下一點(diǎn)什么,現(xiàn)在回頭來(lái)看浙芙,每年都有幾十位來(lái)自蘭大開(kāi)源社區(qū)的應(yīng)屆生畢業(yè)登刺,甚感當(dāng)時(shí)的付出是值得的,也感謝有機(jī)會(huì)和那么多優(yōu)秀的師兄師姐師弟師妹們一起學(xué)習(xí)和奮斗過(guò)嗡呼,如今很多已經(jīng)畢業(yè)纸俭,在各自的崗位上做得很出色,為他們感到自豪南窗,也希望更多的新同學(xué)不斷地加入揍很,通過(guò)這樣一個(gè)優(yōu)秀的團(tuán)隊(duì)廊宪,抱團(tuán)學(xué)習(xí),一起成長(zhǎng)女轿。
蘭大箭启,雖然地理位置偏僻一些,但是即使在那邊學(xué)習(xí)計(jì)算機(jī)蛉迹,離東部沿海的互聯(lián)網(wǎng)和硬件企業(yè)很遠(yuǎn)傅寡,但是如果執(zhí)著,有求知欲北救,不管是加入蘭大開(kāi)源社區(qū)荐操,還是加入其他的 IT 社團(tuán)(當(dāng)時(shí)的星期天論壇,以及萃英在線珍策、西北望BBS 等等)托启,都是有機(jī)會(huì)跟有經(jīng)驗(yàn)的老師和學(xué)長(zhǎng)一起學(xué)習(xí),通過(guò)網(wǎng)絡(luò)攘宙,大家還可以跟來(lái)自世界各地的人們一起交流屯耸。其他高校也是,并不是所有高校都有豐富的設(shè)備和網(wǎng)絡(luò)資源蹭劈,也不一定能碰到慷慨支持學(xué)生的 “kinggo” 支持疗绣,但是只要去想辦法,去克服铺韧,肯定是可以解決的多矮。
前段時(shí)間,我們?nèi)ナ占珖?guó)高校的開(kāi)源社團(tuán)信息哈打,能夠通過(guò)搜索引擎檢索到的寥寥無(wú)幾塔逃,所以,非常鼓勵(lì)所有高校的計(jì)算機(jī)新生們料仗,如果有興趣湾盗,可以去抱團(tuán)組建這樣的團(tuán)隊(duì),除了一起切磋研討技術(shù)罢维,對(duì)于組織能力淹仑,協(xié)作意識(shí)都是非常重要的歷練丙挽。
在市區(qū) DSLab 玩數(shù)控車(chē)床
被 kinggo “忽悠” 了
由于蘭大開(kāi)源社區(qū)的這段經(jīng)歷肺孵,有幸結(jié)識(shí)了 DSLab 的 kinggo 老師,也參加了 DSLab 組織的幾次 “Summer School”颜阐,這個(gè)完全向本科生免費(fèi)開(kāi)放平窘,由 Nicholas Mc Guire 教授上課。我們都親切地稱(chēng)呼他 Nico凳怨。
所以到本科畢業(yè)的時(shí)候瑰艘,剛好那個(gè)時(shí)候還進(jìn)了基地班是鬼,積分合計(jì)下來(lái)能排到專(zhuān)業(yè)前三,自己有保送的機(jī)會(huì)紫新,就跟 kinggo 老師聯(lián)系均蜜,請(qǐng)他幫忙推薦國(guó)內(nèi)的高校實(shí)驗(yàn)室,后來(lái)芒率,總之是被 “忽悠”(也確實(shí)有主觀覺(jué)得 Linux 前景很贊囤耳,老師們也比較 Nice) 直接去 DSLab 實(shí)驗(yàn)室,跟 Nico 和 Kinggo 老師學(xué)習(xí)和研究實(shí)時(shí)系統(tǒng)和安全關(guān)鍵系統(tǒng)偶芍。
30 分鐘 Watchdog
從 Nico 的 Summer School 上學(xué)到的最重要的一課是:“如果一個(gè)解決問(wèn)題的方法花了 30 分鐘實(shí)施毫無(wú)效果充择,要停下來(lái)思考一下,分析是不是哪里出了問(wèn)題匪蟀,不要盲目重復(fù)”椎麦。這個(gè)觀念在后來(lái)的研究和工作中,屢次被得到驗(yàn)證材彪,筆者也一直跟周邊的朋友和同事宣導(dǎo)观挎。
讀研那些事兒
所以大三、大四基本就跟 Tom 一起做了 DSLab 的研究項(xiàng)目段化,師兄師姐們都非常 Nice 和照顧键兜,前前后后有參與做過(guò) KIOSK,有做過(guò) IBM Power CELL 處理器上的 gdb tracepoint穗泵,當(dāng)時(shí)積累不夠普气,時(shí)間倉(cāng)促,結(jié)果做的很一般佃延。還有用 power 的板子做過(guò)一個(gè)模塊化的網(wǎng)關(guān)競(jìng)賽现诀,還因此后面不斷迭代搞了一個(gè) VnstatSVG。
后來(lái)做研究履肃,主要有用 XtratuM 做 Fault-tolerant System仔沿,而投入時(shí)間最多的當(dāng)屬跟西門(mén)子合作的 SIL4 Linux,本科還沒(méi)畢業(yè)就參與了理論研究環(huán)節(jié)尺棋,我跟師姐一組研究 HAZOP封锉,后面整個(gè) Demo 系統(tǒng)基本是由鄙人主導(dǎo)開(kāi)發(fā)。
后面的畢業(yè)論文主要跟龍芯有關(guān)膘螟,研二下半年開(kāi)始去實(shí)習(xí)成福,實(shí)習(xí)完主要時(shí)間都埋在實(shí)驗(yàn)室做實(shí)驗(yàn),寫(xiě)畢業(yè)論文荆残。
這個(gè)論文算是在國(guó)內(nèi)首次較為系統(tǒng)地研究和分析了 實(shí)時(shí)搶占內(nèi)核奴艾,有理論分析,也有工程實(shí)踐内斯,還有實(shí)質(zhì)的成果蕴潦,那就是 MIPS Ftrace 以及龍芯平臺(tái)上的實(shí)時(shí)搶占支持像啼。創(chuàng)新性呢不是很足,但是每個(gè)環(huán)節(jié)的論證和實(shí)驗(yàn)部分非常有分量潭苞,不知道趴在實(shí)驗(yàn)室睡了多少個(gè)晚上忽冻,設(shè)計(jì)實(shí)驗(yàn),驗(yàn)證此疹,看效果甚颂,這個(gè)很大程度上受到 Nico 影響,治學(xué)很?chē)?yán)謹(jǐn)秀菱。
跟本科生講嵌入式課
大四和研一的時(shí)候振诬,還也有參與 2 屆 Summer School 的授課,給本科的同學(xué)講嵌入式 Linux 課程衍菱,結(jié)合之前學(xué)習(xí) Nico 授課的學(xué)習(xí)筆記赶么,加上自己曾經(jīng)動(dòng)手過(guò)的一些項(xiàng)目素材,課堂效果還算不錯(cuò)脊串。在比較短的 4 周時(shí)間內(nèi)辫呻,一邊要做實(shí)驗(yàn)室的項(xiàng)目,一邊還得整理講解和實(shí)驗(yàn)材料琼锋,講完還要答疑放闺,講的時(shí)候陷入情境了,有時(shí)候眉飛色舞缕坎,滔滔不絕怖侦,估計(jì)不少同學(xué)可能沒(méi)跟上節(jié)奏 ;-)
實(shí)驗(yàn)室創(chuàng)業(yè)也難
那個(gè)時(shí)候,實(shí)驗(yàn)室窮谜叹,每個(gè)月領(lǐng)實(shí)驗(yàn)室 200 塊大洋匾寝,因?yàn)閷儆诒K停瑢W(xué)校還補(bǔ)貼了 200 塊大洋荷腊,不過(guò)這個(gè)只是杯水車(chē)薪艳悔,還得去外面兼職做個(gè)家教攢點(diǎn)住宿費(fèi)。幸好那個(gè)時(shí)候牛肉面便宜好吃女仰,不然被餓死(_)猜年。
那伙應(yīng)該是實(shí)驗(yàn)室第 3 屆,現(xiàn)在實(shí)驗(yàn)室很財(cái)大氣粗了疾忍。創(chuàng)業(yè)難乔外,創(chuàng)建實(shí)驗(yàn)室也一樣難,真是不容易锭碳,要養(yǎng)活一大堆學(xué)生袁稽,還得組織大家出成果勿璃。經(jīng)費(fèi)擒抛、學(xué)術(shù)推汽、管理都是很大的負(fù)擔(dān),而且學(xué)生流動(dòng)性很大歧沪,要持續(xù)深入做一些課題確實(shí)不容易歹撒。
在江南水鄉(xiāng)玩龍芯那一年
為什么要讀博士
研一的時(shí)候,有個(gè)學(xué)術(shù)會(huì)議诊胞,跟臺(tái)灣來(lái)的老師請(qǐng)教暖夭,咨詢(xún)他是否要讀博,他說(shuō)建議盡量頂住困難撵孤,讀一個(gè)迈着,他說(shuō)經(jīng)濟(jì)上的困難以后回頭看都是一定能克服的。他打了一個(gè)比方邪码,“博士就好比一套西裝裕菠,大部分時(shí)候不是必須的,但是有些場(chǎng)合得穿著才行”闭专。
萬(wàn)事孝為先
研二的時(shí)候奴潘,西門(mén)子的項(xiàng)目做得差不多了,在等新加坡的項(xiàng)目影钉,一直沒(méi)順利拿到画髓,加上弟弟那伙上大三,學(xué)費(fèi)壓力比較大平委,父母因?yàn)槌D陝谧髂蜗海眢w都積壓出了毛病,學(xué)校+實(shí)驗(yàn)室 400 塊大洋都不夠自己吃住廉赔,所以沒(méi)有辦法補(bǔ)貼家用愚墓,于是跟導(dǎo)師商量要出去實(shí)習(xí),delay 了差不多半年昂勉,實(shí)在是等不及浪册,再拖父母身體就跨了,所以就跟導(dǎo)師講道理岗照,苦口婆心村象,各有苦衷,孝道為先攒至,豁出去了厚者。
那伙一直在想到底去哪里實(shí)習(xí)比較好,雖然說(shuō)當(dāng)時(shí)情況下攢錢(qián)是第一位的迫吐,但是當(dāng)時(shí)找實(shí)習(xí)卻是另外一種思路库菲。偶爾找了龍芯胡老師的幾篇文章,讀得眼淚稀里嘩啦的志膀,于是決定一定要去那邊實(shí)習(xí)熙宇,剛好 kinggo 老師跟龍芯產(chǎn)業(yè)化基地的老師有聯(lián)系鳖擒,所以也沒(méi)談實(shí)習(xí)工資就去奔常熟去了,kinggo 說(shuō)工資先別考慮烫止,回頭再談蒋荚,應(yīng)該沒(méi)問(wèn)題的。
關(guān)于實(shí)習(xí)工資
2009 年 2 月馆蠕,到那邊以后期升,干活特別用心,部門(mén)領(lǐng)導(dǎo)以及其他同事也非常關(guān)心和熱情互躬,在同事們的指導(dǎo)下播赁,兩周內(nèi)把實(shí)時(shí)搶占內(nèi)核在龍芯 2F 盒子上跑起來(lái)了,包括搭建環(huán)境吼渡,熟悉 MIPS 平臺(tái)行拢,移植,debugging 一股腦搞完诞吱。
一個(gè)月后舟奠,工資卡收到 500 大洋,后面了解到房维,包吃包住沼瘫,那伙實(shí)習(xí)生都是這個(gè)待遇,可是咙俩,真是來(lái)攢學(xué)費(fèi)的耿戚,這個(gè)不夠用啊,那伙弟弟在江西師大讀軟件工程阿趁,一年學(xué)費(fèi) 1 萬(wàn)大洋膜蛔,這干一年也不夠啊,所以跟 kinggo 和基地的老師去溝通脖阵,然后看表現(xiàn)還可以破例給提升了一些皂股。
去德累斯頓做報(bào)告
這個(gè)實(shí)時(shí) Linux 的工作搞得七七八八以后,寫(xiě)了一篇論文投到了 RTLWS命黔,然后在 Nico 的資助下還跟在那邊讀博士的 “黃天” 師兄去德累斯頓做了一個(gè)報(bào)告呜呐。
報(bào)告完,F(xiàn)trace Maintainer Steven 指出 function graph tracer 實(shí)現(xiàn)不完整悍募,討論完發(fā)現(xiàn)確實(shí)有 Bug蘑辑,回來(lái)繼續(xù)完善,最后搞了 12 個(gè)版本才把 MIPS Ftrace 提交進(jìn)官方 Linux 社區(qū)坠宴。
在這次會(huì)議上洋魂,有見(jiàn)了很多大神真身,除了 Ftrace Steven,還有 Lwn Cobert, RT Thomas副砍,RCU Paul衔肢,Scheduler Ingo,跟 Thomas 拍了合照址晕,估計(jì)找不到了膀懈,然后還有跟 20 多個(gè)內(nèi)核 Maintainers 一起喝大杯啤酒顿锰,都忘記聊了些啥谨垃,印象是挺 happy 的。
RSM 用了我維護(hù)的內(nèi)核
這段時(shí)間特別賣(mài)力硼控,有時(shí)候頭天熬一個(gè)通宵刘陶,第二還一早來(lái)打卡繼續(xù)干。
前后把所有 2F 的機(jī)器內(nèi)核整成一個(gè)牢撼,原來(lái)發(fā)軟件匙隔,一臺(tái)機(jī)器一個(gè)固件,整完以后熏版,發(fā)一個(gè)固件就好了纷责。
再后來(lái),把所有代碼整巴整巴全部給弄到官方內(nèi)核去了撼短,搞完后再膳,2010 年被提名去參加 Linux 峰會(huì),因?yàn)榻?jīng)濟(jì)等因素曲横,最后沒(méi)成行喂柒。
同時(shí),順手搞了一個(gè)社區(qū)版龍芯 Linux禾嫉,一直免費(fèi)維護(hù)到畢業(yè)的兩年后灾杰,基本上每個(gè)晚上都要看一下郵件列表,每個(gè)周末都有至少一個(gè)晚上在熬夜合 patch熙参,做測(cè)試驗(yàn)證艳吠。
中途來(lái)自北美 FSF 的 Alex 參與維護(hù),后來(lái)實(shí)在堅(jiān)持不了孽椰,我停止維護(hù)后讲竿,他一直堅(jiān)持維護(hù)了好幾年,期間 RSM 還用了跑這個(gè)內(nèi)核的龍芯逸瓏筆記本弄屡,當(dāng)時(shí)世偉兄免費(fèi)維護(hù)的社區(qū)版 Debian 也是用這個(gè)內(nèi)核题禀。
在歐洲跑了 5+ 年的龍芯盒子
還有實(shí)時(shí) Linux,最后搞到在各種軟硬件負(fù)載下穩(wěn)定在 80us 以?xún)?nèi)膀捷。2009 年底回實(shí)驗(yàn)室迈嘹,繼續(xù)完善,同時(shí)撰寫(xiě) 畢業(yè)論文。
后面有送一臺(tái) 2F 的盒子到歐洲的 OSADL 實(shí)驗(yàn)室秀仲,一直跑實(shí)時(shí) Linux 的壓力測(cè)試融痛,現(xiàn)在還在歡快的跑著。
與風(fēng)之河的一段緣
工作選擇的煩惱
2010 年神僵,筆者畢業(yè)并加入北京風(fēng)河(WindRiver)雁刷,那是一家成立了 30 多年的公司,在的那年剛好是 30 周年慶保礼。
還在龍芯實(shí)習(xí)的時(shí)候沛励,由于在 Linux 社區(qū)發(fā)了很多龍芯和 MIPS 的 patch,風(fēng)河 Linux 部門(mén)的老大 Mark 發(fā)來(lái)郵件炮障,有過(guò)幾通電話來(lái)往目派,后面確定了過(guò)去。
這期間其實(shí)有過(guò)不少糾結(jié)和煩惱胁赢,因?yàn)樵邶埿具@邊實(shí)習(xí)也干得挺好企蹭,同事和領(lǐng)導(dǎo)也比較關(guān)心,自己對(duì)龍芯的熱情也一直有而且很強(qiáng)烈智末,所以谅摄,經(jīng)過(guò)了很大的一個(gè)思想斗爭(zhēng),最后還是覺(jué)得要去 WindRiver 看看系馆,畢竟那個(gè)時(shí)候做 Vxworks 和 RTLinux 的風(fēng)河還是嵌入式系統(tǒng)行業(yè)的 No.1送漠,跟自己一直搞的 Real Time 和 Safety 也比較契合,而自己還是一個(gè)學(xué)生它呀,還得多學(xué)習(xí)螺男。
不過(guò)去了以后,就上面介紹到的纵穿,即使是畢業(yè)后的 2012 年下隧,基本上每天,每個(gè)周末谓媒,在繁忙的工作之余淆院,我還是花了大量的時(shí)間義務(wù)維護(hù)社區(qū)版的龍芯 Linux 內(nèi)核,一直在為龍芯服務(wù)句惯,不拿一份工資土辩。所以,那個(gè)時(shí)候抢野,成天在住處和辦公室跑拷淘,基本也沒(méi)有業(yè)余的時(shí)間去談朋友,也沒(méi)怎么運(yùn)動(dòng)指孤。
全身心投入
在工作方面启涯,自己是 Linux BSP 部門(mén)唯一的一個(gè)應(yīng)屆生贬堵,由于自己資歷淺,還是學(xué)生结洼,很擔(dān)心趕不上黎做,所以工作也很認(rèn)真,特別虛心跟各位同事們請(qǐng)教松忍,大家也很 Nice蒸殿。
那個(gè)時(shí)候是一個(gè)人負(fù)責(zé)整個(gè) BSP,沒(méi)有跟現(xiàn)在手機(jī)項(xiàng)目一樣鸣峭,好幾個(gè)人宏所,甚至是十多個(gè)人做一個(gè) BSP,一個(gè)人做兩三個(gè)模塊叽掘。
做評(píng)估和實(shí)施的時(shí)候楣铁,由于不太熟悉玖雁,所以就做的特別仔細(xì)更扁,比如說(shuō)評(píng)估文檔,就盡量能驗(yàn)證的都驗(yàn)證好赫冬,有資料的就把資料列上去浓镜,一天半天都評(píng)估得比較具體細(xì)致。因此劲厌,有個(gè)項(xiàng)目的評(píng)估報(bào)告還被 Mark 作為樣板在會(huì)上宣導(dǎo) ;-)
有做自己評(píng)估的項(xiàng)目膛薛,也有做其他同事評(píng)估的項(xiàng)目,基本上都能按時(shí)按質(zhì)完成工作計(jì)劃补鼻,在一年多 3 個(gè)月的時(shí)間里頭哄啄,完成了應(yīng)該至少有 5 個(gè)左右的 BSP 項(xiàng)目吧(太久了記不得太清楚),有時(shí)候還要負(fù)責(zé)一些自己比較熟悉的 Ftrace, RT Features风范,有時(shí)還要 Review 測(cè)試同事撰寫(xiě)的測(cè)試用例咨跌。
這一年多下來(lái)其實(shí)還是成長(zhǎng)比較快的,因?yàn)橐鐾暾?BSP硼婿,所以接觸的內(nèi)核子系統(tǒng)锌半,外設(shè),各種功能就比較豐富寇漫,對(duì)于 porting 過(guò)程刊殉,驗(yàn)證工作,評(píng)審流程州胳,系統(tǒng)質(zhì)量保障都有比較系統(tǒng)地認(rèn)識(shí)记焊。如果能做得再久一點(diǎn)當(dāng)然更好了。
BSP Monkey
記得剛?cè)ワL(fēng)河沒(méi)多久栓撞,Nico 回國(guó)的時(shí)候路過(guò)北京遍膜,我把他接到望京聚了個(gè)餐,然后去機(jī)場(chǎng)送行。
他問(wèn)我都在干啥捌归,問(wèn)完以后跟我開(kāi)玩笑:You Are A BSP Monkey肛响。說(shuō)我不停地重復(fù)做不同的 BSP,就是個(gè) BSP Monkey惜索。感觸很深特笋,這么多年,一直還記得巾兆。
做 BSP Porting 工作本身猎物,有多少原創(chuàng)性的工作呢?“確實(shí)不多”角塑,但是對(duì)于產(chǎn)品整體的把握意識(shí)和系統(tǒng)性的掌控能力確實(shí)是有巨大幫助的蔫磨。
后來(lái),我一直在思考圃伶,怎么突破 “BSP Monkey” 這個(gè)范疇并且跟周邊的同事們也在宣導(dǎo)這個(gè)概念堤如,不能只是個(gè) “BSP Monkey”,要思考要突破窒朋,從深度上搀罢、效率上、從質(zhì)量上侥猩、流程上榔至、思路上,進(jìn)度保障上欺劳,必須不斷地創(chuàng)新進(jìn)取唧取。
Android 關(guān)注組
2010 年底 2011 年初,也是因?yàn)橹皡⑴c官方 Linux 社區(qū)的原因划提,提前就結(jié)識(shí)了幾個(gè) WindRiver 的小伙伴和前輩枫弟,我們?cè)跇I(yè)余時(shí)間經(jīng)常聊聊天,聚個(gè)餐什么的腔剂,大家聊到剛興起的 Android媒区,覺(jué)得應(yīng)該要關(guān)注,甚至聊到是否未來(lái)有可能為剛興起的手機(jī)廠商提供技術(shù)咨詢(xún)服務(wù)掸犬。
那一年袜漩,遠(yuǎn)在珠海的魅族剛好發(fā)布了第一款 M9 不久,上市了一年多還有各種死機(jī)崩潰問(wèn)題湾碎,那伙正在做 MX宙攻,迫切希望能改善狀況。
在 2009 年的常熟介褥,筆者有幸在很愛(ài)趕時(shí)髦的 Mike 唐同學(xué)那里看到過(guò)一臺(tái)手機(jī)座掘,真是艷羨得很递惋,那滑動(dòng)看新聞的效果真是酷斃了,據(jù)說(shuō)那臺(tái)手機(jī)應(yīng)該是 M8溢陪,同一年萍虽,在風(fēng)河另外一個(gè) Team 的 3D 也是 Android 關(guān)注組的一員,他原來(lái)給 M8 搞過(guò) libfetion形真,所以跟魅族的同學(xué)有聯(lián)系杉编,巧合,天衣無(wú)縫咆霜。
2011 年初邓馒,我和 3D,受邀去魅族做一個(gè)報(bào)告蛾坯,全場(chǎng)坐無(wú)虛席光酣。臨行前,我們的 Android 關(guān)注組祝福我們成功起步脉课,因?yàn)槭堑谝患揖染緵](méi)經(jīng)驗(yàn),一共下來(lái)除了對(duì)方報(bào)銷(xiāo)機(jī)票下翎,一人拿了應(yīng)該不到 2k 來(lái)著缤言,記不太得了宝当。
后面视事,其他的廠家需求也沒(méi)有渠道,而關(guān)注組的同學(xué)們庆揩,3D 第一個(gè)南下騰訊了俐东,后來(lái),魅族拋來(lái)橄欖枝订晌,加上來(lái)回的溝通虏辫,以及對(duì)網(wǎng)絡(luò)中魅族大 Boss 的 “執(zhí)著” 精神做了一個(gè)調(diào)研,幾經(jīng)折騰锈拨,最后南下珠海了砌庄,打算奉獻(xiàn)給國(guó)產(chǎn)事業(yè)了。
第一次聽(tīng)說(shuō)小米
這一年多里奕枢,真地非常感謝 WindRiver 幾位 Leader 和同事們一直以來(lái)的關(guān)照和指導(dǎo)娄昆,大家真地都非常非常地 Nice。特別地缝彬,
在部門(mén)組織的歡送會(huì)上萌焰,同事們問(wèn)道,北京不是有小米也準(zhǔn)備做機(jī)么谷浅,為什么不考慮一下扒俯?那伙做的調(diào)查工作實(shí)在太少奶卓,也沒(méi)有考慮太多,甚至對(duì)手機(jī)行業(yè)都一片空白撼玄,那伙自己還在用 Nokia夺姑,對(duì)智能機(jī)真是一無(wú)所知,只是覺(jué)得掌猛,這么多年對(duì)系統(tǒng)的研究應(yīng)該在國(guó)產(chǎn)的產(chǎn)品上可以有點(diǎn)實(shí)際作為了瑟幕。
依依不舍
離開(kāi)北京的時(shí)候,我在人人網(wǎng)還是 QQ 朋友圈留言留潦,“待到東南下只盹,竟覺(jué)北亦佳!” 怎么舍得那么好的同事和領(lǐng)導(dǎo)呢兔院,還有很多北漂的師兄師姐師弟師妹以及同學(xué)們殖卑,而且北京很多地方都沒(méi)怎么逛過(guò),都窩在宿舍維護(hù)社區(qū)版龍芯 Linux坊萝。
對(duì)了孵稽,那一年,本科就畢業(yè)到福州做交互機(jī)的 “北極”十偶,在我去風(fēng)河的時(shí)候菩鲜,他已經(jīng)在樓下做 Vxworks,真是巧合惦积,兩位老同學(xué)接校,三年后,又聚到了一起狮崩。
在學(xué)校的時(shí)候蛛勉,他住我對(duì)面宿舍,工作以后睦柴,又分別在樓上樓下辦公诽凌。有一段時(shí)間換房子沒(méi)來(lái)得及,還在 “北極” 家借宿了一段時(shí)間坦敌÷滤校“北極” 現(xiàn)在還在那邊嗜桌,還在那棟樓了氏义,在技術(shù)上,他的耕耘很深很專(zhuān)業(yè)勾给,而我卻走上另外一條道路训柴,做終端產(chǎn)品上的系統(tǒng)去了哑舒,要更多地要跟產(chǎn)品的細(xì)枝末節(jié)打交道。
南下特區(qū)做機(jī)的這幾年
初入魅族
2011 年 9 月幻馁,剛南下的時(shí)候洗鸵,很不習(xí)慣越锈,興沖沖地過(guò)來(lái),卻是被安排先從 LED膘滨、傳感器驅(qū)動(dòng)做起來(lái)甘凭,當(dāng)然,熟悉一下終端產(chǎn)品也無(wú)妨火邓,之前確實(shí)缺少面向用戶(hù)產(chǎn)品的經(jīng)驗(yàn)丹弱,在風(fēng)河做的東西,交付給廠商铲咨,廠商還得進(jìn)一步做成實(shí)際產(chǎn)品躲胳,而且這些產(chǎn)品往往是路由器之類(lèi)的隱藏在云上的產(chǎn)品,用戶(hù)看不到摸不著著纤勒,而這邊做的東西是直接交付給用戶(hù)的坯苹,所以確實(shí)有差異的。
識(shí)別方向
所以剛開(kāi)始挺耐心的摇天,不過(guò)這跟我來(lái)的初衷不符啊粹湃,所以,做了一段時(shí)間以后泉坐,通過(guò)跟上司和同事們分析为鳄、探討和觀察,自己特別關(guān)注和思考如何去提升體驗(yàn)腕让,體驗(yàn)除了死機(jī)和穩(wěn)定性孤钦,逐步發(fā)現(xiàn),還有性能记某、續(xù)航和溫控等嚴(yán)重的體驗(yàn)問(wèn)題司训,續(xù)航和溫控這兩個(gè)在云端產(chǎn)品基本不會(huì)涉及。
想了解這段過(guò)程的話液南,可以閱讀 智能手機(jī)系統(tǒng)優(yōu)化的演進(jìn)與實(shí)踐,這是 2015 年勾徽,我在 CSDN MDCC 大會(huì)上做的一場(chǎng)報(bào)告滑凉。報(bào)告講述了整個(gè)系統(tǒng)優(yōu)化的發(fā)展過(guò)程。
我們應(yīng)該是安卓手機(jī)行業(yè)內(nèi)最早體系化地去思考系統(tǒng)體驗(yàn)問(wèn)題的團(tuán)隊(duì)喘帚,也最早建立了專(zhuān)職的團(tuán)隊(duì)去做系統(tǒng)優(yōu)化畅姊,這些工作在 2011 年底,2012 年就開(kāi)始在醞釀和準(zhǔn)備了吹由。
付諸實(shí)施
這期間若未,沒(méi)有對(duì)應(yīng)的測(cè)試環(huán)節(jié),就引薦外部的測(cè)試供應(yīng)商過(guò)來(lái)交流倾鲫;沒(méi)有體系化的保障措施粗合,就從頭設(shè)計(jì)一套方案:Linux RAS 解決方案萍嬉,制定標(biāo)準(zhǔn)和規(guī)范,開(kāi)發(fā)原型系統(tǒng)隙疚;并打通生產(chǎn)壤追、研發(fā)和測(cè)試各部門(mén)壁壘。一步一步供屉,在不斷有成績(jī)以及領(lǐng)導(dǎo)的大力支持下行冰,從 0~1 組建系統(tǒng)優(yōu)化團(tuán)隊(duì),組建自動(dòng)化測(cè)試團(tuán)隊(duì)伶丐,組建魅藍(lán)驅(qū)動(dòng)開(kāi)發(fā)團(tuán)隊(duì)悼做,組建項(xiàng)目管理團(tuán)隊(duì),與此同時(shí)哗魂,不斷在踐行:
一方面贿堰,逐步實(shí)施新人培養(yǎng)計(jì)劃,建設(shè)課題組啡彬,建立知識(shí)庫(kù)羹与,打造技能體系。依托課題組庶灿,建立 “技術(shù)委員會(huì)”纵搁。鼓勵(lì)各課題組進(jìn)行技術(shù)分享,完善標(biāo)準(zhǔn)和規(guī)范往踢,從而保障部門(mén)的技術(shù)能力建設(shè)腾誉。
另外一方面,把部門(mén)經(jīng)費(fèi)管理峻呕、活動(dòng)組織利职、專(zhuān)利數(shù)據(jù)運(yùn)營(yíng)、知識(shí)庫(kù)運(yùn)營(yíng)等都交付給 “團(tuán)建委員會(huì)”瘦癌。由剛?cè)肼毜男峦聜冚啀弲⑴c實(shí)施猪贪,建立起全面參與的團(tuán)隊(duì)文化,同時(shí)加快新人融入團(tuán)隊(duì)和成長(zhǎng)的節(jié)奏讯私,也確保了開(kāi)放性热押、創(chuàng)造性和多樣性。比如說(shuō)所有的經(jīng)費(fèi)管理都有在線賬本記錄完全公開(kāi)透明斤寇,出納和財(cái)務(wù)都做到完全分開(kāi)桶癣;而活動(dòng)組織這塊,大家集思廣益娘锁,出現(xiàn)了很多精彩的活動(dòng)節(jié)目牙寞;而專(zhuān)利和知識(shí)庫(kù),由于大家策略很多莫秆,然后負(fù)責(zé)的同事們自己帶頭貢獻(xiàn)间雀,所以呈現(xiàn)了爆發(fā)式增長(zhǎng)悔详。
再一方面,建立項(xiàng)目數(shù)據(jù)運(yùn)營(yíng)系統(tǒng)雷蹂,完善研發(fā)流程的各個(gè)環(huán)節(jié)伟端。不僅完善了各環(huán)節(jié)數(shù)據(jù)監(jiān)控指標(biāo),避免死角匪煌,創(chuàng)新性地引入 “未更新”责蝠、“未解決”,“未驗(yàn)證” 三項(xiàng)指標(biāo)來(lái)避免錯(cuò)過(guò)一些關(guān)鍵問(wèn)題萎庭、關(guān)鍵時(shí)間點(diǎn)霜医,從而避免項(xiàng)目管理、研發(fā)和測(cè)試任何一個(gè)環(huán)節(jié)的疏忽大意驳规,并借此調(diào)度資源肴敛,保障進(jìn)度和質(zhì)量。與此同時(shí)吗购,還引入了一個(gè) “低概率問(wèn)題占比” 這個(gè)指標(biāo)來(lái)論證越到上市環(huán)節(jié)医男,留下的問(wèn)題,90% 以上都是低概率問(wèn)題捻勉,也就是不易復(fù)現(xiàn)的問(wèn)題镀梭。所以,最關(guān)鍵的部分踱启,是需要開(kāi)發(fā)和測(cè)試一起不斷去完善測(cè)試用例报账,確保問(wèn)題是可以有效發(fā)現(xiàn)的,這樣才有辦法去定位問(wèn)題埠偿,進(jìn)而嘗試解決方案是否有效透罢。對(duì)于這種問(wèn)題,通常需要強(qiáng)有力的 Leader 去把各個(gè)部門(mén)冠蒋,各個(gè)課題組羽圃,包括研發(fā)、測(cè)試浊服、項(xiàng)目统屈,甚至技術(shù)委員會(huì)的技術(shù)專(zhuān)家喊進(jìn)來(lái),一起分析探討牙躺,制定 Roadmap,設(shè)計(jì)修復(fù)方案腕扶,制定驗(yàn)證策略孽拷,反復(fù)迭代,直到問(wèn)題收斂半抱。
這個(gè)期間脓恕,由于涉及到資源膜宋,涉及到進(jìn)度,如果足夠真誠(chéng)和有力量炼幔,基本上還是能大家協(xié)調(diào)一致秋茫,但是也不排除有人只顧自己的利益,在背后放槍?zhuān)愿慵夹g(shù)的同時(shí)也要稍微提防一下乃秀。
行業(yè)交流
這幾年在行業(yè)交流方面做了幾個(gè)事情肛著。
其中一個(gè)是泰曉沙龍。前前后后在珠海地區(qū)組織了 5 次線下交流跺讯,其中分別有榮幸邀請(qǐng)到國(guó)內(nèi) Linux 業(yè)界前輩宋寶華老師枢贿、臺(tái)灣開(kāi)源教父級(jí)大佬黃敬群老師、國(guó)內(nèi)另外一家 Linux 內(nèi)容原創(chuàng)平臺(tái)蝸窩科技郭健老師等嘉賓參加刀脏。相關(guān)的交流記錄在 泰曉沙龍局荚。
行業(yè)演講和報(bào)告方面,有代表性的三場(chǎng)分別是:
- 2013 珠海 Google GDG愈污,Android Linux 可靠性(RAS)研究與實(shí)踐
- 2015 北京 CSDN MDCC耀态,智能手機(jī)系統(tǒng)優(yōu)化的演進(jìn)與實(shí)踐
- 2016 上海 中國(guó)Linux內(nèi)核開(kāi)發(fā)者大會(huì),Ftrace 實(shí)現(xiàn)原理與開(kāi)發(fā)實(shí)踐
推掉了德國(guó)的工作機(jī)會(huì)
剛畢業(yè)那段暂雹,跟 Nico 聊過(guò)首装,請(qǐng)他幫忙問(wèn)問(wèn) Thomas 那邊是否有工作機(jī)會(huì),2012 年的時(shí)候擎析,Thomas 回復(fù)說(shuō)可以去了簿盅。
不過(guò)那段時(shí)間,在魅族自己有一些規(guī)劃正在實(shí)施揍魂,還沒(méi)有成果桨醋,不希望半途而廢,所以现斋,暫時(shí)推掉了 Thomas 的邀請(qǐng)喜最。后面忙起來(lái),也忘記再聯(lián)絡(luò)了庄蹋。
現(xiàn)在想起來(lái)瞬内,既錯(cuò)過(guò)了去那邊讀博,也錯(cuò)過(guò)了去那邊工作限书,或許是些許的遺憾吧虫蝶。
攢到第一筆外快
2011 年向 elinux 基金會(huì)提交了一個(gè) TinyLinux proposal,然后陸陸續(xù)續(xù)完成了 50% 的工作量倦西,拿了一半的費(fèi)用能真。這期間,在五一還是十一,有幾天就一直窩在家里做實(shí)驗(yàn)粉铐,測(cè)衰退疼约,測(cè)數(shù)據(jù),最后趕出來(lái)了蝙泼。這篇論文是 Tiny Linux Kernel Project: Section Garbage Collection Patchset程剥。這是第一次有收入的開(kāi)源活動(dòng),期間喊了一個(gè)師弟參加汤踏,每周參加兩個(gè)晚上织鲸,不僅親自指導(dǎo),還每個(gè)月發(fā)給他 1000 大洋 ;-)
這個(gè) gc-section patchset 基本是 ok 了茎活,但是有部分平臺(tái)依賴(lài)比較新的 binutils昙沦,而且牽涉到的代碼改動(dòng)比較多,所以當(dāng)時(shí)放棄了 Upstream载荔。
這個(gè)項(xiàng)目其實(shí)還是有不少成果盾饮,相關(guān)成果列在 TinyLinux,我記得當(dāng)時(shí)在龍芯 2F 上有做到一個(gè) 386k 的 vmlinuz 懒熙,順道提一下丘损,這里的 vmlinuz —— MIPS 內(nèi)核壓縮支持也是筆者貢獻(xiàn)到 Linux 官方社區(qū)的。還有一個(gè)附帶的成果就是 Linux Lab工扎,這個(gè)項(xiàng)目源自當(dāng)時(shí)測(cè)試驗(yàn)證的一堆腳本徘钥。
后面陸續(xù)有華為等企業(yè)的朋友聯(lián)系過(guò)來(lái)咨詢(xún)?cè)撎匦裕坪跛麄冇性诋a(chǎn)品中使用肢娘。自己也在早期 MX 等多款產(chǎn)品上試行呈础,對(duì)于編譯為一體的 Linux 內(nèi)核,Size 優(yōu)化超過(guò) 10% 以上橱健。只是目前來(lái)看而钞,這塊的實(shí)際意義不是很大了,一方面拘荡,模塊 delay 加載臼节,另外一方面,存儲(chǔ)越來(lái)越大珊皿,多的已經(jīng)到了 256G网缝,內(nèi)核再大也就幾十 M,還有一個(gè)是不斷有高壓縮率的內(nèi)核壓縮算法加入蟋定。不過(guò)這個(gè)優(yōu)化對(duì)于小存儲(chǔ)系統(tǒng)粉臊,還是省空間省錢(qián)的可選措施之一。
賦閑在家的這幾個(gè)月
從離職到現(xiàn)在的這幾個(gè)月驶兜,做了幾件事情:
注冊(cè)了一家公司
離職后很快注冊(cè)了一家自己的公司维费,公司目前還沒(méi)有正式開(kāi)始運(yùn)營(yíng)果元。主要規(guī)劃的業(yè)務(wù)方向是技術(shù)咨詢(xún)促王,但是 ODM 的活拒了好幾個(gè)犀盟,覺(jué)得這塊不是最能體現(xiàn)價(jià)值的方向,對(duì)個(gè)人來(lái)講蝇狼,陷入進(jìn)去阅畴,還不如去公司做單一產(chǎn)品,對(duì)企業(yè)來(lái)講迅耘,解決了一個(gè)問(wèn)題還會(huì)有另外一個(gè)問(wèn)題贱枣。
如果是技術(shù)咨詢(xún),提供方法論颤专,指導(dǎo)建立體系纽哥,引薦招到合適的人,并完善團(tuán)隊(duì)技能培訓(xùn)栖秕,這個(gè)是比較契合的春塌,對(duì)筆者和企業(yè)其實(shí)都是具有更長(zhǎng)遠(yuǎn)意義的。
我們?cè)谇度胧?Linux簇捍、實(shí)時(shí) Linux只壳、Linux 系統(tǒng)優(yōu)化、Linux 產(chǎn)品質(zhì)量保障暑塑、Linux 團(tuán)隊(duì)建設(shè)和管理等方面具有豐富的經(jīng)驗(yàn)吼句,在云存儲(chǔ)、虛擬化事格、AIoT惕艳、芯片設(shè)計(jì)等方面也聚攏了諸多一線技術(shù)專(zhuān)家。
所以如果有這塊需求的客戶(hù)歡迎添加筆者微信:lzufalcon驹愚,也可以翻到文末直接掃描二維碼远搪。也歡迎同學(xué)們引薦給有潛在需求的企業(yè),非常感謝么鹤!
重構(gòu)了 Linux Lab
這是一個(gè)即時(shí) Linux 內(nèi)核實(shí)驗(yàn)室终娃。這個(gè)項(xiàng)目的潛力很大,目標(biāo)是成為 Linux 開(kāi)發(fā)者的手頭必備工具蒸甜,它正在朝這個(gè)方向走棠耕,所以,如果還沒(méi)體驗(yàn)過(guò)柠新,快快體驗(yàn)吧窍荧。
這個(gè)項(xiàng)目的作用:
大大降低了個(gè)人學(xué)習(xí) Linux 的門(mén)檻,原來(lái)要花幾周建立學(xué)習(xí)環(huán)境恨憎,現(xiàn)在數(shù)十分鐘就好蕊退。原來(lái)要各種挑選開(kāi)發(fā)板郊楣,現(xiàn)在 Linux Lab 支持 7+ 大架構(gòu),14+ 開(kāi)發(fā)板瓤荔,除了主流架構(gòu)净蚤,還包括樹(shù)莓派 raspi3 和當(dāng)下最火熱的 Risc-V 32/64。
同時(shí)也可以用到企業(yè)做 Linux 培訓(xùn)输硝,做開(kāi)發(fā)今瀑、調(diào)試和測(cè)試環(huán)境。無(wú)論是什么架構(gòu)点把,很方便選擇橘荠,甚至各種不同版本的內(nèi)核都有預(yù)先驗(yàn)證過(guò)的內(nèi)核配置文件和編譯好的內(nèi)核。
尤其是芯片公司郎逃,做好 Qemu 虛擬化后哥童,用這個(gè)可以大大節(jié)省時(shí)間,提升效率褒翰。比如說(shuō)目前 Linux Lab 除了支持 5 大主流架構(gòu)(X86, ARM, MIPS, PowerPC, Risc-V)贮懈,也已經(jīng)支持 龍芯 和 Csky。其中龍芯這塊的支持是和龍芯實(shí)驗(yàn)室聯(lián)合開(kāi)發(fā)的影暴。Csky 是中天微聯(lián)合開(kāi)發(fā)的错邦。
另外,做 Linux 內(nèi)核特性開(kāi)發(fā)型宙,做代碼 Upstream 都很方便撬呢,可以同時(shí)在 7+ 個(gè)架構(gòu),14+ 虛擬板子上驗(yàn)證自己的成果是否完善妆兑,是否有影響到其他子系統(tǒng)魂拦。
高校也可以免費(fèi)用來(lái)開(kāi)設(shè)很多課程,包括體系結(jié)構(gòu)搁嗓、匯編語(yǔ)言芯勘、C、Shell腺逛、操作系統(tǒng)荷愕、虛擬化、網(wǎng)絡(luò)棍矛、數(shù)據(jù)庫(kù)安疗、編譯原理都可以。
希望有相關(guān)需求的個(gè)人够委、企業(yè)荐类、高校踴躍嘗試,如果有確實(shí)的咨詢(xún)茁帽、培訓(xùn)玉罐、企業(yè)支持需求屈嗤,也歡迎聯(lián)系筆者微信:lzulfaocn 提供服務(wù)。
感謝 rexZ吊输、releung饶号、我夏了夏天、jordonwulee璧亚、foxsen 等同學(xué)的踴躍參與讨韭,相關(guān)的項(xiàng)目還有 Linux 0.11 Lab, CS630 Qemu Lab。歡迎更多同學(xué)參與進(jìn)來(lái)癣蟋,一起體驗(yàn)、測(cè)試和開(kāi)發(fā)狰闪。也歡迎大家加入『Linux Lab 用戶(hù)群』疯搅,可以聯(lián)系筆者微信:lzufalcon。
重新運(yùn)營(yíng)泰曉科技
泰曉科技的域名最早是在 2010 年埋泵,我們的 Android 關(guān)注組討論做咨詢(xún)服務(wù)的時(shí)候購(gòu)買(mǎi)的幔欧,那時(shí)只是買(mǎi)了個(gè)域名,還沒(méi)有網(wǎng)站名字丽声,后來(lái)有用過(guò) “泰曉實(shí)驗(yàn)室”礁蔗,最后才改為 “泰曉科技”。后來(lái)雁社,3D 去騰訊以后浴井,域名直接轉(zhuǎn)給了我,停頓了一段以后霉撵,陸陸續(xù)續(xù)一直更新到現(xiàn)在磺浙,這段時(shí)間相對(duì)充裕一些,就重新開(kāi)始啟用公眾號(hào)徒坡,這期間也仰賴(lài) “LWN 翻譯計(jì)劃” 負(fù)責(zé)人 Wang Chen 同學(xué)的踴躍參與和支持撕氧,然后我就有更多精力在幾個(gè)開(kāi)源項(xiàng)目的重構(gòu)上,同時(shí)嘗試開(kāi)通了 付費(fèi)征稿喇完,并開(kāi)辟了除網(wǎng)站和公眾號(hào)以外的第 3 發(fā)布渠道 —— 即會(huì)員制 VIP 版塊:『Linux 知識(shí)星球』伦泥。
公眾號(hào)開(kāi)通以后,HelloGcc 的 @ww 大大持續(xù)打氣锦溪。而 Wang Chen 同學(xué)一直在負(fù)責(zé)運(yùn)營(yíng)公眾號(hào)不脯,而且他在繁忙的工作之余,堅(jiān)持開(kāi)展 LWN 翻譯 和 泰曉資訊 兩個(gè)欄目海洼,實(shí)屬難得跨新,非常不易。我們的公眾號(hào)已經(jīng)連續(xù)運(yùn)營(yíng)了數(shù)月坏逢,每周一到周五都堅(jiān)持更新域帐,從未間斷赘被,快快掃描下方二維碼關(guān)注并設(shè)為星標(biāo)吧,不然會(huì)錯(cuò)過(guò)好文章哈肖揣。
付費(fèi)征稿開(kāi)通以后民假,有甜質(zhì)粥、cee1龙优、simowce羊异、shenmin 等同學(xué)積極響應(yīng),踴躍投稿彤断。歡迎更多的同學(xué)們踴躍投稿野舶,即日起,一經(jīng)采納宰衙,即可獲得 200 大洋稿費(fèi)平道,同時(shí)可以免費(fèi)獲贈(zèng)『Linux 知識(shí)星球』一年會(huì)員。
而知識(shí)星球開(kāi)通以后供炼,得到了近百號(hào)同學(xué)們的大力支持一屋,大家不僅以實(shí)際行動(dòng)提供支持,還積極參與討論袋哼,出謀劃策冀墨。歡迎更多的同學(xué)訂閱星球,或者轉(zhuǎn)發(fā)到朋友圈涛贯,引薦給其他的同學(xué)诽嘉。
送您一張免費(fèi)體驗(yàn)卡
非常感謝您能耐心讀到這里,下面奉上一張免費(fèi)體驗(yàn)卡疫蔓,可以多人使用含懊,也歡迎轉(zhuǎn)贈(zèng)給周邊的朋友。
寄語(yǔ)
在手機(jī)這波浪潮逐漸退卻之后衅胀,汽車(chē)岔乔、物聯(lián)網(wǎng)、AI 這些大潮接踵而至滚躯,但是都離不開(kāi)它們的基石雏门,即我們正在學(xué)習(xí)和研究的 Linux 平臺(tái),無(wú)論是作為設(shè)備(汽車(chē)大屏掸掏、充電樁茁影、語(yǔ)音終端、攝像終端)系統(tǒng)存在丧凤,還是作為云(AI 計(jì)算募闲、數(shù)據(jù)存儲(chǔ)、虛擬化)平臺(tái)系統(tǒng)存在愿待,Linux 在未來(lái)都將繼續(xù)呈現(xiàn)勃勃生機(jī)浩螺。
筆者希望靴患,能夠藉由『Linux 知識(shí)星球』這個(gè)載體,系統(tǒng)地總結(jié)過(guò)去十多年的 Linux 系統(tǒng)使用要出、研究和開(kāi)源社區(qū)組織參與經(jīng)驗(yàn)鸳君,以及過(guò)去八年來(lái)數(shù)千萬(wàn)規(guī)模的手機(jī)終端產(chǎn)品 Linux 系統(tǒng)研發(fā)、團(tuán)隊(duì)管理和質(zhì)量保障經(jīng)驗(yàn)患蹂,然后逐步回歸 Linux 官方社區(qū)或颊,密切關(guān)注和參與行業(yè)發(fā)展趨勢(shì)。
與此同時(shí)传于,筆者將不斷邀請(qǐng)更多專(zhuān)業(yè)嘉賓朋友加入囱挑。然后希望這些成果能夠切實(shí)降低當(dāng)下其他行業(yè)應(yīng)用 Linux 技術(shù)的門(mén)檻,切實(shí)提升 Linux 一線工程師們解決問(wèn)題的效率格了,切實(shí)提升汽車(chē)看铆、物聯(lián)網(wǎng)和 AI 產(chǎn)品中 Linux 系統(tǒng)的用戶(hù)體驗(yàn),為行業(yè)做一些微薄的貢獻(xiàn)盛末。
此致!感謝所有為 Linux 和其他開(kāi)源技術(shù)產(chǎn)品做出過(guò)諸多貢獻(xiàn)的同學(xué)們否淤!
也特別邀請(qǐng)您轉(zhuǎn)發(fā)這篇文章悄但,讓更多的同學(xué)了解『Linux 知識(shí)星球』,讓我們一起 “聚焦 Linux石抡,追本溯源檐嚣,見(jiàn)微知著!”啰扛。
然后一起學(xué)習(xí)和研究 Linux嚎京,一起成長(zhǎng)。Let's go together, no longer alone隐解。