{"lang":"en","count":12,"issues":[{"title":"266. Masked Sculpture","link":"https://weekly.tw93.fun/en/posts/266/","pubDate":"Mon, 27 Apr 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/31/266.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/31/266.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/31/266.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"2800\" data-pswp-height=\"2100\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover photo is a sculpture of a child wearing a mask, taken on the weekend while running errands over in Gongshu. In a flash, the pandemic already feels like a long time ago, and yet it also feels like just yesterday. Those years are still worth remembering.</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=\"introducing-the-tw93-open-source-family\">Introducing the Tw93 Open Source Family</h2>\n<p><a href=\"https://github.com/tw93\">https://github.com/tw93</a><br>\n<img src=\"https://gw.alipayobjects.com/zos/k/sa/family.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/sa/family.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/sa/family.png\" loading=\"lazy\" data-pswp-width=\"1586\" data-pswp-height=\"992\" style=\"aspect-ratio: 1.5988;\" width=\"800\"></p>\n<p>After finishing Kami, I suddenly realized that Kaku, Waza, and Kami feel a lot like a small family. Then I kept thinking, and actually Pake, MiaoYan, and Mole have always been quietly part of this family too. Some of them were even out doing real work before AI showed up. Today let me introduce you to this warm and happy little family.</p>\n<p>Kaku is the dad. He mainly handles writing code, the terminal, and builds. Very reliable and capable in the AI era, he holds the family together well.</p>\n<p>Pake is the mom. She has been quietly packaging, organizing, and delivering apps all along. Gentle and efficient. She is the kids’ favorite in the family.</p>\n<p>MiaoYan is the older brother. Sensible and steady, he likes writing, Markdown, and reflective thinking. A quiet young man who thinks for himself, has his own opinions, shares his views, and never chases trends or follows the crowd.</p>\n<p>Waza is the older sister. Her personality is similar to mom’s, very sharp and capable. As a kid she even practiced taekwondo. She loves learning, and through endless practice and reflection she sharpens her skills until they become instinct.</p>\n<p>Kami is the younger sister. The youngest little sweetheart in the family, generated based on my daughter’s photo. Bright and cheerful, always smiling, very sunny. She has a kind of order-keeping presence at home, loves tidiness, and loves drawing pretty pictures. Small, but very warm.</p>\n<p>Mole is the family’s little pet mole. Brought home one year while swimming by a pool in Sanya. A round little mole with a tiny headlamp and a small shovel. He loves rummaging through corners, finding things you no longer need and helping you throw them away. He loves cleanliness. The moment he spots trash, before you can react, it is already gone. Always there, keeping us company.</p>\n<p>So, which member of the Tw93 Open Source Family did you meet first? Let me introduce the rest of the family to you, hoping they bring a little something good into your life. And of course, feel free to introduce them to your friends too.</p>\n<h2 id=\"product-releases\">Product Releases</h2>\n<p><strong>Kami: A Comfortable Typesetting and Design System for the AI Era</strong><br>\n<a href=\"https://github.com/tw93/kami\">https://github.com/tw93/kami</a><br>\nThe weekend before last I started working on a new Skill called Kami (紙, かみ). You can think of him as the younger sister of Waza (技, わざ) and the daughter of Kaku (書く), focused on Paper typesetting scenarios. Last Monday I finished the open source release. Welcome to give it a try.</p>\n<p>For example, when you need to produce a one-page report, write a white paper, generate a polished slide deck, or build a portfolio PDF to send to someone. Any printing or typesetting scenario works. It auto-generates beautiful PDFs, and even has the ability to draw clear charts automatically.</p>\n<p>Plenty of updates lately. The most fun one: I added support for 12 inline SVG charts, things like stock investment charts and architecture diagrams, all with colors that match Kami. While generating your layout, it automatically decides whether chart capabilities are needed, helping you explain things more clearly.</p>\n<p>I also spent some time supporting English and Japanese scenarios, carefully picking fonts, letter spacing, line heights, and font sizes that I think work well for typesetting. If you have English or Japanese use cases, give it a try.</p>\n<p>The output also supports image and slide deck export, including HTML display. The best output for typesetting is still PDF in my opinion, since it reads very comfortably for others.</p>\n<img src=\"https://gw.alipayobjects.com/zos/k/qr/iCgeq1.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/qr/iCgeq1.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/qr/iCgeq1.png\" loading=\"lazy\" data-pswp-width=\"2992\" data-pswp-height=\"2308\" style=\"aspect-ratio: 1.2964;\" width=\"800\">\n<p><strong>Mole has updates, plus good news: progress on the desktop client</strong><br>\n<a href=\"https://github.com/tw93/Mole\">https://github.com/tw93/Mole</a></p>\n<ol>\n<li>mo uninstall: cleans up leftover LaunchAgent/LaunchDaemon plists after uninstall; recognizes pkg-installed apps under non-standard paths like /usr/local and /opt; nested helper apps no longer block login item cleanup; sudo is dropped before calling brew, avoiding cask uninstall failures from “running as root”; Homebrew bottles now run correctly under prefixes that contain spaces (such as Applite).</li>\n<li>mo clean: Service Worker ScriptCache is no longer cleaned while Chrome / Arc / Brave / Vivaldi / VS Code / Cursor are running, so MV3 extensions stay intact; TCC-protected Group Containers are skipped to avoid repeated privacy prompts.</li>\n<li>Cloud &#x26; Office segments now have timeout and SIGINT handling, no more freezing; Microsoft Office helpers and research software bundles are no longer flagged as orphans (compatible with macOS’s built-in bash 3.2); added Yarn v1 global cache cleanup.</li>\n<li>mo clean: legacy AI coding assistant cleanup adds GitHub Copilot CLI (~/.copilot/pkg/universal/<version>/), handled alongside Claude Code and Cursor Agent.</version></li>\n<li>mo analyze: worker pool cap lowered again to prevent system thread exhaustion in Steam-like fan-out scenarios; uses incremental cache invalidation when deleting files, no full rescan needed; bundle parsing falls back to the filesystem after mdfind timeouts.</li>\n<li>mo optimize: gracefully skips periodic maintenance on macOS 26+ where the underlying tool no longer exists; adds mo optimise alias and completion.</li>\n</ol>\n<h2 id=\"just-writing\">Just Writing</h2>\n<p><strong>The AI Coding You Don’t Know: Onboarding, Scenarios, and Practice for Non-Technical Folks</strong><br>\n<a href=\"https://tw93.fun/en/2026-04-26/ai-coding.html\">https://tw93.fun/en/2026-04-26/ai-coding.html</a><br>\nLast month I gave a session at work for product and business folks on how to get started with AI Coding. Recently I also posted about it on Twitter, and a lot of people brought up that subscription costs prevent them from accessing the top-tier AI Coding tools. The methods and habits can actually be learned for free first, so I decided to write up the onboarding part. To make it easier to grasp, the article includes plenty of simple illustrations, which should make it more direct.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/z1/00.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/z1/00.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/z1/00.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\"></p>\n<p><strong>Video version of “The Agent You Don’t Know: Principles, Architecture, and Engineering Practice”</strong><br>\n<a href=\"https://www.youtube.com/watch?v=Z5If1L3eFtw\">https://www.youtube.com/watch?v=Z5If1L3eFtw</a><br>\nFinally uploaded to YouTube. If you read the article and did not fully follow it, or want a deeper look, the video version is up. New to YouTube here, so please like, subscribe, and share. From now on I will try to record more sessions and share them here.</p>\n<img src=\"https://gw.alipayobjects.com/zos/k/bp/SCR-20260423-tuzj.jpeg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/bp/SCR-20260423-tuzj.jpeg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/bp/SCR-20260423-tuzj.jpeg\" loading=\"lazy\" data-pswp-width=\"3288\" data-pswp-height=\"1876\" style=\"aspect-ratio: 1.7527;\" width=\"800\">\n<p>The <a href=\"https://tw93.fun/files/share/agent.html\">slides</a> are also fun. They are the predecessor of Kami. Kami started as a small investment report generator I was tinkering with inside CC. Around the same time I had a session about agents to give, and writing such a long deck felt tedious, so I just used the existing capability to generate and tweak versions until I was satisfied. That is how Kami was born. Welcome to read.</p>\n<p><strong>Moments of Happiness</strong><br>\nA lazy Sunday afternoon coding in the study<br>\nNothing else to deal with<br>\nEndless Claude Code<br>\nCode that works on the first try<br>\nLook up and see the sunset coming through the window<br>\nA very simple kind of happiness<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/pv/PHyc1R.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/pv/PHyc1R.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/pv/PHyc1R.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"400\"></p>\n<p><strong>Some thoughts after sharing, and they have shifted again</strong><br>\nRecently I interviewed a number of 985 university interns for campus recruiting. One strong impression: AI tools are rapidly widening the resource gap between students.</p>\n<p>From what I have seen, the gap can really reach 5x. The students clearly ahead, without exception, all got into Claude Code, Codex, and other top AI Coding tools relatively early, and were willing to pay for subscriptions themselves. They do not just use the tools, they have made them part of their daily learning and development. Talking models, engineering, agents, and code practice, the conversation flows naturally for an hour. In many places they understand things more deeply than I do.</p>\n<p>But there are also quite a few students with great grades and solid CS fundamentals who, because of family conditions or budget limits, can only use domestic relays or cheaper local model packages. That gap is very real. The best domestic models and top international ones still have about half a year of difference in overall capability. Before AI, the resource gap mostly meant slightly different efficiency. Now it directly affects vision, depth of practice, and confidence.</p>\n<p>I have been thinking about this a lot. For students with real potential, missing out on so much just because of a few dozen dollars a month feels like a real shame. It reminds me of when I was in college, also pretty broke most of the time. Lucky for me, in my second year I met some senior developers who pulled me into commercial projects and got me on my feet. I am very grateful to all the friends who patiently taught me technical things back then.</p>\n<p>So I want to try a small experiment: take part of the X posting revenue and sponsor a few students who do well academically, love computer science, but come from less wealthy families. Give them a few months of Claude Code or a similar AI Coding subscription, so they actually experience what good models and dev workflows feel like.</p>\n<p>But I am also pretty busy on my end and cannot personally handle applications, screening, verification, and long-term follow-up alone. So I want to invite some friends with similar interests to do it together. University teachers, student leads, open source community members, or friends already working in education, public welfare, or developer communities. Together we can come up with a more reliable mechanism.</p>\n<p><del>I do not want to make this big or complex for now. Start small, maybe 5 to 6 students per round, 3 to 4 months each, perhaps with short weekly video chats with me. Prioritize recommendations, work portfolios, learning records, and real usage feedback, to avoid turning this into pure cash handouts or a contest of who writes the best application. Of course, college students who are on X probably do not lack this money, so we still need better channels.</del></p>\n<p>If you have reliable channels, or want to help with rule design, recommendations, vetting, or follow-up, please DM me. If we can make this trustworthy, maybe we really can help a few students with real potential.</p>\n<p><strong>Update Reply</strong>:</p>\n<p>After the message went out, I received plenty of suggestions and reminders from friends. I read them all carefully.</p>\n<p>This really cannot be pushed forward on enthusiasm alone. On one side there are tool usage boundaries and compliance risks. On the other, the real needs of the student community, the screening method, and the follow-up feedback all need a more solid mechanism. Some friends mentioned getting badly burned doing similar things in the past, even bitten back in the end. I find that reminder very valuable.</p>\n<p>So the plan now is to first gather more on the actual situation, like the real pain points college students face when using AI Coding tools, budget limits, learning scenarios, and real needs. Then put together a clearer proposal.</p>\n<p>Going forward, I will prioritize working with domestic large model vendors, developer communities, and university teachers to see if there is a more formal and sustainable way to push this small step forward.</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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"265. Xixi Window View","link":"https://weekly.tw93.fun/en/posts/265/","pubDate":"Mon, 20 Apr 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/ky/265.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/ky/265.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/ky/265.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"2400\" data-pswp-height=\"1800\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover photo is from lunch at Yueya in Xixi Wetland one noon this week. I had not been there in a long time. The place still feels great. The sun was out, short sleeves felt just right, and I took this shot outside the window. Spring moves fast.</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=\"talking-about-wazas-design-ideas\">Talking About Waza’s Design Ideas</h2>\n<p>I want to write a few pieces introducing the implementation references behind some interesting skills in Waza. Last week I wrote one every morning, so I am collecting them here for everyone.<br>\n<a href=\"https://github.com/tw93/waza\">https://github.com/tw93/waza</a></p>\n<img src=\"https://gw.alipayobjects.com/zos/k/7o/4OUzkd.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/7o/4OUzkd.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/7o/4OUzkd.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"775\" style=\"aspect-ratio: 1.5484;\" width=\"800\">\n<h3 id=\"introducing-the-design-skill\">Introducing the /design Skill</h3>\n<p>I really dislike those AI-generated websites that all look the same, often with emoji and blue-purple gradients. They look ugly to me. Usable, sure, but that is about it.</p>\n<p>So I asked Claude Code to study my tuning notes from all the UI websites I have built recently. It produced a basic set of what I consider best practices and anti-patterns. That became the initial shape. Then I learned the useful parts from the Claude frontend design skill, and a pattern basically came together.</p>\n<p>For concrete rules, I learned quite a bit from pbakaus/impeccable. It contributed many specific rules for me, including banned font lists, color systems, theme styles, forbidden CSS patterns, animation standards, and more. These help give AI some aesthetic knowledge.</p>\n<p>Then I took a capability from getdesign: a nine-part scaffold structure originally from Google Stitch. I simplified it and folded it into /design. At that point, the skill had a proper knowledge system.</p>\n<p>Finally, when I ask you to use this skill, it first asks a few questions: who will use it, what aesthetic direction to choose, what you want users to remember from the page, what you dislike most, and what kind of signature micro-interaction the page should have. With this important context plus /design, Claude Code often gets much better results.</p>\n<h3 id=\"how-i-designed-the-check-code-review-skill\">How I Designed the /check Code Review Skill</h3>\n<p>First, we need to understand that when a model says it is done, it may not actually be done. It may have left behind nonexistent things or problematic details, and issues often stay hidden. In Agent design, my engineering experience is to give the model a checklist to verify whether the work is truly complete. This tends to work far better than simply asking it to check the result.</p>\n<p>From the beginning, /check was not designed as one big all-in-one reviewer. It is an orchestration and division-of-labor system. SKILL.md is the lead reviewer, responsible for review levels and process control. Under agents/, there are independent security and architecture reviewers. Each handles its own area without interfering with the others. Which reviewer gets pulled in, and when, is decided by activation rules rather than the keyword matching people usually use.</p>\n<p>The level logic is also interesting. Code changes under 100 lines get a fast review. Changes between 100 and 500 lines bring in experts as needed. Changes above 500 lines bring in the full set, followed by a round of adversarial testing. The adversarial testing looks for problems from four angles: violated assumptions, possible issues under combined failures, errors across parent-child chains, abuse scenarios, and so on.</p>\n<p>The issues found are handled in four levels. Things that can be safely fixed are fixed directly. Things that are probably right but need confirmation are packaged up for you to approve manually. Things that require judgment are asked about. Reference-only items are also reported, but it will not ask you about every tiny issue, and it will not overstep by changing behavior logic for you.</p>\n<p>There is also a hard requirement: if verification has not finished, the task is not complete. It includes a detection script that can identify project types such as Cargo, TypeScript, and Python, then run the relevant tests. If it cannot detect the project type, it reports an error directly instead of pretending everything passed.</p>\n<p>This makes it feel more like an experienced technical expert applying review judgment to different situations. I happened to distill that experience into Waza’s /check skill in a very simple way.</p>\n<h3 id=\"how-i-designed-the-think-skill\">How I Designed the /think Skill</h3>\n<p>This is already the third part of the Waza skill design notes. Today I want to share how I designed /think, the skill used for planning before writing code.</p>\n<p>I have two very interesting settings when using Claude Code. The first is /model opusplan, which means planning uses the strongest Opus model by default, while execution uses the regular Sonnet model. This helps save my Max quota for places where it matters more.</p>\n<p>The second is that I usually run Claude Code with the alias <code>c=\"claude --dangerously-skip-permissions\"</code>. I do not recommend this for technical beginners. I use it because I know what it is doing, and mainly because I am lazy.</p>\n<p>Back to the main topic: how does /think help the strongest model perform better? It starts with the model itself. Models do not like taking a position, but I prefer engineers who can take a position and recommend the best plan. So the first thing I did was require the model to state its position at the beginning, explain what evidence could overturn that position, and explicitly ban correct but useless filler like “There are many ways to think about this”. Giving 2 or 3 options is fine, but there must be a clear recommendation, and it must include a minimal option.</p>\n<p>A plan is not done just because it has been thought up. The second step asks it to argue against itself: under what conditions would this plan fail? If the issue can be fixed, it adds the fix back into the plan and presents it again. If the issue breaks the plan outright, it directly explains when and why the plan does not work. At least the plan you receive is one you understand clearly.</p>\n<p>It also checks assumptions carefully. First, confirm whether the target directory and code location are correct. I have actually seen it produce a plan against the wrong path. Then it checks old technical design documents to avoid reinventing things. Then it searches GitHub to see whether others have handled similar problems. Only after these three steps does it start thinking about solutions, so the plan is not built on a wrong premise from the start.</p>\n<p>There is also complexity grading. If more than 8 files are involved or a new service is added, it clearly states the scale. If more than 3 components exchange data, it draws an ASCII diagram to look for cycles. All API keys and third-party dependencies are listed during the planning stage, preventing wasted work and unreliable plans.</p>\n<p>Finally, there is a hard rule: the plan cannot contain TBD, TODO, “leave it for later”, or “similar to step N”. This goes back to AI’s behavior. If you leave these openings, execution can easily miss things or improvise too much. Do not give AI any escape route that can lead to poor results.</p>\n<p>The output format is also defined: what to do, what not to do, which option was chosen and why, 3 to 5 decision points, and explicit unknowns. /think never writes code. It waits for user approval before execution.</p>\n<p>When I designed the Think skill, I was also using my idea of how a good technical expert writes a technical plan: detailed analysis and research, a decisive best plan, no loose ends, and immediate plan refinement when challenged.</p>\n<h3 id=\"talking-about-the-hunt-skill-for-engineers\">Talking About the /hunt Skill for Engineers</h3>\n<p>This is finally part 4 of the Waza skill design notes. After this, it is almost complete, because the other two, /read and /learn, were already briefly covered before. This time I will continue with the engineering skills and talk about /hunt, which is the skill for debugging and investigating problems.</p>\n<p>One major difference between superficial AI coding and serious AI coding is visible in how users use AI to investigate problems that have stayed unsolved for a long time. The troubleshooting process shows a clear gap. This is also why experienced engineers can use AI to solve much more complex problems than people who understand less about technology.</p>\n<p>I often ran into this before: Claude Code hits a problem and fixes it with a patch. You say it is wrong, so it gives you another patch. After 4 or 5 rounds, new problems appear. It is easy to keep patching without diagnosing the actual issue, much like junior developers did before AI.</p>\n<p>The core rule of /hunt is interesting: before AI can state the root cause in one sentence, it is not allowed to touch the code. That sentence also has a precision requirement. It needs to clearly explain the cause.</p>\n<p>Then I designed a self-deception checklist to prevent the model from falling into several common patterns of self-justifying thinking. Each pattern has matching rules, and the gotchas include real cases. I summarize and abstract this again based on issues I ran into while debugging over the past month.</p>\n<p>The hypothesis verification stage also has concrete work requirements. For example, add a fresh observation method, teach AI to add logs, add assertions, or run a minimal failing test case. If there are still problems after the fix, it should immediately switch plans. It organizes what it checked, which directions it investigated, and what remains unknown into a handoff for the user to decide how to continue, instead of trying endlessly.</p>\n<p>The output also guides AI to include the root cause at file:line, what changed at file:line, what evidence confirms the fix, and which tests passed. The final state has three options: resolved, resolved with caveats, or blocked.</p>\n<p>You can see that /hunt behaves like an experienced technical expert. When it hits a problem, it does not guess. It slows down, looks for where the problem is, diagnoses the cause clearly, and then fixes it in one pass. This often saves a lot of time.</p>\n<h2 id=\"things-to-browse\">Things to Browse</h2>\n<p><strong>MiaoYan released version 3.2.0, Nargacuga</strong><br>\n<a href=\"http://github.com/tw93/MiaoYan\">http://github.com/tw93/MiaoYan</a></p>\n<ol>\n<li>Faster preview: two-stage rendering shows text immediately, while local images lazy-load in the background. This noticeably reduces the wait for the first preview screen.</li>\n<li>Terminal shortcut: added Cmd+J as a global shortcut to open the terminal for the current folder anytime. The folder right-click menu also has the same entry.</li>\n<li>Copy path: right-click any note to copy its full file path directly.</li>\n<li>Spanish localization: complete Spanish translation coverage for menus, settings pages, and system strings.</li>\n<li>Mermaid upgraded to v11.14.0, fixing subgraph edge rendering issues and adding new chart features.</li>\n<li>Real-time reload fix: notes modified by other tools now correctly trigger reloads, including files inside symlinked directories (closes #502).</li>\n<li>Startup and window fixes: opening .md files directly from Finder no longer shows a blank screen. In single-column mode, notes are no longer lost during startup or exit.</li>\n<li>Export and mode switching: fixed blank previews when switching notes, timing issues when exiting PPT presentation mode, export timeout handling errors, and more.</li>\n<li>Concurrency safety: fixed ExportCache data races, security-scoped URL leaks, and note state confusion after async rendering.\n<img src=\"https://raw.githubusercontent.com/tw93/static/main/miaoyan/miaoyan.gif\" width=\"800px\">\n</li>\n</ol>\n<p><strong>Kaku has an interesting feature coming soon. It should ship in a few days</strong><br>\n<a href=\"https://github.com/tw93/Kaku\">https://github.com/tw93/Kaku</a><br>\nKaku has been developing an interesting feature recently: a real Agent assistant that can move smoothly inside the terminal. It gradually realizes the quiet Kaku AI idea I mentioned during Chinese New Year, and it also helps me move 100% of my coding work fully into Kaku.</p>\n<p>A very convenient context environment, useful CLI tools, models, and a restrained personality make Kaku feel different. It is not cold, and it is not the over-the-top “I have got you” style of GPT either. Kaku AI is positioned as a technically strong, friendly, and concise engineer friend. Once I test it for a few days without bugs, I will release Kaku 0.10 for everyone to try.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/hq/bPJ8tk.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/hq/bPJ8tk.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/hq/bPJ8tk.png\" loading=\"lazy\" data-pswp-width=\"1645\" data-pswp-height=\"1079\" style=\"aspect-ratio: 1.5246;\" width=\"800\"></p>\n<p><strong>My Claude Code Max usage suggestions</strong><br>\nFirst, I add an alias in <code>.zshrc</code>, so every time I press <code>c</code>, it starts dangerous unrestricted mode directly. If you are a beginner, I do not recommend starting this way. Auto mode is enough. Another big suggestion is to set the automatic context window compaction to 400k. Together, the alias below goes into the file, which means the 1m context window starts compacting at 40%. The result feels much better.</p>\n<pre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"sh\"><code><span class=\"line\"><span style=\"color:#F97583\">alias</span><span style=\"color:#E1E4E8\"> c</span><span style=\"color:#F97583\">=</span><span style=\"color:#9ECBFF\">'CLAUDE_CODE_AUTO_COMPACT_WINDOW=400000 claude --dangerously-skip-permissions'</span></span></code></pre>\n<p>Then I set /model to opusplan. You can run the hidden command <code>/model opusplan</code> directly inside Claude Code to enable it. If you want it faster, you can turn on <code>/fast</code>, which nicely makes up for the token savings above.</p>\n<p>Finally, someone gave me a really good suggestion: when using opusplan, make sure to set <code>showClearContextOnPlanAccept</code> to <code>true</code> in the Claude config file <code>~/.claude/settings.json</code>. Otherwise, Sonnet can run into serious cache miss issues. Once this is configured, the experience feels much smoother.</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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"264. Finally Done","link":"https://weekly.tw93.fun/en/posts/264/","pubDate":"Mon, 06 Apr 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/kd/264.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/kd/264.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/kd/264.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover photo is a shot of my hardware toy finally finished. It was a fun ride, and I wanted to document the whole process in this week’s issue. Hope you enjoy reading 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=\"new-article\">New Article</h2>\n<p><strong>How I Deep-Dive into a New Technical Domain in the AI Era</strong><br>\n<a href=\"https://tw93.fun/2026-04-06/learn.html\">https://tw93.fun/2026-04-06/learn.html</a><br>\nA follow-up to the learning writeup from last time, combined with the /learn skill inside Waza, walking through how I actually wrote that previous large model article. Hope it is useful to you.<br>\n<img src=\"https://cdn.fliggy.com/pic/deep04.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/deep04.png\" data-pswp-src=\"https://cdn.fliggy.com/pic/deep04.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\"></p>\n<h2 id=\"building-a-little-robot-dog\">Building a Little Robot Dog</h2>\n<p><strong>April 4: Back to hardware basics. I want to build something that combines software and hardware.</strong><br>\nAll the parts and tools had finally arrived, a whole table full of them. Saving it all for the Qingming holiday to dig in properly.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/gu/gOR0gb.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/gu/gOR0gb.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/gu/gOR0gb.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<p><strong>April 4, 9:45 PM: v0.1.0-beta</strong><br>\nThe first sign of life. I was so happy I couldn’t describe it.<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://gw.alipayobjects.com/os/k/4s/IMG_0321.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>April 5, 12:07 AM: v0.1.0-beta1</strong><br>\nGot the WiFi module, AI module, microcontroller module, and quad-leg module all running together. Tomorrow I’ll attach the legs and tune the screen. Going to sleep right now!<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.fliggy.com/pic/IMG_032613.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>April 5, 1:45 PM: v0.1.0-beta2</strong><br>\nMechanical leg control is working. It can crouch, sleep, and walk. Still rough around the edges, but one of the leg motors from the order looks like it has a problem. Waiting on a replacement part.<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.fliggy.com/pic/new01.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>April 6, 10:33 AM: v0.1.0-beta3</strong><br>\nAll four legs are fully under control now. But I burned the screen during debugging. Waiting on shipping. Can’t wait to release.<br>\n<img src=\"https://cdn.fliggy.com/pic/IMG_0379.jpg06.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/IMG_0379.jpg06.jpg\" data-pswp-src=\"https://cdn.fliggy.com/pic/IMG_0379.jpg06.jpg\" loading=\"lazy\" data-pswp-width=\"3880\" data-pswp-height=\"2910\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<p><strong>April 8, 11:37 PM: v0.1.0-beta4</strong><br>\nThe replacement screen arrived after work. Got it running, then tuned the temperature, CO2, infrared, and lighting sensors all in one go. Still working on WiFi provisioning. It’s basically taking shape now, just need to seal and secure everything.<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.fliggy.com/pic/IMG_043028.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>April 11, 11:30 AM: v0.1.0 finally ships 🎉</strong><br>\nSealed up the battery pack and tied a few straps around it to keep things from falling apart. Got the WiFi and AI conversation module working too. Using DeepSeek makes it noticeably faster, response speed is decent. Next up: something with more advanced hardware.<br>\n<video width=\"800px\" preload=\"metadata\" controls><source src=\"https://cdn.fliggy.com/pic/26F9D347-A9C8-4DCC-811A-033887BD049515.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>A few photos from different angles to mark the moment</strong></p>\n<table style=\"margin-top:-20px\">\n    <tbody><tr>\n        <td width=\"50%\">\n           <img src=\"https://cdn.fliggy.com/pic/26410.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/26410.jpg\" data-pswp-src=\"https://cdn.fliggy.com/pic/26410.jpg\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n        <td width=\"50%\">\n           <img src=\"https://cdn.fliggy.com/pic/IMG_050519.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/IMG_050519.JPG\" data-pswp-src=\"https://cdn.fliggy.com/pic/IMG_050519.JPG\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n    </tr>\n    <tr>\n        <td width=\"50%\">\n           <img src=\"https://cdn.fliggy.com/pic/IMG_050736.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/IMG_050736.JPG\" data-pswp-src=\"https://cdn.fliggy.com/pic/IMG_050736.JPG\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n        <td width=\"50%\">\n           <img src=\"https://cdn.fliggy.com/pic/IMG_050944.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/IMG_050944.JPG\" data-pswp-src=\"https://cdn.fliggy.com/pic/IMG_050944.JPG\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n    </tr>\n</tbody></table>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>App Store Price: Look up app prices across different countries and regions</strong><br>\n<a href=\"https://app.vbr.me\">https://app.vbr.me</a><br>\nA handy little tool. You can check what an app costs in any App Store region, like figuring out which country has the cheapest Claude subscription. I’ll probably find a use for this soon.<br>\n<img src=\"https://cdn.fliggy.com/pic/Pnc8XN58.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/Pnc8XN58.png\" data-pswp-src=\"https://cdn.fliggy.com/pic/Pnc8XN58.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"886\" style=\"aspect-ratio: 1.3544;\" width=\"800\"></p>\n<h2 id=\"random-thoughts\">Random Thoughts</h2>\n<p><strong>Let me share what I think makes for a genuinely good product experience.</strong></p>\n<p>There’s a followup to my lost drone story. The signal cut out mid-flight, I searched for a long time, couldn’t find it. I uploaded the flight logs and DJI couldn’t find a clear cause either. Even without being sure it was actually lost, they asked for very minimal proof and, under their Care Refresh service, just shipped me a brand new one. They even threw in a 128GB card in case it would be more convenient. Not once did anyone ask me to explain how it got lost or whether I had gone looking for it.</p>\n<p>That experience made me a real fan of DJI. Their customer service and technical support engineers were professional and clear throughout the whole process. I want to use that story to share what I think makes a good product experience.</p>\n<p>Good product experience is not just what people usually say: great interaction design, beautiful UI, easy to use, no bugs. Those matter, but what matters even more is this: when a user is in a tough spot, you give them something far better than they expected. Something so good that they get excited and tell their friends about it. That is what I consider truly good product experience, the kind that is good for business too. The only thing I worry about is that this culture of trust and simplicity gets taken advantage of by people trying to game the system. It’s something we all have to protect together.</p>\n<p>Two other experiences that stood out to me involved Ctrip.</p>\n<p>The first was three years ago during the Spring Festival. Tickets home were nearly impossible to get. They suggested I buy tickets for a few extra stops to guarantee I could board, and I was already grateful for that because nothing else had worked. But then, even better: I was at the movies that afternoon, feeling like everything was handled, when I got a call from an unknown number that I declined. Right after, a text came in saying they had found me a direct option that didn’t require the extra stops, and could I please go to the app to confirm. You could tell a real person had made that call and sent that message. It wasn’t the few dollars saved. It was the feeling that someone was genuinely working hard for me and delivering better than I had hoped. That is good experience.</p>\n<p>The second happened recently, during National Day. I had gotten two first-class seats but they weren’t together, pretty far apart. I had noted I was traveling with an 18-month-old. Then, the day before departure, Ctrip quietly swapped our seats. Just a simple notification: we found an open seat in your carriage and moved you both together. Another moment where someone gave me more than I expected.</p>\n<p>So if you are building a product, think about giving your users something far beyond what they expect in the moments when they really need it, rather than chasing clicks with tricks. When you do that, people will genuinely love your product and become your most loyal fans.</p>\n<img src=\"https://cdn.fliggy.com/pic/lxEYPC26.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/lxEYPC26.png\" data-pswp-src=\"https://cdn.fliggy.com/pic/lxEYPC26.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"800\"><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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"263. Hardware Beauty","link":"https://weekly.tw93.fun/en/posts/263/","pubDate":"Mon, 06 Apr 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/e5/263.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/e5/263.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/e5/263.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4029\" data-pswp-height=\"3022\" style=\"aspect-ratio: 1.3332;\" width=\"800\">\n<p><small>The cover photo is from a hardware toy I spent three days playing with at home during the holiday. I was soldering, applying glue, and debugging through a pile of components. I was almost at the final step when I burned the screen during testing. Now I am waiting for the replacement to arrive so I can keep going. Lots of fun.</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-article\">New Article</h2>\n<p><strong>What You Don’t Know About LLM Training: Principles, Paths, and New Practices</strong><br>\n<a href=\"https://tw93.fun/2026-04-03/llm.html\">https://tw93.fun/2026-04-03/llm.html</a><br>\nThis is the longest article I have ever written. The good news is I finally got a handle on the basics of large model training. The gap between what I assumed I knew before and what I actually found was massive. I highly recommend this to anyone working in AI applications or anyone curious about AI. It should give you a clear picture without leaving you lost.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/4q/Group.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/4q/Group.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/4q/Group.png\" loading=\"lazy\" data-pswp-width=\"1500\" data-pswp-height=\"600\" style=\"aspect-ratio: 2.5000;\" width=\"800\"></p>\n<h2 id=\"product-releases\">Product Releases</h2>\n<p><strong>Waza, My Engineer-Alter-Ego Skill Set</strong><br>\n<a href=\"https://github.com/tw93/waza\">https://github.com/tw93/waza</a><br>\nI packaged my personal skills into something new called Waza. In Japanese, 技（わざ）means technique or skill, often used in martial arts. This is the first time I have released an open-source project with zero code, just markdown files. In the pre-AI era, for a programmer, that would have been embarrassing.</p>\n<p>When Superpowers came out, I installed it once and deleted it right away. Too heavy, not my thing. A lot of people kept telling me “You don’t know Superpowers? If you’re not using it you’re not with the times, it’s amazing.” Then I found gstack, which was better, but still felt like too much. I still wasn’t used to it. I wanted something simple and useful where I could clearly see what it was doing.</p>\n<p>So I built Waza the way I like it. For me, this set is enough. No need to mess with other skills. Not too many, not too few, just right. New iterations can be added over time.</p>\n<p>The 8 skills correspond to 8 abilities I think a good engineer in the AI era should have:</p>\n<ol>\n<li>\n<p><strong>Think clearly.</strong> AI writes code fast, but if the direction is wrong, the faster you go the further off course you get. A good engineer questions the problem itself before touching any code, stress-tests the plan, and has a clear mental architecture before asking AI to execute. /think locks this habit in.</p>\n</li>\n<li>\n<p><strong>Design well.</strong> Building a product is not just about making features work. AI-generated things tend to look the same. Good engineers have an aesthetic standard for what they deliver and a clear design direction. /design handles this.</p>\n</li>\n<li>\n<p><strong>Debug systematically.</strong> AI fixing bugs most easily falls into a “try this, try that” loop. A good engineer diagnoses problems systematically, confirms the root cause before touching the code, and gets it right in one shot. I turned this habit into /hunt.</p>\n</li>\n<li>\n<p><strong>Review before merging.</strong> AI-generated code needs human oversight even more. Check the diff before merging, auto-fix what can be auto-fixed, group the judgment calls together, and verify with evidence rather than gut feeling. That is /check.</p>\n</li>\n<li>\n<p><strong>Read primary sources.</strong> Good engineers read original material, not second-hand summaries. Converting URLs or PDFs into clean Markdown and pulling it directly into the workflow is what /read does.</p>\n</li>\n<li>\n<p><strong>Write clearly.</strong> No matter how technically strong you are, if you can’t explain it clearly, others won’t receive it. A good engineer can convey what they have learned and what they want to express to the right audience. /write helps you nail this step.</p>\n</li>\n<li>\n<p><strong>Learn actively.</strong> Tech moves faster in the AI era. Entering an unfamiliar domain is not just skimming a few articles. It is collecting, digesting, outlining, drafting, refining, and publishing. Output drives learning. That entire flow is /learn.</p>\n</li>\n<li>\n<p><strong>Maintain the toolchain.</strong> A good engineer does not only care about business code. The toolchain itself needs regular checkups. When something feels off with CLAUDE.md, rules, hooks, or MCP configs, run /health and find out what is wrong.</p>\n<img src=\"https://gw.alipayobjects.com/zos/k/yx/JMouVn.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/yx/JMouVn.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/yx/JMouVn.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.0000;\" width=\"800\">\n</li>\n</ol>\n<h2 id=\"product-updates\">Product Updates</h2>\n<p><strong>Kaku 0.9 is out and it is really good</strong><br>\n<a href=\"https://github.com/tw93/kaku\">https://github.com/tw93/kaku</a><br>\nA few fun features shipped in this version that should be genuinely helpful.</p>\n<ol>\n<li><strong>Natural language command generation</strong>: Type <code># &#x3C;description></code> and press Enter, and the auto-generated command is injected back into the prompt.</li>\n<li><strong>Option+Click to move the cursor</strong>: Click anywhere on the current line to move the cursor there.</li>\n<li><strong>Window pinning</strong>: Pin the window to the front via the Window menu, and toggle it on or off anytime.</li>\n</ol>\n<p><video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://gw.alipayobjects.com/os/k/ke/kaku.mp4\" type=\"video/mp4\"></video></p>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Claude HUD helps you track your Claude usage</strong><br>\n<a href=\"https://github.com/jarrodwatts/claude-hud\">https://github.com/jarrodwatts/claude-hud</a><br>\nIt is a little feature-heavy, but after some simple configuration it works well. Worth trying if you are curious. The code feels a bit complex, and when I have time I will probably simplify it myself. Minimalism is the goal.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/bc/l4yelI.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/bc/l4yelI.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/bc/l4yelI.png\" loading=\"lazy\" data-pswp-width=\"2440\" data-pswp-height=\"884\" style=\"aspect-ratio: 2.7602;\" width=\"800\"></p>\n<p><strong>A super minimal, AI-friendly Markdown doc generator</strong><br>\n<a href=\"https://docmd.io\">https://docmd.io</a><br>\nStumbled on docmd. It is a zero-config documentation generator built for developers. It converts Markdown into fast, clean static docs with automatic routing, built-in search, and context that AI can easily use.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/rx/u4S6HX.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/rx/u4S6HX.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/rx/u4S6HX.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>Picked up a 140W charger and it is great</strong><br>\nGot a 140W charger. Good size, finally free from my old 45W. Four ports, which makes it way more convenient on the go. The display showing real-time power output is a nice touch.</p>\n<table style=\"margin-top:-20px\">\n    <tbody><tr>\n        <td width=\"33%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/2s/4R4qMs.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/2s/4R4qMs.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/2s/4R4qMs.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"300\">\n        </td>\n        <td width=\"33%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/k5/XWLwvO.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/k5/XWLwvO.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/k5/XWLwvO.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"300\">\n        </td>\n        <td width=\"33%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/vr/2oXfRE.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/vr/2oXfRE.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/vr/2oXfRE.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"300\">\n        </td>\n    </tr>\n</tbody></table>\n<h2 id=\"random-thoughts\">Random Thoughts</h2>\n<p><strong>Let me share how I dive deep into a new technical domain in the AI era.</strong></p>\n<p>Before AI, I mostly read books and went through every blog post from notable people in the field, both domestic and international, writing notes by hand. It was slow but genuinely fun. Learning WebGL back then felt like that. Getting a solid understanding of something might take half a year of free time. Slow, but happy.</p>\n<p>Now that AI is here, I still can’t stand those “summarize a hundred-year-old novel in 3 minutes” things online. I also dislike short-episode dramas and watching shows at 2x speed. I mostly still choose good things and take time with them.</p>\n<p>But recently while writing the “You Don’t Know Claude Code” and Agent series, outside of the parts I already understood, there were huge areas I wasn’t clear on. Luckily I had saved a lot of articles, and this was the perfect chance to clear the backlog, fully digest everything, and write it all out. I have always believed that what matters is not how much you read, how much you hear, or how much you take in. Most of that doesn’t really stick. What matters is how much you output. That is what becomes truly yours.</p>\n<p>A couple of weeks ago I started a deep challenge: studying the training pipeline of large language models and making sure even non-specialists could understand it. I explored for two weeks, and the experience is now ready to share. The article is basically done and should be coming out soon.</p>\n<p>I organize this learning process like writing code. Step one: collect high-quality material. Recent top papers in the field, blog posts from major model providers about their key releases, threads from model leads on X, recent courses from Stanford and similar schools, and classic “build an LLM from scratch” repos. These are my sources. I use tools to automate downloading everything, converting to Markdown, cleaning, and organizing it all into a structured repo for this research.</p>\n<p>For content I understand, I read it all through, delete the bad parts, and keep the good ones. For content I don’t understand, I use Claude to help me get it. The more complex parts I translate into Chinese and read that way. For code that can run locally, I run it. For code that can’t, I read the structure. Either way, I end up with a rough understanding of the technical principles. This phase usually cuts the original material by half.</p>\n<p>At this point you have a general picture of the field, so you can start writing an outline and figuring out which source material belongs with each section. All of it works well in Markdown. What do you want to say, or more accurately, what do you want your reader to know? Always remember: an article is written for its readers. You need to know your audience’s level. It is a lot like giving a presentation.</p>\n<p>Then comes the grind, which is also a review of everything you have covered. It feels a lot like cramming before an exam in college. You fill in each section completely, and what you end up with is a very long and somewhat rambling article.</p>\n<p>This is where AI really helps. You can ask it to remove the redundant parts and smooth out the disconnected bits, without changing your original meaning or your voice. You can also ask it to flag gaps and help fill them in. That process teaches you even more things you had missed.</p>\n<p>Once that is done, read through it yourself one more time, not AI. AI is just a tool here. Do not let it replace your brain, that defeats the whole point. Reading through yourself, you can keep adjusting and polishing. It feels a lot like testing your own code: fix issues, fix more issues. After reading it twice and feeling good about it, you can publish it for everyone to see.</p>\n<p>Some folks worry that nobody will read what they write, so they hold back or just don’t write at all. Honestly, if your content has real value, readers will come. Worry about quality, not the audience.</p>\n<p>That took 10 minutes to write. Done. Happy to hear how you learn new fields. The video below is a recording of the learning repo for the LLM training article I mentioned, the one coming out soon. It shows my “industrial-scale” way of learning. Kind of fun to look at.</p>\n<p><video width=\"800px\" preload=\"\" controls muted><source src=\"https://cdn.fliggy.com/pic/llm45.mp4\" type=\"video/mp4\"></video></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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"262. Lost My Drone","link":"https://weekly.tw93.fun/en/posts/262/","pubDate":"Mon, 30 Mar 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/c6/262.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/c6/262.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/c6/262.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3400\" data-pswp-height=\"1898\" style=\"aspect-ratio: 1.7914;\" width=\"800\">\n<p><small>The cover photo is here in memory of my drone, which I finally lost. This was the last shot it ever took. Thankfully I have DJI Care Refresh, so I should be able to get a replacement for free.</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=\"product-updates\">Product Updates</h2>\n<p><strong>Kaku released version 0.8</strong><br>\n<a href=\"https://github.com/tw93/Kaku\">https://github.com/tw93/Kaku</a><br>\nThis release is called Fish 🐟. Most of the work in this round went into shell compatibility, tab behavior, and overall stability.<br>\nIt now has full fish shell bootstrap support, including Starship, Yazi, theme sync, and config handling. Tab management was also improved, with remembered last directories, isolated tabs for <code>update</code> and <code>doctor</code>, and a new option to show directory names only in tab titles.<br>\nOn top of that, it fixes a batch of issues around fast output and Claude Code viewport jumping, plus window hiding, link clicking, paste behavior, emoji width, SSH aliases, Cmd+Q crashes, and transparent rounded-corner rendering. Worth updating.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/t6/9UTHLG.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/t6/9UTHLG.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/t6/9UTHLG.png\" loading=\"lazy\" data-pswp-width=\"2560\" data-pswp-height=\"1407\" style=\"aspect-ratio: 1.8195;\" width=\"800\"></p>\n<p><strong>Mole released version 1.32</strong><br>\n<a href=\"https://github.com/tw93/mole\">https://github.com/tw93/mole</a><br>\nThis version is called Rorqual 🐋, and there are quite a few updates again.<br>\n<code>mo clean</code> now fixes the long-skipped wallpaper proxy and Messages preview caches, and adds cache and log cleanup for PCSX2 and RPCS3. It also improves Python bytecode cache output, the Brave cleanup guard, Spotify playback detection, and the error handling around Service Worker cache cleanup.<br>\nBesides that, <code>mo uninstall</code> now filters out invisible background helper apps, the main menu shows more accurate Touch ID detection and a version shortcut, and the install flow now grabs sudo permission up front so you do not have to keep entering your password over and over.</p>\n<p><strong>Pake released version 3.11</strong><br>\n<a href=\"http://github.com/tw93/Pake\">http://github.com/tw93/Pake</a><br>\nThis release is called Evolve 👻. It had been a while since the last update, and this one is mostly focused on bug fixes plus a few new features.<br>\nOn macOS, <code>--install</code> now supports one-command installation into <code>/Applications</code>. The new <code>--new-window</code> flag keeps popup and OAuth windows inside the app instead of constantly bouncing out to the system browser. It also adds <code>--camera</code>, <code>--microphone</code>, and <code>--identifier</code> for on-demand media permissions and custom Bundle IDs, which helps reduce conflicts between apps.<br>\nThere are also plenty of cross-platform fixes in this release, including Gemini download failures, parts of the ChatGPT UI disappearing after zooming, Windows icon copy errors, and crashes when clicking external links in macOS new-window mode. Overall it feels more stable.</p>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>The 4 Claude MCPs I use the most</strong><br>\n<a href=\"https://tinyfish.ai\">https://tinyfish.ai</a><br>\nThe first one is TinyFish MCP. I like it a lot because it lets Claude browse the web directly, fetch pages, do research, and return structured results instead of just a static answer. Lately I have been using it to collect AI news for this weekly, like pulling the most popular Hacker News items from the past few hours and turning them into a clean summary list. It saves a lot of time.<br>\nThe second is GitHub MCP. It makes everyday things like reading commits, tracing changes, and understanding a repository much smoother, without constantly switching between tools.<br>\nThe third is Figma MCP. You can inspect design files, check layout and spacing, and pull UI details directly into the conversation, which is very handy when you are aligning implementation with design.<br>\nThe fourth is Excalidraw MCP. This one is better for thinking through things, especially flows and system structure. When words are not enough, drawing it out is much faster.<br>\nThe last three are probably already familiar to many people. I also recorded a short video showing how TinyFish works in a real workflow.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/pic/TinyFish28.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>I have really been enjoying the gstack skill lately</strong><br>\n<a href=\"https://github.com/garrytan/gstack\">https://github.com/garrytan/gstack</a><br>\nI highly recommend trying it. It feels like having a solid team of specialists around you, covering roles like CEO, tech lead, design, QA, and security, all helping you reason through the code development process.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/5q/Hh8cHR.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/5q/Hh8cHR.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/5q/Hh8cHR.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.0000;\" width=\"800\"></p>\n<h2 id=\"random-looks\">Random Looks</h2>\n<p><strong>Chinese Painting from the Yuan to the Qing is an excellent book</strong><br>\n<a href=\"https://book.douban.com/subject/37156716/\">https://book.douban.com/subject/37156716/</a><br>\nThis book is really good. It is dense in the best way, and Wu Hung’s scholarship is seriously impressive. If you want an art history book to get started with, this is a good one.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/s9/suseYb.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/s9/suseYb.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/s9/suseYb.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"500\"></p>\n<p><strong>A drone clip from the Yangjiapai hike</strong><br>\nThis is exactly where I lost my drone, for your amusement. “Dear DJI customer, we are very sorry to hear that your aircraft has gone missing. Please rest assured that DJI will do its best to assist you. Your flyaway report has been successfully accepted. You may first refer to the Find My Drone guide and try to locate the aircraft.”<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/pic/177467994477812.mp4\" type=\"video/mp4\"></video></p>\n<h2 id=\"random-thoughts\">Random Thoughts</h2>\n<p><strong>Kill the Manual Programmer</strong></p>\n<p><img src=\"https://gw.alipayobjects.com/zos/k/zc/sha.png\" alt=\"\"></p>\n<p>The title is adapted from a song I loved 12 years ago, “Kill That Shijiazhuang Man” by Omnipotent Youth Society. The scene they wrote about feels a little similar to what we are looking at now.</p>\n<p>I have not taken a bus in years. Last time I went to Prince Bay, the scenic area had traffic restrictions, so I had to park outside and take the free shuttle in.</p>\n<p>In the seat ahead of me, a little girl kept swiping through those AI-generated short videos. The visuals were rough, the content felt fake, and when she moved to the next one, it was somehow more of the same. She was completely absorbed. The strangest part was that every video had a huge number of likes. Watching that made me a little sad. I kept thinking, when my own kid grows up, will they also be surrounded by this kind of low-grade AI-made content from the start, to the point that it becomes hard to even find something genuinely beautiful?</p>\n<p>Once AI showed up, producing things suddenly became much easier. Making content got easier, and making software got easier too. In the past, if you wanted to build something, you had to spend real time on it, go back and forth, solve actual problems, and only then dare to ship it. Now a lot of those steps have been flattened. Writing something is easy, building a product is easy, you buy some tokens, ask AI, stitch together a workflow, throw on an interface, and pretty quickly you have something that runs.</p>\n<p>Today I also saw someone say they could recreate a Claude Code in two days. I both believe that and do not. In voice AI alone, dozens of products have appeared all at once, and a lot of them are actually pretty decent. Even Doubao is competing in that space now. I have also seen quite a few Claude Code wrapper clients lately, and honestly some of them are very usable.</p>\n<p>For programmers, a lot of things that used to require professional skill, a learning curve, and years of accumulation are quickly turning into abundant supply. In the future, the least scarce thing may be products that look like products. They work, they run, they look fine. You can only try to do them a bit faster, a bit better, or wrap one more layer around them and maybe there is still some value there. But that value will get matched by AI more and more easily.</p>\n<p>Not long ago I was having dinner with a colleague and we got onto an interesting topic. I told him that over the past year I have really enjoyed listening to cassette tapes, and that every song somehow feels more durable and more beautiful. Why did cassettes, CDs, TV shows, and even many old books often feel higher quality overall? The reason is actually simple: production and distribution used to be heavy. If you wanted to release an album, you first had to make the work good enough, and only then would it make sense to produce tens of thousands of tapes. Otherwise they would not sell, and the company probably would not back your next release. Publishing a book was similar. You could not just finish it casually and push it in front of a huge audience right away. Back then, the act of making something was already a filter.</p>\n<p>Now you can upload a song to a platform and that is it. You can post an article to a public account and that is it. Software is becoming similar after AI, and in some cases AI will even upload the code to GitHub for you, a place many people used to find intimidating, and even generate the CI that publishes the release for you. A lot of thresholds that once required long-term accumulation to cross have been filled in by tools, and so the world slowly gets flooded with things that are all kind of the same and kind of usable.</p>\n<p>The trouble is not just that quality drops. Over time, people’s sense of quality drops with it. The more rough things there are, and the wider they spread, plus the pressure to make money, the more our judgment gets pulled off course. Eventually what people get used to is fast stimulation, fast feedback, and fast satisfaction.</p>\n<p>When I think back to that little girl watching videos, that is the part that feels uncomfortable. She was not just watching a few rough clips. She may be growing up inside a world filled with lower-cost, higher-frequency, emptier things.</p>\n<p>Code is clearly entering the same phase now. In the future, ordinary beginners will be able to use AI to build products that satisfy their own needs. Product managers will be able to make things that used to require engineers working alongside them. So what exactly is left for real engineers to do? That is something we need to think about seriously.</p>\n<p>I have also heard that a lot of bosses at big internet companies are now staying up day and night vibe coding. In a single afternoon they can build a demo they personally consider usable, and some of them are deeply hooked on it. This could have a major effect on people doing frontline work. Once the boss gets a few flows working in code, the natural conclusion becomes: writing software is not that big a deal after all. Things that used to take six months, can they now be done in one? Things that used to need 100 people, can they now be done with 10? It is hard not to think about where that leads.</p>\n<p>There is still room for engineers to keep building products that are more usable and more efficient. But if we stop at that layer, the field will only get more crowded. More people can enter, and more people can ship something that looks convincing. The competition will get brutal.</p>\n<p>I suspect the real way forward is something closer to how singers and actors responded. Yes, they still release albums, but they also make concerts, stage productions, and live performances. Those are not things you can casually replace by putting a wrapper around something. They require organization, density of detail, and a sense of wholeness that only comes after long polishing, and they face the world directly.</p>\n<p>Looking ahead, software may move in that direction too. Everyone will be able to vibe code a product. Everyone will be able to make something that is more or less usable. What will really open up the gap later is still system capability, engineering depth, understanding of real scenarios, and all the things people do not notice at first glance but that ultimately determine whether a product has real weight.</p>\n<p>The faster the outside world moves, the less we can afford to lower our own standards for software along with it. Low-level supply will definitely keep increasing, but that does not mean we also have to become rough. The things that survive are usually the ones that feel smooth, comfortable, restrained, almost bug-free, the kind where you can tell the maker treated the work seriously.</p>\n<p>I am also thinking through my own next step. I still want to keep building open-source software that is useful, approachable, language-independent, and can earn tens of thousands of stars. I also want to keep playing with low-level rendering, terminals, editors, Rust, and related directions. Before AI, all of that felt very rewarding. After AI, though, once you have an idea, so much suddenly becomes easy that the meaning of it can start to feel less obvious.</p>\n<p>Maybe the next thing for me lives in a different dimension, a hardware-software product, or the kind of platform product that used to require thousands of people at a big company, or maybe something that breaks out of the current frame entirely. What exactly it is still needs more thought.</p>\n<p>Some of my products and content have already been slowly moving toward English, toward a bigger world. When everything here starts to feel more similar and more crowded, going outward may be one answer. A bigger market, more varied users, and higher expectations make it impossible to stay at the level of wrappers, speed, and timing alone. That pressure forces you to build something more solid, and it also forces you to think again about what you actually want to make.</p>\n<p>AI has made many things easier. But precisely because things are easier now, it has become harder to figure out what is truly worth doing and worth trading years of your life for. What to build may matter more than how quickly you can build something.</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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"261. miss spring","link":"https://weekly.tw93.fun/en/posts/261/","pubDate":"Mon, 23 Mar 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/58/261.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/58/261.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/58/261.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4000\" data-pswp-height=\"2667\" style=\"aspect-ratio: 1.4998;\" width=\"800\">\n<p><small>The cover photo was taken looking up at the spring sky. Spring in Hangzhou is truly beautiful. I kind of hope summer doesn’t come too quickly—weather like this is incredibly comfortable.</small></p>\n<blockquote>\n<p><strong>Recording down-to-earth trending tech seen every week, published here after filtering. If you find it useful, feel free to subscribe to this weekly newsletter for update notifications.</strong></p>\n</blockquote>\n<h2 id=\"wrote-a-long-article\">Wrote a Long Article</h2>\n<p><strong>The Agent You Don’t Know: Principles, Architecture, and Engineering Practices</strong><br>\n<a href=\"https://tw93.fun/en/2026-03-21/agent.html\">https://tw93.fun/en/2026-03-21/agent.html</a><br>\nAfter writing “The Claude Code You Don’t Know: Architecture, Governance, and Engineering Practices,” I realized my understanding of the underlying Agent mechanics wasn’t deep enough. Plus, our team has accumulated quite a bit of business implementation experience in the Agent direction, yet we’ve always lacked a systematic summary. So, I went through the materials, open-source implementations, and the code I wrote myself again, ultimately organizing it all into this article.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/7q/agent.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/7q/agent.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/7q/agent.png\" loading=\"lazy\" width=\"800\"></p>\n<h2 id=\"product-updates\">Product Updates</h2>\n<p><strong>Mole Released Version 1.31</strong><br>\n<a href=\"https://github.com/tw93/mole\">https://github.com/tw93/mole</a><br>\nMole released version v1.31.0 over the weekend, codenamed Makima. It features faster performance and more accurate system status reporting. Huge thanks to all the contributors! I also made a video so everyone can feel the power of open source.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/pic/mole04.mp4\" type=\"video/mp4\"></video></p>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Get Inspired by These Projects Built with Claude</strong><br>\n<a href=\"https://claude.com/resources/use-cases\">https://claude.com/resources/use-cases</a><br>\nDefinitely worth a look. It covers various use cases in daily work, from research, writing, programming, to analysis. The content is much more in-depth than I expected.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/m1/HavtgM.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/m1/HavtgM.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/m1/HavtgM.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"780\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>Highly Recommend This Service from Jina in the Agent Era</strong><br>\n<a href=\"https://r.jina.ai\">https://r.jina.ai</a><br>\nSometimes you need an AI to read the content of a live website, but often it can’t fetch it due to various reasons. You can try this service: just append the URL you need to fetch after it, and it will convert it into nicely formatted markdown for you, making it super convenient for AI to use.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/jw/ydmbnn.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/jw/ydmbnn.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/jw/ydmbnn.png\" loading=\"lazy\" data-pswp-width=\"4096\" data-pswp-height=\"2362\" style=\"aspect-ratio: 1.7341;\" width=\"800\"></p>\n<p><strong>Pi, This Minimalist Agent Framework, is Worth Getting to Know</strong><br>\n<a href=\"https://github.com/badlogic/pi-mono\">https://github.com/badlogic/pi-mono</a><br>\nIt’s very small. The openclaw project was previously implemented based on this framework. It serves as a great entry point for understanding Agents.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/1q/sMGuUv.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/1q/sMGuUv.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/1q/sMGuUv.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"900\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<h2 id=\"random-thoughts\">Random Thoughts</h2>\n<p><strong>Try Buying Pre-made Ice Cubes This Summer</strong><br>\nI had been debating whether to buy an ice maker, but since I’m the only one at home who likes drinking ice water, I felt the usage rate would be low and it would just take up space. Freezing ice cubes myself was also inconvenient—I’d usually realize I forgot to make them right when I wanted a drink. I found a great solution: just buy some pre-made ice cubes and keep them in the freezer. When you need them, just take them out. You can even use them directly to make Americanos in the summer. The cost-effectiveness is super high.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/ob/IMG_9934.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/ob/IMG_9934.JPG\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/ob/IMG_9934.JPG\" loading=\"lazy\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<p><strong>Got a Singapore HSBC Card</strong><br>\nIf you already have HSBC accounts in mainland China and Hong Kong, you can ask your relationship manager to help you apply for a Singapore one. Although it kind of feels like a supermarket loyalty card. The registered mail didn’t arrive for three months; after a phone call, they remade it and it arrived via express delivery in a week.<br>\n<img src=\"https://cdn.fliggy.com/pic/KeRlkk25.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/pic/KeRlkk25.png\" data-pswp-src=\"https://cdn.fliggy.com/pic/KeRlkk25.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"400\"></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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"260. Prince Bay","link":"https://weekly.tw93.fun/en/posts/260/","pubDate":"Mon, 16 Mar 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/eu/260.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/eu/260.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/eu/260.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4000\" data-pswp-height=\"2667\" style=\"aspect-ratio: 1.4998;\" width=\"800\">\n<p><small>Cover photo taken on Saturday when I took the kid to Prince Bay Park at West Lake. Originally wanted to see the tulips, but there were way too many people. I wouldn’t recommend going to join the crowds.</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=\"wrote-a-long-article\">Wrote a Long Article</h2>\n<p><strong>The Claude Code You Don’t Know: Architecture, Governance, and Engineering Practices</strong><br>\n<a href=\"https://tw93.fun/en/2026-03-12/claude.html\">https://tw93.fun/en/2026-03-12/claude.html</a><br>\nRevolves around Context Management, Skills, Hooks, Subagents, Prompt Caching, and CLAUDE.md design. It focuses on how to make the collaboration process more stable and controllable, sharing best practices from an engineer’s technical perspective. Welcome to exchange ideas.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/g7/SCR-20260311-rtkf%252520copy.jpeg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/g7/SCR-20260311-rtkf%252520copy.jpeg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/g7/SCR-20260311-rtkf%252520copy.jpeg\" loading=\"lazy\" data-pswp-width=\"2750\" data-pswp-height=\"1108\" style=\"aspect-ratio: 2.4819;\" width=\"800\"></p>\n<h2 id=\"product-updates\">Product Updates</h2>\n<p><strong>Mole has released version 1.30</strong><br>\n<a href=\"https://github.com/tw93/mole\">https://github.com/tw93/mole</a><br>\nI started writing Mole last November, and surprisingly, 30 versions have been released up to today. This update includes:</p>\n<ol>\n<li>Strengthened orphan app data cleanup strategy. General orphan cleanup now uses a 30-day resting window.</li>\n<li>Optimized Application Support and project cache scanning logic in large directory scenarios, reducing the risk of stuttering, and converging the scanning scope to a safer root path.</li>\n<li>Strengthened LaunchServices refresh fallback logic, stabilized Homebrew uninstall and update paths, and reduced unnecessary sudo behaviors.\n<img src=\"https://gw.alipayobjects.com/zos/k/mi/C4Lrgz.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/mi/C4Lrgz.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/mi/C4Lrgz.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\">\n</li>\n</ol>\n<p><strong>Kaku released version 0.7</strong><br>\n<a href=\"https://github.com/tw93/Kaku\">https://github.com/tw93/Kaku</a><br>\nI really like the transparent frosted effect in this release, you can give it a try. Updates are as follows:</p>\n<ol>\n<li>Kaku will now automatically switch between dark and light modes along with macOS, and has optimized transparency rendering and Yazi theme synchronization experience.</li>\n<li>Added closing confirmation for tabs and panes, reworked the close overlay style, and added custom rounded scrollbars. Try <code>kaku config</code>.</li>\n<li>kaku ai now supports Antigravity model configuration, quota tracking, and background loading.\n<img src=\"https://gw.alipayobjects.com/zos/k/dc/YitxG7.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/dc/YitxG7.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/dc/YitxG7.png\" loading=\"lazy\" data-pswp-width=\"4096\" data-pswp-height=\"2356\" style=\"aspect-ratio: 1.7385;\" width=\"800\">\n</li>\n</ol>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Learning the principles of Claude Code-like systems</strong><br>\n<a href=\"https://learn.shareai.run/en/\">https://learn.shareai.run/en/</a><br>\nIt will guide you step-by-step from scratch to build a minimalist Agent similar to Claude Code, and explain each mechanism in detail. Worth a look.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/vx/fYMKXY.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/vx/fYMKXY.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/vx/fYMKXY.png\" loading=\"lazy\" data-pswp-width=\"3384\" data-pswp-height=\"2302\" style=\"aspect-ratio: 1.4700;\" width=\"800\"></p>\n<p><strong>RentAHuman: AI hiring humans to work</strong><br>\n<a href=\"http://RentAHuman.ai\">http://RentAHuman.ai</a><br>\nWhen an AI Agent encounters a task that cannot be completed online, it can post the job online and hire a real human to complete the task. Haha, quite interesting.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/s3/RXXfRO.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/s3/RXXfRO.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/s3/RXXfRO.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>A fantastic interactive MicroGPT demo</strong><br>\n<a href=\"https://growingswe.com/blog/microgpt\">https://growingswe.com/blog/microgpt</a><br>\nThis is a learning website based on Andrej Karpathy’s GPT implemented in about 200 lines of Python code, explaining how language models work in a visual way. Worth checking out.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/6o/Xrmn73.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/6o/Xrmn73.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/6o/Xrmn73.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<p><strong>A public OpenClaw exposure monitoring site</strong><br>\n<a href=\"https://openclaw.allegro.earth\">https://openclaw.allegro.earth</a><br>\nLists OpenClaw instances accessible over the network. In many cases, you can click into these instances and directly view what is running inside. Actually, a lot of people who don’t understand the technology are installing OpenClaw. Many things are very dangerous, and surprisingly, many belong to Alibaba, which is scary.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/ph/fwcGXW.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/ph/fwcGXW.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/ph/fwcGXW.png\" loading=\"lazy\" data-pswp-width=\"3680\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5385;\" width=\"800\"></p>\n<h2 id=\"random-looks\">Random Looks</h2>\n<p><strong>My CodeX configuration, for your reference</strong><br>\nModel: Fast GPT-5.4 High<br>\nPersonality: Pragmatic.<br>\nCustom Instructions:<br>\nAct like a high-performing senior engineer. Be concise, direct, and execution-focused.<br>\nPrefer simple, maintainable, production-friendly solutions. Write low-complexity code that is easy to read, debug, and modify.<br>\nDo not overengineer or add heavy abstractions, extra layers, or large dependencies for small features.<br>\nKeep APIs small, behavior explicit, and naming clear. Avoid cleverness unless it clearly improves the result.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/1k/kUaT0p.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/1k/kUaT0p.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/1k/kUaT0p.png\" loading=\"lazy\" data-pswp-width=\"2952\" data-pswp-height=\"1898\" style=\"aspect-ratio: 1.5553;\" width=\"800\"></p>\n<p><strong>Cooked 4 dishes on Sunday</strong></p>\n<table style=\"margin-top:-20px\">\n    <tbody><tr>\n        <td width=\"50%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/gg/IMG_9948.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/gg/IMG_9948.JPG\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/gg/IMG_9948.JPG\" loading=\"lazy\" data-pswp-width=\"5712\" data-pswp-height=\"4284\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n        <td width=\"50%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/8e/IMG_9949.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/8e/IMG_9949.JPG\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/8e/IMG_9949.JPG\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n    </tr>\n    <tr>\n        <td width=\"50%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/97/IMG_9950.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/97/IMG_9950.JPG\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/97/IMG_9950.JPG\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n        <td width=\"50%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/p2/IMG_9951.JPG?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/p2/IMG_9951.JPG\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/p2/IMG_9951.JPG\" loading=\"lazy\" data-pswp-width=\"4032\" data-pswp-height=\"3024\" style=\"aspect-ratio: 1.3333;\" width=\"600\">\n        </td>\n    </tr>\n</tbody></table><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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"259. Jingshan from Above","link":"https://weekly.tw93.fun/en/posts/259/","pubDate":"Mon, 09 Mar 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/sj/259.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/sj/259.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/sj/259.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3608\" data-pswp-height=\"2030\" style=\"aspect-ratio: 1.7773;\" width=\"800\">\n<p><small>Cover photo taken during a weekend trip to Jingshan Flower Sea with my drone. Currently only rapeseed flowers are blooming - the other flowers haven’t really opened yet. Flew the drone to maximum altitude for some photos and spotted quite a few nice views.</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>MiaoYan recently got updated with CLI support</strong><br>\n<a href=\"https://github.com/tw93/miaoyan\">https://github.com/tw93/miaoyan</a></p>\n<ol>\n<li>CLI support via <code>miao</code> command - list all notes, search, create new ones, and cat content from the terminal. Very practical for AI workflows.</li>\n<li>Apple notarization complete: No more “App is damaged” warnings or having to click “Open Anyway” in System Settings!</li>\n<li>Preview stability upgrade: Fixed occasional blank preview issues and enhanced recovery capabilities after WebContent process crashes.</li>\n<li>Editing experience optimization: Fixed input method issues in split-column mode, resolved system shortcut conflicts, and eliminated highlight flickering when switching notes.\n<img src=\"https://gw.alipayobjects.com/zos/k/si/ZSMT9v.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/si/ZSMT9v.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/si/ZSMT9v.png\" loading=\"lazy\" data-pswp-width=\"3108\" data-pswp-height=\"1980\" style=\"aspect-ratio: 1.5697;\" width=\"800\">\n</li>\n</ol>\n<p><strong>Pake released version 3.10</strong><br>\n<a href=\"https://github.com/tw93/Pake\">https://github.com/tw93/Pake</a></p>\n<ol>\n<li>Multi-window support: New <code>--multi-window</code> parameter allows opening multiple windows in the same App instance. When enabled, macOS File menu (Cmd+N) and system tray menu will both show “New Window” entry. Restarting the App opens new windows instead of focusing existing ones.</li>\n<li>Internal link regex control: New <code>--internal-url-regex</code> parameter supports precise control over which URLs are treated as internal links via regex, as an alternative to the default same-domain judgment. Falls back to default logic on invalid regex.</li>\n<li>Windows ICO icon fix: Reordered multi-resolution ICO files to prioritize 256px icons, improving App icon display quality on Windows.</li>\n<li>DMG background image fix: Restored Retina metadata for macOS DMG background images and adjusted dimensions, fixing background display issues in CI builds.\n<img src=\"https://raw.githubusercontent.com/tw93/static/main/pake/pake1.gif\" width=\"800\">\n</li>\n</ol>\n<p><strong>nanobot: A lighter OpenClaw form factor perfect for personal computers</strong><br>\n<a href=\"https://github.com/HKUDS/nanobot\">https://github.com/HKUDS/nanobot</a><br>\nI currently have two nanobots running locally - one focused on code that helps me review issues, organize thoughts, and push technical solutions forward; another for life stuff handling daily tasks. Basically replaced my ChatBot habit from six months ago. Plus a cron job that keeps watching - if the service goes down it automatically restarts, and I use Amphetamine to keep my home computer always online. After running for a while, it becomes a stable part of your environment that doesn’t require you to consciously open, maintain, or fuss with it.</p>\n<p>Often when you’re halfway through coding or when you’re out and can’t conveniently open your computer, you can casually toss tasks to it to work on first. When you come back later, some of the prep work is already done. This experience is very practical and feels natural for engineers who prefer lightweight, simple, self-controllable solutions. If you don’t want to tinker, I’d actually recommend using the installer version - works out of the box. For those who want to add custom features like me, you can clone it locally and have nanobot optimize its own code and iterate on itself. Recently added quite a few fun features.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/gr/ci8Zk6.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/gr/ci8Zk6.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/gr/ci8Zk6.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.0000;\" width=\"800\"></p>\n<p><strong>Amphetamine keeps your Mac awake</strong><br>\n<a href=\"https://apps.apple.com/us/app/amphetamine/id937984704\">https://apps.apple.com/us/app/amphetamine/id937984704</a><br>\nWhen running things like OpenClaw or nanobot, you really don’t want the screen to sleep or even want it to keep running with the lid closed. Found this software - free and works great. Perfect for when you’re using a home Mac but want it to stay on with the screen off.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/8k/B4NycU.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/8k/B4NycU.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/8k/B4NycU.png\" loading=\"lazy\" data-pswp-width=\"2584\" data-pswp-height=\"1672\" style=\"aspect-ratio: 1.5455;\" width=\"800\"></p>\n<p><strong>Maple browser bookmark tool latest update</strong><br>\n<a href=\"https://github.com/tw93/Maple\">https://github.com/tw93/Maple</a></p>\n<ol>\n<li>New tab opening setting: Added “Open in new tab” option in settings, with hover tooltips disabled by default for a cleaner interface.</li>\n<li>Multi-language support: Optimized settings page styling and added multi-language support for better accessibility.</li>\n<li>File protocol support: Fixed issues with opening file protocol bookmarks (file://).</li>\n<li>Bug fixes: Fixed Bing date issues, sorting problems, and various UX improvements.\n<img src=\"https://raw.githubusercontent.com/tw93/static/master/pic/maple1.gif\" width=\"800\">\n</li>\n</ol>\n<p><strong>Discovered a very modern VSCode theme: Islands Dark</strong><br>\n<a href=\"https://github.com/bwya77/vscode-dark-islands\">https://github.com/bwya77/vscode-dark-islands</a><br>\nHas that new Apple system feel with glass arc effects, rounded corners - very modern looking, though you might not get used to it.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/iz/JgqaH9.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/iz/JgqaH9.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/iz/JgqaH9.png\" loading=\"lazy\" data-pswp-width=\"1802\" data-pswp-height=\"1389\" style=\"aspect-ratio: 1.2973;\" width=\"800\"></p>\n<p><strong>Readout: Visualize your Claude Code projects</strong><br>\n<a href=\"https://readout.org\">https://readout.org</a><br>\nVisualizes your Claude Code environment in real-time. Shows AI, sessions, repos, costs, MCPs, ports, and more. Provides instant global search and complete session replay with timeline scrubbing. Runs locally, no account needed. Looking forward to its future development.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/r7/GC1Jxv.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/r7/GC1Jxv.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/r7/GC1Jxv.png\" loading=\"lazy\" data-pswp-width=\"2798\" data-pswp-height=\"1792\" style=\"aspect-ratio: 1.5614;\" width=\"800\"></p>\n<h2 id=\"random-finds\">Random Finds</h2>\n<p><strong>Gaidihu floor drain core is excellent, worth trying</strong><br>\nAfter buying the Gaidihu floor drain core that topped my “best purchases of the year” list and testing one, I bought another and replaced all the bathroom floor drains in my house. Very smooth drainage without clogging, easy to install. Highly recommended.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/ml/S8ecc2.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/ml/S8ecc2.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/ml/S8ecc2.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"500\"></p>\n<p><strong>Haven’t eaten coconut meat in years, quite interesting</strong><br>\nLearned how to open a coconut without a knife: First peel off the top, then you’ll see 3 faces. Gently press to find the spot that’s noticeably softer, then look for the hole there.</p>\n<p>As for cracking the shell open - use another coconut. Hold one in each hand and smash the three raised ridges against each other. Hit hard a few times and one will crack, then break it open. The coconut meat is very refreshing!</p>\n<table style=\"margin-top:-20px\">\n    <tbody><tr>\n        <td width=\"50%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/fh/7ufDAD.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/fh/7ufDAD.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/fh/7ufDAD.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"600\">\n        </td>\n        <td width=\"50%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/8r/3XWXW6.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/8r/3XWXW6.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/8r/3XWXW6.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"600\">\n        </td>\n    </tr>\n</tbody></table>\n<h2 id=\"random-thoughts\">Random Thoughts</h2>\n<p><img src=\"https://gw.alipayobjects.com/zos/k/2v/4CGWQA.png\" alt=\"\"></p>\n<p>Last Friday I saw Tencent Tower installing OpenClaw company-wide. Quite thought-provoking - felt a bit like “The Great OpenClaw Leap Forward”.</p>\n<p>Recently many big tech companies have been frantically pushing frontline non-technical employees to install OpenClaw. There’s even a real 500 RMB on-site installation service online. Everyone’s desperately searching for use cases, demanding implementation, trying to prove this thing is too important to miss. The whole process gives me a strong sense of cyber-tech folding.</p>\n<p>Saw an interesting quote: “People who can’t even install OpenClaw, how would they use it?” Taking it a step further - if you haven’t even established basic usage, yet you’re expected to first create complete scenarios, deliver results, and prove value - that’s even harder.</p>\n<p>There are two things叠加 (stacked) behind this. One is illusion: many bosses have watched too many WeChat video clips, been repeatedly bombarded by exaggerated narratives and universal case studies, and really start hallucinating that this thing can do anything, connect anywhere, everyone should install it, and installing it should immediately produce output. The other is anxiety: everyone fears missing this wave, so they start using administrative actions to push adoption, using collective anxiety to replace real demand.</p>\n<p>So you see a strong contrast. On one side, slogans are huge - as if everyone must enter the AI-native era. On the other side, many people can’t even clearly articulate what things are worth handing over to it. This contrast will only grow stronger and increasingly absurd.</p>\n<p>Because tools never generate value through installation. Tools only generate value through task density, clear processes, and visible results. Without continuous tasks, without SOPs, without conditions for online completion, without clear inputs and outputs - even the strongest thing sitting there is just an icon. It won’t automatically grow scenarios just because it’s installed.</p>\n<p>So I’ve always felt OpenClaw isn’t for everyone.</p>\n<p>It suits commanders, solo entrepreneurs, and people who constantly have things they want to push forward, can break work into steps, and can complete many things online. Especially if you’ve used skills and tools, understand AI’s capability boundaries, can string processes together, build scenarios, and complete things step by step - then it’s very suitable.</p>\n<p>For me, this scenario comes naturally. Especially when there’s lots to push forward but I’m not home or at the office - out with just my phone or can’t conveniently open my computer - I’ll have my two nanobots check my open source product issues, produce technical solutions, then have another review and submit. All in one go. Lets me elegantly get things done during my morning commute. Really convenient.</p>\n<p>But for someone who normally has no work to complete outside, or who doesn’t even want to open their computer when they get home - how could you force scenarios to exist? Eating well and having fun is comfortable enough. No scenario means no scenario, really no need for anxiety.</p>\n<p>I think what’s most easily amplified in this wave isn’t capability gap - it’s scenario gap. People with scenarios will use it more smoothly, run faster, eventually feeling like they have multiple selves. People without scenarios will easily spin around in concepts, tutorials, case studies, and videos, ending up with nothing changed except having installed more software.</p>\n<p>Many people’s biggest problem today isn’t not having installed OpenClaw - it’s treating having installed a tool as having entered the AI era. The real watershed has always been in task understanding, process design, and result judgment. Do you actually have continuous problems to solve? Can you break problems down and hand them to the system? Can you judge whether results are correct? These determine whether you can truly extract value from AI.</p>\n<p>So no need for anxiety. Installing OpenClaw when you have no real use case doesn’t mean much.</p>\n<p>If you really want to experience where this generation of AI is strong, better spend $20 on Claude Code, or more interestingly get a ChatGPT subscription, use GPT 5.4 to handle something you truly find difficult - produce a solution, push execution forward, experience this simple, efficient, problem-solving process once. That’s way better than installing OpenClaw.</p>\n<p>OpenClaw suits people with scenarios, suits commanders, suits solo entrepreneurs, suits those who can SOP-ize, online-ize, and complete processes step by step. It’s certainly powerful, but it proves its power through completing work for you, not through being installed.</p>\n<p>What many people are installing today is OpenClaw. What’s more important to figure out first: What problem do I actually have that’s worth solving with AI?</p>\n<p>That question may be more important than installing anything.</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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"258. Cyber Charging","link":"https://weekly.tw93.fun/en/posts/258/","pubDate":"Mon, 02 Mar 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/7t/258.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/7t/258.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/7t/258.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3668\" data-pswp-height=\"2751\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>Cover photo shows my finally installed cyber charging station at home. It looks incredibly cool! I ordered it back in January and it finally got installed today. Tesla’s service remains as professional as ever, and their products are as cool as ever. Staying long on Tesla.</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>Kaku, the blazing fast and AI-friendly terminal, just released version 0.5 - go try it out</strong><br>\n<a href=\"https://github.com/tw93/Kaku\">https://github.com/tw93/Kaku</a></p>\n<ol>\n<li>AI Shell Error Fixing: When a command fails, Kaku automatically sends it to AI and displays fix suggestions right in the terminal. Press Cmd + Shift + E to apply them instantly.</li>\n<li>Built-in Yazi: Press Cmd + Shift + Y or just type y to open Yazi. Layout and theme are auto-configured on first run. cd + Tab falls back to zsh-z history directories when no filesystem matches are found.</li>\n<li>Command Palette: Press Cmd + Shift + P for quick command search with fuzzy matching and native text editing support.</li>\n<li>Kaku Doctor: Run kaku doctor to detect configuration issues with interactive one-click fixes.</li>\n<li>Global Hotkey: Default Ctrl + Opt + Cmd + K to summon or hide Kaku from any app. Customizable via macos_global_hotkey.</li>\n<li>Shell Text Editing: Use Cmd + A to select all, Shift + Arrow keys to extend selection, and type directly to replace selected content - just like a native text editor.</li>\n<li>Unified AI Config: The kaku ai interface now manages Kaku Assistant, Factory Droid, and opencode.jsonc in one place.</li>\n<li>Tab Bell Indicator: When you switch to another tab, tabs with results or notifications show a blinking dot.</li>\n<li>Scroll and Input Improvements: Smoother trackpad scrolling in less, man, etc. with DECSET 1007 alternate scroll mode support. Fixed popup position offset issues with Typeless and other CJK input methods.</li>\n<li>Window Shadow Restored: Native macOS window shadows are back. They were temporarily disabled due to GPU usage issues in earlier versions.</li>\n<li>Faster Startup and Smaller Binary: Lua bytecode caching and lazy loading reduce startup time. Fat LTO and single codegen unit shrink binary size.</li>\n<li>Shell Integration Detection Fix: Shell integration now loads correctly in all terminal environments, no longer depending on whether $TERM is kaku. User-loaded plugins are no longer loaded twice.\n<img src=\"https://cdn.fliggy.com/upic/D4hdW4.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/D4hdW4.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/D4hdW4.png\" loading=\"lazy\" data-pswp-width=\"3640\" data-pswp-height=\"2392\" style=\"aspect-ratio: 1.5217;\" width=\"800\">\n</li>\n</ol>\n<p><strong>PortKiller: Cross-platform port management tool with native UI</strong><br>\n<a href=\"https://github.com/productdevbook/port-killer\">https://github.com/productdevbook/port-killer</a><br>\nFound a cool tool on GitHub called PortKiller - a cross-platform port management app for developers. It does more than just list ports: it automatically discovers all listening TCP ports, lets you kill processes with one click, supports search and filtering, favorites, port watching with notifications, and smart categorization for common dev services. It also covers real workflows, like managing kubectl port-forward sessions with auto-reconnect, logs, connect/disconnect notifications, and showing active Cloudflare Tunnel connections.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/rm/M8Cabs.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/rm/M8Cabs.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/rm/M8Cabs.png\" loading=\"lazy\" data-pswp-width=\"2054\" data-pswp-height=\"1620\" style=\"aspect-ratio: 1.2679;\" width=\"800\"></p>\n<p><strong>Surge: Blazing fast open-source TUI download manager written in Go</strong><br>\n<a href=\"https://github.com/surge-downloader/surge\">https://github.com/surge-downloader/surge</a><br>\nRecently discovered a cool tool called Surge - a super fast open-source TUI download manager designed for power users, written in Go with a clean keyboard workflow. It doesn’t treat downloads as a single stream - instead it opens multiple connections, splits files into chunks and pulls them in parallel, with automatic failover across multiple mirrors. You can also switch to streaming mode for sequential downloads, which is more convenient for previewing media.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/n8/demo.gif\" width=\"800\"></p>\n<p><strong>FluentRead: Open-source immersive browser translation extension</strong><br>\n<a href=\"https://chromewebstore.google.com/detail/%E6%B5%81%E7%95%85%E9%98%85%E8%AF%BB/djnlaiohfaaifbibleebjggkghlmcpcj\">https://chromewebstore.google.com/detail/%E6%B5%81%E7%95%85%E9%98%85%E8%AF%BB/djnlaiohfaaifbibleebjggkghlmcpcj</a><br>\nFluentRead is a solid open-source immersive translation extension for browsers. It’s clean with just the right amount of features, plus you can configure your own API key. The translation style and page integration look good too. Give it a try.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/a3/sfhPpB.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/a3/sfhPpB.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/a3/sfhPpB.png\" loading=\"lazy\" data-pswp-width=\"3164\" data-pswp-height=\"2070\" style=\"aspect-ratio: 1.5285;\" width=\"800\"></p>\n<p><strong>LobsterAI recently improved its Skills capabilities</strong><br>\n<a href=\"https://lobsterai.youdao.com\">https://lobsterai.youdao.com</a><br>\nI’ve been using NetEase’s LobsterAI recently. Looking at their changelog, they’ve been optimizing Skills - it now has built-in modules for document processing, frontend design, browser automation, web search, and even finding movie resources. The scenarios are ready to go, and many can be completed with just one sentence.</p>\n<p>I tried an interesting combo this time. I’ve been curious about the TV series “Taiping Years” and wanted to brush up on the Five Dynasties and Ten Kingdoms period of history. So I just threw in a prompt: “Organize the timeline and key knowledge points of the Five Dynasties and Ten Kingdoms into a PDF with high information density, and also search for any cloud storage resources for Taiping Years.” It called three Skills - web-search, pdf, and films-search. The PDF was generated directly with a clear timeline and decent formatting; the resource search actually found download links, saving me the time of digging through various sites.</p>\n<p>Skills save time on building tool chains, writing scripts, and cleaning data. For engineers, it turns what used to require setting up workflows into direct API calls, with deduplication, formatting, and summarization handled together. Combined, you can do more - like monitoring a competitor’s weekly updates, using web-search to fetch them, extracting key changes with playwright, and generating a competitor report, all in one place. If you’re interested, start with your most repetitive high-frequency scenarios. Give LobsterAI’s latest Skills a try.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/pic/wy17.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>SuperCmd: Open-source macOS launcher with more features than expected</strong><br>\n<a href=\"https://github.com/SuperCmdLabs/SuperCmd\">https://github.com/SuperCmdLabs/SuperCmd</a><br>\nFound SuperCmd on GitHub - an open-source macOS launcher that’s more complete than I expected. It puts Raycast-style extension workflows, voice input, text-to-speech, memory, and AI actions into an open system. Great to see this level of open-source innovation in the macOS launcher space.<br>\n<img src=\"https://cdn.fliggy.com/upic/bE3L9n.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/bE3L9n.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/bE3L9n.png\" loading=\"lazy\" data-pswp-width=\"2098\" data-pswp-height=\"1334\" style=\"aspect-ratio: 1.5727;\" width=\"800\"></p>\n<p><strong>Helium: The minimalist browser I switched back to from Edge, with great spatial feel</strong><br>\n<a href=\"https://helium.computer/\">https://helium.computer/</a><br>\nI recently switched my main browser from Edge back to Helium. I thought I liked vertical tabs, but what I really wanted was a more minimal UI and more workspace. Helium now has vertical tabs too, but the real highlight is compact mode - address bar and tabs on the same line, clean and space-efficient. Paired with my Maple theme and Maple bookmarks extension, the whole setup feels comfortable - focused, no noise.<br>\n<img src=\"https://cdn.fliggy.com/upic/eNH71k.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/eNH71k.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/eNH71k.png\" loading=\"lazy\" data-pswp-width=\"3666\" data-pswp-height=\"2510\" style=\"aspect-ratio: 1.4606;\" width=\"800\"></p>\n<h2 id=\"random-finds\">Random Finds</h2>\n<p><strong>Claude’s new program for open source maintainers: 6 months of Claude Max 20x</strong><br>\n<a href=\"https://claude.com/contact-sales/claude-for-oss\">https://claude.com/contact-sales/claude-for-oss</a><br>\nClaude just launched a program for open source maintainers offering 6 months of free Claude Max 20x. If you’re a primary maintainer of a public repo with 5K+ stars, or a core member of an NPM package with 1M+ monthly downloads, and you’ve been active in the last 3 months, check it out. If you’ve been consistently contributing to Mole, Pake, MiaoYan, or other major open source projects and meet these criteria, give it a shot.</p>\n<p><strong>Taiping Years is sooooo good</strong><br>\n<a href=\"https://movie.douban.com/subject/36317421/\">https://movie.douban.com/subject/36317421/</a><br>\nGuys, Taiping Years is sooooo good - go watch it. It’s really great, the kind where the first episode already blows you away.<br>\n<img src=\"https://cdn.fliggy.com/upic/TO4qMn.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/TO4qMn.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/TO4qMn.png\" loading=\"lazy\" data-pswp-width=\"2160\" data-pswp-height=\"724\" style=\"aspect-ratio: 2.9834;\" width=\"800\"></p>\n<p><strong>Aerial view of Xixi Wetland</strong><br>\nWelcome to listen to Li Zhi’s “Castle in the Sky” while watching this aerial view of Xixi Wetland - it looks quite beautiful from above. Should be even more stunning by mid-March.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/upic/pHKa5r.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Rong Xiao Guan is quite fresh!</strong><br>\nIf you’re shopping at Hangzhou Tower, try this place on the 8th floor of the new Building B. It’s pretty good - light but delicious and fresh.</p>\n<table style=\"margin-top:-20px\">\n    <tbody><tr>\n        <td width=\"25%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/st/qTXqvC.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/st/qTXqvC.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/st/qTXqvC.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"420\">\n        </td>\n        <td width=\"25%\">\n           <img src=\"https://gw.alipayobjects.com/zos/k/l8/VAgHUx.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/l8/VAgHUx.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/l8/VAgHUx.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"420\">\n        </td>\n        <td width=\"25%\">\n            <img src=\"https://gw.alipayobjects.com/zos/k/ms/RJad2x.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/ms/RJad2x.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/ms/RJad2x.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1536\" style=\"aspect-ratio: 1.3333;\" width=\"380\">\n        </td>\n         <td width=\"15%\">\n            <img src=\"https://gw.alipayobjects.com/zos/k/yv/pd45lt.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/yv/pd45lt.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/yv/pd45lt.png\" loading=\"lazy\" data-pswp-width=\"1536\" data-pswp-height=\"2048\" style=\"aspect-ratio: 0.7500;\" width=\"380\">\n        </td>\n    </tr>\n</tbody></table><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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"257. Happy Chinese New Year","link":"https://weekly.tw93.fun/en/posts/257/","pubDate":"Thu, 19 Feb 2026 00:00:00 GMT","description":"<img src=\"https://gw.alipayobjects.com/zos/k/sq/257.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/sq/257.jpg\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/sq/257.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"4032\" data-pswp-height=\"2268\" style=\"aspect-ratio: 1.7778;\" width=\"800\">\n<p><small>The cover photo was taken a few days before Chinese New Year when I visited Shaoxing for a few days. It was pretty nice overall - this is a drone photo of Anchang Ancient Town. It was fun, very much like a traditional water town.</small></p>\n<blockquote>\n<p><strong>This weekly newsletter documents the practical tech trends I discover each week. After filtering, I publish them here. If you enjoy it, feel free to follow to get update notifications.</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>Kaku: A fast, out-of-the-box terminal built for AI coding</strong><br>\n<a href=\"https://github.com/tw93/Kaku\">https://github.com/tw93/Kaku</a><br>\nA New Year’s gift for everyone.</p>\n<p>Actually, while developing Pake, I was already thinking about creating a fast, user-friendly Mac terminal tool that I’d love to use. So I started tinkering locally, satisfying my own needs with various customizations. Then when I was developing Mole, this feeling became more intense - why isn’t there a terminal tool that I find truly amazing to use?</p>\n<p>Before this, I really liked Alacritty because it’s the lightest and fastest, but it doesn’t support multiple tabs. Then I tried the popular Ghostty and even contributed updates, but the font rendering never quite matched my taste. There’s also Warp, which many people love - I couldn’t understand why a terminal would need login. Kitty is also good, but it has window management bugs that seem hard to fix.</p>\n<p>Then I discovered Wezterm, but unfortunately its last stable release was two years ago. However, since it’s Rust-based and I know a bit of Rust, I could deeply customize and modify it. So I started my tinkering journey - whenever I had an issue, I fixed it myself, removed a lot of compatibility modules, tweaked its loading, and built in some convenient features. I wanted it to be as fast as the world’s fastest Alacritty, but with multi-tab and split-pane support, so that during AI coding, I could use Claude Code on one side, Codex Review on another, and git diff at the bottom to view code - helping me stay more focused.</p>\n<p>Then, the day before yesterday, I had dinner with a friend, and he also complained about not having a good terminal these days. I told him to try mine and wait for me to package it - and that’s how Kaku was born. It’s actually a Japanese name, Kaku Kaku Kaku Kaku - you can read it very quickly, and it feels refreshing. My tagline for it is “A fast, out-of-the-box terminal built for AI coding.” I hope it gives you a smooth, fast TUI experience. It’s not quite mature yet, but I’ve been using it for over half a year now. I’m releasing it for everyone to try - consider it a New Year’s gift. Feel free to report bugs. You must try its various keyboard shortcuts. I hope this terminal works out of the box without any configuration needed.</p>\n<img src=\"https://gw.alipayobjects.com/zos/k/3k/WLT7GN.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/3k/WLT7GN.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/3k/WLT7GN.png\" loading=\"lazy\" data-pswp-width=\"3974\" data-pswp-height=\"2484\" style=\"aspect-ratio: 1.5998;\" width=\"800\">\n<p><strong>MiaoYan also got an update</strong><br>\n<a href=\"https://github.com/tw93/MiaoYan\">https://github.com/tw93/MiaoYan</a></p>\n<ol>\n<li>Editing experience upgraded: Unified find and replace between editor and preview, smoother split-sync, more stable switching between preview/presentation/PPT modes.</li>\n<li>Further performance improvements: Smoother large document input and rendering, optimized Markdown highlighting and code block processing, with async cancellable formatting support.</li>\n<li>Enhanced reliability and data security: Export and other states now managed through sessions, safer image and text replacement, more stable local PPT images, improved storage path persistence.</li>\n<li>Details and architecture optimization: Completed multi-language and first-launch templates, more consistent window top behavior, modularized text processing chain and removed old network dependencies.\n<img src=\"https://cdn.fliggy.com/upic/5Zr6co.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/5Zr6co.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/5Zr6co.png\" loading=\"lazy\" data-pswp-width=\"2880\" data-pswp-height=\"1800\" style=\"aspect-ratio: 1.6000;\" width=\"800\">\n</li>\n</ol>\n<p><strong>LobsterAI: Your 24/7 personal AI agent for any task, now open source</strong><br>\n<a href=\"https://lobsterai.youdao.com\">https://lobsterai.youdao.com</a><br>\nI accidentally discovered a great product from NetEase - LobsterAI, your 24/7 personal AI agent for any task. Plus, they officially announced today that it’s now open source.</p>\n<p>After installing and setting up the bot in Telegram, I was heading out, so I used my phone to remotely let it read the “Weekly” code repository on my computer - extracting all 2025 content with a clear goal: help me pick the top 20 best recommendations of the year.</p>\n<p>I thought it might just scan through randomly to compile a list, but it actually read every single article, being very restrained in its selections, like a real editor. The final Top 20 really matched my taste - it even included Mole, Pake, and MiaoYan, the projects I’ve been maintaining, and wrote some encouraging words. It was unexpectedly touching.</p>\n<p>After using it, I roughly understand why it can achieve this level: it has a cross-session persistent memory system that remembers my preferences. The foundation is a local-first design that can actually execute operations on your machine, not just having cloud conversations and calling it done. This naturally avoids issues with latency, privacy, and offline scenarios. Every step is completely transparent to you - it’s not a black box running - you have full control at all times, making it quite suitable for organization-based automation.</p>\n<p>Its capabilities aren’t just reading and writing - making PPTs, scheduled tasks, searching, calling local tools… all built in. In settings, you can also connect Feishu, DingTalk, Telegram, Discord, or use email - all out of the box.</p>\n<p>The video records the entire process from configuration to generating the Top 20. Check it out if you’re interested. It’s already open source, so everyone can definitely play with it and hand over all those repetitive, boring tasks to it. I’m really looking forward to this little lobster getting better and better.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.tw93.fun/uPic/LobsterAI.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>OpenTrace: Visual route tracing tool, cross-platform native GUI</strong><br>\n<a href=\"https://opentrace.app\">https://opentrace.app</a><br>\nRecently discovered a cool tool called OpenTrace - an open-source visual route tracing tool. The fun part is that after you enter an IP or domain, you can see step by step how traffic flows between different nodes.<br>\n<img src=\"https://cdn.tw93.fun/uPic/jNUjyr.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.tw93.fun/uPic/jNUjyr.png\" data-pswp-src=\"https://cdn.tw93.fun/uPic/jNUjyr.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"900\" style=\"aspect-ratio: 1.3333;\" width=\"800\"></p>\n<p><strong>Claude Code’s /plugin: Go to Marketplaces and pick plugins</strong><br>\nIf you use Claude Code, be sure to try the /plugin function, then go to Marketplaces and wildly pick plugins that suit you.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/d4/7ojonZ.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/d4/7ojonZ.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/d4/7ojonZ.png\" loading=\"lazy\" data-pswp-width=\"2650\" data-pswp-height=\"1844\" style=\"aspect-ratio: 1.4371;\" width=\"800\"></p>\n<p><strong>FineTune: The volume mixer macOS should have</strong><br>\nBasically the volume mixer that macOS should have come with - truly independent volume control per application, with separate sliders and mute for each app.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/8j/bl1wHy.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/8j/bl1wHy.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/8j/bl1wHy.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1920\" style=\"aspect-ratio: 1.0000;\" width=\"800\"></p>\n<p><strong>Snitch: A better-looking network connection viewer</strong><br>\n<a href=\"https://github.com/karol-broda/snitch\">https://github.com/karol-broda/snitch</a><br>\nI found a pretty interesting little tool called Snitch that makes viewing network connections more beautiful and “human-friendly” - you can think of it as an ss or netstat for humans.<br>\n<img src=\"https://github.com/karol-broda/snitch/raw/master/demo/demo.gif\" width=\"800\"></p>\n<p><strong>Beautiful Mermaid: Beautiful Mermaid renderer designed for the AI era</strong><br>\n<a href=\"https://github.com/lukilabs/beautiful-mermaid\">https://github.com/lukilabs/beautiful-mermaid</a><br>\nRecently saw a very beautiful Mermaid renderer - clean and comfortable, designed specifically for the AI era, from the Craft team.<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/ct/oADkqY.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/ct/oADkqY.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/ct/oADkqY.png\" loading=\"lazy\" data-pswp-width=\"1568\" data-pswp-height=\"907\" style=\"aspect-ratio: 1.7288;\" width=\"800\"></p>\n<h2 id=\"just-for-fun\">Just for Fun</h2>\n<p><strong>Showing off my cooking skills for the New Year’s Eve dinner, wishing everyone a Happy New Year!</strong><br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/upic/4t4MCK.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Aerial footage of Anchang Ancient Town</strong><br>\nHahaha, no crash, no crash, no crash! Filmed a water town, exactly how I imagined a Jiangnan water town ancient town should look. Paired with Zhi Li’s “The End” - a perfect match.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/upic/Hyo4OC.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Apple Developer account finally approved</strong><br>\nGreat news!!! My Apple Developer account is finally approved - can’t wait to make something new in 2026! I’ve been applying for 3 years, and for some reason kept getting “Contact us to continue the process, there may be an issue with your account.” Even the support specialist couldn’t solve it. Finally, I learned a trick from Xiaohongshu - just write to Tim Cook. It really works, super fast! Someone contacted me the next day to submit materials, and today it got approved!<br>\n<img src=\"https://gw.alipayobjects.com/zos/k/2d/1nCAfm.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://gw.alipayobjects.com/zos/k/2d/1nCAfm.png\" data-pswp-src=\"https://gw.alipayobjects.com/zos/k/2d/1nCAfm.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1168\" style=\"aspect-ratio: 1.7534;\" 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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"256. Ueno Sky","link":"https://weekly.tw93.fun/en/posts/256/","pubDate":"Mon, 02 Feb 2026 00:00:00 GMT","description":"<img src=\"https://cdn.fliggy.com/upic/MkXV0F.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/MkXV0F.jpg\" data-pswp-src=\"https://cdn.fliggy.com/upic/MkXV0F.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3888\" data-pswp-height=\"2592\" style=\"aspect-ratio: 1.5000;\" width=\"800\">\n<p><small>Cover photo taken near Ueno Park in Tokyo, with a plane flying across the sky. The combination of blue sky and trees creates a beautiful scene.</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>When Bitcoin Falls, I Reconsidered the Cathedral and the Casino</strong><br>\n<a href=\"https://tw93.fun/en/2026-02-01/money.html\">https://tw93.fun/en/2026-02-01/money.html</a><br>\nRecently, Bitcoin dropped from its high of 120k to just over 70k, and market sentiment turned fearful again. Whenever the market falls, I find it easier to think about what’s more like a casino and what’s still building a cathedral. At the 2024 Berkshire Hathaway shareholder meeting, Warren Buffett used “the cathedral and the casino” to describe capitalism, and this metaphor is especially useful at times like these. Violent price fluctuations mostly come from the casino side, while what truly determines long-term returns often requires years or even decades of sustained investment.<br>\n<img src=\"https://cdn.fliggy.com/upic/7dSRph.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/7dSRph.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/7dSRph.png\" loading=\"lazy\" data-pswp-width=\"1200\" data-pswp-height=\"675\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>My Minimalist Living Experience</strong><br>\n<a href=\"https://tw93.fun/en/2024-03-03/simple.html\">https://tw93.fun/en/2024-03-03/simple.html</a><br>\nI’d like to casually chat about minimalism. I really enjoy this lifestyle, but that doesn’t mean everyone needs to be minimalist. Some people enjoy collecting, some like shopping and buying lots of things—any lifestyle that makes you comfortable is fine. But if you also enjoy a simple lifestyle, or if you have a bit of OCD, these small suggestions might suit you.<br>\n<img src=\"https://cdn.fliggy.com/upic/HJUHKu.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/HJUHKu.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/HJUHKu.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>My GitHub Repositories Have Surpassed 100K Stars</strong><br>\n<a href=\"https://github.com/tw93\">https://github.com/tw93</a><br>\nFrom starting to learn frontend development in college in 2014, to gradually open-sourcing some of my tools in recent years, I’ve made many friends and I’m very happy. Recording this milestone.<br>\n<img src=\"https://cdn.fliggy.com/upic/Kgk2Pa.jpeg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/Kgk2Pa.jpeg\" data-pswp-src=\"https://cdn.fliggy.com/upic/Kgk2Pa.jpeg\" loading=\"lazy\" data-pswp-width=\"3698\" data-pswp-height=\"2300\" style=\"aspect-ratio: 1.6078;\" width=\"800\"></p>\n<p><strong>Mole Recently Updated to Version 1.24</strong><br>\n<a href=\"https://github.com/tw93/Mole\">https://github.com/tw93/Mole</a><br>\nThis version is named Razor 🪒, an interesting name. Updates include the following, feel free to try it out:</p>\n<ol>\n<li>mo clean - Smarter and Faster: Automatically empties trash via Finder, automatically handles locked files with fallback processing, batch deletion now uses find -delete for significant speed improvements, added Yandex browser and Apple Podcasts residual file cleanup, fixed progress bar remnant issues.</li>\n<li>mo update —force: Even if already on the latest version, can force reinstall, automatically clears quarantine attributes so binary files can launch without security confirmation.</li>\n<li>mo uninstall - More Thorough Residual Detection: Finds more residual files through lowercase hyphen, no-space naming variants, validates bundle ID format to prevent injection attacks, error messages more instructive.</li>\n<li>mo check - Identifies Third-Party Firewalls: Prioritizes detection of Little Snitch, LuLu, Radio Silence and other third-party firewalls, fixes disk space parsing issues on non-English systems.</li>\n<li>mo purge - Deeper Scanning: Maximum scan depth increased from 4 to 6 layers to capture deep build artifacts, automatically falls back to find when fd is unavailable, correctly handles circular symbolic links to avoid hanging.</li>\n<li>Underlying Optimizations: Added operations.log for easier troubleshooting, app protection uses dual-array strategy reducing matching complexity from O(N) to O(1), Go scanner uses timer pool and channel timeout to prevent blocking.<br>\n<img src=\"https://cdn.fliggy.com/upic/qc29gI.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/qc29gI.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/qc29gI.png\" loading=\"lazy\" data-pswp-width=\"3820\" data-pswp-height=\"2160\" style=\"aspect-ratio: 1.7685;\" width=\"800\"></li>\n</ol>\n<p><strong>Codia AI NoteSlide Converts NotebookLM-Exported PDFs Directly to PPT</strong><br>\n<a href=\"http://codia.ai/noteslide?r=tw\">http://codia.ai/noteslide?r=tw</a><br>\nI’ve really enjoyed using NotebookLM recently to help learn and understand new things, but it can only export PDFs, and sometimes the Chinese rendering isn’t great. I’ve been looking for a good tool that can convert PDFs to editable PPTs, and after searching around, I found Codia AI NoteSlide works best. Compared to traditional pdf2ppt tools, it’s much simpler and easier to use, quickly converts to editable content, and the results are beautiful, refined, and error-free. Very useful—if you have the same pain point, give it a try.<br>\n<video width=\"800px\" preload=\"\" autoplay muted><source src=\"https://cdn.fliggy.com/upic/MJtWvf.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Apple Battery Protection Tool - Battery</strong><br>\n<a href=\"https://github.com/actuallymentor/battery\">https://github.com/actuallymentor/battery</a><br>\nThis tool keeps your MacBook that’s always connected to power at 80% charge, which supposedly extends battery lifespan. However, I mostly use it plugged in and don’t pay too much attention to this, but those who need it can give it a try.<br>\n<img src=\"https://cdn.fliggy.com/upic/o3DuLT.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/o3DuLT.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/o3DuLT.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>Visual Status Alerting Tool for Developers</strong><br>\n<a href=\"https://github.com/TwiN/gatus\">https://github.com/TwiN/gatus</a><br>\nGatus is a health dashboard for developers. You can monitor your services using HTTP, ICMP, TCP, and DNS queries, evaluate query results through a series of conditions (such as status codes, response times, certificate expiration, body content, etc.), and health checks can be integrated with various alert systems like Slack, Teams, PagerDuty, Discord, Twilio, and more.<br>\n<img src=\"https://cdn.fliggy.com/upic/bGGSac.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/bGGSac.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/bGGSac.png\" loading=\"lazy\" data-pswp-width=\"2560\" data-pswp-height=\"1760\" style=\"aspect-ratio: 1.4545;\" width=\"800\"></p>\n<h2 id=\"random-finds\">Random Finds</h2>\n<p><strong>Global AI Industry Traffic Tracking Report</strong><br>\n<a href=\"https://similarweb.com/corp/wp-content/uploads/2026/01/attachment-Global-AI-Tracker-6.pdf\">https://similarweb.com/corp/wp-content/uploads/2026/01/attachment-Global-AI-Tracker-6.pdf</a><br>\nSimilarweb recently released the Global AI Industry Traffic Tracking Report, “AI Global Sector Trends on Generative AI,” which is well worth reading. It analyzes the traffic situation of major product categories in the current AI space, showing who’s growing and who’s declining.<br>\n<img src=\"https://cdn.fliggy.com/upic/TWjiB9.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/TWjiB9.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/TWjiB9.png\" loading=\"lazy\" data-pswp-width=\"2048\" data-pswp-height=\"1378\" style=\"aspect-ratio: 1.4862;\" width=\"800\"></p>\n<p><strong>Saw this on Xiaohongshu—this stir-fried pork with chili peppers is delicious. I had something similar when I was young, give it a try</strong><br>\n<video width=\"800px\" preload=\"\" controls><source src=\"https://cdn.fliggy.com/upic/jhP14S.MP4\" type=\"video/mp4\"></video></p>\n<p><strong>My 2026 Reading List</strong><br>\nI recently started selecting books for 2026 and picked these 5. Do you have any recommendations for the best books you’ve read this year? Feel free to recommend them with a brief explanation:</p>\n<ol>\n<li>A Brief History of Intelligence</li>\n<li>Chinese Painting: Yuan to Qing</li>\n<li>Source Code - Bill Gates’ First Autobiography</li>\n<li>The Philosopher’s Last Lesson</li>\n<li>Nine Poetic Hearts: Literary Morning Star in the Dark Night</li>\n</ol>\n<p><strong>How to Organize a New Year’s Eve Team Building Activity That Young Engineers Love</strong></p>\n<ol>\n<li>Don’t hassle employees—help them apply for a half-day off on a workday, so they just come to play and eat.</li>\n<li>Organizers prepare exquisite snack gift bags for everyone, with nice bags too, placed on dining chairs before arrival.</li>\n<li>Play games young people enjoy, like XX points competition. Individual competition rankings get priority gift selection. To avoid gift exchange awkwardness, collect wish lists in advance without revealing names, so everyone roughly gets what they like. Even made a webpage to display it. For the top three, prepare a cute, presentable trophy, like engraved with “God of Gamblers,” “Saint of Gamblers,” “Knight of Gamblers.”</li>\n<li>For team competition, use the budget to prepare ten boxes of cherries, ten boxes of chocolate, ten boxes of strawberries from Sam’s Club. Top three teams all get prizes per person, everyone smiling.</li>\n<li>Don’t choose hotel-style banquet venues for dining. Choose places that are delicious, clean, with good service, slightly 2 tiers above daily dining. Eat and drink well—no alcohol, but Coke, orange juice, coconut water all fine.</li>\n<li>Finish eating at 7pm. Those who want to play organize activities themselves; those who don’t, take their many gifts straight home. Keep it flexible and let people choose.</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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"},{"title":"255. Delicious Chicken Wings","link":"https://weekly.tw93.fun/en/posts/255/","pubDate":"Mon, 26 Jan 2026 00:00:00 GMT","description":"<img src=\"https://cdn.fliggy.com/upic/gBsSrT.jpg?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/gBsSrT.jpg\" data-pswp-src=\"https://cdn.fliggy.com/upic/gBsSrT.jpg\" loading=\"eager\" fetchpriority=\"high\" data-pswp-width=\"3668\" data-pswp-height=\"2751\" style=\"aspect-ratio: 1.3333;\" width=\"800\">\n<p><small>The cover photo was taken of grilled chicken wings we had over the weekend. The plating looked great, and they tasted good with a bit of chopped parsley.</small></p>\n<blockquote>\n<p><strong>Record the down-to-earth trending technologies seen every week, and publish them here after screening. If you find it good, you can subscribe to this weekly to get update notifications.</strong></p>\n</blockquote>\n<h2 id=\"trending-tools\">Trending Tools</h2>\n<p><strong>243 Engineers: Best Things Bought in the Past Year</strong><br>\n<a href=\"https://tw93.fun/2026-01-24/good.html\">https://tw93.fun/2026-01-24/good.html</a><br>\nLast week, while buying Lunar New Year dinner gifts for the team, I casually asked on X: In the past year, what is the thing you were most satisfied with? Or if you had to recommend one item, what would it be? It could be gadgets, software, or daily-use items.<br>\nI did not expect 243 replies. It felt lively and real, and I really like this kind of exchange. The comments were buzzing. After reading through a few times, I found many great items. The recommendations ranged from must-haves to very down-to-earth everyday goods.<br>\n<img src=\"https://cdn.fliggy.com/upic/3qikGN.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/3qikGN.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/3qikGN.png\" loading=\"lazy\" data-pswp-width=\"1920\" data-pswp-height=\"1080\" style=\"aspect-ratio: 1.7778;\" width=\"800\"></p>\n<p><strong>Pake Updated to Version 3.8.1</strong><br>\n<a href=\"https://github.com/tw93/Pake\">https://github.com/tw93/Pake</a><br>\nPake, the tool that packages web pages into lightweight desktop apps for macOS, Windows, and Linux, has been updated. Changelog highlights:</p>\n<ol>\n<li>Third-party login popups: Added the <code>--new-window</code> parameter to support OAuth/SSO flows that need a new window, wired through CLI -> config -> Tauri window.</li>\n<li>Fullscreen video support: The injection layer adds HTML5 Fullscreen compatibility so sites like YouTube can reliably enter fullscreen.</li>\n<li>Linux packaging expansion: Added RPM packaging and multi-target builds. The default Linux targets are now <code>deb</code> and <code>appimage</code>.</li>\n<li>Linux stability and focus fixes: Disabled the WebKit DMABUF renderer by default for stability, fixed fullscreen input focus, and restored fullscreen correctly for tray launch and startup scenarios.</li>\n<li>macOS window behavior: Closing a window no longer minimizes it; it hides instead. Window control permissions are completed, and reopening from the Dock restores hidden windows.</li>\n<li>Theme and experience tweaks: Follow system theme by default, and only force light/dark mode when explicitly set.\n<img src=\"https://cdn.fliggy.com/upic/cTQpkH.gif\" width=\"800\">\n</li>\n</ol>\n<p><strong>MemOS: Long-Term Memory for Agents and LLMs</strong><br>\n<a href=\"https://github.com/MemTensor/MemOS\">https://github.com/MemTensor/MemOS</a><br>\nWhile looking at long-term memory solutions for Agents and LLMs, I found an interesting project: MemOS. It is not about stuffing a bigger context window or improving retrieval, but about a more fundamental problem: how memory itself should be managed.<br>\nWhen building AI agents or multi-turn chat, models often forget context. User preferences, operation records, and uploaded documents seem to evaporate. MemOS addresses this with a core “shared memory layer,” and lets the same memory be reused across projects and agents.<br>\nIt supports connecting files and URLs directly into a knowledge base. During conversations, memories are continuously updated and gradually form preference memories as they grow. It can unify text, images, files, and tool calls under one management layer, and you can even use natural language to correct or clean existing memory when needed. If you are interested, go check out the project.<br>\n<img src=\"https://cdn.fliggy.com/upic/aA2Xts.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/aA2Xts.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/aA2Xts.png\" loading=\"lazy\" data-pswp-width=\"1932\" data-pswp-height=\"1798\" style=\"aspect-ratio: 1.0745;\" width=\"800\"></p>\n<p><strong>Toad: A Unified AI Interface in the Terminal</strong><br>\n<a href=\"https://github.com/batrachianai/toad\">https://github.com/batrachianai/toad</a><br>\nThis unified AI interface in the terminal, Toad, is pretty good. With the ACP protocol, it is worth checking out and giving it a try.<br>\n<video width=\"800px\" preload=\"\" loop autoplay controls muted><source src=\"https://cdn.fliggy.com/upic/7mHwX1.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>An Immersive 3D/2D Web Visualization Project</strong><br>\n<a href=\"https://seanwong17.github.io/Mammalia-tree/\">https://seanwong17.github.io/Mammalia-tree/</a><br>\nAn immersive 3D/2D web visualization project that explores the 200-million-year epic evolution of mammals. The interactions are excellent and great for anyone who likes “archaeology”.<br>\n<img src=\"https://cdn.fliggy.com/upic/q9gsB8.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/q9gsB8.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/q9gsB8.png\" loading=\"lazy\" data-pswp-width=\"2714\" data-pswp-height=\"1640\" style=\"aspect-ratio: 1.6549;\" width=\"800\"></p>\n<p><strong>A Good-Looking Terminal Pomodoro: pomo</strong><br>\n<a href=\"https://github.com/Bahaaio/pomo\">https://github.com/Bahaaio/pomo</a><br>\nBuilt with Bubble Tea, and it looks great.<br>\n<img src=\"https://cdn.fliggy.com/upic/YIXgMy.gif\" width=\"800\"></p>\n<h2 id=\"just-looking-around\">Just Looking Around</h2>\n<p><strong>Watching Alex Honnold Climb Taipei 101 on Netflix Live</strong><br>\n<a href=\"https://www.bilibili.com/video/BV1nYzDB3EKx\">https://www.bilibili.com/video/BV1nYzDB3EKx</a><br>\nOn Sunday morning, I watched Alex Honnold climb Taipei 101, a landmark in Taiwan, on a Netflix live stream. He free-soloed the whole way without ropes or safety gear; one mistake would have been fatal. He finished in about an hour and a half. I am really impressed, and he stayed remarkably calm throughout. It is worth watching. If you do not have Netflix, you can probably find it on Bilibili too. It has been a long time since I have seen something like this.<br>\n<video width=\"800px\" preload=\"\" controls><source src=\"https://cdn.fliggy.com/upic/oa63eq.mp4\" type=\"video/mp4\"></video></p>\n<p><strong>Investment Directions I Will Watch in 2026, Not Advice, Just for Reference</strong><br>\n<img src=\"https://cdn.fliggy.com/upic/wYrANO.png?x-oss-process=image/auto-orient,1/resize,w_2000/format,webp\" data-lightense-src=\"https://cdn.fliggy.com/upic/wYrANO.png\" data-pswp-src=\"https://cdn.fliggy.com/upic/wYrANO.png\" loading=\"lazy\" data-pswp-width=\"2862\" data-pswp-height=\"1296\" style=\"aspect-ratio: 2.2083;\" 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://cats.tw93.fun?name=潮流周刊\"\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      >Buy me a coke 🥤</a>\n    </p>"}]}