2023 年度总结

 杂谈  年度总结  2023 󰈭 7397字

尽管 2023 年不太特殊, 甚至容易发现不是素数(7*17*17), 不过对我个人而言 2023 是经历了许多、学习了许多的一年, 因此考虑做一个年度的自省与总结, 以期留下一些结构化的记忆以供后来者翻阅.

我做了什么?

1月是在家的一个月, 好像没有干什么, 当时适逢网络实验的考试, 因而貌似是一边在打鸭子杀, 一边在忙里偷闲地准备考试的内容并学习一些新东西(大概也没有学什么!), 鸭子杀太好玩了, 熟练后基本是矜矜业业到打开记事本记录每个人的发言, 从11月因为疫情回家后就断断续续地玩, 在1月这段时间貌似还是人气的高峰, 甚至可以结识到走散多年的高中同学们(x) 最后的鸭子杀游戏时长为170h, 也是相当不容易了()

2月初的时候返校, 回校后的状态与22年入学后类似, 每天可能下午起床后去实验室随便摸一会想玩的技术, 比如rust, archlinux, lfs这些东西.. 大概是在月末的一个平平无奇的晚饭时间, 实验室大我一届的师兄面临一些毕业的困难, 需要一些代码援助, 在我们实验室和几个师兄师姐讨论、诉苦与求助, 然后莫名其妙地我就被安排过去帮助写师兄的毕设代码了.. =_= 正好那段时间在考虑找实习试一试, 大概是过了软件所的实习, 只有一面, 还是电话面试, 比较快and水(maybe), 由于手上当时没有别的offer, 就先接受了, 就这样子迎来了繁忙的3月…

3月是实习和毕设两开花, 好在实习是线上实习, 且第一次的实习因为还不太懂工作节奏所以也没有太多的实习负担, 加上师兄的毕设代码实现上不算困难, 因而才能勉勉强强痛苦着挣扎过3月份. 这期间还有一些:

  • 奇奇怪怪的保密任务, 比如将某mp4文件裁剪成指定字节的文件? 因而伴生地有了这篇博客: <Linux下修改文件的4个时间>; 事实上mp4格式应该是不可能实现任意字节的, 因为该文件肯定是结构化的, 当时的解决办法就是先把视频文件压缩到目标字节附近, 再进行截断.. 不过这样在最后几秒的视频会无法播放出现错误, 嘛将这样吧~

  • 高等计组课程的CPU设计实验 <Logisim开发单周期MIPS处理器>; 很好玩, 有造轮子的乐趣, 尽管这门课学的不是很好:(

  • 月底的时候好像还甲流了, 躺在床上叫天天不灵, 刚发烧的前两天去校医院看了医生, 医生说看验血的结果不能确定是甲流, 奥司他韦对肾脏负担重, 不用吃, 给我开了点一般的药物, 结果吃了两三天还是发烧, 实在顶不住了和舍友买了奥司他韦第二天就明显缓解了.. 这医生我真的会记他很久()

3月份在实习&毕设&杂七杂八的事情最痛苦的时候甚至一度会想我以后哪怕不从事计算机了也是极有可能的吧.. 这在以前还是从来没有过的想法, 能够保持热情地活着很不容易..

3 月写了很多的 python... 从未写过这么多

4月的时候总算稍微有一些闲暇, 一是师兄的代码工作基本是完成了, 尽管大约最后也就贡献了1500行左右的核心python代码(一共多少行是不可说的), 不过这期间对于心智的负担极重, 3月份一整个活在压力与痛苦之中.. 也第一次收到信件 ; 二是逐渐熟练了线上实习的节奏, 加上第一个调研项目的结束, 因而轻松了不少.

闲暇期间印象里花费了很多天配置了自己的 Neovim 配置文件, 不仅全部将配置目录结构化, 完全使用 lua 进行配置管理, 而且几乎是一个个插件地去读文档, 改配置, 写lua代码, 必要的时候甚至会去提 issue 与 pr 给相关的插件项目..(是稍微有一些完美主义在的) 大概历时两周, 搞出了一个基本可用的代码补全功能(该功能的前置科技树深不可测!), Neovim 的配置算是告一段落, 个人用工具的定制化程度++.

4 月写了相当久的 lua 代码!

另外大概也是在4月, 由于师兄毕设的完成, 又回归了老师的横向课题组, 一进来就接手了数据链的横向任务, 这一坨也真的是又臭又长, 光是文档最终我都抄了好几十页一共三四万字.. (来自2024年: 而且目前还需要做仿真… 是2024逃不脱的任务了..悲) 这一坨东西不仅是人家老美的军方的通信系统技术(资料少, 不系统), 还是靠近二三十年前的东西(过时), 甚至在查资料的时候还发现国内的一大批军工背景的院校和研究所有论文在搞这个(这会还在研究上个世纪的美国的技术.. 我很难说).. 总之就是这样一坨谁碰谁倒霉的横向任务, 不过这样的横向在立项之初其实质目的就是明显的了, 作为乙方&作为老师手下的学生只要认清这一点就不会那么痛苦了, 就这样凑活着就算了.

5月在劳动节假期的时候和家人在北京玩了圈, 算是来京后第一次在北京走了走, 去了些长城故宫颐和园这类的有名景点, 体验了一番劳动节假期人山人海的壮阔感.. 也是第一次拿到了几分微薄的实习工资, 稍微体会了一下有一定经济基础的自由感..

随后大概是5月份上旬, 汇报完成了第二次的实习任务, 在实习方面的心态发生了较大的转变, 具体可以参考<软件所实习体会与总结>, 自那次汇报之后就对这份实习略有失望, 同时也是狠狠认清了工作和兴趣的区别. 在4,5月份也有参加一些其他投递的公司, 不过阿里最后因为方向不感兴趣没去, 华为则是泡池子装死.. 也就这样不了了之了. 5月份还做了一些事情:

  • 把自己服务器上的服务全部迁移进入docker, 甩脱了大量的历史包袱, 实不相瞒在跟师兄做项目的时候才第一次开始用docker, docker在服务器的服务部署上确实是太好用了.

  • 探索了NixOS, 玩了一阵子最后因为英伟达驱动的问题还是退坑了, 不过确实是个很有趣的发行版

  • 探索了archlinux的蓝牙支持, 也是一个一直没高兴处理的历史遗留问题, 为后续618买hhkb做铺垫, 蓝牙支持甚至在后续的一些实习汇报中还发挥了一些作用

  • 更新了hugo博客的生成逻辑架构, 使用python脚本处理大量逻辑, 后端也终于不用php了, 用上了golang写的echo框架来实现访客统计;

  • 还有一些额外的折腾: <Memos3>

6月份临近期末, 考试多多, 有bluespec(高等计组)和内核中的rust(操作系统结构分析)这些博客的对应产出; 在实习方面则是完全了解了线上实习摸鱼术, 这段时间的鱼摸的相当多, 花费了许多的时间在风暴英雄上() 不过好像还是忙里偷闲完全重写了博客的theme, 热情高涨, 看的番也比较多, 没几天甚至又搓了一个二次元漫评模块, 希望能在博客这套前端页面中统一地展示一些个人的所见所感, 通过博客的日志可以很清楚的看到激增的提交数量… 以及一些重构博客主题的心理活动: <Memos16>, <Memos19>

7月份伴随着软件所实习的终结, 新的一轮写项目申请书的事情开始无缝衔接.. 项目是bit某老师牵头, 有接近十家参与单位, 还是敏感项目, 老师说我可能比较熟悉我们单位负责的内容(操作系统相关)把我带了过去, 期间还配了一台豪华的4060商务本机器作为工作本(感谢霜姐).. 每天早上7 8点就要起床, 没有午休time, 干到晚上9点下班从bit回来.. 今年没受过这么大的苦.. 最开始一过去啥也不知道, 也不知道要干什么, 也不知道什么是什么, 貌似是要做一些文档整合的工作, 顺便作为老师的传话筒对接其他单位.. 总之是相当折腾的事情, 使用word进行多人协作.. 可能不会有比这个更加痛苦的事情了, 特别是熟悉git之后再用word无异于让我吃屎(确信).. 而且做过项目很容易能看出来不同人的一些本质, 一些单位派来的学生素养就比较高, 派下去的任务能一条条完成的很好; 一些单位派来的人主打一个不配合, 跟他说的时候不好好记清楚, 回头东问西问满脸不情愿.. 另外在这里第一次感受到了相当严格的尊卑关系和形式主义, 有的的单位的人在老师前点头哈腰毕恭毕敬, 听老师讲胡话, 我在旁边听得都觉得痛苦; 大老师天天过来转悠视察工作, 来一次说一通胡话, 小老师还得连声附和.. 事情不做天天转悠说教, 我真的会谢.. 只能说一想到以后如果进入一些国企 事业单位甚至就是学术圈, 可能就会有这种氛围在, 我就倍感不适.. 印象最深的一次是在画ppt的时候我使用了rgb的配色, 被大老师指责说哪有什么搞红配绿的, 让人想到东北二人转, 很土..😅 虽然我不是什么艺术设计大师, 但是rgb至少还是对我的土胃口的(叠甲: 没看过东北二人转, 无地域攻击)..

甚至本博客的绿色都是精心挑选的初音绿!

期间和一个别的学校的老师聊过很久, 最开始我看他很年轻以为还是学生, 做事很干练, 没想到已经靠近35了是学校老师了.. 和这位老师闲聊过很久, 对整个项目、本子以及更广的这一套东西的了解加深了很多, 算是第一次切实感觉到这类东西的草台班子的本质.. 写本子陆陆续续搞到7月底了老师还不放人, 我只能表达不满, 说明车票已买, 我需要走了, 老师也算是同意放我走了. 成为研究生以来第一次参与写本子, 第一次就参与这么重量级的本子.. 感触还是蛮深刻的.. 7月末的时候因为本子整合的差不多了, 因而也玩了一些其他的东西, 比如:

  • 网页字体精简化, 总算不用每次让用户下载2MB的字体文件了, 还是蛮有用的: <网页字体精简方案 - rqdmap | blog>

  • Rust OS 相关, 这段时间开始重燃了一些对rust的热情, 感觉学习语言只学不练有点虚, 便找了套 os 相关的 Lab 顺带看了看; 不过事实证明, 边看语言边看 os 的难度真的很大🥲(以至于后面的几个课程没有很好的坚持下去): <rCore操作系统实践 - rqdmap | blog>

8月回去休息了2个礼拜~ 貌似也没有干什么事情, 甚至太短了以至于完全没有暑假的回忆(可恶!).. 没几天就回学校了, 好像也没有太多的产出, 随性地看一些rust并写写代码. 这段时间的生活貌似比较颓废, 貌似天天都是玩到3 4点睡觉然后下午爬起来也不知道干点什么..

9月份继续玩一些 rust, 并且感觉到 rcore 对于我的代码能力提升帮助有限, 就去考虑直接用 rust 写力扣了, 弄了个简单的源码组合器 <rqdmap/rust-in-competitive-programming> 来适配单文件提交的模式, 每周打一打周赛; 也是在这段时间想利用一些闲置的intel macbook, 买了个rc20(这段时间正好是ssd打骨折)做自己的电脑数据备份(因为我的本机磁盘好像会偶尔挂掉, 尚未排查过原因, journalctl 也没有任何日志, 不可复现🤔), 搞了点frp流量转发和备份的服务(<Mac(x86派)的废物再利用 - rqdmap | blog>), 一定程度上提升了我的生活质量(指白嫖实验室流量); 同时还有考虑申请一些新的实习单位, 不能再这样无所事事下去了, 9月面了正定和字节, 两家的流程都蛮快的, 可惜正定是挂的挺快的..

由于今年暑假实在是太短了, 国庆买了票放假回家, 由于实在忍受不了azure服务器的线路问题, 在国庆期间买了 zgo 的 4837 的线路, 把整个的服务全部迁移过去了, 好在docker化后服务的迁移相当的方便没有花费什么力气; 优化线路确实在晚高峰的时候比 azure 表现好了很多, 果然免费的东西最贵. 而这都要归功于我的mjj同学roccoshi, 在我7月痛苦写本子的时候他已悄然变成了一名mjj!

国庆期间过了字节的4面, 回来后第一天就直接去公司报道了, 直接开始一段新的社畜篇章🥲. 入职后配了高贵的macbook, 在上面我尽力配置成为我喜欢的形状, 不过还是有点困难, 前前后后也弄了好几个礼拜; 第一个月还是熟悉业务代码和内部的开发平台与工具, 实不相瞒入职后就一下子就给我塞了一大堆内部的开发工具真的很难顶.. 不过让我看的代码还算是比较独立的crud, 所以确实蛮适合入门的. 工作压力也不是很大~ 员工福利还不错(每天都可以在公司喝咖啡!)~ 这段时间感觉还是蛮不错的, 也天天在memos上发一些牢骚: <Memos23> <Memos24> <Memos25> <Memos26> <Memos27>. 最开始因为不熟悉工作节奏, 每天晚上十点多才敢走, 后来被同事提醒才知道可以更早一点走:(

10月除了上班还发生了一件大事就是手机刷机变砖了.. 具体可以参考: <Pixel7刷机折腾小记 - rqdmap | blog> <Memos30>.. 真的会很让人痛苦, 不过也正是这次几年来的所有数据丢失事件让我大大加强了数据备份的意识, 也大大提高了折腾未知技术前的容错意识.. 在等手机维修的时间用回了老的遥遥领先, 一段时间不调教再去用的时候发现满屏的通知都是华为健康, 华为音乐, 华为新闻.. 不愧是遥遥领先!

11月的话感觉在公司干了更多的事情(也许? 上班真的是时间小偷), 每天除了维护手上那个crud的任务, 还会顺带看一些其他的golang和python项目, 也算是更广地了解一下业务相关的代码. 11月貌似还有2次部门聚餐, 一次是团建(第一次体验北京洗浴中心🥺加高档自助日料), 不过对于我来说还是蛮难熬的(部门二三十号人都不认识啊喂!); 第二次是一位大佬自由后离职的聚餐, 只能说是狠狠羡慕(无论是自由方面还是e人同事的方面).. 月底的时候还不小心把公司电脑上翻了点水, 导致电脑送修把我数据全格了, 公司电脑上部署的aw监控数据也没有备份下来(macos和linux的存储位置不同, 导致我当时备份错了文件!)..稍微有点难过.. 在博客更新方面也可以看到10月和11月是一个荒漠, 每天上班的时候老实本分地"自驱"地看一些业务代码, 不瞎折腾一些什么东西, 晚上回来后则选择打游戏度过夜晚.. 没有什么精力再去折腾一些新的技术来玩..

12月排查了个spark + python的内存泄漏的问题.. 真的排查到吐血, 前后可能折腾了两三个礼拜, 最后我都已经看别的去了另一个同事还在坚持弄(小组也就全靠这位同事一个人撑着了).. 排查这种问题真的会很折磨, 一是那份代码的耦合程度与复杂程度相当的高, 不仅代码自身用到了很多的 python 高级特性, 而且与内部的一些工具相互交互, 允许用户通过文档自定义一些 python 函数(我甚至可以在python代码中看到上下文切换!!🥲太吓人了); 另一个就是python的语言特性决定了对它的内存泄漏的排查不会那么容易.. 此时真的很怀念rust的一些设计, 不然面对这样一大坨自带垃圾回收的动态语言, 真的很难去调试.. 另外这份的代码的问题在本地甚至无法很好地复现, 为了复现必须要上spark下载一个几百G的数据集跑一个小时才能看到内存泄漏的效果.. 这就使得调试工作更是难于上青天.. 调试这个问题真的会很让人受挫, 以致于12月是我感觉比较痛苦的一段时间, 没有太多实际的代码产出, 业务线甚至被合并到大组里.. 不过也正是这段时间让我对我的代码编写风格和编写能力有了很大的反思, 开始思考了一些面向工程项目的代码编写能力..

总的来说上班后的主要感受有:

  • 上班对于生活时间的挤占. 我的工作时间一般是10:30-21:00, 可能一天也就工作7个小时左右, 不过相比于朝九晚五的话夜晚的时间真的会受到很大的影响, 朝九晚五至少能感觉到夜晚是自己的, 互联网公司则感觉是一天从早上到晚的班.. 不过也有看到一些同事的签名挂着自己的工作时间前调到朝九晚五的节奏, 感觉也是蛮不错的. 加上我们实验室本身没有日常考勤, 而上下班还是要在差不多的时间附近的, 一下子会感受到极大的不自由.. 在情绪低落的时候再一想到今后要上班上一辈子这样就感觉到无尽的痛苦..

  • 代码能力的反思. 可能在真正看到屎山后才会切实感受到软件工程、代码规范这类东西的价值, 至少在12月接触了这样一坨超难以维护的python代码后我甚至主动去学习了不少有关代码设计模式、设计规范的文章.. 也是因此察觉到自己之前写的东西可能很多都是无法维护的、面向过程(对于一些大一点的项目还是OOP的模式会更好一点)的代码.. 同时也是借此机会提升了一下自己对于python和golang的代码能力, 不过golang的代码感觉出的问题少一点, 而且基本的框架已经成型了, 倒没有看过太多, 还是比较可惜的; 主要还是对于 python 代码的研究较多.

在年底的时候之前的狗屎项目忽然间就因为甲方领导的一通电话要结项了, 匆匆忙忙的边上班边和老师八头, 一有什么问题就从公司打车回学校, 弄好了再打车回去.. 🥲纯纯的折腾.. 老师开组会的方式也是一绝, 把所有人都喊过去齐聚一堂然后现场串行地开始慢慢地改文档改格式.. 我真的会疯狂, 从来没有见过这么低效的开会方式.. 加上甲方也是朝令夕改, 搞不出一套标准的格式, 导致前前后后文档的格式不知道出了多少版. 做这个项目的时候大家都希望项目黄掉, 没想到这种狗屎项目也能顺利验收通过拿到经费.. 就这样吧~🥲年底几个同学出差去对方单位验收完成后回来还要改文档, 野火烧不尽春风吹又生地又改了靠近几个礼拜(写这篇博客的时候甚至是刚改完文档回去!) 期间还被我的latex文档疯狂背刺, 只有我的文档是走latex出来的, 得先转成word再导成pdf, 转的word格式完全就是一大坨, 只能一个个手动调整.. 我真的是很会给自己找事情做.. 基本每次有线下活动大家都会聚在一起痛骂这个项目的相关人员一顿.. 实在是太过于草台班子了.. 改了这么多遍的文档, 一直觉得:

  • 对于这种对格式有强要求的文档就不能走word; 使用word不仅会有人给你提交wps修改好的(不是完美兼容的! 格式会烂掉的!), 而且批量修改word的格式是不那么方便的. 尽管可以设置正文、标题123这种主题格式, 但是如果对方文档不是完全按照这个格式刷出来就无法批量改, 只能人工当苦力. 计算机的发明本来是为了简化人力的操作, 结果word居然又逼迫计算机使用者成为低效劳动的苦力, 简直是过于愚蠢了. 尽管不太现实统一使用latex这种严格的排版工具, 至少也可以搞一种易于使用的标记语言, 把字体字号, 行间距, 图表格式的设计与文章内容完全分离出来, 这才是符合设计之美的.

  • 多人协作也可以使用更好的版本管理工具; 一旦使用了标记语言而不是word就可以直接使用git之类的工具统一管理, 岂不美哉.

  • 不过也是可以料想的, 至少在我目力所及的未来这是不可能发生的事情了~~

年底Aria同学来北京玩, 一起规划了一些游玩计划, 在匆匆忙忙的年底总算是还能偷出一段假期的时间休息一下, 玩过冰玩过雪看过烟花最后在🎉中迎来了2024年~

后记

在写之前没有想过写成流水记的感觉, 而更希望产出一些总结性的内容, 能够起一个承前启后的作用, 不过就这样吧~ 也不是写书立著, 能够尽量的表达已经很不容易了; 前前后后不断地查看自己今年的痕迹也花费了很多的时间, 纯文本的碎碎念能够靠近8k字, 应该多少能代表一些2023吧~ 在章节的设计上本来还有一些别的诸如 “里程碑” , “我有哪些数据?” (我是数据收集爱好者), “新年愿景” 这种, 不过感觉可能意义不是很大, 而且我已经写不动了(x), 就算了!

2023 还是经历蛮多事情的一年, 希望 2024 能够码力日进, 保持热情, 享受生活!

嗨! 这里是 rqdmap 的个人博客, 我正关注 GNU/Linux 桌面系统, Linux 内核, 后端开发, Python, Rust 以及一切有趣的计算机技术! 希望我的内容能对你有所帮助~
如果你遇到了任何问题, 包括但不限于: 博客内容说明不清楚或错误; 样式版面混乱等问题, 请通过邮箱 rqdmap@gmail.com 联系我!
修改记录:
  • 2024-01-07 19:55:482023 年度总结
2023 年度总结