mwish 2021 summary

2021: 日常生活、整体之美与我

随着中国新年的到来,2021 这一年最终还是走到了尾声,我们应该怎么样看待这一年,会不会有什么后悔,以及对未来有什么憧憬呢?我们又能在这三百多天里面,学习到什么特殊的经验,可以在这样的晚上,闲暇的时光中回顾到这么一点点小小的经验呢?

工作和生活

工作或者说毕业已经一年半了。其实向来觉得工作没啥好说的,不过今年做的事情也不少了:

  1. 自己做的分布式事务上线了,基本上只有分布式事务的部分,单机部分算是个没怎么打磨的系统,不过现在已经在30%以上的集群上跑着这个功能了
  2. 行列混合存储上线了,其实做的像一个特别简单的 PAX,然后不支持延迟物化那些,算是省了 50% 以上的存储空间?
  3. (今年最重要的部分?做了小半年)Page 磁盘格式到内存格式的重构,原先的 Page 在磁盘上是个 Thrift 格式,内存中会解析成一个有序的 std::vector<Row>。我独立把磁盘格式改成了一个不需要解析的二进制格式,然后将内存格式也做了连续内存 + Delta 的重构。然后 row format 也改成了类似 MySQL InnoDB Compact 的格式,在各种测试环境下有 30%-一倍的性能提升和占用空间的减小。

这么一看其实今年压根没做多少事,当7月份,我干活我们组新人来问我「一年以来做了什么」,我陡然发觉,对着工作的一年没有什么记忆。

我能有什么记忆呢?日常生活总是一成不变的,从遥望着中关村遥远而虚无的幻景,到每天在齿轮上和幻景一样的工作。更有甚者,你的生活本身也就成了这个活动的一部分:

  1. 早上,起床,然后赶去上班
  2. 在公司早上看点博客,处理点紧急事情
  3. 中午吃个饭,逛逛 s1,review 一下代码,下去走一圈回来安静处理一下工作
  4. 下午可能开开会,跟业务扯扯皮,然后安静写代码或者写 RFC;或者对接各种需求的的用户
  5. 晚上吃个饭回来,要么开会讨论方案(其实很水的,一般没啥重要的),要么接着肝代码
  6. 晚上滚回家,有的时候在家里还得处理公司的事情;闲的时候就在家看书看看代码了

代码和 RFC 部分中,20% 的部分是有意思的、有创造力的部分,需要你结合业界的方案或者一些 paper,来仔细思考它怎么 work 在你的接口上,和已有的内容兼容。其它的部分无非是:

  • 琐碎(但重要)的工作,比如 Log 的修改,语义的对齐,详细而复杂的测试
  • 容易设计、容易实现的部分
  • 急着上线,没法仔细打磨的部分
  • 跟客户对接
  • 测试一些各种版本 tools 的性能

image-20220201031034442

那么,其实你会发现,有的时候大家自己也不知道发展方向是什么样子的,很多时候在 spin 或者摸鱼,这本身也和 team 发展有关。而在日常生活中,你不能不做这些事情,而且这些东西确实是「重要的」,很多时候你要靠这些东西来找到前进方向。要怎么才能在来问你「bool 上建索引为什么不行」或者「qps 动态增加」的用户中,寻找到宝物呢?

有一会儿我特别期望组里有几个靠谱的哥们能出主意,告诉我们接下来做什么。这种想法是对的吗?可以说我是一位合格的实现者,能够刨代码、对比方案;但是可能并不是一个合格的给出方向的人。这样的人难免迷失在日常的海洋中。据我观察,边上这样的人还是不少的。反过来说,码农最开心的或许是到一个地方造一个地方的轮子,当一个轮子雇佣兵,随时都能构建新的东西(忽略漫长而痛苦的上线期)。

生活是另一个部分,在鸣人的厂子边上,大概只能找到 4000+ 一个月的十来平米的单间。当你回到这个「宿舍」,或者周末的时候,要用什么样的仪式感,和什么样的方式,来打造自己的生活呢?在昏暗、寒冷而森严的这片天空下,如何塑造美好的记忆和日常?

劳动伦理与超越日常

「努力工作,努力玩」可能是最让我讨厌的话之一,和「周末好好休息,工作日好好上班」差不多讨厌。它暗示了一种劳动伦理的存在,即休息好像是为了工作一样。

热爱工作的人是什么样子,难道他们不应该以广博的见识、强大的执行力、完善的架构能力让我们尊重?只有工作的人是什么样子,难道我们不应该是丰富的,而应该是贫乏的?难道「玩」不应该是「我想要这么做」「我一定要这么做」「这是我生活的一部分」?

回到生活中,这些剩余的部分可以给我们带来上班的时候的余裕,也可以带来一些新的技能、一些超然的体验。它们可以是「庸俗的」、可以是「痛苦的」,也可以是快乐而超然的。但是,猎奇也好、奋斗也好,这些东西应该能够「带来美好的记忆」。

于我而言,ACGN 已经成了生活的一部分,周末拉人看片,翻翻 staff 看演出或者找一些很魂的 SF 是快乐的源泉。固然这本身也是庸俗的,但我相信这样的追求本身是存粹的,我能够在其中获取力量。来构成我美好的记忆。

A95D3E44-7D8A-46AA-B456-AA71BE00F115

在这其中,我觉得重要的是:

  1. 即使在日常和琐碎的细节中,也不要放弃思考。这有点像那什么阿里打低星的 pua,但是你怎么看待自己边上的环境对你是很重要的。你可以看到大机械下面各个部件是怎么运转的,你在大机器里面在做什么,什么是你想要的,下一步要做什么,你如果不跑路可以做什么
  2. 有一定的执行力和坚持的能力,能够在琐碎的日常中保持自我。这点看上去和之前是矛盾的,但是我认为,对自己想做的事情还是得坚持一下。

83D363D6-F6D3-4E38-82FD-0C54946AFA6F

  1. 不一定要有那么详细的计划,但要保证事情在前进。本人去年实际上在这点上是有不少缺陷的,几个想做的项目和一些工作上的事情都没有足够的保证运行良好。
  2. 抽点时间出来学点想要的东西吧~

日常生活和劳动伦理是被占有、侵占的。睡眠是我们的防线,而爱好和向往能够给我们画出一个方向;执行力则能够保证这些方向能够向前。

当然,回头来看,也有能力能够带来的一些余裕。我的一些好友能把工作、想做的事情和探索性质的东西很有机的结合在一起,在日常中把大部分时间变成了这种「非日常」的工作。这是非常令人羡慕的。

整体之美

一个大学生出学系统结构、流水线会是什么看法?看到汇编会是什么想法?如果他能够知道一些上层的行为,比如看过 <MonetDB/X100> 的论文,再高屋建瓴的从 code 到指令的性能有一层把握,他的兴趣、看到的东西会不会不一样?而我的好朋友最近甚至很少看 db 的文章,而是看了很多 Arch 有关的东西,来加深自己对系统的了解。我也渐渐感受到,很多时候一些整体性的、整个链路的理解看上去很像胡吹,但是当你把它们联系起来的时候,你会诞生非常多的自己的分析与看法。这就是整体之美。

2021 年我越来越希望能够看到一些整体之美:

  1. 一些整个链路上考虑全面的计算机设计,比如 MonetX100, Morsel 调度, InnoDB 的 MVCC + GC 等。
  2. 一些学科性质的跨学科带来的宽阔视角,比如《规训与惩罚》和《社会与政治运动讲义》。作者的写作能力通常来自于对整个系统、对历史的深刻了解,已经广阔的知识。

这份对基础的重视和理解让今年阅读的论文和理解能力提高不少,我希望在 SF、ACGN、学习之类的诸多领域,都能把握到这样的整体之美。

闲话

2022 年已经到了,虽然今年没多少假期,但是我还是希望能拥抱一些变化,最好能润去上海上班。能把高达、小魔女 Doremi 这几部看完,英语整好点。

祝大家新年快乐!