GIP (Ghost Instrumentality Program) 简单地说就是 MSTC 的一个读书会活动,目前终于圆满结束了第零轮,所以我也按照约定来发一篇 blog 介绍并总结一下。首先还是从 GIP 的由来开始吧:
MSTC 作为在浙大校园里最优秀的技术社团,可以说网罗了相当一大部分技术牛人,然而一直让人困扰的是:人聚集起来了,然后呢?我们可以做点什么?有时候对于纳新加入的人我也会问一下他们的看法,不过得到的回答也是都是差不多,其实这个问题大概本身就没有什么好的答案吧。我们并不是像学校的 ACM 集训队那样的一群有一个很明确的目标而聚集到一起的一堆人,而如大多数人所说的大家一起做个东西,虽然也有成功的例子(以前的 MCP),但也只是一个,而且年代久远,我无从知晓当时的状况,但就我后来了解的情况,也多是有一个想法,在论坛或者邮件列表里号召了一下,然后就没有下文了,如同 iRobot ,还稍微得远了一点,成立了团队,还在一起讨论过好几次,最后也是不了了之。
当然,没法调动大家在一起做一个比较大的东西,缺少一个强有力的带队人也是一个主要原因吧,我自己并没有那样的能力,我的弱点很明显:时常纠结在太过细节的地方,并且定不出太长远的计划。那么有没有更轻松一点的方式呢?即使没有这样一个强大的领导者,即使不需要投入太多的精力。
去年夏天的时候我曾经 CYJJ 的实验室打过几次酱油,虽然后来我给跑掉了,但是对她们那里的讨论班印象比较深刻。当时他们正在读一本讲计算机图形学的书,每周讨论班的时候都会有一个人去讲一章的内容。其实我对图形学并不感兴趣,不过我发现我还是能了解不少东西,当然,只能是了解,但是如果真的有我感兴趣的地方,我可以回头自己去查资料。我当时立即就觉得这种形式很好,而在我以往的印象中,读书会应该是大家一起读一本书,大家都按照同样的进度来读,并时常聚在一起讨论,这样一种形式,却完全没有考虑过让每个人来读一章的内容。
诚然,如果要精读一本书,也许大家一起读效果会比较好,但是那通常是在理想情况下。通常很难找到许多人都想精读的一本书,这样一来必然会有兴趣、优先级等问题出现,直接导致的结果就是大家进度不同,最后估计也很难继续下去吧。然而我不是想要找一种“廉价”的方式吗?如果只是读一章的内容而不是一整本书呢?
我想,大概有不少人都有和我一样的感觉,就是有好多好多的书,有时候会觉得很感兴趣,但是看了一两章之后,由于热情消退或者兴趣转移或者单纯地由于有其他更重要的事情出现,就放在那里了。甚至有一些书多次试图看完,然而总是看了前面几章之后就又不小心放在那里了,过了很久又拿起来,结果又从开头开始看,如此反复。所以,虽然坚持看完很困难,但是看一两章通常还是没问题的。
我的想法是,选一本那种大家都觉得还挺感兴趣或者挺想了解的书,不致于太专业或者太具体,按照章节分配到不同的人身上,每周由一个人负责精读这一章,其他人可以随便看一看或者根本不看(我觉得通常都是不看的 – -),然后每周定期聚在一起,由主讲人给大家讲解这一章的内容以及他自己的见解,然后大家做一定的讨论。书不能太专业的原因就在于此,太专业的书比较难引起较多人的兴趣,而且很难在别人完全没有看过的情况下由主讲人给大家很详细地讲明白,毕竟我们也不是教师。然而介绍性的书籍则问题不会太大,而且,我觉得最关键的地方在于寻找自己感兴趣的地方,知识爆炸,现在暴露在我们面前的信息太多了,正如我 blog 上方那句话说的那样:
We are drowning in information and starving for knowledge.
只是这里 GIP 的目的并不是要主讲人把知识传播给其他人,而是整理出一个线索,也就是说,听 GIP 的人是要找到里面自己感兴趣的内容,而真正具体的知识,是需要自己“课后”去补充的──比如,我发现这一章原来很有意思,于是我回去决定自己仔细读一遍。即使是没有发现有趣的东西,也是收获,至少我知道这一章内容我没有必要去看了。看起来就像大家一起协同合作,来进行知识过滤一样。
而且,这确实很“廉价”。要看一章的内容通常不是什么难事,虽然要做 presentation 还是比较麻烦一些,但是我们并不需要太正式,而且大家都是熟人,也会好一些。而对于之前说到的读一本书后来就荒废掉了,在这里应该也不会太严重,跑过去听别人讲一下总不会太费力吧?而且大家一起做的事情的话,只要有个人稍微组织一下,也不会随便散掉。关键是,我们在玉泉有一个办公室,还有投影仪,定一个时间,大家跑到办公室,就可以开始了,就犹如在 Erlang 里启动一个进程一样轻量级! 😀 (只是紫金港的跑过来就比较辛苦)
所以,在俱乐部讨论将来发展的时候我就提出了读书会的想法,并特别指出和俱乐部上古时期做的那个针对 .Net 的读书会 DotN 的形式不同,大家讨论了一下,有反对的,也有赞同的。不过,我还是决定至少要尝试一下。等到夏天结束,新学期开始的时候,便向众人说起了这个事情,并列出一些我觉得可能会有比较多人感兴趣的书让大家投票,并半拉人半报名的形式组织起了一些人。
第一次 GIP 读的书根据投票是 Introduction to Information Retrieval ,才发现这样每周一两章的内容也是要过很久才能把一本书读完的,其实本来读一本书就是一个比较长的过程嘛,也是急不得。
试验下来,感觉还不错,其实一开始人还是比较少的,后来渐渐地到了一个比较合适的人数上,时间大致定在了每周日早上 10:00 。当然,实践起来也发现一些之前没有想到的问题,比如,讲完之后的讨论并没有想像中的那么热烈,这个大概也是理所当然吧,要当场消化当场讨论还是有些难,不过如果就当时讲的问题来谈大家各自知道的相关的问题的话,也有时候会出现相当激烈的场面;另外就是关于做 presentation ,自己理解了却不一定能跟别人讲清楚,这是一个问题,有些人擅长做 presentation ,而有些人不擅长,当然不能说做不好 presentation 的人就比其他人差,但是我觉得能做好无疑是一个 bonus ,因为很多东西在你尝试跟别人讲解的时候就能发现自己又会有一些更深的理解,会看到之前忽略掉的一些问题,所以,我之前没有想到的一点就是:GIP 实际上还成了一个锻炼大家做 presentation 的平台。
另外,整个过程也并不是像想像中的那样能“全自动”地发展下去,虽然不需要花太多精力去组织,但是还是少不了有人来做一些日常的记录、安排以及提醒等工作。其实如果能看到 GIP 健康地发展下去的话,我目前倒是很乐意去做这些维护工作的。事实上,由于这个学期和许多活动以及假期冲突,GIP 的最后一章内容一直拖了很久才结束。现在 GIP 0 终于圆满结束,GIP 1 所选的书是 Beautiful Code ,也已经正式开始了。这里我把 GIP 0 时积累下来的 slides 等资料上传上来,感兴趣的朋友可以点击这个链接下载,这些 slides 的版权归制作者本人所有。
最后,解释一下 GIP 名称的由来吧。GIP (Ghost Instrumentality Program) 名字来源于 Neon Genesis Evangelion 中的 Human Instrumentality Project (人類補完計画; 人类补完计划),其中 Ghost 一词来源于 Ghost in the Shell (攻殻機動隊, Kōkaku Kidōtai?, translated as “Mobile Armored Riot Police”) ,大意为将完整的人分为 Ghost(比喻为灵魂)和 Shell (比喻为躯体)两部分。
其实这个活动也算刚刚开始吧,以后会如何发展还要慢慢探索,期待 GIP 1 也一切顺利吧! 😀