参加 PyCon China 2019 成都站

今年下半年安排了太多演讲,把自己弄得很累,还好现在都已经结束。趁还没有完全忘掉,逐一总结下这几次活动(以讲者和志愿者的角度)。先从 PyCon China 成都站开始,因为这一篇草稿的完成度最高。

准备

第一次来成都,飞机上看到地上用植物画成的巨大熊猫,这是第一个关于成都的现实画面。一路出发去郫都区。坐 736 离开城市,经过田野,经过工地,又来到城市,乱糟糟的路边遇见崭新的轻轨,黑漆漆的地方走几步突然冒出招牌林立的发光建筑,感觉成都是一个生命力很强很丰富的地方。下次来一定要多去其他地方逛一逛。

蛇是不喜欢下雨的动物,但是 PyCon China 2019 上海站下雨,成都站也下雨。会场在西南交大(犀浦)的图书馆一楼,晚上去帮忙布置会场和测试幻灯片,这时候就已经开始下雨了。技术大会放到大学里举办会让人感觉很放松,参会的人可以想象自己是回到学校上了一天课。

因为规模不大,所以没多少事情要做,大家都很悠闲。中间让李者璈帮忙确认了幻灯片里的技术内容,回到酒店改幻灯片到很晚。

演讲

这次演讲是上海场主题演讲的 2.0 版本。内容变动了很多(大概 50%),花了 31h 51m(上海场的 1.0 版本只花了 23h)。「无法停止改进」的毛病依旧,幻灯片改了很久,一直到演讲开始前。

和其他几次演讲差不多,这次计划了五次试讲,但是一次都没完整进行过。不过演讲还算顺利,现场气氛很好,有一种在大学里上一节水课的感觉。

因为大部分时间还在改幻灯片,其他演讲只是间歇的听了一些,不过了解到很多周边故事:李者璈因为要补藤井美娜上午的空位,所以连夜赶制了演讲,中午差点病倒;藤井美娜因为台风滞留机场一夜,第二天还坚持赶过来演讲;红姐(thautwarm)通过演讲来驱动项目的开发进展,这次已经是 PyCon China 2019 第三场演讲……

Jonathan

我在上海站的时候帮忙做讲师接待,碰见一个外国人来会场买票,他就是 Jonathan。带他去三楼买票的路上聊了下 Python 和 Flask,顺便递了张名片。过几天 Jonathan 加我微信,说过段时间会去成都,想申请做一个分享,于是就有了《Soft Skills For Software Developers》这个议题。

不过对 Jonathan 和他妻子来说这一天还是挺难熬的,因为 Jonathan 除了自己的演讲外,一句中文听不懂,但还是坚持在会场坐了一整天(第二天早饭的时候他说自己还是能看懂代码部分的……)。而且他妻子并不是程序员,也是边打毛衣边陪他静坐,中间实在无聊才出去逛了逛。

网友们

这次在成都见到了很多网友。比如聊起技术停不下来的红姐(午餐即兴演讲第一名);因为要去机场接藤井美娜所以没能听到我的演讲感觉很遗憾但我告诉他演讲很水不用遗憾但他还是不相信的陈诗桐;给我推荐了第二天的旅游路线但我还是哪里都没去的新任成都站负责人王天幸;考研失败准备二战但还是没有认真复习的李尔聪;想通过低价 Python 硬件来改变教育资源不平等现状的谢彬彬;跨越大半个成都赶过来又提前赶回去的冷柯……

合影

拍了很多合影,贴两张。第一张是讲师和志愿者一起吃火锅时拍的合影:

王天幸是成都志愿者主力,但是不论是现场的大合影,还是志愿者合影,都没有拍上……这张还不错,入镜了半张脸(右上角)。另外不知道为什么,李者璈拍合影的时候总是不看镜头,也不知道在看哪个女生 :/(这篇知乎回答里的志愿者合影也有同样的问题)

第二张是和来自 HelloFlask 群聊网友的合影:

参加 PyCon China 2019 成都站很开心。明年有机会的话,也许还会去成都。

相关链接

顺便贴一下我的演讲相关链接:

最后,欢迎填写 PyCon China 2019 会后调查问卷,欢迎关注 PyCon China 的公众号新浪微博Twitter 和 Facebook 账号。幻灯片在这里,录像会陆续发布到 bilibiliYouTube 上。

Wii Remote——支持上下左右四个方向的幻灯片翻页笔

如果你用 reveal.js 做幻灯片,你会发现没有合适的翻页笔可以用。具体来说,是没有支持上下左右四个方向的翻页笔。

参加 PyCon China 上海站的时候,因为现场条件限制,不得不用翻页笔,但是发现翻页笔只支持上下翻页,不支持左右翻页,而使用 reveal.js 做的幻灯片常常会包含上下左右四个方向的切换。当时还和其他志愿者说这是个潜在的商机——做一个支持上下左右四个方向的翻页笔。

回来去网上搜了一下,发现真的没有支持四个方向的翻页笔。想想也没有多少人会需要用到四个方向切换。市场份额最大的幻灯片制作软件是 PPT、Keynote 和 Prezi。前两者上下翻页,Prezi 左右翻页,所以有一些翻页笔会支持在「上下」和「左右」两种模式切换,还有一些会支持切换成「PageUp 和 PageDown」翻页模式,用来给 PDF 文件翻页。

接着,我调整方向开始找有没有只有四个方向键的蓝牙小键盘,找的过程中突然想到以前用手柄映射键盘按键来玩一些不支持手柄的电脑游戏,那么 Wii Remote(Wii 右手控制器)也许也可以通过映射按键来当做一个翻页笔用。搜了一些资料,发现真的可以!找到了一个叫做 WiinRemote 的程序来做按键映射(macOS 可以使用 Darwiin Remote,另外还有其他通用的替代选项)。

以 Windows 10 为例,你需要先通过蓝牙把 Wii Remote 连接到电脑,基本步骤如下:

  • 任务栏蓝牙图标右键
  • 加入个人区域网
  • 添加设备
  • 同时按住 Wii Remote 的 1 和 2 键进入匹配模式(四个指示灯闪烁)
  • 选择设备,一般名称会显示 Nintendo RVL-CNT,点下一步
  • PIN 码留空点下一步

第一次和电脑配对会有些麻烦,后续就可以很容易连接了。

连接成功后打开 WiinRemote 配置按钮。在 Options – Preferences – Button Assign 选项里可以定义按键映射。除了设置上下左右四个方向切换以外,Wii Remote 上的其他按钮也可以利用起来,比如分别用来映射 Enter、Esc 这些按钮。

设置按键映射

唯一的缺点就是 Wii Remote 和常见的翻页笔相比有点大……

和翻页笔比大小

虽然看起来很完美,但后来我还是采用了另一个替代方案,买了一个支持切换 PageDown 和 PageUp 翻页模式的翻页笔,这样可以让 reveal.js 的幻灯片按照从左到右,从上到下的顺序逐页切换。

也许下次演讲你会看到我用 Wii Remote 来翻页。

P.S. 除了用来当翻页笔,Wii Remote 甚至可以用来实现数字白板、触控屏幕和 3D 头戴显示器(Free or cheap Wii Remote hacks)。

李辉

2019年11月3日

今年完全偏离了年初的计划,大部分时间都花在了 PyCon China 2019 筹备(5~11 月)和准备五个演讲(117h)上。要重回正轨了,明年计划最多只安排 2 个演讲,不再参与 PyCon China 2020 的筹备。接下来一个月,要把拖了很久的一堆文章写掉。

COSCon 2019:一个野生程序员的开源故事

这是在 COSCon(中国开源年会)2019 上海 11 月 2 号分会场 1(开源社区与项目) 下午 2:20 开始的演讲《一个野生程序员的开源故事》的介绍和相关信息。

和标题透露的信息一样,这不是一个严肃的演讲(虽然 COSCon 看起来是一个很严肃的大会)。这是今年的最后一个演讲,明年不会弄那么多了,太累了……

购票和日程:https://www.bagevent.com/event/5744455

标题

一个野生程序员的开源故事

介绍

介绍其实可以忽略,因为根据前几次的演讲经验,演讲内容通常都会和简介有很多出入(跑题)。下面是简介:

2016 年,李辉开始学习 Flask。两年后,他加入了 Flask 开发团队。这中间发生了什么?其中大量的开源贡献起到了什么样的作用?参与开源对编程能力提高、个人品牌建设甚至是求职有哪些帮助?在本议题中,这些问题将会一一得到解答,你还会了解到如何踏出开源贡献的第一步,并且学到一些小技巧,比如参与开源涉及的英语和 Git 问题。

面向的听众:编程初学者,编程爱好者,程序员等想要参与开源的人。

总结

待补充

资源

待补充

  • 幻灯片
  • 录像

李辉

2019年9月27日

人没事就该多搬搬家,搬家的好处实在太多了。随便列几条:

  • 锻炼肱二头肌、肱三头肌、胸大肌、斜方肌……
  • 清楚自己买了多少没用的东西,有多少书买来没有看,把这些东西搬来搬去可以惩罚自己,顺便反省自己的消费习惯。
  • 从房租的变化来认识到自己到底有多穷。
  • 换个新环境,给生活增加新鲜感。
  • 结识新房东和新中介 ==!

COSCUP 2019:如何在两年内从初学者成长为流行开源项目维护者和技术书作者?

这是我在 COSCUP 2019 第一天下午的演讲,主要介绍了这两年的经历和一些经验,內容偏娱乐向(本来想说内容很水,但又想到在台湾「很水」就是「很强」的意思……)。有时间会写一篇文章记录参加 COSCUP 的经历和感想。

相关资源

对于录像内容的一些备注:

  • 前两分钟话筒坏了,没声音 :/
  • 《这个杀手不太冷》的英文原名是「The Professional」,即「专业人士」。
  • 幻灯片里出现的几个电影截图分别是《这个杀手不太冷》、《热血警探》、《回魂夜》和《将军号》。
  • 幻灯片里的两张「开源」照片,一张收集自 COSCUP 的 Telegram 群组,一张拍于徐州家乡小镇。
  • 某一张幻灯片多了「重要」两个字。
  • 漏掉一个关键想法没说:除了做出有趣和系统的作品外,还要做比上一个作品更大更好的作品(直到你造出飞船,当上总统,或是实现你的终极目标)。

演讲介绍

2016 年,我开始学习 Flask,并尝试为多个开源项目贡献代码。两年后,我加入 Flask 开发团队,并出版国内第一本 Flask 书《Flask Web 开发实战》。这中间发生了什么?除了运气的帮助,我做对了哪些事情,经验是否能被复制?其中大量的开源贡献起到了什么样的作用?在本议程里,我会从我的自身经历出发,在编程学习、个人成长、开源贡献、技术写作等方面分享一些经验和思考。如果你想高效学习一门新技术、参与开源贡献、建立个人品牌、或是写作一本技术书,这些信息或许能够给你带来帮助。

演讲总结

总体效果还不错,现场氛围很好,有很多人喜欢。另外因为这是第一次拿到完整的演讲录像,自己看了一遍,总结了一些问题:

  • 说太多「然后」
  • 太紧张,漏掉一些内容
  • 表情和肢体太多小动作
  • 正前方的某一个观众太严肃,而视线又总是落到他身上……

感谢 COSCUP 的 Bob Chao 帮忙协调提前拿到录像,感谢开源社的刘天栋老师帮我找到李思颖老师,感谢李思颖老师帮我找到 Charon,感谢 Charon 帮忙处理视频。​

PyCon China 2019 闪电演讲

什么是闪电演讲? 

闪电演讲(lightning talk)是指 5~10 分钟长度的快速演讲。通常会将多个闪电演讲安排在一起,有时也被称作数据突袭(data blitz)。

PyCon 闪电演讲会是什么样子?

在我的推动下,今年的 PyCon China 正式引入了闪电演讲环节,将会作为大会的特殊项目放到最后进行,而且在时间上是独占的。所有的闪电演讲都会控制在 5 分钟左右,并且和 Python 相关。上海场的闪电演讲会放到分会场 B(Web 专场)进行,下午四点四十分开始,一定记得来参加哦!

你会听到哪些内容?

今年 PyCon China 的闪电演讲安排如下:

上海 9.21

  • 【Python 虚拟环境和依赖管理工具大乱斗】李辉 – 独立 Web 开发者,Flask 维护者(之一)
  • 【500 行 Python 写一个渲染器】谭啸 – 蚂蚁金服开发工程师
  • 【基于 OwlReady2 的人机交互】宋从威 – 浙江工业大学之江学院讲师
  • 【Byte Code 的革命】赵俊德 – 西安德新软件创始人
  • 【使用 Sphinx 制作 Web 文档】陈照强 – 中科院上海药物所高级研究员
  • 【一键将 C/C++ 代码转换为 Python 能调用的代码】韦泽华 – 上海韦纳科技有限公司

北京 10.19

  • 【图算法你好:反欺诈应用介绍与实作】-黄少瑄 – 清华大学/平安科技实习
  • 【Python 与视效行业】郭李灼 – 北京微帧数字科技有限公司
  • 【Requests 长链接与 TIME_WAIT】- 刘玉龙 – 高瓴资本百丽国际后端工程师
  • 【Python 与 Redis 的一二事】庞若然 – 爱奇艺

深圳 10.20

  • 【Python C 拓展在各平台的打包与发布】赵丰 – 清华大学深圳研究生院博士生
  • 【为 Python Function 自动生成 Web UI】彭未康 – 广州爱范儿科技股份有限公司

成都 10.26

  • 【一次关于 SQLAlchemy session 的项目排错经验分享】吴强 – 新希望金融科技有限公司后台开发工程师
  • 【Python在区块链领域中的地位?】鄢倩 – ThoughtWorks

理想情况下,闪电演讲的最大的两个特点就是简短和有趣。这篇文章先让你感受一下“简短”的力量,“有趣”就留到大会下午来实际体验吧。

要不我们还是用回 virtualenv/venv 和 pip 吧

这篇文章没什么新东西,只是介绍古老又靠谱的 Python 虚拟环境和依赖管理方式:virtualenv/venv+pip。一来方便被我在《Flask 入门教程》和《Flask Web 开发实战》带入 Pipenv 坑的初学者了解基础工具的用法,二来方便其他 Python 初学者参考,自己顺便做个总结。如果你想了解更多详细内容,Python 官方教程这一章写的更好,可以替代这篇文章。 [...] 

只用来管理 Python 版本和虚拟环境,Miniconda 也是一个很好的选择

Anaconda 是一个面向数据科学的 Python 发行版,它打包了 Conda、Python 和一堆机器学习和人工智能相关和常用的包,而且还可以用来安装一些非 Python 编写的库。对于科学计算相关的用途非常方便,开箱即用。看起来很适合实验室或是学校机房使用…… [...]