分类目录归档:活动与游记

来 COSCon 2022 开源集市一起开发元宇宙

今年的 COSCon 2022 上海线下会场(10/29)有很多开源相关的活动,其中开源集市会有很多开源社区/公司的摊位,每个摊位都可以做任务拿奖品(放心,不是点 star 送周边那种)。看到现场有好几个元宇宙相关的活动,我就想,要不用 Flask 开发一个元宇宙程序吧……所以,在 HelloFlask 摊位,我们会一起开发一个叫做方学园的程序。这是一个虚拟校园,每个人都是一个方块,可以为自己设置不同的颜色和边框圆角。学校里的建筑也都是方块,类似这样:

虽然这个项目还在很早期的阶段(突然心血来潮,然后刚买了域名的那个阶段),但我想这大概就是元宇宙,对吧?

我准备的奖品有几本书和一些 Flask 贴纸。趁 Flask 还没换上新 logo(嘘,内部机密),这次要把剩下的所有贴纸都送掉。

如果你有自己的开源项目,也可以来这里做分享,或是放到 HelloFlask 摊位来吸引别人参与。

感兴趣的话,用下面的链接报名活动吧(免费):

下面是一个 HelloFlask x COSCon 2022 微信群聊,欢迎想来参会的朋友加入:

周六见!

欢迎来 GOTC 大会听我的演讲

GOTC(The Global Opensource Technology Conference,全球开源技术峰会)是由开源中国(OSCHINA)和 Linux 软件基金会(The Linux Foundation)联合主办的开源技术大会。上海站(上海世博中心 SECC)在 7 月 9 日 ~ 7 月 10 日举办;深圳站(深圳会展中心)在 7 月 31 日 ~ 8 月 1 日举办。大会邀请到很多非常厉害的开发者,比如 Linus Torvalds。两个会场均免费开放,仅需报名即可。欢迎参加!

我的演讲主题是《基于 Python 的 OpenAPI 实践》,介绍如下:

OpenAPI(原 Swagger)是一个流行的 REST API 描述规范,围绕它有许多非常实用的 Web API 开发工具。而 Python 是一门流行的编程语言,使用它可以非常高效地开发 Web API。这个议题将会以 OpenAPI 的入门介绍开始,探索如何在流行的 Python Web 框架中实现 OpenAPI 支持,并在最后介绍一些现有的解决方案和工具。

这个演讲基本上是正在写的《Python Web API 设计与开发》第八章的内容概括 + 开发 APIFlask 的一些想法 + 周边项目(FastAPIConnexion 等)研究总结。暂定大纲为:

  • OpenAPI 介绍
  • Code-first 模式(从 Python Web 框架代码生成 OpenAPI spec)
  • Design/API-first 模式(从 OpenAPI spec 生成 Python Web 框架基础代码)

我的演讲在深圳站第一天分会场「编程语言艺术」专题论坛。如果你感兴趣的话,欢迎来听;如果对演讲内容有任何建议,欢迎提出。

组织「编程一小时」活动失败记

编程一小时(Hour of Code)」是由非盈利组织 Code.org 发起的公益活动,会在每年十二月初举办(计算机科学教育周)。简单来说,类似「地球一小时」活动,「编程一小时」活动就是在中小学引导学生们学习编程一小时。使用的材料大都是一些图形化的编程游戏(比如《我的世界》编程一小时教程),在游戏里使用类似 Scratch 的拖拽式编程逻辑块来操纵游戏中的人物做各种事情。

中国的「编程一小时」活动主要由微软和苹果这些大公司发起和主办。月初的时候,微软 MVP 项目组开始召集 MVP 做活动的讲师。南京有好几个学校需要讲师,但是我已经不在南京了,所以就想着在当地(徐州某县级市某镇某村)的中小学组织一次。在网上找了一些往年的活动记录,发现也有在农村组织的,想着应该没什么问题。

先是给高中的老师发了消息,没回;然后去村里的小学找校长,爬了三层楼没找到校长室,找到校长的电话打过去,校长说电脑坏了;发消息给初中的老师,老师说他们学校没有电脑;去了乡里的小学,门卫大叔说校长刚走;趁还没放学,我又赶到邻村的小学,老师告诉我要有教育局的通知才行。

「你好,我是微软的社区专家,想在你们学校举办一场免费的编程科普公益活动,叫做编程一小时。微软会提供相关的物料,我来做讲师,你们只要提供计算机教室和组织学生就可以了。」——听起来的确有些像骗子,也许对方以为我是要来推销少儿右脑开发心算术或是人工智能 5G 学习机。按理说我应该在这里就放弃了,但是我有点不甘心。尽管已经有 3 小时 48 分钟的沉没成本,我还是打算再试一下。

第二天,我花了五十分钟车程到达教育局,但是没到五分钟就出来了——没成想连教育局的门都进不去。教育局门卫室的保安问我找谁,我说:「我是……我来……」。保安又问:「你到底要找谁?要去哪个科室?」。我说:「我想来咨询一下关于进学校做免费编程培训的许可问题」。保安说:「没有这个科室,你想去哪个学校直接去找学校谈」。我说学校让我来找教育局,保安说来教育局没用得去找学校。在来回进行了几遍类似的对话后,保安有点生气,气冲冲地说「你这个人年纪轻轻怎么听不懂话呢!」。我也有点生气,但也只能气冲冲说句「好,谢谢!」。

既然到了市里,就想着再碰碰运气,所以紧接着我又去了市里最好的初中。这所初中的北门离公交站近,所以先去了北门。门卫师傅说校长室在南门,办事都走南门。因为校园不让进,所以我只能绕墙去南门(两门相距 530 米)。到了南门后,门卫师傅说校长不在,去开会了。我说那我找年级主任也行,师傅问我找哪一个年级主任……沟通(扯皮)半天后终于让我进了门卫室,让我等等看,说校长兴许一会儿来。一阵沉默。沉默之后我多介绍了一下自己,拿出来更多的宣传材料。门卫师傅指着玻璃桌面下的某个电话,让我打到校长室试一试,没人接。又是一段沉默。接着我又详细介绍了自己要做的事情。师傅提议让我去找副校长,副校长室在北门八号楼五楼,让我去北门。于是我绕墙回到北门,北门师傅问我找哪一位副校长?打过电话没有?预约了吗?我说南门师傅让我走北门找副校长,北门师傅说办事都走南门,没有预约校园不给外人进,让我走南门。如此重复几遍,直到师傅不耐烦了,我又绕墙回到南门。和南门师傅说着说着,师傅又指了桌面下某位副校长的手机让我打,打不通。继续沉默,沉默是今晚的南京市长江大桥。过了一会儿师傅又翻出另一本电话簿,找到校长的手机让我打,依然没人接。我看了看崭新的教学楼,告别门卫师傅,再绕墙走回北门,准备坐公交车离开这冰冷的城市。不幸的是,因为太晚了,回乡下的公交车已经没了,我只好斥巨资打车回家。

第三天一早我试着加上了副校长的微信,这是我离成功最近的一次。我们聊得很顺利,直到校长告诉我他们新教学楼刚建成,学校计算机教室还没装配……擦干眼泪,我又去了乡里的小学,上次去校长刚走,这次去校长刚好在门卫室。我听到了熟悉的答案:「这个活动挺好,不过校外的培训要有教育局的批准才能做,你得去教育局申请」。至此,耗时 7 小时 54 分的「编程一小时」活动策划正式宣告失败。

本来还想着也许会让某个小朋友喜欢上编程,若干年后他在写职业生涯回忆录的时候可能还会提到我——「走上这条路是因为小时候某一天不知道从哪里来了一个人在我们学校上了一堂编程启蒙课……」。现在也好,万一他以后因为做程序员得了颈椎病和脱发,可能还要怪到我头上呢。

2021/11/24 Update:我去联系了去年约好今年合作的那位校长。校长三天后回复我说计算机教室还没有安装好,我说可以进行「不插电编程」,校长说下午再聊。

欢迎来 PyCon China 2020 听我的演讲(附深圳线下会场日程)

11/23 Update:演讲日程已发布,详情见 PyCon China 2020 官网报名页面

今年 PyCon China 2020 因为疫情原因改为 70% 线上+ 30% 线下(时间为 11 月 28 号和 29 号两天)。线上票免费,线下聚会票 9 块 9(北京/上海/深圳)。如果你刚好在深圳的话,那么好消息是——深圳仍然保留了线下会场,演讲会在线下进行(文末有深圳场的详细日程),但票价仍然不变。

欢迎访问 PyCon China 2020 活动主页报名和购票(目前活动页面还没有给演讲日程安排,嘉宾列表也并不完整)。尽管线上票免费,你想花钱的话也可以通过买捐赠票和 VIP 票来支持 PyCon China。

今年我提交了一个十分钟演讲,内容虽然和 Python 相关,但其实是堂英语课——《Python 技术名词发音指南》。时间在 11 月 29 号下午一点。简介如下:

Django 怎么读?十个 Python 程序员也许会有十种读法。如果这个你刚好会读的话,那么还有 Werkzeug、SQLAlchemy、Gunicorn、PyPI、Bokeh、Huey…… 根据可靠来源,因为错误的发音,两个 Python 程序员在交谈时平均每小时会浪费三分钟时间用来互相确认和纠正名词发音。为了减少整个 Python 社区因为错误的技术名词发音产生更多的熵,这个演讲带来了一个可信度 95% 的 Python 技术名词发音指南。

附 Pycon China 2020 深圳会场安排:

  • 时间:11/28 上午 9 点
  • 地址:深圳市南山区科技园南后海大道 2378 号芒果网总部大厦 10 楼(入场需展示「i深圳」绿码),靠近地铁 9 号线深大南站(328 米)或软件基地公交站(305 米)
  • 停车: 5 元/小时,35 元封顶
  • 会场负责人:代少飞
  • 报名链接:https://www.bagevent.com/event/6975077

议程安排如下:

(上午看线上主会场直播)

 

下午深圳线下会场议程安排

13:00-13:35

好好写代码:遗失的 Python 编程原则

赖勇浩-广东天勤科技有限公司

13:35-14:10

Nix for Pythoneer

黄毅-福里斯信息技术(深圳)有限公司工程师

14:10-14:45

利用 Python 在 Azure 上玩转机器学习

卢建晖-微软技术社区区域总监

14:45-14:20

Lightning — 现代的无代码 Admin 

Jeff Kit – 深圳杰明科技与闪电数据管理创始人 

14:20-14:30

中场休息&茶歇

14:30-15:05

从 Django 历史漏洞看安全编码规范的重要性

杨文涛 YangWentao-奇虎 360 渗透测试工程师

15:05-16:40

用 Python 从 0 构建一个简单的脚本语言

廖茂文-《生成对抗网络原理剖析与 TensorFlow 实践》作者

16:40-17:15

智能问答系统在西山居中的落地

黄鸿波-西山居人工智能领域专家

17:15-17:50

K12 教育里的 Python 和 AI 

刘敬韬 – 可可乐博科技 CTO

17:50-18:00

闪电演讲

少儿编程课程设计中常用的库与工具

董轶-爱派森课程研发&讲师

3 年 5 跳的遍历 Python 职业的踩坑之旅 

李红睿 – 富途证券工程师 

 

PyCon China 官网去哪里了?

看到 PyCon China 2020 要开始筹备了,我想着赶紧把去年参与筹备的总结文章写完,再不写就过期了,然后就发现官网打不开了。不仅为了国内访问更快部署的 pyconchina.org.cn 打不开,连最正式的 cn.pycon.org 也打不开。前者就我有限几次访问来看,先是显示备案报错,接着是 SSL 证书过期,现在直接没有任何响应了。而后者此前只是图片加载慢一点,还是能正常访问的,现在无论直连还是绕路都没用。

没有博客就算了,官网打不开都不修了吗?作为一个技术大会,只在微信公众号和新浪微博发布动态太不正式了,而且也没有同步到 Twitter 和 Facebook。要是我还在筹备组的话……

我还是先自己做个存档吧 :P

https://greyli.com/archives/pyconchina

11/2 更新:cn.pycon.org 现在显示 Azure 的 404 页面了,前两天是长时间无响应。

11/7 更新:cn.pycon.org 恢复了。

2021 年更新:

今年 Frost Ming 帮忙做了一个漂亮又像样的官方网站,同时恢复了往年的站点历史。

2022/7/8 更新:

网站又访问不了了。似乎每年只有大会前后短暂的时间才能访问。

FlaskCon 2020 参会指南

FlaskCon 是由社区举办的免费线上 Flask 会议,欢迎 Flask 的使用者和爱好者参加。这是一份非官方参会指南,希望可以帮到你。

会议时间

基于演讲者优先的考虑(因为听众可以看录播),为了让演讲者不用半夜爬起来演讲,所以有了现在的日程时间:

  • 7 月 4 号:晚上 10 点到第二天凌晨 2 点 20
  • 7 月 5 号:下午 5 点到晚上 9 点 20

议题

一共收到 44 个议题申请,按照两天的时间安排,最终只保留了 18 个。大致分为下面几类:

我们是怎么用 Flask 的?

这里的「我们」包括 Google Cloud、FEC(美国联邦选举委员会)、ScholarPack……

  • How Google Cloud uses Flask(Dustin Ingram)07/04 10:00 PM
  • How the FEC uses Flask to increase transparency in US elections(Laura Beaufort)07/04 11:00 PM
  • Lessons Learned Building Microservices with Flask(Joe Coburn)07/05 02:00 AM
  • OpenPatch an Example for Building Microservices with Flask(Mike Barkmin)07/05 06:00 PM

Flask 相关特性介绍

介绍 Flask 的灵活性、工厂模式、请求上下文、异步 Flask 实现——Quart……

  • The Application Factory Architecture(Bruno Rocha)07/04 10:30 PM
  • Demystifying Flask’s Application and Request Contexts with pytest(Patrick Kennedy)07/04 11:30 PM
  • Flask’s flexibility for the win(Brett Kromkamp)07/05 06:30 PM
  • Async Flask, an introduction to Quart(Philip Jones) 07/05 09:00 PM

用 Flask 开发 Web API

  • Flask-AppBuilder new REST API, and Superset MVC to SPA revamp(Daniel Gaspar)07/05 07:30 PM
  • Using Flask-RESTy to build flexible REST APIs, fast!(Jimmy Jia)07/05 01:30 AM
  • Securing Flask Web Applications with JWT and CSRF tokens(Solomon Esenyi)07/05 01:00 AM

先介绍这么多,完整的议题时间表各位可以在官方网站上的 Schedule 部分看到,议题信息里的时间即北京时间(GMT+8)。

前一天在晚上 11 点还会有两个小采访,不过看起来没什么意思。

直播和录播

会议会通过在 FlaskCon 的 YouTube 频道直播,录制的视频也会放到这里。如果你没法访问 YouTube,不用担心,墙外开花墙内也能闻得到,因为 PyCon China 的 bilibili 账号也会同时进行转播,后续视频也会放到这里。英语听不懂的话,YouTube 可以自动生成字幕,也可以实时翻译,如果你没法访问 YouTube,那你就要自己想办法了,试试重启路由器吧。

如何参加?

嗯……因为是免费活动,看直播就算是参加了。如果你想获得更多的临场感和参与感,可以加入 Pallets 的官方 Discord 服务器,在 #flaskcon 频道(会议期间开放)里参与讨论,向演讲者提问(每个演讲有 5 分钟的 QA 环节),记得用英语。另外也可以在这个非官方 Python Discord 服务器或是 Reddit 上的 Flask 节点参与讨论。如果你访问不了 Discord 和 Reddit,或者英语不好的话,天无绝人之路,你还可以在 PyCon China 的 bilibili 直播间刷礼物和发弹幕 :)

Update 2020/7/4 看起来 PyCon China 并没有转播 :/

Update 2020/7/7 PyCon China 没有转播是因为一个乌龙事件「They missed the date due to an error in our meeting notes」,最终改为 7/14 转播,并且(据说)会添加中文翻译字幕。

欢迎参加 FlaskCon 2020!

FlaskCon 是一个社区举办的 Flask 大会,将会在 7 月 4 号举行(为期两天)。按照官方的介绍,它:

  • 100% Remote
  • 100% Free
  • 100% Community-driven

和 DjangoCon 类似,FlaskCon 会专注于 Flask 相关话题,包括 Flask 扩展介绍、开发经验、最佳实践、类似框架的对比等等。

如果你想分享 Flask 开发相关的经验,介绍你对 Flask 的有趣应用,或者是有任何和 Flask 相关而且你很想拿出来聊一聊的话题,欢迎报名演讲。演讲有 20 分钟和 40 分钟两种类型,需要使用英语。

你可能会觉得大会的 Logo 不是很好看……不要担心,这些设计还在慢慢改进中,如果你有任何和大会网站、议程设置、设计相关的建议,可以发邮件到 flaskcon@gmail.com,或是在 Discord 频道和 Reddit 主题帖里反馈。

P.S. 如果你想帮忙改进大会网站,最直接的方式是自己动手修改源码

相关链接:

参加 PyCon China 2019 上海站

19 年的九月末,参加了在上海(主会场)举办的 PyCon China 2019(Python 中国开发者大会)。这是第二次参加 PyCon China。

台湾 COSCUP 回来休息了一阵,回过神来已经是九月初了。和去年不一样的是,今年同时参与了 PyCon China 的筹备工作。大脑短路,给自己安排了太多事情:除了大会网站更新、文档翻译、社交网站维护这些前期工作和讲师接待、闪电演讲组织和主持这些现场工作,还要准备自己的闪电演讲、主题演讲和一个三小时的教程(Tutorial),在忙到快要崩溃的时候,终于在开始前两天说服辛庆老师(组委会总负责人)取消了我的教程,要不然我可能会累死 :/

19 号下午出发,这是我第一次来上海,最初的几个记忆碎片是:爬满高架柱子的绿植,夜晚还清晰可见的云,在路边练习红歌的小学生……

blank

泡汤的 Flask 专场

今年本来是想把包括 Flask 作者在内的几个主要的 Flask 维护者都邀请来,这样我们就可以开一个非常货真价值的 Flask 专场,还可以凑成一次 Pallets 团队成员大聚会。所以我分别给 Armin RonacherDavid LordMiguel GrinbergHsiaoming Yang 发了邀请邮件。不过因为各种原因,最后只有 Armin Ronacher 和 Hsiaoming Yang 能来(后来意识到经费问题,幸好没有全都来)。

20 号早上去机场接 Armin。我的英语水平一般,而 Armin 的英语又有一点难听懂,所以沟通并不多。回酒店的路上,我们一起去吃了早饭。如果写作算是我的职业的话,那么我职业生涯的开端就是 Flask,请 Flask 作者吃顿饭也算是一次小小的感谢。当然,最后也送了一本我的书给他。

Hsiaoming 现在住在日本,做了很多有意思的开源项目,很羡慕他的生活状态。我一直不知道该怎么称呼他,这次终于知道了他的中文名。

大会第一天中午的时候,我们三个加上 Luciano Ramalho(《流畅的 Python》作者,这本书我还没读过……)一起吃了午饭,也算是勉强达成了 Pallets 成员聚会的计划。聊天的时候,发现作为英语不太好的东道主,能够拿出来聊一聊并且可以引起外国人共鸣的话题并不多,中国菜和伟大的城墙算两个。

因为 Armin 的演讲和 Flask 没关系,后来又有了两个 Django 的议题,所以 Flask 专场最后改成了 Web 专场。

闪电演讲的彩蛋

一开始只是提议在今年的大会上增加闪电演讲环节,让大会更加轻松有趣一点,最后却变成了负责组织和策划闪电演讲。第一次组织闪电演讲,第一次做主持人,第一次做闪电演讲,所以都做的不是非常好。

闪电演讲环节安排在 B 会场的最后一场。我在闪电演讲的开场画面里藏了一个彩蛋,但是还没来得及展示它。

blank

这个彩蛋是这样的:开场画面里的时间其实是实时变动的,比如上面写的是「5 点 50 分 准时开始」,如果时间过了 50 分,那么画面上的时间也会跟着变成「5 点 51 分 准时开始」……

本来想安排一个茶歇,让更多其他会场的人有时间过来听闪电演讲,顺便就会有人发现这个彩蛋。但是因为整体议程时间往后推迟太久,已经超出和酒店约定的结束时间,所以还没能等到超出 50 分就匆匆开始了闪电演讲。

虽然这个彩蛋可能会有点无聊,但我想还是要在这里写出来,给它一点存在感。

明年再见

今年的大会主会场组织出了很多问题。比如 B 会场各种设备不停出故障,简直车祸现场。同时因为摄像人员的工作失误导致上午主会场 laike9m 的演讲视频没有录完整,演讲最精彩的部分没有录进来,这大概是今年 PyCon China 最遗憾的事情。当然,这些失误大都是因为没有好的流程约定、工作监督和备用方案,经过会后的总结和反思,明年一定会做的更好。

因为酒店场地日程紧张,大会前一天(9/20)晚上才能开始布置会场,很多志愿者在这里通宵工作,感谢志愿者和工作人员们的辛苦付出!

这几天里发生了太多事情,见到了很多新朋友。一天过得很快,大会结束总让人感觉有些失落,大家从不同的方向汇集到这一点,一起在这里停留了一段时间,然后又各自向自己的方向出发。祝大家一切顺利,或许明年能再见。

相关资源

参加微软 2019 华东高校黑客松(Hackathon)

上上上周,我从南京东边的郊区跑到南边的郊区参加在东南大学九龙湖校区举办的微软 2019 华东高校黑客松。这是我第一次参加黑客松,不过并不是去参赛,而是作为微软 MVP 去客串评委。

黑客松

在很长一段时间里,我都不知道「黑客松」是什么,直到看见「黑客马拉松」这个译法,才恍然大悟,明白是「Hackathon」的音译。虽然「创客马拉松」和「黑客马拉松」更通俗易懂,但我还是更喜欢「黑客松」。

「黑客松」最简洁,而且不会让人误以为是「只有黑客才能参加的马拉松」。虽然是一个奇怪的新词汇,但总有一天,它会变得和沙发、咖啡、巧克力还有图样图森破一样平常(不过「鲁棒」我想我这辈子都接受不了)。更重要的是,「黑客松」作为一个新词汇不会污染现有的信息环境,搜索马拉松的人不会看到黑客松相关的信息,反过来也一样。但是使用「黑客马拉松」的话,就有可能看到黑客和马拉松相关的信息。

顺便说一句,在黑客松的维基百科页面还看到「Sprint」被翻译成「短跑」,这种翻译就太难理解了:今年 XX 技术大会有短跑活动你要不要参加?如果意译会带来混淆,这时不如保持用英文。

报队名

在黑客松里,创意很重要,那么队名可以算是创意的第一个部分。第一天上午,主要的环节就是报参赛队名领姓名卡和餐券,发现了很多有意思的队名。当时我在想,假如把这个环节放到学校礼堂,让某个严肃的校领导来念队名,应该会很有意思。下面是所有的参赛队队名:

  • 宁说的都队
  • 六点起床
  • 知道伐
  • 济人同创
  • 三个三本
  • 菜鸡互啄
  • 北泽棒球社
  • Hello, world
  • 同航
  • 结束了去吃火锅还是烤肉呢
  • 仪科19
  • 好好学习
  • 白给??白给
  • TDZ
  • 脱发先锋
  • 我的代码怎么穿着品如的衣服
  • NJUSE菜鸡小朋友
  • 3Rookies
  • 修仙小队
  • 舍友和女朋友视频聊天声音能不能轻点队
  • 南猿不折北
  • 数理基础不扎实队
  • 三傻大闹微机房
  • HAPE
  • 阿撒托斯小队
  • 基普乔格队
  • HackContingent
  • mortal coding
  • 南上加南加南
  • 老年开发团队
  • 肥宅快乐队
  • sdas
  • 做不出来不改名
  • 仗键天涯
  • NULL
  • 不知道叫什么队
  • 现代哲学研讨小组
  • 我体系结构写完了
  • 我只想躺着赢奖杯队
  • 辣鸡队
  • 业界新手队
  • 挺秃然的
  • 菜?落泪
  • 送给最好的ta
  • ?
  • 你说的都队
  • NULL
  • 对对对
  • 问题不会求解队
  • FPXnb队
  • 哈哈哈哈
  • 脱发zzz
  • 南京航空航天大学计算机科学与技术学院
  • 我躺好了
  • 半学期没敲代码
  • warning&error&fault
  • 看什么看你个小秃头
  • include
  • 萘乙芴
  • 为了伯伦希尔的荣耀

blank

一共有 61 队,第一天来签到的人快坐满了一间大教室。不过,第二天下午评审的时候只剩下 24 队,跑掉了三分之二……

评审

有些人是第一次公开展示,有些人因为时间太短准备不足,所以大部分都没能在规定的五分钟时间里完整的展示自己的项目。而我也是第一次做评委,发现打分好难。有些项目没有给出足够的信息,有些项目还和对应的评分点不相关。评分表也太细致了,一共分了六大类 13 个评分点,每个评分点都有各自的分值。如果换我来设计的话,只要分六大类就好了,每个大类分值统一为 10 分,最后取平均值。

每个展示后还有两分钟的提问环节,我对一些感兴趣的项目提了一些问题。遗憾的是,提问的时候忘记说赞美的话,比如三个三本队的展示视频做的很棒,辣鸡队的 GitHub 注释扩展也很有实用价值。另外我误解了一个 Markdown to revealjs 项目的实现,以为是 revealjs 的竞品,后来才明白是从 Markdown 文件生成 revealjs HTML 文件的工具。不过不知道是不是搞错了,因为 revealjs 本身也支持使用 Markdown,而且可以引入外部 Markdown 文件……

最终评分结果里,其实第六名和第七八九名都很接近,七八九名分别是我只想躺着赢奖杯队、修仙小队和数理基础不扎实队。退一步讲,即使没获奖也没关系,毕竟奖品和奖金似乎也不是很有吸引力……如果能在这个过程里体会到快乐,那就足够了。

项目

我比较感兴趣的项目有下面几个:

第一个项目类似 Stack Overflow,不过可以通过 Docker+code-server 给每一个提问者提供一个在线的代码编辑和运行环境,回答者也可以相应的复现环境,对代码进行修正和调试。我当时的想法是这会给提问者带来比较高的门槛,而且有些问题并不一定有可以运行的代码。这个项目或许可以做成类似 JSFiddle 这种工具,然后开放给 Stack Overflow 这类网站集成使用。

好吧,其实我对深度学习完全不了解,只是单纯觉得第二个项目完成度很高,很喜欢这种在线可视化教程。

第三个项目很期待可以被实际做出来,不过显示注释的形式建议不要在代码右侧显示,而是单独在页面左侧或右侧显示一个浮动的边栏。

第四个项目没有参加评审,是偶然在 GitHub 上发现的。它可以实现通过扫描图片上的活动日期自动生成日历。有一个爬取教务系统信息生成课表导入日历的 Super_iCal 项目(看什么看你个小秃头队)类似,也很实用。

有一些只针对校园场景的 App 也不错,但还有些似乎少点东西,感觉更像是外包项目。知道伐队的全景照片生成项目 OneDay 实现的很完整也很漂亮,但是可能只会吸引小众群体。另外就是各种智能项目,大部分并不够实用。比如智能冰箱,反正我是不想要一个会发出语音提示「放入苹果」的冰箱,我也不想每次放进去什么东西还要手动在手机上设定过期时间提醒。还有智能垃圾分类垃圾箱,垃圾箱可以自己判断投入的垃圾种类并进行分类,也就是说我可以随便扔垃圾进去,那么这样会不会让人们更不愿意养成垃圾分类的习惯呢?

本来以为会看到很多很傻但很有意思的小游戏,像是仗键天涯队的 HackerGo 这种,不过好像就这一个。因为没有设计,采用全手绘风格。这是他们夜里人工骑自行车踩点采集坐标画出来的学校地图:

blank

因为手里只有队名列表,但是没有对应的项目列表和介绍,其他的都忘得差不多了。大部分项目都上传到了这个 GitHub 组织,感兴趣的话可以去转转。

氛围

虽然我没参加过黑客松,还是感觉这次的黑客松氛围不是很足。我想有一部分原因是会务上面投入的精力(和钱)不够。当然,组织活动没有收入,而且场地、经费也处处受限,参与过 PyCon China 的筹办,这些我能够理解,也很感谢东大微软学生俱乐部的同学辛苦组织。从我的角度来看,有一些想法和小建议:

  • 不论是导师演讲,还是最后的项目展示,都要有录像,会后放到网上分享
  • 需要一个贯穿全流程的主持人来引导现场秩序
  • 每一个参赛者都应该发一份小小的纪念品,比如 T 恤
  • 虽然场地条件有限制,但还是应该尽可能的解决 WiFi 和电源接口问题

其他

把今年参加几次活动收集的贴纸拿去送人了,不过 Flask 贴纸没多少人要,剩下的几张又被我带回来了 :/

blank

这次还认识了很多前辈们:微软的高明珠老师、陈昊老师和吴含宇老师;南京本地 Office 方向 MVP 方洁影老师,从广东来真的是老师的 AI 方向 MVP 卢建晖老师,从苏州来在做微信小程序开发的 .NET 方向 MVP 苏盛巍老师。

blank

(合影里少了第二天到的吴含宇老师)

尴尬的是,虽然同为微软 MVP,但是我对微软技术栈并不是很熟悉,所以聊天的时候基本插不上话……不过第二天下午去地铁的路上和苏盛巍老师聊了很多,苏老师跟我分享了他的创业经历,给了我很多建议,很受启发。

这是一段很有意思的经历,也许明年会去真正参加一次黑客松。


这篇文章本来会更早一点写完,拖到现在一方面是因为要赶新书的稿子没时间写,另一方面是因为意外丢掉了花了 2 小时 19 分钟写的草稿,所以只能重写一遍  :(

  • 写作耗时:7h 49m
  • 图片来源:活动组委会(东南大学微软学生俱乐部)

参加 PyCon China 2019 成都站

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

准备

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

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

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

演讲

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

blank

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

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

Jonathan

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

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

网友们

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

合影

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

blank

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

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

blank

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

相关链接

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

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

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

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

欢迎来 COSCUP 2019 听我的演讲

如果你报名了今年的 COSCUP 2019(开源人年会),欢迎来听我的演讲《如何在两年内从初学者成长为流行开源项目维护者和技术书作者?》,8 月 17 号(第一天)下午 2 点 55 开始,在 IB202 会议室。

如果你对这个演讲感兴趣,但是没法参加,那也没关系,会后我会把演讲视频和幻灯片分享出来。

庆幸能在两岸关系进一步恶化之前,去台湾玩一趟,希望一切顺利。