2021 总结

2021 年很快就要结束了,这一年过的很随性,没有什么长期短期的规划,也没有健康自律的生活,遇到感兴趣的就研究研究,有意思的就做一做,烦了玩,累了睡。 这种状态部分缘自出国读书受阻的后心态,一方面觉得还有一年多的学生生涯没有经历不想现在就面对毕业后的一系列问题,另一方面自己已经在这种生活与工作中了,比较被动地接受着这个阶段的自由与负担。

回顾一下这一年吧。

学业

新冠病毒和特朗普 10043 号总统令打乱了我和其它准备赴美留学的同学们的人生轨迹。 20 年毕业后因为疫情大使馆关闭,学校远程授课,我更看重线下的体验所以选择延期一年入学。 这期间特朗普出台了一系列反华政策,也包括禁止给有军民融合项目背景的学生发放签证的 10043 号总统令。 21 年大使馆逐渐开放,来自国防七子和北邮的同学们发现 10043 的执行并不是根据你是否参加军方项目,而是根据你来自哪所学校。 也就是说,只要我们在这几所学校毕业,就几乎拿不到留学签证。 我们抱团、发声、反馈,但是效果微乎其微。 在身边的很多同学被拒签之后,我在开学前也去了趟大使馆,不出意料的被拒签了。

拒签白单子

九月底开学,也是割裂感最严重的时候。 去年,跟曾经的本科同学以及未来的研究生同学们在一起,讨论疫情下是网课还是延期,每个学校的政策如何,在 gap year 找什么实习或者全职工作。 现在,研究生同学们一个个飞往美国开启了下一阶段的生活,与我一同签证被拒抱团取暖的同学们,也随着新学期的开始走向了不同的地方。 有的去香港、新加坡、欧洲或者加拿大继续读书,有的继续工作,有的尝试网课,有的还在申请其他学校。 开学之后这种被抛弃的感觉十分强烈,不过也只能面对现实。 好在还有那么几个人与我境地相似,也不至于在被遗忘的角落孤立无援。

海关总署的标志,好酷

这段计划中度假般愉悦的时光并没有到来,现实里我也在字节度过了第二个新年。

工作

从 20 年底加入字节,到现在已经一年多了,对我而言这是一段付出和回报都很多的经历。 字节也算是大厂了,不同的部门非常多,身边朋友的经历让我觉得校招像是投胎,遇到好的部门发展顺畅,遇到差的部门殚精竭虑也难见晋升,当然最惨的莫过今年被国家打压的教育行业,至今风雨飘摇。 我觉得自己算是比较幸运的,能在一个相对开放且受信任的环境工作,以至于我觉得如果真的彻底去不了美国,在这里干下去也不错,因此也没有申请其他国家的学校。

这段时间对我在的这个行业也有了更深入的了解,一句话概括组里业务的话大概是“机器学习应用的基础设施”。 下面是 GPU 集群的资源调度,CUDA 等体系架构上的深入优化,中间是各类资产的管理:特征、数据集、模型、代码、训练任务、在线服务,上面是与各类任务和领域相关的特化。 差不多可以对应到 IaaS / PaaS / SaaS 三层。 每一层都有对应的市场,内部也有很多细节,在这里不详细展开了。

一周年纪念币(应该是铜) | Spot Bonus

各种领域知识以外,很多技能是工作之后才意识到的,例如产品设计和项目管理。 通常一个需求无论大小都是由研发来负责,因此产品和项目管理都要自己把关,人手不够的时候甚至要自己来做。 在学校的时候觉得这一块都是很自然的事情,工作中才越发觉得里面有很多门道需要系统的学习才能做好。

今年还体会到一个很重要的概念: composition (组合) ,这也是我们管理各个领域复杂度的一种方式。 在编程语言中,我们用基础的数据类型逐级组合,构成复杂的数据类型来描述现实中的概念,类似地把各种函数组合起来描述各类操作的逻辑。 现实中组织的管理也相当类似,公司的业务层层拆分,不同级别的人对应不同层的业务,通过每个人向上汇报的方式来实现业务的组合,而 OKR 和 KPI 这类工具就实现了人到业务的对应。

字节内部的氛围也是比较吸引我的点,几万人的公司内部已经自成一个生态系统了,有各种各样的人,时不时会整出些让人眼前一亮的活,感觉这群人挺可爱的。

财务

今年一个比较重要的事情是开始记账了,而且成功坚持了一整年。 以前的流水比较小不太值得花精力,工作后开始看重这一块。 物色了一圈各种记账工具,国内有很多记账的 APP,但是都不支持从各种账户导入,每次花钱都要记录一下还是不太现实。 后来发现 beancount 的复式记账法足够准确的描述了个人角度的资金流动情况,而且对编程自动化的支持很友好。 尽管没有自动导入功能(也不太现实),还是可以每个月导出各账户的账单然后写程序自动转换成 beancount 的格式,这样也不会占用很多精力,是一个可持续的记账模式。

这一年的净值曲线

开始记账我才发现还有个很大的难点,就是怎么给各种支出分类,自己做分类是很难做到不重不漏的,总是需要动态修补,相当烦人。 还有一点是分类要有原则,比如旅游途中打了个车,那么这笔支出是分到旅游还是路费呢? 后来我发现有一个联合国给出的按目的划分的个人消费分类体系 Classification of Individual Consumption by Purpose ,完美解决了我的分类难题,就把这个分类体系搬到 beancount ,到现在一直在使用。

改造到beancount的COICOP支出分类

一年下来发现支出的大头其实还是房租和学费(还有好多税 😞),个人的衣食住行玩跟它们比起来,称作零头也不过分。 现在总量不够多所以不急着投资,不过后面估计要花时间研究一下了。

知识

不知道是我碰巧遇到了还是最近火起来了,发现了很多知识管理的软件,例如 Obsidian , Logseq 和 Roam Research 。 它们标榜的一些特性有双向链接和知识的网状关联,这些特性在我很久以前用过的 tiddlywiki 中就有实现了,当然 tiddlywiki 的痛点也很多以至于我决定自己实现一个类似的工具。 很久以前就有现在看来超前于那个时代的想法被提出来,被现在的人们拾起后发挥出新的光和热。 归根到底,知识管理只是一个手段,知识本身的获取、整理和召回才是目的,而这一点我觉得今年做得并不好,整体是比较怠惰的。

今年比较关注的几个东西。 光场,这个东西几年前就有了,不过最近出了很多新的显示技术,虽然仍然在萌芽期,但是感觉进步在不断加快。 这个技术本身很有意思,光场相机可以记录某个时空下更多的光线信息,通过光场显示器显示出来,用户看起来可以在一定范围内有景深效果。 我觉得这算是 VR 时代的摄影技术,当然计算和存储成本又是一次几何增长,以前一张图只是(长 x 宽 x 通道),现在变成了(长 x 宽 x 通道 x 角度)。 今年 Framework 笔记本发布让我觉得很激动,终于有这种非常开放,懂 geek 的团队做笔记本了,与社区合作紧密,向 linux 开放,组件模块化,甚至提供了部分模块的 CAD 来方便社区制作组件,已经下单一台准备吃螃蟹了,不过还在等漫长的转运。 今年还发现了 NixOS 这个很神奇的 Linux 发行版,起源于 Nix 包管理器,用一种很利落且靠谱的方式通过函数式语言完成了依赖管理。 通过 Nix 可以声明式地确定一个操作系统或者开发环境,解决了以前的很多痛点。 这个项目存在好几年了,不过我也没有相见恨晚的感觉,因为到现在整个系统的易用性还不是很好,反而是庆幸我尝试它的时候已经有很多人填过各种坑了。 试用之后觉得作为开发或者非主力机的管理工具还是很方便的,不过因为不遵循 FHS 以及 Immutable Filesystem 这种激进的选择还不适合作为主力机使用,和各种主流相差太大了。

娱乐

Valve Index

今年入手了 Valve Index,玩了挺多 VR 游戏。 大名鼎鼎的半条命 Alyx 玩了一半,感觉氛围比较恐怖压抑就没有玩下去,不过各种 VR 细节的质量没得说,VR 的 3A 大作标杆。 玩的时间最久的要数 Beat Saber ,VR 音游标杆,大量的 Mod 和 UGC 让游戏有极强的可玩性,很多熟悉的歌都能找到第三方平台上的自制谱,有些观赏谱更是登峰造极,用游戏内的各种障碍物和特效画了很多震撼人心的场景,指路一个很经典的 Lost Memory: https://www.bilibili.com/video/BV1yi4y1V79Z 。 玩久了我也想做点谱了 hh。

Beat Saber成就们,阴间作息实锤

另一个玩的比较久的是马里奥赛车,之前玩了几个硬核赛车游戏都放弃了,但是马车玩起来很爽,既能享受飙车也有挺多技巧在里面(只是不太真实)。 几天时间刷了个 150cc 全三星,大概算是入门了,后面玩玩 200cc 和联机。

马车!

还有个好玩的,有一次突发奇想收集了朋友圈的一些数据,按照相互点赞的次数加权画了一个有向图,可以很直观的看到不同的圈子,以及内部各种互动的程度(两个节点越近,说明互动越紧密)。 相当于给朋友们做了个聚类,蛮有意思。

点赞图

新的一年希望可以更关注生活,探索一些新的领域。