我在 LUG 这一年
今天光宇说要去年的工作总结,于是就有了这篇文章。LUG 的主要工作分为活动和网络服务两方面。
活动
我们回顾一下这一年来发生的事情(http://lug.ustc.edu.cn/wiki/lug/events)
招新
跟其他社团一起,在开学的第二周,在东活和西活摆摊。偷来的经验是:可以做一些展板和易拉宝,增加出镜率。
招新虽然站着挺辛苦,但跟来自各种院系的同学们聊天挺好玩的,发传单也可以品尝一下经常被拒的滋味。八卦一下,LUG 现任会长的妹子就是那时找到的~
SFD 2012
软件自由日(Software Freedom Day),2012年9月15日于西活多功能厅举行。
根据陈张同学的建议,这次活动率先采用了展台展示的形式,现场有 6~8 个展台展示不同的自由软件风采。活动邀请到了张成师兄作为嘉宾。活动首次通过 “风云直播” 在线直播。
我总结一项工作时,看到的更多是缺点,这样我们才能避免再次落入同一个陷阱。所以希望付出努力的朋友们不要介意。
- 场地预订过晚,由于时间冲突导致活动时间从周日下午提前到了周六上午。场地一定要提前两周以上预订。
- 准备仓促,由于前一天晚上有其他活动,第二天早上才布置场地。其实本来应该等他们活动一结束就去布置场地。
- 部分宣传材料活动当天早上才去打印,有些紧张。我不太习惯催人做事,也不习惯关注其他人所负责事情的进展,这是万万不可的。
- 现场没有人负责拍照,导致很多精彩瞬间被错过了。
参观网络中心
2012年10月14日,我们像往年一样在张焕杰等老师的带领下,参观了校园网络信息中心。这次活动的前期宣传和组织方面应该说没有什么差错。
由于我们想对活动进行直播,又想把视频录下来,但当时的配置出了一些问题,导致喵喵和我一个用平板直播,一个搬着笔记本录视频。在活动即将结束的时候,张焕杰老师突然有事,我们走到大厅时由于我搬着笔记本在录视频,没有 hold 住场面,很多人都走了,因此没有留下一张合影,这是比较可惜的。这件事的教训是,活动过程中要以 hold 场面为重,如果人手不够直播或者录像都可以取消,不能做费力不讨好的事。
Linux User Party
2012年11月24日,Linux User Party 在东区水上报告厅举行。
SFD 2012 首次邀请兄弟高校的同学作为嘉宾,这次我们邀请了《node.js 开发指南》作者郭家宝介绍 node.js。这次 node.js 讲座意义深远,使 LUG 不少同学开始关注函数式编程和异步 I/O 模型。我们今后应多举办这类有启发意义的讲座。
这次活动还邀请了李会民老师做高性能计算方面的讲座,LUG CTO 郭家华讲解了 iptables,李喵喵和我介绍了 LUG 一些网络服务。这次活动安排的内容过多,结果到 18:30 才结束。
遗憾的是,这次活动上没有如期发布 USTC Blog,这又是我拖延症的后果,活动前一周才开始赶工。演讲的 slides 也没有免遭拖延,活动前一天我和 tux 都在瀚海星座 25 层度过了不眠之夜。11月27日早上,USTC Blog Alpha 才发布。转眼一年过去了,当初许诺的功能和正式版都还在 Todo List 里。我低估了开发所需的工作量,一个看起来很简单的功能,也许需要很长时间才能实现,尤其是当自己对所用技术不熟悉的时候。
我写的新闻稿有些 CCAV 了,在邮件列表里被群起而攻。其实后来 Aenon Sun 私下跟我说,CCAV 也是一种幽默。不过新闻稿确实可以写得活泼一些。
每周小聚
每周小聚是模仿 SHLUG 的 Hacking Thursday 搞起来的活动,每周六晚上在西活324会议室举行。每周小聚的前身是2011年秋季,我和李喵喵在网络工作办公室的合作下合办的 “网站开发讨论班”。局外的人,包括社团管指委的人,都说每周小聚办得好,办出了特色。有些协会看到 LUG 有小聚,也模仿着办起来了,但都是办了不超过五期。我们 LUG 坚持下来了:http://lug.ustc.edu.cn/wiki/lug/weeklyparty
办小聚不是一件容易的事情。每周,我都要为找人讲小聚打好几个电话。一些非技术类的社团,比如武协,每周都有训练,全勤率特别高,这是我们无法望其项背的。当然,LUG 这样的技术兴趣类社团是否适合搞 “训练” 还有待商榷。从我而言,当然希望小聚能够继续办下去。不过采用什么样的形式,就留待在校的同学们探索了。
主持每周小聚,需要克服的是完美主义的心态。其实,完美主义是源于内心对不确定性的恐惧。不能因为怕讲错了就不去讲。我曾经把一些日常的对话录下来重放,发现这些对话很多都不符合语法,甚至不符合逻辑——这是我们理工科学生说出来的话吗?事实上,交谈双方都理解了。因此讲错一些是无伤大雅的。
LUD
USTC LUG 起源于 LUD(Linux User Dinner)。早在10年前,学校里一帮 Linux 的 early birds 就经常一起搓饭,交流技术和感情。Linux 用户协会是为了更好地开展活动才注册成立的。有人也许会以为 LUD 上谈论的都是高深的技术,其实不是啦!饭桌上,风月、糗事、课程,我们无话不谈。一起来 LUD 吧!(Tip:当我们说 “川徽国际” 的时候,其实是在说黄山路上的 “川徽饭店”,从西区东门出来向北走,到黄山路右转,50米你就能发现这个不起眼的牌子)
Linux 让一切变得简单
2013年4月21日在西区3121教室举行。这是与计算机学院学生会合办讲座的一部分,也是硕果仅存的一部分。由于活动时间拖了两周,我们跟计院学生会的合作并不是很好,最后基本上是我们自己办了。
经过之前几次的磨练,我的《计算机和网络从这里走来》、郭家华的《Linux 让你更懂计算机》、沈达的《可爱的 Python》都没有出现以往演讲中发现的问题。
这次活动来参加的人没有想象的多,我也搞不明白。市场份额的变化,大公司的 CEO 也未必能找出确切的原因。我们也许需要更多更早的宣传,展示更多好玩的东西。
Ubuntu & Debian Release Party
2013年5月11日在西区学术报告厅举行。
首先要说明的是,这次活动不是我组织的,是换届之后的 “新一届领导集体” 组织的。这次的会场布置看起来很奇特,其实是因为后续有其他活动,工作人员提前把会场布置成这样了。事实上,这样的会场效果还蛮不错的。
这次活动请到了 Deepin 的王勇讲解 Deepin 桌面的研发历程,并发放了 Deepin 12.10 内部预览版光盘。LUG 的新任 CTO 和 CNO 分别带来了 LUG 网络服务介绍和 “换个心情试试 Ubuntu”。
在此给演讲的同学提几个建议:
- 要站稳,目视前方(不是站军姿哦),不然很难拍到正脸……
- 演示文稿上要以图为主,不要放过多文字。
- 讲的时候就当跟同学聊天,不要感觉太正式,插科打诨都可以。
活动小结
我不会玩,因此办出来的活动不怎么吸引人,这是我的失职。不过办这些活动让我面对上百人的场面时也感觉轻松自然。因此在微软学生夏令营的时候,尽管我不是活动组织者,也敢在场里乱转,跟各个队的选手聊天——我们 LUG 不也办过这种规模的活动嘛!(尽管活动时间只是半天)
网络服务
LUG 除了办活动,还维护着很多重要的网络服务。
Mirrors
http://mirrors.ustc.edu.cn/ 前几天刚从一次严重的磁盘故障中恢复过来。它是中国大陆高校最大的开源软件镜像,每天有近千万次 HTTP 访问,日均流量逾 4TB。Mirrors 是 Debian、CentOS、Ubuntu 等大量 Linux 发行版的中国官方源,每天有数以万计的服务器和 PC 使用科大 mirrors 安装和更新软件包。
Mirrors 的运行近来不很稳定,这主要跟我成为 mirrors 事实上的维护者以来不顾机器的负载能力,“大跃进” 式的添加源有关。7月份 mirrors 那次故障,我们没有尽快恢复服务,而是折腾了好几天并不熟悉的 Xen 和 LXC 虚拟化,这个教训一定要吸取,发生故障时以尽快恢复服务为首要目标,而且生产环境中不要使用不熟悉的技术。
目前,mirrors 最需要的是完善监控、报警机制,做一些日志分析。不出意外的话,mirrors 还将在今年底成为大陆首个 SourceForge 镜像。
PXE
http://lug.ustc.edu.cn/wiki/server/pxe/start 为科大校园网提供各种网络启动服务,如网络安装 Linux、图书馆查询机系统、实用系统维护工具等。
PXE 最近一年运行很稳定,只是更新了几个发行版的 LiveCD 和 Installer。东区新图书馆查询机的分辨率问题一直没有解决。金三胖说,“一个不忠于党和首领的人,不管其军事才能多么杰出,对我们来说是没有用的人”。他的话当然不能全信。不过换到公司或者任何一个组织里,这句话还是有一定道理的。公司里的最高职位是 “首席执行官”,很好地说明了 “执行” 的重要性。
我有时也犯瞻前顾后的毛病,在邮件列表里就被张成师兄批评:有想法就马上去做,不要想那么多;做出来就尽快发布,让用户来找问题。这似乎与前面说的 “mirrors 大跃进” 有矛盾,事实上 mirrors 错不在添加源,而在添加源之前没有对 mirrors 的架构充分了解,也没有监控已有源的运行状态。
Blog
http://blog.ustc.edu.cn/ WordPress 博客托管服务与 wordpress.com 比较类似。科大学生可以注册博客,自由安装插件、主题,从理论上说是可以运行任意代码的,这是与新浪博客之类的最大区别。每个博客还拥有 yourname.blog.ustc.edu.cn 的科大专属域名,要知道教育网的域名不是那么好搞哦。
Freeshell
http://freeshell.ustc.edu.cn/ 就是虚拟机(VPS),主要用于科学计算和算法实验,科大学生均可注册。Freeshell 使用 OpenVZ 虚拟化技术,在虚拟机间实现资源共享,在空闲情况下,每个虚拟机都能占用整个物理节点的 CPU 和内存资源,很适合 freeshell 这种使用率不高的场景。
GitLab
http://gitlab.lug.ustc.edu.cn/ 是类似 GitHub 的代码托管和项目管理服务,支持开源项目和私有项目,使用开源的 GitLab 程序搭建。LUG 大部分项目的代码都托管在这里并开源发布,只要注册个账号就能看到了。我个人经常使用 GitLab,在学校写的各种代码都用 GitLab 管理,很方便。
网络服务的迷思
早在2010年,LUG 就有宏伟的开发计划,不过都没有实现。我的计划不算太宏伟,因此还算是实现了一些,但承诺的很多功能,包括 blog 大赛,都拖到了现在。我目前的观点是,我们是兴趣社团,不是商业公司,我们科大的课业负担又重,开发和维护一个可交付的软件不是 LUG 能承担得起的。面试的时候我每次拿出 blog 和 freeshell,面试官都会感到吃惊。
关于 “开发团队”,我个人觉得这是挺扯淡的事。首先,把想法陈述给另外一个人就要花不少时间,还未必能理解到位;其次,你不给我发工资,凭什么听你指挥;最后,大家可能听说过好程序员与差程序员的10倍差距,我不是说 LUG 里有差程序员,而是大家术业有专攻,熟悉环境的时间成本太高了。因此,我认为 LUG 的网络服务应该是 “谁提出,谁实现,谁维护”,服务器维护小组只负责管理帐号、分配资源和监控服务运行状态。这样能充分发挥每个人的想象力和创造力,搞出更多有意思的东西。
LUG 走向何方?
写下这个标题的时候,我觉得太大了。这确实不是我现在该说的话,也许让包括 jameszhang、昱姐在内的 LUG 元老来说更合适。不过,既然是总结嘛,总得展望未来,而且格调不能太低。
LUG 是什么地方?早先我一直依据表象认为,LUG 就是一些折腾 Linux 的人的集合。我想,这更可能是 Linux 适合我们折腾,也就是说我们天生就是一些喜欢折腾的人,Linux 正对我们的胃口。从上世纪开始,MIT 就一直有一些喜欢折腾的学生,搞出了各式各样的恶作剧(没看过的不要 Let Me Google That For You)。上世纪70年代,一些喜欢折腾的高校学生使用 UNIX 平台,被称为 UNIX 黑客;上世纪80年代,折腾 DOS 成了计算机极客(geek)的主流;进入21世纪,Linux 让我们有机会走进一个成熟的现代操作系统,把它像积木一样打散再按照自己的意愿拼起来。
走出校门,我们才发现这种折腾的经历弥足珍贵,因为它让我们更了解计算机,对每种软件的原理都略知一二,而不像长期浸淫在某闭源操作系统里的某些井底之蛙一样,把什么东西都看成 “不归自己管” 的黑盒子和 “一碰就碎” 的花瓶。我想,这是 LUG 对每位参与者最现实的意义。
MSRA 的洪小文院长说,一家公司,哪怕像微软这样做基础研究的,也只能看五年、十年,因为能存活百年的公司太少了;而学校有百年历史的却比比皆是,因此学校里可以考虑一百年之后的事情。我想,互联网公司和高校 LUG 挺适合这种类比的。互联网公司里也许 TB 带宽毛毛雨,PB 数据小小事,但我们 LUG 不必羡慕甚至追随这个;LUG 自有它自由、分享、折腾的文化,像 LUD,像每周小聚,连同那些我们一起折腾过的发行版、开源软件和网络服务,将是我们终生的回忆。
祝愿 LUG 明天会更好。
LUG 这一年
- 2012年7月17日,czluck 提出 SFD 展台式的改革方案。
- 2012年8月5日,mirrors 增加 Homebrew 镜像。
- 2012年9月10日~14日,LUG 参与社团统一招新。
- 2012年9月15日,Software Freedom Day 合肥站在西活多功能厅举行,发放了修订版《Linux 入门指南》。
- 2012年9月22日,LUG 会员大会在3123教室举行。
- 2012年9月27日,与 jameszhang 讨论 LUG 发展。
- 2012年10月14日,参观网络中心和超算中心。
- 2012年10月16日,LUG 邮件列表 Archive 上线。
- 2012年10月24日,LUG ServMon HTTP 监控报警服务上线。
- 2012年11月24日,Linux User Party 在水上报告厅举行。
- 2012年11月27日,USTC Blog 上线。
- 2012年12月31日,LUG 书库由 goodchong 交接给 Darcy Shen。
- 2013年1月4日,USTC Freeshell 上线。
- 2013年1月6日,mirrors 添加磁盘阵列。
- 2013年2月5日,mirrors 硬盘满的故障被发现。
- 2013年3月13日,提出成立镜像站联盟的可能性。
- 2013年3月14日,GitLab 代码托管服务上线。
- 2013年4月9日,GitLab 换用独立虚拟机。
- 2013年4月18日,mirrors lab 建立。
- 2013年4月21日,“Linux 让一切变得简单” 活动在3121教室举行。
- 2013年4月27日,LUG 各域名的 DNS 切换到 DNSPod。
- 2013年4月27日,LUG 换届会议在 LUG 活动室举行。
- 2013年4月28日,mirrors-lab 的一大波新同步的镜像上线。
- 2013年5月11日,Ubuntu & Debian Release Party 在西区学术报告厅举行。
- 2013年5月12日,Zen jyu Wong 继任图书管理员。
- 2013年6月1日,mirrors 第一次发生磁盘阵列 iscsi 故障。
- 2013年6月26日,mirrors 第二次发生磁盘阵列 iscsi 故障,并由于错误操作和不当的重建过程,服务中断5天。
- 2013年7月20日,USTC Blog 升级,修复插件问题。
- 2013年7月23日,mirrors 增加 SSD。
- 2013年7月29日,LUG 自己的 DNS 搭建好了。
- 2013年8月19日,Freeshell 支持访问外网,servers.blog.ustc.edu.cn 上线。
- 2013年8月20日,与 SourceForge 签署协议做镜像站。
- 2013年8月31日,mirrors 发生磁盘故障,服务中断2天。
注:不在这个列表里的也未必不重要,比如每周小聚已经列在 wiki 页面了,就不再复制粘贴了。LUG 活动的完整列表在 http://lug.ustc.edu.cn/wiki/lug/events