我的Google Summer Of Code经历

在大一寒假时,正好在知乎看到了谷歌编程之夏(GSoC)的含金量高吗?此问题,心向往之。
在浏览了一些答案后, 看到@larmbr宇 介绍了@洪谦(QianHong) 热心帮助学生参与GSoC,虽自知还是菜鸟一枚,但还是诚惶诚恐的私信了他,希望能够参与GSoC。相信各位在程序员的成长路上,肯定都会有参与开源项目的小目标,先不说5000美金,仅仅是有目标性的参与开源项目就吸引力满满了。
随后@larmbr宇就帮忙联系QianHong,并且给出了鼓励与建议;P

"勾搭"上QianHong后,当时看到wine-zh社区的中国开发者这么厉害,便稍有打退堂鼓,认为自己暂时还不适合参加,毕竟当时没有真正的使用linux,连github也没有用过。于是在之后便尽量些少的准备,学习相关的知识,订阅wine开发者邮件。
一段日子后,QianHong发来了邮件,问近况如何,以及一些参与GSoC以及Wine开发的建议,满满的一大篇,可见其用心程度。当时刚刚开始用邮件通讯以及gmail,一些邮件礼仪都不甚清楚,QianHong便耐心的建议以及一步一步的指导,着实让人感动,QianHong是我认识的最好的老师,没有之一。估计在以后的人生中,不会再有这么好的老师了T_T 第一次回复如下:

hi, 几个建议:
1. 邮件尽量用纯文本,除非必要不要用html格式/富文本格式,尤其是在英文技术列表中更要注意。
2. 订阅邮件列表不要订“摘要模式”,更万万不要回复摘要邮件。
3. 关于c/c++ runtime,现在就有个简单的任务:
先下载和编译Wine的源代码;
然后查看代码目录中的dlls/msvcp90
$ grep stub msvcp90.spec | grep complex
可以看到下面这样的函数:
@ stub -arch=win32 ??$pow@M@std@@YA?AV?$complex@M@0@ABV10@H@Z
@ stub -arch=win64 ??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@H@Z
@ stub -arch=win32 ??$pow@N@std@@YA?AV?$complex@N@0@ABV10@H@Z
@ stub -arch=win64 ??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@H@Z
@ stub -arch=win32 ??$pow@O@std@@YA?AV?$complex@O@0@ABV10@H@Z
@ stub -arch=win64 ??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@H@Z
@ stub -arch=win64 ?_Cm@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
@ stub -arch=win64 ?_Cm@?5???$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z@4NB
所有这类以stub开头的东西都是Wine项目未实现的函数。
上 http://demangler.com/ ,可以把这些经过mangle的符号重新demangel为c++的语法:
例如这样的:class std::complex<float> __cdecl std::pow<float>(class
std::complex<float> const &,int)
然后就可以试试自己动手实现这些函数,参考dlls/msvcp90/math.c中同类函数的实现方法:
dlls/msvcp90$ grep pow *.c
(或者 dlls/msvcp90$ grep -A50 -B50 -w pow *.c )
这个任务的难度对你来说合适吗?

在随后的很多问题上, QianHong都是如此耐心详略的指导,大家感受一下(后来不小白了就没有这样面向小白的回复啦)。现在回看以前的邮件,还能学习良多,感觉能够被人如此指导就是撞大运了(好了,现在QianHong在其他领域也会给详尽的建议我)233
那段时间大致是我成长最快的一段时间吧,从自娱自乐写一些程序,到参与Wine这样一个有着10年历史与复杂架构的项目,从一个啥也不会的windows VS小白转到了linux vim开发。
从14年3月开始断断续续做了几个月,才把第一个补丁写出来,并且加上了测试,而补丁最终被接受已经是大二的9月了;
而后14年的GSoC已经来不及参加,于是便为此一直为Wine写关于实现VC++runtime模块的补丁,在此期间学习到了非常非常多的东西:P
最后终于成功参与了15年的GSoC,课题是实现tr2 filesystem库。
随后也可能是凭着此经历,得到了@肖祥全的内推(感谢!),幸运的获得了Google的面试,可惜算法不佳,在电面就挂了。

16年的GSoC,原来在寒假前打算尝试新项目,参与了R语言GSoC2016的准备,把GSoC Re2正则表达式库的要求准备全部都做完了,成功的作为candidate的时候,mentor发了我一封邮件

Dear YongHao,

We received another very strong application for the RE2 project from Qin Wenfeng who has already implemented a working prototype https://github.com/qinwf/re2r

It may be possible for you both to work on the RE2 project in GSOC, if you write proposals to implement very different but complementary features. I would encourage you to write an email to Qin and start a discussion about which different features you both could work on.

告知我已经有一位中国学生完成了re2项目的原型了@-@,囧死了。得知wenfeng是一位经验丰富的R user以及已经完成了prototype,项目量不够两个人合作,便放弃了此项目。我打算准备的另一个项目BOOST也刚好在这年拿不到GSoC的名额, 于是我又投回Wine的怀抱,此时挑战的是更难的项目: concurrency库,也因太难而选不上了,太难了mentor不会冒风险尝试。后来因为忙着找工作的事情,就没有继续填坑了,希望之后有机会继续填。

以上便是全部GSoC经历,也是我大学的一个重要组成部分了。

大学更为重要的部分是?
当然是女朋友啦 ;P

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,544评论 25 707
  • 原文 这是关于这个话题的全部,最终的文件。 它包含有关如何成为Linux内核开发人员以及如何学习如何与Linux内...
    御浅永夜阅读 714评论 0 3
  • 随着 Xcode 6.3 的发布,带来了新版的 Clang,引入了一些新的关键字: __nonnull / non...
    Chris_C阅读 1,620评论 0 0
  • 胃空下来时,思维就振作了起来。我们总是把太多的空间留给了胃,而以至于只给灵魂留了太小的空间。 辟谷第三...
    谢兔子阅读 387评论 0 0