2026-03-16 00:03:00
最近一周基本都在和肾结石作斗争了,记录一下过程,有想体验的小伙伴可以来看看。
这次肾结石的前两天我一直以为是深蹲拉伤,主要原因是我对肾的位置理解一直是错的。我一直以为肾是在下腹部的位置,其实后背部肋骨下方就是了。之前看人体器官图几乎从来没看过背面,但凡看过就能发现后腰从上到下只有一个泌尿系统,但凡后腰疼大概率是肾的问题。

上周五的时候站着站着毫无征兆的腰就感觉和被扎了一下疼起来,当时就直接倒在床上吱哇乱叫了,从肋骨下方一直到骨盆半个腹部都开始抽搐起来,时间持续了大概五分钟才慢慢消失。现在想来应该是肾结石刚脱落,一下子卡到输尿管了,没卡住一会儿又掉回到肾里了。
好了之后发现一旦坐起来或者走一会儿路就会再这么来一下,躺着不动就没事,人就不敢动了,就按腰部拉伤来处理了。静养了一天感觉还不错,周日的时候觉得差不多了,就开始不怎么躺着了,结果一下来了个大的。
这次是坐着的时候感觉有点不舒服就躺下去了,然后疼痛不断升级,半个腹部感觉都拧在一起,接下来半边身子都麻了,舌头都动不了只能靠嗓子发声,然后另半边身子也开始发麻,眼睛里都是星星,眼看整个人就动不了了。而且这次完全没有消退的迹象,第一波刚好了一点还没缓过来第二波就又来了,每次都是半个腹部扭在一起全身发麻,一波一波的连绵不绝。我一度担心自己会不会半身不遂,疼的开始想生死的问题了,十来分钟后果断叫 120 把自己搬走了。
现在想起来应该是前几天活动比较少,肾结石都是刚卡到输尿管就掉下来了,周日活动多了一些彻底卡进输尿管掉不回去了,所以就一直疼下去不可能再恢复了。
我们这边是老小区,机动的救护车还比较多,感觉十分钟都没有救护车就到了,说一下你要去哪个医院就行,感觉和打车也差不多。
由于一开始我一直以为是锻炼拉伤,直接去了骨科,大夫觉得我疼的位置不太对转到了胸外科,胸外科拍了个 CT 大概两个小时出了结果,发现肋骨没问题,但是扫到了肾说是能看到有两个结石,于是把我转到了泌尿科。
由于我当时对肾的位置还有理解错误,还纳闷肋骨扫描怎么能扫到肾,想自己借着 AI 看 CT 结果,发现 CT 拍了 600 多张片子于是作罢。
泌尿科开了个腹部 CT 、血常规和尿常规,结果就是白血球高有炎症,尿红蛋白高有血尿,左侧输尿管卡了一个 6 毫米一个 4 毫米两块结石。由于 6 毫米是自然排出上限,大夫的建议是先等自然排出,一周后还有症状的话再看是超声波碎石还是微创手术取出来。
最后就是开了止疼药和消炎药,让我多喝水多蹦,疼的受不了就吃止疼药,一周后再看。我看有的疼痛等级指数介绍肾结石已经是最高级了,能和自然分娩坐一桌,想到可能还有一周整个人是崩溃的。当时都想直接去手术取出来了,不过想了想手术还是有创伤,理智战胜了冲动,还是打了针止痛回家了。
由于结石已经卡住了,不疼是不可能了,我发现蹦跶一阵疼痛会缓解一些,就只能在疼痛刚起来的时候赶快去蹦一阵,不然一旦疼劲上来就又动不了了。整个晚上基本上就是疼的时候就赶快去蹦,不疼了就闭眼躺一会儿,等再疼了再去蹦,最后到四点后才睡了一会儿,六点多疼起来就是循环继续。
这个过程中应该是结石划伤了输尿管伴随着炎症开始低烧,由于排尿管被堵住了明显感觉排尿偏少,而且肚子里有一大坨水,蹦的时候能感觉甩来甩去。
这样蹦了两天感觉疼痛点从肋骨慢慢往骨盆转移了,然后就不会那么疼了,但是还会有一波波的酸痛,应该是伤口被摩擦的感觉。蹦了两天后,基本也抬不起脚了,发烧和没睡觉的乏力感也上来了,后面两天一直在睡觉,等到这个周五的时候才基本不疼了,排尿也基本正常,肚子里也没一大坨水了。下周约个时间去医院再做一次 CT 看看结石是排出去了还是掉到膀胱里了,还有没有其余的没脱落的结石。
这次肾结石后立刻就老实了,我是从来没想到过可以这么疼。查了一些资料,主要原因应该还是喝水太少了,尿液沉积形成的。其他一些可能的诱因有含糖饮料可能会提升尿液浓度,可乐里的磷酸(有糖无糖都含有)会导致磷酸盐析出,茶叶里的草酸也会导致草酸盐析出。
所以想来普通的腰疼其实也有概率是肾结石排出的原因,只是没堵那么长时间,体积也没那么大。我现在看到可乐就开始腰疼,有想体验的小伙伴可以考虑可乐和浓茶当水喝,看看多久可以体验到这种感觉。
2026-01-27 23:23:51
看了下 DeepSeek OCR 2 的论文,以我二把刀的知识分析一下。
这次是一个视觉模型编码器架构上的创新,主流的视觉模型编码器的方式是把图片分成一个个小块,变成一个个 token,然后按照从左上到右下逐行扫描的顺序一个个输入给模型。这其实和现在的 LLM 工作原理很像,只不过 LLM 是一串文本的 token,这里是一个个图片块的 token。然后还是 attention 那套两两比较,计算出每个 token 之间的关联关系,这样就可以通过不同 token 之间 attention 的权重关系得出不同图像块之间的关联,模型也就理解了整个图片。
看上去这个思路很好,统一了图片和文本的处理方式,但是图片和文本有个显著的区别,文本可以看做是一个一维的表现形式,你从左到右按顺序读,文本的逻辑大概率也是按照这个方向展开的。但是图片是个二维的表现形式,图片的逻辑并不是按照从左上到右下,图片里可能有斜线有曲线甚至有螺旋线,还是按照从左上到右下拆成的一维顺序是不是最有效的?至少人类看图片是不遵循这个顺序的。
虽然通过位置编码的方式可以把位置信息也加入到 attention 的计算,但是主流的位置编码也是基于文本一维顺序做的,是不是能很好的对图片这种二维表现形式进行位置编码呢?
DeepSeek OCR 2 的架构创新就在这里,他们在编码器里附加了一个小型的 LLM 可以推理出图片之间各个块的因果关系,然后按照关联关系对 token 进行重排序。可以认为模型是按照逻辑顺序去看图片而不是无脑的从左上到右下,这个逻辑顺序也会更接近人看图片的顺序。
性能提升,开销下降这属于 DeepSeek 的常规操作这里就不提了。我在想有没有可能视觉模型才是能力更强的模型的方向?
论文里提到这个模型主要作用还是读文档来生成语料,给 V 系列的语言模型用,但有没有可能把 OCR 系列和 V 系列直接融合。一方面图片里其实包含了文本里无法体现的内容信息,另一方面图片还比文本更节约 token。
按照 DeepSeek 一贯喜欢融合模型的作风,我觉得可以期待一下 V4 是个有初步视觉能力的模型了。
2026-01-12 02:49:00
最近迷上了补看电视剧,又看了《人民的名义》和《亮剑》,但是由于先看的《潜伏》难免会做一些对比。看了后两部更显的《潜伏》的节奏紧凑,台词没有废话,所有的演员都处在很高的水平,编剧也是自始至终的优秀。
《人民的名义》的节奏就有点拖,一个事情好几集都绕着转,换成《潜伏》一集可能三四个重要事情都过去了。里面老演员的演技还是不错的,年轻演员感觉都在用力过猛,两边一旦同场景搭戏就让人看着很尴尬。
看《亮剑》里的平安县争夺战拍出了看三大战役的感觉,还是很过瘾的,不过后面的剧情就急转直下,给人一种烂尾的既视感。
另外这两部剧很多时候都是靠喊台词来表现人物特点,《潜伏》在这方面就很收敛,更多是通过表情和动作来塑造人物。
引体向上现在站在台阶上不用跳可以拉上去了,不过全程还是拉不上去。
最近做动作膝盖和肩关节的弹响越来越明显了,看了些视频一方面要加强后侧肌肉的训练,还要专门练习一下肩胛骨的活动度。
睡眠对力量训练的影响还是很大的,稍微一熬夜大重量拉起来就很费劲了。研究一下说是力量除了和肌肉相关也和神经募集能力相关,如果睡眠不足会导致神经无法募集足够的肌肉来发力,从这个角度看健身可能比写代码更费脑子。
Kubernetes 的 managedFileds 在 Informer 缓存的时候可以删掉来节省 client 端的内存占用。我之前一直以为这时候再根据缓存做对象的 Update 操作会出问题,经同事指点其实 APIServer 会在 Update 和 Patch 时忽略没有 managedFileds 的情况,具体可以参考 Server Side Apply: clearing managedFields
之前为了标记生成的 Go 二进制对应的是代码的哪个 commit 会在 build 的时候把这个参数传进去,但是 Go 在 1.18 之后的 runtime 里其实默认就带了 VCS 的相关信息,只需要使用 go version -m xxx 就可以从二进制文件里直接获取构建信息了,更多参考 Go 1.18 debug/buildinfo features
发现了两个适合让 codex 来做的任务:
最近在做数字骨灰盒时发现其实大部分厂商都提供了视频理解的 LLM,但是 GLM 和 Qwen 只支持 public_url 方式传入视频,对非公开视频不是很友好。而 Gemini 是支持上传文件后再引用文件 ID 的,国内貌似只有 DouBao 支持类似的功能。
2025-12-29 16:25:00
居家办公三周后莫名其妙的得了痔疮,前几天都只能躺着了。查了下资料说现代人可能是因为长时间坐马桶导致的,可是我并没有。稍微好一些之后发现只要坐平时办工坐的椅子就会疼,仔细观察发现这个椅子由于长时间胶皮老化中间凹下去了,所以做起来就类似一个马桶两边高中间低,换成个平板椅子就好多了。
对着上周看的 Performance Hints 里的一条unnecessarily-nested-maps,拿着锤子找钉子,去 Prometheus 里看看有没有什么蹭 PR 的机会。最终发现这个优化方法还是有很多细节要考虑的,并不是完全没有副作用,尤其在 Prometheus 的场景里有时候完全不适用还会导致性能严重下降,之后可能会单写一个博客来说明。不过好在 Prometheus 里还有一处是完美适合这个优化的,提交了一个 PR perf(promql): update matchedSigs to a flat map reduce memory by 97% for GROUP_LEFT,能优化一个常见场景 13% 的 CPU 和 97% 的内存分配。
看了How uv got so fast,和第一直觉认为的 Rust 比 Python 快,所以 uv 才能这么快不同,uv 的快主要还是来自实现架构层面的选择。一方面是 Python 的包管理出了更高效的标准,另一方面 uv 选择放弃了大量的历史兼容性,专注于标准路径的优化。此外还有很多语言无关的优化,比如并行下载,硬链接等等其实是其他语言的依赖管理都有的功能,只是 pip 的历史包袱太大了,一直都没有这方面的优化。
在逛 Prometheus Issues 是发现一个 WIP: tsdb: persist series metadata to Parquet files 需要找时间看一下 Parquet 是个什么存储。
周末和孩子去了城市农场,一开始以为是个什么网红景点,去了后发现是个正经的科研机构,中国奶牛的育种就是从这里开始的。里面都是些看上去六七十年代的老房子,有科研人员专门负责讲解,体验还是很不错的。另一方面想到自己小时候没有盒装奶还都是牧场每天早上和报纸一块送的鲜牛奶要拿回家去煮。
里面有从刚出生到三四岁的奶牛,可以自己去喂,小孩抱着草料来回跑喂了快一个小时。

2025-12-22 04:43:00
最近社区的 PR 越来越多,由于 AI 的增强,每个 PR 膨胀的也很厉害,Review 的难度也越来越大。一直以来我对 PR 的合并手都比较松,现在合并一个新功能不强制有 proposal,不强制有测试,文档有时候甚至都是我后来再写的。如果从教条的开源社区规范来看,这个项目的治理,社区,文档都是乱哄哄的。代码债也到处都是,我最近初步梳理了几个文件就费了好大的劲。如果不是借助 AI 好多重构的活会更难。
不过从我的价值倾向来看,相比规范性,我更注重的还是一个项目是不是真的有用。尽管不规范会带来长期的隐患,但是保持这个项目一直有用就有机会等到后人有智慧来解决。
最近在反思之前用 AI 的一些方法,在习惯了自己不动手一把梭后,感觉自己阅读代码和复杂内容的耐心也下降了。或许以后确实 AI 可以做所有脑力劳动了,那么脑力劳动可能就变成现在的健身房了,未来人类需要和现在刻意锻炼肌肉一样才能保证脑力不流失。
happy 一个能在手机上控制开发机上 codex 和 claude code 的工具,这样不在电脑前也能抽 AI 干活了。
10kg 哑铃片到货,视觉上还是有些吓人。

全程的引体向上还是做不了,不过肩胛骨旋转的感觉找到一些了,离心可以做全程了。
连续三周上重量后,这周五的时候明显感觉硬拉拉不动了,下周打算做个减载周。
OpenShift Roadmap OpenShift 更新了未来一年的 RoadMap,公司里如果还有上了年纪的人可能会关心。
A new hash table 是 Valkey 的一个 hash table 实现变种,主要目的是为了节省内存体积和内存访问次数。这种把数组和链表组合的思路能够兼顾顺序访问的效率和链表无限扩容还是挺有意思。不过后来又看了下其他的 hash table 实现,发现这好像就是 Golang 在使用 Swiss Table 之前的实现。
kubevirtbmc 一个对接 KubeVirt 和传统物理机 BMC 协议的工具,能把 IPMI 和 Redfish API 的调用转换成 KubeVirt 的 API。这样用就能复用之前管理物理机的工具和流程来管理 KubeVirt 的虚拟机了。
Performance Hints Jeff Dean 和另一个 Google 初创时的工程师 Sanjay Ghemawat 写的性能优化手册。和大部分性能优化都是先 profile 找到热点再优化不同,这个手册介绍的主要是火焰图上看不到热点的时候如何怎么榨取性能。 因此里面介绍的全都是微操,针对 common case 做 fast path 已经算是最大块的优化方法了。里面有不少在 search 和 tensorflow 上做微操的例子,看上去还是很过瘾的。
海底捞的海螺片和鞭炮笋很好吃,推荐尝试,新出的猪肉卷就不要试了。另一个感叹是海底捞现在已经变成了个家庭聚餐的地方,满屋子都是过生日的,而在几年前我一直以为这是个工作或者同学聚餐的地方。
中午逛公园走了条平时没走的小路,上了段城墙,然后发现了传说中的“蓟门烟树”,我一直以为是什么古树,原来是个石碑,看介绍是乾隆题的字。

去了平西府地铁站新开的小站公园,公园用的一个人物形象名字是“下腰女孩(Tireless Girl)”。虽然我能勉强搞明白下腰和 Tireless 的关系,但这个翻译实在是太奇怪了。

2025-12-15 15:46:00
这是第二周远程办公,专注度相比上一周出现了很大起伏。上一周基本上能从早上起来一直拉满到晚上,这周注意力有所下降。
想了一下上周社区的问题比较多,基本是问题驱动的,自己不需要去考虑要做什么。这周问题少了空下来很多时候就没想法了。还是需要开启 Plan 模式,多做一些规划,给自己分配一些明确的任务。
这周花了些时间把卓叔增重和凯圣王Kaizen_Wang 的动作视频看了一遍。随着力量增加,一些之前看不懂的动作细节和找不到的发力感,现在渐渐能体会到了。再仔细看一遍争取每次动作都有进步。
这周做深蹲和硬拉已经能把单只 18kg 的哑铃片加满了,然后发现个问题就是这个重量做深蹲已经不太能靠手臂的力量把哑铃撑到肩上了,危险系数陡增。深蹲还能考虑换单腿,硬拉还是要加重量了。趁着双十二 pdd 了四个 10kg 哑铃片,估计能再撑几个月了。
我一直有个想法是把看到的所有东西都记录下来,然后借助 AI 的能力能不断检索一个人,甚至重建一个人。之前我的想法是感觉这个事情只能放在眼睛上来做,但是最近想法有变化,发现其实只要在我们日常接触的主要屏幕,比如电脑和手机上做记录也可以达到接近的效果。于是开始仔细的去看几个开源项目:DayFlow, ScreenPipe 和 OpenRecall。
这个过程中发现了很多我之前的知识盲区。一个是这里面有的项目是通过截图去记录屏幕信息,但是会通过视频的形式进行存储,原因是视频的压缩率会更高一些。我尝试了一下 5s 的频率截取了 120 张图片,用 zip 普通压缩一下还是有将近 400M,而用 FFmpeg 转成 1FPS 的视频后只需要 3.4M。
第二个是我才注意到 Gemini 是有视频模态的,这应该是目前主流 AI 厂商里少有的具有视频理解能力的。
这周内部同事分享了 ZCF 的六阶段工作流,我比较感兴趣它的实现方式。一般用 coding agent 使用 agent.md 其实不太好控制工作流,因为有的时候是写功能,有的时候是排查故障,有的时候是重构,不同的目标使用的工作流其实是不一样的。而 agent.md 里即使根据各种情况写了工作流,也还需要 AI 工具能自动分析出是哪种情况,并且多轮对话的时候很容易出现不一致的情况。ZCF 是通过 command 来实现,需要用户显式去说明用哪个工作流,感觉上不是太智能,但其实实际中用起来一致性应该会更好。
这周还发现 OVS+OVN Con 2025 的视频和 Slide 已经上传了,下周找时间过一下。粗看一个感兴趣的议题 Deprecating Code 看样子 OVS 要移除对 Windows 的支持了,原因是没人知道该怎么维护,甚至没人知道是不是还能正常工作,当然从我们团队同事之前的经验看在最新的 Windows 上已经不太正常了,这样我也可以顺带着清理一波代码了。
这周看了《疯狂动物城 2》,还是标准的迪士尼套路,没有啥太多的惊喜。和年初的《哪吒之魔童闹海》比,还是能看出明显的文化区别。动物城目标群体是全球用户,所以选了没啥文化背景理解需求的动物做主角,而哪吒明显是个中国文化故事,甚至能看到对《哪吒闹海》和《十万个冷笑话》的致敬。动物城是个中规中矩的工业品,而哪吒是有着很鲜明作者特色和作者表达的作品。我对动物城票房数字唯一的理解就是这一年除了哪吒就再也没有一个水平线上的电影作品了。
最近迷上了看《潜伏》的解读,主要看了 B 站 Up 弥先生碎碎念的《细讲潜伏》系列。之前只是觉得台词好,演技好,解读后才发现编剧是多么的厉害,历史背景有多么复杂。