2019 技术实践:我在钱院学辅这一年

• Essay
归档
本文原已在其他场合、更早之前发表,已无时效。

每一年都说下一年再也不写年终总结(费时费力造成若干文字垃圾),今年终于做到了,也确实是「忙得没有时间写」。可是,回望之前的这种愿景,却发现自己好像走到了另一个极端里;如果以前是「思而不学」、缺少实践的话,近一年的状况则是「学而不思」,将有价值的内省完全扔到一边,全凭短视的冲动和「希望」来行动。这样,到现在,我发现自己已经背上了沉重的负担,现在是清算这些负担(以及其来源)的时候了。

本文并不是《默 of 2019》这篇不会再写的年终总结的替代品。它将尽可能短小、简洁,不掺杂任何情感。

补注:本文所描述的钱院学辅信息站已不再可用,目前的站点为一个文件下载、展示平台。可通过《钱院学辅信息站(Jekyll 版)存档》页面了解网站的变迁。

关于钱院学辅

因为偶然的机会,我成为了西安交通大学钱学森书院学业辅导中心(简称钱院学辅)的「创始」成员,并在换届后继续充当神秘的「技术负责人」之责。

学业辅导中心,应当是各所高校都有的一类学生社团。这类社团的主要工作,大致包括:

  • 组织答疑。过去有条件时,一般是管理一个所谓的「答疑室」,组织一批自愿的同学坐班,并通知其他同学过来提问题;随着科技进步,以及到答疑室的人越来越少,现在线上答疑逐渐成为主要形式,过去的坐班人员成为了现在的「龙王」(发言积极?)。
  • 编写资料。最简单地就是通过各种渠道搜集往年试卷,稍有水平者就找人集中写写提纲、答案之类。无论如何,只要编出来就行,之后能否维护得好完全看天。
  • 举办活动。就是各类考前讲座,或者组织学长学姐弄些「经验分享」之类。

本校各书院之前已有自己的学业辅导中心,个别几个名气很大;办的答疑群已经满了好几个,打印店里流传的都是他们编写的资料——但是,据说这些资料只是打印店老板从公用电脑上整下来的,并不是他们主动跟打印店合作。名气很大是一方面,但质量则需要再考虑。比如:

  • 近几年来,老师们对试卷、习题答案的管束明显变严,考试也都会把试卷乃至草稿纸收走。很多课的试卷已经「断供」多年,甚至逼得学生们都开始异想天开的创造「模拟卷」了。效果如何,很难说。
  • 资料的排版、校对水平参差不齐,总体偏低。大多数资料都是拿 MS Word 直接排的,公式竟然有用低分辨率图片者;也有扫描图片的。不少资料错漏百出,也找不到可与资料编写者联系的方式。
  • 线上答疑——特别是通过 QQ 群来答疑,未必是一种理想手段(但相较于无人问津的线下答疑,应该还是好的)。个别同学常年活跃,好像什么时候提问题都能蹦出来给句回复,不知道这样的答疑是否对他的学业产生了积极作用。

除此之外,还有其他一些问题。在这些问题存在的情况下,钱院学辅成立了。钱院成立才两三年,学业辅导中心也是到 2018 年末才开始商议办;到 2019 年年初时,由各种渠道找来的若干大二(现在是大三)同学,组成了第一届管理人员。初办之时,我们便明确认识到:在以上问题存在的情况下,按照其他学辅的模式一点一点的去办那些必将重复的工作,只是吃力不讨好的事情;因此,除开把学院(具体说是学院的某个、某些部门)交代下来的工作做好之外,我们只有「标新立异」一条路可走。

具体的进展,在此难以讨论;有些「成绩」,但也有很多问题。最大的成绩,应该来说是从无到有,成了一个有组织、有规模的学生社团。

年中时,学辅经过了一次换届,与我同时的大多数同学都以「学业繁忙」的理由卸任,我也非常希望如此;但此时,我已经牵头负责学辅的排版教学,安排了几项资料编写计划(大多没有完成),并着手在 GitHub 上建立了一个 organization,办了诸如网站、 模板一类的「项目」。我非常清楚,我们并非一个「技术」社团,这些工作在我扔掉以后几乎不可能有人捡起来继续做,所以我要求再留一届,充当一个「技术负责人」的角色,把这些工作传承下去。现在又过去了一个学期。很遗憾的是,我的目标没有实现:工作的传承仍有「遥遥无期」之感,而且相比于半年前更加庞杂。成绩有一些,但这些工作的进展仍给人一种初才起步的感觉,有太多问题需要解决。下学期时我将没有多余的时间处理这些问题,因此也会一并记在这里,留给后来人参考。

工作概览

排版工作

上半年时,我被编在学研部,该部门主要的工作是编写资料。与其他学辅不同,我们没有任何「基底」可供使用:没有之前已有的模板、工作,没有现成的存货,连编资料的人也没有。因此,只能自己从头摸索,准备所需的各项材料,并且冒着失败的风险去尝试各种可能的方案。

我与学研部的另一位成员思源兄(在这里顺便推一推他的博客),当时都对 的排版质量非常倾心,并自信我们能解决普及工作的困难。因此,我们在成立之初就定下目标:坚持用 排版资料,并尽快使新招进来的同学们学会 。具体的工作由我负责,因我较思源在排版方面经验更多一些;「初创大业」带给我一种克服万难的激情,我很快赶出来一系列 讲座资料(可见 Studio 上转载的内容),并用前后一个多月的时间把讲座基本办结。来听的人不多,约莫十个左右;资料的质量、教学的思路等,现在看来都是非常初步的。不过,这些工作很快就有了成效:到学期末,就已经有三位大一(现在是大二)同学参与大学物理资料的 稿件编写,而现在他们都已是学研部的部长了(我不管人事,不清楚还有没有其他原因)。

大学物理题解(上)的扉页与前言
(作品采用 CC BY-NC-ND 4.0 许可,作者为钱院学辅大学物理编写小组,目前项目地址为 https://github.com/qyxf/university-physics/

大学物理题解(上)正文一瞥
(作品采用 CC BY-NC-ND 4.0 许可,作者为钱院学辅大学物理编写小组,目前项目地址为 https://github.com/qyxf/university-physics/

为了使得学辅编出来的各项资料有比较齐整的样式,我用 doc/doctrip 套件写了一整套 模板,命名为 qyxf-sets项目地址,大致是仿照着 ctex-sets 来命名的)。Doc/docstrip 套装有它的优势,这是我最初的体验;但之后逐渐发现,维护成本过高,特别是没有合适的人可以合作之时。这一套模板之后逐渐成为僵死的状态,久不更新;直到这几天,我才下定决心将其舍弃,而将其中唯一实用的 qyxf-book 书籍模板单独抽出,直接从代码上开发,不再兼顾华而不实的「用户手册」。坏话说了很多,好话也应该有一些:在开发过程中,我自然是在一定意义上提高了自己的 水平,而这份模板最终的排版效果也是比较理想的——可以参考今年十一月发布的《计算方法撷英》一书。未来,这一个书籍模板,应该能起到更大的作用;而如果那时的主导者已不再是我,我将感到非常愉快。

qyxf-sets 用户手册剪影

qyxf-book 的测试封面效果

在学习资料之外,我还负责筹办一份名为《珠峰学报》的刊物,已经勉勉强强收齐稿件发行了第一期。这一方面与「技术」牵涉无多,不多说了。

《珠峰学报》第一期的封面

网站建设

除了 排版之外,另一项工作是网站的建设——这项工作完全不在事先的考虑之中。四月到五月中的某一次会议上,我们就资料的发布形式做了讨论。当时普遍感到 QQ 群文件并非良策,存在着时效性差、传播不便、无法附加信息等诸多问题。我或思源兄(已记不清)当时突发奇想提出:「要不做一个网站,然后把资料挂在网站上?」恰好在一月的时候,我初步尝试了 GitHub Pages,认为仅为发布资料而做一个网站不会太困难,即使有不会的地方也可以现学现用。

因此,我便首先开始着手做这件事——先在 GitHub 上申办了一个名为 qyxf 的 organization,然后再设置了 org 的主页。最开始时,直接套用 GitHub Pages 提供的 leap-day 主题,但很快就感到其不合用,特别是不适合做中文页面;因此,我顶着自己那一点几乎为零的前端底子,一点一点开始覆盖原有样式,到八月时基本是重写出了一个新的样式,我把它命名为 leap-month,并从网站仓库中分离出来构建为一个可以直接套用的 Jekyll 样式。(项目主页demo,已经 archive 了。)

钱院学辅信息站 v2.0(本地重构)

钱院学辅信息站 v2.1(本地重构)

闰月 leap-month 主题,目前仍可通过 _config.yml 下 remote_theme 属性在任何一个 GitHub Pages 上调用

钱院学辅信息站 v2.2,重做之前的最后一个版本(本地重构)

后来,样式被一些有前端经验的同学批评,我也发表了我自己的观点;但总体而言,我确实认识到,自己在样式的设计方面全无经验,且并没有认真考察读者、用户的看法。因此在年末时我找到其他几位同学重做了网站;目前的网站采用 MDUI 框架布局和设计,功能则没有做太大的改变。采用已有框架去做,样式至少是符合大多数人审美的,这一点可以保证。

网站新样式效果

暗色主题效果(MDUI 已经给了对应的类,给右上角的按钮写几句话配一个 cookie 就好了)

移动端效果(Firefox dev-tools 模拟)

网站被命名为钱院学辅信息站,现在的域名是 https://qyxf.site/。网站建设过程中,样式、功能的问题最初都是我一个人负责(当时找不到其他人热心于此),内容则请当时已经学会 Markdown 的许多同学参与其中——你可以在网站的代码仓库之 contributors 信息中看到这点。目前,网站已经初具规模,文章、所谓教程等一类内容搜集(不是跑去 copy,而是找学院内的同学要)了、写了一些。同时,随着第一批资料的出产,我在信息站以外另外设置一个名为 BookHub 的仓库,同时作存放 PDF 资料与生成 Pages 之用(根据 Jekyll 的机制,凡不可转换的对象都会原样转移至生成的网站目录中,相当于是籍此造成了一个下载网站)。

学辅书库(BookHub)页面效果,目前仍然在使用默认提供的 midnight 主题;文件条目用一段 Node 脚本生成

GitHub Pages 的机制,起初我是不了解的,大致只是觉得其背后有一个专门将 Markdown 文档变成网页的工具而已。而后了解了 Jekyll,了解了独立的 Jekyll 与 GitHub 所用之 Jekyll 的区别,了解了前端搭建过程中的若干要素,便知道这一方面可做的事情还有很多,可以实现的功能也还有无限可能。但我在此方面从未有过清晰可行的计划,大致都是想到就做,做出来(或找到什么轮子)就用,做不出来拉倒;结果,原本简单的网站结构慢慢演化为一盘散沙,东一个插件西一个「框架」,除了我以外的其他人都难以把握。(即使是我自己,也往往不完全清楚自己在做什么。

初建网站的时候,我只能算是技术方面的实践者,对网站的应用和拓展则持相当谨慎的态度——我向其他几位成员反复强调,如果网站的维护从单纯写 Markdown 文档(即直接套用 GitHub Pages 的模板和内置 Jekyll)变成了前端 + 后端的一揽子工作,网站的维护必将难以为继;我们既无人手,又无可靠的传承机制,新开的坑注定是填不上的。但是,在换届之后,主要谋划、提意见的思源兄逐渐淡出,我又没能在短期之内找到可靠的合作者,因而只能一个人继续相关工作;当初我所极力反对的事情,现在却已变得非做不可。GitHub Pages 的诸多固有问题展现出来(具体地说,是其功能已经「不能适应新的需求」),特别是与 GitHub 相关的个别域名已被封锁,不得不另找别的出路。目前来看,大致只有 Gitee Pages Pro 和自建服务器两种出路,后者的可能性更大。这方面的工作我已不会再具体负责了。

总结

就排版的资料数量来看,过去一年中钱院学辅的产品并不很多。但是,我相信过去一年的工作已经留下了很好的技术基础,接下来只需要在人事方面多加组织,就能取得意想不到的飞速进展。当然,现在看来,编写资料的最合适的手段应该是 Markdown 文档(外加 公式),而不是叫大家都去写 代码;最近几次合作之中,我深切感到代码风格不统一所造成的困难(特别是像 这样一种专门用于展示,却又恰好缺少普遍规范的语言),而我对规范的普及实在无能为例。Markdown 当然也需要规范,但由于其本身足够简单,因此大多数情况下不必担心使用者「胡来」。

网站的建设则令我陷入了非常困难的境地。一方面,大楼已经筑起;另一方面,这座大楼的结构中仍然是千疮百孔,急需更多的人自愿地投入其中。我自己已经没有多余的精力再来参与具体工作,也无法再容忍自己整日碌碌于此而造成的矛盾之感(作为能动专业学生,没打算转行),这项工作只能另找他人完成。过去的一学期已经找到一些新的同学,但数量和经验都还不够,仍需时日。会有一天的吧,我想。

回想过去一年的种种「工作」,其实大多数本不应该开始,现在只能说是「从虚无之中创生出一种聊胜于无的存在」。我或可丢弃、毁灭这诸多的存在,或可让他们进一步发展为更有价值的存在;就具体情况来说,我只能从行动上将这些工作放在一边,去做更有意义的、现在也变得紧迫的事情,而把创造价值的工作留给别人了。

去年的年终总结中,我对博客园上诸多程序员们充实生活表示赞赏、羡慕,并渴望自己能够从空虚的「精神斗争」之中走出,让实际行动填满自己的生活。现在看来,充实生活并非难事,但我却偏离了自己的本职,在一条与我无关的道路上浪费过多时间精力,只走了一段不远不近的路程。也许这些工作,会偶然在未来的某一天闪现出他们的价值,但那也是未来的某一天了。

当然,钱院学辅的发展,与我个人时间利用的对与错是两回事。新的一年里,我祝愿这个小小的学生社团能够越办越好,革故鼎新,在学业辅导方面造成新的趋势、推广新的思路与方法,成为钱学森学院的一张闪亮名片。

欢迎关注、支持钱院学辅信息站:https://qyxf.site/