codedump的电报频道 – Telegram
codedump的电报频道
4.78K subscribers
174 photos
4 videos
3 files
670 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#系统设计
Cloudflare昨晚故障的分析:《Cloudflare outage on November 18, 2025》。

很多人喷生产代码不应该写unwrap,但是有一种场景是:这时候传过来的例如配置文件就是不对,你出错也好、panic也罢,都不能正确处理。与其这样,不如panic报错,我并不认为所有的错误都能被处理,处理的方式之一就是把错误暴露出来,这样才便于问题的修复。

与之相对应的,一个配置文件发布新版本的时候没有进行灰度测试,导致如此大的影响,这才是更大的问题。
👍233
Raft_Consensus_For_Humans.pdf
12 MB
#共识算法
#Raft

NotebookLLM生成的Raft可视化文档
👍10
#杂
软件发布中的"金丝雀测试"(Canary Testing),这个术语的命名可以追溯到19世纪末到20世纪初的英国煤矿工业。在煤矿中,矿工会随身携带金丝雀下井,这是一种对有毒气体特别敏感的小鸟。当矿井中出现有毒气体时,金丝雀会先于人类出现中毒症状(昏倒或死亡),于是金丝雀的状况成为矿工安全的"早期预警系统"。

在软件开发领域,"金丝雀测试"借用了这个概念:将新版本先部署到一小部分用户(金丝雀),监测这小部分用户的系统表现和错误率,如果出现问题,只影响少量用户,可以快速回滚,确认新版本稳定后再全面推广。
👍11
#开源项目
#系统编程
#Rust

教学项目NanoCore,采用Rust编写的8位CPU模拟器,用来理解指令集设计、CPU架构原理等。
14
#杂
我从1998年还在上高中的时候就开始学习编程,从小霸王学习机上的QBasic编程起步,大学后才开始学的C语言。前几年回老家,把我当年学编程买的教材带了回来,见附图。

在我刚开始学习编程的那个年代,只有一些简单的教材。在我那个小县城能买到编程书就更难了,我当时是去邮购的(“邮购”这个行为就有很强的年代感)。

所以在一开始,我学习编程就是“孤独”的:没有人指点、没有人能回答我的疑问。到了后来,有互联网之后,稍微好了一点:可以在网络上搜索问题,可以通过在论坛BBS之类的地方发帖提问(论坛、BBS这又是一个有年代感的事物)。

来到AI时代,现在我有不懂的直接问AI,AI对我来说既是老师、也是同学可以陪着我学习,如果当年有类似的东西应该就不会有那些“孤独感”了。有了AI,我甚至大部分时候都不会通过传统的买书的方式来学习新的编程知识了,另一个原因是出版远远赶不上现在新技术迭代的速度。

总而言之,我还是很羡慕现在学习编程的朋友的:资源足够充沛、答案也不再难获得,更看重个人的好奇心、提问题的能力。
27👍4🤔2
#分布式
《图解分布式系统》初稿已经完成,我逐步进行一些精修和给一些朋友阅读给反馈。现在一个做法就是把文档拆成单章节发给AI看,让它给一些意见,这里有一个tips:一定不能说是自己写的,可以说是朋友等,这样避免AI讨好你尽说一些好话,目前看AI的评价还算可以。

没有太大意外的话,春节后正式在博客上逐章对外公开。
👏46👍121
#世界观
Notion创始人Ivan Zhao的文章:《Steam, Steel, and Infinite Minds》。
里面这句话印象深刻:
This future is often difficult to predict because it always disguises itself as the past. (未来往往难以预测,因为它总是伪装成过去。)

所以多读一些历史,是有好处的。
👏3
#人工智能
以前学开源项目的时候,很喜欢看源码分析类文章,我当时会以“项目名称 源码分析”之类的关键词来搜索这类文章。

遗憾的是,源码分析类的文章大都写得不太好,最常见的问题是不讲原理、没有示意图、大段大段的贴代码。

现在有了deepwiki,这里面对开源项目的分析完胜我之前看过的95%以上的源码分析类文章,结合代码马上就能对项目有初步的了解,极大提升了入门项目的效率。
17🤝1
#人工智能
在2025年的最后一天,我第一次(几乎)完全依赖AI,提交了一个开源项目的pr,这个pr相对还是比较复杂的。

整个过程大体是:我提出问题和改进方向,AI负责实现(包括代码、对应的用例和实现文档)。

过程中一开始有编译错误,我审查并进行了一些修复;用例一开始也有跑不通的情况,但是我继续跟AI交流,具体指出哪个用例不过和编译出错,AI后续都给修复了。

最终产出:优化的代码、用例以及对应的文档。感觉还是挺丝滑的,就是使用token消耗远超过去提问的数量。

我的体验:一步到位马上能给到最终的效果,这不太可能。但是如果碳基开发者有经验,可以迅速定位到问题,再反馈给AI修改,提出的问题越具体越好,效果都能不错。

在答案不再稀缺的时候,如何问出好问题,以及解决问题时的品位,变成了更稀缺的能力,而这又依赖过往的经验。比如就这个pr而言,我怎么找到这个方向可以优化就依赖我阅读代码后的直觉。至于品位,同样一个修改的方向,可能有不同的多种实现,但是哪个更优雅就是品位问题。

我采用的是国产的GLM4.7模型,在zed IDE中编码。之前没有体验过其它代码模型,就这次体验而言,我觉得GLM不错,当晚就付费订阅了。
👍1
#投资
今年是全仓小鹏汽车后的第一个完整年份。这一年的操作,除了中间瞎折腾企图做一些波段以外,中间还分别加仓了两次。在11.11这一天,小鹏科技日之后股价暴涨,今年的收益也来到最高的106%,随后迅速回落,短短一个月时间回撤了大几十的收益,最终以45%结束了2025年。

尽管股价波动很大,绝大部分时间我都是很淡定的,吃得香睡得着。另外今年投资心得上,也确定了一个新的操作原则:绝对不做任何本质上是在“预测短期股价”的操作,包括但不限于做波段。

如果自认为可以预测股价,并且运气好获得正向反馈,难免不会进入“路径依赖”,最后“盈亏同源”,所以我干脆斩断这条路线,完全专注在企业自身的发展上。

回到小鹏汽车,今年进步很大,我对它一开始的判断(全栈自研、将智驾上积累的芯片、AI等能力溢出到机器人、飞行汽车上等)正在逐渐兑现,海外销量也有很大进展。年底两个月的销量出现波动,多少让我有点担心。
👍27😁43
#世界观

上面提到了“路径依赖”和“盈亏同源”,我想就这两个词继续做一些讨论。

所谓“路径依赖”是指:一旦做出了某种选择,就好比走上了一条不归路,惯性的力量会使这一选择不断自我强化,让你很难走出去。简单说就是:过去的决定,限制了现在的选择。

举例:
* 键盘排列(QWERTY): 当初为了防止机械打字机卡键而设计的低效排列,因为大家习惯了,即便技术进步了也改不过来。
* 马屁股决定火车宽: 现代铁轨的标准宽度,沿袭了马车的宽度,而马车的宽度又取决于两匹马屁股的宽度。

换成企业经营上,我们会时常看到,某些在上一个时代领先的公司,在进入一个新的时代环境之后,由于旧有的业务仍然占企业营收的大头,导致掉头到新方向内部阻力很大,因为这会触动很多既得利益者的蛋糕,最终落后于新的时代,这里面的例子数不胜数。

回到我提到的:不做任何预测短期股价的事情,也是为了摆脱这种路径依赖。一旦某几次侥幸预测对了股价的涨跌,后面继续以这个方式交易股票,迟早会把赚回来的钱还回去,这就是所谓的“盈亏同源”,可以理解为:让你获利的逻辑/策略/性格,往往也是让你亏钱的原因。换成对对人性的理解,某个人身上的某个特质,即可能在某些场景下给他带来好处,也可能在另一些场景下带来坏处。明白了这一点,很多时候不必纠结于绝对意义上的“缺点”和“优点”,看场景罢了。

我在二级市场投资里学到的另一句话就是“做正确的事情”,对照上面的理解,所谓“正确”的事情,首先就要剥离掉“路径依赖”,即:暂时通过波段操作带来的盈利,不意味着这件事情本身就是对的。

1993年,提出路径依赖理论的Douglass North获得当年的诺贝尔经济学奖。
🐳10👍31
#开源项目
把常用的编辑器、终端的字体全部换成了 Maple Mono,目前感觉良好。
4👍1
#人工智能
左边代码,右边AI问答窗口,直接提问代码流程细节,稳的一逼,完全可以一边看代码一边提问细节。以前还需要问有没有文档,找作者问细节,现在不需要了。
deepwiki文档相对是静态的,你能看个大体的架构,但是看到很具体的细节的时候,就需要跟AI工具提问题来辅助了,两者相互结合用,不矛盾。
4