我的 2019 PyCon China 小结(下)
2019 年 9 月 20 号下午。
出租车正驶向兴荣温德姆酒店。Adam 发微信说他到了,正准备去买杯星巴克。我说帮我带瓶水吧。Manjusaka 也要一瓶。laixintao 回了句“哪里”。
这一天终于到了。
《捕蛇者说》特别篇
还不到三点,我们四人已齐聚酒店,因为要录制《捕蛇者说》特别篇。特别在哪?以往我们都是线上录制,连着 Skype 对着屏幕聊天,而这是第一次在线下录。我们四人分坐在宾馆的两张床上,中间立着手机支架,录制就这么开始了。当面聊天就是爽!以往的各种抢话冷场统统不见,一切都无比流畅。除开音效不谈,我认为这是《捕蛇者说》目前为止听感最好的一期。
晚宴
PyCon 每年都有讲师晚宴,非讲师想参加需要买票。晚宴环境不错,有很多舒服的座椅和沙发,灯光也恰到好处,整个氛围非常适合聊天。食物以小点心为主。
于是大家三五成群各聊各的。我先是趁乱摸到 Luciano 身边打了个招呼,之后和 PSF 的 Noah Chen 聊了很多关于 PyCon 组织的话题。他很推崇 Euro PyCon 那种统合多个国家的大会,并且我们都认为 PyCon China 应该每年集中在一个城市举办。
接下来 Manjusaka 组织大家做自我介绍。上台的有工业界大佬,有开源大佬,有 Python core dev,有插件大佬,还有公众号大佬。道理我都懂,但是大佬为什么这么大?作为搬砖的蒟蒻只能在一旁瑟瑟发抖。
之后是自由聊天时间。我和 Giampaolo(以下简称 Paul) 寒暄了一会儿,听谭啸介绍了他用 Python 写的渲染器。laixintao 叫来小明,作为 Typlog 的作者和用户,我们自然聊起了播客制作。随后我和翔哥、Noah 一起吐槽了以前 PyCon China 质量低下的 talk。此时人已不多,于是翔哥、Paul、我、佳圆及其女友一起去吃宵夜。 Paul 对 Google 很有兴趣,问了我不少问题,至于杂七杂八的闲聊我记不住了。
回到酒店,已然累得够呛。然而我担心现场网络不好影响演示,遂决定提前去踩点。此时已过 11 点,酒店二楼却是一片忙碌。为了第二天的大会,志愿者们正在加班加点布置会场。他们并非不想提前准备,无奈前一天有其它活动,而酒店只允许在九点以后入场。我跟在 AWS 的讲师后面从头播放了一遍 slide,感觉问题不大,也就放心了。
Day 1
Day 1 以演讲为主。《参加 PyCon China 2019 上海站是怎样的体验?》已经把演讲介绍得差不多了,所以我不再赘述。我就讲讲自己的见闻。
嘉宾采访
距离 PyCon 开始还有几天,组织者找到我,希望我能负责一些讲师的采访。采访是今年的新环节,我觉得很有意思就答应了。我要采访的讲师包括:Elizaveta、张佳圆、Paul 和 thautwarm(红姐)。
首先采访的是红姐。我趁赞助商 talk 把他拉到走廊,结果摄像大哥的要求变来变去,录了四遍才算完。接下来采访 Paul。Paul 是外国人,因此摄像要求我翻译他的每个回答,这就很有挑战性了。要记住一大段话着实不容易,我只能靠意译蒙混过关,磕磕绊绊勉强完成。这时佳圆过来,我们是老熟人所以很顺利地就采访完了。
Elizaveta 的采访是下午做的。这是一次真·现场采访,我和她都没有提前准备。好在我已驾轻就熟,把上午的问题拿来又问了一遍,加上几个关于 JetBrains 的问题,凑了一场采访。
视频应该过一阵就会发布。我是真的不想出镜啊😭
我的演讲
这我第二次在 PyCon China 上演讲,上一次还要追溯到五年前,参见 PyCon2014 China:concurrent.futures 研究。凡是演讲过的人都知道,不管之前准备得多充分,slide 总是会改到最后一刻。就比如我前一天晚上躺在床上有了些想法,第二天六点就爬起来改。在会场我也没法专心听 talk,而是神经质地一遍遍过 slide 和改备注。由于各种因素,上午的演讲延迟了不少,Armin 上台已是 11:20——按原计划此时都该轮到我了。我虽不紧张,却有些焦躁,主要是担心听众离场去吃午饭。
Armin 讲完,总算该我了。上台前 Manjusaka 提醒我尽可能加快语速,不要超时(40 min),我说没问题,我按 30 min 准备的。然后就是连上电脑,开讲。演讲中有和观众互动的地方,第一个是开场感谢志愿者,第二个是水豚测试。听众不知道的是,水豚的几页 slide 我真的是字斟句酌,反复修改了不知道多少遍。我希望观众看到“文件名是什么?”这个问题时恍然大悟,而不是感觉被耍。由于太过不确定,前一天我和同学吃饭的时候还专门给她演示了那几页,结果同学的评价非常微妙:“像脑筋急转弯”。显然,“像脑筋急转弯”同时包含之前提到的两种意味,她也不确定哪种更多。最后我只好硬着头皮上了。
幸运的是,水豚一出直接炸场,观众对提问的反应出乎意料地好。我总算是舒了一口气。
之后和一些听众进行了交流。我发现做机器学习的同学普遍对调试工具不满意。虽然我本身不搞机器学习,但这确实是 Cyberbrain 可以做的一个点,毕竟 Python 在这方面用得非常多。
展台
感谢主办方,让《捕蛇者说》有了一个展台。
二楼和三楼都有展台,我们在三楼,旁边是图灵出版社。见下图:
我的演讲是上午最后一场,随后我就去到展台。陆陆续续地有人过来盖章和拿贴纸,我也不遗余力地宣传着捕蛇者说(P.S. 组织方通过盖章鼓励参会者去展台的做法很聪明)。听说过和没听说过我们的人大概37开,然而有些人对播客毫无概念,所以我只能先科普。一小时下来,大概的确让更多人知道了我们。
让我高兴的是见到了几位老听众,比如从第一期就开始听的齐不胜,他也是从我们节目得知 PyCon 的。详细聊了聊,没想到他已关注我博客很多年,而且居然曾经通过 My_Blog 项目学习 Django。自己写的文章和代码能影响他人,之前我从未对这件事有实感,而现在被亲口告知,不禁让我惶恐起来。齐不胜还说他看见我的上一篇文章之后,便让想来的同学联系我取走了赠票(他自己已买票)。我实在没想到会被这样关注,赶紧加个微信。
之后便去吃饭,一路和平安金融的同学聊天。
其它
与会间隙基本都在和人聊天。由于演讲内容相近,我和 Elizaveta 聊得比较多。Armin 一直在旁边,不过我们全程扯淡没聊技术话题,只记得他表示上海比他预期的干净很多。后来 MaskRay(宋教授) 也过来发表了一些关于调试的看法。
说到 MaskRay,他其实是被我拉来参会的。前几天我回上海 office 看老同事,不知怎么他就坐在旁边。一开始没认出来,因为我的概念里他应该在美国,然而这是有缘由的,这里就不多讲了。总之我那天吹了一波 Cyberbrain,给了他一张赠票,还介绍了红姐的 JIT。我是有心要介绍宋教授和红姐认识的,毕竟他们都是我非常敬仰的大牛,也都对编程语言有一定研究。和红姐聊完之后宋教授表示:
可以说是非常有意义了:)
吃饭
去年 PyCon 北京结束后,我、翔哥、红姐、信涛、messense 一起去吃晚饭。正是在那顿饭上,我第一次和人提起变量溯源的想法。如今时光飞逝,当时粗略的想法已成为 Cyberbrain,而 PyCon 也来到了 2019。自然,我们还是要聚一下。
今年又加入了新的小伙伴。首先自然是捕蛇者说的另两位主播,然后是宋教授以及佳圆。本来去年我们就叫了 Manjusaka,然而他在会场脱不开身。今年他说实在不想错过,就来了。
和朋友们畅谈的感觉真好,时间一下子就过去了。一想到明年不能回国,我心里就充满了悲伤。555,为什么不能多来几次 PyCon 。゚(゚´ω`゚)゚。
CMGS 来访
意外中的意外发生了,CMGS 大佬突访酒店,我赶紧下楼迎接。结果 CMGS 和 Manjusaka 直接攀谈起来。卧槽,你们居然认识??他们聊到了好多人,我一个都不认识。只能说大佬不愧是大佬,人脉太广了。
后来我们又去了 lepture 宽敞的大套房,而 CMGS 和 lepture 也很熟这件事已经完全不令我感到惊讶了。。。
Day 2
第二天是轻松的一天,因为我只有 Luciano 的 tutorial 要听。他讲的是 OOP,结果上来第一个例子我就不知道。原来对数字可以这样调用 magic methods??
1 .__add__ # 注意那个空格
别的倒是基本都了解。Luciano 推荐了一本书《An Introduction to Object-Oriented Programming》,他说这本书是少有的不针对特定语言的 OOP 教材,只讲 OOP 最根本的原理。我已经下单。Luciano 还推荐使用 composition,这当然并不新鲜,但是他讲到可以用 __getattr__
自动把属性访问重定向到包含的 object 上,而这也是我经常使用的技巧。
在讲到 __
和 _
作为 attribute 前缀的区别时,Luciano 的说法和 Raymond Hettinger 几年前的 talk 不同。我提出了这一点,Luciano 表示,Raymond 的说法是对的,但是更好的做法是不继承非 abstract 的类,从而完全避免 override 造成的问题。我认为理想情况下 Luciano 是对的,但在实际编程中难免会遇到需要继承 concrete 类的情况,这时 Raymond 的建议(即用 __
避免子类错误地覆盖父类中的方法)还是有用的。
下课之后我给 Luciano 推荐了 pdir2,我知道他一定会喜欢。果不其然, Luciano 一套 watch, star, fork 三连,搞得我有点慌。今天一看,他已经带来几十个 star。这就是大佬的影响力啊。
下午和红姐讨论了 Cyberbrain 可能的改进。红姐终于正式表态要加入了(P.S. 项目仍然非常需要对可视化感兴趣的同学)。我们着重探讨了如何实现更精确的变量追踪。
a, _ = x, y
比如上面这行代码,目前 Cyberbrain 基于简单的判断认为 a 的值与 x、y 都有关,然而实际上 y 是无关的,也不应该被溯源。我们希望从字节码层面入手改进,红姐提出了大致思路,我们会在未来一段时间看看可不可行。
之后我和组织者们打了个招呼,就离开了酒店。特别感谢张晋涛送的巧克力。
总结
两天半的活动,见了太多人,说了太多话,整个人都恍惚了。然而不论多累,我都是快乐的,能和这么多人聊这么多有趣的话题,实在是太棒了。整个过程中,既见到不少老朋友,也认识了很多新朋友,可谓收获满满。
我想通过这篇文章,将这份回忆珍藏下来。我爱 PyCon,我真的不舍得离开。