这是一篇关于qinmaye在nuaa本科四年的碎片式回忆

关于学习

回不去的大二

大二的时候,内卷还不像今天这么严重。印象最深刻的是当时雅思听说的考试,试卷不是一般的难,考试最后,躺平的我看到同专业的一个同学忙头大汗,拼尽全力向交卷的同学的试卷瞟几眼,神情慌张焦急。当时的我也不明白为何拼了老命为了那几分的意思,显而易见地,成绩非常惨淡,大二三门课险些挂科。

事实证明线性代数、离散数学这样的课程还是很有必要好好学的。后来在打acm的时候恶补了好多离散数学的课程,再比如我现在看到复杂的神经网络就害怕。后来就发现自己考试总归离最好差一点,如果松懈了就差远了,慢慢累积成山,差距越来越大了。四年来一直看着舍友一步一步学得非常扎实,直到最近他直接一篇ccf-A类提前结束了自己的研究生生涯(不带我们玩了

再后来,我就慢慢接受了自己在学业上的差距,开始寻求一些自己喜欢的事情了。

内卷的计院

“高分低能”

一直以来,我都感觉不到计院的内卷。一方面是因为四专大多数人比较佛系,另一方面是因为自从大二之后我就开始躺平了。但从大三开始,与几个学弟多接触之后,我才慢慢揭开某些计院同学的面纱。私藏往年试卷、重新选打分高的老师、实验报告30页起步都算是基本操作了,高级一点的,吊着几个舔狗组队做课设,再高级一点的,让辅导员找一下往年试卷……

在这种内卷风气下,就是大家的绩点一个比一个高,表面上看上去大家都很优秀。但现实有点惨不忍睹。

  1. 相当一部分同学csp连200分都困难。

  2. 课设的抄袭成风,通常做法就是,往届学长学姐有没有代码——>github有没有能拿过来的——>问问身边的同学——>小蚂蚁请代做……

  3. 遇到一些challenge就傻眼了,典型的例子就是PA、cpu流水线这种非常challenging的课设。

  4. 作为一名cs专业的学生,很多同学不具备基本的检索问题能力,不具备基本的计算机思维,不具备最基础的code能力……

……

病态的培养方式

“高分低能”的背后一部分原因在于人,但更大一部分原因在于计院不太合理的培养方式。在大学前,每个同学都会认为大学的教育是最好的,最顶尖的,最前沿的。但是当同学们发现有的老师连ppt都念的不利索;当大作业是脱离了工业界十几年的老旧的实验,另一方面又缺乏合适的指导,不知道如何下手的时候,他们不由地产生怀疑,该怎么办?

一方面,对老师的评价主要是在科研成果,教学只是老师的一个任务,大多数老师不会花心思在培养学生的计算机思维和编程能力上;另一方面,过多关注于理论的成果,忽略了实践操作,更加速了内卷,导致了这些“高分低能”学生的出现。

四年来,听得较多的是学长的“提醒”,是同学的抱怨,是大家的带着枷锁跳舞,但这并不是一个好的解决方式。改变现有的培养方式,需要每个人的坚持,需要每个人做出一些小小的贡献。一方面,将来有志于踏入学术圈的同学,若干年后回到本校担任老师的时候,应该带着一颗责任心,真正精通这门课,好好培养每个学生最基本的能力,掌握这门课程。另一方面,有能力的同学,给周围同学一些小小的帮助,让更多的人去脱离书本,拥有一些更好的code能力,这也是极大的帮助。

与nuaa acm的三年(马上可能有四年?亦或是N年?)

2018

大二的时候,然叔拉着什么都不懂的我去背锅2018icpc南京站,那个时候我只有基本的硬件知识,会一点点linux(现在回想起来然叔居然敢叫我?)。熬了几个通宵,第一次见到qls,第一次看到白师傅拯救世界(第一年的背锅方案可以参考这里),第一次体会到这个比赛是tm多有意思。那个时候就在我内心埋下了种子,我也要打acm,我也要像白师傅一样能搞比赛。

2019

大三的时候,我如愿以偿进入了acm队,也担任了2019icpc南京站的首席背锅位之一。那一年我是非常忙碌且充实的,训练,思考icpc南京站的方案。我充分发挥了我的特长,我不会,但是我tm认识会的人啊,当时的我喊上了周佬思索整个赛场的网络方案,我负责搭建domjudge和其他一切打杂。

从暑假末尾开始,我跟周佬就开始测试pxe,把机房搬回来的几台服务器配好环境。由于手动安linux过于繁琐,当时的我们再一次跟去年一样选择了远程挂载的方式,具体的细节部分我已记不清,大致上是每个选手的/home目录挂载在服务器的固态上,pxe启动的时候引导到服务器上对应的目录,为了保证300多台机器的正常运行,我们全场采用了万兆网络,光纤+万兆交换机+万兆网卡。一切都有条不紊的进行,前一天我配置好了打印机,搞定了周佬想加入的c++17,导入了热身赛题目,回去睡大觉了。

第二天,我们慢慢发现情况有点不对劲,时常有机器无法启动,直到热身赛开赛前,仍然有机器无法启动,我有点慌了。热身赛开始后,情况仍然不见好转,因为我们是网络挂载的情况,有一个区的选手踢掉了交换机电源,导致整个一片电脑直接炸裂,我只能不停跑来跑去给选手道歉,重启机器。

热身赛结束后,我跟出题人导入题目,周佬选择采用最稳妥的方式,将镜像直接写入本地,启一个pxe server,然后将我们做好的iso下载到本地然后dd在本地,速度非常快,我跟出题人还没搞定他就搞定了。然后出题人这边遇到了一些wall time过高的问题,我们最终采用了将数据挂载在/tmpfs下,时限调整两个方法来解决io过慢的问题。总算是搞定了一切,这时候白师傅到了,他告诉我们问题在于我们采用的pxe软件太不稳定(具体的我记不清了),挂的概率很高。

第二天比赛的时候,依旧出现了一些小问题,有一部分选手打印经常收不到,一部分选手电脑仍然有问题。事后发现,电脑问题是因为租来的机器每次都是直接全盘写入,导致硬盘坏道太多了。打印收不到的问题是我的锅,我加了C++17,但是在打印页面没有选择对应的enscript打印语言,导致选择C++17的选手的代码全部丢了。

虽然问题不断,但最后,还是成功举办了一届icpc,一次我背锅的icpc区域赛。

再后来,就是我跟王佬许哥组队打比赛的事情了。王佬是我认为的1617最牛者,许哥脑子非常好使,转的特别快。在他们的带飞下,我们在沈阳成功拿了银牌。那一场比赛太过梦幻,王佬跟许哥做题又快又稳,许哥跟出题人心意相通,做出来了一道假题,阴差阳错,我们拿了银牌。

2020

因为疫情,2020的故事没什么好讲的,举办了一场线上赛,无功无过,顺利举办。

to be continued

如果然叔还打算办比赛的话,倾尽全力,搞一次完美的,不留遗憾的icpc

些许其他的背锅

南航小红帽

大二的时候,我还在纸飞机,那个时候纸飞机跟团委的关系早就有点僵硬了。在于老板的带领下,我第一次真正学会了vue,会了一点基础的后端。为了满足学校志愿者管理的一个需要,我跟另外几个大师傅在国庆假期疯狂开发,搞定了南航小红帽第一版。小红帽大概功能就是录入每个同学的志愿服务时长,给每个同学打印志愿服务时长证明。

之后就是我跟青协对接,解决各种问题,第一次写前端,开发一个完整的产品,当背锅侠。第一次体验完整的流程,第一次为全校师生开发产品,内心还是非常自豪的。

但事情往往没有我们想象的那么简单,因为某些zz原因,很长一段时间内,我都因为服务器在团委、信息化处之间斡旋,再后来,纸飞机解散了,一个真正为学生服务,为同学们解决所需的组织就这样消失了……

竞赛背锅

竞赛背锅的日子有一点点枯燥,做的事情比较杂,最多的时候就是在机房弯下腰插上一个又一个的电源,然后嘴里骂着那些拔掉电源不插回去的sb。其他时候可能需要写个发送邮件的脚本,做个报名网站,维护一些报名系统,机房做系统同传等等……

正是这些在机房的枯燥的日子,让我对运维感兴趣起来了,日后当个运维工程师也还不错?

读研、phd和工作的决定

外卖小哥到校长特别嘉奖的故事

业余生活