继 Rimworld 之后,我又开始沉迷群星,这个周末保持着每天八小时的高强度游玩,不停的造建筑拿星球攀科研,跟女朋友讲解自己的宏观思路,遇到新奇的事件还会解说一遍。但是我一直有个困惑:前期都玩的挺好的,但是一旦跟别的国家碰上,开始外交和战争之后我就糊了,经常在各种操作之后导致自己被 10 倍以上战力的电脑玩家推平。

这些困惑随着新游戏的激动一并倾诉给了女朋友,她非常精准地指出了原因:“你就是只会种田!” 说完还列举了一大堆例子:玩饥荒只会建家种菜造肉丸,打 BOSS 打不过了就弃坑;玩 Rimword 只会造家搞大基地,开和平建设觉得后期没意思,难度稍微高一点就直呼打不过,弃坑;玩异星工厂也是,balabala。心里不服气很想反驳,但是又觉得她说的很有道理。我这个老玩家打的游戏已经从 CS,红警,星际,英雄联盟,怪物猎人世界一路退化到种田了,这么说并不过分。

跳出来想想,不只是游戏,我的工作也快退化成种田了。每周跟领导汇报种田的进度,每天跟同事画不同的规划格,时不时的把已经规划好的地格拆了重建,周报上就又多了不少 “重构” 开头的内容。其实有点对不住种田——因为我总是在规划,却很少付诸于行动让它变成现实,总是寄希望于别人或者以后的自己会来实现它,可问题在于别人并不乐意要帮你种田,而以后的自己已经在画新的田了。回想一下自己在青云的这些年,提出过多少构想,也多次主动挑担要去执行,结果往往是半途而废。前几年总是会觉得上面不重視,资源不足,团队不配合之类的,现在想来可能是自己的问题更多些。再想想历任班主任一再批评过的过于浮躁,好高骛远,不禁有些难受,这些毛病可能是永远也改不掉了。

立党在 https://cha.fan 上问了这样一个问题:“聊聊你的创业想法:你希望创造一家什么样的创业公司?”,我的回答是:

我个人的创业梦想是这样的:

  • 开源:源代码完全开放,开源运作(比如说每月公布自己的盈利报表)
  • 有用:能够提高而非降低用户的生产力,从而提升整个社会的效益
  • 盈利:能够不依赖外部投资,有正向的现金流

既然说了是梦想,就是认识到自己目前没有实现它的能力。假如有一天,我真的成为了全职开源开发者,我真的能做好吗?会不会跟现在一样,挖了一个又一个的坑,却从来不去实现细节上的考虑,复杂的兼容这样真正困难的地方?我主导的项目会受欢迎吗,真的对用户有用吗,真的能如我梦想的一样提升整个社会的效益吗?一边这样想着踌躇不敢向前,一边却又不甘于现实,想扬名立万,想一朝成名天下知。夹在中间的我时而自认菜鸡一文不值,时而骄傲狂放天下唯我,看起来也是理所应当。

最后还是女朋友说得好:“想那么多干嘛,你玩得开心就好。”我琢磨了一下:我打游戏开心吗?是开心的。我写代码开心吗?是开心的。除了最后结局不满意之外,中间的过程都很好:打游戏被电脑吊打了,写的项目不温不火最后凉了。被电脑打崩了就选好角色,修改策略重开一个档,项目凉了就调整思路,重头再来,好像也没什么大不了的,是我自己矫情了。

有这功夫乱想还是赶紧开下一把吧,失败的多了,或许就知道怎么成功了。


在做

这周基本上搭好了数据迁移服务的架子,完成了 CopyDir 任务的分发和执行。下周会修复一些细节的问题,然后整理一下代码,这样后端这边基本上能够如期完成了。前端这边在尝试 Flutter 2 的方案,一直在跟 Dart 打架,他的体会是:“在 web 端几行代码解决的事情,在 flutter 里全部要自己实现”。

现在我们的前端看起来是这样的:

丑到爆炸,不过值得期待。

在看

  • 推友推荐的一篇文章,分享基于 Server-Sent Events 做实时日志的经验:Realtime Log Streaming with FastAPI and Server-Sent Events
  • Nushell,用 Rust 开发的 Shell,思路是将纯文本转化为结构化数据,目前来看迁移成本会很高
  • HypercablePlausible 的仿制品 (based on ruby)。其实我原本很排斥这种事情,认为这不利于开源项目的发展,但是 Plausible 作者曾经写过的话说服了我:这样的事正是开源的价值所在,因为项目开源,所以任何人都可以从你的项目中分叉,这就要求项目维护者必须持续维护,坚持不作恶,保证自己的这个分叉功能和体验上的领先,否则就有可能被竞争对手占领市场。
  • Golang 社区的开发者调查结果出来了,88% 的同学需要范型,而 58% 的同学想要更好的错误处理(除了函数式编程,我全选了)
  • 三星的 KVSSD 很有意思,SSD 原生支持 KV 接口感觉挺有想象空间

下周再见!