2023 年回顾

查看记录上一篇文章还是 10 月份在布鲁塞尔参加 EuroRust 2023 第一天的记录, 会议第二天结束是一个晚宴, 有几个餐车在露台上为大家提供肉丸、Taco 之类的食物。 翻了翻手机,也没有什么照片。记得当天和几个华为的同事聊了蛮多, 一位意大利的小哥当时休假要去阿曼, 把在场的几个人都惊掉了下巴。

然后在布鲁塞尔又待了几天, 记得当时准备去看瑞典队和比利时队的欧洲杯预选赛, 后来又懒得出门没有去, 当晚因为枪击事件也取消了比赛, 也打消了在欧洲去看一场球赛的念头。而后飞到了慕尼黑, 一直准备 Bazelcon 的演讲。 后来一直没有更新的原因也就是因为要准备这个演讲和 Demo , 心理压力很大所以没有心情写任何的东西。

参加 Bazelcon 并且用英文演讲确实是今年一个值得纪念的事情。 首先今年投递了不少会议的 Topic ,但是只有这一个被接受了。 可能也只有 Google 比较重视 Monorepo , 所以这个议题能够引起他们的注意。 如果继续沿着 Monorepo 这个路径发展, mega 得到关注可能会比较少,现在从整体的策略上猜测, Google 很难在 AI 之外去推动什么。

这次欧洲之行的一个收获是说英语的信心。 之前对于自己这种野路子的英语和计算机其实心理一直都存在一些障碍,但是这次在欧洲演讲和交流好了很多,可能是年龄大了脸皮也厚了很多, 交流和演讲的时候主打一个 “ 只要我不尴尬,尴尬的就是老外 ”, 心理也就坦然了很多。当然这次演讲的时候还是很紧张, 到最后手抖敲错了几个字母, Demo 的一部分失败了。但是还能现场说两句引起大家笑场的话,感觉上跨过了讲英语的这个坎。

今年最大的收货还是 mega 今年取得了非常大的进展, 不仅验证了可行性, 还基本完成了功能。 在 Mac M1 笔记本上能实现存储 3000 多万个文件的单一代码仓库存储, 总共使用了 80G 的 PostgreSQL 数据库空间。 对于普通 Git 仓库实现这么大的存储是基本不可能的。 当然今年没有大肆 mega 进行公开宣传, 对于 mega 的技术探索、方案和目标相对保留。 获取真实用户的反馈是下一阶段发展的重点, 2024 要通过宣传找到种子用户才能让 mega 获得更多的机会。

当然 mega 还是存在两个问题,争取在春节前解决掉,正式发布 0.1.0 版本为这一年的努力画上一个圆满的句号。 当前对 Pack 文件的解析还是存在性能问题, 由于处理 Git Pack 文件时不能像 Git 那样生成索引, 而是要直接直接解析出对象进行保存,造成了需要消耗内存来解决 Delta 对象的问题,当前版本还没有控制好内存的使用, 造成解析大一些仓库的 Pack 文件时内存占用过大,引起系统的 OOM ,之前测试都还顺利的原因是笔记本的内存都有 64G 没有意识到这个问题。 要不是 12 月份病了两次,现在可能已经有些进展了, 这个是版本发布前最需要解决的问题。

另外一个需要解决的问题是今年在 P2P 上实现的功能没有进行完整的测试, 而且对于 P2P 目前有一个场景是有明确需求的,就是为 AI 的基础数据或者模型提供版本管理工具。当前 Git LFS 在这个方向上实现的并不好, 大多数是把压力传递给 CDN 或者对象存储服务, 有非常大的成本屏障, 而且对于个人开发者使用在体验上也存在瓶颈。 希望这部分能在 0.1.0 版本前有实质的进展, 希望成为获取用户的关键特性。

今年在 RustyVault 的支持下,在 Git 客户端实现了一些进展, 但是也看到了很多问题。 如果 mega 继续发展, 在不重写 Git 的情况下,只能通过 Filter 来现实一些功能, 降低后续在服务端实现更多功能的难度, 也许终究会走向实现一个独立的 Git 路上, 从产品的角度上这不是一个好的选择, 先尽力用 Fitler 去做。

2023 年其实还启动了 rkosrk8s 两个使用 Rust 的技术探索项目, 有一些进展但是还没有实现既定的目标, 需要在 2024 年花费更多的精力把项目向前推动。 今年还计划借 mega 项目, 写一个 Git 底层原理到上层逻辑的书籍,但是也没有更加实质的进展, 叠加在一起 2024 年要做的事情还有更多。

不管是收获还是遗憾, 2023 年都将要过去, 对比 2022 、 2021 等前几年至少取得了不错的收获。 总结下来,这几年的工作都是在一些开源项目的运营工作, 一个是外界对自己的印象可能不是那么技术, 另一个方面是这些年运作的项目都是其他人主导的, 虽然自己有很多技术和产品的思路, 但是受限于位置很难去实现想法。 mega 是一个完全按照自己思路去实现的开源项目, 对它的期望也更高更加在意, 期望更加努力的去推动它的发展。 当然 2024 年 4 月是我在华为二进宫后第一个合同期的结束, 当人到中年的时候, 不禁会思考公司是不是给我续签合同。 如果是再年轻 10 年, 可能自己都不会回到华为待这么久。