2022 总结

这是第二次写年终总结了。

上学

在 2021 年秋季因为 10043 被拒签之后,我决定远程入学,一边上网课一边等待出国机会的到来。 在这段时间里,我和很多同样受 10043 影响的同学们一起,关注着很多相关的消息,期待着每次事件过后就能重新获得签证,但最终只等来了一次次的失望。 这些事件包括但不限于中美两国元首会面、国内外媒体发文报道我们的处境、新的驻美大使上任以及外交部的交涉、美国大学教育组织(AAU)的联名信、中国放开国外留学生返中的限制,以及后续诉讼 10043 官司的发起和诉讼期间的临时禁令。 一开始,我还觉得有希望,可以先远程几个学期,去美国之后再呆满一年,拿到 OPT ,回到四年前就规划好的旅途上。 直到今年十月份,临时禁令被法官拒绝,同时我在 UCSD 剩下的时间也不足一年,彻底断绝了我走上这条路的念想。 十二月,交上了 UCSD 的最后一笔学费,这一年多的一切悬念与不安最终尘埃落定,我会网课毕业,学生阶段再与美国无缘。

上课的经历也留下了一些遗憾。 允许线上网课的课程并不多,大部分都是 AI 相关的,因为课容量比较大选择这种比较灵活的授课方式。 但其实很多 AI 相关的知识都已经学过或者看腻了,只是为了学分坚持上完。 受到开课和时间的限制我能够选择的课程很有限,有一些很感兴趣的话题比如计算机和生物、安全、音乐等结合的课程,都错过了。 同时,今年还经历了入学以来最大的一场危机。 我选了一门 Robotics 课程 276A ,提前一学期联系教授问能不能远程,教授说你能搞到相关的硬件就可以,我发现使用的小车和开发板(高通 RB5 )在淘宝都有售,就开心的选了这门课。 开学前准备买这些东西,才发现 RB5 在国内很小众,好不容易找到一家有现货,却因为二十大期间北京封锁快递发不过来,等到封锁结束板子已经被别人买走了,想要再买只能等三十天的货期。 无奈之下在咸鱼买到一块二手板子,到手折腾了很久,发现是坏的,只能退货。 最后暂时买了英伟达的板子代替。 然而教授很死板,因为没有用指定的硬件完成,给我的作业打了零分,在总分占比还不小。 我一度以为这门课要挂科了准备放弃,还好后来跟在美国的同学合作完成了后续的作业。 不过受到前面的影响,在我全 A 的成绩单中出现了唯一一门 B 。

尽管路途坎坷,还是认识了很多好朋友,一起做了很多有意思的事情。 因为已经工作了,上学全程没跟家里要钱,也算是一个小小的成就吧。

工作

今年组里有一次结构调整,借着这次机会我从内部平台转去做公有云的算法和系统,开始接触 ToB 相关的业务,了解了很多的小公司以及他们的业务和算法需求。 今年对自动驾驶、生命科学、 AIGC 几个领域的标杆模型都有学习,并与同事一起帮助其他公司做这些算法的计算性能优化和落地。 今年的 AI 领域也并不平静,比如 Alphafold 的开源实现 Openfold 正式发布, Stable Diffusion 引爆了 AIGC 领域, ChatGPT 让大家乐此不疲。 AIGC 尤其有意思,一些 AI 绘画的小程序在微信、抖音等平台爆火,让相关的公司变成了暴发户,到处买卡,不知道最后会有多少笑到最后。 总之能在实际工作中接触并改进这些模型也是很有意思的。

游戏

整理了一下发现今年玩的游戏也不少,下面是有印象的一些。

口袋妖怪: 通关了今年的新世代《紫》,一个剧情很有意思的民间改版《火箭队》,以及云通关了怀旧的 3D 重置《起源蓝宝石》。 不知道是不是跟童年回忆有关,很享受游戏过程中那种无忧无虑冒险的感觉。

Dragon Quest Builders 2 (中文翻译太烂了): 本以为是个带剧情的 Minecraft,后来发现自由建造的成分并不强,但仍然很好玩。

DNF: 忘记什么契机让我想起来这个,部署了一个私服玩了玩,享受了一把自己给自己发钱的快感,再也不用担心装备强化失败了,还可以随便传送,技能无 CD ,总之是狠狠过了一把瘾。 不过各种副本刷刷刷没几天就觉得无聊没有继续玩了。

节奏医生 Rhyme Doctor: 强调节奏感的音乐游戏,只需要拍打空格就可以。 美术风格很有特色,音乐好听,剧情也挺治愈的,通关了。

Space Engine: 可能不太算游戏吧,是一个宇宙模拟器,模拟了所有已知星体的参数,并自动生成了整个宇宙的其它天体。 在 VR 里面的体验尤其好,很喜欢一个人在宇宙发呆,看地球绕着太阳转,在月球表面低空飞行,近距离观察土星环,加速时间看三体恒星到处跑,穿越各种颜色的气体星云,看 Sgr A* 黑洞扭曲光线造成的奇异景观。 每次结束旅程都会感受到自己的渺小,似乎很多纠结的事情也变得没有那么重要了。

Blade and Sorcery: VR 爽游,还有很多 mod ,砍砍杀杀发泄就完了。

VR Chat: 今年 VRC 花式作死收费,搞来很多差评。 抛开这些事情不提,中文梗博物馆是我见到最有心的一张地图了,收录了中文互联网从古至今的各种迷因,并且结合了博物馆的叙事布置和 VR 的强交互。 让我印象最深刻的是 Minecraft 的展台,是一个沙盘,而观众是真的可以通过一旁的地狱门缩小并传送进沙盘里,在 VRC 里体验 Minecraft 的乐趣。 其他地方我在参观的时候还遇到有玩家现场表演一些知名片段,氛围相当融洽。

Beat Saber: 除了无聊时玩一玩,今年还尝试自己给游戏做谱,这个流程感觉很像是在编舞,要设计玩家挥剑砍 Note 时的肢体动作,并通过这些动作表达歌曲的情感。 不过这明显需要长时间的练习才能做好,在经过一段时间的研究并作出第一张谱面后,我放弃了。 但我其实还有一些音乐想放到 Beat Saber 里面游玩,就又去研究自动生成谱面的可行性。 发现还真有一些论文搞这个,而且 Beat Saber 生态很好,有好多开源的谱面库可以拿来做训练集。 可惜亲自尝试了一些之后发现没有生成效果和可用性都做的比较好的项目。

健身环: 没坚持下来。

埃尔登法环: 上半年公司同一层有一个新冠阳性,导致我们一整层的人被拉去酒店隔离。 机智的我第一时间拜托室友帮我把电脑主机之类的东西打包闪送到酒店,让我在酒店也有丰富的精神娱乐。 这段时间我通关了法环,叙事、开放世界、战斗系统都很不错,拿到年度最佳当之无愧。 现在怎么形容都觉得词穷,只有送上玩家最高等级的称赞:好玩。 后来发现还有独立开发者制作了 VR 插件,试玩了一下感觉魂系游戏确实适合 VR ,原本就很有史诗感的人物和环境设计,放在 VR 里面更加身临其境,非常震撼。 只是可惜现在的显卡有点带不动了, VR 双目视觉帧数不高,以后换机器了再试试。

最后还有一点小遗憾。 小学和初中那会有一个杂志叫少年电脑世界,每期会附送一个光盘,光盘里面会附送一些软件和游戏。 2010 年前后在某一期的游戏里玩到一个 3D 的飞机在隧道里打箱子的游戏,让我惊为天人。 那时好多游戏都是 2D 或者很粗糙建模的 3D ,而那个游戏的建模和光影效果都很精致,甚至玩起来还很流畅,给我留下了深刻印象。 今年想要找回这个游戏,于是凭借印象买了几本那时候的杂志和光盘,可惜不在其中。 后来在贴吧发现有好心人整理了每一期的电子版和光盘镜像,但是内容太多了,我根据游戏名字推测出了一批可能包含它的光盘,可惜翻找完一遍之后还是没有遇到,只能无奈放弃了。

生活

今年买了台相机开始学习拍照,买了辆自行车上下班和假期骑行。 不过因为疫情外加自己比较宅,利用率不高。

photos

手机用了快四年了,但是这段时间一直没有让我想买的手机。 清一色的直板打孔屏,或者用处不大的折叠屏,连一块完整的屏幕都变成了奢求。 性能啥的也都卷到头了各种过剩,也没有以前让人激动的新功能了。 还有苹果手机和笔电上的刘海屏甚至灵动岛,我不忍直视。

定期备份各种社交软件也有一段时间了,今年还对这些数据做了一些统计。 顺便安利一下 Metabase ,绝对是我见过 UX 最好的开源项目,尽管能力上弱一点,但是就冲着他的颜值和用户体验我也抛弃了其它的开源 BI 工具。 微信每月的私聊计数,每次看都会感慨 Friends come and go :

pc

还顺便统计了 Wakatime 记录的每日编程时间,不过在公司开发主要是容器化的云端环境,没什么动力一遍遍的装插件,所以记录的主要还是个人电脑上的时间:

wakatime

十二小时那天是在重构老代码 :) 。

还有就是很久以前编写的人生日历,每天都会简短的记录下做过的事情并打个分,如今已经坚持四年了。 可惜去年有意外丢失了 2020 年大半年的数据,让我心痛不已。

life-calendar

截止到现在已经用 Beancount 记了两年的账,每一笔交易都记录在案的感觉真不错,以后有时间单独分享。

外部

今年世界上发生的事情似乎格外的多。 下面是一些我有感知的。

世界杯决赛拼到了点球大战,非常精彩,也给梅西的生涯画上了完美的句号。 ETH PoS Merge 成功,出乎意料的稳,以后也不会被人指责浪费资源了,只可惜挖矿仍然是重资产行业。 长寿决赛圈好多名人都在今年去世了,英国女王、戈尔巴乔夫、江主席、教皇本笃十六世,以前还会玩梗 +1s ,现在都没地方加了,令人感叹。 俄罗斯乌克兰战争,还有一些其他政治事件,反转都很多,在跌宕起伏中网络上的舆论转向也很有意思。 字节和一些其他公司也曝出几次劳资冲突的新闻,不过一般都没有下文了。

可能是受到疫情、政治冲突和一些其他因素的影响,大部分地区经济都在衰退。 远到美联储加息、俄乌战争、斯里兰卡破产、村镇银行、烂尾楼断贷,近到今年秋招难度暴增哀鸿遍野,中美今年毕业的同学们都不好过,考研难度也是暴增。 还好身边的同学基本都拿到了 offer 。

随着几周前「乙类乙管」政策的发布,国内管控彻底放开,这场长达三年的活动也画上了句点,都结束了。 看到公司下个月开始线下工作的消息,感觉以后可能再也不会有因为疫情而居家这回事了: 疫情没有给我带来感染,反而是长时间的远程工作体验,今年大约有四分之一的时间是在家工作的,状态反而比在公司上班还好。 只是辛苦了那些不像我这般可以远程工作的人们,希望他们在这之后能休养生息。

技术

今年终于抽出时间从技术视角入门了区块链,从底层原理到链上生态都有所了解。 做交易的话除了各种分析工具还要有丰富的经验,和传统的证券市场很像,我因为没有经验而且没时间积累所以一直没有入场。 但很神奇的是我依然从这个世界获得了三笔收入。 第一次是 2020 年, handshake 给所有 github follower 超过 15 的用户发了空投,用 github 私钥认领(有些丢了私钥的同学好惨),当时大约换了几千人民币。 第二次是今年朋友聊到的 Aptos 激励测试网活动,在他们测试期间部署节点接入网络就有抽奖机会,当时没抽到以为亏了服务器钱,没想到几个月之后给所有参加活动的人发了空投,兑换了两千多刀。 第三次是有一个 Telegram Web3 求职 Channel 的所有者发布了悬赏,希望有人帮他做一个 Notion 数据库新增信息自动发到 Channel 内的机器人,从这里赚了一千刀(这也远高于市场价了,真是有钱啊)。 最近在跟朋友一起研究链上 MEV 的手段,想找一些长尾的无风险套利机会,希望明年能有攻击成功吧。

在接触 Nix 大约半年后,我整理了相关的资料并先后写了 Nix 和 NixOps 的入门介绍,并在字节内部进行了分享。 这转化了多少人并让他们开始使用 Nix 不得而知,但还是收获了一个意外之喜,那就是用 Nix 帮助解决了组里的一些实际问题

还有一些令人印象深刻的今年接触过或者新发布的技术,随便聊聊。

Stackblitz Webcontainer: 看见新闻的时候我特别激动,以为是在浏览器端用 WebAssembly 搞了个 OCI Runtime ,以后可以在浏览器跑 Docker 了。 研究了下发现只支持了 NodeJS Runtime ,不过仍然给前端开发带来了更多的便捷和可能性。

Rust: 年底才开始在实际开发中使用,用起来才发现没有传说的那么难,其实还是很好用的。 设计里面有函数式编程和面向对象的影子,还有基本的 Pattern Matching 语法,可以更优雅的表达一些逻辑(尽管还很难跟 Haskell 比)。 宏还没用熟。 总之作为一个系统级编程语言,它可以表达很底层的实现,同时又有比较简洁的语法,能优雅的描述上层逻辑。 语言本身设计的就很好,用摄影的术语可以称之为「动态范围很高」。 唯一的缺点是编译器感觉没有 Typescript 智能。 至于它主打的 Memory Safety ,我的理解是把你的表达限制在某个安全范围内,但其实在这个范围之外也能写出 Memory Safe 的程序,但是语言难以保证,就不支持了(只能用 unsafe )。

Prisma: 一个 CS 架构的跨语言 ORM ,相关的生态都挺好用的。

Deepkit: Hack 了 Typescript 编译器,实现了运行时类型信息(反射),从而支持了一系列很酷的操作,比如无缝的外部输入类型检查、 ORM 等。

Hepta: 让人眼前一亮的知识图谱+卡片的记录工具。

WebXR: 可以在浏览器里呈现 VR/AR 内容,之前一直有想法要给自己做的 Wiki 加一个 VR 界面,就可以戴着头显站着记笔记了。 可惜经过一番探索发现还不支持在 VR 内部渲染 HTML 元素,重新写一份绘制方法的成本又太高了,只能先放一放。 不过也没有白学,给之前练手写的 Three.js 小项目加了 WebXR 支持,现有的 3D 项目支持这些还是很方便的。 总感觉 VR 离爆发只差一个硬件体验的突破,可惜不知道何时才能到来。

其它

今年一直被工作、学习和业余项目压得喘不过气,还好现在已经放假,下学期也只剩一门课了,希望可以借这个机会整理一下日渐凌乱的步伐。 新的一年希望有更多的倾听和表达,和更多的人产生共鸣。 要是有时间及时表达的话,或许也不至于像现在这样把所有的想法拖到年底才说。

duo