Skip to main content
大一暑假的尾声

大一暑假的尾声

·4457 words·9 mins·
Hollow Dobt/帆楼
Author
Hollow Dobt/帆楼
Flowers’ fade, leaves’ birth
Table of Contents

六月底 June: 农机人校内赛
#


是极其失败的团队协作.

人对于烦恼的记忆总是刻骨铭心的, 奈何时间久远, 依稀只记得当时是昼夜不停地制造机器人. 我毫不犹豫地选择了写代码, 因为我喜欢并且实际上(相对他们而言更加)擅长写 C++. 一开始, 我认为一切会十分顺利的进行. 大家各司其职, 一步一步把小车搭好, 就可以完成小车了. 小车效果如何我不需要关心. 因为我一直以来都认为自己是那样的人, 不会关心自己做出的东西是什么样的, 只会做好自己想要并且必须完成的事情. 现在想来, 过去的我完全没有看透自己的内心, 或者说至少没有搞清楚我想得到的究竟是什么. 即使是很小的一件事, 即使只是一件无关紧要的艺术品, 只要是我参与了, 我都会投入相当程度的关心. 可以说, 我对自己参与制作的作品都有一种执念, 希望它们都是精致的工艺品或者可供生产实践的工程项目, 而不是别人口中的玩具. 所以, 当大家, 尤其是电路部分的同学在前期把小车做的一团浆糊, 搞出一大堆问题时, 我心里面就会烦躁不已, 后面演变为当场抱怨他们做的真的太差劲了, 质疑他们真的用心努力做了吗?

但我早已知道是自己错了. 如果愿意, 为什么我不自告奋勇去做那个组长呢? 如果我真的愿意做好这辆小车, 我为什么不去认真学好机械和电路, 帮助他们做好这件事呢? 你有代码经验, 而他们是第一次接触机构和电路, 他们真的不是因为经验而只是不努力搞砸的吗? 尽管已经和这支队伍没什么联系了, 但千万句自我怀疑还是让我想说一句: 对不起!

这场比赛最令我难忘的一天是比赛的最后一天. 因为前期在结构和电路上出现了大量意想不到的问题, 再加上整车缺少日志输出系统的设计, 我们几乎没有时间完成小车代码的编写. 为了尽可能保证小车可以走完全程, 我和另一位负责代码的同学熬穿了一整夜. 或许对那些习惯熬夜的人来说无所谓, 可这是我人生中第一次熬完整夜.

就没有值得高兴的事吗? 当然还是有的. 写代码时难得春风得意了一下, 我竟然仅仅花费二十分钟的时间就把另一位负责代码的同学一个多小时都没解决的问题给解决了. 不仅顺便重构了代码, 也顺带着把小车所有的运行环节摸了一遍. 在我修改后得到的程序可以让小车(不太)顺利地走完全程, 小车没有出现任何运动轨迹上的大问题. 唯一需要调整的实际上只有漂移算法中小车转弯的参数. 如果阁下也用过 Arduino IDE, 应该知道这个破 IDE 并无静态检查器, 在编译之前很难发现问题. 而在下的代码竟然一次就过了编译, 一次就达成了前面所说的成果. 这让我意识到, 之前花大把时间不听课然后痴迷于解决那些构造类的算法题绝不是没有作用的.

也是在当天, 比赛结果尘埃落定. 虽是在情理之中, 但还是令人遗憾, 我们组因为结构设计和电路设计存在严重缺陷, 再加上没有足够的时间设计程序适配这一机器, 因此拿到了倒数第一的成绩. 大家伙倒也没什么悲伤的, 许多人本来也只是想体验一下. 包括我自己. 对我们来说, 更多的或许不是悲伤, 而是遗憾与怅惘. 时间太短了, 一切都来不及, 我们本可以做得更好, 再给我一天的时间就可以完成这辆小车的.

社团的总结会结束后, 我们组选择在一家火锅店聚餐结束这场短暂的校内赛. (在我的引导下可能)大家聊得很开心, 天南海北, 各自家乡的特色, 一些有趣的回忆, 这桌菜如何如何, 自己那里的高中生活怎样怎样. 应该说我们走了狗运, 或者说运气都花在吃上了, 当时这家店正好有小龙虾促销活动, 一份小龙虾的钱贵两块钱就可以拿三大份小龙虾. 再加上一堆牛肉, 虾滑, 蔬菜, 这顿饭吃的是相当开心. 尽管我们这六个人只是七天的拼好队, 甚至相互之间名字都没记住, 但是我们都很尽兴. 尽管后来暑假快要结束时正式组队很多人都离开队伍了, 但仅仅是那段日子的快意与成长, 对我而言, 已经足够了.

七月初 July: 南京之行
#


那么热的夏天, 宅在家里才是王道!

吃完散伙饭, 我在寝室休整了半天, 狠狠补觉. 然后(作为已经玩儿了一年的老萌新)又接着前面的存档玩了半天的群星, 打天灾飞升被群殴, 最后动用控制台之力流转乾坤, 战胜了所有敌人, 十分地痛快!

第二天, 我启程去南京小住了一段时间. 那里的夏天实在闷热, 走在街头仿佛置身蒸笼. 除了偶尔出去逛逛老门东, 以及一些其他地方没见过的街道或者超市, 其余时间基本都宅在室内, 看看接下来需要做的 AI agent 项目的资料, 刷刷视频. 这倒也算是一种另类的度假了.

最初, 这趟小旅行原本还有别的原因, 但阴差阳错, 这次旅行变成了一场纯粹的吃喝放松之旅. 令我印象最深的是再次吃到之前在嵊泗吃的花雕醉虾. 这是我少有的非常非常喜欢的一道浙江菜, 名为醉虾却并不醉人, 虾肉紧实中带有一点儿绵密, 黄酒汤中只残留酒的香气, 令人回味无穷. 虽说是预制菜, 但是偶尔吃吃还是没关系的.

不久后, 我收拾行李准备回到家乡. 为了节省宝贵的白天时间, 我订购的是一班跨夜的动卧列车. 在出发前吃了顿晚饭, 吃完告别亲友时心里涌起一股复杂的情绪. 第一次来到南京是在七年前, 相比当下风景几乎不曾变过, 仍然是破旧中带有一点新风. 可是, 我自己, 还有那里我认识的人早已变了样.

动卧的体验也还算是有意思, 尽管坐完这一次我就决定非必要绝对不再坐火车卧铺了. 虽然四人间的空间比想象中舒适, 但是互不相识的人之间竟然没有帘子! 这点必须差评. 本来打算在车上玩玩电脑, 结果一开屏幕就引得他们三人"不善"的目光. 这搞得我很不好意思, 他们似乎都想睡觉. 我只能合上电脑, 装作啥也没发生.

所有的设计中我最讨厌的是床位方向的设计. 这种奇葩设计总让人觉得动车启动后随时会"滚下去"(实际上有个栏杆挡着, 咋可能掉的下去). 结果我就被这些胡思乱想折腾得没睡踏实. 明明(听说)这种设计的动卧很少见, 为什么我都碰得上? 还是说该不会都是这种?! 算了, 我建议给个宇航员用的那种拘束带吧.

七月初 - 七月中旬 June: 拿驾照
#


拿到驾照咯

回家之后的第一天, 我就开始练习科目三. 因为寒假的时候挂了一次, 加上教练异常凶残, 我对于科目三训练充满了恐惧. 我觉得这算是一种独特的 PTSD? 非常纯粹地, 每每想到科目三就纯粹地害怕, 害怕那凶神恶煞的教练, 害怕那机械电子音的考试系统.

训练时是一幅什么样的画面呢? 我开着开着, 教练狠狠地啐了一口, 破口大骂, 我前面不是教过吗? 而后我弱弱地反驳, 您话都说不清楚, 我根本听不懂您的意思是什么. 然后他就这样破防了, 继续骂我, 说我是个废物, 都讲那么多遍了还学不会, 还是个大学生? 为了不继续被骂, 我只能闭嘴. 对比之下, 另一位偶尔教我的教练温文尔雅, 吐字清晰, 讲话有理有据, 感觉以他作为主教练的学员真是幸运啊!

虽然训练过程是令人痛不欲生的, 但好在这次结果是幸运的, 我考过了科目三. 算了, 毕竟考过了, 而且不需要再见到那个教练了, 嗯, 我还是感谢一下吧. 因为之前的经验, 我意识到每次考试最好不要先别考虑其他问题, 所以我没有慌着去做科目四的练习. 我打算先歇几天, 瞧着哪天有空精神状态好点儿再去考科目四.

在休息的那几天, 我又花了一些时间学习些做 AI agent 需要的知识, 顺带也回了趟老家看望爷爷奶奶, 吃了顿亲戚的满月宴, 还去高中伙着另外几人看了自己的老师. 说来惭愧, 因为种种原因, 很多老师我都没有亲自去看过, 而他们中的许多人都是正直善良而令人钦佩的人. 每到长假我都想着要不回去看看, 可每次别人邀请基本都是被我各种原因推辞, 然后即使去了也是, 发现大家好像确实没什么共同话题. 最好笑的一位老师"股神"(据说他炒股赚了几十万), 谈着谈着没话说了, 竟然开始一本正经地分析起几位同学的高中成绩.

没隔两天, 考的科目四很顺利地通过了, 我拿到了驾照. 一开始训练时做到了许多奇葩题, 搞得我哭笑不得, 害怕考试如果考这么逆天咋个办. 好在最后考试时那些奇葩题只占了很少的一部分, 不像那些模拟题似乎就是不想让你得分.

这段时间我总算是有了一种感觉, 就是正面击溃了自己心魔的感觉. 因为第一次寒假的时候科目三并不是技术不行挂掉的, 而是如同许多考试的同学一样是被各种各样的意外与面对这些意外不知所措给打败的. 当时觉得特别不甘心, 尤其在我发现因为时间问题还只能拖到暑假再考的时候. 这一次考科目三, 运气依然不怎么好, 我再遇如同寒假时那样的风雨天考试, 再次走那条据说更难的线路. 但这次, 我没有失败.

七月中旬 - 八月中旬 June, July: 智库索引, 启动!
#


几乎一个人完成的玩具项目: 智库索引.

该怎么说呢, 即使是八月十五结束了, 我还是恋恋不舍. 这个项目主要参与人有两个, 加上中间插进来一个, 一共三个人. 三人对彼此都算十分熟悉, 因此我本来觉得应该很顺利就能做完这个项目.

好吧, 事与愿违, 这个项目的进展实际上一波三折. 最关键的一点是, 两个同学似乎都不怎么愿意学写代码. 他们的情况似乎和我当初在校内赛中遇到的情况差不多, 都是我在以前不知不觉的练习中代码能力变得越来越强. 尤其是对于程序设计的理解, 他们两人几乎无法理解我为什么可以把一个过程写成代码, 以及为什么有些过程很难实现. 这其实有些好笑, 因为他们都学过 C++ 了, 甚至还比我多学了一些基础算法和数据结构, 但是面对稍微难一些的问题竟然会这样手足无措.

除此之外, 因为一开始计划存在严重问题, 前面几天的时间几乎都打了水漂. 为了挽救这个快要死掉的项目, 我在 7 月 26 号的时候向许多老师请教人工检索的思路, 重新设计了程序运行的原理. 我决定, 不再使用复杂的算法, 而是使用模拟人行为的方式直接实现.

这一过程相当漫长. 这像是, 花了整整二十多天的时间写完了一道超级难的数学题. 不得不说, AI 真好用, 可以说很大程度上帮助我这个毛头小子可以在没有写工程代码经验的前提下能够完成这个项目. 就是 AI 总是写一些根本不需要封装的函数或者不注释变量设置的目的让我十分厌烦. 这个过程中遇到的基本上都是技术上的问题, 我在思考过一段时间后基本都可以顺利解决. 这里就不细讲了, 关注技术细节的可以看看我下面提供的代码仓库以及里面的提交记录. 尽管最后的作品还不够满意, 像个没啥用的玩具, 但是整体完成度还是不错的, 并且也能够正常运行.

实际上, 这个过程相当累人, 需要每天一点一点审批两个小白队友和 AI 写的 shit, 需要每天都思考下一个代码怎么写, 分给他们什么任务比较合适. 进公司后, 该不会每天都要这样无趣和疲惫吧? 但总的来说还是愉快的. 尤其是在中途大家相互请客吃了几顿饭, 感觉好久不见的朋友们的心再次凝聚在了一起.

顺便一提, 做开源项目对提升代码能力的作用(其实显然)远比折腾配置的作用要大. 这次项目结束后, 我原本预计要三天才能完成的这个博客主题的自定义, 竟然只花半天就搞定了.

尾声: 即将结束的暑假
#


其实离开学还早着呢. 还有两周多的时间供我挥霍. 尽管不想浪费了, 但是我必须承认, 自己的精力已经被花的七七八八了. 尽管所有东西都做的很开心, 作品都算是自己的, 没人和我抢功劳, 再加上伙伴和老师们都很友好, 而且科三科四也顺利过了, 但是自己确实是太累了. 我问了问 AI, 接下来几天适合干嘛呢? 他说我简直是劳模呀, 好好放松个十几天吧!

这是一个难忘的暑假. 因为无数个第一次, 因为做的尝试太多了. 这一切就像是又经历了一个学期.

不管如何, 暂时写到这里吧. 再会了. 我得先休息一会儿. 我得准备迎接新的一学期了!