{"zh":{"count":12,"issues":[{"title":"第281期 - 越王的剑","link":"https://weekly.tw93.fun/posts/281/","pubDate":"Mon, 07 Sep 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/blog/pic/28133.jpg\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/28133.jpg\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/28133.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"7728\" data-pswp-height=\"5152\" style=\"aspect-ratio: 1.5000;\" width=\"800\">\n<p><small>封面图拍摄于周末浙江博物馆，本来想去看四大兽首的展览，结果人很多，就去看常规的场馆了，发现了非常美的东西，这把越王勾践儿子的佩剑就非常好看，感叹当时的越国审美真好。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>TokenRemain：一个免费的 AI Coding 额度统计</strong><br>\n<a href=\"https://www.tokenremain.com/\">https://www.tokenremain.com/</a><br>\n在官网的宣传页感觉还不错，整体也做得比较整洁，有兴趣的可以试一试，而且还加入了 Codex 重置的一些通知。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/wHYXlg48.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/wHYXlg48.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/wHYXlg48.png\" loading=\"lazy\" data-pswp-width=\"2516\" data-pswp-height=\"1836\" style=\"aspect-ratio: 1.3704;\" width=\"800\"></p>\n<p><strong>Unclack：打字的时候自动把你的麦克风给静音掉</strong><br>\n<a href=\"https://unclack.app/#/\">https://unclack.app/#/</a><br>\n这款工具还挺适合打工者的，比如说你在开会时，开着语音打字会噼里啪啦，它就可以让你在打字时自动将麦克风静音。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/gVNVxB05.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/gVNVxB05.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/gVNVxB05.png\" loading=\"lazy\" data-pswp-width=\"2700\" data-pswp-height=\"1138\" style=\"aspect-ratio: 2.3726;\" width=\"800\"></p>\n<p><strong>Pulse：Apple 平台的网络日志记录</strong><br>\n<a href=\"https://github.com/kean/Pulse\">https://github.com/kean/Pulse</a><br>\n使用 SwiftUI 建设的一个苹果全平台网络日志记录工具，感觉整体做得还是挺精致的，在开源里面算很不错的。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/5Uqh1q52.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/5Uqh1q52.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/5Uqh1q52.png\" loading=\"lazy\" data-pswp-width=\"2880\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.5000;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>WorkBuddy 成功，是因为腾讯办公套件太烂了</strong><br>\n<a href=\"https://1q43.blog/post/12578/\">https://1q43.blog/post/12578/</a><br>\n虹线一篇文章其实把当前的一些办公领域的 AI 分析得还挺有趣的，可以看看，我没有那么看好 WorkBuddy 未来的成功。</p>\n<p><strong>推荐一个好吃的拌川：夫妻面馆</strong><br>\n个人感觉杭州最好吃的拌川，必须是夫妻面馆，当然也可以试试老太婆面馆、老街面馆、芒种这几家的杭州面也不错。我把这个分享给朋友了，他们也推荐了一些其他的，大家在杭州的可以去看看，比如小辫子、小狗面馆、湖州嘉兴人在杭州开的浇头面、转塘那家来翠面馆、松木场面馆、转塘的春雪面馆、良渚的一麵面馆、华三爷拌面、当面道蟹、方老大、嘉兴玉林面馆。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/nmUFxA53.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/nmUFxA53.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/nmUFxA53.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<p><strong>随便写写：我决定以后新产品上线再也不发 Product Hunt 了</strong><br>\n<img src=\"https://cdn.tw93.fun/blog/pic/xzkNlp10.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/xzkNlp10.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/xzkNlp10.png\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"2268\" style=\"aspect-ratio: 1.7778;\" width=\"800\"><br>\n大概 7 年前我非常喜欢逛这个平台，最近刚好想着 Mole 可以去上面 launch 一下，于是就去发了一下，传视频、图片、填了非常多的表单终于好了，结果一进产品页，首先看到的是左边的一个广告卡片说 5k 刀可以帮我把整个 launch 搞定，给我惊呆了，然后在我的产品下面还插入了一个其他产品的横幅广告。</p>\n<p>有一个吃了苍蝇的感觉，自己精心准备的发布页，变成了别人卖广告的地方，不过我理解肯定会有预算充足的公司会去买这个服务。</p>\n<p>然后我就定好时间去发布了，我甚至还留好下午时间专门看能否有新用户来问问题，我来及时解答，结果搞笑的是发现甚至没有上首页，记得 5 年前发妙言的时候编辑得非常粗糙，都可以进首页时间线。</p>\n<p>后面有专业的朋友解答，说没有被官方 feature 导致，需要先上这个，然后去买那种专门的推广团队服务帮你包装，才可以打下来，原来还需要配合平台表演，要去买赞买评论，一下又惊掉了我的下巴，怎么一个好好的平台变成了这样。</p>\n<p>更让我气的是啥，几乎没有带来产品交流和用户使用反馈的，但是给我这几天带来了将近 50 封陆陆续续的垃圾邮件，大概意思是可以帮助我更好的推广，或者说他们那边也有一个类似的平台让我去上架，到今天都还有垃圾邮件过来，有一种惹了一身腥的感觉。</p>\n<p>所以这个平台看着热闹，实际没有啥效果，甚至看到有 100 刀买 200 个赞就能进工作日前五的服务，当然不会给你带来一个真实的用户。不过他养活了一批帮你做上 Product Hunt Top 热度的团队，从你的描述、包装、封面、视频，到结合点、利益点，一整套方案给你出好，然后你付钱后得到了一种虚假的热闹感，陪着 Product Hunt 表演，产品成了他道具，发布日成了演出日，最后到底有没有吸引到新朋友，好像没人关心。</p>\n<p>其实我非常期待，有一个可以给大伙真正友好交流产品的平台，大家来了遇到自己感兴趣的可以标记，可以下载，可以试用，也可以学习其他产品做得好的地方，友好交流，使用完甚至还可以相互给建议，哪儿做得好，哪儿需要改进，类似 10 年前 GitHub 那种乌托邦的感觉，人们不会关注你的包装和利益点，而是一伙喜欢做产品的人围在一起交流好的东西，让好东西被更多人用上，非常期待有这样的平台，我肯定会去天天逛。</p>\n<p>后面就不再发 Product Hunt，当然也不推荐小伙伴们去发这个东西了，发 GitHub、发 X、发 YouTube、发 V2EX 其实都是非常不错的平台，那儿远比 Product Hunt 纯粹简单。</p>\n<p><strong>RIP：何勇 9 月初离开了</strong><br>\n<img src=\"https://cdn.tw93.fun/blog/pic/7ARP8b14.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/7ARP8b14.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/7ARP8b14.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"706\" style=\"aspect-ratio: 1.6997;\" width=\"800\"><br>\n何勇 9 月初离开了，我印象中他的样子一直是这个 94 年<a href=\"https://www.youtube.com/watch?v=V0L3LRpAdKk\">摇滚中国乐势力香港红磡演唱会</a>里面的样子，直白、年轻、粗粝、摇滚、朋克。非常喜欢他的钟鼓楼、垃圾场、头上的包，以及这首非常代表他的摇滚风格的姑娘漂亮，好几年他的歌都在我的一年常听歌单里面。</p>\n<p>第一次接触中国摇滚要回到 20 年前的 2006 年，当时上初一，我的英语老师 Richard，一个微胖卷发看着非常斯文的老师，在有次上课直接开满音量给我们放唐朝乐队的梦回唐朝，声音加到最大，下面一群刚小学毕业的人几乎从来没有听过这么劲爆歌曲，当时认为好听的歌是晴天、江南、童话，这个老师在讲台上眼里冒光的给我们分享介绍中国摇滚，介绍他喜欢的一些故事，也在后面上课时候偷偷给我们放经典国外电影，这个老师想方设法给我们这群小孩开悟，我也慢慢明白了什么是追求开放、真实表达、保持自我、不随波逐流。</p>\n<p>在这之后，我就去找这一批中国摇滚的歌手，从那个演唱会视频里面，知道了帅气深沉有思想的窦唯、长发很疯咆哮的唐朝丁武、直白年轻啥也不怕的何勇、带点悲伤有感情的张楚，让我感觉每个人都有自己的个性，非常真实，也让我感觉人活着不能千篇一律，应该要有自己独有的秉性、性格，保持自己的不同，不跟风那种感觉，对我影响还挺重要的。</p>\n<p>再往后走首先接触到的是万青的杀死那个石家庄人，当时身边几乎也没有同学去听一个叫万能青年旅店名字的乐队，我觉得他们的歌曲讲述的故事、想表达出来的东西非常有感觉，词写得真好，秦皇岛后面让我了解到曾因抑郁症去秦皇岛疗养的董亚千，十万嬉皮里大梦一场的董二千先生，以及大石碎胸口都是非常好听的歌曲。</p>\n<p>在听万青的过程中，那个非常喜欢装逼的口无遮拦但人很真实的李志也来了，听李志从看他的跨年演唱会视频开始，第一次发现原来还可以有弦乐队，也可以不插电，原来这个平时看着非常吊儿郎当的人准备演唱会这么认真，几乎每次都是重新编曲制作，相同的歌在不同的场明显可以看到很认真的对待，李志唱歌的声音质朴诚恳、辨识度高、有叙事的感觉，就像一位老朋友在你耳边有时喃喃自语又有时嘶哑呐喊，给你讲热河、结婚、定西、忽然、杭州、尽头、他们，总之，给我的感觉非常真实。</p>\n<p>后来我才发现，给我留下很深印象的两位老师，其实有点像。Richard 讲中国摇滚时眼里冒光，大学的数据库老师讲 PHP 和 HTML 时也一样。</p>\n<p>2011 年上大学，我学的是通信，大一有一门看起来和专业关系不大的数据库课。老师除了教数据库，还会给我们讲 PHP 和 HTML，教大家把这些东西拼起来做一些好玩的网页，大部分同学没太大兴趣，我却非常喜欢这个技术，因为可以做出东西来。</p>\n<p>那一年我把学校图书馆里评分不错的 Web 开发书几乎都看了一遍，照着书敲代码、跑案例，遇到不懂的就发邮件问老师，简单的问题他直接回，复杂的留到下课后，经常一聊就半个多小时，两个人不像师生，更像讨论技术的好友，非常有意思，到大二的时候，也非常受 Paul Graham 的黑客与画家这本书的影响，慢慢确定了自己的职业路线，就是做 Web 工程师。</p>\n<p>后面用 Ruby 框架 Jekyll 写了自己的博客，写了一个很中二的座右铭「Be yourself and don’t go with the flow.」，可能是摇滚的影响、也可能是各种有想法的老师的影响，更有趣的是这句话还在我博客的中间横条上，一直没有改，Jekyll 这个老框架也一直稳定得可以正常维护使用，没有挂。</p>\n<p>现在再看 1994 年红磡舞台上的何勇，他还是我记忆里那个直白、年轻、粗粝、啥也不怕的，唱着钟鼓楼、姑娘漂亮的年轻人。二十年过去，博客还在，那句话还在，我身上那点不愿随波逐流的东西，好像也没有挂。再见，何勇。</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第280期 - 喜欢宋体","link":"https://weekly.tw93.fun/posts/280/","pubDate":"Mon, 31 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/28049.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/28049.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/28049.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5358\" data-pswp-height=\"4019\" style=\"aspect-ratio: 1.3332;\" width=\"800\">\n<p><small>封面图拍摄于杭州新开的恒隆商场，周末过去逛了逛，喝了一杯 AITCoffee，味道还不错，看到墙上有这么一个纸窗户，上面写着宋字，我最近产品官网喜欢用这个字体，很古典。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>celldock-for-mac：在 Mac 上使用蜂窝网络、短信和通话</strong><br>\n<a href=\"https://github.com/celldock/celldock-for-mac\">https://github.com/celldock/celldock-for-mac</a><br>\n这个产品有点意思，假如你手上有大疆的 4G 模块可以试试，我也打算搞一个玩玩，甚至可以插一张 SIM 卡，配一个模块，就变成出门在外的随身 Wi-Fi 了。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/Y71cWg04.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/Y71cWg04.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/Y71cWg04.png\" loading=\"lazy\" data-pswp-width=\"1956\" data-pswp-height=\"1572\" style=\"aspect-ratio: 1.2443;\" width=\"800\"></p>\n<p><strong>kooky：又一个专为 AI Coding 优化的 macOS 终端</strong><br>\n<a href=\"https://github.com/iAmCorey/kooky\">https://github.com/iAmCorey/kooky</a><br>\n支持侧边栏 workspace 管理、水平 / 垂直分屏、一键启动 agent、实时查看 agent 状态，也能在 pane 底部直接看到 Git、Node、Python 等工作区状态。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/QqZtJW39.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/QqZtJW39.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/QqZtJW39.png\" loading=\"lazy\" data-pswp-width=\"3248\" data-pswp-height=\"2112\" style=\"aspect-ratio: 1.5379;\" width=\"800\"></p>\n<p><strong>史前动物博物馆的 3D 教学展示</strong><br>\n<a href=\"https://leon-made-this.work/museum/zh-CN/?animal=stegosaurus\">https://leon-made-this.work/museum/zh-CN/?animal=stegosaurus</a><br>\n应该是父母给孩子做的一个史前动物博物馆的展示，挺有意思的，可以玩玩看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/MZswYA27.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/MZswYA27.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/MZswYA27.png\" loading=\"lazy\" data-pswp-width=\"3996\" data-pswp-height=\"2196\" style=\"aspect-ratio: 1.8197;\" width=\"800\"></p>\n<p><strong>JJ：和 Git 兼容、但更适合 Agent 的版本管理</strong><br>\n<a href=\"https://github.com/jj-vcs/jj\">https://github.com/jj-vcs/jj</a><br>\n这个思路还不错，底层还是 Git 仓库，工作区的模型更简单，更适合 Coding Agent 来使用，比如 AI 改错了，收拾起来会容易很多。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/OAQjsa02.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/OAQjsa02.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/OAQjsa02.png\" loading=\"lazy\" data-pswp-width=\"2696\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.4042;\" width=\"800\"></p>\n<p><strong>介绍一下 Mole 的擦屏幕和擦键盘功能如何更好使用</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\n很多小伙伴问擦屏的时候还想擦键盘怎么办，其实默认就兼容了，去设置里打开擦屏的输入保护授权，再从 logo 进擦屏功能，非常推荐顺手设个快捷键，之后就可以拿细软布很舒服地擦屏幕和键盘，键盘也不会误触。</p>\n<table>\n    <tbody><tr>\n        <td width=\"22%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/zIK1HN54.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/zIK1HN54.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/zIK1HN54.png\" loading=\"lazy\" data-pswp-width=\"3072\" data-pswp-height=\"4096\" style=\"aspect-ratio: 0.7500;\" width=\"220\">\n        </td>\n        <td width=\"39%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/NWNeHl11.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/NWNeHl11.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/NWNeHl11.png\" loading=\"lazy\" data-pswp-width=\"2424\" data-pswp-height=\"1768\" style=\"aspect-ratio: 1.3710;\" width=\"390\">\n        </td>\n<td width=\"39%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/1vP43W17.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/1vP43W17.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/1vP43W17.png\" loading=\"lazy\" data-pswp-width=\"2424\" data-pswp-height=\"1768\" style=\"aspect-ratio: 1.3710;\" width=\"390\">\n        </td>\n    </tr>\n</tbody></table>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>宝玉的 AI 原生开发流程：一个真实案例的完整复盘</strong><br>\n<a href=\"https://baoyu.io/blog/2026-08-24/ai-native-dev-workflow\">https://baoyu.io/blog/2026-08-24/ai-native-dev-workflow</a><br>\n现在写代码在整个软件开发流程中只是一个环节，而且在 AI 时代，它反而是变化最小、最不需要操心的环节，因为现在的大模型在编码方面已经训练得极好了，简单的自然语言提示词就够了。真正有意思的变化是在代码之外：需求怎么分析、方案怎么设计、原型怎么做、测试怎么跑，这些「写代码之外」的事情，才是 AI 原生开发真正改变游戏规则的地方。</p>\n<p><strong>最近发现这些年我的口味居然变了不少</strong><br>\n很神奇，大学期间一直觉得自己只吃辣的，不可能去碰那种甜口的菜，殊不知在杭州待了快十年，慢慢就喜欢上了各种口味。其实甜口的菜，清淡的菜也有很好吃的，比如最近我很喜欢去吃福建菜，很鲜很嫩的那种感觉。人生也是这样，越经历越有新东西可以体验，多好。</p>\n<table>\n    <tbody><tr>\n        <td width=\"24%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/DA0Mmp59.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/DA0Mmp59.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/DA0Mmp59.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"240\">\n        </td>\n        <td width=\"38%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/yglVUa14.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/yglVUa14.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/yglVUa14.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"380\">\n        </td>\n<td width=\"38%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/hJq3Ux31.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/hJq3Ux31.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/hJq3Ux31.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"380\">\n        </td>\n    </tr>\n</tbody></table>\n<p><strong>随便写写：AI 时代如何保证代码可持续迭代和维护</strong><br>\n想从产品工程师视角和大伙聊聊，在代码全部由 AI 生成的时代，如何保证产品的代码可以持续迭代、好维护、不腐化。</p>\n<p>最近 Mole 发布到了第 13 个版本，看了看整个项目大概有 11 万行 Swift 产品代码、7.3 万行测试代码和 3347 个 XCTest，测试这部分比我之前在公司写业务、还有 QA 兜底的时候多得多，我一直秉承一个观点，AI 写的代码应该 AI 来测试，而非人，把人引入到这个环节反而会拖慢整体的进度。</p>\n<p>想着就基于这些实操经验总结一下，我都做了哪些有意思的事情，让这些代码一直可以在我和 AI 之间非常听话地实现功能。</p>\n<p>1、即使 AI 大幅提升了写代码的速度，产品本身的技术架构、分层、同类抽象，什么东西放到什么地方能够让后续更好地扩展和解耦，还是需要工程师本身的判断，这一块可以在项目第一个版本跑起来之后，就和你最好的 AI 仔细讨论，设定好对应的架构，并通过可沉淀可修改的文档记录下来，持续跟随项目迭代。</p>\n<p>2、我目前最依赖的还是单测，1.0 只有 56 个 XCTest，到 1.13 已经有 3347 个，测试代码大约是生产 Swift 代码的 66%，不过数量只是顺手统计出来的结果，我平时更关心测试有没有覆盖那些容易想当然的地方，比如扫描结束以后文件又变了、进程检查失败、命令返回成功但 App 根本没有更新、旧任务很晚才回来覆盖了新结果。正常情况一般不难写，麻烦的是那些看起来没问题、实际上已经错了的情况，怎么及时发现它们。</p>\n<p>3、特别是修 Bug 的时候，我会多留一些东西下来，除了把问题修复，还会加一个让旧代码失败的回归测试，然后沿着同类路径去找有没有类似的问题，最后把当时为什么这么改写到规则里面去，到目前 Mole 已经有 1000 多个以 fix 开头的提交，其中 900 多个带着测试一起提交，很多测试和规则都是用户真实踩过一次以后留下来的经验，或许这是这个项目目前最宝贵的资产。</p>\n<p>4、测试能记住输入和结果，但记不住当时为什么放弃一种做法，所以项目里还有一批 Rules，主要记录功能边界、历史原因和不能碰的地方。比如为什么某类文件宁可漏掉也不能自动删除，为什么有些看起来重复的组件不能随便合并，哪些系统数据不属于 Mole。Rules 一多又很费上下文，我就按模块把它们拆开，只在改到相关代码时加载，再把经常重复的检查做成 Skills。bugs 会从以前的修复里找同类问题，design-system-review 看界面有没有越写越乱，release 则负责检查签名、公证、远端文件和更新链路，这样不需要每次都从头跟 AI 解释一遍。</p>\n<p>5、还有一个对我很有用的法子，就是少做一些没有实际用处的功能。现在 AI 加一个设置项、兼容分支或者后台监听太容易了，几分钟就能写出来，留下来的状态和维护成本反而是腐化最大的原因。比如 Mole 现在给新功能定了一些规则，尽量不增加常驻开销，不增加新的特权和系统权限，有合理默认值就不继续加设置项，更新和清理也不会因为发现一种新的可能性就一直扩范围，很多功能是开发者自以为重要，使用者却完全不在乎的，还是建议从用户中来，到用户中去，如无必要勿增实体。</p>\n<p>6、需要充分利用好 GitHub Actions 自动化的能力，这个会是你最后的兜底，其实代码写完、跑通、测试变绿以后也还没结束，我的项目里还有一套检查负责九种语言、网站生成结果、Appcast、Xcode 工程和公开部署文件之间的一致性，make verify 会把这些检查和测试一起跑，CI 再换到云端干净机器上重新来一次。到了发布的时候，本地代码、Git 提交、签名后的安装包、线上文件和用户实际收到的更新也是几种不同状态，我会分开确认。之前也遇到过源码完全正确，线上还在提供旧文件的情况，只看一个绿色结果很容易过早觉得已经做完了，其实里面还藏着错。</p>\n<p>7、上面这些，假如说有什么特别的地方，我能想到的就是执行流程完全没有我插手干扰，每一步都由 AI 自动执行和验证，出错了 AI 自动去解决，只不过会在不同的时候设置必要的流程卡点，让 AI 主动去验证，得到明确的结果才确定通过，并持续迭代规则，保持现有规则的新鲜度，及时移除旧的逻辑，让校验逻辑和业务代码同步升级。</p>\n<p>或许这就是 AI 时代的工程师更需要培养的能力，如何让 AI 写的代码更好维护、更清晰、更好扩展，即使半年、一年、两年都不会腐化，而且会越来越听话，越来越符合开发者的心意，也给多 Agent 合作开发打下一个比较稳的根基。之前手写代码的乐趣已经没有了，好在这件事弥补了一些纯 AI Coding 过程的无聊，让工程师的专业度得以延续下去。</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第279期 - 风之谷泉","link":"https://weekly.tw93.fun/posts/279/","pubDate":"Mon, 24 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/blog/pic/27936.jpg\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/27936.jpg\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/27936.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>封面图拍摄于周末去临安风之谷带娃玩水，这地方很空旷，不过周末小孩和大人都很多，娃倒是挺喜欢。远处看，水难得有蓝绿色的感觉，照片拍的是外面的一个大湖。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>Cumora：这个很不错的 Agent 团队协作工具居然开源了</strong><br>\n<a href=\"https://github.com/yetone/cumora\">https://github.com/yetone/cumora</a><br>\n来自 yetone，又是一个「没有想到」系列，居然开源了。在目前的开源方案里，这应该是我看过做得很不错的 Agent 团队协作工具，客户端本身很完整，代码的处理也很值得学习。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/JZJzUm15.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/JZJzUm15.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/JZJzUm15.png\" loading=\"lazy\" data-pswp-width=\"2906\" data-pswp-height=\"2328\" style=\"aspect-ratio: 1.2483;\" width=\"800\"></p>\n<p><strong>Omarchy：最近很火的漂亮且现代的 Linux 系统</strong><br>\n<a href=\"https://omarchy.org/\">https://omarchy.org/</a><br>\nOmarchy 是一个基于 Arch 的 omakase Linux 发行版，采用平铺式窗口管理器 Hyprland 和桌面构建工具包 Quickshell，预装了不少 AI 时代生产力工作需要的工具，好评挺多的，有空闲机器的小伙伴可以去试试看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/tM50pX27.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/tM50pX27.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/tM50pX27.png\" loading=\"lazy\" data-pswp-width=\"4532\" data-pswp-height=\"2452\" style=\"aspect-ratio: 1.8483;\" width=\"800\"></p>\n<p><strong>MicroLighter：一个非常小的代码语法高亮库</strong><br>\n<a href=\"https://davatron5000.github.io/microlighter/\">https://davatron5000.github.io/microlighter/</a><br>\n居然 gzip 后才 2.05 KB，用起来看着也很简单。不过我让我的 Agent 判断了一下，是否可以替换潮流周刊的语法高亮库，被婉拒了，哈哈。假如你在做新项目，可以试试看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/EkGyaL09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/EkGyaL09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/EkGyaL09.png\" loading=\"lazy\" data-pswp-width=\"3748\" data-pswp-height=\"2332\" style=\"aspect-ratio: 1.6072;\" width=\"800\"></p>\n<p><strong>iGhostty：越狱 iPhone 上的命令行终端</strong><br>\n<a href=\"https://github.com/OwnGoalStudio/iGhostty\">https://github.com/OwnGoalStudio/iGhostty</a><br>\n从砍砍的推特看到的，还挺好看。假如你的 iPhone 已经越狱，想在手机上用终端，可以看看这个。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/cbGs3H20.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/cbGs3H20.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/cbGs3H20.png\" loading=\"lazy\" data-pswp-width=\"1024\" data-pswp-height=\"716\" style=\"aspect-ratio: 1.4302;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>Claude Code 创业公司指南</strong><br>\n<a href=\"https://claude.com/blog/claude-code-guide-for-startups?ref=aiposthub.com\">https://claude.com/blog/claude-code-guide-for-startups?ref=aiposthub.com</a><br>\nAnthropic 官方发布的，复盘了 15 家高增长初创公司如何通过 Agentic Coding，像规模大十倍的团队一样交付，可以看看。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/O2qk1j42.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/O2qk1j42.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/O2qk1j42.png\" loading=\"lazy\" data-pswp-width=\"2540\" data-pswp-height=\"2078\" style=\"aspect-ratio: 1.2223;\" width=\"800\"></p>\n<p><strong>Omarchy：AI 友好开箱即用的神级 Linux 操作系统教程</strong><br>\n<a href=\"https://xiangyangqiaomu.feishu.cn/docx/ZH7td7nKVoC5Y0x3UAAcEG3TnPd\">https://xiangyangqiaomu.feishu.cn/docx/ZH7td7nKVoC5Y0x3UAAcEG3TnPd</a><br>\n基于上面聊到的 Omarchy 这个对 AI 很友好的 Linux 操作系统，乔木用 AI 写了一个教程，有兴趣可以一起看看。</p>\n<p><strong>叁缺壹，这次我来了</strong><br>\n<a href=\"https://www.lizhinb.com/jlpgl/\">https://www.lizhinb.com/jlpgl/</a><br>\n错过了前面 2 次，这次就不错过了，激动，高兴，启动！</p>\n<table>\n    <tbody><tr>\n        <td width=\"50%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ASMEGy29.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ASMEGy29.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ASMEGy29.png\" loading=\"lazy\" data-pswp-width=\"1080\" data-pswp-height=\"1350\" style=\"aspect-ratio: 0.8000;\" width=\"400\">\n        </td>\n        <td width=\"50%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/UeNX0F38.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/UeNX0F38.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/UeNX0F38.png\" loading=\"lazy\" data-pswp-width=\"1023\" data-pswp-height=\"1444\" style=\"aspect-ratio: 0.7084;\" width=\"400\">\n        </td>\n    </tr>\n</tbody></table>\n<p><strong>随便写写：我是如何给产品取名字的</strong><br>\n突然想跟大伙聊聊，我是怎么给自己的产品取名字的，这个过程很有趣，或许你也可以结合自己的性格和喜好，给产品取一个不错的名字。</p>\n<p>在 AI 还没来之前，市面上各种 Coding 产物没有这么多，我很看重产品本身的生命感和存在感，所以基本都会非常认真地对待取名这件事。好比一个新生儿出生，父母需要花不少时间，给这个即将到来的生命取一个陪伴她一辈子的名字，让她以后也很喜欢自己的名字，甚至能从中获得一生的鼓励和自信。</p>\n<p>即使在 AI Coding 产物盛行的这一代，假如你想把产品推向大众，而不只是自己把玩，我还是非常推荐你给她取一个好名字。这样每次向大众介绍的时候，你也会对自己的产品很自信、很喜欢，愿意花时间和精力把她持续迭代好。</p>\n<p>我的第一个产品叫做妙言，是在 2020 年前后做的。那时候 Markdown 笔记应用非常火，我感觉没有太顺手的，就自己学 Swift 写了一个。我特别喜欢中文字，当时也没有考虑国际化，更多是自己用，记录工作学习中的各种笔记。我一直认为好的文字是有生命力的，于是想到了「妙不可言」，正好是写文字时想表达的感觉。现在我依然很喜欢这个名字，也一直在迭代，读起来朗朗上口，简单好记。这里想表达的是，产品名字需要和产品本身的功能，或者它想体现的意义有关。假如取了一个不相关的名字，虽然好听，你也不太好讲。</p>\n<p>第二个产品叫做 Pake，是一个用 Rust 写的、可以一条命令把网页打包成轻量桌面应用的工具。为什么这次开始取英文名？后来我发现妙言在国外用的人也很多，直接用 MiaoYan 这个拼音去介绍很奇怪，所以后面的产品，我尽量取一个大家多少都能看懂的名字。当时给 Pake 取名，我想到的是「打包」这两个字，换成英文是 Pack，这个词其实挺好，但太大众了。现在回想起来，这里的灵感和 Vue 很像：Vue 最开始应该是想叫 View，但尤大觉得这个名字太直接，就放到谷歌翻译里试，找到了它的法语翻译 Vue。我给 Pake 取名时也是这样，去找「打包」在各种语言里的翻译，最后发现在海地克里奥尔语里，打包就叫 Pake，狂喜，就取成这个了。而且这个名字很好拼写、好记、好打字，任何人用过之后应该都能记住，同时 Pake 自己的命令也是 <code>pake</code>，这样产品的使用和传播就很简单了。</p>\n<p>第三个产品就是我们更熟悉的 Mole 了，当时还是一个深度挖掘你 Mac 电脑垃圾的命令行工具。这次我是先取的中文名字，我一直把这个产品当做一个有动作、看似安静、勤恳清理垃圾的小可爱，当时就在想，什么小动物最贴合这种感觉，想了很久都没想到喜欢的。好像是在一本小孩的书上看到介绍鼹鼠，突然一想，对对对，就是我想要的，安静、小、疯狂挖掘。更惊喜的是，英文名 Mole 非常贴合我一贯的取名风格，好记、好写、好读，但不大众化，现在回忆起来很有意思，挺好玩的。</p>\n<p>后面 3 个产品被我不经意间做成了一个系列，那就是 Kaku、Waza、Kami。应该说，没有 Kaku 的取名，就没有后面这两个产品的名字。Kaku 是我去年春节长假写的一个轻量、简单、开箱即用、AI 友好的命令行终端工具，取名的时候我唯一想到的，就是这个产品一定要表达出轻快、很爽的感觉。然后我开始随口乱念不同的词，最后最后，发现 kaku kaku kaku 念起来非常爽，就按照这个音去找，发现 kaku 是日语里「書く」这个词，意思是书写。太有意思了，终端和书写的关系很近，而且很有诗意，它还是《海贼王》里的一个角色，立马就取了这个名字。后面的 Waza 是日语的「技」，对应我做的工程师 Skills，也很贴合。Kami 是「紙」，是我那套「好内容值得好版面」的排版 Skills 的名字，正是我想表达的意思，纸面是干净的，可以写出很多有价值的东西。</p>\n<p>并不是说名字对产品至关重要。比如 Anthropic 刚出来的时候，我非常讨厌这个名字，因为永远记不住怎么拼，但也不妨碍它的产品和模型成功，没有什么必然关系。即使你的产品叫做二狗，只要非常牛逼，也不妨碍它成功。不过有些名字还是会带来影响，比如还有一个丑名字叫做 Antigravity，甚至比 Anthropic 更难读难写。其实从它刚刚推出时，我就有点儿感觉这个产品很难成功，因为本身模型并非第一第二，只能更多靠产品能力来拼，结果产品能力也不太好，就变成现在这样了。此外，也不是名字短、看着简单就好。比如 Trae，我到今天还是很容易打成 trea，或者忘记怎么打，可见名字短、字母简单不等于好名字，它不好记、不好拼，看起来也没什么含义。假如他不告诉你这是 The Real AI Engineer 的缩写，可能永远不会有人知道，这样就比较难在大众市场打开。</p>\n<p>一不小心就碎碎念了这么多，比较想表达的就是，产品应该有自己的调性和性格，不能千篇一律。当然，我说的取名方法更适合我自己，适合我的性格。对你而言，产品也需要贴合你的性格和喜好，比如你喜欢日本动漫，就可以多往里面的角色靠近，你喜欢中国古代神话，也可以从里面找一些稀有但有趣的名字。最后最后，我认为名字一定要朗朗上口、好读、好记、好写，不长，甚至在键盘上敲起来很无感。</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第278期 - 大巧若拙","link":"https://weekly.tw93.fun/posts/278/","pubDate":"Mon, 17 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27853.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27853.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27853.JPG\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>封面图是周末在上海 CityWalk 时，拍到的一家门店门口的招牌，名字叫“不拙”，让我想到了大巧若拙，形容一个人做事看似朴实、不走捷径，其实藏着大智慧，希望我的产品也是这样的。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"随便写写\">随便写写</h2>\n<p><strong>Mole 出 Mac 版后，用户教会了我做产品</strong><br>\n<a href=\"https://tw93.fun/2026-08-16/mole-mac.html\">https://tw93.fun/2026-08-16/mole-mac.html</a><br>\n好久没有写长文了，终于写了一篇，把最近独立开发 Mole 的一些思考整理了进去，希望能给正在做产品的你一些帮助。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/mole-mac-cover.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/mole-mac-cover.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/mole-mac-cover.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\"></p>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>AgentsView：浏览和分析你的 Agent 使用情况</strong><br>\n<a href=\"https://www.agentsview.io/\">https://www.agentsview.io/</a><br>\n一款本地优先的应用，可以浏览、搜索和分析过去的 AI Coding 会话，看看 Agent 的时间和钱都花在了哪里，还能按项目、模型和工具分别查看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/uYtRtK52.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/uYtRtK52.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/uYtRtK52.png\" loading=\"lazy\" data-pswp-width=\"1440\" data-pswp-height=\"900\" style=\"aspect-ratio: 1.6000;\" width=\"800\"></p>\n<p><strong>从 X 上发现初创公司的产品发布视频</strong><br>\n<a href=\"https://whatships.com/\">https://whatships.com/</a><br>\n丁老师做了一个工具，把现在 X 上一些产品的发布视频收集了起来，不少视频做得很好，挺值得学习。下次有产品需要发布时，可以去看看有没有新思路。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ibxdqH09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ibxdqH09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ibxdqH09.png\" loading=\"lazy\" data-pswp-width=\"4026\" data-pswp-height=\"2290\" style=\"aspect-ratio: 1.7581;\" width=\"800\"></p>\n<p><strong>给你的 AI 一个 brain.md</strong><br>\n<a href=\"https://projectbrain.md/\">https://projectbrain.md/</a><br>\n这个思路有点意思。作者说，AI 会忘记所有事情，除非你给它一个脑子，brain.md 就是那个脑子。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/9RcLFg00.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/9RcLFg00.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/9RcLFg00.png\" loading=\"lazy\" data-pswp-width=\"3084\" data-pswp-height=\"1906\" style=\"aspect-ratio: 1.6180;\" width=\"800\"></p>\n<p><strong>nowdex：快速查看 Agent 用量</strong><br>\n<a href=\"https://apps.apple.com/cn/app/nowdex/id6791450777\">https://apps.apple.com/cn/app/nowdex/id6791450777</a><br>\n这是一款免费的 iOS 应用，可以帮你快速查看 Agent 使用量，也支持桌面小组件。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ysicE547.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ysicE547.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ysicE547.png\" loading=\"lazy\" data-pswp-width=\"2942\" data-pswp-height=\"1532\" style=\"aspect-ratio: 1.9204;\" width=\"800\"></p>\n<p><strong>如何去掉这个讨人厌的 Claude Code URL Handler.app？</strong><br>\n终于把 Claude Code 在 Mac 上注册的这个 Claude Code URL Handler.app 干掉了，没有图标，看着很丑，一直让我这个强迫症很难受，直接卸载也没用。其实只要在 <code>~/.claude/settings.json</code> 里加上 <code>\"disableDeepLinkRegistration\": \"disable\"</code> 即可。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/mEPOJg41.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/mEPOJg41.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/mEPOJg41.png\" loading=\"lazy\" data-pswp-width=\"1144\" data-pswp-height=\"633\" style=\"aspect-ratio: 1.8073;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>报告研读：AI 提了谁的效？员工为何感觉更累了？</strong><br>\n<a href=\"https://mp.weixin.qq.com/s/GFx3FfRfheX0Tp7V-pGOww\">https://mp.weixin.qq.com/s/GFx3FfRfheX0Tp7V-pGOww</a><br>\n我有个感觉，科技越发达，打工的人反而越累。AI 出现以前，大家好像还轻松一些，不过这可能也跟当时的经济环境有关。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/5Ez4qx34.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/5Ez4qx34.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/5Ez4qx34.png\" loading=\"lazy\" data-pswp-width=\"3408\" data-pswp-height=\"1848\" style=\"aspect-ratio: 1.8442;\" width=\"800\"></p>\n<p><strong>Agent 评测漫谈：由浅入深讲解 Agent 评测</strong><br>\n<a href=\"https://tech.meituan.com/2026/08/07/Agent-Evaluation.html\">https://tech.meituan.com/2026/08/07/Agent-Evaluation.html</a><br>\n美团这篇关于 Agent 评测的文章挺值得看，讲得比较细，可以和企业内部的一些评测方法对照着看，虽然里面也有不少内容参考了其他资料。</p>\n<p><strong>AGENTS.md 完整指南</strong><br>\n<a href=\"https://www.aihero.dev/a-complete-guide-to-agents-md\">https://www.aihero.dev/a-complete-guide-to-agents-md</a><br>\n这篇文章挺值得一看，可以用来优化你自己的 AGENTS.md，里面不少细节也很符合现在的使用情况，可以直接让你的 Agent 读一下。</p>\n<p><strong>非常推荐去看《欢迎来龙餐馆》</strong><br>\n<a href=\"https://movie.douban.com/subject/35811064/\">https://movie.douban.com/subject/35811064/</a><br>\n周末去看了一下，的确是我最近几年看过最好看的国产电影，文牧野导演的能力很厉害，看完特别感动，我也很喜欢蒋奇明的风格。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/rE53aI00.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/rE53aI00.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/rE53aI00.png\" loading=\"lazy\" data-pswp-width=\"1080\" data-pswp-height=\"607\" style=\"aspect-ratio: 1.7792;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第277期 - 小叶赤楠","link":"https://weekly.tw93.fun/posts/277/","pubDate":"Mon, 10 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27756.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27756.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27756.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4284\" data-pswp-height=\"3263\" style=\"aspect-ratio: 1.3129;\" width=\"800\">\n<p><small>封面图拍摄于我书桌音箱上放的非常小的盆栽，叫做小叶赤楠，非常有生命力的样子，挺适合放到室内养，不过有一点点小叶子容易掉，但是视觉还是很不错，我喜欢我的书房有点儿生命力。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>Tinycast：一个开源的做得很不错的替代 Raycast</strong><br>\n<a href=\"https://abue-ammar.github.io/tinycast/\">https://abue-ammar.github.io/tinycast/</a><br>\n试了试做得很不错，相比 Raycast 要更轻，但是覆盖了不少我常用的附加功能，比如剪贴板管理、窗口管理、快捷键等等，关键是相比之前看到的开源产品要精致不少，我还顺手给作者提交了好几个建议。<br>\n<video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" muted><source src=\"https://cdn.tw93.fun/uPic/zXITSrc_HJpKjSyU24.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Maya：把你的录屏变成可以被分享的视频</strong><br>\n<a href=\"https://ronaldo-avalos.github.io/Maya/\">https://ronaldo-avalos.github.io/Maya/</a><br>\n厉害了，是开源免费的，这个工具可以把你的 iPhone 屏幕录制用手机壳包裹起来，然后添加电影感的缩放动效，非常适合做你的产品视频，对标这一类 Rotato 付费产品。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/GnOiIo59.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/GnOiIo59.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/GnOiIo59.png\" loading=\"lazy\" data-pswp-width=\"2236\" data-pswp-height=\"1428\" style=\"aspect-ratio: 1.5658;\" width=\"800\"></p>\n<p><strong>在推特上看到一个很不错的 AI 换装插件，好厉害</strong><br>\n<a href=\"https://anywear.decart.ai/\">https://anywear.decart.ai/</a><br>\n来源于 Paidax 推特的一个分享的案例，Try clothes on, anywhere online 这个思路好棒啊，我感觉可以给电商非常多的点子，相比之前的技术厉害太多了。<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.tw93.fun/uPic/VPEz98liVxKD7unj32.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>在线美股编年史</strong><br>\n<a href=\"https://historyofmarket.com/\">https://historyofmarket.com/</a><br>\n这个美股编年史的资料太太太丰富了，包括标普 500、纳斯达克、半导体、信息科技、金融、七姐妹、Top 10 等资料，等我空了，一定要好好看看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ZgG0N430.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ZgG0N430.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ZgG0N430.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>How we built a realtime system for responsive voice AI in six months</strong><br>\n<a href=\"https://openai.com/index/continuous-voice-interaction-with-gpt-live/\">https://openai.com/index/continuous-voice-interaction-with-gpt-live/</a><br>\nOpenAI 官方博客的一篇文章，讲他们是如何把现在的 voice AI 效果做得这么好的，里面有不少东西值得学习。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/HulhWE39.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/HulhWE39.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/HulhWE39.png\" loading=\"lazy\" data-pswp-width=\"1418\" data-pswp-height=\"1026\" style=\"aspect-ratio: 1.3821;\" width=\"800\"></p>\n<p><strong>买了一个 Android 小平板</strong><br>\nOppo Mini，需要有预期，软件适配没有 iPad 好，我当做浏览器和主要看内容用，轻薄和边框很窄很喜欢，拿在手里看东西挺舒服，第一时间去优化了一下我的产品在上面的展示，更舒服了。</p>\n<table>\n    <tbody><tr>\n        <td width=\"25%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_260542.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_260542.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_260542.JPG\" loading=\"lazy\" data-pswp-width=\"4284\" data-pswp-height=\"5712\" style=\"aspect-ratio: 0.7500;\" width=\"400\">\n        </td>\n        <td width=\"25%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_260649.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_260649.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_260649.JPG\" loading=\"lazy\" data-pswp-width=\"4284\" data-pswp-height=\"5712\" style=\"aspect-ratio: 0.7500;\" width=\"400\">\n        </td>\n        <td width=\"25%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_260955.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_260955.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_260955.jpg\" loading=\"lazy\" data-pswp-width=\"4058\" data-pswp-height=\"5410\" style=\"aspect-ratio: 0.7501;\" width=\"400\">\n        </td>\n          <td width=\"25%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_261001.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_261001.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_261001.JPG\" loading=\"lazy\" data-pswp-width=\"4010\" data-pswp-height=\"5347\" style=\"aspect-ratio: 0.7500;\" width=\"400\">\n        </td>\n    </tr>\n</tbody></table>\n<p><strong>聊聊独立开发者并不仅仅是独立开发</strong></p>\n<p>最近看到不少关于独立开发者的思考内容，想着就 Mole 从开源 Cli 到 Mac 付费软件这个过程来给大伙聊一聊我的思考和做的哪些事情是有效的，希望可以给大家一些帮助。</p>\n<ol>\n<li>\n<p>开始之前要多培养自己在产品工程师的能力，这个里面代码能力只占 30%，更重要是如何把自己的痛点和大部分用户痛点结合起来，产出一个方便易用的产品解决方案，同时懂得如何更好的推荐给你的用户，让他们发现多亏了有这个产品解决了我的一个大问题，也即产品工程师=用研+产品+工程师+运营+数据+商业这几类角色的综合体。</p>\n</li>\n<li>\n<p>接上条，AI 时代代码壁垒越来越小，更需要把控的是如何做到把 Token 刚好花费到解决用户问题上，然后把更多 Token 用在你的需求分析讨论、数据下钻挖掘问题、内容友好性易读上面，因为即使你有多个 250 刀的账号其实也不够用的，不介意多花 Token，但需要用到实处，Token 在我看来属于投资，但是投资也需要讲究收益。</p>\n</li>\n<li>\n<p>聊到需求把控，不做什么远比做什么要重要太多了，在我大一刚刚入门程序员时候，非常幸运看了不少讲工程师修炼的书籍，如无必要，勿增实体，至繁归于至简，慢慢让我在生活、工作、代码中都保持这个习惯，讨厌繁琐和乱，喜欢漂亮简单、不要看说明书就可以用的东西。</p>\n</li>\n<li>\n<p>你完全不需要给你的产品憋大招，你需要尽量做到每周都有发布，每周都有 Release，及时解决用户的问题，和用户形成人与人交流那种真实的活人世界的互动，非常重要，每次你的发布、更新、宣发其实都是一次非常好和用户沟通的机会，也让你的产品持续可以让更多之前没看到你消息的人了解到。</p>\n</li>\n<li>\n<p>聊到产品运营，尽量尽量少用 AI 话来让你和真实世界交流，推特是一个非常好的渠道，可以让你的好东西被很多人发现，只要好用，会有大量的朋友帮你宣传，但是千万不要做那种蓝勾互关以及互推的路，没有必要凑这种虚假繁荣的热闹，因为你的用户不在这里，产品运营一定有一个前提，是你的产品是漂亮的、精致的，让之前不知道的人第一次见到就很有兴趣来点击试用你的产品，而非快速刷走了。</p>\n</li>\n<li>\n<p>可能你会说“我”没有啥粉丝宣传没有用，其实不太对，但是也非常不建议大家抱着很深的功利心去把自己账号做上去，因为这样会让你焦虑，反而把你的号也当做一个品牌去建设，你自己就是这个品牌的本身，你的思考、想法、产品更新、见解、交流、评论都是在给你的自己品牌在加信任值，信任这个东西在当今虚假又繁荣的 AI 世界尤其重要，太多说得非常牛逼，但是点进去感觉一般的东西，已经把大量用户的预期拉低非常多，导致即使你有一个好产品，但是没有任何用户信任，依然还是得不到关注，这里可以做的非常长期，你在互联网上待多久，这个品牌其实就会活多久，是你生命周期最长的产品了。</p>\n</li>\n<li>\n<p>聊到用户信任，就一定要聊到真诚，我还是非常喜欢开源、喜欢非撕逼的友好网络环境，也很建议你的产品一开始就是全球化的或者说是出海的，也非常建议大家多发英文类的内容，你会发现世界很大，你的用户很广，你的用户会非常从一开始就信任你，以及力所能及帮助大家，绝大可能你帮助的人会成为你未来的用户，因为有过真实交情。</p>\n</li>\n<li>\n<p>尽量不要去花钱推广，但是可以靠自己多让你的好东西的用户中刚好也有博主，推特我感觉其实脉冲很高，但是时效一般，反而非常建议你有些东西可以发到 Youtube，这里的衰减度非常慢，你的产品只有够好，有人推荐，可以在上面火非常长时间，给你带来很大的收益。</p>\n</li>\n<li>\n<p>一定要学习数据分析，这个特别有用，从你的销量数据分维度分时间去分析，结合流量数据，结合用户评论，以及你和用户交流的所有内容，以及用户的退款原因，假如是开源产品，还有用户的所有 issue，都是非常宝贵的数据资源，能够帮你发现特别多你不知道的问题，也能够帮助你做到更好，以及发现销售的漏斗，你才会知道如何更好优化。</p>\n</li>\n<li>\n<p>碎碎念手写有点啰嗦，假如你喜欢，也非常欢迎去 Mole 的官网看看，玩一玩 Mole 这个产品，说不定可以给你的产品建设带来一些输入。</p>\n</li>\n</ol><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第276期 - 树和建筑","link":"https://weekly.tw93.fun/posts/276/","pubDate":"Mon, 03 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27646.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27646.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27646.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4899\" data-pswp-height=\"3674\" style=\"aspect-ratio: 1.3334;\" width=\"800\">\n<p><small>封面图拍摄于一个阴天，我一直感觉这种光面玻璃的建筑假如光秃秃放到城市里面会不那么好看，但是假如周围有很多树，看着就舒服多了。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>Kaset：Mac 版本的 YouTube Music 做得不错</strong><br>\n<a href=\"https://github.com/sozercan/kaset\">https://github.com/sozercan/kaset</a><br>\n之前试用过很多 Mac 版本的 YouTube Music，Pake 也出过，不过我感觉这个做得很细致，体验很好，推荐给大伙试试。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/jHmQi002.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/jHmQi002.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/jHmQi002.png\" loading=\"lazy\" data-pswp-width=\"3052\" data-pswp-height=\"2014\" style=\"aspect-ratio: 1.5154;\" width=\"800\"></p>\n<p><strong>格式转换已经不要折腾了</strong><br>\n接上条的视频，本来想做一个自己用的格式转换工具，我需要把 iPhone 的 MOV 格式视频转成 MP4，之前一般会去下载大菠萝转换，转眼一想，直接告诉我的 AI，非常快就帮我转好了，下次你有各种格式转换需求其实都可以试试。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/SCR-20260802-trxd10.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/SCR-20260802-trxd10.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/SCR-20260802-trxd10.png\" loading=\"lazy\" data-pswp-width=\"3384\" data-pswp-height=\"1878\" style=\"aspect-ratio: 1.8019;\" width=\"800\"></p>\n<p><strong>假如你习惯用 tmux，可以试试这个新东西 herdr</strong><br>\n<a href=\"https://herdr.dev/\">https://herdr.dev/</a><br>\n看了看做得挺不错的，假如你是 tmux 的死忠粉，可以试试这个，更 AI 友好，更加简洁，我看了看做得不错。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/1gevLE01.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/1gevLE01.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/1gevLE01.png\" loading=\"lazy\" data-pswp-width=\"3972\" data-pswp-height=\"2296\" style=\"aspect-ratio: 1.7300;\" width=\"800\"></p>\n<p><strong>img2threejs：把图片转成 3D 效果</strong><br>\n<a href=\"https://github.com/img2threejs/img2threejs\">https://github.com/img2threejs/img2threejs</a><br>\n这个 Image to threejs 做得挺不错的，把原来写 threejs 的成本大大降低了。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/84PezB26.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/84PezB26.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/84PezB26.png\" loading=\"lazy\" data-pswp-width=\"5344\" data-pswp-height=\"3044\" style=\"aspect-ratio: 1.7556;\" width=\"800\"></p>\n<p><strong>这个器官的 3D 效果展示做得不错</strong><br>\n<a href=\"https://anatomy-livid.vercel.app/\">https://anatomy-livid.vercel.app/</a><br>\n对于生物/医学专业的同学，或者喜欢生物的小伙伴可以看看，感觉做得很专业，很有学习的感觉。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/uVLcvk48.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/uVLcvk48.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/uVLcvk48.png\" loading=\"lazy\" data-pswp-width=\"5344\" data-pswp-height=\"3044\" style=\"aspect-ratio: 1.7556;\" width=\"800\"></p>\n<p><strong>UU 远程：这个远程工具太太好用了</strong><br>\n<a href=\"https://uuyc.163.com/\">https://uuyc.163.com/</a><br>\nUU 远程，我愿称之为 AICoding 年代帮忙打辅助的最好用的免费 iPhone 应用，远程速度、清晰度、延迟都处理得非常好，配合 Claude / Codex 手机版，真好用啊！<br>\n<video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" controls muted><source src=\"https://cdn.tw93.fun/uPic/uuremote48.mp4\" type=\"video/mp4\"></video></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>Mole Mac 给我的 4 个 Aha 瞬间</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\n恭喜 Mole CLI 达到了 60K 的 Star，从去年国庆当时我在三亚泳池写下几百行代码开源至今，居然累计发布了 55 个版本，累计有 112 位来自全球各地的真实开发者贡献了非常多的代码，后面写了 Mole Mac，带原生 GUI 和更多能力的 Pro 版本，分享 4 个我自己使用时的 Aha Moment。</p>\n<p>第一个是，有一天下午居然收到了一个消息通知，说我的 AirPods 电量不足要充电了，这个功能惊喜到我了，是当时做电池健康的时候 AI 主动给我加上的，Mole 会提醒和 Mac 关联的、带电池的蓝牙设备低电量需要充电，但是我一直没有遇到这个场景，直到遇到了，感觉非常贴心，但不频繁打扰。</p>\n<p>第二个是，对于每日都在使用的我来说居然还可以清理掉 86G，之前有一个版本加上了清理项目里面肯定无用的 build 编译内容，我的 Rust 项目产生了不少 target 内容，一下子清理这么多，非常有满足感。</p>\n<p>第三个是，屏幕常亮的功能，经过用户提醒给加上了 3 种不同的常亮行为，我还是喜欢把屏幕打开的方式，比如周末你突然出门，你的 AICoding 可以用手机客户端很好地控制让他干活，非常稳定，也帮我节约了不少异步的时间。</p>\n<p>第四个是，Mole 的电量显示居然也支持展示你的 iPhone 的电量了，之前这一块不是很好实现，但是很巧妙地实现了，现在可以在状态里面很清楚地看到与你相关的设备的电量情况，也不打扰，但是很安心。</p>\n<p>更神奇的是，以上这 4 个功能的起源都不是我想到的，是初期使用 Mole 的朋友反馈告诉我要加的功能，我加上后对我帮助非常大，非常感谢！话说你使用 Mole Mac 有哪些惊喜的地方，以及你非常建议 Mole 加上的功能，欢迎告诉我。</p>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/XyR6MX25.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/XyR6MX25.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/XyR6MX25.png\" loading=\"lazy\" data-pswp-width=\"3598\" data-pswp-height=\"2019\" style=\"aspect-ratio: 1.7821;\" width=\"800\">\n<p><strong>随便说说投资</strong><br>\n股票波动会教育每一个认为自己是股神的人，也会奖励每一个沉得住气的人，留有现金很重要，看准价值投资方向更重要，在每次市场沮丧的时候低位入场，在热情高涨、大家都入场的时候淡定在卖点回收现金当做子弹，一年只操作几次，只买让自己睡好觉的股票，不碰中概股，其他时间做自己喜欢的事情，这也许是我长期迭代的投资准则。</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第275期 - 蓝色黄昏","link":"https://weekly.tw93.fun/posts/275/","pubDate":"Mon, 27 Jul 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27534.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27534.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27534.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5413\" data-pswp-height=\"4060\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>封面图拍摄于周五晚上出去吃饭，看到的一个蓝色黄昏的天空，这个蓝色我很喜欢，很舒服的那种蓝。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>Bento：把在线 PPT 塞到一个文件里</strong><br>\n<a href=\"https://github.com/nyblnet/bento\">https://github.com/nyblnet/bento</a><br>\n这个思路和解决方案不错，动画、视频、网页设计啥的都放进一个 HTML 里面，这个文件同时也是你的文档、编辑器和播放器，也很适合让 AI 持续编辑迭代，有兴趣的小伙伴可以去玩玩看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/zHKfAj50.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/zHKfAj50.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/zHKfAj50.png\" loading=\"lazy\" data-pswp-width=\"3974\" data-pswp-height=\"2020\" style=\"aspect-ratio: 1.9673;\" width=\"800\"></p>\n<p><strong>peek-cli：让你的 Coding Agent 更好看到网页</strong><br>\n<a href=\"https://github.com/puffinsoft/peek-cli\">https://github.com/puffinsoft/peek-cli</a><br>\npeek-cli 可以让 Agent 直接截取浏览器里任意一个已打开标签页的画面，适合在反复迭代前端设计的场景里持续调到最好的效果。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/qa3wJh33.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/qa3wJh33.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/qa3wJh33.png\" loading=\"lazy\" data-pswp-width=\"3054\" data-pswp-height=\"1778\" style=\"aspect-ratio: 1.7177;\" width=\"800\"></p>\n<p><strong>clawk：给你的 Coding Agent 一个一次性的 Linux 虚拟机</strong><br>\n<a href=\"https://github.com/clawkwork/clawk\">https://github.com/clawkwork/clawk</a><br>\n担心 AI Coding 的执行破坏你的电脑，或者你非常喜欢用 <code>--dangerously-skip-permissions</code>，又怕泄露密钥啥的，可以试试这个工具，它会自动帮你创建一个一次性的 Linux 虚拟机，防止运行过程中出事。<br>\n<img src=\"https://cdn.tw93.fun/uPic/demo47.gif\" width=\"800\"></p>\n<p><strong>好久没有给大伙同步 Kaku 的更新了</strong><br>\n<a href=\"https://kaku.fun\">https://kaku.fun</a><br>\n这个是我过年期间基于 WezTerm 深度魔改定制的一个 AI 友好、默认好看、性能很棒的开源 Mac 终端，当前累计迭代了 23 个版本，从最开始的很简单，到现在看着还是很简单，但是功能越用越顺手，也补充上了官网，加上了友好的使用文档。</p>\n<p>我平时把他当做我的主要工作站，相比 GUI 我现在还是喜欢 TUI，因为简单干脆，所以我的开源产品以及 Mole 差不多 90% 的代码是通过 Kaku 终端来实现的。最近开始用云端服务器部署一些自己的东西，终于完善了一下 SSH 的使用，也借助 Fable 5 优化了不少 Rust 底层渲染的性能，启动速度快了很多。我比较习惯一个项目一个 Tab，Tab 里用快捷键分成两屏，一边 coding 一边测试一些东西，非常方便，切换和关闭 Tab 几乎和浏览器一样，不少原来你在浏览器里的顺手操作被我移植到了终端上面。</p>\n<p>说到 AI，Kaku 属于不打扰那种，一般会出现在你执行命令错了，或者忘记了一个命令直接说 #人话 他会告诉你实际命令，或者是你不想打开 codex，可以直接 CMD+L 唤起一个 AI 聊天面板直接聊天，把终端当做你的一个天然 AI 友好的环境。最近 2 个版本主要修复了不少使用上的体验问题，包括 AI 的使用、标签的快捷关闭、Starship 的兼容、在 SSH 里面的使用，还有分屏导航、重命名标签等等细节的优化，假如你想简单快速，喜欢好看的东西，那就欢迎你试试这个开源的终端 Kaku，也很欢迎你提使用过程中的建议，帮助 Kaku 做得更好。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/SCR-20260726-sqti21.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/SCR-20260726-sqti21.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/SCR-20260726-sqti21.png\" loading=\"lazy\" data-pswp-width=\"4314\" data-pswp-height=\"2620\" style=\"aspect-ratio: 1.6466;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>Andrej Karpathy 这个口喷式大段话给到 AI 不错</strong><br>\n<a href=\"https://x.com/karpathy/status/2079610838143623371\">https://x.com/karpathy/status/2079610838143623371</a><br>\n和 LLM 协作有一种很好用的方式：往椅背上一靠，切到语音输入，随口絮叨个十分钟，乱七八糟，想到哪说到哪，开头还可以先交代一句“我在用语音识别，有错别字请见谅”。不知道为什么，LLM 很擅长从这种又长又乱的絮叨里把内容重新整理出来，它复述回来的版本，往往比你自己讲的那一遍清楚得多，后面聊起来更顺，要纠正的地方也更少。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/mtf8tr09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/mtf8tr09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/mtf8tr09.png\" loading=\"lazy\" data-pswp-width=\"675\" data-pswp-height=\"499\" style=\"aspect-ratio: 1.3527;\" width=\"800\"></p>\n<p><strong>Dan Shipper 关于 Claude Opus 5 的这个评价我挺赞同</strong><br>\n<a href=\"https://x.com/danshipper/status/2080700057892815114\">https://x.com/danshipper/status/2080700057892815114</a><br>\n花了一周时间，在编码、写作、知识工作和自己的智能体上把 Opus 5 全面测了一遍，结论是这个模型很难让人喜欢，会跟你的指令对着干，活还没干完就停下来，和原来的技能、插件也配合不好。后来把旧技能全删了从头搭，效果反而好了很多，所以别硬塞进已有的工作流，思考级别调到中或者低也比开满好用。最难的活还是留给 Fable，其他都给 GPT-5.6，Opus 5 像“穷人版 Fable”，有天才模型的脾气却没有天才的上限，卡在一个挺尴尬的中间位置。</p>\n<p><strong>5 Trends That Defined AI Engineering at World’s Fair 2026</strong><br>\n<a href=\"https://www.latent.space/p/aiewf26trends\">https://www.latent.space/p/aiewf26trends</a><br>\n这篇文章把 Harness、Loop、Skills、企业部署和 Coding Agent 串成了一张完整路线图，值得看看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/hnWSbK53.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/hnWSbK53.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/hnWSbK53.png\" loading=\"lazy\" data-pswp-width=\"1456\" data-pswp-height=\"819\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>随便帮你打开一个世界各地的窗户</strong><br>\n<a href=\"https://www.window-swap.com/Window\">https://www.window-swap.com/Window</a><br>\n这个网站有点意思，好比世界各地的人把自己窗户外的景色分享给你，你可以随机切换，随便看看，我下午就把这个当做了我的壁纸了，看着很舒服。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/kHHhdE31.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/kHHhdE31.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/kHHhdE31.png\" loading=\"lazy\" data-pswp-width=\"2874\" data-pswp-height=\"1710\" style=\"aspect-ratio: 1.6807;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第274期 - 海阔天空","link":"https://weekly.tw93.fun/posts/274/","pubDate":"Mon, 20 Jul 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27453.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27453.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27453.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>封面图拍摄于深圳的一个晚上，刚下完雨，天空很清晰，这栋楼叫海阔天空雅居，甚至还能看到远方的百度。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>wong2 做了一个用来查看 Codex 额度重置的工具</strong><br>\n<a href=\"https://codex-resets.com/\">https://codex-resets.com/</a><br>\n挺有意思，Codex 的使用额度什么时候重置，主要看 @thsottiaux 什么时候发推宣布，感觉像是他手里有个开关。没有固定时间表，也没有更新日志，这个工具会帮你盯着他的推特，只要发了重置消息就告诉你，哈哈哈。话说我最近的 Codex 额度完全用不完了。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/9zFep508.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/9zFep508.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/9zFep508.png\" loading=\"lazy\" data-pswp-width=\"3164\" data-pswp-height=\"2228\" style=\"aspect-ratio: 1.4201;\" width=\"800\"></p>\n<p><strong>Trees：一个好看的文件树渲染库</strong><br>\n<a href=\"https://trees.software/\">https://trees.software/</a><br>\n这个文件树渲染得真好看，我挺喜欢这种简单又好看的东西，如果你要做编辑器的侧边栏文件树，可以参考一下。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/lEQhIy33.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/lEQhIy33.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/lEQhIy33.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>Bark：可给自己的 iPhone 推送消息的开源工具</strong><br>\n<a href=\"https://github.com/Finb/Bark\">https://github.com/Finb/Bark</a><br>\n一款开源免费的通知推送 App，基于 APNs 实现，不会额外消耗设备电量，也支持 iOS 通知的多种高级功能：推送分组、自定义图标和铃声、时效性通知、重要警告等。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/QMnaYL10.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/QMnaYL10.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/QMnaYL10.png\" loading=\"lazy\" data-pswp-width=\"2430\" data-pswp-height=\"1934\" style=\"aspect-ratio: 1.2565;\" width=\"800\"></p>\n<p><strong>WhatCable：搞清楚你的 USB-C 线能做什么</strong><br>\n<a href=\"https://www.whatcable.uk/\">https://www.whatcable.uk/</a><br>\n这个工具可以清楚告诉你一根 USB-C 线能做什么，比如线缆速度、充电限制和已连接的设备。你还可以给线缆命名，让它持续跟踪实际表现，之后就能知道为什么这根线充电慢，或为什么接不了显示器。思路挺好，不过比较小众。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/cQ7ITN19.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/cQ7ITN19.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/cQ7ITN19.png\" loading=\"lazy\" data-pswp-width=\"3022\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.2634;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>Phistory：看看主流 AI Coding 工具的系统提示词每次更新了啥</strong><br>\n<a href=\"https://phistory.cc/?agent=claude-code&#x26;from=2.1.141&#x26;to=2.1.215\">https://phistory.cc/?agent=claude-code&#x26;from=2.1.141&#x26;to=2.1.215</a><br>\n很适合想研究 AI Coding 迭代变化的朋友，网站用 diff 把每次改动展示得很清楚。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/pgmjjD23.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/pgmjjD23.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/pgmjjD23.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>这个网站收集了非常好看的 Mac App</strong><br>\n<a href=\"https://macapp.supply/\">https://macapp.supply/</a><br>\n网站本身也设计得不错，里面收集的 Mac App 整体质感也很可以，挺值得学习。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/5SlEcC34.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/5SlEcC34.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/5SlEcC34.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>Anthropic 如何使用 Claude Code 进行大规模代码迁移</strong><br>\n<a href=\"https://claude.com/blog/ai-code-migration\">https://claude.com/blog/ai-code-migration</a><br>\n这篇 Claude 官方博客挺值得一看，讲了 Bun 把百万行代码从 Zig 移植到 Rust 的过程，对大公司迁移老旧的大型仓库也有一些参考。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/QZiACS37.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/QZiACS37.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/QZiACS37.png\" loading=\"lazy\" data-pswp-width=\"1109\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.5415;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第273期 - 一堆椅子","link":"https://weekly.tw93.fun/posts/273/","pubDate":"Mon, 13 Jul 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27342.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27342.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27342.JPG\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5496\" data-pswp-height=\"3911\" style=\"aspect-ratio: 1.4053;\" width=\"800\">\n<p><small>封面图拍摄于天目里一家店的门口，放着一堆椅子，写着以物为介，拥抱传统，我相比起 AI 世界更加喜欢现实世界，也更加向往真实的感受。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>最近我非常喜欢的地铁的背景音</strong><br>\n<a href=\"https://www.yamanote.fun/\">https://www.yamanote.fun/</a><br>\n作者把山手线的车站旋律、广播、车门提示音和列车声音融合在一起，营造出这条东京人最喜爱的环线铁路的完整听觉体验，非常有意思，当做背景音乐我很喜欢，和我当时坐的时候感觉非常一样。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/mUuuQu23.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/mUuuQu23.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/mUuuQu23.png\" loading=\"lazy\" data-pswp-width=\"3106\" data-pswp-height=\"1948\" style=\"aspect-ratio: 1.5945;\" width=\"800\"></p>\n<p><strong>杀死 AI slop</strong><br>\n<a href=\"https://killaislop.com/\">https://killaislop.com/</a><br>\n哈哈，我也非常不喜欢那种 AI 做出来的丑丑的东西，发现了 yetone 做的这个网站，很有意思，把很多丑的案例帮你展示出来了，同时还给了你一个 skill 去帮你清理干净，我用这个也验证了一下我做的所有的东西，还好没有命中。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/s9fJmu55.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/s9fJmu55.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/s9fJmu55.png\" loading=\"lazy\" data-pswp-width=\"3022\" data-pswp-height=\"2200\" style=\"aspect-ratio: 1.3736;\" width=\"800\"></p>\n<p><strong>AppPorts：把你的 Mac 大的应用程序迁移到外部存储</strong><br>\n<a href=\"https://appports.shimoko.com/zh\">https://appports.shimoko.com/zh</a><br>\n这个工具适合 Mac 使用外挂硬盘的朋友，或者你可以试试这个工具。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/sdXGLY21.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/sdXGLY21.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/sdXGLY21.png\" loading=\"lazy\" data-pswp-width=\"3130\" data-pswp-height=\"2250\" style=\"aspect-ratio: 1.3911;\" width=\"800\"></p>\n<p><strong>一条命令找出你的硬件能运行哪些模型</strong><br>\n<a href=\"https://github.com/AlexsJones/llmfit\">https://github.com/AlexsJones/llmfit</a><br>\n一款终端工具，根据你系统的 RAM、CPU 和 GPU 为 LLM 模型匹配合适的规格。自动检测硬件，从质量、速度、适配度和上下文四个维度为每个模型打分，告诉你哪些模型能在你的机器上流畅运行。<br>\n<img src=\"https://cdn.tw93.fun/uPic/demo19.gif\" width=\"800\"></p>\n<p><strong>一些好看的 Loading 效果实现</strong><br>\n<a href=\"https://dotmatrix.zzzzshawn.cloud/\">https://dotmatrix.zzzzshawn.cloud/</a><br>\n虽然在 AI 时代其实这个东西有一种古法的感觉，不过其实可以多看看这种偏审美的东西，让你更知晓一些设计。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/swLiUX17.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/swLiUX17.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/swLiUX17.png\" loading=\"lazy\" data-pswp-width=\"3346\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.3988;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>给 Mole 的官网花了一天时间重构了一下</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\n不推荐产品，更多想和大伙聊聊我是怎么想的这个网站的风格，安静、不打扰、安全、可被信赖的感觉，然后我花了一天时间去重构，不得不说我更喜欢 Fable 5 的这种聪明的巧劲的 AI，欢迎大伙随便看看这个视频，哈哈，背景音乐放的我最喜欢的一个坂本龙一的钢琴曲《Merry Christmas, Mr. Lawrence》。<br>\n<video width=\"800px\" preload=\"metadata\" loop controls><source src=\"https://cdn.tw93.fun/uPic/new-mole12.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>读一个仓库之前可以让你的 AI 跑的 Git 命令</strong><br>\n<a href=\"https://piechowski.io/post/git-commands-before-reading-code/\">https://piechowski.io/post/git-commands-before-reading-code/</a><br>\n原文标题是 The Git Commands I Run Before Reading Any Code，里面有列举几个命令你可以试着跑跑，可以看到很多有意思的发现，不过我更推荐你可以让 AI 学习一下，然后去读你的仓库，会更有意思。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/mLwoZF15.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/mLwoZF15.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/mLwoZF15.png\" loading=\"lazy\" data-pswp-width=\"1600\" data-pswp-height=\"811\" style=\"aspect-ratio: 1.9729;\" width=\"800\"></p>\n<p><strong>Getting started with loops</strong><br>\n<a href=\"https://x.com/ClaudeDevs/status/2074208949205881033\">https://x.com/ClaudeDevs/status/2074208949205881033</a><br>\nClaudeDevs 官方 X 的一篇关于 Loop 的文章，写得很好，推荐看看，可以帮你更好了解这个 AI 里面的概念。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/c0CBq939.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/c0CBq939.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/c0CBq939.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"819\" style=\"aspect-ratio: 2.5006;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第272期 - 接天莲叶","link":"https://weekly.tw93.fun/posts/272/","pubDate":"Mon, 06 Jul 2026 00:00:00 GMT","description":"<p><video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" muted><source src=\"https://cdn.tw93.fun/uPic/hehua54.mp4\" type=\"video/mp4\" poster=\"https://cdn.tw93.fun/uPic/27209.png\"></video></p>\n<p><small>封面图拍摄于周末去西溪湿地航拍莲花，非常好看，也很震撼，人类在自然下面看着很小，无人机帮助我看到了太多好东西了。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>特地买了一台 Brother T735DW 打印机</strong><br>\n为了测试 Kami 的打印排版，特地买了一台 Brother T735DW 打印机，机器质感很好，挺喜欢，假如你需要买打印机可以看看这个品牌。打印出来的 Kami 排版的内容也很不错，当然我特地给升级了一个版本，让他更好支持打印机，小伙伴可以用起来，PS Brother 我居然还是第一次听说，不过很多老大哥说这个牌子很有名。<br>\n<video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" muted><source src=\"https://cdn.tw93.fun/uPic/kami07.MP4\" type=\"video/mp4\"></video></p>\n<p><strong>这个模拟劈柴的网站有点意思</strong><br>\n<a href=\"https://screen.toys/firewood/\">https://screen.toys/firewood/</a><br>\n有一个可视化劈柴的网站挺好玩，非常真实地让你有劈柴的感觉，当你 AICoding 累了可以玩玩看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/8dIM0035.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/8dIM0035.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/8dIM0035.png\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3322\" data-pswp-height=\"1988\" style=\"aspect-ratio: 1.6710;\" width=\"800\"></p>\n<p><strong>Glaze:这个构建和发布 Mac App 的新思路不错</strong><br>\n<a href=\"https://www.glaze.app/\">https://www.glaze.app/</a><br>\n相当于是让你用说话的方式 Vibe 出一个属于自己的桌面应用，来解决自己的问题，运行在你的 Mac，支持离线使用，也可以分发出去，有一点点下一代 Mac App Store 的感觉，可以去玩玩看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/YgphuJ15.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/YgphuJ15.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/YgphuJ15.png\" loading=\"lazy\" data-pswp-width=\"3424\" data-pswp-height=\"2038\" style=\"aspect-ratio: 1.6801;\" width=\"800\"></p>\n<p><strong>sensory-ui：当你的组件库有音效会是什么感觉？</strong><br>\n<a href=\"https://www.sensory-ui.com/#showcase\">https://www.sensory-ui.com/#showcase</a><br>\n当你的组件库有音效会是什么感觉？这个好好玩，适合玩一玩，让你的 shadcn/ui 变得有音效。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/qs75CX03.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/qs75CX03.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/qs75CX03.png\" loading=\"lazy\" data-pswp-width=\"3314\" data-pswp-height=\"2290\" style=\"aspect-ratio: 1.4472;\" width=\"800\"></p>\n<p><strong>Playwrite Tanzania：很像苹果手写体</strong><br>\n<a href=\"https://fonts.google.com/specimen/Playwrite+TZ?preview.script=Latn\">https://fonts.google.com/specimen/Playwrite+TZ?preview.script=Latn</a><br>\n这个字体真的非常像苹果的那个开机 hello 的手写体，很好看，八九不离十，有需要可以玩玩看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/6s4ew716.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/6s4ew716.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/6s4ew716.png\" loading=\"lazy\" data-pswp-width=\"3434\" data-pswp-height=\"2330\" style=\"aspect-ratio: 1.4738;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>这个书籍展示的效果好棒啊</strong><br>\n<a href=\"https://press.stripe.com/\">https://press.stripe.com/</a><br>\n试试 PC Web 打开，动效做的非常舒服，喜欢喜欢。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/GYgAl915.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/GYgAl915.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/GYgAl915.png\" loading=\"lazy\" data-pswp-width=\"3434\" data-pswp-height=\"2330\" style=\"aspect-ratio: 1.4738;\" width=\"800\"></p>\n<p><strong>适度介入：以用户意图调控 AI 存在感</strong><br>\n<a href=\"https://mp.weixin.qq.com/s/063MFQz-2Jkktdhpwf-jIw?scene=1\">https://mp.weixin.qq.com/s/063MFQz-2Jkktdhpwf-jIw?scene=1</a><br>\n不少 AI 产品都存在介入尺度失衡的问题：弹窗频发干扰操作，闲置时又浪费算力，如何让 AI 做到需时现身、闲置隐身？<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/4YjJGQ44.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/4YjJGQ44.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/4YjJGQ44.png\" loading=\"lazy\" data-pswp-width=\"1080\" data-pswp-height=\"789\" style=\"aspect-ratio: 1.3688;\" width=\"800\"></p>\n<p><strong>高考分数填报模拟器的可视化效果</strong><br>\n<a href=\"https://agentsfeed.org/app-demo/gaokao/index.html\">https://agentsfeed.org/app-demo/gaokao/index.html</a><br>\n这个效果非常好，感谢做出来的人，假如你的朋友需要填报志愿可以帮他一起看看，选好城市，选好大学还是很重要的。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/jR3BJV07.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/jR3BJV07.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/jR3BJV07.png\" loading=\"lazy\" data-pswp-width=\"3434\" data-pswp-height=\"2330\" style=\"aspect-ratio: 1.4738;\" width=\"800\"></p>\n<p><strong>也许你应该去学一点东西</strong><br>\n<a href=\"https://www.marginalia.nu/log/a_135_learn/\">https://www.marginalia.nu/log/a_135_learn/</a><br>\n这篇文章其实有用，对于我们大部分工程师，其实可以利用业余时间去学习一些其他领域的东西，会很有意思。</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第271期 - 精神家园","link":"https://weekly.tw93.fun/posts/271/","pubDate":"Mon, 29 Jun 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27158.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27158.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27158.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4826\" data-pswp-height=\"3619\" style=\"aspect-ratio: 1.3335;\" width=\"800\">\n<p><small>封面图拍摄于周末去我的精神家园，王小波的书店，坐了一上午，看那本看了好几遍的《一只特立独行的猪》，顺便喝了一杯叫“白银时代“的咖啡，还是很不错的。非常感谢有小伙伴指出之前几期周刊有点水，我沉迷到 AICoding 了，接受批评，以后还是保持内容更有趣一点好，争取成为大家的精神家园。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"潮流工具\">潮流工具</h2>\n<p><strong>claude-tap：给 AI 编程 agent 用的本地代理和 trace 查看器</strong><br>\n<a href=\"https://github.com/liaohch3/claude-tap\">https://github.com/liaohch3/claude-tap</a><br>\n把 CLI 通过它启动，或监听本地 app transcript，就能看到真实 API 流量和 agent 上下文：system prompt、对话历史、工具 schema、工具调用、流式响应、token 用量和请求 diff，对于想研究的小伙伴可以试试看。<br>\n<img src=\"https://cdn.tw93.fun/uPic/demo_zh37.gif\" width=\"800\"></p>\n<p><strong>VidBee：一个不错的下载各个网站视频的工具</strong><br>\n<a href=\"https://github.com/nexmoe/VidBee\">https://github.com/nexmoe/VidBee</a><br>\n底层使用的是 yt-dlp 这个引擎，几乎可以从全球任何网站下载视频，包括 YouTube、TikTok、Instagram、Twitter 等，有需要的小伙伴可以试试，不过需要注意版权。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/S3yAup40.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/S3yAup40.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/S3yAup40.png\" loading=\"lazy\" data-pswp-width=\"3840\" data-pswp-height=\"2072\" style=\"aspect-ratio: 1.8533;\" width=\"800\"></p>\n<p><strong>Witr：帮助你看这个东西为什么在运行</strong><br>\n<a href=\"https://github.com/pranshuparmar/witr\">https://github.com/pranshuparmar/witr</a><br>\n当某个东西在你系统上运行时，无论是一个进程、一个服务，还是某个绑定到端口的东西，总有其原因。这个原因往往是间接的、不明显的，或者分散在多个层级中，很多其他的工具可以告诉你什么在运行，这个工具可以很好的告诉你“为什么运行”，很有意思。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/TPgQHi39.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/TPgQHi39.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/TPgQHi39.png\" loading=\"lazy\" data-pswp-width=\"1232\" data-pswp-height=\"693\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>Dinky：一个 mac 上的文件压缩工具</strong><br>\n<a href=\"https://dinkyfiles.com/\">https://dinkyfiles.com/</a><br>\n做得挺精致的，把文件拖进去就好了，支持图片、视频、pdf 文件的压缩，有需要的可以去试试看。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/FFAHWB46.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/FFAHWB46.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/FFAHWB46.png\" loading=\"lazy\" data-pswp-width=\"3410\" data-pswp-height=\"2496\" style=\"aspect-ratio: 1.3662;\" width=\"800\"></p>\n<h2 id=\"随便看看\">随便看看</h2>\n<p><strong>大模型缓存率排行</strong><br>\n<a href=\"https://dirac.run/posts/cache-hit-rates-agents\">https://dirac.run/posts/cache-hit-rates-agents</a><br>\n有点意思，国产模型秉持着高性价比的一个原因，以及我国工程师的精打细算。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/KyJWeN09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/KyJWeN09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/KyJWeN09.png\" loading=\"lazy\" data-pswp-width=\"2114\" data-pswp-height=\"2274\" style=\"aspect-ratio: 0.9296;\" width=\"800\"></p>\n<p><strong>美团海报生成 AIGC 技术创新与实践</strong><br>\n<a href=\"https://tech.meituan.com/2026/06/18/AIGC-poster.html\">https://tech.meituan.com/2026/06/18/AIGC-poster.html</a><br>\n美团做东西其实很细的，会去沉淀一些方法论，不过我现在反而更看好用更牛逼的模型，花更少时间来解决问题。</p>\n<p><strong>一个比较有意思的记录</strong><br>\n起源于我收到的一封一个俄罗斯少年的邮件，以及来回回复的一个记录，脱敏后用 AI 生成的，俄罗斯现在挺苦，几乎国际银行卡都切断了。一直想着我的产品是全球的，没有政治因素，让所有人享受工程师工具的一些乐趣，其实挺好玩的。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/1image49.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/1image49.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/1image49.png\" loading=\"lazy\" data-pswp-width=\"1024\" data-pswp-height=\"1536\" style=\"aspect-ratio: 0.6667;\" width=\"800\"></p>\n<h2 id=\"随便写写\">随便写写</h2>\n<h3 id=\"走在前面还是被推着走\">走在前面，还是被推着走</h3>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/Group26.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/Group26.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/Group26.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\">\n<p>最近有一个感受，发现已经转型成 AI 工程师和还没有意识转型的传统大厂的传统岗位工程师，会有一种当时刚刚开始的互联网方向的软件工程师和同时期的移动联通电信方向的工程师的感觉，也很像 2011 年前后用智能手机和功能机时期的那个区别。</p>\n<p>之前只是感觉选择不一样而已，现在感觉是有一种温水煮青蛙的感觉，甚至水温其实有点儿发烫了。<br>\n工程师走在技术发展前面的会更加游刃有余，被技术方向或者组织推着走的会很难受。</p>\n<p>翻了翻我历史的一些很水的分享，比较幸运在 2019 年后基本上就不太想做传统的岗位工程师，当时想着更多去做一个解决各种问题的工程师，不局限于岗位本身，设计、产品、前后端、运行都去玩玩，更多是解决一个产品的问题。</p>\n<p>现在回过头看，好在坚持下去做了，不然到了现在这个阶段的确会相当难受。<br>\n其实当时这么干并没有那么讨喜，也看着不够聚焦，甚至只能靠自己做的事情，慢慢去带动身边工程师怎么成长，不过当时其实完全没有多想啥，只是认为解决问题比守着本职工作会有意思太多了，而且可以去探索非常多有意思的东西，也没有想着马上要有结果，水到渠成就好，没有想到，几年后 AI 来了后成为自己在这个疯狂拉扯的世界的一个小小护城河。</p>\n<p>下面文章内容本身和当前 AI 时代的高速发展很脱节了，小伙伴可以当做一个远古时期的东西去看，然后代入到那个年代，应该会比较有意思，甚至你可以结合 AI 发展的时间轴来看，刚好也可以看到我本身在技术上的一些思考和变化。</p>\n<p>2019-11-25 <a href=\"https://tw93.fun/2019-11-25/product-and-github.html\">产品和开源分享</a><br>\n2020-03-18 <a href=\"https://tw93.fun/2020-03-18/how-to-do-design.html\">运营后台的交互设计分享</a><br>\n2022-07-01 <a href=\"https://tw93.fun/2022-07-01/gou.html\">大环境不好的情况下如何苟着变强</a><br>\n2022-07-29 <a href=\"https://tw93.fun/2022-07-29/pd-code.html\">如何做一个产品工程师？</a><br>\n2022-12-09 <a href=\"https://tw93.fun/2022-12-09/talk.html\">工程师如何明白的做事情</a><br>\n2023-10-25 <a href=\"https://tw93.fun/2023-10-25/new-fe.html\">新一代前端发展的困境与破局</a><br>\n2024-01-12 <a href=\"https://tw93.fun/2024-01-12/open.html\">我的开源成长之旅</a><br>\n2024-09-09 <a href=\"https://tw93.fun/2024-09-09/future.html\">聊聊未来技术趋势</a><br>\n2025-07-17 <a href=\"https://tw93.fun/2025-07-17/money.html\">工程师如何更好投资</a><br>\n2025-08-17 <a href=\"https://tw93.fun/2025-08-17/ai-coding.html\">AI Coding 对于程序员的影响</a><br>\n2025-12-22 <a href=\"https://tw93.fun/2025-12-22/engineer.html\">新一代工程师的破局与发展</a><br>\n2026-03-30 <a href=\"https://tw93.fun/2026-03-30/kill.html\">杀死那个手工程序员</a></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"},{"title":"第270期 - 喜欢乔村","link":"https://weekly.tw93.fun/posts/270/","pubDate":"Mon, 15 Jun 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/27034.jpg\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/27034.jpg\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/27034.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5691\" data-pswp-height=\"4268\" style=\"aspect-ratio: 1.3334;\" width=\"800\">\n<p><small>封面图拍摄于周末去乔村吃饭，随手拍的一张照片，他们家好吃的，牛油果三文鱼好好吃，假如有朋友来杭州，我一般会带着去吃这个或者张功馆。</small></p>\n<blockquote>\n<p><strong>记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</strong></p>\n</blockquote>\n<h2 id=\"最新推荐\">最新推荐</h2>\n<p><strong>假如你的朋友最近需要更新简历，一定要把 Kami 推荐给他</strong><br>\n<a href=\"https://github.com/tw93/Kami\">https://github.com/tw93/Kami</a><br>\n假如你的朋友最近需要更新简历，一定要把 Kami 推荐给他，我单独细致优化了一个版本，单独让 Kami 写简历变得非常好用好看清晰，让他把他的原生素材 md 准备好，然后对着 AI 说 /kami 帮我产出一个简历，然后调 1-2 下差不多就好了，不仅仅是排版，还有帮我优化整理好你的简历内容，让他从一个技术终面官的视角来看所需要的人才画像。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/9MamaP33.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/9MamaP33.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/9MamaP33.png\" loading=\"lazy\" data-pswp-width=\"1241\" data-pswp-height=\"1754\" style=\"aspect-ratio: 0.7075;\" width=\"800\"></p>\n<h2 id=\"产品发布\">产品发布</h2>\n<p><strong>Mole 的客户端 1.7.2 新版本来啦</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\n这次版本更新了非常多的东西，包括支持无障碍用户的使用，Status 和菜单栏更快更稳，Software、卸载和更新更完整，Clean 更全面，也保留审查优先，隐私检查更准也更安静更加智能，Analyze、Doctor 和 Clean Screen 也更稳了，Apple 芯片风扇控制这里也有不少优化。</p>\n<p>刚好 Mole Mac 版本发布一个月，用业余时间写，数据有点意思。一共写了 11 万行 Swift 代码，含 3.6 万行测试代码，1983 个单元测试，累计发布 8 个版本，145 项新功能，支持了 9 个语言。欢迎有需要的小伙伴去玩玩，后续有更多惊喜给到大家。</p>\n<p><video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.tw93.fun/blog/pic/mole318.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Kaku 终于也更新到了 0.12 版本</strong><br>\n甚至 Kaku 都有自己的小官网了 <a href=\"https://kaku.fun/\">https://kaku.fun/</a>，小伙伴可以去看看，这次更新了不少东西，支持了重新打开窗口后会话历史恢复、也支持了 Codex 后端登录可以直接使用的 AI 功能，PDF、图片、音视频、压缩包、Office 文档现在都用系统默认 app 打开，所有面板都停在 shell 提示符时，Cmd+Q 会直接退出等等有意思功能，可以去看看 Release。<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/8fKF3s43.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/8fKF3s43.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/8fKF3s43.png\" loading=\"lazy\" data-pswp-width=\"3116\" data-pswp-height=\"1540\" style=\"aspect-ratio: 2.0234;\" width=\"800\"></p>\n<p><strong>Pake 最近一些有意思的更新</strong><br>\n<a href=\"http://github.com/tw93/Pake\">http://github.com/tw93/Pake</a><br>\n一键打包网页生成轻量桌面应用，支持 macOS、Windows 和 Linux 的 Pake，最近支持了 cmd+f 内容搜索、右键支持下载东西、桌面应用名称支持点号、Linux 下面的 AppImage 构建失败提示更清晰，修复了 pnpm 11 兼容修复等等问题。<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/pake128.gif\" width=\"800\"></p>\n<h2 id=\"随便聊聊\">随便聊聊</h2>\n<p><strong>我不是网红，不是自媒体，不是 KOL，那我是什么</strong><br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/jDQIRZ22.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/jDQIRZ22.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/jDQIRZ22.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\"><br>\n我的推特收益每次只有 100 多刀，应该远少于大部分蓝 V，甚至比那个被 Tauri 伤过两次的小伙伴还要低，挺有意思的，为啥这么少呢？哈哈哈我要反思一下，顺便给大伙分享一下我的失败经验。</p>\n<p>首先我不是网红、也不是自媒体、也不是 KOL，啥也不是，就是一个普通的写点儿兴趣代码的工程师。推特对我来说，就是把我做的开源产品更新日志同步给大伙，然后分享一些生活中去哪儿玩了、吃了啥、看了啥的日常推。没有任何流量压力，也没有任何用流量来赚钱的压力，收益少就少呗，反而刚好造就了这个我现在越来越喜欢的账号。</p>\n<p>自媒体博主一般是靠接广告来赚钱，一般 AI 的给得其实挺多，平时通过分享非常多利他的产品来让更多人关注，利他的同时获得应有的收益，其实也挺好的。不过一般会有流量压力，要一直追热点、琢磨标题，发得越长久就会做到越来越好，只是我感觉这个事情太累了，自己做不来。</p>\n<p>其实我之前也接过一些广告，不过已经很久不接了。之前记得有机构联系我，说广告主不喜欢我这种账号，喜欢那种经常发 AI 热点的账号，我一听，反而很高兴，哈哈，我的账号没有变成人家眼中的高质量流量账号，那应该我保持得还行。</p>\n<p>一直在想，假如用一个词语来描述我的账号该是什么呢？想了好久，终于在今天想到了，所以出现了这篇随便文章：我的账号应该是一本长期迭代的「Tw93 工程师杂志」。</p>\n<p>这本杂志大概有这么几个栏目：产品手记，记录 Pake、Mole、Kaku 这些产品的更新迭代和有趣的思路；技术专栏，写写技术思考、对 AI 的思考、新技术领域的学习专题；好物推荐，都是我自己真在用的好工具，没有恰饭的那种；还有一个随便看看的模块，可以看到我的日常生活，吃的、玩的、看的。</p>\n<p>每一个工程师都可以随便翻翻，看到一些自己感兴趣的东西，然后深入去把玩，对于想学习的朋友也可以基于我的长文一篇一篇看下去，再去我的博客以及潮流周刊看到往期更有意思的内容。</p>\n<p>这个杂志几乎没有广告，也不会为了推广自己的产品去说一些违心的话。更新也很随意，一般每天最多发两条，太忙就只发一条，想到啥发啥。同时这本杂志也是一个持续迭代的产品，你可以基于他看到我这个人每年的变化，像一个持续陪伴你的技术好友，也可以通过私信来联系这本杂志的编辑。</p>\n<p>杂志慢慢也在发展自己的副业 Mole，能卖出去并非产品多好用，更多还是大家对这个杂志本身的信任。这事还让我体会到，流量低的内容不代表没价值，看的人是不多，但信任很足，反而能带来一些意想不到的转化，挺神奇的。只不过他经营得比较随意，但是比较持续。</p>\n<p>那么我到底在运营什么呢？应该就是 Tw93 这本杂志。我是个什么样的人，就写什么样的内容，自然就会遇到什么样的读者，不需要担心写什么。最终我最想做的事情就是让阅读这本杂志的工程师和我可以更好地相互学习、成长，但是也不焦虑的那种。</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit/zh\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ 支持作者</a>\n    </p>"}]},"en":{"count":12,"issues":[{"title":"281. Sword of the Yue King","link":"https://weekly.tw93.fun/en/posts/281/","pubDate":"Mon, 07 Sep 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/blog/pic/28133.jpg\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/28133.jpg\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/28133.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"7728\" data-pswp-height=\"5152\" style=\"aspect-ratio: 1.5000;\" width=\"800\">\n<p><small>The cover photo was taken at the Zhejiang Museum over the weekend. I had gone to see the exhibition of the four bronze animal heads, but it was packed, so I walked through the regular halls instead and found something really beautiful. This sword, worn by the son of King Goujian of Yue, looks wonderful, and it made me think how good the taste of the Yue state was back then.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>TokenRemain: a free usage tracker for AI coding quotas</strong><br>\n<a href=\"https://www.tokenremain.com/\">https://www.tokenremain.com/</a><br>\nThe landing page on the official site looks decent and the whole thing is fairly tidy, so give it a try if you are interested. It also added notifications for Codex quota resets.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/wHYXlg48.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/wHYXlg48.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/wHYXlg48.png\" loading=\"lazy\" data-pswp-width=\"2516\" data-pswp-height=\"1836\" style=\"aspect-ratio: 1.3704;\" width=\"800\"></p>\n<p><strong>Unclack: automatically mutes your microphone while you type</strong><br>\n<a href=\"https://unclack.app/#/\">https://unclack.app/#/</a><br>\nThis one suits office workers pretty well. When you are in a meeting and typing away, the clatter goes straight into the call, and this mutes your microphone automatically while you type.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/gVNVxB05.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/gVNVxB05.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/gVNVxB05.png\" loading=\"lazy\" data-pswp-width=\"2700\" data-pswp-height=\"1138\" style=\"aspect-ratio: 2.3726;\" width=\"800\"></p>\n<p><strong>Pulse: network logging for Apple platforms</strong><br>\n<a href=\"https://github.com/kean/Pulse\">https://github.com/kean/Pulse</a><br>\nA network logging tool built with SwiftUI that covers all Apple platforms. It feels quite refined overall, and among open source projects it is a good one.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/5Uqh1q52.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/5Uqh1q52.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/5Uqh1q52.png\" loading=\"lazy\" data-pswp-width=\"2880\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.5000;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>WorkBuddy succeeded because Tencent’s office suite is terrible</strong><br>\n<a href=\"https://1q43.blog/post/12578/\">https://1q43.blog/post/12578/</a><br>\nAn article from Hongxian that analyzes AI in the office software space in a pretty interesting way, worth a read, though I am not as optimistic about WorkBuddy’s future as the author is.</p>\n<p><strong>A recommendation for good banchuan noodles: Fuqi Noodles</strong><br>\nFor my money the best banchuan in Hangzhou has to be Fuqi Noodles, though Laotaipo, Laojie and Mangzhong are all worth trying for Hangzhou-style noodles too. I shared this with friends and they came back with more, so if you are in Hangzhou you could take a look: Xiaobianzi, Xiaogou Noodles, the topping noodles run by Huzhou and Jiaxing folks in Hangzhou, Laicui Noodles over in Zhuantang, Songmuchang Noodles, Chunxue Noodles in Zhuantang, Yimian Noodles in Liangzhu, Huasanye Banmian, Dangmian Daoxie, Fang Laoda, and Jiaxing Yulin Noodles.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/nmUFxA53.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/nmUFxA53.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/nmUFxA53.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<p><strong>Just writing: I have decided never to launch a new product on Product Hunt again</strong><br>\n<img src=\"https://cdn.tw93.fun/blog/pic/xzkNlp10.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/xzkNlp10.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/xzkNlp10.png\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"2268\" style=\"aspect-ratio: 1.7778;\" width=\"800\"><br>\nAbout 7 years ago I loved browsing this platform, and recently I figured Mole could go up there for a launch, so I went and did it, uploaded the video and images, filled in a huge pile of forms, and finally got it done. Then I opened the product page and the first thing I saw was an ad card on the left saying 5k dollars could handle the entire launch for me, which stunned me, and below my own product there was a banner ad for someone else’s product.</p>\n<p>It felt like swallowing a fly. The launch page I had carefully prepared had turned into someone else’s advertising space, though I do understand that companies with budget will buy that service.</p>\n<p>Then I picked a time and published, and I even kept my afternoon free to answer questions from any new users who showed up. The funny part is that it never even made the front page, when I remember publishing MiaoYan 5 years ago with a very rough writeup and still landing on the front page timeline.</p>\n<p>Later some friends who know the platform explained that it was because I did not get featured by the editors, that you have to get that first, then buy a specialist promotion team to package it for you, and only then can you break through. So it turns out you also have to perform for the platform, buying upvotes and buying comments, which dropped my jaw all over again. How did a perfectly good platform end up like this.</p>\n<p>What annoys me even more is that it brought almost no product discussion or user feedback, and instead brought me close to 50 spam emails over the following days, mostly saying they could help promote it better, or that they run a similar platform I should list on. They are still arriving today, and it feels like I walked into something and came out smelling of it.</p>\n<p>So the platform looks lively but does not actually do anything, and I even saw services offering 200 upvotes for 100 dollars to get you into the weekday top five, which of course will not bring you a single real user. What it does feed is a whole set of teams that get you to the top of Product Hunt, handling your description, packaging, cover, video, the angle and the selling points, a complete plan delivered to you, and after you pay you get a fake sense of excitement. You play along with the Product Hunt show, your product becomes a prop, launch day becomes performance day, and whether it actually attracted anyone new seems to be something nobody cares about.</p>\n<p>What I would really love is a platform where people can talk about products in a genuinely friendly way, where you come across something interesting and can bookmark it, download it, try it out, learn from what other products did well, talk openly, and even give each other suggestions afterwards about what works and what needs improving. Something like the utopian feeling GitHub had 10 years ago, where people do not care about your packaging and your selling points, just a bunch of people who like making things sitting around sharing the good stuff so more people get to use it. I would really love a platform like that, and I would be on it every day.</p>\n<p>So no more Product Hunt for me, and I would not recommend it to anyone else either. GitHub, X, YouTube and V2EX are all good places to post, and far more straightforward and honest than Product Hunt.</p>\n<p><strong>RIP: He Yong passed away in early September</strong><br>\n<img src=\"https://cdn.tw93.fun/blog/pic/7ARP8b14.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/7ARP8b14.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/7ARP8b14.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"706\" style=\"aspect-ratio: 1.6997;\" width=\"800\"><br>\nHe Yong passed away in early September. In my mind he always looks the way he did at the 1994 <a href=\"https://www.youtube.com/watch?v=V0L3LRpAdKk\">Chinese Rock Power concert at Hung Hom in Hong Kong</a>, blunt, young, raw, rock and punk. I love Bell and Drum Towers, Garbage Dump, The Lump on My Head, and Pretty Girl, the song that captures his rock style best, and for several years his songs were in my most-played list of the year.</p>\n<p>My first contact with Chinese rock goes back 20 years to 2006. I was in the first year of junior high, and my English teacher Richard, a slightly chubby, curly-haired man who looked very gentle, one day turned the volume all the way up in class and played Dream Back to the Tang Dynasty by Tang Dynasty. A room full of kids fresh out of primary school had basically never heard anything that fierce, since what we considered good music back then was Sunny Day, Jiangnan and Fairy Tale. He stood at the front with his eyes lit up telling us about Chinese rock and the stories he loved, and later in the term he would quietly play us classic foreign films. He did everything he could to open these kids’ minds, and I slowly came to understand what it means to want openness, to express yourself honestly, to stay yourself and not drift with the crowd.</p>\n<p>After that I went looking for the rest of these Chinese rock musicians, and from that concert video I found Dou Wei, handsome and deep and thoughtful, Ding Wu of Tang Dynasty with his long hair and wild roar, He Yong, blunt and young and afraid of nothing, and Zhang Chu, a little sad and full of feeling. Every one of them had their own character and felt completely real, and it made me feel that a life should not be cut from the same cloth, that you should have your own temperament and personality, hold on to what makes you different and not follow the trend. That mattered a lot to me.</p>\n<p>Further along, the first one I ran into was Kill That Man from Shijiazhuang by Omnipotent Youth Society, back when almost nobody around me was listening to a band with a name like that. The stories in their songs and what they were reaching for really got to me, and the lyrics are so good. Qinhuangdao later led me to Dong Yaqian, who once went to Qinhuangdao to recover from depression, to Mr. Dong Erqian dreaming his long dream in Ten Thousand Hippies, and Big Rock Crushing My Chest is a wonderful song too.</p>\n<p>While I was listening to them, along came Li Zhi, that guy who loves showing off and says whatever comes to mind but is deeply real. I got into him through a video of his New Year’s Eve concert, and it was the first time I realized a show could have a string section, or be entirely unplugged, and that someone who normally looks so slack about everything prepares for a concert this seriously. He rearranged and reproduced almost every time, and you can clearly see the same song being treated with real care in different venues. His voice is plain and sincere and easy to recognize, with a storytelling feel, like an old friend next to your ear murmuring at times and shouting hoarsely at others, telling you about Rehe, Marriage, Dingxi, Suddenly, Hangzhou, The End and Them. It all felt very real to me.</p>\n<p>Only later did I realize that the two teachers who left the deepest impression on me are actually a bit alike. Richard’s eyes lit up when he talked about Chinese rock, and my university database teacher’s eyes lit up the same way when he talked about PHP and HTML.</p>\n<p>I started university in 2011 studying communications, and in the first year there was a database course that looked unrelated to the major. Besides teaching databases, the teacher would talk about PHP and HTML and show us how to put these things together into fun web pages. Most classmates were not that interested, but I loved it, because you could actually make something.</p>\n<p>That year I read through almost every decently rated web development book in the school library, typing out the code and running the examples, and emailing the teacher whenever I got stuck. He answered the simple questions directly and saved the complicated ones for after class, where we often talked for more than half an hour. The two of us were less like teacher and student and more like friends discussing tech, which was a lot of fun. By my second year, and with a lot of influence from Paul Graham’s Hackers and Painters, I gradually settled on my career path, which was to be a web engineer.</p>\n<p>After that I wrote my own blog with the Ruby framework Jekyll, and gave it a rather teenage motto, “Be yourself and don’t go with the flow.” Maybe that came from rock, maybe from all those teachers with ideas of their own. What is funnier is that the line is still there on the middle bar of my blog, never changed, and Jekyll, that old framework, has stayed stable enough to keep maintaining and using without ever falling over.</p>\n<p>Looking at He Yong on the Hung Hom stage in 1994 now, he is still the young man in my memory, blunt, young, raw and afraid of nothing, singing Bell and Drum Towers and Pretty Girl. Twenty years have passed, the blog is still there, that line is still there, and the part of me that does not want to drift with the crowd has not fallen over either. Goodbye, He Yong.</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"280. Fond of Song Type","link":"https://weekly.tw93.fun/en/posts/280/","pubDate":"Mon, 31 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/28049.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/28049.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/28049.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5358\" data-pswp-height=\"4019\" style=\"aspect-ratio: 1.3332;\" width=\"800\">\n<p><small>The cover photo was taken at the newly opened Hang Lung mall in Hangzhou, where I wandered around over the weekend. I had a cup of AITCoffee, which tasted pretty good, and spotted this paper window on the wall with the character for Song on it. I have been using this typeface on my product sites lately, and it feels quite classical.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>celldock-for-mac: use cellular data, SMS and calls on your Mac</strong><br>\n<a href=\"https://github.com/celldock/celldock-for-mac\">https://github.com/celldock/celldock-for-mac</a><br>\nThis one is interesting. If you have a DJI 4G module lying around, give it a try. I plan to get one to play with. You could even put in a SIM card, pair it with a module, and turn it into a portable Wi-Fi hotspot for when you are out.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/Y71cWg04.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/Y71cWg04.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/Y71cWg04.png\" loading=\"lazy\" data-pswp-width=\"1956\" data-pswp-height=\"1572\" style=\"aspect-ratio: 1.2443;\" width=\"800\"></p>\n<p><strong>kooky: another macOS terminal built for AI coding</strong><br>\n<a href=\"https://github.com/iAmCorey/kooky\">https://github.com/iAmCorey/kooky</a><br>\nIt supports workspace management in a sidebar, horizontal and vertical splits, one-click agent launch, and live agent status. You can also see Git, Node, Python and other workspace state right at the bottom of each pane.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/QqZtJW39.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/QqZtJW39.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/QqZtJW39.png\" loading=\"lazy\" data-pswp-width=\"3248\" data-pswp-height=\"2112\" style=\"aspect-ratio: 1.5379;\" width=\"800\"></p>\n<p><strong>A 3D teaching exhibit of prehistoric animals</strong><br>\n<a href=\"https://leon-made-this.work/museum/zh-CN/?animal=stegosaurus\">https://leon-made-this.work/museum/zh-CN/?animal=stegosaurus</a><br>\nIt looks like a parent built this prehistoric animal museum for their kid. Quite fun, worth a play.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/MZswYA27.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/MZswYA27.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/MZswYA27.png\" loading=\"lazy\" data-pswp-width=\"3996\" data-pswp-height=\"2196\" style=\"aspect-ratio: 1.8197;\" width=\"800\"></p>\n<p><strong>JJ: Git-compatible version control that suits agents better</strong><br>\n<a href=\"https://github.com/jj-vcs/jj\">https://github.com/jj-vcs/jj</a><br>\nThe idea is pretty good. The underlying storage is still a Git repository, but the working copy model is simpler and fits coding agents better, so when the AI gets something wrong it is much easier to clean up.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/OAQjsa02.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/OAQjsa02.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/OAQjsa02.png\" loading=\"lazy\" data-pswp-width=\"2696\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.4042;\" width=\"800\"></p>\n<p><strong>How to get more out of Mole’s screen and keyboard cleaning mode</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\nA lot of people ask what to do when they also want to wipe the keyboard while cleaning the screen. It already works by default. Turn on the input protection permission for screen cleaning in Settings, then enter the cleaning mode from the logo, and it is well worth setting a shortcut while you are there. After that you can wipe your screen and keyboard comfortably with a soft cloth, and the keyboard will not register stray presses.</p>\n<table>\n    <tbody><tr>\n        <td width=\"22%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/zIK1HN54.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/zIK1HN54.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/zIK1HN54.png\" loading=\"lazy\" data-pswp-width=\"3072\" data-pswp-height=\"4096\" style=\"aspect-ratio: 0.7500;\" width=\"220\">\n        </td>\n        <td width=\"39%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/NWNeHl11.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/NWNeHl11.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/NWNeHl11.png\" loading=\"lazy\" data-pswp-width=\"2424\" data-pswp-height=\"1768\" style=\"aspect-ratio: 1.3710;\" width=\"390\">\n        </td>\n<td width=\"39%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/1vP43W17.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/1vP43W17.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/1vP43W17.png\" loading=\"lazy\" data-pswp-width=\"2424\" data-pswp-height=\"1768\" style=\"aspect-ratio: 1.3710;\" width=\"390\">\n        </td>\n    </tr>\n</tbody></table>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Baoyu’s AI-native development workflow: a full retro of a real case</strong><br>\n<a href=\"https://baoyu.io/blog/2026-08-24/ai-native-dev-workflow\">https://baoyu.io/blog/2026-08-24/ai-native-dev-workflow</a><br>\nWriting code is only one step in the whole software development process, and in the AI era it is the step that changes the least and needs the least attention, because today’s models are trained extremely well at coding and a simple natural language prompt is enough. The interesting changes are everywhere else: how requirements get analyzed, how solutions get designed, how prototypes get built, how tests get run. Those things “outside of writing code” are where AI-native development really changes the game.</p>\n<p><strong>I have noticed my taste in food has changed a lot over the years</strong><br>\nIt is a strange thing. All through university I thought I only ate spicy food and would never touch anything sweet, and yet after nearly ten years in Hangzhou I slowly came to like all kinds of flavors. Sweet dishes and light dishes can be really good too. Lately I have been enjoying Fujian food a lot, that fresh and tender feeling. Life works the same way: the more you go through, the more new things there are to experience, which is lovely.</p>\n<table>\n    <tbody><tr>\n        <td width=\"24%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/DA0Mmp59.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/DA0Mmp59.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/DA0Mmp59.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"240\">\n        </td>\n        <td width=\"38%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/yglVUa14.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/yglVUa14.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/yglVUa14.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"380\">\n        </td>\n<td width=\"38%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/hJq3Ux31.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/hJq3Ux31.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/hJq3Ux31.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"380\">\n        </td>\n    </tr>\n</tbody></table>\n<p><strong>Some thoughts: keeping code maintainable in the AI era</strong><br>\nI want to talk from a product engineer’s point of view about how to keep a product’s code iterable, maintainable and free of rot in an era where all of it is written by AI.</p>\n<p>Mole recently reached its 13th release. Looking at the project, there are roughly 110,000 lines of Swift product code, 73,000 lines of test code and 3,347 XCTest cases. That is far more testing than what I had back when I wrote business code at a company with QA to fall back on. I have always held one view: code written by AI should be tested by AI, not by people. Bringing people into that step actually slows everything down.</p>\n<p>So I wanted to summarize, based on all that hands-on experience, the interesting parts that keep this code obedient between me and the AI.</p>\n<ol>\n<li>\n<p>Even though AI has massively sped up how fast code gets written, the product’s architecture, its layering, how similar things get abstracted, and what goes where so it stays easy to extend and decouple later, all still need the engineer’s own judgment. You can talk this through carefully with your best AI once the first version of the project runs, settle on the architecture, and record it in a document that can be revised and carried along as the project iterates.</p>\n</li>\n<li>\n<p>What I rely on most is still unit tests. 1.0 had only 56 XCTest cases, and 1.13 already has 3,347, with test code at about 66% of the production Swift code. The numbers are just something I counted along the way, though. What I care about more is whether the tests cover the places where it is easy to assume things: files changing after a scan finishes, a process check failing, a command returning success while the app was never actually updated, an old task coming back late and overwriting a newer result. The normal cases are usually not hard to write. The hard part is catching the cases where the result looks fine but is already wrong.</p>\n</li>\n<li>\n<p>When fixing bugs especially, I leave more behind. Besides fixing the problem, I add a regression test that would fail against the old code, then walk similar paths looking for the same kind of issue, and finally write down into the rules why the change was made that way. Mole now has over 1,000 commits starting with fix, and more than 900 of them landed together with tests. Many of those tests and rules came from something a user actually hit once, and perhaps that is the most valuable asset this project has right now.</p>\n</li>\n<li>\n<p>Tests remember inputs and results, but they do not remember why an approach was abandoned. So the project also has a set of Rules that record feature boundaries, historical reasons and things not to touch: why certain files must never be deleted automatically even at the cost of missing some, why some components that look duplicated must not be merged, which system data does not belong to Mole. Too many rules eat a lot of context, so I split them by module and only load them when the related code is being changed, and turn the checks that repeat often into Skills. bugs looks for similar problems in past fixes, design-system-review checks whether the interface is drifting into a mess, and release covers signing, notarization, remote files and the update path. That way I do not have to explain everything to the AI from scratch each time.</p>\n</li>\n<li>\n<p>Another thing that works well for me is building fewer features that serve no real purpose. Adding a setting, a compatibility branch or a background listener takes AI a few minutes now, and the state and maintenance cost left behind are the biggest source of rot. Mole now has some rules for new features: avoid adding always-on overhead, do not add new privileges or system permissions, do not keep adding settings when a sensible default exists, and do not keep expanding the scope of updates and cleanup just because a new possibility turned up. Plenty of features matter only to the developer while users do not care at all. Better to start from users and go back to users, and not multiply entities beyond necessity.</p>\n</li>\n<li>\n<p>Make good use of GitHub Actions automation, it will be your last line of defense. Code written, running and tests green is still not the end. My project also has a set of checks for consistency across nine languages, the generated site, the Appcast, the Xcode project and public deployment files. make verify runs those together with the tests, and CI does it all again on a clean cloud machine. At release time, the local code, the Git commit, the signed installer, the files online and the update users actually receive are several different states, and I confirm them separately. I have run into cases where the source was completely correct while the old file was still being served online. Looking at one green result makes it far too easy to think you are done while something is still broken underneath.</p>\n</li>\n<li>\n<p>If there is anything special about all of this, it is that the execution flow runs without me stepping in. Every step is executed and verified by the AI, and when something breaks the AI fixes it. What I do is put the necessary gates at the right points, make the AI verify actively and only pass on a clear result, then keep iterating on the rules, keeping them fresh, removing old logic in time, so the verification logic and the business code move up together.</p>\n</li>\n</ol>\n<p>Perhaps this is exactly the ability engineers most need to build in the AI era: how to make AI-written code more maintainable, clearer and easier to extend, so that half a year, a year or two years later it still has not rotted, and instead becomes more obedient and closer to what the developer has in mind, while also giving multi-agent development a stable foundation. The fun of writing code by hand is gone, but at least this makes up for some of the boredom of pure AI coding and keeps a bit of the engineer’s craft alive.</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"279. Spring in the Valley of the Wind","link":"https://weekly.tw93.fun/en/posts/279/","pubDate":"Mon, 24 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/blog/pic/27936.jpg\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/27936.jpg\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/27936.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover photo was taken during a weekend trip to the Valley of the Wind in Lin’an, where I took my kid to play in the water. The place is wide open, though there are lots of children and adults on weekends. My kid liked it. From a distance, the water had an unusual blue-green look. I took the photo by a large lake outside.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Cumora: this excellent workspace for agent teams is now open source</strong><br>\n<a href=\"https://github.com/yetone/cumora\">https://github.com/yetone/cumora</a><br>\nIt’s from yetone, another entry in my “didn’t expect that” series. I really didn’t expect it to be open-sourced. Among the open-source options available today, this is one of the better agent team collaboration tools I’ve seen. The clients are complete, and the way the code is built is worth studying too.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/JZJzUm15.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/JZJzUm15.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/JZJzUm15.png\" loading=\"lazy\" data-pswp-width=\"2906\" data-pswp-height=\"2328\" style=\"aspect-ratio: 1.2483;\" width=\"800\"></p>\n<p><strong>Omarchy: the beautiful, modern Linux system everyone is talking about</strong><br>\n<a href=\"https://omarchy.org/\">https://omarchy.org/</a><br>\nOmarchy is an omakase Linux distribution based on Arch. It uses the Hyprland tiling window manager and the Quickshell desktop construction kit, and comes with plenty of the tools needed for productive work in the AI era. Reviews have been very positive. If you have a spare machine, give it a try.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/tM50pX27.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/tM50pX27.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/tM50pX27.png\" loading=\"lazy\" data-pswp-width=\"4532\" data-pswp-height=\"2452\" style=\"aspect-ratio: 1.8483;\" width=\"800\"></p>\n<p><strong>MicroLighter: a tiny syntax highlighting library</strong><br>\n<a href=\"https://davatron5000.github.io/microlighter/\">https://davatron5000.github.io/microlighter/</a><br>\nIt’s only 2.05 KB after gzip, and it looks simple to use. I asked my agent whether it could replace Weekly’s syntax highlighting library and got turned down, haha. If you’re working on a new project, though, give it a try.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/EkGyaL09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/EkGyaL09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/EkGyaL09.png\" loading=\"lazy\" data-pswp-width=\"3748\" data-pswp-height=\"2332\" style=\"aspect-ratio: 1.6072;\" width=\"800\"></p>\n<p><strong>iGhostty: a terminal for jailbroken iPhones</strong><br>\n<a href=\"https://github.com/OwnGoalStudio/iGhostty\">https://github.com/OwnGoalStudio/iGhostty</a><br>\nI saw this on Kankan’s X feed, and it looks pretty good. If your iPhone is jailbroken and you want to use a terminal on your phone, take a look.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/cbGs3H20.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/cbGs3H20.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/cbGs3H20.png\" loading=\"lazy\" data-pswp-width=\"1024\" data-pswp-height=\"716\" style=\"aspect-ratio: 1.4302;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>The Claude Code guide for startups</strong><br>\n<a href=\"https://claude.com/blog/claude-code-guide-for-startups?ref=aiposthub.com\">https://claude.com/blog/claude-code-guide-for-startups?ref=aiposthub.com</a><br>\nThis official Anthropic guide looks at how 15 fast-growing startups use agentic coding to ship like organizations ten times their size. Worth a look.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/O2qk1j42.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/O2qk1j42.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/O2qk1j42.png\" loading=\"lazy\" data-pswp-width=\"2540\" data-pswp-height=\"2078\" style=\"aspect-ratio: 1.2223;\" width=\"800\"></p>\n<p><strong>Omarchy: an AI-friendly Linux system that works out of the box</strong><br>\n<a href=\"https://xiangyangqiaomu.feishu.cn/docx/ZH7td7nKVoC5Y0x3UAAcEG3TnPd\">https://xiangyangqiaomu.feishu.cn/docx/ZH7td7nKVoC5Y0x3UAAcEG3TnPd</a><br>\nBuilding on Omarchy, the AI-friendly Linux system mentioned above, Qiaomu wrote a tutorial with AI. Take a look if you’re interested.</p>\n<p><strong>“One Short of Three,” and this time I’m in</strong><br>\n<a href=\"https://www.lizhinb.com/jlpgl/\">https://www.lizhinb.com/jlpgl/</a><br>\nI missed the first two, but I’m not missing this one. Excited, happy, let’s go!</p>\n<table>\n    <tbody><tr>\n        <td width=\"50%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ASMEGy29.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ASMEGy29.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ASMEGy29.png\" loading=\"lazy\" data-pswp-width=\"1080\" data-pswp-height=\"1350\" style=\"aspect-ratio: 0.8000;\" width=\"400\">\n        </td>\n        <td width=\"50%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/UeNX0F38.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/UeNX0F38.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/UeNX0F38.png\" loading=\"lazy\" data-pswp-width=\"1023\" data-pswp-height=\"1444\" style=\"aspect-ratio: 0.7084;\" width=\"400\">\n        </td>\n    </tr>\n</tbody></table>\n<p><strong>A few words on how I name my products</strong><br>\nI suddenly wanted to talk about how I name my products. The process is quite interesting, and perhaps you can also draw on your own personality and tastes to find a good name for your product.</p>\n<p>Before AI arrived, there weren’t nearly as many coding projects around. I’ve always cared a lot about whether a product feels alive and has a presence of its own, so I take naming very seriously. It’s a little like the birth of a child. Parents spend a lot of time choosing a name that will stay with their child for life, one they will love and might even draw a lifetime of encouragement and confidence from.</p>\n<p>Even now, with AI coding projects everywhere, I still strongly recommend giving your product a good name if you want to put it in front of a wider audience instead of keeping it as something you play with by yourself. Every time you introduce it, you’ll feel more confident in it and more attached to it, and you’ll want to keep spending time and energy making it better.</p>\n<p>My first product was MiaoYan, which I built around 2020. Markdown note-taking apps were very popular then, but none of them felt quite right to me, so I learned Swift and made one myself. I have always loved Chinese characters. I wasn’t thinking about internationalization at the time and mostly built it for myself, to keep notes from work and study. I’ve always believed that good writing has a life of its own, which led me to the phrase “miao bu ke yan,” meaning “wonderful beyond words.” It captured exactly what I wanted to express when writing. I still love the name, and I continue to work on the product. It rolls off the tongue and is simple and easy to remember. What I’m getting at is that a product name should connect to what the product does or the meaning it wants to carry. An unrelated name may sound nice, but it will be hard to explain.</p>\n<p>My second product was Pake, a tool written in Rust that turns a website into a lightweight desktop app with a single command. Why did I start using English names this time? I later discovered that many people overseas were using MiaoYan too, and introducing it with the Pinyin name felt strange. From then on, I tried to choose names that people everywhere could understand at least a little. When naming Pake, I started with the Chinese word for packaging, which becomes “pack” in English. Pack is a good word, but it felt too common. Looking back, the idea feels a lot like Vue. As I remember it, Vue was first going to be called View, but Evan You thought that was too direct, tried it in Google Translate, and found the French word Vue. I did the same with Pake, looking up translations of “pack” in different languages, until I found that “pack” is “pake” in Haitian Creole. I was thrilled and chose it immediately. The name is easy to spell, remember, and type. Anyone who has used it should have no trouble remembering it, and Pake’s command is also <code>pake</code>, which makes both using and sharing the product very simple.</p>\n<p>The third product is the more familiar Mole. At the time, it was still a command-line tool that dug deep into the junk on your Mac. This time I started with the Chinese name. I always pictured the product as a little creature that was active but quiet, diligently cleaning up junk. I kept thinking about what animal would fit that feeling, but couldn’t find one I liked. Then I think I saw a mole in a children’s book and immediately thought, yes, that’s exactly it: quiet, small, and constantly digging. Even better, the English name Mole fits the naming style I’ve always liked. It’s easy to remember, write, and say, but it isn’t generic. Looking back, the whole process is still very interesting and fun.</p>\n<p>The next three products accidentally became a series: Kaku, Waza, and Kami. I would say that without the name Kaku, the other two names would never have followed. Kaku is a lightweight, simple, out-of-the-box, AI-friendly terminal that I wrote during last year’s Spring Festival holiday. The only thing I knew when naming it was that it needed to feel light and satisfying. I started saying random sounds out loud, and eventually found that “kaku, kaku, kaku” felt especially good to say. I searched for that sound and discovered that kaku is the Japanese verb 書く, meaning “to write.” That was fascinating. Terminals and writing are closely connected, and the name felt poetic. Kaku is also a character in One Piece, so I chose it right away. Waza came next, the Japanese word 技, meaning “skill,” which fits the engineering Skills I make. Kami is 紙, meaning “paper,” and became the name of my layout Skills built around the idea that good content deserves a good page. A sheet of paper is clean and can hold so many valuable things.</p>\n<p>This isn’t to say that a name is crucial to a product. When Anthropic first appeared, I hated the name because I could never remember how to spell it, but that didn’t stop its products and models from succeeding. There is no necessary connection. Even if your product is called Er Gou, or “Second Dog,” being genuinely excellent won’t stop it from succeeding. Still, some names do have an effect. Another ugly one is Antigravity, which is even harder to pronounce and spell than Anthropic. From the moment it launched, I had a feeling the product would struggle. Its underlying model wasn’t among the top one or two, so it had to compete more on product capability, and the product itself wasn’t especially strong either. That is how it ended up where it is today. A name isn’t good just because it’s short and looks simple, either. Take Trae. Even now, I often type it as “trea” or forget how to spell it. A short name with simple letters isn’t automatically a good one when it is hard to remember, hard to spell, and doesn’t seem to mean anything. If nobody tells you it stands for “The Real AI Engineer,” you might never know. That makes it harder to break into the mass market.</p>\n<p>I ended up rambling much longer than expected. What I’m trying to say is that a product should have a tone and personality of its own instead of looking like everything else. Of course, my naming method fits me and my personality. Your product should reflect your personality and interests too. If you like Japanese anime, you can draw from its characters. If you love ancient Chinese mythology, you can search there for names that are rare but interesting. One last thought: I think a name should roll off the tongue, be easy to say, remember, and write, stay short, and even feel effortless to type on a keyboard.</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"278. Great Skill Appears Clumsy","link":"https://weekly.tw93.fun/en/posts/278/","pubDate":"Mon, 17 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27853.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27853.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27853.JPG\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover photo was taken during a weekend CityWalk in Shanghai. I spotted a sign outside a shop called “Buzhuo,” meaning “not clumsy.” It reminded me of the saying “great skill appears clumsy”: someone may work in a plain way and avoid shortcuts, while carrying a lot of wisdom underneath. I hope my products feel the same.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"a-few-words\">A Few Words</h2>\n<p><strong>After Mole got a Mac version, its users taught me how to build products</strong><br>\n<a href=\"https://tw93.fun/2026-08-16/mole-mac.html\">https://tw93.fun/2026-08-16/mole-mac.html</a><br>\nI hadn’t written a long piece in ages. I finally wrote one, gathering some recent thoughts from independently developing Mole. I hope it helps if you’re building a product too.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/mole-mac-cover.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/mole-mac-cover.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/mole-mac-cover.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\"></p>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>AgentsView: browse and analyze how you use agents</strong><br>\n<a href=\"https://www.agentsview.io/\">https://www.agentsview.io/</a><br>\nA local-first app for browsing, searching, and analyzing your past AI coding sessions. It shows where your agents spend their time and money, with separate views by project, model, and tool.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/uYtRtK52.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/uYtRtK52.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/uYtRtK52.png\" loading=\"lazy\" data-pswp-width=\"1440\" data-pswp-height=\"900\" style=\"aspect-ratio: 1.6000;\" width=\"800\"></p>\n<p><strong>Discover startup product launch videos from X</strong><br>\n<a href=\"https://whatships.com/\">https://whatships.com/</a><br>\nDing built a tool that collects product launch videos currently being shared on X. Quite a few are very well made and worth learning from. Next time you have a product to launch, take a look and see if any of them spark a new idea.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ibxdqH09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ibxdqH09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ibxdqH09.png\" loading=\"lazy\" data-pswp-width=\"4026\" data-pswp-height=\"2290\" style=\"aspect-ratio: 1.7581;\" width=\"800\"></p>\n<p><strong>Give your AI a brain.md</strong><br>\n<a href=\"https://projectbrain.md/\">https://projectbrain.md/</a><br>\nThe idea is interesting. The author says AI forgets everything unless you give it a brain, and brain.md is that brain.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/9RcLFg00.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/9RcLFg00.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/9RcLFg00.png\" loading=\"lazy\" data-pswp-width=\"3084\" data-pswp-height=\"1906\" style=\"aspect-ratio: 1.6180;\" width=\"800\"></p>\n<p><strong>nowdex: quickly check your agent usage</strong><br>\n<a href=\"https://apps.apple.com/cn/app/nowdex/id6791450777\">https://apps.apple.com/cn/app/nowdex/id6791450777</a><br>\nA free iOS app that lets you quickly check your agent usage, including from a Home Screen widget.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ysicE547.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ysicE547.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ysicE547.png\" loading=\"lazy\" data-pswp-width=\"2942\" data-pswp-height=\"1532\" style=\"aspect-ratio: 1.9204;\" width=\"800\"></p>\n<p><strong>How to remove the annoying Claude Code URL Handler.app</strong><br>\nI finally got rid of the Claude Code URL Handler.app that Claude Code registers on macOS. It has no icon and looks ugly, which had been driving the neat freak in me crazy, and uninstalling it directly didn’t help. Add <code>\"disableDeepLinkRegistration\": \"disable\"</code> to <code>~/.claude/settings.json</code> and it will stop coming back.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/mEPOJg41.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/mEPOJg41.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/mEPOJg41.png\" loading=\"lazy\" data-pswp-width=\"1144\" data-pswp-height=\"633\" style=\"aspect-ratio: 1.8073;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Report notes: Who gets the productivity gains from AI, and why do employees feel more tired?</strong><br>\n<a href=\"https://mp.weixin.qq.com/s/GFx3FfRfheX0Tp7V-pGOww\">https://mp.weixin.qq.com/s/GFx3FfRfheX0Tp7V-pGOww</a><br>\nI have a feeling that the more advanced technology gets, the more tired working people become. Before AI, everyone seemed to have it a little easier, though that may also have had something to do with the economy at the time.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/5Ez4qx34.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/5Ez4qx34.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/5Ez4qx34.png\" loading=\"lazy\" data-pswp-width=\"3408\" data-pswp-height=\"1848\" style=\"aspect-ratio: 1.8442;\" width=\"800\"></p>\n<p><strong>A conversation about agent evaluation, from the basics to the details</strong><br>\n<a href=\"https://tech.meituan.com/2026/08/07/Agent-Evaluation.html\">https://tech.meituan.com/2026/08/07/Agent-Evaluation.html</a><br>\nThis Meituan article on agent evaluation is worth reading. It goes into plenty of detail and can be compared with evaluation methods used inside companies, though quite a bit of it also draws on material from elsewhere.</p>\n<p><strong>A complete guide to AGENTS.md</strong><br>\n<a href=\"https://www.aihero.dev/a-complete-guide-to-agents-md\">https://www.aihero.dev/a-complete-guide-to-agents-md</a><br>\nThis article is worth reading if you want to improve your own AGENTS.md. Many of the details match how agents are being used today, and you can have your agent read it directly.</p>\n<p><strong>I highly recommend Once Upon a Time in the Middle East</strong><br>\n<a href=\"https://movie.douban.com/subject/35811064/\">https://movie.douban.com/subject/35811064/</a><br>\nI saw it over the weekend, and it’s the best Chinese film I’ve seen in recent years. Wen Muye is a very capable director. The film moved me a lot, and I also loved Jiang Qiming’s style.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/rE53aI00.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/rE53aI00.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/rE53aI00.png\" loading=\"lazy\" data-pswp-width=\"1080\" data-pswp-height=\"607\" style=\"aspect-ratio: 1.7792;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"277. Brush Cherry","link":"https://weekly.tw93.fun/en/posts/277/","pubDate":"Mon, 10 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27756.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27756.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27756.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4284\" data-pswp-height=\"3263\" style=\"aspect-ratio: 1.3129;\" width=\"800\">\n<p><small>The cover shot is a tiny potted plant sitting on the speaker on my desk, a brush cherry. It looks full of life and works well indoors, though its small leaves drop pretty easily. Still looks great, and I like my study having a bit of life in it.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Tinycast: a well-made open-source Raycast alternative</strong><br>\n<a href=\"https://abue-ammar.github.io/tinycast/\">https://abue-ammar.github.io/tinycast/</a><br>\nTried it and it’s solid. Lighter than Raycast, but still covers a lot of the extras I use often, like clipboard management, window management, shortcuts, and more. The key thing is it’s a lot more polished than other open-source alternatives I’ve seen. I even sent the author a few suggestions.<br>\n<video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" muted><source src=\"https://cdn.tw93.fun/uPic/zXITSrc_HJpKjSyU24.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Maya turns your screen recording into a shareable video</strong><br>\n<a href=\"https://ronaldo-avalos.github.io/Maya/\">https://ronaldo-avalos.github.io/Maya/</a><br>\nImpressive, and it’s free and open source. This tool wraps your iPhone screen recording in a phone case mockup, then adds cinematic zoom animations. Great for making product videos, going head to head with paid tools like Rotato.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/GnOiIo59.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/GnOiIo59.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/GnOiIo59.png\" loading=\"lazy\" data-pswp-width=\"2236\" data-pswp-height=\"1428\" style=\"aspect-ratio: 1.5658;\" width=\"800\"></p>\n<p><strong>Saw a really good AI outfit-swap plugin on Twitter, impressive stuff</strong><br>\n<a href=\"https://anywear.decart.ai/\">https://anywear.decart.ai/</a><br>\nFound via a case Paidax shared on Twitter. “Try clothes on, anywhere online” is such a great idea. I think it could spark a ton of ideas for e-commerce, way better than the tech that came before it.<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.tw93.fun/uPic/VPEz98liVxKD7unj32.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>An Online Chronicle of the US Stock Market</strong><br>\n<a href=\"https://historyofmarket.com/\">https://historyofmarket.com/</a><br>\nThe material in this US stock market chronicle is incredibly rich, covering the S&#x26;P 500, Nasdaq, semiconductors, information technology, finance, the Magnificent Seven, the top 10, and more. When I have time, I’m definitely going to dig through it properly.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/ZgG0N430.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/ZgG0N430.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/ZgG0N430.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>How we built a realtime system for responsive voice AI in six months</strong><br>\n<a href=\"https://openai.com/index/continuous-voice-interaction-with-gpt-live/\">https://openai.com/index/continuous-voice-interaction-with-gpt-live/</a><br>\nA post from OpenAI’s official blog about how they got voice AI working this well. There’s a lot in it worth learning from.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/HulhWE39.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/HulhWE39.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/HulhWE39.png\" loading=\"lazy\" data-pswp-width=\"1418\" data-pswp-height=\"1026\" style=\"aspect-ratio: 1.3821;\" width=\"800\"></p>\n<p><strong>Bought a small Android tablet</strong><br>\nAn Oppo Mini. Set your expectations right, app compatibility isn’t as good as an iPad. I mainly use it as a browser and for reading content. It’s thin and the bezels are narrow, which I like, and it feels comfortable to hold and read on. I went ahead and tuned how my product displays on it right away, and it looks a lot better now.</p>\n<table>\n    <tbody><tr>\n        <td width=\"25%\">\n          <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_260542.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_260542.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_260542.JPG\" loading=\"lazy\" data-pswp-width=\"4284\" data-pswp-height=\"5712\" style=\"aspect-ratio: 0.7500;\" width=\"400\">\n        </td>\n        <td width=\"25%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_260649.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_260649.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_260649.JPG\" loading=\"lazy\" data-pswp-width=\"4284\" data-pswp-height=\"5712\" style=\"aspect-ratio: 0.7500;\" width=\"400\">\n        </td>\n        <td width=\"25%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_260955.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_260955.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_260955.jpg\" loading=\"lazy\" data-pswp-width=\"4058\" data-pswp-height=\"5410\" style=\"aspect-ratio: 0.7501;\" width=\"400\">\n        </td>\n          <td width=\"25%\">\n            <img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/IMG_261001.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/IMG_261001.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/IMG_261001.JPG\" loading=\"lazy\" data-pswp-width=\"4010\" data-pswp-height=\"5347\" style=\"aspect-ratio: 0.7500;\" width=\"400\">\n        </td>\n    </tr>\n</tbody></table>\n<p><strong>Let’s talk about how being an indie developer isn’t just about developing</strong></p>\n<p>I’ve seen a lot of reflections on indie development lately, so I thought I’d use Mole’s journey from an open-source CLI to a paid Mac app to share my thinking and what’s actually worked. Hope it helps.</p>\n<ol>\n<li>\n<p>Before anything else, build your skills as a product engineer. Coding ability is only about 30% of it. What matters more is connecting your own pain points with what most users are struggling with, and turning that into a product solution that’s genuinely easy to use, plus knowing how to present it well to your users so they think “thank god this product solved a real problem for me.” In other words, a product engineer is a combination of user researcher, product person, engineer, growth, data, and business person all in one.</p>\n</li>\n<li>\n<p>Following on from that, in the AI era the code moat keeps shrinking, so what matters more is spending your tokens precisely on solving user problems, then putting more tokens into requirement discussions, digging into data to find problems, and making content clear and easy to read. Even multiple $250 accounts aren’t really enough. I don’t mind spending more tokens, but they need to go somewhere useful. To me tokens are an investment, and investments still need to pay off.</p>\n</li>\n<li>\n<p>On requirement control, what you don’t do matters far more than what you do. Back in my freshman year when I was just starting out as a programmer, I was lucky enough to read a bunch of books on engineering discipline. Don’t multiply entities without necessity, complexity should resolve into simplicity, and that slowly became a habit I keep in life, work, and code. I hate clutter and mess, and I like things that are beautiful, simple, and usable without reading a manual.</p>\n</li>\n<li>\n<p>You really don’t need to save up big features for a grand reveal. Try to ship every week, release every week, and fix user problems promptly. Real, human, person-to-person interaction with your users matters a lot. Every release, update, and announcement is actually a great chance to talk with your users, and it keeps putting your product in front of more people who hadn’t seen your updates before.</p>\n</li>\n<li>\n<p>On product growth, try to talk with the real world as little as possible in AI-speak. Twitter is a great channel for getting good things discovered. If it’s genuinely useful, plenty of people will help spread the word. But don’t go down the blue-checkmark follow-for-follow, cross-promote path. There’s no need to chase that kind of fake prosperity, because your users aren’t there. There’s one precondition for product growth: your product has to be beautiful and polished, so that someone seeing it for the first time is curious enough to click and try it, instead of scrolling right past.</p>\n</li>\n<li>\n<p>You might think “I don’t have many followers, so promotion is pointless.” That’s not quite right, but I also really don’t recommend growing your account with a heavy dose of self-interest, because that will just make you anxious. Instead, treat your account as a brand you’re building, you yourself are that brand. Your thoughts, ideas, product updates, insights, conversations, and comments are all adding trust to your own brand. Trust matters especially in today’s AI world, which is both fake and overhyped. So many things get talked up as amazing, but turn out mediocre once you actually check them out, and that has dragged a lot of users’ expectations way down. Which means even if you have a good product, without any user trust you still won’t get noticed. This is something you can build for the very long term. Your brand stays alive for as long as you stay active online, it’s the longest-lived product of your life.</p>\n</li>\n<li>\n<p>Talking about user trust means talking about sincerity. I still really love open source and a friendly, drama-free online environment. I’d also strongly suggest making your product global, or export-oriented, from day one, and posting more English-language content. You’ll find the world is big, your potential users are everywhere, and they’ll trust you from the very start. Help people whenever you can. Odds are, the people you help will become your future users, because you’ve already built a real connection.</p>\n</li>\n<li>\n<p>Try not to spend money on ads. Instead, rely on the chance that some of your users are also creators. Twitter, in my experience, spikes hard but fades fast. I’d really recommend putting some content on YouTube instead, it decays much more slowly. If your product is good enough and someone recommends it, it can stay hot there for a long time and bring you a lot of value.</p>\n</li>\n<li>\n<p>Definitely learn data analysis, it’s incredibly useful. Break down your sales data by dimension and by time, combine it with traffic data, user reviews, everything from your conversations with users, and refund reasons. If it’s an open-source product, every issue your users file is also a hugely valuable data source. All of it can surface problems you didn’t know you had, help you make the product better, and reveal your sales funnel, so you know exactly what to optimize.</p>\n</li>\n<li>\n<p>This ended up a bit rambling and long-winded to write by hand. If you’re interested, feel free to check out Mole’s website and try the product. It might give you some input for building your own.</p>\n</li>\n</ol><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"276. Trees and Buildings","link":"https://weekly.tw93.fun/en/posts/276/","pubDate":"Mon, 03 Aug 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27646.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27646.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27646.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4899\" data-pswp-height=\"3674\" style=\"aspect-ratio: 1.3334;\" width=\"800\">\n<p><small>The cover was shot on an overcast day. I’ve always felt that glossy glass buildings look a bit harsh if you drop them bare into a city, but if they’re surrounded by lots of trees, they look much more comfortable.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Kaset: a solid Mac YouTube Music client</strong><br>\n<a href=\"https://github.com/sozercan/kaset\">https://github.com/sozercan/kaset</a><br>\nI’ve tried a lot of Mac YouTube Music clients, and Pake had one too, but this one feels carefully made and the experience is really good. Worth a try.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/jHmQi002.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/jHmQi002.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/jHmQi002.png\" loading=\"lazy\" data-pswp-width=\"3052\" data-pswp-height=\"2014\" style=\"aspect-ratio: 1.5154;\" width=\"800\"></p>\n<p><strong>You don’t need to mess with format conversion anymore</strong><br>\nFollowing the video above: I was going to build a small format converter for myself. I needed to turn MOV videos from my iPhone into MP4. I used to download some big converter app for that, then it hit me that I could just tell my AI, and it finished the conversion very quickly. Next time you need any kind of format conversion, it’s worth trying this way.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/SCR-20260802-trxd10.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/SCR-20260802-trxd10.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/SCR-20260802-trxd10.png\" loading=\"lazy\" data-pswp-width=\"3384\" data-pswp-height=\"1878\" style=\"aspect-ratio: 1.8019;\" width=\"800\"></p>\n<p><strong>If you use tmux, try this new thing called herdr</strong><br>\n<a href=\"https://herdr.dev/\">https://herdr.dev/</a><br>\nLooks pretty good. If you’re a hardcore tmux fan, give it a try: more AI-friendly, cleaner, and from what I’ve seen, well made.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/1gevLE01.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/1gevLE01.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/1gevLE01.png\" loading=\"lazy\" data-pswp-width=\"3972\" data-pswp-height=\"2296\" style=\"aspect-ratio: 1.7300;\" width=\"800\"></p>\n<p><strong>img2threejs: turn images into 3D</strong><br>\n<a href=\"https://github.com/img2threejs/img2threejs\">https://github.com/img2threejs/img2threejs</a><br>\nThis image-to-threejs tool is nicely done and cuts the cost of writing threejs a lot.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/84PezB26.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/84PezB26.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/84PezB26.png\" loading=\"lazy\" data-pswp-width=\"5344\" data-pswp-height=\"3044\" style=\"aspect-ratio: 1.7556;\" width=\"800\"></p>\n<p><strong>This 3D organ viewer is well done</strong><br>\n<a href=\"https://anatomy-livid.vercel.app/\">https://anatomy-livid.vercel.app/</a><br>\nWorth a look if you’re in biology or medicine, or just into biology. Feels professional and educational.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/uVLcvk48.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/uVLcvk48.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/uVLcvk48.png\" loading=\"lazy\" data-pswp-width=\"5344\" data-pswp-height=\"3044\" style=\"aspect-ratio: 1.7556;\" width=\"800\"></p>\n<p><strong>UU Remote: this remote tool is seriously good</strong><br>\n<a href=\"https://uuyc.163.com/\">https://uuyc.163.com/</a><br>\nUU Remote. I’d call it the best free iPhone app for side support in the AICoding era. Remote speed, clarity, and latency are all handled really well. Paired with Claude / Codex on mobile, it’s genuinely useful.<br>\n<video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" controls muted><source src=\"https://cdn.tw93.fun/uPic/uuremote48.mp4\" type=\"video/mp4\"></video></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Four aha moments Mole Mac gave me</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\nCongrats to Mole CLI on hitting 60K stars. Since last National Day, when I wrote a few hundred lines by a pool in Sanya and open-sourced it, it has shipped 55 releases total, and 112 real developers from around the world have contributed a lot of code. Later I built Mole Mac, the Pro version with a native GUI and more capabilities. Here are 4 aha moments from my own use.</p>\n<p>First: one afternoon I got a notification that my AirPods were low and needed charging. That feature genuinely surprised me. The AI added it proactively while working on battery health. Mole reminds you when Bluetooth battery devices linked to your Mac are low and need charging. I never hit that scenario until I did, and it felt thoughtful without being noisy.</p>\n<p>Second: as someone who uses it every day, I still managed to free 86G. An earlier version added cleanup for clearly useless build output inside projects. My Rust projects had piled up a lot of target directories, and clearing that much at once was very satisfying.</p>\n<p>Third: the keep-awake feature. After users asked for it, 3 different keep-awake behaviors were added. I still prefer the mode that keeps the screen on. For example, if you head out on a weekend, you can control your AICoding solidly from the phone client and keep it working. Very stable, and it’s saved me a lot of async time.</p>\n<p>Fourth: Mole’s battery display can show your iPhone battery too. That used to be hard to implement, but it was done cleverly. Now you can clearly see battery levels for the devices that matter to you in the status area, quietly, but with peace of mind.</p>\n<p>Even better: none of these 4 features started as my idea. Early Mole users asked for them, I added them, and they’ve helped me a lot. Thank you. If Mole Mac has surprised you somewhere, or you have a feature you really want Mole to add, tell me.</p>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/XyR6MX25.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/XyR6MX25.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/XyR6MX25.png\" loading=\"lazy\" data-pswp-width=\"3598\" data-pswp-height=\"2019\" style=\"aspect-ratio: 1.7821;\" width=\"800\">\n<p><strong>A few notes on investing</strong><br>\nMarket swings educate everyone who thinks they’re a stock god, and reward everyone who can stay calm. Keeping cash matters, and picking a sound value-investing direction matters more. Buy low when the market is gloomy, and when enthusiasm is high and everyone is piling in, calmly sell at good exits and recycle cash as bullets. Trade only a few times a year, only buy stocks you can sleep well holding, skip China concept stocks, and spend the rest of your time on things you like. That may be my long-iterated investing rule.</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"275. Blue Dusk","link":"https://weekly.tw93.fun/en/posts/275/","pubDate":"Mon, 27 Jul 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27534.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27534.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27534.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5413\" data-pswp-height=\"4060\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover was shot on Friday evening while I was out for dinner. I looked up and saw this blue dusk sky. I really like this blue, the kind that feels comfortable to look at.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Bento: stuff an online slide deck into a single file</strong><br>\n<a href=\"https://github.com/nyblnet/bento\">https://github.com/nyblnet/bento</a><br>\nThe idea and the execution here are both nice. Animations, video, web design, all of it goes into one HTML file, and that file is at the same time your document, your editor, and your player. It’s also a good fit for letting AI keep editing and iterating on it. Worth a try if you’re curious.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/zHKfAj50.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/zHKfAj50.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/zHKfAj50.png\" loading=\"lazy\" data-pswp-width=\"3974\" data-pswp-height=\"2020\" style=\"aspect-ratio: 1.9673;\" width=\"800\"></p>\n<p><strong>peek-cli: let your coding agent see web pages properly</strong><br>\n<a href=\"https://github.com/puffinsoft/peek-cli\">https://github.com/puffinsoft/peek-cli</a><br>\npeek-cli lets an agent grab a screenshot of any tab you already have open in your browser, which suits those frontend design loops where you keep iterating until the result looks right.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/qa3wJh33.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/qa3wJh33.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/qa3wJh33.png\" loading=\"lazy\" data-pswp-width=\"3054\" data-pswp-height=\"1778\" style=\"aspect-ratio: 1.7177;\" width=\"800\"></p>\n<p><strong>clawk: give your coding agent a disposable Linux VM</strong><br>\n<a href=\"https://github.com/clawkwork/clawk\">https://github.com/clawkwork/clawk</a><br>\nIf you’re worried that what your AI coding agent runs could damage your machine, or you really love <code>--dangerously-skip-permissions</code> but don’t want to leak your keys, give this a try. It automatically spins up a disposable Linux VM so nothing goes wrong while things are running.<br>\n<img src=\"https://cdn.tw93.fun/uPic/demo47.gif\" width=\"800\"></p>\n<p><strong>It’s been a while since I shared a Kaku update</strong><br>\n<a href=\"https://kaku.fun\">https://kaku.fun</a><br>\nKaku is the open-source Mac terminal I built over Chinese New Year by heavily customizing WezTerm: AI friendly, good looking by default, and fast. It’s up to 23 releases now. It started out very simple, and it still looks very simple, but it keeps getting nicer to use. I also added an official site and friendly docs.</p>\n<p>I use it as my main workstation. Compared to GUIs I still prefer TUIs because they’re simple and direct, so roughly 90% of the code in my open-source projects and in Mole is written through Kaku. I’ve started deploying some of my own things on cloud servers lately, which finally pushed me to round out the SSH experience, and over the past month I used Fable 5 to optimize a lot of the low-level Rust rendering, so startup is much faster now. I like one tab per project, with a shortcut to split that tab into two panes so I can code on one side and test on the other. Switching and closing tabs works almost exactly like a browser, since I ported a lot of the browser habits you already have over to the terminal.</p>\n<p>On the AI side, Kaku stays out of your way. It usually shows up when a command fails, or when you’ve forgotten a command and just type #plain English, and it tells you the real one. When you don’t feel like opening codex, CMD+L brings up an AI chat panel so you can talk to it right there, which makes the terminal a naturally AI-friendly environment. The last two releases mostly fixed usability issues: AI usage, quick tab closing, Starship compatibility, working over SSH, plus pane navigation, tab renaming, and other details. If you want something simple and fast and you like things that look good, give Kaku a try. Suggestions from actual use are very welcome and help make it better.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/SCR-20260726-sqti21.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/SCR-20260726-sqti21.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/SCR-20260726-sqti21.png\" loading=\"lazy\" data-pswp-width=\"4314\" data-pswp-height=\"2620\" style=\"aspect-ratio: 1.6466;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Andrej Karpathy’s case for dumping one long ramble on the AI</strong><br>\n<a href=\"https://x.com/karpathy/status/2079610838143623371\">https://x.com/karpathy/status/2079610838143623371</a><br>\nHe describes a way of working with an LLM that he finds genuinely useful: lean back in your chair, switch to voice input, and ramble for ten minutes or so, messy, jumping wherever your head goes. He sometimes opens with a note like “I’m on speech recognition, please excuse the typos.” For whatever reason LLMs are very good at pulling the content back out of a long, messy ramble, and the version they hand back to you is often much clearer than the one you just said out loud, so the rest of the conversation goes smoother and there’s less to correct.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/mtf8tr09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/mtf8tr09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/mtf8tr09.png\" loading=\"lazy\" data-pswp-width=\"675\" data-pswp-height=\"499\" style=\"aspect-ratio: 1.3527;\" width=\"800\"></p>\n<p><strong>Dan Shipper’s take on Claude Opus 5, which I mostly agree with</strong><br>\n<a href=\"https://x.com/danshipper/status/2080700057892815114\">https://x.com/danshipper/status/2080700057892815114</a><br>\nThey spent a week testing Opus 5 across coding, writing, knowledge work, and their own agents, and their first reaction was that it’s a hard model to like: it works against your instructions, stops before the job is done, and doesn’t fit the skills and plugins they already had. Then they deleted the old skills and rebuilt from scratch, and it got a lot better, so his advice is to not force it into an existing workflow, and to run it at medium or low thinking rather than maxed out. He still sends the hardest work to Fable and everything else to GPT-5.6, and he calls Opus 5 a “poor man’s Fable,” a model with the temperament of a genius but not the ceiling, stuck in an awkward middle spot.</p>\n<p><strong>5 Trends That Defined AI Engineering at World’s Fair 2026</strong><br>\n<a href=\"https://www.latent.space/p/aiewf26trends\">https://www.latent.space/p/aiewf26trends</a><br>\nThis piece ties harnesses, loops, skills, enterprise deployment, and coding agents into one coherent roadmap. Worth a read.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/hnWSbK53.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/hnWSbK53.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/hnWSbK53.png\" loading=\"lazy\" data-pswp-width=\"1456\" data-pswp-height=\"819\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>A random window somewhere in the world, opened for you</strong><br>\n<a href=\"https://www.window-swap.com/Window\">https://www.window-swap.com/Window</a><br>\nThis site is fun. People around the world share the view outside their window, and you can switch randomly and just look around. I had it up as my wallpaper all afternoon, and it looked great.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/kHHhdE31.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/kHHhdE31.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/kHHhdE31.png\" loading=\"lazy\" data-pswp-width=\"2874\" data-pswp-height=\"1710\" style=\"aspect-ratio: 1.6807;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"274. Boundless Sky","link":"https://weekly.tw93.fun/en/posts/274/","pubDate":"Mon, 20 Jul 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27453.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27453.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27453.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover was shot one evening in Shenzhen, just after the rain, when the sky was especially clear. The building is called Haikuo Tiankong Yaju, and you could even see Baidu in the distance.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>wong2 made a handy tracker for Codex usage limit resets</strong><br>\n<a href=\"https://codex-resets.com/\">https://codex-resets.com/</a><br>\nPretty funny. Codex usage limits seem to reset whenever @thsottiaux announces one on X, almost like he has a button in his hand. There is no fixed schedule and no changelog, so this tool watches his posts and lets you know when a reset happens. Haha. Lately I haven’t been able to use up my Codex allowance at all.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/9zFep508.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/9zFep508.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/9zFep508.png\" loading=\"lazy\" data-pswp-width=\"3164\" data-pswp-height=\"2228\" style=\"aspect-ratio: 1.4201;\" width=\"800\"></p>\n<p><strong>Trees: a beautiful file tree rendering library</strong><br>\n<a href=\"https://trees.software/\">https://trees.software/</a><br>\nThe file tree rendering looks really good. I like simple, beautiful things like this. If you’re building a file tree for an editor sidebar, this is worth studying.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/lEQhIy33.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/lEQhIy33.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/lEQhIy33.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>Bark: an open-source tool for pushing messages to your own iPhone</strong><br>\n<a href=\"https://github.com/Finb/Bark\">https://github.com/Finb/Bark</a><br>\nAn open-source and free notification app built on APNs, so it doesn’t add extra battery drain. It also supports advanced iOS notification features including grouping, custom icons and sounds, time-sensitive notifications, critical alerts, and more.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/QMnaYL10.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/QMnaYL10.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/QMnaYL10.png\" loading=\"lazy\" data-pswp-width=\"2430\" data-pswp-height=\"1934\" style=\"aspect-ratio: 1.2565;\" width=\"800\"></p>\n<p><strong>WhatCable: find out what your USB-C cable can actually do</strong><br>\n<a href=\"https://www.whatcable.uk/\">https://www.whatcable.uk/</a><br>\nThis tool clearly tells you what a USB-C cable can do, including cable speed, charging limits, and connected devices. You can name each cable and have it track real-world performance over time, making it easier to see why a cable charges slowly or can’t drive a display. Nice idea, though fairly niche.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/cQ7ITN19.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/cQ7ITN19.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/cQ7ITN19.png\" loading=\"lazy\" data-pswp-width=\"3022\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.2634;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Phistory: see what changed in the system prompts of popular AI coding tools</strong><br>\n<a href=\"https://phistory.cc/?agent=claude-code&#x26;from=2.1.141&#x26;to=2.1.215\">https://phistory.cc/?agent=claude-code&#x26;from=2.1.141&#x26;to=2.1.215</a><br>\nGreat for anyone curious about how AI coding tools evolve. The site uses diffs to make each change easy to see.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/pgmjjD23.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/pgmjjD23.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/pgmjjD23.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>A site collecting beautifully designed Mac apps</strong><br>\n<a href=\"https://macapp.supply/\">https://macapp.supply/</a><br>\nThe site itself is nicely designed, and the Mac apps it features all feel polished. There’s a lot here for me to learn from.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/5SlEcC34.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/5SlEcC34.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/5SlEcC34.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>How Anthropic uses Claude Code for large-scale code migrations</strong><br>\n<a href=\"https://claude.com/blog/ai-code-migration\">https://claude.com/blog/ai-code-migration</a><br>\nAn official Claude blog post well worth reading. It covers Bun’s million-line migration from Zig to Rust and offers some useful lessons for large companies moving old, sprawling repositories.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/QZiACS37.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/QZiACS37.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/QZiACS37.png\" loading=\"lazy\" data-pswp-width=\"1109\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.5415;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"273. A Pile of Chairs","link":"https://weekly.tw93.fun/en/posts/273/","pubDate":"Mon, 13 Jul 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27342.JPG\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27342.JPG\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27342.JPG\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5496\" data-pswp-height=\"3911\" style=\"aspect-ratio: 1.4053;\" width=\"800\">\n<p><small>The cover was shot outside a shop in Tianmuli, where a pile of chairs sat with a line written next to them: use objects as the medium, embrace tradition. Compared with the AI world I still like the real world more, and I long for real feelings more too.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>A subway background sound I’ve been loving lately</strong><br>\n<a href=\"https://www.yamanote.fun/\">https://www.yamanote.fun/</a><br>\nThe author blends the Yamanote Line’s station melodies, announcements, door chimes and train sounds into one complete listening experience of Tokyo’s most beloved loop line. It’s really interesting, and I love having it as background music. It feels exactly like when I was riding it.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/mUuuQu23.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/mUuuQu23.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/mUuuQu23.png\" loading=\"lazy\" data-pswp-width=\"3106\" data-pswp-height=\"1948\" style=\"aspect-ratio: 1.5945;\" width=\"800\"></p>\n<p><strong>Kill AI slop</strong><br>\n<a href=\"https://killaislop.com/\">https://killaislop.com/</a><br>\nHaha, I also really dislike those ugly things that AI churns out. I found this site made by yetone, which is quite fun. It lays out a lot of the ugly cases for you, and it also gives you a skill to help you clean things up. I used it to check over everything I’ve made, and thankfully nothing got flagged.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/s9fJmu55.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/s9fJmu55.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/s9fJmu55.png\" loading=\"lazy\" data-pswp-width=\"3022\" data-pswp-height=\"2200\" style=\"aspect-ratio: 1.3736;\" width=\"800\"></p>\n<p><strong>AppPorts: move your big Mac apps to external storage</strong><br>\n<a href=\"https://appports.shimoko.com/zh\">https://appports.shimoko.com/zh</a><br>\nThis tool suits friends who run their Mac with an external drive, so you might want to give it a try.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/sdXGLY21.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/sdXGLY21.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/sdXGLY21.png\" loading=\"lazy\" data-pswp-width=\"3130\" data-pswp-height=\"2250\" style=\"aspect-ratio: 1.3911;\" width=\"800\"></p>\n<p><strong>One command to find out which models your hardware can run</strong><br>\n<a href=\"https://github.com/AlexsJones/llmfit\">https://github.com/AlexsJones/llmfit</a><br>\nA terminal tool that matches LLM models to the right specs based on your system’s RAM, CPU and GPU. It detects your hardware automatically and scores each model across four dimensions, quality, speed, fit and context, telling you which ones will run smoothly on your machine.<br>\n<img src=\"https://cdn.tw93.fun/uPic/demo19.gif\" width=\"800\"></p>\n<p><strong>Some nice loading effects</strong><br>\n<a href=\"https://dotmatrix.zzzzshawn.cloud/\">https://dotmatrix.zzzzshawn.cloud/</a><br>\nAlthough in the AI era this sort of thing has an old-school feel to it, it’s still worth looking at more of these aesthetic-leaning things, which teach you a bit more about design.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/swLiUX17.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/swLiUX17.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/swLiUX17.png\" loading=\"lazy\" data-pswp-width=\"3346\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.3988;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Spent a day rebuilding Mole’s website</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\nI’m not pitching the product, I’d rather talk with you all about how I think about this site’s style: quiet, undisturbing, safe, something that feels trustworthy. I then spent a day rebuilding it, and I have to say I prefer Fable 5’s kind of clever, resourceful AI. Feel free to take a look at this video. Haha, the background music is my favorite Ryuichi Sakamoto piano piece, “Merry Christmas, Mr. Lawrence”.<br>\n<video width=\"800px\" preload=\"metadata\" loop controls><source src=\"https://cdn.tw93.fun/uPic/new-mole12.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Git commands you can have your AI run before reading a repo</strong><br>\n<a href=\"https://piechowski.io/post/git-commands-before-reading-code/\">https://piechowski.io/post/git-commands-before-reading-code/</a><br>\nThe original title is The Git Commands I Run Before Reading Any Code. It lists a few commands you can try running, and you’ll come across plenty of interesting findings. That said, I’d rather recommend letting your AI learn them and then read your repo, which is more fun.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/mLwoZF15.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/mLwoZF15.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/mLwoZF15.png\" loading=\"lazy\" data-pswp-width=\"1600\" data-pswp-height=\"811\" style=\"aspect-ratio: 1.9729;\" width=\"800\"></p>\n<p><strong>Getting started with loops</strong><br>\n<a href=\"https://x.com/ClaudeDevs/status/2074208949205881033\">https://x.com/ClaudeDevs/status/2074208949205881033</a><br>\nA piece on Loop from the official ClaudeDevs X account. It’s well written and worth a read, and it’ll help you better understand this concept in AI.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/c0CBq939.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/c0CBq939.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/c0CBq939.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"819\" style=\"aspect-ratio: 2.5006;\" width=\"800\"></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"272. Endless Lotus","link":"https://weekly.tw93.fun/en/posts/272/","pubDate":"Mon, 06 Jul 2026 00:00:00 GMT","description":"<p><video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" muted><source src=\"https://cdn.tw93.fun/uPic/hehua54.mp4\" type=\"video/mp4\" poster=\"https://cdn.tw93.fun/uPic/27209.png\"></video></p>\n<p><small>The cover was shot over the weekend when I went to Xixi Wetland to fly the drone over the lotus flowers. It looked wonderful and was really stunning. Humans look so small beneath nature, and the drone has helped me see so many great things.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Bought a Brother T735DW printer just for this</strong><br>\nTo test Kami’s print layout, I specially bought a Brother T735DW printer. The build quality is really nice and I quite like it, so if you need to buy a printer you might want to look at this brand. The Kami-formatted output prints beautifully too. Of course, I pushed out an update to make Kami support printers better, so you’re all welcome to try it. PS: this was actually the first time I’d ever heard of Brother, but a lot of the old-timers tell me it’s a well-known name.<br>\n<video width=\"800px\" preload=\"metadata\" loop data-autoplay=\"\" muted><source src=\"https://cdn.tw93.fun/uPic/kami07.MP4\" type=\"video/mp4\"></video></p>\n<p><strong>This wood-chopping simulator site is kind of fun</strong><br>\n<a href=\"https://screen.toys/firewood/\">https://screen.toys/firewood/</a><br>\nThere’s a wood-chopping visualization site that’s pretty fun. It gives you a really realistic sense of chopping firewood, so when you’re tired from AI coding you can give it a go.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/8dIM0035.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/8dIM0035.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/8dIM0035.png\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3322\" data-pswp-height=\"1988\" style=\"aspect-ratio: 1.6710;\" width=\"800\"></p>\n<p><strong>Glaze: a nice new take on building and shipping Mac apps</strong><br>\n<a href=\"https://www.glaze.app/\">https://www.glaze.app/</a><br>\nIt basically lets you vibe out your own desktop app by talking, to solve your own problems. It runs on your Mac, works offline, and you can distribute it too. It has a bit of a next-generation Mac App Store feel, worth a play.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/YgphuJ15.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/YgphuJ15.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/YgphuJ15.png\" loading=\"lazy\" data-pswp-width=\"3424\" data-pswp-height=\"2038\" style=\"aspect-ratio: 1.6801;\" width=\"800\"></p>\n<p><strong>sensory-ui: what if your component library had sound effects?</strong><br>\n<a href=\"https://www.sensory-ui.com/#showcase\">https://www.sensory-ui.com/#showcase</a><br>\nWhat would it feel like if your component library had sound effects? This is really fun and worth playing with, giving your shadcn/ui some audio.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/qs75CX03.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/qs75CX03.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/qs75CX03.png\" loading=\"lazy\" data-pswp-width=\"3314\" data-pswp-height=\"2290\" style=\"aspect-ratio: 1.4472;\" width=\"800\"></p>\n<p><strong>Playwrite Tanzania: a lot like Apple’s handwriting font</strong><br>\n<a href=\"https://fonts.google.com/specimen/Playwrite+TZ?preview.script=Latn\">https://fonts.google.com/specimen/Playwrite+TZ?preview.script=Latn</a><br>\nThis font really looks a lot like Apple’s boot-up “hello” handwriting style. It’s beautiful and pretty much spot on, so give it a try if you need it.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/6s4ew716.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/6s4ew716.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/6s4ew716.png\" loading=\"lazy\" data-pswp-width=\"3434\" data-pswp-height=\"2330\" style=\"aspect-ratio: 1.4738;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>This book-showcase effect is so great</strong><br>\n<a href=\"https://press.stripe.com/\">https://press.stripe.com/</a><br>\nTry opening it in a desktop web browser. The animations feel really smooth, love it.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/GYgAl915.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/GYgAl915.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/GYgAl915.png\" loading=\"lazy\" data-pswp-width=\"3434\" data-pswp-height=\"2330\" style=\"aspect-ratio: 1.4738;\" width=\"800\"></p>\n<p><strong>Moderate intervention: tuning AI’s presence by user intent</strong><br>\n<a href=\"https://mp.weixin.qq.com/s/063MFQz-2Jkktdhpwf-jIw?scene=1\">https://mp.weixin.qq.com/s/063MFQz-2Jkktdhpwf-jIw?scene=1</a><br>\nPlenty of AI products have a problem with getting the degree of intervention wrong: pop-ups keep interrupting what you’re doing, and when idle they waste compute. How do you get AI to show up when needed and disappear when idle?<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/4YjJGQ44.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/4YjJGQ44.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/4YjJGQ44.png\" loading=\"lazy\" data-pswp-width=\"1080\" data-pswp-height=\"789\" style=\"aspect-ratio: 1.3688;\" width=\"800\"></p>\n<p><strong>The visualization for this college-entrance-exam application simulator</strong><br>\n<a href=\"https://agentsfeed.org/app-demo/gaokao/index.html\">https://agentsfeed.org/app-demo/gaokao/index.html</a><br>\nThis works really well, thanks to the person who made it. If a friend of yours needs to fill out their college applications, you can help them take a look together. Picking the right city and the right university really matters.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/jR3BJV07.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/jR3BJV07.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/jR3BJV07.png\" loading=\"lazy\" data-pswp-width=\"3434\" data-pswp-height=\"2330\" style=\"aspect-ratio: 1.4738;\" width=\"800\"></p>\n<p><strong>Maybe you should go learn something</strong><br>\n<a href=\"https://www.marginalia.nu/log/a_135_learn/\">https://www.marginalia.nu/log/a_135_learn/</a><br>\nThis article is actually useful. For most of us engineers, it’s worth using our spare time to learn something from other fields, which can be really interesting.</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"271. Spiritual Home","link":"https://weekly.tw93.fun/en/posts/271/","pubDate":"Mon, 29 Jun 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/27158.jpg\" data-lightense-src=\"https://cdn.tw93.fun/uPic/27158.jpg\" data-pswp-src=\"https://cdn.tw93.fun/uPic/27158.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4826\" data-pswp-height=\"3619\" style=\"aspect-ratio: 1.3335;\" width=\"800\">\n<p><small>The cover photo was taken over the weekend when I went to my spiritual home, Wang Xiaobo’s bookstore, and sat there for a whole morning, reading “A Maverick Pig” that I’ve read several times, and grabbed a cup of Silver Age coffee on the side, which was really nice. Big thanks to the friend who pointed out that the past few issues of the weekly were a bit shallow, I’d been too absorbed in AI Coding. I take the criticism, and from now on I’ll keep the content more interesting, and strive to make it a spiritual home for everyone.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>claude-tap: a local proxy and trace viewer for AI coding agents</strong><br>\n<a href=\"https://github.com/liaohch3/claude-tap\">https://github.com/liaohch3/claude-tap</a><br>\nLaunch your CLI through it, or have it listen to the local app transcript, and you can see the real API traffic and agent context: system prompt, conversation history, tool schemas, tool calls, streaming responses, token usage, and request diffs. Worth a try for anyone who wants to dig into how it works.<br>\n<img src=\"https://cdn.tw93.fun/uPic/demo_zh37.gif\" width=\"800\"></p>\n<p><strong>VidBee: a nice tool for downloading videos from all kinds of sites</strong><br>\n<a href=\"https://github.com/nexmoe/VidBee\">https://github.com/nexmoe/VidBee</a><br>\nIt uses yt-dlp as its underlying engine, so it can download videos from almost any site in the world, including YouTube, TikTok, Instagram, Twitter, and more. Give it a try if you need it, but mind the copyright.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/S3yAup40.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/S3yAup40.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/S3yAup40.png\" loading=\"lazy\" data-pswp-width=\"3840\" data-pswp-height=\"2072\" style=\"aspect-ratio: 1.8533;\" width=\"800\"></p>\n<p><strong>Witr: helps you see why something is running</strong><br>\n<a href=\"https://github.com/pranshuparmar/witr\">https://github.com/pranshuparmar/witr</a><br>\nWhen something is running on your system, whether it’s a process, a service, or something bound to a port, there’s always a reason. That reason is often indirect, non-obvious, or spread across several layers. Plenty of other tools can tell you what is running; this one does a great job of telling you “why it’s running”, which is pretty interesting.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/TPgQHi39.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/TPgQHi39.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/TPgQHi39.png\" loading=\"lazy\" data-pswp-width=\"1232\" data-pswp-height=\"693\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>Dinky: a file compression tool for Mac</strong><br>\n<a href=\"https://dinkyfiles.com/\">https://dinkyfiles.com/</a><br>\nIt’s quite nicely made, just drag your files in. It supports compressing images, videos, and PDF files, so give it a try if you need it.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/FFAHWB46.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/FFAHWB46.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/FFAHWB46.png\" loading=\"lazy\" data-pswp-width=\"3410\" data-pswp-height=\"2496\" style=\"aspect-ratio: 1.3662;\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Ranking of LLM cache hit rates</strong><br>\n<a href=\"https://dirac.run/posts/cache-hit-rates-agents\">https://dirac.run/posts/cache-hit-rates-agents</a><br>\nKind of interesting. One reason domestic models keep their high cost-performance, along with the careful penny-pinching of our engineers.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/KyJWeN09.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/KyJWeN09.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/KyJWeN09.png\" loading=\"lazy\" data-pswp-width=\"2114\" data-pswp-height=\"2274\" style=\"aspect-ratio: 0.9296;\" width=\"800\"></p>\n<p><strong>Meituan’s AIGC tech innovation and practice for poster generation</strong><br>\n<a href=\"https://tech.meituan.com/2026/06/18/AIGC-poster.html\">https://tech.meituan.com/2026/06/18/AIGC-poster.html</a><br>\nMeituan is actually quite meticulous about how they build things and takes the time to distill methodologies. That said, these days I lean more toward using a more powerful model to solve problems in less time.</p>\n<p><strong>A fairly interesting record</strong><br>\nIt started with an email I received from a Russian teenager, along with a record of our back-and-forth replies, anonymized and then AI-generated. Russia is having a rough time right now, with even international bank cards mostly cut off. I’ve always thought of my products as global, with no political factors, letting everyone enjoy a bit of the fun of engineer tools, which is honestly pretty neat.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/1image49.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/1image49.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/1image49.png\" loading=\"lazy\" data-pswp-width=\"1024\" data-pswp-height=\"1536\" style=\"aspect-ratio: 0.6667;\" width=\"800\"></p>\n<h2 id=\"just-writing\">Just Writing</h2>\n<h3 id=\"walking-ahead-or-being-pushed-along\">Walking ahead, or being pushed along</h3>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/uPic/Group26.png\" data-lightense-src=\"https://cdn.tw93.fun/uPic/Group26.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/Group26.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\">\n<p>Lately I’ve had a feeling: engineers who have already transformed into AI engineers, versus those in traditional roles at traditional big companies who haven’t yet realized they need to transform, give off a vibe like the software engineers at the dawn of the internet versus the engineers working in the China Mobile / Unicom / Telecom direction at the same time. It’s also a lot like the difference between people using smartphones and people using feature phones around 2011.</p>\n<p>Before, it just felt like a difference in choices. Now it feels like a slowly-boiling-frog situation, and the water has actually gotten a bit scalding.<br>\nEngineers walking ahead of where technology is heading will have far more room to maneuver, while those being pushed along by the tech direction or the organization will have a rough time.</p>\n<p>Looking back through some of my pretty shallow past sharing, I was fairly lucky that after 2019 I basically stopped wanting to be a traditional role-based engineer. Back then I wanted to be more of an engineer who solves all kinds of problems, not limited to the role itself, dabbling in design, product, frontend and backend, and ops, more about solving a product’s problems.</p>\n<p>Looking back now, it’s a good thing I kept at it, otherwise reaching this stage would honestly be pretty rough.<br>\nHonestly, working that way back then wasn’t all that well-liked, it looked unfocused, and I could only rely on the things I did myself to slowly help the engineers around me grow. But at the time I really didn’t overthink it, I just felt that solving problems was way more interesting than guarding my own job, and that I could explore a ton of interesting things, without expecting immediate results, just letting things happen in their own time. I never imagined that, a few years later when AI arrived, it would become a small little moat for me in this wildly tug-of-war world.</p>\n<p>The content of the articles below is pretty disconnected from the rapid development of the current AI era. You can treat them as relics from ancient times, then put yourself back in that era, which should be fairly interesting. You can even read them against the timeline of AI development, which happens to let you see some of my own thinking and changes on the technical side.</p>\n<p>2019-11-25 <a href=\"https://tw93.fun/2019-11-25/product-and-github.html\">Product and Open Source Sharing</a><br>\n2020-03-18 <a href=\"https://tw93.fun/2020-03-18/how-to-do-design.html\">Interaction Design for Admin Dashboards</a><br>\n2022-07-01 <a href=\"https://tw93.fun/2022-07-01/gou.html\">How to Hunker Down and Get Stronger in a Tough Climate</a><br>\n2022-07-29 <a href=\"https://tw93.fun/2022-07-29/pd-code.html\">How to Be a Product Engineer?</a><br>\n2022-12-09 <a href=\"https://tw93.fun/2022-12-09/talk.html\">How Engineers Can Get Things Done Clearly</a><br>\n2023-10-25 <a href=\"https://tw93.fun/2023-10-25/new-fe.html\">The Dilemma and Breakthrough of Next-Gen Frontend</a><br>\n2024-01-12 <a href=\"https://tw93.fun/2024-01-12/open.html\">My Open Source Growth Journey</a><br>\n2024-09-09 <a href=\"https://tw93.fun/2024-09-09/future.html\">Talking About Future Tech Trends</a><br>\n2025-07-17 <a href=\"https://tw93.fun/2025-07-17/money.html\">How Engineers Can Invest Better</a><br>\n2025-08-17 <a href=\"https://tw93.fun/2025-08-17/ai-coding.html\">The Impact of AI Coding on Programmers</a><br>\n2025-12-22 <a href=\"https://tw93.fun/2025-12-22/engineer.html\">The Breakthrough and Growth of Next-Gen Engineers</a><br>\n2026-03-30 <a href=\"https://tw93.fun/2026-03-30/kill.html\">Kill the Hand-Coding Programmer</a></p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"},{"title":"270. Qiao Cun","link":"https://weekly.tw93.fun/en/posts/270/","pubDate":"Mon, 15 Jun 2026 00:00:00 GMT","description":"<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/27034.jpg\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/27034.jpg\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/27034.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"5691\" data-pswp-height=\"4268\" style=\"aspect-ratio: 1.3334;\" width=\"800\">\n<p><small>The cover photo was taken over the weekend when I went to Qiao Cun for a meal, just a casual snap. Their food is great, the avocado and salmon are really tasty. Whenever a friend visits Hangzhou, I usually take them here or to Zhang’s Mansion.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech I see every week, filtered and published here. Follow this weekly newsletter to get update notifications</strong></p>\n</blockquote>\n<h2 id=\"new-recommendation\">New Recommendation</h2>\n<p><strong>If a friend of yours needs to update their resume soon, you have to recommend Kami to them</strong><br>\n<a href=\"https://github.com/tw93/Kami\">https://github.com/tw93/Kami</a><br>\nIf a friend of yours needs to update their resume soon, you have to recommend Kami to them. I tuned a dedicated version carefully, so Kami alone makes writing a resume genuinely handy, good-looking, and clear. Have them get their raw source material ready in Markdown, then tell the AI <code>/kami help me produce a resume</code>, tweak it once or twice, and it’s pretty much done. It’s not just layout, it also helps optimize and organize your resume content, looking at the talent profile from the perspective of a technical final-round interviewer.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/9MamaP33.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/9MamaP33.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/9MamaP33.png\" loading=\"lazy\" data-pswp-width=\"1241\" data-pswp-height=\"1754\" style=\"aspect-ratio: 0.7075;\" width=\"800\"></p>\n<h2 id=\"product-releases\">Product Releases</h2>\n<p><strong>Mole’s desktop client 1.7.2 is here</strong><br>\n<a href=\"https://mole.fit/\">https://mole.fit/</a><br>\nThis release updates a ton of things, including support for users with accessibility needs. Status and the menu bar are faster and more stable, Software, uninstall, and updates are more complete, Clean is more thorough while still keeping review-first, the privacy check is more accurate, quieter, and smarter, Analyze, Doctor, and Clean Screen are more stable too, and there are quite a few optimizations for fan control on Apple silicon.</p>\n<p>It’s been exactly one month since Mole’s Mac version launched, written in my spare time, and the numbers are kind of fun. In total I wrote 110,000 lines of Swift, including 36,000 lines of test code and 1,983 unit tests, shipped 8 releases, added 145 new features, and supported 9 languages. Anyone interested is welcome to give it a try. More surprises to come.</p>\n<p><video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.tw93.fun/blog/pic/mole318.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Kaku has finally updated to version 0.12 as well</strong><br>\nKaku even has its own little official site now <a href=\"https://kaku.fun/\">https://kaku.fun/</a>, go take a look. This update brings quite a few things: it now restores session history after you reopen a window, supports AI features you can use directly once logged in with the Codex backend, opens PDFs, images, audio and video, archives, and Office documents with the system default app, and when all panels are sitting at the shell prompt, Cmd+Q quits directly, plus other fun features. Go check out the Release.<br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/8fKF3s43.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/8fKF3s43.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/8fKF3s43.png\" loading=\"lazy\" data-pswp-width=\"3116\" data-pswp-height=\"1540\" style=\"aspect-ratio: 2.0234;\" width=\"800\"></p>\n<p><strong>Some fun recent updates to Pake</strong><br>\n<a href=\"http://github.com/tw93/Pake\">http://github.com/tw93/Pake</a><br>\nPake packages a web page into a lightweight desktop app with one command, supporting macOS, Windows, and Linux. Recently it added cmd+f content search, right-click download support, dots in desktop app names, clearer error messages when AppImage builds fail on Linux, a pnpm 11 compatibility fix, and more.<br>\n<img src=\"https://cdn.tw93.fun/blog/pic/pake128.gif\" width=\"800\"></p>\n<h2 id=\"just-chatting\">Just Chatting</h2>\n<p><strong>I’m not an influencer, not a content creator, not a KOL, so what am I</strong><br>\n<img src=\"https://cdn.tw93.fun/cdn-cgi/image/width=2000,quality=80,format=auto,fit=scale-down/blog/pic/jDQIRZ22.png\" data-lightense-src=\"https://cdn.tw93.fun/blog/pic/jDQIRZ22.png\" data-pswp-src=\"https://cdn.tw93.fun/blog/pic/jDQIRZ22.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\"><br>\nMy Twitter earnings are only a bit over 100 dollars each time, probably far less than most blue checkmarks, even lower than that friend who got burned twice by Tauri, which is kind of funny. Why so little? Haha, I should reflect on it, and along the way share my failure experience with everyone.</p>\n<p>First off, I’m not an influencer, not a content creator, not a KOL, nothing really, just an ordinary engineer who writes a bit of hobby code. Twitter, to me, is a way to sync the changelogs of my open-source products to everyone, and to share daily life posts about where I went, what I ate, what I watched. There’s no traffic pressure at all, and no pressure to turn traffic into money, so if the earnings are small, so be it. That actually happens to make this an account I like more and more.</p>\n<p>Content creators usually make money by taking ads, and AI companies tend to pay quite well, sharing lots of altruistic products to get more people to follow, earning their due while being helpful, which is honestly pretty nice too. But there’s usually traffic pressure: you have to keep chasing hot topics and obsessing over headlines, and the longer you do it the better you get. I just feel that’s too exhausting, and I can’t pull it off.</p>\n<p>I actually took some ads before, but I haven’t for a long time now. I remember an agency once contacted me and said advertisers don’t like an account like mine, they prefer the kind that constantly posts AI hot takes. When I heard that, I was actually happy, haha. My account hasn’t turned into the high-quality traffic account they see it as, so I guess I’m keeping things pretty well.</p>\n<p>I kept wondering, if I had to describe my account in one word, what would it be? I thought about it for a long time, and finally figured it out today, which is why this casual article exists: my account should be a continuously iterated “Tw93 Engineer Magazine”.</p>\n<p>This magazine has roughly these few columns: Product Notes, recording the updates and interesting ideas behind products like Pake, Mole, and Kaku; a Tech Column, where I write about technical thoughts, thoughts on AI, and learning topics in new tech areas; Good Stuff, all tools I actually use myself, none of the paid-promotion kind; and a Just Looking Around module where you can see my daily life, what I eat, play, and watch.</p>\n<p>Every engineer can flip through it casually, find something they’re interested in, and dive in to play with it. Friends who want to learn can also read through my long articles one by one, then head to my blog and the trending weekly to find more interesting past content.</p>\n<p>This magazine has almost no ads, and won’t say things against my conscience just to promote my own products. Updates are pretty casual too, usually at most two posts a day, just one when I’m too busy, posting whatever comes to mind. At the same time this magazine is a continuously iterating product: through it you can see how I change year by year, like a tech friend who keeps you company, and you can also reach the magazine’s editor via DM.</p>\n<p>The magazine is slowly growing its own side business, Mole. It sells not because the product is so great, but more because of people’s trust in the magazine itself. This made me realize that low-traffic content doesn’t mean it has no value. Not many people read it, but the trust runs deep, and that can actually bring some unexpected conversions, which is pretty magical. It’s just run rather casually, but fairly consistently.</p>\n<p>So what am I really running? It should just be this magazine called Tw93. Whatever kind of person I am, I write that kind of content, and naturally I’ll meet that kind of reader, with no need to worry about what to write. In the end, what I most want to do is let the engineers reading this magazine and me learn from and grow with each other, but without the anxiety.</p><hr style=\"border:none;border-top:0.5px solid rgba(0,0,0,0.08);margin:26px 0 14px;\" />\n    <p style=\"text-align:left;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\">\n      <a\n        href=\"https://mole.fit\"\n        style=\"\n          display:inline-block;\n          padding:6px 18px;\n          border-radius:999px;\n          background:#222;\n          color:#fff;\n          font-size:13px;\n          text-decoration:none;\n        \"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n      >❤️ Support me</a>\n    </p>"}]}}