2025-12-14 23:25:30
![]()
这是猫鱼周刊的第 86 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
这周因为很多时间花在 Glean 的开发上,看的东西不多,所以周刊的内容相对也少一点。
早就有闻可以通过 Figma 把设计稿通过 MCP 让 AI 写高保真代码,这篇文章算是走通了整个流程,并且给出了实验的结果:在传统 XML 项目中无法完美还原 UI,但是作为自动化的辅助有一定的价值;如果需要实现完全的自动化,需要设计侧和开发侧配合使用一定的规范。
我觉得这跟我之前提到过的「AI 友好」的概念很类似,就是尽量使用结构化、规范的方式去跟 AI 沟通,尽量使用业界通用的做法(例如一些软件工程的实践),注重文档工作,这样能够使 AI 的表现更加符合预期。写到这里我觉得比起 AI 这更像是管理学的延伸,毕竟所谓「软件工程」的很多实践,设计之初就是为了让水平参差不齐的工程师输出标准化、相对优质的结果。
科技界的两大 Linus 的史诗级会面!说是装机,更多是一个访谈,整个视频时长很长,就挑我印象比较深刻的一个点谈谈:Linus Torvalds 提到,他只会使用 ECC 内存,因为他需要更高的稳定性,如果出现什么 bug,他不希望在硬件上找问题。
我觉得这是抽象思维的体现。他主要做内核的开发,在这种抽象下,他的期望是硬件会正常工作,如果出问题,一定是在内核上。试想如果你遇到一个 bug,查了半天软件的实现,结果确实硬件掉了链子,那真的很蛋疼。
这一定程度上也反映出为什么感觉「差不多」的硬件,企业级的就是要比消费级的卖得贵,这额外付出的成本就是在稳定性上。这个原则其实也很适用于搞 Homelab,我自己是个比较狂热的 Homelab 爱好者,近年来我在选购时会更加愿意购买大牌成品方案而不是买更加性价比的品牌或者捡垃圾 DIY。你在出问题时付出的时间金钱成本,甚至造成的损失,很多时候不如一开始就搞一个靠谱的方案。
还是 LTT 的视频。这个视频从 VHS 开始重新体验,一直到蓝光,覆盖了几十年里全部家用影音格式。除了在市场上算是胜出的 VHS、DVD、蓝光以外,原来还有很多不知名但其实还挺有意思的产品。
我不清楚各位读者的年龄段以及经历,我记忆里使用得比较多的是 VCD 和 DVD,那时候盗版满天飞,十几二十块就能买到一张影碟。那个时候不管是 VCD/DVD 播放器还是光驱都非常流行,而且带刻录功能的光驱就很 fancy。到稍微后来(06 年之后),宽带普及了,光碟这个媒介就渐渐消失了,到 12 年我第二次装机的时候,就已经没有再配光驱了。
这条跟上面一条其实还有点关联。最近我三四年前组的蜗牛星际开始出问题了,以为是电源坏了,结果换了电源还是不行,一直重启,拔掉几块硬盘后倒又能稳定运行,我估计是硬盘背板坏了,造成供电不稳定。这也是我说最好不要搞这种 DIY 的方案的原因,它的散热风道设计很差,机箱里面积灰非常严重;而且由于使用 AC 电源(一般大牌都使用外置的 DC 电源),电源这种易损品更换起来非常麻烦;没有保修这一点就不提了,坏了之后能不能修全凭运气,数据能恢复多少更是没有保障。言归正传,它上面还有一些没有遵循 321 原则的数据,于是我就重新考虑了一下冷备的方案。看了这个视频,我发现原来蓝光光盘原来还广泛用于数据归档,有专门的档案级光盘,可以实现 20 年以上的数据存储,更加有千年盘这种号称能长期保存的。对比我之前了解的 LTO 磁带,使用上更加简便,macOS 甚至系统自带刻录光盘的功能,而且基本上都是免驱;成本也相对更低,考虑到我的数据量 ~500G,单张 25G 档案级蓝光光盘大约 40 元,整体成本在 1000 元内,再加上机器成本,大概也就 2000;如果使用 LTO 磁带,这个价钱只够买一套机器,以及一两盘带。
分享一下开发中的「智能列表」功能。之前的周刊就提到过,我想打造一个基于反馈的个人偏好系统(via link),帮我过滤掉一些没意思的文章。下面就是这个系统的雏形:
![]()
在阅读的时候,你可以根据自己的喜好,给对应的文章标记喜欢/不喜欢,以及收藏的行为,都会影响最后对你偏好的判断。一方面,系统会把每篇文章向量化(相当于理解文章的语义,得出文章的特征),计算你喜欢以及不喜欢的向量(可以视为你的偏好的特征),通过计算特征的相似度判读你对文章可能的喜好。另一方面是统计模式,会记录你对订阅源和作者的偏好,也作为一个调节参数。可以看看图片中的 demo,我常读的 So!azy 的文章就排到了前面。
这个功能目前还有一些最后的交互细节需要打磨,完成后就会上线。如果你对 Glean 感兴趣,不妨关注一下,给我点个 Star,又或者可以加入 Discord 谈谈。
一个由日本火车爱好者做的生成火车票面的网站。之前就知道有「火车迷」这么个群体,他们会研究火车线路、拍火车、坐特定班车收集对应的火车票等等。之前纸质车票被正式取消,所以有人做了这么个网站来生成纸质车票。
![]()
说到这里,有点怀念以前的红色火车票,以及坐广州站出发的绿皮卧铺,摇晃十几个小时去旅行,那种新鲜和激动的感觉。现在经常来往广州南和深圳北,高铁坐到烂,反而是有点麻木了。
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2025-12-07 19:35:35
![]()
这是猫鱼周刊的第 88 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
这周还是没有图。自从进了胶片的坑,出门要么不带数码的,要么带了也不拿出来拍。而一卷有 36 张,经常一次拍不完,又想等囤起来一起洗了,所以很久都没出什么图。
这周主要很多时间精力花在一个新坑上,起因是最近 Folo 团队裁员,裁掉了最核心的两位贡献者,而且发布了所谓「正式版」,加上怎么都关不掉的 AI 功能,实在让我觉得非常难受。RSS 阅读器这块我从一开始的 Reeder(Classic)到 NetNewsWire 再折腾到 Follow(Folo),来回折腾其实都只是不一样的界面,功能上没有什么特别亮眼的,也没有能针对我的信息获取工作流做优化的地方。于是我决定写一个自己的 RSS 阅读器 Glean,中文名叫拾灵,具体的后面细说。
说的是 AI 厂家在输出最后总会加的口癖(例如「要不要我帮你调整 xxx」)。作者举了几个小学生利用 AI 完成作文、作业,以及老师用来发朋友圈文案的例子。
我上周才提到过,如果把 AI 不加处理地用于教育领域,很容易造成「Shit in, shit out」的局面。小朋友的可塑性是非常强的,稍微「权威」的来源会对其认知产生很深远的影响。我记得以前小学的时候,学写信的格式,结尾一定要有「此致」「敬礼」,老师从来没有解释过为什么,我也理解不了为什么为什么要向信的读者敬礼(即使 ta 就是我的朋友),后来才知道其实还可以写「顺颂时祺」之类的套话,但实际上我用得最多的还是漫无章法的「祝好」、「祝万事如意」、「Best Wishes/Regards」。基础教育因为要面对非常多样性的群体,没法做到很细致,如果你拿着这个问题去问小学老师,一般得到的回答就是「你就记着这么用就行了,别问为什么,没有为什么,固定搭配」。
![]()
回到这个 AI 的例子,这里面最为讽刺的是,人把自己的知识蒸馏后训练成 AI,结果 AI 再蒸馏一遍知识给下一代的人,但每一步蒸馏都会有不少损失,所以才说对下一代的人来说,是「Shit in, shit^2 out」 。会不会下一代的人,写作风格不仅充满 AI 味,写出来的文章最后还要加上一句「如果你需要根据自己妈妈的特点进行个性化修改,我也可以帮你调整这篇作文。」?
一个初学者角度的 Go 语言印象,以及对一些 Go 生态中常见哲学的理解和解读。我觉得 Go 在我心目中算是排名数一数二的语言,虽然我最近用的 Python 比较多。
首先,Go 是偏见非常强的语言,诸如只有 gofmt 一种风格、不允许未使用的变量、强制错误检查等,一定程度上让代码「规范」了很多。这里的反例就是我最讨厌的 Java,八股里面我最讨厌的一个问题「线程有几种创建方式」,在 Go 里只有一种,就是 go 关键字,不需要考虑茴字到底有几种写法。
其次,Go 在语法上非常简单,也没有复杂的语法糖,不管你的本命语言是什么,读 Go 都会觉得很顺畅。作者举的三目表达式就是一个非常好的例子,Go 就鼓励清晰的 if-else 结构。
还有一点,Go 让我写代码的时候逻辑变得非常清晰,或者说形成了一些良好的思考习惯。比如强制的错误检查,会让你在调用某个函数的时候,仔细考虑它会可能会出什么异常,对于业务来说应该怎么处理;又比如非面向对象的设计,会让你更加好地考虑怎么设计数据结构和接口;以及相对比较「裸」的并发写法,让你自己控制通道和锁,比起 Java 那套奇怪的调度方法好理解得多。
最后不得不说的就是跨平台能力和性能。与 Java 的虚拟机机制不同,Go 在所有平台上都是二进制原生运行的,这点就很无敌。性能方面,Go 的线程就是一个很好的例子,内存占用非常小,这在现在以云服务为主,内存寸土寸金的环境来说非常友好。
我的编程入门语言是 Python,甚至是 Python 2,最早是高中的时候自己搞了点书看。然后到大一学了 C/C++,自学了 PHP、Python 3、JavaScript,大二自学了 Java,大三自学了 Kotlin,后来工作之后又自学了 Go。在见识过基本上全部主流的语言之后,我心目中数一数二的就是 Go 和 Python,这俩也是我最为常用的语言。也许后面可以专门写篇文章展开讲讲我对各个语言的一些印象。
Kodak Reto (柯达授权经销商)新出的一款胶片相机,25mm f9.5 广角镜头,固定 1/100 快门,有自动卷片、自动回卷和自动闪光,支持双区对焦、双重曝光,使用 7 号电池供电。
![]()
我在小红书上刷到的,看了一下国内贩子都在加价,就直接在官网下单买了,99 + 3.5 运费,算下来比贩子卖得稍微便宜一点,而且 12.2 发货,第二天就收到了。我买的是白色款,包装里自带一个收纳袋和一条挂绳。
带着拍了几天,简单谈谈使用体验。它非常轻便,操作也很简单,上卷、打开电源,按快门即可。拍照的时候会有一个很轻的快门声,然后就是过卷马达的声音,这个比起手动过卷的机器来说没有拨动过片扳手的齿轮声悦耳,跟其他一些傻瓜机差不多。自带的挂绳很有意思,保证你在扫街的时候可以第一时间拿出来拍。(此处应有伍佰)我觉得胸前挂着相机大摇大摆走还是太张扬了,而且给的绳子有点长,在肚子上晃荡,所以我是绳子挂在脖子上,然后相机踹在前胸大口袋里,也很方便。
![]()
因为第一卷还没拍完,所以画质这些也许要等后面洗出来再聊。25mm 的镜头对我来说也是一个挑战,因为我平常惯用 50mm 甚至更长的焦段,25mm 这样一个大广角对我来说有点难以掌握,不过我发现这对于拍摄街景、建筑或者壁画这些东西非常适合。另外,固定 1/100 的快门和 f9.5 的光圈也有点蛋疼,官方的说明里推荐晴天/阴天户外使用 ISO 100/200 的卷,阴天、室内使用 ISO 400 的卷。我第一卷装的是全能 400,我也不确定宽容度有多高,但是拍摄的过程涵盖了阴天和大晴天,到时候看看效果吧。小红书上有不少评论说不如买几百块的二手 PS 机,二手 PS 机我也有,但是真的很难买到成色好,更别说全新的机器,而且 PS 机也做不到这样轻的重量。我觉得它的定位是玩具相机和 PS 机的中间,比玩具相机更好的画质、可以重复装卷,结构比 PS 机简单、成本更低。如果你对胶片感兴趣,我觉得这是一台比较值得入手尝试的机器。
前面说到,Folo 的变动,让我决定写一个自己的工具,它主要是一个自托管的 RSS 阅读器 + 个人知识管理工具,主要会有以下的功能:
所以 Glean 在产品形态上大致是 Folo/RSS Reader + Cubox/Karakeep 这样的东西,相当于是把我平时用来阅读和收藏整理信息的工具整合起来了。这是它目前的样子:
![]()
它会采用 OSS + SaaS 的商业模式,OSS 版本跟 SaaS 版本的区别就是 BYOK(Bring Your Own Key,使用自己的 AI) 和平台托管,你可以自建 OSS 版本获得基本上全部的功能,如果自建对你来说太麻烦,也可以付出 AI 的成本来获得对应的服务。
做自己的工具对自己来说是非常满足的事情,除了功能,一些交互细节也可以打磨到自己喜欢的样子。例如阅读界面右边的 Outline 功能,就有非常多考虑:
另外,这次 Vibe Coding 我也在尝试一种比较新的工作流程,在过程中更多地使用 AI 和 文档,大致是:
这套工作流用下来还可以,开发的效率相对比较高,很多时候只要人工介入一下具体的交互细节就可以达到可用的程度。唯一的缺点可能是烧钱太快了,我的 $20 Claude Pro 和 $20 Cursor Pro 订阅一两天就用完了,Cursor 我升级到了 $60 还是不够用,已经上到 $200 了。
![]()
直播录制工具,支持多个平台的直播录制。
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2025-11-30 18:35:47
![]()
这是猫鱼周刊的第 86 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
好久不见。上周的周末有事回了趟广州家里,周六当天来回,折腾了一趟实在是太累了,于是就咕咕了。
这周的周刊将会迎来第二次重构,就如上期所说,新的周刊会分成 INIT、STDIN、STDOUT、MISC 和 EOF 这几个板块,弱化掉以前文章、项目之类的概念,更加适应现在周刊的内容。
上周折腾了一个小东西 llmsh,可以利用本地的小参数模型(例如 qwen3-4b),配合 zsh 插件,实现命令补全、自然语言转命令等。做这个东西的来头也很神奇,我在翻东西的时候发现了一张 23 年 gpt-3.5-turbo 刚出的时候的截图,概念是利用 history 的前几条,来预测下一条命令,来实现比 zsh-autosuggestions 更加「智能」的提示。于是,我花了四五个小时搓出了这个东西,它有点像 warp,但是它可以跟你喜欢的终端一起使用,只依赖 zsh 和一个二进制,非常优雅。但是最终我也很少使用这个小东西,原因跟我不使用 warp 这类终端一样,autosuggetsions 的建议足够好用,而且绝大多数日常使用的命令我都能凭肌肉记忆打出。如果你感兴趣,不妨安装试玩一下。
另外这段时间里我学会 3D 建模,给我常用的消毒湿巾做了一个宜家洞洞板收纳,模型开源在 MakerWorld 了 link,感兴趣可以看看。
作者谈到自己最近的迷茫:
我好像一直很忙,工作确实很多,但仔细想想,除了工作之外,我似乎也说不清自己在忙什么,更说不清到底什么是重要的。
他也列出了自己很多的不足,又感叹自己总是好像原地踏步,而且这些问题早就意识到,但总是不能聚焦去改进。顺着这个思路,他还进行了很多思考,略微有点进入哲学的范畴了。
我觉得作者应该是跟我差不多年纪,刚毕业几年内的人,因为我不久之前也有过同样的迷茫,而我现在好像已经渐渐走出这个迷雾了,分享一些我的观点。
首先需要肯定的是,有这种迷茫是好事,说明你还在一个反馈循环里面不断提升自己。在日常工作中,会遇到两种人:一种是埋头苦干的人,这种人是大多数,这里的「埋头苦干」不是指在工作中的态度,更多是说他的认知更多就停留在毕业时或者第一份工作的程度,不会再去跟进行业的发展,不会再学习新的东西提升自己,在工作中对自己也不会有很高的要求,目标多数是赚钱,很多事情就是得过且过;另一种是有远见的人,他会有自己的主线,会追求自己感兴趣的事情,坚持走下去自己规划的路。所以如果你感觉到迷茫,反而是一种好事,说明你还没完全躺平。
然后要说的是,感到原地踏步,或者说一时做下这个又做下那个,在把时间拉长之后,其实也是不小的进步。离开学校之后,会发现很多东西在很短时间内是无法看到结果的,可能要拉长到年甚至数年才能看到效果。乔布斯在斯坦福的毕业典礼演讲上说过一句话叫「Connecting the dots」,我对它的理解就是,在人生路途中你会做出很多选择,或者做了很多的事,很可能在当下看不出有什么用,直到有一天你取得了成功,才发现原来这些点连成了你的成功路线。例如今年五月份的时候我就买了 3D 打印机,当时就打算要学建模,自己打东西玩。结果过去了半年,因为健身房新的跑步机没有手机支架,总是坚持不下去走有氧,有天我在跑步机上怒看了一个多小时视频,回家就把模型画出来了。在这中间,我其实把一大堆兴趣轮询了一遍,例如胶片摄影、模拟赛车、meshtastic 等等,我很少长期专注去做某一件事,也许周刊算是一个,但「兴趣轮询」算是最适合我的一种模式。另外,作者说到自己是「问题驱动」的人,我也是,我不喜欢系统性去学习某个东西,我一般遇到某个问题之后,我会去研究相关的东西,但只限于刚好解决这个问题。时间拉长之后,你发现你有很多点,每个都可以解决一定的问题,这在遇到复杂的问题的时候,你会发现自己会比别人更快地能把这些点连成线,看出某个 bug 的本质,找到对应的修复方案,或者在复杂的需求中提出一个很优雅的技术方案。
顺着「兴趣轮询」说下去,清晰认识自己、发展出适合自己的处事模式也很重要。我从小到大都被老师说不专注,现在在工作中更经常会发现,在准备去解决一个问题的时候,发现了另一个兴趣点,于是又花了大半天在这个新兴趣点上的情况。也做过一些在线测试,说是有一定的注意力缺陷。在这件事情上,我觉得这更多是我的 feature,而不是 bug(毕竟并没有严重到影响我的工作和生活)。因此我围绕这个 feature 发展出了很多效率方法,例如使用 todo list 来保存一些上下文,方便我来回切换和找回重点;又例如我会把一些繁琐的步骤用脚本自动化或者在设计上就简化,保证我不需要花很多精力去重新理解等等。
最后就是,今年一场大病之后,我发现自己做到了「见攰就唞」(觉得累就歇歇)。以前我经常会有爆肝的心态,很着急出结果。现在更多觉得如果已经累了,那就先歇歇,才有更多时间精力甚至健康的身体去做想做的事情。
今天这个部分写得好长,算是记录自己走出类似的迷茫的经历。
英国一所大学对学校使用 AI 制作课程,包括 PPT 和配音都是 AI 制作,引起学生的不满。
我觉得如果 AI 大量应用于教育领域,会对人类产生一种钳制作用。人的大脑跟 AI 有一点是类似的,那就是接受一定的输入,产生输出,然后根据反馈做出调整。因此人其实也会受到 AI 在训练语料上遇到的问题,「Shit in, shit out」,学习了太多低质量语料导致效果不佳。从我知道的来说,连小学生都在用 AI 来批改作文了。会不会从 10 后或者 20 后开始,人类写的文章就是 AI 味的?
作者提到,在 AI 编程推广之后,更大的问题是「理解债务」(comprehension debt)。AI 能很快的写出一大堆代码,而使用 AI 编写这些代码的人因为没有经历完整的思考过程,这些代码实际上并不「属于」他们,很难真正理解;在出现问题的时候,只能利用 AI 去解决,很容易陷入死循环中,让事情变得更糟。
这个事情我深有同感,在 你不是在 vibe coding,而是在十倍速生成屎山 中我就提到:
一旦你开始 vibe coding,你就只能 vibe 到底了。
所以其实 AI 编程并不是一刀切的就一定能提升开发的效率,其瓶颈依然是使用者的认知上限,也应了我经常说的那句:
AI 决定下限,人决定上限。
讲的是 F1 运动历史上第三年轻的意大利新秀 Kimi Antonelli 获得梅赛德斯车队席位的过程,一部 40 分钟的短纪录片。出道一年不到就有一部自己的纪录片,小 Kimi 真是有点东西。
说到 F1,它除了是顶级体育赛事,在比赛周之外就是超大型的真人秀,官方都有不少节目,也有合作方例如 Netflix 的电视剧,以及相关的电影、纪录片,还有无数围绕 F1 话题的视频、帖子,而且也有对应的粉丝、周边等等。作为 F1 车迷,真的可以每一周都很充实(只要别看法拉利)。
一款基于大语言模型的视频字幕处理助手,支持语音识别、字幕断句、优化、翻译全流程处理。
多平台热点聚合 AI 分析工具。
视频镜头分割工具,可以当成 Python 包使用,也可以通过命令行使用。
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2025-11-16 20:38:21
![]()
这是猫鱼周刊的第 86 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
![]()
好久不见。前两周比较忙,内容也不多,所以就没有写周刊了,也算是给自己放一个小假。
这张照片其实摄于一年多以前,在西乡红树林公园外的一个大草坪。这张算是我后期得比较多的照片,重新裁剪了一下让人占画面大概 1/3 的位置,然后拉暗了暗部的曝光增强剪影的效果。
这周水了一篇文章 Docker 服务器磁盘满排查思路,也是吐槽了一下现在在用的博客系统 Halo,最近博客频繁的访问不稳定,就是拜它所赐。过了几天才想起来,原来之前就写过一篇类似的 排查 Linux 空间占用,不过这次更加专注于 Docker 造成的空间问题和排查。
我强烈建议你先观看一下从没想过的问题?!影视飓风 1400 万粉丝 Q&A! 这个原视频(至少看完相亲角部分的完整片段)再去看这个舆情解释视频,以及网上的各种评论。
不得不说,我看这个 Q&A 视频是因为在小红书刷到了很多关于「相亲角」的讨论,才去 B 站看了。我很赞赏影视飓风,但也算不上死忠粉,所以这类粉丝向的节目本身我不太感兴趣。视频看下来我都没觉得有什么问题,「初中学历」这个东西纯粹是整活,而「离异」这个也是事实,本质是整一下活,我没想到,我觉得 Tim 和他的团队也没想到,这居然能被人用来作为矛头攻击他。
利用矛盾制造情绪是自媒体获得流量的基本公式,而任何二元对立的事情就很容易用来制造矛盾激化情绪,例如贫富、性别等等。视频中说到,很多营销号就用「抽象化切片」来编一个离谱的故事激化矛盾。这是个非常操蛋的逻辑,但是偏偏平台和用户都很喜欢。另一个博主说到:
平台和舆论很傻逼怎么办?没办法。傻逼的共识也是共识。
无独有偶,之前 LTT 也陷入类似的舆论中。说实话,我觉得人无完人,我们不能要求公众人物个个都像圣人一样完美,更没必要反过来竭尽力气去挖人家的污点,这真的很「饭圈化」。
写到这里我想起我好像不是第一次谈这个话题了,今年初的时候,还是影视飓风,当时是跟评测相关的(via vol. 062)。我觉得影视飓风可以称得上国内版的 LTT,他们的商业模式很像,内容大部分也都非常对我胃口。之所以谈到商业模式,是因为在 LTT 公布过他们的收入组成,以周边售卖为大头,辅以赞助、广告等等;影视飓风我感觉也是类似的形式(他们的电商做得很不错),服装、电子产品都有不少原创的设计,我也买过不少;唯一有区别的可能是影视飓风还有一些视频制作相关的商单。这种商业模式的好处显而易见:
他们收入的大头不是广告推广,不是独家内容,而是售卖周边。我觉得这种变现方式就非常地健康,大头是周边产品售卖,热情的粉丝团体,为他们的创意且实用、有品质的产品付费;另外一边,多元的赞助商、广告位等,让他们不需要拍厂商的马屁,拥有相对的「评测自由」。
做评测的里面,顶级头部以及尾部博主其实都比较容易说实话,核心原因都是不需要拍厂商的马屁。腰部博主不好说,谁给得钱多就向着谁就完事了,哄不好金主就没饭开,「被包养就不要谈什么独立人格」。
很有共鸣。作者说到他在工作中极其需要反馈,包括业绩上的正反馈、负反馈,来自朋友同事的看法等等,而没有反馈则是很可怕的事情。
我也是一个很看重反馈的人,我在唱 K 的时候都会时不时降低音量确定自己有没有跑调。这倒不算是缺乏自信,我觉得这是一种提升自己的方式。当然读完这篇文章我也有一个新的想法,就是负反馈也是有益的,也比没反馈要好;但是这点很难去要求别人,没人喜欢说坏话。
在 Netflix 上看的一部电影,拍摄手法很有意思,从一件事的不同人的视角去展开,整部电影被分为好几章节,一个多小时,但是只对应世界时间线里的十几分钟,从一个未知来源的核弹发射到总统决定反击计划的瞬间。最神的是,一开始已经过了一遍整个故事,最后到那个总统决定反击计划的瞬间戛然而止,什么规模的反击、核弹有无爆炸、世界是否核平没有交代,原本剧情会像正常电影一样,全面反击,全球核平,但是从后面的章节开始,又换了一个视角,补充了前面没有交代过的一些信息,每个主角在其中的态度、反应刻画得更加细致。而一开始我很关注的世界核平到底有没有发生,到最后都没有交代,是个开放式结局。
(好像是周刊第一次推荐影视类的东西,为了不剧透写起来感觉有点混乱,欢迎留言反馈)
你的浏览器有多少个打开的标签页?我的可能有上百个,这已经给我造成了一定的焦虑,也一定程度上是我没有更新的原因。这些标签页,有的是我看了标题觉得感兴趣的文章,有些是觉得稍后需要参考的文档,还有一些感觉有意思想研究一下的项目、网站等等。但是一个现实是,如果用游戏中的耐力条来类比就是,人每天的总的精力是有上限的,恢复的速度也很慢(需要足够的休息、合理的饮食等),而每做一件事、看一篇文章、理解一个项目等都需要耗费不少的精力。现在的情况就是,我感兴趣的事情远大于我精力的上限。
道理我都清楚,其实没必要太纠结有没有深入去读一篇文章,纠结有没有错过什么,但是执行上有点难。Arc 有个很好用的功能,可以自动归档大于某个时间的标签页,我现在设置的是 30 天,我在考虑改到 7 天。如果一件事情,一个星期我都没时间去做,它显然不紧急,也很可能并不重要。
写到这里我删掉了下面的「项目」栏目,好像也是第一次周刊不推荐开源项目。如果非要我找的话,其实也还有存货,但确实没有想写的。周刊写了一年多,开始的时候很专注技术,最近发现近期周刊其实更多去分享生活,我自己最近也没有那么完全专注于技术了,也挺好。周刊的结构其实也想改变一下,初步想法是分成三块,一个输入的部分分享我看到的文章/视频等等,配上我的一些看法;一个输出的部分分享完全我自己的思考或者感想,也推荐一些书影音或者购买的东西等;还有一个栏目分享项目/工具/网站等等。稻草人周刊有个类似的结构,分别叫连接、当下和星群,蛮有意思。我在构思的命名是 INIT、STDIN、STDOUT、MISC、EOF,不知道大家有没有更好的意见,也许下周就能迎来这个重构。
Canva 收购了 Affinity 之后,Affinity 本体免费了,AI 功能可以通过 Canva 会员订阅使用。Affinity 算是 Adobe 的一个下位替代,本期头图就是用 Affinity 的 Raw 编辑功能导出的。这对业余创作者来说算是一个好事,比如我很少对照片做精修(不拍人像),核心就是裁切和调色,使用频率还很低(直出居多),所以单独为这个需求买正版的 Adobe 有点冤大头。
使用 Grok 重写的 Wikipedia。这种方式我觉得有点像 Simple English Wikipedia,其是一个用简单的单词、句法等来编写的百科全书,方便英语学习者、学生等阅读。到这里我有个想法,为什么不用 LLM 来补充 Simple English 的 Wiki 词条呢?
![]()
思路跟前面的 Grokipedia 类似,用 LLM 生成词条。作者的思路可以看这篇文章,挺有意思的。
![]()
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2025-11-11 16:43:23
![]()
最近博客频繁出现不可访问的问题,但因为最近没怎么在写文章,所以倒没怎么管,直到收到博友圈发来的邮件:
![]()
登上去一看,发现服务器的磁盘居然满了(之前出现过内存满的情况,重启一下 Halo 的服务就能解决)。因为这台机器上都是用 Docker/Docker Compose 启动的服务,所以自然只需要去考虑 Docker 的问题。
当然,在这之前也是先用 df -h 看了一下,全都指向 /var/lib/docker/overlay2/xxx 和 overlay 这样的东西,所以能确定是 Docker 的问题。如果占用大的在其他目录,那就稍微复杂一点,可以用 du -h --max-depth=1 一点点去排查。
overlay 79G 57G 20G 75% /var/lib/docker/overlay2/89ed74e70d3e59b7c5de6e53522eece539a74e013c9c03c76fc7ac4d73045ed7/merged
其实到这里我就懵逼了,这些服务都没什么会落盘的,不应该一下产生很大的数据才是,所以找了 AI 帮忙,它建议我先运行:
docker system df -v
这里提醒了我两个问题,一个是我有很多镜像没有清理,二是有些卷没有清理,于是先执行了下面两条命令,先释放一点空间。这两条命令都只会清除没有使用的镜像和卷,所以是比较安全的。这一步清理掉了几个 G,但是磁盘还是很满。
docker image prune -a
docker volume prune
于是让 AI 帮忙写了个脚本,查一下到底是哪个容器的卷占用空间大:
echo "VOLUME_NAME SIZE CONTAINER(S)" && docker volume ls -q | while read vol; do size=$(docker volume inspect $vol --format '{{.Mountpoint}}' | xargs du -sh 2>/dev/null | cut -f1); containers=$(docker ps -a --filter volume=$vol --format '{{.Names}}' | tr '\n' ',' | sed 's/,$//'); [ -z "$containers" ] && containers="<unused>"; printf "%-40s %-10s %s\n" "$vol" "$size" "$containers"; done
最终找出来是 Halo 的容器。AI 建议我先考虑是容器日志的问题,用下面一条命令发现确实,于是又重启了一下容器,果然空间就被释放了。
find /var/lib/docker/containers/ -name "*.log" -exec ls -lh {} \; | sort -k5 -hr | head -10
但是这个方法治标不治本,它还顺便给我提出了限制日志大小的方法:
Docker
# 启动时添加日志选项
docker run -d \
--log-opt max-size=100m \
--log-opt max-file=3 \
[其他原有参数...]
Docker Compose
version: '3'
services:
your-service:
image: your-image
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
全局设置(针对所有新容器生效)
# 编辑 /etc/docker/daemon.json
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
# 重启 Docker
systemctl restart docker
至此,这次磁盘爆满的问题就解决了。
因为 Halo 老是出现 OOM,所以其实这次日志把磁盘写爆是因为 Halo 的问题。一看有一个新版本 Release,说是解决了潜在的内存泄漏问题,更新完好像就再没出现 OOM 的问题了。
我在关于页面里说过,选择 Halo 是因为它丰富的插件生态,完善的主题,还可以的性能,以及部署和发布的便利,现在我倒有了一些微词:
最近也看了不少设计优秀的独立博客,自由度高很多,也更方便发挥,更多东西可以折腾,再做一个自己的博客的念头也慢慢浮现,也许呢。
2025-10-26 19:36:26
![]()
这是猫鱼周刊的第 85 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
![]()
这周终于又有头图。摄于深圳大梅沙滨海栈道,海水有时候是绿色,有时候是蓝色。沿着海岸线骑行,抬头一看外面海水闪闪发光。
这周没有太多别的产出,工作上的事情又开始多且有趣了一点,摸鱼时间少了一点,所以这期周刊大概也会稍短一点。
这周最大的事情可以说是 AWS 长达十几个小时的服务中断。是时候祭出这张图:
![]()
关于这个事故报告,网络上有很多解读,感兴趣可以自己找来看,我只谈谈我的想法。
第一个是「时间攻击」,也就是时间因素引起的 bug。这里有两个点都可以归到时间上,第一是「竞态条件」,这个是写并行程序中经常会遇到的问题,由于我们思考基本上是串行的,没有特地考虑并行的运行情况就会出现这个竞态条件。第二是「延迟增加」,我们通常认为一个操作可以「很快」完成,没有考虑过如果这个操作超时或者需要比较长的时间才能完成时,整体的逻辑是否还能成立。
还有一种时间因素这次没有出现,就是「定时」,这种更加隐蔽,但是更常见于业务系统中。例如某几个时间点数据会与预期不符,导致下游出错;或者更加干脆就是计算一个月前等逻辑,遇到特殊情况(go 的 time.Add),测试通常没法发现。
第二个是连锁反应,这是基础设施相互依赖、架构复杂的结果。从一开始的 DNS 故障,引发数据库故障,再到下游更多服务受到故障影响出现更多问题,作为下游的更多互联网服务更是也因此受到波动。架构越复杂,越容易被简单的问题拖垮。如果你的业务非常简单,可以考虑不要太过依赖云服务。
然后说说事故处置和 vendor lock-in 的问题。很多人觉得 AWS 「基本不可能出问题」,所以事故处置方案中根本没有考虑过这个,服务不可用的时候就完全瘫痪了。又相反地,有人在这次事故之后觉得需要做「多云部署」。我觉得这两种都不太可取,我的思路是参考这次的事故,审视自己架构中依赖了 AWS 的什么服务,如果其中某个服务故障,会对什么有影响,有没有方法减轻影响。当然,就算做了这些,很有可能还是会被一锅端,只是有预案的公司不会手足无措,在恢复时间上拉一坨大的。
说的是 Kindle 退出中国后,国内电子书生态和体验的问题。
在 Kindle 退出中国之后,国内平台只能走「低价包月」的路线,进入了一个恶性循环,导致出版社不愿意上新书,平台内容质量不断下降。反而直播带货还能卖出去不少实体书,所以出版社还比较有意愿发行实体书。另外国内的平台,包括微信阅读,都是以网文为主,严肃创作居少。
我不是网文的受众,当然我一年也不读几本书。我有 Kindle,找盗版书这件事对我来说倒也不算复杂,但是在 Kindle 还在国内运营的时候我会在商店买书,因为买到的排版好,而且省事,加上支持正版的思维。后来 Kindle 退出之后,会发现找新出的书特别困难(这点文章里也提到了,很多盗版来自于破解 DRM 后的 Kindle 商店版本)。到现在,我如果想要看某本书,还是直接去买实体书划算,很多畅销书只要二三十块就能买到,何苦折腾。
关于「提升电动车品牌效应」。
国产品牌很喜欢在技术以外的领域发力,例如公关、宣传,但就是不愿意在技术上多下功夫。我觉得道理很简单,价格战,加上公关宣传这些花销比技术研发低得多,所以现在的样子已经是「最优解」。
之前有不少关于新能源车的评测,也有不少人针对这些评测做很多争论。不知道诸位还记不记得罗永浩跟王自如的辩论,在评测中想要有点「倾向」实在再容易不过。现在做购买决定越来越多噪声,要做出理智的决定真的越来越难,很多时候还是很会倾向于自己喜欢的品牌。
深圳新出了「骑友巴士」,从市区到市内较偏的骑行点,人车一起上公交,定点发车,票价 20 元,周末开行。上车后,师傅会帮你固定好车,然后就是摇摇晃晃穿过市区几个站点(基本上除了终点站没有人上下车),然后到达终点。
![]()
这个设计非常好,有点像 2077 里面「跳过行驶阶段」的功能,直接到任务地点。在城市区域骑行真的很痛苦,非机动车道没有或很狭窄,在人行道上坑坑洼洼颠得手痛,要一直避让对向的电动车和路上的行人。而且像大梅沙,离宝安几十公里,以我的体力,骑过去可能就已经废了,更别提在那边骑长上坡,返程估计只能货拉拉。
接着说大梅沙骑行的体验,全程都有绿道,精华的一段维护得不错;后面有很长一段骑行道就没有专门的绿道了,要跟机动车共线,又很多急弯和长上坡下坡,有点危险。路线说是可以一直骑到大鹏那个最美 711,一共 35km,但是我骑了十几公里,经历一大堆连续上坡,心率连续拉满之后,就知难而退了。巴士站点附近有便利店和饮食,有个麦当劳,在里面边吃边等车的时候遇到了不少骑友。知难而退的路上还遇到了两个骑友,也是体力不足知难而退了,大家路上一起推了段车,聊天吹水,也很有意思。
我受够 poetry 了!这句话说出来有点好笑,因为我去年初才把原来的 pip 和 conda 等转到 poetry,还写了篇文章。
其实 poetry 也很好用,只是比较慢,而且 poetry update 的逻辑实在太诡异了,没法做到像 go get -u的效果。
这个项目可以把 pip 和 poetry 等项目迁移到 uv,好耶。
一种水印方法,可以抵抗旋转、裁剪、马赛克等编辑。
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。