【COS编辑者按】受访者:寇强      采访者:王小宁     审稿:成慧敏

寇强,Rcpp 核心团队成员。本科就读于中山大学,现为印第安纳大学博士在读。

**小宁:**师兄,请先做一个简单的自我介绍。

**寇强:**我本科是在中山大学就读的,因为本来我是读生物的,后来改去读统计,所以在中大呆了5年。现在我在美国的印第安纳大学读博,做的是一个很小众的方向,就是串联质谱的算法和软件开发。国内中科院计算所贺思敏老师的组也在做这个,其他的组我就不太了解了。

**小宁:**你最早是学生物的,为啥后来改学统计了呢?

**寇强:**因为学生物学不下去了。2010年暑假,我在上海中科院植生所呆了两个月,当时是带着体验生活的态度去的,想提前体验一下读生物研究生的生活会怎么样。体验完之后,我就发现我再也不想读生物了。大三是我大学生活最混乱、很难形容的一个阶段。大二的时候我在学校一直在尝试组一支iGEM队伍去MIT比赛,不过当时似乎搞得太高调了。后来等大三我从植生所回到学校之后,我就完全不想碰和生物相关的事情了。但我觉得iGEM这事不能这么黄了,整个状态就非常混乱。就在这个时候,我认识了王学钦老师。王老师是做生统的,当初他在中大搞了些活动,于是就认识他了,王老师是我本科时代最大的贵人之一。但老实说,我统计学得真不怎么样,你还是把我当个码农好了。

**小宁:**你从什么时候开始接触和使用R的呢?

**寇强:**2010年吧,也就是我大三那个时候,差不多到现在六年左右了。按小学接触logo开始,我算接触编程很早的,但大三之前没有真正认真地写过代码。大三开始用R写代码,之后差不多一直在王老师那里干活。2014年,我当时已经在美国了,那年夏天,我去参加GSOC(Google Summer of Code)。当时搞了一个很小的项目,很重要的一部分就是用R调用C++代码。那时我就开始用Rcpp,但是写着写着你就会发现一些问题,这些问题没有文档解释,网上也未必有解答。之后我就开始看Rcpp的源代码,给作者发邮件。Dirk(注:Dirk是Rcpp的作者)回答问题详细的程度超出我的想象,他讲得非常详细,每次有问题问他,他都会很细心地回复。后来就到2015年我在西雅图实习的时候了,当时我已经在Rcpp里折腾了一些东西了,对于别人提出的问题,我先去回答一下,或者别人报了一些bug之后,我尝试去补一下。那年夏天,Rcpp团队有两个人就已经不怎么活跃了,后来Dirk就把我招进来作为补充。Rcpp现在主要以维护为主了,已经不再增加新的东西了,很重要的一个原因就是依赖它的包太多了。如果我们想做点新东西,我们宁可单独去开发一个新的包,现在Rcpp每个月差不多有四十万下载量,大约有800到1000个其他的R包依赖它。

**小宁:**对于国内的R语言爱好者,你有没有好的建议?

**寇强:**我个人的建议其实就一个,就是无论你用哪一个包,只要你发现出问题了,就不要有任何顾忌,要去github上提问,或者直接发邮件给原作者就行了(哈哈哈,这是一个很好的建议)。原来有一段时间,我有点不好意思,但后来发现发完邮件之后大多数作者回答得非常详细,后来我就觉得有问题就直接问作者吧。

**小宁:**2017年,你有什么新的计划吗?

**寇强:**为了按时毕业,我得把毕业需要的东西搞出来,然后另外一个计划就是MXNet了。MXNet的R接口其实都荒废半年多了,因为我实在没时间搞。现在对我来讲,毕业依然是第一位的。如果第四年把毕业论文需要的结果做出来,第五年我有大把时间来搞这些东西。然后17年的话可能还要再做一次GSOC 的导师(mentor),这个是非常值得推荐的一个活动。我个人觉得GSOC是为学生和开源社区服务的,2013和2014年我做了两年学生,然后16年开始做导师。参与的学生不是为Google工作,而是为某一个开源社区工作的,但是Google为了鼓励学生做这个事情,会为你在夏天的工作提供大约5000美元的补贴。目前国内参与这个项目的人不多,但如果有兴趣的话我建议同学们参加一下,基本上可以保证的是,R肯定会是被资助的开源社区之一。从往年来看,每年差不多有15到30个学生名额。2016年R的GSOC项目里应该有3个是来自国内的,其他绝大部分学生是印度人。

**小宁:**可以谈一谈你在实习中的一些心得体会吗?

**寇强:**其实没啥心得体会。我第一个实习的公司是Dato。2015年实习的时候,当时还叫Dato,后来16年8月份的时候被苹果收购了。Dato最重要的产品是基于硬盘的一个data frame,叫Sframe。这是我所知道的扩展性最好的data frame,Dato的创始人还在北京搞过沙龙。比如说你在R里面,你想把一个数据集读进一个data frame再操作,这个数据集可能有1T,多数人的机器是没有那么大的内存的,但是如果用Dato技术的话,你大概只要几个G的内存就可以了。(现在有跟R直接相关的包吗?)曾经有过,因为那部分是我写的,但后来不知道为什么我在网上找不到了。我下一个实习的公司是H2O,这个公司以前叫0xdata, 这两个名字也都不是很有存在感。 H20和Dato做的有点类似,也是提供做机器学习的工具。我之所以去H2O是因为这个公司里面有很多我们经常听到的大牛,比如说data.table的作者Matt就在H20。ggplot2 的前两个字母gg的意思就是grammar of graphics 的缩写,这本书的作者Wilkinson也在H2O。斯坦福的Trevor Hastie和Robert Tibshirani也经常以顾问的身份出现在H2O,这两位我相信学统计的都知道他们的名字。另外一个顾问是Boyd,学过优化的应该也都听过这个名字。我暑假做的是关于他们deep learning模块的一些事情。他们公司的deep learning部分之前是没有GPU支持的,暑假实习时,我用MXNet作为一个GPU的后台来支持deep learning模块,同时尽量保证新加的模块可以和H2O现有的平台整合起来,就是他们现在的deep water

**小宁:**你是如何知道统计之都的?以及有什么要和统计之都的小伙伴们分享的呢?

**寇强:**我应该是通过吴喜之老师知道统计之都的,因为吴老师以前在中大上过一个学期的课。你现在去华统网站,首页上应该还有吴老师的照片。要说建议的话,我还希望统计之都能鼓励更多的朋友参与到R相关的开发中来,比如GSOC或R-consortium的一些项目。

发表/查看评论