2022: 预期管理与没朋友的中立 (original) (raw)
去年今日是个平淡无奇的日子,今天也是。 区别在去年这天晚上我有跨年活动,而今年想必是没有这种活动了,因此就试试赶在 2022 结束之前把 2022 的总结写完发出来。
喜闻乐见的鞭尸环节
首先一起来看看这个人去年都说了哪些大话:
希望 2022 的我能成为合格的 A320 模拟飞行驾驶员,能有资格加入 VATSIM 的大家庭,认识更多的好朋友;
希望 2022 的我能正式成为一名光荣的 Gentoo developer,为这个陪伴了我 11 年的发行版做一些力所能及的事情;
希望 2022 的我能在 B 站拥有 10000 名粉丝,我的视频能冲破 10 万播放,让光荣的基础设施工作为更多人所知,用“合理性”与“常识”影响这个行业的更多人;
希望 2022 的我,要么能调整好对业务研发的心态,要么能转变工作职能而专职负责基础设施,甚至换组去做 QA 或者 GoPlus,重新在工作中找到热情;
希望 2022 的我,maimai DX 能上 7400 分,希望能至少 S 一首 Lv.14+ 的歌曲;
希望 2022 的我,能飞向我们国家的 10 座城市,吃 10 种美食,踏 10 个巷子;
希望 2022 的我,能减少折腾龙芯的时间,而重新开始撸铁;
希望 2022 的我不会辜负这最后的 29 岁时光。
实现了多少呢?
- 模飞 (0/1)
实际就年初单机飞了几把。理论学了不少,但每次飞之前都要大费周章布置外设,飞完还要全部收好(否则大概很快会被猫猫破坏 😼),在没有单独书房和存在其他更高优先级事情的状态下,只能不飞了。 - Gentoo (1.2/1)
理想实现了!还在年底前推进 Gentoo/LoongArch port 脱离实验状态了。鉴于结识了很多善良有趣的人,我认为这个目标超额完成。 - 内容 (0.05/1)
粉丝数完成了不到 5% 吧,视频播放数可以忽略不计。毕竟这个地球的一个自然日只有 24 小时左右,接下来的很大篇幅都是围绕预期的感慨。 - 业务 (0/1)
很不幸,心态调整失败,或者说调整成功的时机来得太晚。重要的项目 delay 辜负了队友们的信任,事实在于确实没有办法“同时打两份工”,我很难说服自己也很难寻求他们认同。 - 舞萌 (0.8/1)
压线完成,12 月 8 号上了 7400,之后一分也没能再推动了。不过遗憾的是并未能够 S 14+。 - 旅行 (0.05/1)
由于外部因素,完全没实现,又不完全没实现1…… - 龙芯 (0.6/1)
由于外部因素,不光没减少参与,反而增加了;继去年给 QEMU 贡献了 TCG LoongArch64 port 之后,又成为了 Linuxarch/loongarch
代码审查者、LLVMTarget/LoongArch
贡献者、LLD LoongArch 移植者……甚至还在 LPC2022 做了平生第一次科技大会演讲。一分钱没拿,还自己倒贴了五位数经费!
因为目标是减少参与,这部分铁定是失败了;但获得了许多社区影响力这方面兴许可以做一些填补吧。 - 撸铁 (0.8/1)
开始搞了,但后边由于出国打乱节奏 & 天气变冷之后没有优雅的健身房洗澡方案 & 加班等原因,暂停了。预计开春之后会复健。 - 30 岁之前总之做点啥 (1/1)
磕磕绊绊也算是活下来了,在微小的角落微小地持续燃烧。我为这前 30 年的人生感到骄傲!
完成度:4.5 / 9 = 50%
至于《脱虚向实》一文设定的宏伟而具体的愿景,更是遥遥无期。 主要由于上半年突如其来的封控,导致这期间莫名其妙做了一堆社区工作。 结果解封之后,所有业余时间以及客观上一些本职工作的时间,等于说都捐给龙芯了, 以至于两件事都没干好,别说这两件之外的事情了。
关于预期
2022 这许多事情没做好,归根结底还是在预期上出了偏差。 比方说,如果你预期这个事情就不会有发展,或者预期自己生产力不会时刻在线, 那就不会给自己贸然开大坑或者排很多活。
年初到现在我一直在被脑雾困扰,除了新冠 PCR 和抗原测试一直是阴性之外, 其他的 long COVID 症状我感觉都有一些了。 就在前两天,意识到某工作上的重大项目几乎不可能按期上线,因而在地铁上自我反思之时, 突然我意识到:如果工作效率低下是因为缺乏工作激情而想摸鱼,那么摸鱼部分的生产力应该高于预期; 实际则不然!两方面都低于了预期。
这当然不是给自己摸鱼开脱。 因为毕竟冷酷一点想,我第一次做核酸是 3 月底,第一针疫苗接种之前也没有测过抗体; 虽然 2021 年确实有一阵咳嗽非常厉害,和当下很多人半个肺也咳出来的情况不相上下, 但那时毕竟同事都没有被传染类似症状,拍了 CT 也证明至少肺部没有异常。 这样我当然无法证明我面临的脑雾等情况是 long COVID,怎么说也必须找其他原因。
但这个思考其实在提醒我,不论原因,定目标的时候对自己的预期是否不该放这么高? 这好比一个成年人除非得了大病,否则不可能短时间大幅持久改变体重, 或者说,很少人能持续以一天清醒时间超过 16 小时的状态生活而不影响健康, 宅男不会很快(甚至根本不能)真正理解现充世界的话题,现充也很难一年之内真正入宅2。
熟悉我的同事可能知道,我定比较大的目标或者比较紧的时间节点,也不是一天两天了。 最后每次总是被各种各样未知因素影响,也总在提醒我商业软件开发的水有多深。 至于今年呢?自然是严重低估了龙芯社区工作对个人生活乃至工作的影响程度, 而这也体现了广交朋友的重要性!
事情还是回到年初疫情前的某几次 maimai 之中/之后的聊天。 常驻某个机厅出勤的人总不见得很多,几个月之后,多多少少都熟络了; 排队时候或者打完了一起去坐地铁,总免不得聊两句游戏之外各自原先世界的日常。 这样便免不得向一些不搞计算机的朋友们科普了两句我做的事情, 无非是“城市规划”、“建筑规范”或者“厨子研制成功先进水泥配方”之类的比方。 他们的反应倒也出奇地一致:
你好有精力啊,下班了还打第二份工!
起初只跟一个人聊过这些,被这么评价,自然是不以为意; 甚至还颇有些自得,我从一项成就迈向另一项成就,我此时甚至不知道秋天的我能“以票友身份登上国家大剧院”。 但后来两个、三个都这么说,这使我警觉,反复思考这认知意味着什么, 而最终发现他们说的是事实。
一般参与上游开发是比较方便的事情,review 别人代码,基本看几秒就可以给通过; 自己如果是做架构相关的事情,你适配的芯片不出新型号或者 bug 你代码基本就不太需要变, 只要时刻追着其他全局范围的大重构,保证自己负责那部分代码跟上节奏就好。 总之正常应该是一件比较轻松愉快的事情。
但龙芯不一样!这群人水平参差不齐。 路子最野的那几个人,代码经常坏味道弥漫不说,人都到上游了,英语都不好好说,看他回复比看正经英语还累(甚至看不懂)。 你得跟他讲这个地方这么写,可能有这样那样的问题,建议这么改;这句话你表达的意思不对,英语讲这个意思你得这么说。 邮件写完,一般也半小时或者一小时过去了;一天多的时候有四五封这样的邮件。 你如果看到问题不回复,上游其他那些外国维护者没摸过龙芯电脑,不知道他们的做法实际有问题,可能就合进去了,非常耽误事。 更有甚者,整个贡献的代码架构或者风格都不合适:先前经常碰到的情况是龙芯的人把内部维护了几年的一坨 fork 拉出来直接就往上游推。 代码里,中国人都不见得能懂的中式英语、错误的注释、某个函数上游一年前就废弃了他们还在用,此种情况比比皆是; 你都指出来吧,邮件能写一整天;总结起来回一封邮件表示反对吧,又要仔细斟酌措辞。 毕竟社区沟通,文明友善是底线,所有人也都在看,不管是不是相关方; 几年前出现过单纯基于代码质量表达了反对,就被一部分其他围观群众激烈抨击说我是故意卡他们代码的尴尬情况,就差贴大字报说我是反革命了。 这林林总总加起来,的确牵扯了太多精力(在本文的篇幅分配上也淋漓尽致地体现了), 说是打了第二份工,真不为过,而且没工钱。
过去的都已经过去,今年总之也是学到了很多东西。要说一定要评选出这其中最有价值的,那大概就是预期管理。 人的一天不会有 48 乃至 96 小时,往自己肩头承揽需要这么多清醒时间才能完成的责任,不是一种光荣,反而是不负责的错误行为。 “为了证明自己有价值”,这样的心态本身其实就是低自尊的表现。
关于我所持的中立立场
2022 年是少有的,身边的建制派与自由派都憋屈的一年。 大家似乎都有充分的理由来解释、辩解、支持、反对每件公共领域发生的事情: 这个事情不对因为监管/政府过度了,这个事情不对因为监管/政府缺位了3。 众多纷繁复杂的信息似乎只能指向一个共同事实,那就是真正左派在这世界的生存空间愈发小了。
熟悉我的人应该都知道,我一直自认是现实的理想主义者。 通向理想的路径,往往并非两点之间直线最短,而需要经过一些曲折; 如果强行走直线,能量消耗更大不说,还可能被沿途的大质量天体改变轨迹甚至撕裂、吞噬。 这是现实世界许多复杂度、“存在即合理”的底层逻辑,也是为何理想被称为理想而非伸手就能碰触到的甜美果实。 这也是我为何坚持认为,社会的不完美不应当通过几起突发事件来强行为之带来变化, 而是要渐进地为行驶中的大船更换木板。 如果你在这一年与我讨论过政治话题,你应该会记得我发表的相近观点。
显然,这时代我身边持有比较鲜明政治观点的人们,赞同我的并不多。 声量最大的那部分,不说 100%,至少 90% 都是自由主义者,或者隐性的自由主义者; 那些“胆敢”支持政府的人们往往肚子里没有足够墨水,在情绪化表达或者伪装成事实描述的情绪化表达4之外,无法组成 50 字以上的逻辑推演。 与他们相比,我显然不是自由主义者,顶多算是一个了解他们理论基础和思维方式的,说话尚且中听的外星人罢了。 但这样一来我就是建制派吗? 这些年的突发事件,我和你们一样有很多问号;我没有在社交媒体转发这些, 是因为我在公司写代码,在地铁打音游,到家也没有这种转发的习惯,何况我本身也极少情绪化转发。 另外,在一些“粉红”聚集地比如当今的百度龙芯吧,或者龙芯的一些微信粉丝群, 比方说因为我传播了一些不利于龙芯的客观事实,或者单纯就讲两句外语, 他们有的人就告诉我了,说我其实是 50w,是汉奸,是买办势力代言人,是美国人,是台湾人,是日本人; 看我在上游一直给龙芯做贡献,就说这是卧底行为骗取信任。 之前我也在别的地方被评价过是“形左实右”;换句话说就是嘴上喊着利他,实际都在利己的,我痛恨的虚伪做派之一。 那看上去我也不是建制派,至少那些人不认为我是。
倒也挺好,这样至少我身上就不会有特定的党派颜色,而可以在辩论、键盘政治之外, 做一些确实对社会、其他人有益的工作了。 在政治光谱日趋极化的当下,无论东西方世界,如果你靠近光谱两端,想必都是很难做成事情的: 因为你太接近另一端,就总会有人从「人」的维度否定你,因而你在「事」的维度就无法与其合作了。
但我认为仍然值得展开两句关于我所持的中立立场究竟立足何处。 我总也需要给自己一个解释:做了这么多年的龙芯相关工作, 但龙芯自己一方面是一个神奇般地从中科院团队变成夫妻店的公司、私企, 而且这些年来我在上游很是见识了一些人的无知与傲慢,还发现他们的社交媒体粉丝不乏一些极端民族主义者5; 正常来讲,应该不太会有人能够说服自己继续与这群家伙共事。
某位朋友暴论:搞龙芯的都没有好下场!以下是我的解读:
如果你认同龙芯做的事情和价值观,按照龙芯支持者中很流行的论调,你应该加入龙芯。 你找借口不加入他们你就是龙芯反对者,是敌对势力的卧底。 结果就是你给他们做贡献,但他们中总有一群人不认为你是同路人。
如果你不认同龙芯做的事情或者价值观,那你应该去搞 RISC-V, 给龙芯做事情你就是龙芯支持者,就是变相支持某个“邪恶组织”,就不是自由世界的朋友。
我在上学期间入坑龙芯,首先肯定是追随 RMS 的脚步,为了能够打倒 x86 霸权,实现自由软件乃至硬件的理想。当然,也满足了很大一部分的装逼需求 😎。 那后边这几年除了惯性之外,又是为了什么呢?
今年我找到的答案是多样性。
多样性可以被看作一个统计学概念,可用标准差之类的定量方式描述。 基因多样性、物种多样性,在我们一般认识下,多样性往往6都带来好处而非坏处,尤其带来面对变化的韧性: 种群的基因多样性会带来性状的多样性,因而环境变化不容易将该种群团灭; 食物链彼此交叉形成食物网,使能量流动路径存在冗余,生态系统在受损后便能够自我修复。
出于对此数学规律的敬畏和利用,我们当然应该在做选择的时候,优先去做那些有助于发扬多样性的事情, 比方说入职小公司、与你身边的少数群体7做朋友、在市场份额不占第一的平台消费(不在市场份额第一的平台消费); 当然也包括在技术实践上支持、适配小众技术、非英语社区的技术, 以及在社区里支持这些小众技术、指出并旗帜鲜明地反对大公司的滥用市场支配地位行径。
多样性的存在,客观上会使得公共舆论场(或者房间里)总是充满辩论甚至争吵,但这也同时意味着在每个具体议题上所有不在信息茧房的人总能看到正反两面。 从个人角度讲,我不觉得这会有损形象、气度或者效率;这可能与我在这样的环境下成长多年有关,但比起手头事情的受益,一时嘴皮之快或者虚假的一团和气又何等渺小。
我为何选择为 LoongArch 而非其他架构贡献
有了上面的铺垫,就可以回答:为什么同样搞底层开发,是选择给龙架构适配而非 RISC-V 或 ARM 或申威等其他架构了。
为了多样性,我们总是应该帮助最弱的那个。 x86 ARM 是现在的大块头,当然用不着帮; RISC-V 是冉冉升起的新星,集万千宠爱于一身,有没有我都一样,有得是比我聪明的人帮忙。 在剩下能买到的架构里,申威勉强可以算作“能买到”;但和他们的一些人接触下来,发现并不是你想给它贡献他们就愿意,甚至你把它的适配推进上游可能给这些人造成困扰。 非技术因素掺和进来之后,就没那么简单了;何况这个团队看下来,实力比龙芯要强一些。 毕竟从 0 开始构建生态的路,他们走得比龙芯还早许多。
剩下的唯一选择就是龙架构了, 尽管它有不为外人所知的秘密,有说不清道不明的过往,有内耗的原生家庭。 它能活下来甚至长大,就是保留了可能性的火种, 更是为自从 RMS 那台上网本以来就未曾被世人忘却的反霸权、反垄断、自由软件理想,保留了实现的希望。
Flags for 2023
回归现实,不乐观也不悲观地审视自己和未来,希望这次立下的 flag 达成率能超过今年的 50% 就是胜利。
- 从龙架构的实质开发工作中抽身而出,转变为更纯粹的沟通、赋能、影响者的角色。
实质开发工作,指类似日常(本职)编码工作,即那些大体上可以用“实现需求”或“解决问题”一类字眼完全描述的,以代码在某时间节点前成功进入上游且不引入缺陷为目标的编码工作。比方说做 Gentoo 的龙架构测试不属于此,因为没有时间节点催着;但希望 LLD port 能进入 LLVM 16 因而努力补测试(截至本文发布还没补完)、响应 code review 就属于了。
这种工作由于加上了时间节点,本质上已经脱离了业余爱好的范畴,持续做这种工作不啻打白工,对本职工作和被它挤占的原先的业余爱好都是巨大损害。我已经三年没正经写 Rust 了。
- 作为未来一两年在龙架构上最后的全情投入,把 咱龙了吗?/AREWELOONGYET?和 LARVa 两个项目冲过 PoC 阶段,最好还能物色到后继贡献者。
作为一个有明确(商业)实体支撑的架构,龙架构是否能长期商业成功, 最终还是取决于它背后的人们有没有真心想大家都来用,团结一切可团结的力量。
在社区运营领域,龙芯公司自身水土不服的现状预计短期内也不会有改观,因此社区要行动填补缺位; 在“指令集缘政治”领域,客观现实是 RISC-V 在全球范围至少不会溃败, 因而社区能做的就是不管龙芯公司怎么想、怎么做,都将 RISC-V 与龙架构捆绑, 至少证明捆绑的可行性。 这样一来 RISC-V 社区将获得高性能生产级硬件,龙架构将获得新销售渠道进而得以增长。
- 重新将家庭数据中心上线,评估是否有必要换一个地方住,如果有的话就这么做。
先前选择搬来世博周边地区住,主要为了方便社交,以及距离梅奔比较近,方便看演唱会的考虑。 很不幸,搬来半年就疫情了。 后边留在这一片主要都是因为街道、居委高于我预期的治理水平,以及超级便利的周边商圈。 但租金叠加并不明朗的 2023 宏观和个人经济形势,使得这个选择不见得仍然合适了。
此外,当前租住的房屋不是个人角度的最优选, 也造成先前购置的一机架的硬件闲置。不好拉线! 我有很多机器本可以接入各个上游的自动化测试农场的。
- 考个驾照。
原计划这是 2022 年 4 月应该做掉的事情,作为辉煌的 2022 所有目标都预期甚至超额完成之外的又一项胜利;显然并没有能做到。
我没有在大学期间学车,主要是出于对彼时驾校腐败现象的抗议,对缓解城市私家车问题的个人绵薄之力,当然还有对自己未来财力的预期。 但当年担心的问题很多在当下已经缓解,那么驾驶作为一项生活技能便一下子变得非常有用了。
- 解决掉至少一个今年遗留未解决的长期业务遗憾,如果还有机会这么做的话。
- 敦促自己每月写一篇博客,尽量每月一次直播。
- 仍然要访 10 座城市,吃 10 种美食,走 10 条巷子。
考虑到我也是 Linux 上游社区一员了,防疫政策也放开了,机票也便宜了; 那么如果 LPC 2023 举办时间地点合适的话,还是值得去一去。 所以把“国内城市”的限定语去掉了,这样比较容易达成目标 😎
- 保持不 🐑。
神奇般地,防疫政策大开大合的这一年,尤其在放开之后,朋友圈和部门不夸张地说 80% 都 🐑 了,我居然截至目前还坚挺着。 希望明年也别体验免费 Omicron 套餐 ;-)
- 关于脱虚向实,能维持一个有指导意义的纸质 TODO list 至少 3 个月就成功了。
同很多人一样,我的近三年也像是被 SARS-CoV-2 静止化了一样。 所幸,心理年龄也随着一起,没有过度衰老。 最近很多人在呼吁放开节日的烟花爆竹管制,可能是希望一个仪式来为生活句读; 空气污染之外,这句读的需求自然是合理且需要的。
希望同志们朋友们也都走出这一年,走出舒适圈,让我们在春暖花开之时再度遇见。
2022-12-31 18:38
– WANG “xen0n” Xuerui 于世博园周边地区