<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>折腾 on 14 Say Something</title>
    <link>https://xushiqing.uk/blog/%E6%8A%98%E8%85%BE/</link>
    <description>Recent content in 折腾 on 14 Say Something</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
    <copyright>Post by 十四 · See You, Space Cowboy.</copyright>
    
    
    <lastBuildDate>Thu, 10 Sep 2026 22:36:44 +0800</lastBuildDate>
    
    
    <atom:link href="https://xushiqing.uk/blog/%E6%8A%98%E8%85%BE/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mac 体验卡</title>
      <link>https://xushiqing.uk/2026/09/10/20260910-try-macbook-air-m2/</link>
      <pubDate>Thu, 10 Sep 2026 22:36:44 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/09/10/20260910-try-macbook-air-m2/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4cd85889&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4cd85889&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/09/1789051123674-20260910-try-macbook-air-m2-banner.webp&#34; alt=&#34;20260910-try-macbook-air-m2-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4cd85889&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;昨天工作电脑被 Claude 改坏了，送去 IT 维修，一时没修好，借了台闲置的 mac 来用，终于在公司用上了 mac。&lt;/p&gt;&#xA;&lt;p&gt;是一台 M2 的 13 英寸 MacBook Air， 看了一下流转记录，前一天才刚离职归还的机器。&lt;/p&gt;&#xA;&lt;p&gt;很可惜我并不能保留这台机器，自己的电脑修好之后，就得还回去了，顶多再拖延一个月。&lt;/p&gt;&#xA;&lt;p&gt;不过还是有希望想想办法，申请保留下来，甚至申请一台最新款芯片的。只是比较难。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>切换主力手机</title>
      <link>https://xushiqing.uk/2026/09/09/20260909-change-main-cell-phone/</link>
      <pubDate>Wed, 09 Sep 2026 22:54:41 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/09/09/20260909-change-main-cell-phone/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-98bb0878&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-98bb0878&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/09/1788965780686-20260909-change-main-cell-phone-banner.webp&#34; alt=&#34;20260909-change-main-cell-phone-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-98bb0878&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;安卓和 iOS 双持两天之后，我决定把微信迁移到安卓上，这也基本上意味着这台安卓成为我的主力机了，我并没有想过会发生这样的事情。&lt;/p&gt;&#xA;&lt;p&gt;一个比较令人意外的发现是，我把iOS 上的微信聊天记录备份到 mac 上，然后从 mac 上恢复到安卓上的过程中发现，两台苹果设备之间互传微信数据的速度最高只到达 15M/s 左右，且并不稳定。而 mac 和安卓之间互传，速度却能够稳定在 30M/s 以上，最高超过 35M/s。&lt;/p&gt;&#xA;&lt;p&gt;不出意外的话，后续这台爱疯的主要用途就是工作手机，外加某些场景之下用 project indigo 相机来拍照吧。以及视频能力显然还是比这台安卓好的多，不过也很少需要拍视频。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>再度无法访问 Ingress</title>
      <link>https://xushiqing.uk/2026/08/28/20260828-can-not-access-ingress-again/</link>
      <pubDate>Fri, 28 Aug 2026 22:21:38 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/08/28/20260828-can-not-access-ingress-again/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-8e43ffac&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-8e43ffac&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/08/1787927292303-20260828-can-not-access-ingress-again-banner.webp&#34; alt=&#34;20260828-can-not-access-ingress-again-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-8e43ffac&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;今天发现再次在梯子没断的情况下无法访问 ingress 了，对于这种情况现在我已经比较熟练了，大概率时配置文件自动更新过，导致手动添加的规则失效了。&lt;/p&gt;&#xA;&lt;p&gt;但是每天没时间看，晚上回家后把 niantic 作为关键词添加到规则里，果然立即解决了。看了看配置文件，上次更新日期是前几天。&lt;/p&gt;&#xA;&lt;p&gt;不知道为何今天才失效，不过不重要。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>更新失败两天</title>
      <link>https://xushiqing.uk/2026/08/19/20260819-miss-two-updates/</link>
      <pubDate>Wed, 19 Aug 2026 21:25:59 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/08/19/20260819-miss-two-updates/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-07f1d103&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-07f1d103&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/08/1787146312955-20260819-miss-two-updates-banner.webp&#34; alt=&#34;20260819-miss-two-updates-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-07f1d103&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;今天才注意到，前面两天的更新并没有成功推送出去。其实这事儿前几天发生过一次了，把梯子断掉就行，后来我又忘记了，加上我近期推送完也懒得打开看，因此没有注意到。&lt;/p&gt;&#xA;&lt;p&gt;当然，从博客页面上来说，并不会看出来断了两天，因为显示的日期都是文件里写入的日期。不过 GitHub 页面上的更新记录则会断掉了，有点儿可惜。&lt;/p&gt;&#xA;&lt;p&gt;不过也不重要，我已经打算达成一年之后，就不再每天更新了。&lt;/p&gt;&#xA;&lt;p&gt;因为实在是没什么好写的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>尝试一下 DSH</title>
      <link>https://xushiqing.uk/2026/08/18/20260818-trying-dsh/</link>
      <pubDate>Tue, 18 Aug 2026 21:02:44 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/08/18/20260818-trying-dsh/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-abb2a506&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-abb2a506&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/08/1787058436750-20260818-trying-dsh-banner.webp&#34; alt=&#34;20260818-trying-dsh-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-abb2a506&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前阵子 DeepSeek 推出了他们的 Agent 产品 DeepSeek Harness，当天我就在工地电脑上安装了一下，不过不知道是网络原因还是什么，安装过程仿佛卡住了，于是中途退出了安装，没有尝试。&lt;/p&gt;&#xA;&lt;p&gt;今天看到公司的 Claude 群里有人发了篇配置教程，是可以将公司内部提供的模型配置进去的，于是重新尝试下载安装，结果是依然卡了很长时间才安装上。&lt;/p&gt;&#xA;&lt;p&gt;顺利配置上公司提供的模型们，选了 gpt 5.6 sol，随便交代了一个模糊的任务试试能不能运行。结果8 分钟之内把我当天的 50 刀配额烧光了。烧钱的速度是如此之快，以至于网关监测到我达到 rate limit 并给我切断访问时，已经消耗掉 57 刀了，而正常情况下，刚刚超过 50 刀就会被掐断了。&lt;/p&gt;&#xA;&lt;p&gt;震惊之余，我好奇发生了什么。于是配置了一个自己的 DeepSeek API Key 进去进行调查。结果很简单，我随口说的那个任务，触发了一个公司内部开发的 skill，主进程扇出了几十个子 Agent 同时开工，而 gpt 5.6 sol 价格昂贵，于是迅速就把配额烧光了。&lt;/p&gt;&#xA;&lt;p&gt;之后我的工作是用自己的 Key 完成的，DeepSeek V4 flash 速度相当之快，并且即使已经大幅涨价，相比其他模型依然便宜，今天只消耗了不到 3 块钱人民币。&lt;/p&gt;&#xA;&lt;p&gt;总的来说，DSH 还是不错的，尤其是这个 web-ui 比 Claude 的命令行要友好得多，适合我这种非技术人员使用。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>艰难购买土区礼品卡</title>
      <link>https://xushiqing.uk/2026/08/14/20260814-tr-apple-gift-card/</link>
      <pubDate>Fri, 14 Aug 2026 21:44:06 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/08/14/20260814-tr-apple-gift-card/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-cdba0c06&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-cdba0c06&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/08/1786715155353-20260814-tr-apple-gift-card-banner.webp&#34; alt=&#34;20260814-tr-apple-gift-card-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-cdba0c06&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;用了几年的土耳其区 Apple 礼品卡购买渠道，前段时间总是在支付环节失败，于是上次找了另一个渠道。近期需要再次购买时，我只记得开始的渠道会失败，却忘记已经找了新的渠道，于是又去原有渠道尝试。&lt;/p&gt;&#xA;&lt;p&gt;在几个周末尝试了几次之后，昨天终于想起来我上次购买已经换了新渠道了。&lt;/p&gt;&#xA;&lt;p&gt;于是去新渠道上下单，不过在支付环节也遭遇了很多困难。最终需要我进行手机号验证，先是用两个 Google voice 号码尝试，都先是验证码已发送，但我从未收到。&lt;/p&gt;&#xA;&lt;p&gt;最终决定用自己的手机号，结果提示更换手机号太频繁，封禁了验证码发送能力。&lt;/p&gt;&#xA;&lt;p&gt;由于累了，没有继续尝试，反正离我的订阅下次扣费还有接近一个月时间，大不了重新注册个账号。&lt;/p&gt;&#xA;&lt;p&gt;今天打开邮箱收到那个渠道的邮件，问我是不是忘了啥事儿，并且附上了未支付的订单链接，点击可以直接跳转。这次在验证手机号环节我直接填了自己的手机号，成功拿到验证码通过验证，用支付宝就能付款。想必 Visa 付款渠道还便宜几块钱。&lt;/p&gt;&#xA;&lt;p&gt;写下来，下次应该会记得直接去新的渠道购买了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>再度调整代理配置文件</title>
      <link>https://xushiqing.uk/2026/08/11/20260811-proxy-config/</link>
      <pubDate>Tue, 11 Aug 2026 21:05:01 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/08/11/20260811-proxy-config/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-de514cbd&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-de514cbd&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/08/1786453573923-20260811-proxy-config-banner.webp&#34; alt=&#34;20260811-proxy-config-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-de514cbd&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前几天访问 Ingress 又开始有点儿困难，尝试切换几条线路无果后，感觉可能是猩猩服务器那边的问题。不过后来看群里别人都是正常的，那想必服务器没问题了。&lt;/p&gt;&#xA;&lt;p&gt;不过对这种现象已经见怪不怪了，把代理模式由配置切换成全部代理，果然又恢复了访问，想必是配置文件里的相关规则又丢失了，手动加了如下几条，立马恢复。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;DOMAIN-SUFFIX, ingress.com, Proxy&#xA;DOMAIN-SUFFIX, nianticlabs.com, Proxy&#xA;DOMAIN-SUFFIX, niantic.com, Proxy&#xA;DOMAIN-SUFFIX, nianticspatial.com, Proxy&#xA;DOMAIN-KEYWORD, niantic, Proxy&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我用的配置文件是网上找的一个带有去广告规则的文件，但日常使用中似乎感受不到去广告的效果。直到前阵子失去了 YouTube premium 订阅之后，有一段时间几乎没怎么看过 YouTube，尤其是在 Apple TV 和手机上，基本都用 B 站替代了。&lt;/p&gt;&#xA;&lt;p&gt;近期在网页版找一些视频过程中，突然意识到网页版是没有广告的，想必是去广告规则起效了，于是把那个配置文件也传输到 Apple TV 上，果然也可以享受无广告待遇了。&lt;/p&gt;&#xA;&lt;p&gt;不过并非 100% 有效，手机上用的是同一个配置文件，但是时而有效时而无效。不过无效主要发生在手机上，Apple TV 和网页版似乎尚未遇到失效的情况。&lt;/p&gt;&#xA;&lt;p&gt;而我也很少使用手机观看 YouTube 视频，更多是使用后台播放的功能用来听音频。去广告规则哪怕能去广告，也不能实现后台播放，所以手机上是否有效对我来说区别也不大了，使用频率很低。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>用上了 opus 5</title>
      <link>https://xushiqing.uk/2026/08/03/20260803-using-opus-5/</link>
      <pubDate>Mon, 03 Aug 2026 21:26:42 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/08/03/20260803-using-opus-5/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-a791f003&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-a791f003&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/08/1785763656629-20260803-using-opus-5-banner.webp&#34; alt=&#34;20260803-using-opus-5-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-a791f003&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;过去半年以来公司一直限制非编码用户对 opus 用户的访问，编码用户也需要一些特定的条件才能使用，否则只能使用 sonnet。前段时间突然放开了，不仅所有人都可以用 opus，并且默认的 auto 模型此前是路由到 sonnet 上，现在则是末人路由到 opus 4.6 了。&lt;/p&gt;&#xA;&lt;p&gt;这些都是默默发生的没有任何通知，看群里的讨论，价格跟 sonnet 是一样的，看来 A 社开始给企业用户降价了，不过按以前的尿性，肯定也是降智了。&lt;/p&gt;&#xA;&lt;p&gt;上周用了几天 opus 4.8 和 4.6 之后，今天仔细看模型列表，原来 opus 5 也是可以用的，于是在我的当日配额还剩 20 刀左右时，开了一个新任务交给 opus 5，然后就去上了个大号。&lt;/p&gt;&#xA;&lt;p&gt;回来之后发现已经把我的当日配额烧光了。&lt;/p&gt;&#xA;&lt;p&gt;价格还是太贵了点儿。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>携带大型移动电源出门</title>
      <link>https://xushiqing.uk/2026/07/31/20260731-the-big-powerbank/</link>
      <pubDate>Fri, 31 Jul 2026 21:34:40 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/31/20260731-the-big-powerbank/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-14cc7361&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-14cc7361&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1785504954447-20260731-the-big-powerbank-banner.webp&#34; alt=&#34;20260731-the-big-powerbank-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-14cc7361&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我的 iPhone 15 pro 已经使用了接近 3 年，电池经历了近 1200 次充放电循环，目前健康度 82%，尚未降低至苹果推荐换电池的 80% 以下。不过续航能力已经非常堪忧了，只是我很少需要长时间待在外面，上班和在家里时都随时可以充电，偶尔出去一下，带个小充电宝也就够了。&lt;/p&gt;&#xA;&lt;p&gt;这几天需要比较长时间待在外面，于是带上了原本买来 给媳妇用于在户外给等供电的 90Wh 大型移动电源，能够显著缓解电量焦虑。&lt;/p&gt;&#xA;&lt;p&gt;昨天早上醒来时 95% 的电，到我出门坐上高铁就只剩 62% 了，于是在火车上就开始掏出来给手机充电。边玩边充发热量比较大，而且似乎用充电宝给手机充时不知道是不是会触发什么保护功能，用过好几个充电宝都是充到 80% 之后功率会下降至极低，也就 1W 左右。&lt;/p&gt;&#xA;&lt;p&gt;下午在外面也完全不慌，甚至不太关注手机有多少电了，反正只要所做下来就可以掏出这个移动电源拉出伸缩线给手机充电。&lt;/p&gt;&#xA;&lt;p&gt;说到伸缩线，以及其他形态的充电宝自带线，我以前不是很喜欢这种设计。一是会影响整体的设计感，二是感觉非常不耐用。不过架不住用过之后是真的方便，缺点也就可以无视了。关于伸缩线的耐用度问题，今天看到一个评测 DJI power 1000 mini 的视频，那个户外电源上也有类似的伸缩线，并且做成了可更换设计，想必耐用度确实不佳。&lt;/p&gt;&#xA;&lt;p&gt;体验了两天完全不在意手机电量的外出，不得不说真的好用。要说缺点嘛，那自然是重量，一斤多的重量放在包里是不可忽视的，尤其是还背着电脑的情况下。其实 79Wh 的通常也够用，不过重量轻不了多少，还不如 90Wh 用起来更放心。&lt;/p&gt;&#xA;&lt;p&gt;关于安检，带着它进行了火车和地铁的安检，都是不需要掏出来看的。广州地铁有一阵会要求拿出充电宝查看，可能引起的民意反弹太大，只执行了很短时间就放弃了这个政策。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>得以继续以低价订阅 ChatGPT</title>
      <link>https://xushiqing.uk/2026/07/24/20260724-budget-gpt/</link>
      <pubDate>Fri, 24 Jul 2026 22:16:57 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/24/20260724-budget-gpt/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c67b6d55&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c67b6d55&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1784902668282-20260724-budget-gpt-banner.webp&#34; alt=&#34;20260724-budget-gpt-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c67b6d55&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前段时间 OpenAI 对土耳其区 App Store 的订阅费进行了调价，从 499.9 涨到 999.9，按当前汇率计算已经比美区的 20 美元还要贵了。当时看到调价的消息是说老用户还能继续以原价订阅一个月，我账户里还剩 500，当时又充了 1000，这样大约可以再坚持两个月。&lt;/p&gt;&#xA;&lt;p&gt;结果今天一看，账户还剩 500，按说应该是不剩了才对。上网查了一下才知道，原来当前还没有涨价，能够继续以 499.9 的价格订阅。&lt;/p&gt;&#xA;&lt;p&gt;本来我都打算下个月订阅到期之后转战美区的，这下可以暂时不用转了，反而要继续往土区账户里充钱。尚不知道老用户何时会涨价，但总之涨价了再说吧，没涨之前就继续在土区订阅，每月可以节省 9 美刀左右。&lt;/p&gt;&#xA;&lt;p&gt;其实我用的不多，这些钱大部分也是贡献给 OpenAI，拿去补贴那些重度用户了。&lt;/p&gt;&#xA;&lt;p&gt;但是又不能没有，所以还是得继续订阅，能省一点儿是一点儿了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>自带 token 上班</title>
      <link>https://xushiqing.uk/2026/07/15/20260715-bring-your-own-key/</link>
      <pubDate>Wed, 15 Jul 2026 22:37:15 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/15/20260715-bring-your-own-key/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-1fe5a283&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-1fe5a283&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1784355795099-20260715-bring-your-own-key-banner.webp&#34; alt=&#34;20260715-bring-your-own-key-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-1fe5a283&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;近期 OpenAI 上线了 GPT-5.6 之后，经常赠送codex 额度的重置次数，并且临时取消了 5 小时限制。我日常自己已经比较少折腾这些东西了，额度很难用完，大部分都浪费了。&lt;/p&gt;&#xA;&lt;p&gt;而公司给我们非编码人员使用的模型已经很久没有更新过了，sonnet 5 上线有一阵了，但似乎只有产研团队可以用，我们还是只能用 4.6。GPT 也没有及时上线 5.6，并且不知道以后上线了是不是会开放给我们使用。&lt;/p&gt;&#xA;&lt;p&gt;于是我尝试了一下登录自己的账号来使用最新的 5.6 模型。先让 Claude 把 codex 彻底卸载掉，包括环境变量等全部清除，然后自己手动重新安装，授权登录，终于用上 5.6 了。&lt;/p&gt;&#xA;&lt;p&gt;今天大概干了两三个活儿吧，都用的 GPT-5.6 sol，消耗了周额度的 30% 多，真要拿来日常使用的话是绝对不够用的。&lt;/p&gt;&#xA;&lt;p&gt;其中一个活儿是我先让 Claude 写了个程序，但每次运行时会有个系统拦截的弹窗，尽管关掉之后也不影响使用，但比较 annoying，还是想解决掉。用 sonnet 4.6 尝试了好几次都没有解决，最后想起来用 GPT 5.6 sol 试一下。&lt;/p&gt;&#xA;&lt;p&gt;codex 看了一下项目，分析起来头头是道，问题是什么、之前 Claude 尝试的方法哪里有问题都在思考过程里展示了，最后修完还是不行。又让它试了一遍，依然失败，最后我就放弃了。&lt;/p&gt;&#xA;&lt;p&gt;之前还把自带 token 上班当段子讲，没想到这么快就开始了。我们部门现在每次周会都会晒一下每个组以及每个人的 token 消耗量排名，我每次都在前几名。当前说法是这个月可以使劲儿用，下个月开始就要看 ROI 了。&lt;/p&gt;&#xA;&lt;p&gt;使用 token 的 ROI，并没有那么容易说清，如果非要讲的话，那还不如不用了，就用自己的 token 干活儿，还能随时用到更前沿的模型，而不是被锁定在公司提供的那些模型里。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>大型移动电源</title>
      <link>https://xushiqing.uk/2026/07/14/20260714-big-power-bank/</link>
      <pubDate>Tue, 14 Jul 2026 20:31:08 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/14/20260714-big-power-bank/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-77ec1813&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-77ec1813&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1784355734994-20260714-big-power-bank-banner.webp&#34; alt=&#34;20260714-big-power-bank-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-77ec1813&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;上次集成在摄影灯手柄里的大移动电源退货之后，近期再次购入了一个普通的 25000mah 大移动电源，Anker 的产品非常贵，不过看到他们有官方翻新店，于是下单购入了一个标着 99 新的，比新的便宜大约 100 块钱的样子。店里还有 9 成新的，不过已经无货了，不然还能再便宜八九十。&lt;/p&gt;&#xA;&lt;p&gt;所谓官方翻新，大概就是别的消费者退货之后的产品，跟苹果的官翻机差不多的意思。看了一些买家的照片，9 成新的表面划痕多很多，不过能便宜这么多钱，有划痕也无所谓了。或许以后有货了还可以再下单一个。&lt;/p&gt;&#xA;&lt;p&gt;下单之后第三天一早就到货了，上班出门前拆了快递看了下，感觉个头比从照片里看起来还是要大一些，拿在手里也很有分量。&lt;/p&gt;&#xA;&lt;p&gt;自带两根充电线，一个可以伪装成挂绳，一根是伸缩的藏在里面，比较实用。还带个小屏幕可以显示一些基础信息，比如每个口的充放电功率、温度以及电池健康度和充放电循环次数等。与那个 140W 的充电头不同的是这个信息切换按钮是实体按钮，而不是触摸的。循环次数显示的是 0，跟全新无异了，只是侧面有个划痕，估计上一个买家就是因为这个划痕退换货了。&lt;/p&gt;&#xA;&lt;p&gt;单口放电功率最高可达 100W，开始看产品描述页面 160W 我还以为是单口 160W，实际上是多口加起来最高 160W。不过 100W 也够用了，媳妇的灯最高 140W，但 100W 能够达到的亮度也很可观了。&lt;/p&gt;&#xA;&lt;p&gt;相比放电，更快能感知到的是充电速度，最高也是 100W。目前我的设备里能比这个充电速率快的也就只有电瓶车了。&lt;/p&gt;&#xA;&lt;p&gt;在国内手机厂商纷纷卷充电速度的这几年，我一直在使用苹果手机，充电速度只有十几 W，看到那些宣传 100W、120W 充电速度的手机很多时候也不以为然，毕竟明明可以睡觉时插上手机充满地第二天拿着直接出门，为何需要像他们宣传的场景里那样早上起来刷牙洗漱前再充电。&lt;/p&gt;&#xA;&lt;p&gt;现在试了一下这个移动电源的 100W 输入速度，能看到电量百分比以肉眼可见的速度往上涨，还是挺舒适的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>tvOS27 beta 版 bug</title>
      <link>https://xushiqing.uk/2026/07/09/20260709-tvos-27-developer-beta/</link>
      <pubDate>Thu, 09 Jul 2026 22:18:22 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/09/20260709-tvos-27-developer-beta/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-0e7a06e8&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-0e7a06e8&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1783606782-20260709-tvos-27-developer-beta-banner.webp&#34; alt=&#34;20260709-tvos-27-developer-beta-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-0e7a06e8&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前阵子果子推出了各类 27 developer beta 版的系统，与以往不同的是，这一次似乎口碑不错，第一版出来时就有很多人反馈升级之后设备续航变长了。&lt;/p&gt;&#xA;&lt;p&gt;跟去年一样，我也第一时间在非主力设备上升级了，包括 iPad mini 和 Apple TV。我的 iPad mini 使用场景非常窄，因此没体验到什么 bug，主要是调节音量的按钮的行为似乎变了，息屏状态下有点儿无法判断哪个按钮是增大音量，哪个按钮是减小音量，似乎随时会变。另外续航似乎确实变长了。&lt;/p&gt;&#xA;&lt;p&gt;tvOS 则没有这么顺利，遇到了一个奇怪的 bug，开机状态下按开关键没有反应，无法调出关机菜单，并且会导致按键没反应了，需要按一下语音输入按钮才能重新唤醒。&lt;/p&gt;&#xA;&lt;p&gt;于是当我看完电视需要关机时，肌肉记忆使我总是要重复一些没用的动作。通常会下意识先按一下电源键，然后系统卡住，然后再按语音键救回来，再进设置里面关机。&lt;/p&gt;&#xA;&lt;p&gt;升级了 beta2 之后，这个bug 依然存在。直到昨天升级了 beta3，这个 bug 终于解决了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>收紧的 Token 预算</title>
      <link>https://xushiqing.uk/2026/07/07/20260707-token-budget-limit/</link>
      <pubDate>Tue, 07 Jul 2026 21:46:18 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/07/20260707-token-budget-limit/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-52f75dd1&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-52f75dd1&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1783432201-20260707-token-budget-limit-banner.webp&#34; alt=&#34;20260707-token-budget-limit-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-52f75dd1&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;今天一个大学同学找我聊了点儿 AI 相关的话题，我想起来问她，现在互联网公司们已经纷纷放弃 token maximization 策略，转而限制员工的 token 消耗上限了，之前你们要求每周最低消耗 3000 块钱的 token，现在还有这个要求吗？&lt;/p&gt;&#xA;&lt;p&gt;答曰已经没有了，因为领导发现 ROI 太低，并且建议大家使用更便宜的模型。&lt;/p&gt;&#xA;&lt;p&gt;如此看来我们公司还是先进（没钱），从一开始就是限制 token 使用量上限而非下限，并且一直在尝试各种方式鼓励大家降低 token 的消耗。而我前司，给研发配的 token 预算大约是一个月 20 美元，就更显得有先见之明了。&lt;/p&gt;&#xA;&lt;p&gt;想到前几天朋友发我一篇文章，标题大概叫某大厂配发 token 或变相压缩员工涨薪空间，朋友说这个可不兴学啊，我说有带头的就会有跟随的，难以避免吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>电瓶车的超速警报</title>
      <link>https://xushiqing.uk/2026/07/02/20260702-ebike-alert/</link>
      <pubDate>Thu, 02 Jul 2026 22:24:27 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/07/02/20260702-ebike-alert/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-d5378ff7&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-d5378ff7&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/07/1783002310-20260702-ebike-alert-banner.webp&#34; alt=&#34;20260702-ebike-alert-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-d5378ff7&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;购买了电瓶车之后的接近 20 天时间里，也就是我上牌之前的这段时间，我很少骑车。最主要的原因倒不是没有牌，而是超速的警报声过于烦人。我以为所有电瓶车用户都会去解除这个警报声。&lt;/p&gt;&#xA;&lt;p&gt;上周上完牌之后，本周这几天都是骑车上下班了，这才注意到很多人就是带着那个警报声在骑车的。路上遇到好几次，前面一辆电瓶车我能听到似乎是微弱的的某种警报声，随着距离越来越近，听得也越来越清晰，离得足够近时基本能确定确实是超速警报了。&lt;/p&gt;&#xA;&lt;p&gt;这几天我有印象的就遇到了三四个吧，以前没骑电瓶车时无法注意到这种现象。&lt;/p&gt;&#xA;&lt;p&gt;也就是说，尽管很多人会对车子解除一定的限制从而一定程度上突破新国标的约束，但也还是有很多人是不做任何改动，买到什么样的车就骑什么样的。从这个意义上来说，新国标还是有用的，并非完全是个摆设。&lt;/p&gt;&#xA;&lt;p&gt;以及，经过这几天的骑车通勤，我已经基本适应了电瓶车的龟速行驶。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>再一次折腾 codex desktop for Windows 的自动升级</title>
      <link>https://xushiqing.uk/2026/06/29/20260629-codex-desktop-updater/</link>
      <pubDate>Mon, 29 Jun 2026 21:41:46 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/06/29/20260629-codex-desktop-updater/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-eddf738e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-eddf738e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/06/1782740535-20260629-codex-desktop-updater-banner.webp&#34; alt=&#34;20260629-codex-desktop-updater-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-eddf738e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;猛然意识到上次优化了工地电脑上的 codex desktop 升级脚本之后，似乎没有升级成功过，每次都是运行一下就提示没有升级，然后提示按任意键退出。今天看了一下，运行时显示的上次更新时间已经是二十多天前了，这显然不对。&lt;/p&gt;&#xA;&lt;p&gt;于是又让 Claude 给检修了一下，尽管修好了，但是下载速度依旧非常慢，600 多 M 的安装包要下载相当长的时间。&lt;/p&gt;&#xA;&lt;p&gt;上网搜索了一下，果然遇到这种问题的并非我一个人，很多企业里的人都面临使用 LTSC 版的 Windows 从而无法从微软商店直接下载更新 codex desktop 的情况，于是有人搭建了一个服务，每隔 15 分钟去拉一次更新，放在 GitHub 供人下载。&lt;/p&gt;&#xA;&lt;p&gt;大致判断了一下，没什么风险，于是手动从那个 GitHub 项目上下载了，速度稍微快一些。花了十来分钟下载安装好之后，发现已经过了很多个版本了。&lt;/p&gt;&#xA;&lt;p&gt;终于修复了最大化之后侧边栏会变成透明的问题。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>又尝试了一个新的终端工具，Otty</title>
      <link>https://xushiqing.uk/2026/06/22/20260622-try-a-new-terminal-otty/</link>
      <pubDate>Mon, 22 Jun 2026 22:34:07 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/06/22/20260622-try-a-new-terminal-otty/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b0ee3f32&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b0ee3f32&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/06/1782137613-20260622-try-a-new-terminal-otty-banner.webp&#34; alt=&#34;20260622-try-a-new-terminal-otty-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b0ee3f32&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;近期尝试过的新终端工具已经够多了，基本固定下来 mac 和 Ubuntu 上以 ghostty 为主，Windows 上使用微软出的 Windows terminal。鉴于我的需求是如此简单，实际上随随便便一个 terminal 就能满足，尝试很多只是某种差生文具多吧。&lt;/p&gt;&#xA;&lt;p&gt;本来段时间内并不打算再度尝试其他的 terminal 了，但是这两天看到一个车新出的叫 otty 的工具，还是忍不住下载下来安装使用了，原因无他，这是 typora 的团队出的工具。&lt;/p&gt;&#xA;&lt;p&gt;Typora是我用了超过 10 年的写字软件，非常优雅。开始的六七年时间里一直处于测试阶段，没有收费。等终于推出了 1.0 正式版之后，收费也是一次性买断而非订阅制。尽管开始收费那会儿我写字量明显减少，但处于支持还是赶紧购买了授权。&lt;/p&gt;&#xA;&lt;p&gt;因此，听说这个团队除了个 terminal 时，当然要第一时间下载来尝试一下。&lt;/p&gt;&#xA;&lt;p&gt;响应速度相当之快，左侧纵向排列标签页，都是我比较喜欢的点。默认的主体是浅色的而非常见的 dark theme，这一点也深得我心。当做主力 terminal 完全没有问题。&lt;/p&gt;&#xA;&lt;p&gt;此外他们网站上还想了将来回支持 Windows 版本，这个也是比较令人期待的，申请加入了 waitlist。不过现在很多软件的跨平台 coming soon，经常要等待非常久的时间，甚至一直等不到，希望 Otty 团队能赶紧推出 Windows 版。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>记一个 chrome bug</title>
      <link>https://xushiqing.uk/2026/06/17/20260617-a-chrome-ime-bug/</link>
      <pubDate>Wed, 17 Jun 2026 21:26:28 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/06/17/20260617-a-chrome-ime-bug/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-6fbda50b&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-6fbda50b&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/06/1781702852-0260617-a-chrome-ime-bug-banner.webp&#34; alt=&#34;0260617-a-chrome-ime-bug-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-6fbda50b&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前段时间在公司的 Windows 电脑上使用 edge 浏览器时遇到一个 bug，在公司的在线文档里写中文时，标点符号要按两次才会上屏。切换到 chrome 试了一下没有这个问题，本能地以为又是贵司搞出来的 bug，就把默认浏览器切到 chrome。&lt;/p&gt;&#xA;&lt;p&gt;过了几天看到群里有人讲到这个 bug，说是 &lt;a href=&#34;https://issues.chromium.org/issues/521205128&#34;&gt;chrome 的 bug&lt;/a&gt;，并且已经修复了，只是在公司的推送策略之下要一个月以后才能推送已经修复该 bug 的版本，并建议用户使用金丝雀版的 chrome。&lt;/p&gt;&#xA;&lt;p&gt;看到这条消息之后我的 chrome 恰好也进行了一次自动更新，果然也产生了这个 bug。这种类型的 bug 非常 annoying，不得不按照 IT 的建议下载了一个金丝雀版。&lt;/p&gt;&#xA;&lt;p&gt;由于金丝雀版容易有各种 bug，其实我下载时是有点儿感觉不靠谱的，但是又没什么别的办法。好在用了一天下来没有遇到任何可感知的 bug，这才放下心来。唯一的问题是金丝雀版的 logo 是黄色的，余光瞄到时容易以为是什么应用弹消息了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>低价区正在成为历史</title>
      <link>https://xushiqing.uk/2026/06/15/20260615-losing-low-price-app-store/</link>
      <pubDate>Mon, 15 Jun 2026 22:35:19 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/06/15/20260615-losing-low-price-app-store/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-d8d77fac&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-d8d77fac&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/06/1781534206-20260615-losing-low-price-app-store-banner.jpeg&#34; alt=&#34;20260615-losing-low-price-app-store-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-d8d77fac&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前几天听到消息说苹果土耳其区的 ChatGPT 订阅要涨价至 999.99 里拉，考虑到现在人民币对美元的汇率因素，这个价格甚至已经高于美区的 20 美元了。据说之前已经订阅的还可以继续享受一次低价续费，往后就没有了。&lt;/p&gt;&#xA;&lt;p&gt;与此同时，土耳其区的 YouTube Premium 订阅也涨价了，居停涨了多少我没看，不过应该比 ChatGPT 的涨幅要小一些。&lt;/p&gt;&#xA;&lt;p&gt;此时我不得不行动起来，研究一下 Google AI Pro 订阅赠送的 YouTube premium lite 为何一直没有收到。研究了半天发现，当初我订阅 Google AI Pro 用的账号并非自己的主账号，而是用的家庭成员里的另一个账号来共享的订阅权益。&lt;/p&gt;&#xA;&lt;p&gt;逐渐想起来，当时有个年付 5 折的优惠，条件是当时账号里没有可用的订阅，而我的主账号那会儿已经进行了订阅，故启用了另一个账号来订阅。但是过后我就忘了此事了。&lt;/p&gt;&#xA;&lt;p&gt;研究清楚之后，去 app store 里取消了当前订阅的那个 YouTube 账号， 用送的那个 lite 版应该也是够用的，我的主要诉求就是去广告和后台播放，lite 版应该都能满足。&lt;/p&gt;&#xA;&lt;p&gt;有了 AI 订阅之后各种订阅费用真是越来越贵了，尤其是这种又贵又用不了几次，但是又不能没有的产品，没有低价区确实会比较肉痛。&lt;/p&gt;&#xA;&lt;p&gt;期待国产大模型继续发力吧，DeepSeek 当前的价格用起来还是可以的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>UPS 首次派上用场</title>
      <link>https://xushiqing.uk/2026/05/28/20260528-first-time-ups-worked/</link>
      <pubDate>Thu, 28 May 2026 20:38:15 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/28/20260528-first-time-ups-worked/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b25fb76c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b25fb76c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779971958-20260528-first-time-ups-worked-banner.webp&#34; alt=&#34;20260528-first-time-ups-worked-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b25fb76c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;今天回家后使用电脑时发现显示器不亮，看了一下原来是给显示器供电的插排经历过了断电，这次想起来今天小区里进行电梯检修，是要进行停电的，看到过停电通知只是没想到检修个电梯要把整栋楼的电都停了。&lt;/p&gt;&#xA;&lt;p&gt;打开 NAS 的软件后发现连不上，意识到停电之后关机了，看来是没有设置好 wake on lan，导致来电之后没有自动开机，于是去手动开了一下机。&lt;/p&gt;&#xA;&lt;p&gt;对于这次停电，我首先关心的是这次 UPS 有没有派上用场。之前曾经抱怨过这个 NAS 厂家的软件能力非常差，UPS 通知关机的能力没有集成在系统中也就罢了，他们基于开源软件改的那个 UPS 软件还会在没有停电的状态下发送关机指令，导致我没有办法使用那个软件。&lt;/p&gt;&#xA;&lt;p&gt;于是效果就变成了了机器虽然插在 UPS 上，但是并不能在 UPS 的电量耗尽之前实现关机。运气好的话停电时间不长，还没有耗尽电量就来电了，那就全程无需关机。&lt;/p&gt;&#xA;&lt;p&gt;运气不好的话，停电时间超长，那最终 NAS 还是会经历突然的断电停机。&lt;/p&gt;&#xA;&lt;p&gt;这个软件的问题我跟厂家反映完之后他们花了一周推出了新版本，声称解决了这个问题，但是我安装测试之后发现问题依旧，可能他们根本就没有进行测试。&lt;/p&gt;&#xA;&lt;p&gt;后来 Vibe coding 的时代来了，我想着既然官方不作为，那我自己 vibe 一个出来吧。开始动手之前发现商店里已经有人上架了一个 vibe 的产品，我想要的能力基本已经实现了。&lt;/p&gt;&#xA;&lt;p&gt;于是下载安装，手动模拟停电进行测试，大体上是可用的，就没有自己再重复造轮子了。&lt;/p&gt;&#xA;&lt;p&gt;给 NAS 重新开机之后打开 UPS 管理软件，首先发现的问题是这个软件我设置了开机自动启动的，但是它并没有真的启动。花了一段时间启动之后看了下日志，是成功对 NAS 执行了关机指令的。&lt;/p&gt;&#xA;&lt;p&gt;怎么说呢，用户随便 vibe 一个软件出来都能用，官方上架的应用却始终不能用，令人感到迷惑。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>酷态科模块化小风扇</title>
      <link>https://xushiqing.uk/2026/05/25/20260525-the-small-fan/</link>
      <pubDate>Mon, 25 May 2026 20:58:08 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/25/20260525-the-small-fan/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-88243840&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-88243840&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779713980-20260525-the-small-fan-banner.webp&#34; alt=&#34;20260525-the-small-fan-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-88243840&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;由于一直在等待更多新国标充电宝产品的上市，我近期一直没有购买充电宝，只有一块 2022 年购入的没有 3C 认证的，无法带上飞机。主要是我对这个产品的需求也不是很强烈，需要乘坐飞机的时候我基本也会带上电脑，电脑就可以作为我的充电宝了。&lt;/p&gt;&#xA;&lt;p&gt;前阵子看一个酷态科的模块化风扇的产品投放视频，对此产生了兴趣。所谓模块化就是组装的，上半部分是风扇，通过磁吸触点跟下半部分的一个 5000mAh 的移动电源连接。&lt;/p&gt;&#xA;&lt;p&gt;这个产品引起我兴趣的原因主要有两点，一是我偶尔确实会产生使用这种便携小风扇的需求，主要场景是上班在楼下等电梯时，那个电梯间非常闷热，无制冷措施。有时需要等待好几分钟，容易出汗。&lt;/p&gt;&#xA;&lt;p&gt;第二点是这个是模块化的产品，也就意味着以后可能会推出其他一些有意思的模块，甚至有可能第三方厂商会推出适配的模块，可能会产生一些有意思的玩法。&lt;/p&gt;&#xA;&lt;p&gt;因此，尽管这个风扇里的充电宝并非新国标，尽管我之前由于买到过品控不佳的酷态科充电宝（用了几次就变砖）此后一直对这个品牌敬而远之，这次看到这个产品也还是决定入一个。&lt;/p&gt;&#xA;&lt;p&gt;看到广告投放时产品还没开卖，等了几天上市之后媳妇给我下单了，今天收到货。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-fe7eaea5&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-fe7eaea5&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779714642-20260525-the-small-fan-all.webp&#34; alt=&#34;20260525-the-small-fan-all&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-fe7eaea5&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b46f8baa&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b46f8baa&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779714655-20260525-the-small-fan-front.webp&#34; alt=&#34;20260525-the-small-fan-front&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b46f8baa&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4e2229b3&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4e2229b3&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779714663-20260525-the-small-fan-top.webp&#34; alt=&#34;20260525-the-small-fan-top&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4e2229b3&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;把玩了一下，总的来说颜值尚可，作为小风扇来说噪音比较大送风面积又小，不过这也是可以预见到的，毕竟是个涡轮风扇，好处是风力比较猛。&lt;/p&gt;&#xA;&lt;p&gt;作为充电宝使用的话，5000mAh 救急还是可以的，尽管这个容量的充电宝通常可以做得更小。有了这个带 3C 认证的充电宝我就可以等待更长时间，给充电宝厂家们足够长的时间推出更多新国标型号，到时候再去购买。&lt;/p&gt;&#xA;&lt;p&gt;下一步就是期待酷态科赶紧推出更多模块来提升可玩性了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>回到 Windows Terminal</title>
      <link>https://xushiqing.uk/2026/05/21/20260521-back-to-windows-terminal/</link>
      <pubDate>Thu, 21 May 2026 21:29:05 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/21/20260521-back-to-windows-terminal/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-99e55109&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-99e55109&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779370373-20260521-back-to-windows-terminal-banner.webp&#34; alt=&#34;20260521-back-to-windows-terminal-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-99e55109&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;macOS 上的终端工具繁多，Windows 上似乎只有微软官方出品的 Windows terminal 好用一些，但在我工地的电脑上使用总感觉有点儿卡，并不清楚是电脑的问题还是这软件本身就需要优化。&lt;/p&gt;&#xA;&lt;p&gt;加上相比 macOS 上的各种终端工具们，Windows terminal 始终显得不够好看，因此我也多次尝试过寻找第三方的终端工具来使用，但始终找不到一个比 Windows Terminal 更好的。&lt;/p&gt;&#xA;&lt;p&gt;现在有了 coding agent，尝试起来成本更低了，近期又让 AI 给我推荐了几个并安装尝试，让 Claude 直接安装配置环境主题什么的一条龙，依然都是体验了一会儿就放弃。&lt;/p&gt;&#xA;&lt;p&gt;据说知名的 &lt;a href=&#34;https://github.com/ghostty-org/ghostty/discussions/2563&#34;&gt;ghostty 未来会发布 Windows 版&lt;/a&gt;，在此之前我可能不会再去尝试别的终端了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Token 降本又一波</title>
      <link>https://xushiqing.uk/2026/05/18/20260518-token-cost-down/</link>
      <pubDate>Mon, 18 May 2026 18:32:54 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/18/20260518-token-cost-down/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-917f446c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-917f446c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1779100427-20260518-token-cost-down-banner.webp&#34; alt=&#34;20260518-token-cost-down-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-917f446c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;上周公司宣布了非 coding 场景下使用 Claude code 模型会被路由到 DeepSeek V4，当时我测试了一下，只有部分任务会路由过去，并且手动切换到 sonnet 的话，还是能继续使用的。&lt;/p&gt;&#xA;&lt;p&gt;今天早上一看已经全面切换到 DeepSeek 了，手动切换模型是没用的，都会被自动路由到 DeepSeek，我也尝试了一下用 opencode ，也是同样的路由规则。&lt;/p&gt;&#xA;&lt;p&gt;不过我也有点儿好奇这个非 coding 场景是用什么判断的。开始我以为可以简单粗暴地按岗位来路由，不属于研发岗的一律路由到 DeepSeek，不过这样可能会不够精细，因为研发岗也会做非 coding 的任务。&lt;/p&gt;&#xA;&lt;p&gt;结果去群里看了一下，很多研发岗也在抱怨模型是 DeepSeek 了，速度很慢什么的。支持人员说项目根目录里有个不超过 200 行的 Claude.md，就可以正常使用 sonnet 和 opus 模型了。&lt;/p&gt;&#xA;&lt;p&gt;原来路由层是靠这个来判断的，我大概看了一下日志，路由层是用 DeepSeek V4 flash 实现的。&lt;/p&gt;&#xA;&lt;p&gt;于是在一个文件夹里设置了一个 Claude.md 文件，果然可以按手动指定的模型进行路由了。不知道是不是因为今天很多人分流到了 DeepSeek 的缘故，感觉 sonnet 的速度快了很多。&lt;/p&gt;&#xA;&lt;p&gt;目前这个路由逻辑看起来还相当简陋，还很容易绕过，不过从近期密集的cost down 动作来看，应该很快会有更精细的控制逻辑。&lt;/p&gt;&#xA;&lt;p&gt;令人欣慰的是当前对 GPT 系列模型的使用还没有做什么限制，只是群里通知了一下说 5.5 非常昂贵非必要的话建议使用 5.4。可能的原因是公司内部的工具 AI 工作流基本都是围绕 Claude 构建的，以 codex 作为主力的研发人员并不多。&lt;/p&gt;&#xA;&lt;p&gt;不过这个也不知道能持续多久。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>记一次公司的 Claude 宕机</title>
      <link>https://xushiqing.uk/2026/05/11/20260511-claude-down/</link>
      <pubDate>Mon, 11 May 2026 20:48:33 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/11/20260511-claude-down/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-fe0d00ce&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-fe0d00ce&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1778503785-20260511-claude-down-banner.webp&#34; alt=&#34;20260511-claude-down-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-fe0d00ce&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前几天上午，看到公司的 Claude 群里陆续有人报告 Claude 无法使用，并且得到了相关部门的证实，他们表示真在抢修。我那天早上一直在用 Codex，所以并没有受到影响，甚至不是看群的话都没意识到 Claude 无法使用了。&lt;/p&gt;&#xA;&lt;p&gt;在抢修期间，群里在热火朝天地讨论活儿没法干了，玩各种关于人们已经不会古法编程、没有 Claude 就完全无法工作之类的梗。想必这事儿对研发的影响确实很大，对于我们普通用户来说并没有这么严重，我相信大部分非研发人员并没有受到影响。&lt;/p&gt;&#xA;&lt;p&gt;看研发在集体玩梗，我起了好奇心想看看现在公司里 AI 生成的代码占比是多少了，找了一下内网资料，最新的一次汇报材料显示已经超过 70%。而 Claude code 是去年 2 月才发布的，5 月才升级成为现在的 coding agent 的形态，我们公司大概 10 月才开始引入推广这个工具，如果没记错的话。&lt;/p&gt;&#xA;&lt;p&gt;令人难以置信的发展速度，以至于当 Claude 突然不可用时，其效果已经不亚于断网。&lt;/p&gt;&#xA;&lt;p&gt;整个故障持续了不到两个小时后被解决了，后来通报的事故原因大致是公司分配不同员工走的供应商线路的路由节点靠一位员工的 key 来授权，而这位员工于前一天离职，导致 key 失效从而使得不可访问。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>忘记了重启试试</title>
      <link>https://xushiqing.uk/2026/05/08/20260508-forget-to-restart/</link>
      <pubDate>Fri, 08 May 2026 20:33:19 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/08/20260508-forget-to-restart/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-9ef61aee&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-9ef61aee&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1778246670-20260508-forget-to-restart-banner.webp&#34; alt=&#34;20260508-forget-to-restart-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-9ef61aee&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;今天早上去公司，电脑凌晨时段因为安装了公司统一推送的 windows 累积更新而重启了一次，进入系统之后感觉屏幕有点儿暗。&lt;/p&gt;&#xA;&lt;p&gt;调了一下亮度发现已经是 100% 了，如果是以前遇到这种情况，应该此时就会想到万能的重启试试了。&lt;/p&gt;&#xA;&lt;p&gt;但是现在首先想到的却是打开 Claude，让其帮忙查看一下什么情况。结果是查了半天什么也没查到，但是指出一个可能的原因是硬件坏了。&lt;/p&gt;&#xA;&lt;p&gt;我这台机器已经过报废年限了，硬件出问题也不是不可能，而之前申请更换电脑时已经发现新配的电脑都只能装 win11 不能 win10 所以退了回去。所以如果因为硬件坏掉不得不换新机器的话，那还蛮令人遗憾的。&lt;/p&gt;&#xA;&lt;p&gt;不过 Claude 也指出可以排查一下，比如重启时看开机画面，或者进入 BIOS 看看是不是还这么暗。&lt;/p&gt;&#xA;&lt;p&gt;看到这个我才想起来，对啊，还没有重启试试呢，这不应该是遇到问题时首先想到的解决方案吗。于是重启，果然问题消失了。&lt;/p&gt;&#xA;&lt;p&gt;回想了一下，好像自从用上 Claude，确实就产生了依赖，很少自己尝试去排查问题了。这样很方便，但像今天这种情况，明明可以先自己手动排查一下的，但是已经懒到完全不想自己排查了。&lt;/p&gt;&#xA;&lt;p&gt;正如之前在那台小主机上安装 Ubuntu 系统，也不再自己查任何问题，都是安装好 coding agent 之后让其代劳。&lt;/p&gt;&#xA;&lt;p&gt;哪天突然失去这些 coding agent 的话，大概跟停电断网差不多了。或许还是得保持一些自己排查问题的手感才好。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Apple Watch Ultra 的续航</title>
      <link>https://xushiqing.uk/2026/05/07/20260507-the-apple-watch-ultra-battery-life/</link>
      <pubDate>Thu, 07 May 2026 21:53:18 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/07/20260507-the-apple-watch-ultra-battery-life/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c43f6634&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c43f6634&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1778162222-20260507-the-apple-watch-ultra-battery-life-banner.webp&#34; alt=&#34;20260507-the-apple-watch-ultra-battery-life-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c43f6634&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;之前在购买电子表时，对于选择普通规格的 Apple watch 还是 ultra 型号有点儿犹豫不决。感觉 ultra 的表盘对于我的手腕来说显得太大了，不过犹豫良久之后，还是选择了第二代 ultra，主要是为了更大的电池。&lt;/p&gt;&#xA;&lt;p&gt;更大的电池能带来两个好处，短期来说续航比普通版本更长。长期来说，续航长意味着电池循环次数相对更少，能带来更长的电池寿命，拉长更换的周期。&lt;/p&gt;&#xA;&lt;p&gt;不过尽管续航能超过一天，我大部分时候还是会每天充电的，洗澡前摘下来充电，睡前再戴上，倒也不会觉得每天充电有多麻烦，也没有主动测试过续航到底有多长。&lt;/p&gt;&#xA;&lt;p&gt;这个假期出去玩，想着第二天就能到媳妇的住所，因此没带充电线。结果后来赶不上回上海的高铁，在宁波滞留了一晚，因此连续两个晚上没能充电。最终是第三天下午回上海的火车上，大概是快到上海时才最终电量耗尽关机的，十七点点多时我看了一下还有 1% 的电量。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-d7d4a1fe&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-d7d4a1fe&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1778163515-20260507-the-apple-watch-ultra-battery-life-1.jpeg&#34; alt=&#34;20260507-the-apple-watch-ultra-battery-life-1&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-d7d4a1fe&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;此时距离上次充电，已经超过 60 小时了，对于一款苹果家的电子表来说，这个表现还是超出预期了。&lt;/p&gt;&#xA;&lt;p&gt;目前已经使用了两年半多，看了一下电池健康度剩余 94%，按这个趋势，不出意外的话至少再用3 年不成问题，换机周期确实比较长。&lt;/p&gt;&#xA;&lt;p&gt;尽管寿命还是很难赶上 mac 和 iPad，但其使用频率都比后二者高多了，当初买 ultra 型号看起来还是比较划算的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>记一次家庭网络断网</title>
      <link>https://xushiqing.uk/2026/05/06/20260506-the-home-network-down/</link>
      <pubDate>Wed, 06 May 2026 22:13:29 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/05/06/20260506-the-home-network-down/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-ad079b50&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-ad079b50&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/05/1778076951-20260506-the-home-network-down-banner.webp&#34; alt=&#34;20260506-the-home-network-down-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-ad079b50&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;中午回家时马上注意到路由器的指示灯是红色，而不是正常情况下的绿色，这看上去像是网络坏掉了。于是打开弱电柜查看光猫，果然光纤指示灯在闪烁红灯。&lt;/p&gt;&#xA;&lt;p&gt;气氛上感觉这事儿应该是外面的什么设施坏了，跟家里的状况无关。由于中午时间非常紧迫，并没有理会这件事情，关掉了手机 WiFi 开关使用流量上网。&lt;/p&gt;&#xA;&lt;p&gt;中午这一小会儿，断网的主要影响是没法看电视了，平常吃饭时会坐在电视前面一边吃饭一边随便找个什么视频播放，这是个不好的习惯，但是很难忍住。断网算是强制戒断了，不过依然用手机后台播放电台节目来听。&lt;/p&gt;&#xA;&lt;p&gt;其次是家里有一些小电器是联网的，网络不通之后指示灯会一直闪烁，问题倒是不大毕竟也不是晚上。&lt;/p&gt;&#xA;&lt;p&gt;午休完回公司之后意识到还有一个影响，是我跑在小主机上的 local agent 没法使用了，NAS 自然也无法使用。好在这俩东西在外面使用都不是刚需，NAS 本身大部分时候我都是在局域网里才会用，而 local agent 在我这的使用场景，除了一些定时任务和临时的什么任务之外，大部分是只有我接触不到电脑时才能用到，但凡能接触到电脑我就直接用电脑上的 Codex 等工具了。&lt;/p&gt;&#xA;&lt;p&gt;下午三点多想着万一是自家网络坏了，那不报修的话岂不是一直好不了，于是打给电信客服说了一下情况，客服一查地址说是光纤断了，他们已经在维修了，预计 24 小时内能修好。&lt;/p&gt;&#xA;&lt;p&gt;这样我就放心了，在 telegram 上给 local agent 发了条消息，1.5 小时以后收到了回复，证明网络已经修好了。&lt;/p&gt;&#xA;&lt;p&gt;跟朋友说起家里断网了的事情，朋友说“咋会断网，我以为这种事故不该发生在 2026”，可见我们的好日子真的过得挺久了。在上一个住所时还经常遇到需要停电的情况，为此我还给 NAS 配置了 UPS 电源，而搬到这边来之后一次停电都没有遇到过，更别说断网。&lt;/p&gt;&#xA;&lt;p&gt;尽管我们其实一直都在经历另一种形式的断网，那就是 GFW 对网络的阻断。不过这就是另一个话题了，近期很多梯子失效，包括我用的两家也经历了一阵非常不稳定的时期，但始终没有完全失去访问外网的能力。离春夏之交的日子还有不到一个月，想必后面这段时间会更加不稳定。&lt;/p&gt;&#xA;&lt;p&gt;不能翻墙的话影响还是挺大，会失去日常使用的很多服务，尤其是 AI 服务如果用不到了那就很难受了。好在现在国产的大模型们都达到了一个不错的水准，哪天真突然连不上了，还有 DeepSeek 和 kimi 们可以用。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Token 节省</title>
      <link>https://xushiqing.uk/2026/04/28/20260428-use-less-token/</link>
      <pubDate>Tue, 28 Apr 2026 20:10:15 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/28/20260428-use-less-token/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-42a8b51d&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-42a8b51d&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1777382824-20260428-use-less-token-banner.webp&#34; alt=&#34;20260428-use-less-token-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-42a8b51d&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;之前的日记里提到过，我们公司近期开始采取各种手段限制 token 浪费行为，比如基本上只有开发紧急需求的研发才能用上 opus 4.6 模型，其他任务只能用 sonnet 等更便宜的模型。比如限制对于 MCP 的使用，检测到非白名单的 MCP 就会进行告警，并对 token 进行双倍计费等。&lt;/p&gt;&#xA;&lt;p&gt;随着 GPT 5.5 模型的发布，我自己个人在 AI 工具上的花费也必须进行良好的管控才能最大化避免浪费了。之前OpenAI 的 token 价格比 opus 便宜很多，而 5.5 发布之后价格已经超越了 opus 4.7。开始我并未意识到这个价格的变化，毕竟是订阅的 coding plan，没有很在意 API 的计费体系。&lt;/p&gt;&#xA;&lt;p&gt;然而随便折腾了一点儿小玩意儿之后，发现新模型极易触发 5h rate limit，通常来说不到一小时就能触发，而这一小时里甚至可能一个任务都没执行完。&lt;/p&gt;&#xA;&lt;p&gt;上个周末我在做一个玩具，很快就烧光了 5 小时配额，很明显如果以这个消耗速度，ChatGPT plus 订阅里包含的 token 使用量将会像 Google AI pro 订阅里包含的配额一样，几乎没什么用了。我不得不思考接下来应该怎么做，才不至于白白浪费很多钱在 token 上。&lt;/p&gt;&#xA;&lt;p&gt;其实我又那么一瞬间想着实在不行订阅 20x 的 ChatGPT 算了，不过 1s 之后就放弃了这个想法，200 刀的价格除非我能通过这东西挣钱，否则那就是在毫无意义地挥霍。&lt;/p&gt;&#xA;&lt;p&gt;首先梳理了一下当前手里已经有的 token 来源，国外的大模型御三家里我订阅了 Google 的 Gemini 和 OpenAI 的 ChatGPT plus，都是 20 刀的方案（Google 的 plan 是在打折时以半价订阅）。&lt;/p&gt;&#xA;&lt;p&gt;目前这两个 plan 里，Google 的 antigravity 几乎属于不可用，基本上半小时内就会触发限额，而这个限额触发前会显示 5 小时后重置，真正到了 5 小时，就会变成一周以后才重置了。但我并没有放弃 Gemini，因为其网页版还是可用的，并且附带原来是 2T 后来涨到了 5T 的 Google drive 空间。多年以来我一直有订阅 Google drive 2T plan 的，现在加上了 AI 价格变贵了，倒也可以接受。&lt;/p&gt;&#xA;&lt;p&gt;而 ChatGPT plus 里包含的 codex，则是用来 vibe 的主力套餐，在 GPT 5.5 这个模型的费率之下基本也不可用了。限制花费的第一步，跟公司的做法一样，限制使用高级模型。不像此前那样不太关心任务是否需要用到高级模型和更高的推理强度，默认就用最高级的模型。&lt;/p&gt;&#xA;&lt;p&gt;现在则是非必要不使用 5.5，effort 也尽量不适用 x high，自己判断一下任务难度，选个低阶的模型和更低的 effort 来做，这招效果立竿见影，消耗速度肉眼可见变慢。&lt;/p&gt;&#xA;&lt;p&gt;此外是合理搭配不同的服务商来使用，前面提到 antigravity 给的 token 量少到几乎不可用，但多少还是有一些的，在 codex 5h rate limit 之后的冷却时间里可以先用 antigravity 顶一下，而且还能用到 Claude 的模型。&lt;/p&gt;&#xA;&lt;p&gt;而在这之外，也要看备用的模型提供商了。海外御三家里的另外一家 Claude code，我当然也曾想尝试订阅，无奈封号太严重，而且需要海外手机号才能注册。尽管我其实有个手机号，但是网络环境不佳非常容易被封号，于是也就没有非要去注册了。&lt;/p&gt;&#xA;&lt;p&gt;那么自然而然地，目光要投向国内的模型厂商了。Kimi 是个不错的选择，自打 2.5 之后获得了开发者的广泛认可，而 2.6 的能力则更上一层楼。然而 Kimi 最适合的一个 plan Allegretto 每个月的费用是 199 蚊，如果加上另外两个订阅，每个月花在这上面的钱就太多了。尤其是，这 199 蚊的订阅给的 token 量应当是很足的，如果只是当个备用肯定消耗不掉多少，每天都在浪费钱的感觉想必也不好。&lt;/p&gt;&#xA;&lt;p&gt;恰逢 DeepSeek 久违地发布了他们的新一代模型 DeepSeek V4 Preview，包含 flash 和 pro 两个模型，flash 极其便宜，而 pro 限时 2.5 折， 5 月 5 日之前可以用 1/4 的价格体验 V4 Pro。DeepSeek 目前是没有 coding plan 的，都是按用量计费，这样的话比较符合我的需求，也就是在主力模型 rate limit 时临时拿来顶一下，用多少花多少钱，不会订阅一个备用模型每天不怎么用一直在浪费。&lt;/p&gt;&#xA;&lt;p&gt;于是先充了 100 块钱体验，给几台机器都配上，用 pro 模型聊了半天才花了几块钱人民币，相当便宜。尽管 5 月 5 日之后就会贵 3 倍，但作为应急使用也不会花多少钱，况且还可以用价格更低的 flash 模型，反正我的很多小需求都是用 flash 就能满足的。&lt;/p&gt;&#xA;&lt;p&gt;在我的小主机上配置好之后，还意外解决了一个以前困扰我的问题，就是海外模型在梯子断了时就不可用了。近期墙的干扰力度显著增强，很多梯子都变得极其不稳定或者干脆不可用，这也包括我自己订阅的梯子。而前几天就有一次我部署在小主机上的 claw 突然掉线了，排查下了其实是梯子的问题。&lt;/p&gt;&#xA;&lt;p&gt;此时我已经习惯了用 Agent 来处理梯子的问题，在梯子不可用时就没有 Agent 能帮我处理这个问题了，而 DeepSeek 作为国内的服务提供商不需要梯子就能正常运作，遇到这种情况正好可以拿来救场。&lt;/p&gt;&#xA;&lt;p&gt;总结一下，现在的方案是两个海外的订阅 + 国内 DeepSeek 的按量付费作为备用，可以在尽量少浪费钱的情况下满足自己的日常需求。&lt;/p&gt;&#xA;&lt;p&gt;这一行的发展日新月异，相信用不了多久我的方案也会随之改变。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>NAS 相册性能问题排查</title>
      <link>https://xushiqing.uk/2026/04/27/20260427-the-nas-photo-library-problem/</link>
      <pubDate>Mon, 27 Apr 2026 20:03:16 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/27/20260427-the-nas-photo-library-problem/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-f676bbc3&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-f676bbc3&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1777296536-20260427-the-nas-photo-library-problem-banner.webp&#34; alt=&#34;20260427-the-nas-photo-library-problem-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-f676bbc3&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;去年有一笔非常失败的消费，是购买了一台颜值不错但用起来并不好用的 NAS，除了刚收到货还没开始用时给我带来购物和折腾的欣喜之外，往后带来的都是痛苦。考虑到这台机器的价格比同类产品要高上一截，这绝对是我去年最失败的一笔消费。&lt;/p&gt;&#xA;&lt;p&gt;这台 NAS 的宣传里，说它并非一台普通的 NAS，而是一台牛逼的家庭服务器。但我是一个普通用户，要用的就是普通 NAS 的功能，最重要的自然是网盘和相册。事实上最初的手机端软件里，也是把网盘和相册这两个应用入口做很大放在首页上，只是后来改版了失去了这个方便的入口，跟其他应用混在一个入口里了。&lt;/p&gt;&#xA;&lt;p&gt;一路折腾下来，经历了无数崩溃的时刻，案例太多在此不一一列举，之后可能会写几篇来讲述遇到的各个层面的问题，本篇只说一下我排查其相册应用性能问题的过程。&lt;/p&gt;&#xA;&lt;p&gt;最初是某天我播放了一下视频，发现视频非常卡顿，几乎可以说不能正常播放，哪怕是我多年以前购买的 N1 电视盒子改造的小 NAS，也不会出现这种问题。经过在几台设备上的测试，排除了是我网络的问题之后，联系了客服群。&lt;/p&gt;&#xA;&lt;p&gt;他们的工程师安排了一次远程连线，排查问题的过程中跟他聊天我了解到，这个相册对网盘是高度依赖的，我看到的表象是相册性能垃圾，实际上是网盘那边有问题。研究了半天确定确实有问题之后，工程师回去自己研究了，之后告诉我他们已经复现了问题，并会进行软件层面的优化来解决问题。&lt;/p&gt;&#xA;&lt;p&gt;然而这一等就是小半年，我以为他们已经把这个事情给忘记了。正当我准备闲下来找他们时，客服群里突然通知我说最新的版本解决了问题，让我更新系统。怀着期待的心情我去更新了系统。&lt;/p&gt;&#xA;&lt;p&gt;不出意外的是，更新之后可以说没有任何改善，这我就很生气了，在客服群里艾特了他们老板。我说你们宣传说相册缩略图 1s 加载不出来退款不退货，现在这么久过去了，别说 1s 了，是根本就加载不出来，这机器我都买了半年多了都不能正常使用。而且随便一滑动相册，机器的 CPU 就接近满载了，如果是这样的性能，哪怕能正常使用，机器也撑不了几年。&lt;/p&gt;&#xA;&lt;p&gt;老板说一定会解决，不论是退款、换一台还是优化好软件，一定会给我个说法。他们说回去马上就优化，一周之内给我推送一个更新，就能解决问题了。然而一周，两周，三周之后都没有任何消息，第四周又在我准备联系他们时，通知我说升级一下网盘版本，这次好多了。我升级了之后发现确实有所改善，不过问题仍然存在，但我当时很忙没有时间仔细测试。等到一周之后的周末我有时间了才测试一下，就更生气了，依然是缩略图半天加载不出来，视频播放依然会卡顿，而且滑动相册时间线时依然会把 CPU 拉到接近满载。&lt;/p&gt;&#xA;&lt;p&gt;于是我说这么着吧，我申请退款吧，不想再一遍一遍给你们当测试员了。他们老板倒是也爽快，直接跟客服说这台机器确实有问题，退款吧，并且让工程师不用分析我的日志了。&lt;/p&gt;&#xA;&lt;p&gt;他们老板对问题的分析是这样的：&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;我一个月前和工程师讨论过，我们专门分析过您的机器，就是因为这个图太多了，这种图太多以后，它这个解析压力很大。如果你是安卓的话，问题不大。苹果的话，它这个专有格式，它没有一个加速库。然后这个型号又是机械盘，当你的图片特别多，机械盘读写特别频繁，然后要用CPU去解它的时候，就会压力很大。压力很大的时候，你现在看缩略图就看不到了&lt;/p&gt;&#xA;&lt;p&gt;工程师专门用了两天晚上去优化，确实这个很难&lt;/p&gt;&#xA;&lt;p&gt;主要是它还是个机械盘，机械盘在大量读写文件的时候，它的这个磁头就会频繁的动，IO就扛不住了&lt;/p&gt;&#xA;&lt;p&gt;我们下一代产品的话，这种情况基本上就消失了，因为下一代是全固态&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;我并不懂技术，但是我折腾过很多电子垃圾，我确信这台机器的性能绝对不可能解析这点图片都不行。首先大部分 NAS 都是机械盘，其次这台机器的 CPU 性能远超市面上绝大部分 NAS 的 CPU，甚至可以说数倍于普通 NAS 的 CPU。&lt;/p&gt;&#xA;&lt;p&gt;于是我花了一点时间做了两个测试，基本上证明了我的猜测。&lt;/p&gt;&#xA;&lt;p&gt;第一个测试是我把整个相册里所有的照片全部删除了，只保留了几十个 pocket 3 拍摄的视频。这样就保障了，一没有任何一张动图，二是总文件数只有几十个，数据量非常小。就在这样的情况下，滑动相册时间线依然需要花很长时间才能把视频封面的缩略图展示出来。这就证明了大量缩略图不是问题的根本。&lt;/p&gt;&#xA;&lt;p&gt;第二个测试花费的时间比较长，分为了几个步骤。&lt;/p&gt;&#xA;&lt;p&gt;首先是我重新用 NAS 自带的相册上传了整个手机的相册里的几万张照片，这些照片默认是存放在 NAS 自带的网盘里的。然后安装了 immich 这个开源相册软件，把网盘里的相册文件夹作为外部库挂载到 immich 上。immich 建库花了很长时间，大概两天把，期间 CPU 一直处于接近满载状态。建库完成后，在 immich 里浏览相册，效果已经比自带相册好很多了，但依然会有缩略图加载缓慢、CPU 持续高负荷等问题。&lt;/p&gt;&#xA;&lt;p&gt;然后，我把这个外部库删除，用 codex 写了个脚本把相册迁移到 immich 的内部库里，此时相册的存放位置就不是在 NAS 自带的网盘里了。这个迁移过程大概也花了两天时间，由于迁移的很慢，建库过程基本上能够随着迁移过程同步完成，所以迁移完后没多久建库也完成了。&lt;/p&gt;&#xA;&lt;p&gt;此时，在 immich 里浏览相册，就没有任何性能问题了，不管我已多快的速度滑动时间线或者对照片进行翻页，缩略图几乎都会瞬间加载出来，CPU 也只是极偶尔会瞬时飙到 10% 以上，但是马上就会落回到几乎没有负载的状态，CPU 温度也没啥波动。&lt;/p&gt;&#xA;&lt;p&gt;对于 live 图，在时间线上鼠标悬浮在上面就会立即进行预览播放，而长视频也不会有任何卡顿。这样的速度才符合我对一个本地局域网里的相册的性能期待。&lt;/p&gt;&#xA;&lt;p&gt;至此第二步测试已经证明了，这台机器的性能看个照片绝对不存在任何问题，问题指向了 NAS 自带的这个网盘。&lt;/p&gt;&#xA;&lt;p&gt;如此简单的测试就能发现问题，我相信厂家也是知道问题根源的。我猜他们跟我说的什么 live 图太多、机械盘 IO 瓶颈之类的，只是一种对消费者的话术罢了。&lt;/p&gt;&#xA;&lt;p&gt;很大概率是因为，他们在技术路线的决策上处于某种原因选择了相册依托于网盘的路线，这个路线其实好处挺明显的，比如用户可以直接在网盘里管理照片，方便且有掌控感，不像 immich 我并不知道照片文件放在哪里。但是又不知为何这个网盘的性能不佳，于是导致了我遇到的这种令人崩溃的问题。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>我的 Claw Agent 宕机了</title>
      <link>https://xushiqing.uk/2026/04/22/20260422-tinyclaw-down/</link>
      <pubDate>Wed, 22 Apr 2026 21:16:38 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/22/20260422-tinyclaw-down/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-9b528a06&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-9b528a06&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1776863905-20260422-tinyclaw-down-banner.webp&#34; alt=&#34;20260422-tinyclaw-down-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-9b528a06&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;昨晚有个小任务通过 telegram 丢给 claw 之后就忘了，过了一会儿想起来发现没有反应，换了个 Agent 发送消息也是没有反应，而且也没有点 reaction ，感觉事情有点儿不妙。&lt;/p&gt;&#xA;&lt;p&gt;然后看了一下 tailscale 客户端，claw 所在的那台机器已经不在线了，于是打开机箱看了一下，机器还亮着灯说明还开机，只是某种原因网络不通了，SSH 自然也连不过去了。&lt;/p&gt;&#xA;&lt;p&gt;断电拿出来接上显示器重新开机，发现是网络整个不通了，不知道是不是白天的时候远程折腾收紧公网暴露端口风险的时候搞坏了网络。虽然应该不是，因为折腾完了之后网络还是好好的。&lt;/p&gt;&#xA;&lt;p&gt;我虽然没有什么特别的事情一定要依赖这个 claw，不过突然没了之后还真有点儿不方便。比如我博客每天的题图是在这台机器上跑定时任务生成然后通过 telegram 发给我的。而工作日我也没时间解决那台机器的网络问题，只好另寻出路，暂时把 terraink 项目安装在自己电脑本地上跑定时任务了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>再遇 macOS 内存泄漏</title>
      <link>https://xushiqing.uk/2026/04/20/20260420-macos-memory-leak/</link>
      <pubDate>Mon, 20 Apr 2026 22:18:16 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/20/20260420-macos-memory-leak/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c92b066e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c92b066e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1776694875-20260420-macos-memory-leak-banner.webp&#34; alt=&#34;20260420-macos-memory-leak-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c92b066e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;用 Claude 写了个脚本把 NAS 上的照片库从 NAS 自带网盘里往 immich 自己的库里迁移，迁移过程中偶尔浏览一下，看到了之前旅游的照片，就跟 FaceTime 中的媳妇共享屏幕来看。中途媳妇接了个电话，此时我想着 immich 建库过程对 NAS 的资源消耗还是很大的，CPU 占用基本保持在 90% 以上，此时就不要再浏览照片给机器增加压力了，于是切换到了 Apple photos，等她接完电话我们在 photos 应用里继续看。&lt;/p&gt;&#xA;&lt;p&gt;看着看着 photos 突然崩溃，弹出了一个窗口显示每个应用所占的系统内存，是多少，是否还在活动等等。我的机器物理内存只有 16G，而这里显示 photos 应用占了 48G 的内存，显然果子的内存泄漏问题又出现了。&lt;/p&gt;&#xA;&lt;p&gt;这次比之前还严重，此前遇到这种情况我有时甚至还能启动截图软件截个图，启动不了的也来得及用手机拍照。然而这次几秒钟之后系统就完全卡死了，过了一会儿屏幕闪烁了一些颜色之后系统就自动重启了，内核恐慌一刚。&lt;/p&gt;&#xA;&lt;p&gt;重启之后弹出了错误报告让我选是否要发送到 Apple，然而这个错误日志的窗口也卡死了根本无法点击发送给 Apple，尝试了几次无果之后窗口自己闪退了。&lt;/p&gt;&#xA;&lt;p&gt;之后我去系统设置里看了一下操作系统版本，已经是 26.3.1 了，macOS 26 这么多个子版本过去了，还是会出现这种严重的问题，感觉也是挺厉害的，毕竟要不了多久 macOS27 都要出来了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>清理下载文件夹</title>
      <link>https://xushiqing.uk/2026/04/09/20260409-clear-downloads-folder/</link>
      <pubDate>Thu, 09 Apr 2026 20:49:16 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/09/20260409-clear-downloads-folder/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-ed790127&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-ed790127&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1775739203-20260409-clear-downloads-folder-banner.webp&#34; alt=&#34;20260409-clear-downloads-folder-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-ed790127&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;通常来说，使用电脑时我会对文件资源的管理保持一个相对较好的卫生习惯，比如桌面上不放任何东西，资料文件夹里做好分类等等。&lt;/p&gt;&#xA;&lt;p&gt;但是这次在工作电脑上，可能因为早期在熟悉工作的原因，很多已经不需要的资料没有来得及清理。尤其是「下载」这个文件夹，用了几个月几乎从来没清理过。以前我是不会在这个文件夹里留东西的，下载完有用的立马转移到对应的存储位置，没用的用完就删掉。&lt;/p&gt;&#xA;&lt;p&gt;随着积累得越多，就越难下决心进行一次清理，理性上知道里面其实没什么有用的东西，哪怕删了也能再去下载。但感性上总感觉数千个文件不看一眼就删掉，多少有点儿不合适。&lt;/p&gt;&#xA;&lt;p&gt;最近忽然想到，可以让克劳德帮我分类，分类之后再决定要不要删就简单多了。说干就干，先 cd 到下载文件夹，跟克劳德说了一下需求，一会儿功夫就分门别类放到不同的文件夹里了。&lt;/p&gt;&#xA;&lt;p&gt;哪些明显可以删掉的，比如大量的截图、软件安装包等等，就让克劳德直接删掉了。剩下的被分类为一些文件夹，进去之后大概瞄一眼就知道能不能删。最后的结果是所有的东西我都删掉了。&lt;/p&gt;&#xA;&lt;p&gt;在这这之后，我又开始保持良好的卫生习惯，用完要么挪走要么删掉，不会保留在原处使得这个文件夹最终变为一个垃圾场。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>无法同步的安检验讫章</title>
      <link>https://xushiqing.uk/2026/04/07/20260407-the-cleared-security/</link>
      <pubDate>Tue, 07 Apr 2026 21:05:16 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/07/20260407-the-cleared-security/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-62ef682a&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-62ef682a&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1775567254-20260407-the-cleared-security-banner.webp&#34; alt=&#34;20260407-the-cleared-security-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-62ef682a&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;昨天到济南机场时，忽然想起来上次在济南乘机安检时遇到的一个问题，就是航旅纵横里的那个安检验讫的章不会同步到苹果钱包里那张登机牌上，安检时被要求了两次打开航旅纵横页面查看。一次是安检前那位查证件的工作人员，一次是进去安检之后也被要求打开查看。&lt;/p&gt;&#xA;&lt;p&gt;为了避免再次遇到这样的事情，我进机场之后先去打印了一张纸质的登机牌。安检时排在我前面那个人也遇到了类似的问题。&lt;/p&gt;&#xA;&lt;p&gt;他应该是用的航司 app 或者小程序里的登机牌二维码，工作人员查看了半天之后问他有没有航旅纵横，能不能打开看一下，他说已经卸载了。于是工作人员思索片刻之后，跟他交代了一通进去之后怎么说。&lt;/p&gt;&#xA;&lt;p&gt;放行进去之后工作人员拿对讲机跟里面的人说了一下有个人没有航旅纵横，已经登记了之类的话。当时我想，还好我想起这茬了，提前打印了纸质的，果然很顺利。&lt;/p&gt;&#xA;&lt;p&gt;这个事情在我看来很奇怪，我走过的大大小小的机场也不少了，似乎只有济南这个机场出发的飞机会有这个问题。白云机场甚至只要身份证就可以，连我的电子登机牌都不用看的。我也特意观察了一下，好像我手机上值机完成，把登机牌添加到 wallet 里之后，直接就出现安检验讫而章了，根本都没有等到真的去机场安检。&lt;/p&gt;&#xA;&lt;p&gt;如果是信息化建设程度不一致的问题，同步不了那个章我可以理解，但是人家别的机场安检时只要查身份证不用看电子登机牌就行，这样对比之下我就不能理解济南为何执着于让旅客打开航旅纵横来查看这个章。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>又一个由 mactype 引发的问题</title>
      <link>https://xushiqing.uk/2026/04/02/20260402-the-mactype-issue/</link>
      <pubDate>Thu, 02 Apr 2026 20:43:02 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/04/02/20260402-the-mactype-issue/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e1d65204&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e1d65204&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1775136307-20260402-the-mactype-issue-banner.webp&#34; alt=&#34;20260402-the-mactype-issue-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e1d65204&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我在工地的电脑遇到遇到一个非常诡异的问题，在任何 terminal 里运行 Python 命令，或别的什么命令，会卡住几秒钟后不输出任何内容，为此我曾经重新配置过很多环境。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-90580586&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-90580586&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/04/1775136337-20260402-the-mactype-issue-powershell.PNG&#34; alt=&#34;20260402-the-mactype-issue-powershell&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-90580586&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;后来有了 Claude，我也花过半天时间让 Claude 帮我排查处理，在浪费了一上午时间以及大量 token 之后，也没有找到原因，Claude 只是不停地生成自己这次解决了，但实际没有解决。&lt;/p&gt;&#xA;&lt;p&gt;最近又需要运行 Python 时想起这个问题，又让 Codex 帮忙查一下，查了半天也是一样的，只是声称解决了问题，但实际并没有。突然我在流式输出的内容里看到了一个熟悉的软件名字，mactype。&lt;/p&gt;&#xA;&lt;p&gt;于是赶紧终止了任务，手动退出 mactype，之后果然就可以正常运行 Python 了。&lt;/p&gt;&#xA;&lt;p&gt;这个软件，很多年前使用时，也导引起过电脑上的一个非常离奇的问题，也是查了很久无果，后来可能是偶然间在网上看到了有同样问题的案例，才找到病因。当当时具体是什么问题，已经完全不记得了。&lt;/p&gt;&#xA;&lt;p&gt;没想到这么多年过去了，又再次被该软件引起的问题困扰到。&lt;/p&gt;&#xA;&lt;p&gt;感觉现在仍然在使用这个软件的人已经不多了。如果不是我这份工作又重新开始使用 Windows，我也好多年没把 Windows 作为主力机使用了，因此自然也用不上这个软件。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>注销了一个微信公众号</title>
      <link>https://xushiqing.uk/2026/03/31/20260331-deactivate-wechat-official-account/</link>
      <pubDate>Tue, 31 Mar 2026 20:53:40 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/31/20260331-deactivate-wechat-official-account/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-923a7cc9&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-923a7cc9&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1774964125-20260331-deactivate-wechat-official-account-banner.webp&#34; alt=&#34;20260331-deactivate-wechat-official-account-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-923a7cc9&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我名下有一个微信公众号，已经注册了很多年了，不过账号现在是空的。今天翻出来，登录后台看了一下，然后申请了注销。&lt;/p&gt;&#xA;&lt;p&gt;这个账号应该是在 2017 年左右注册的，当时是处于工作上的需要，老板让我注册一个账号去，去以外卖员群体的视角来写文章，建立跟他们的关系。&lt;/p&gt;&#xA;&lt;p&gt;那会儿我为了能够真的以他们的视角来写，还注册成为了闪送员，去闵行参加了现场培训，并打算真的去送货来积累经验。之所以注册的是闪送员而不是外卖员，大约是因为送外卖需要的初始装备太多了，而送闪送的话我其实也不需要箱子和电瓶车，只需要骑自己的摩托车，专挑那种非食物类型的小件，装在背包里就能送。&lt;/p&gt;&#xA;&lt;p&gt;但我也只送了两单，赚了可能有一百多块钱吧。其中一单忘了是什么了，另一单是一个眼镜，从我住的三林附近送到远在金山还是哪里的一个工厂里，总之非常远。送完这两单，我发现我的心态非常不适合干这种活儿，因为我会着急，在这种情况下怕自己在路上会出危险，就没有再送了。&lt;/p&gt;&#xA;&lt;p&gt;那个公众号当时推送过几篇文章，很快就停止了。原因非常简单，如果这件事情要认真做的话，其实是需要花费大量的精力的，哪怕全职去做一个人都不一定够。而我并不能全职去做，这只是老板想尝试的一个 side project 而已。&lt;/p&gt;&#xA;&lt;p&gt;另外的问题是，如果要以外卖员群体的视角去写内容，我必须深入他们做田野调查，甚至真的每天去送几单才行，然后要逐渐渗透进他们的各种微信或者 qq 群里，大量观察、大量建立沟通、取得信任。不然是很难持续写出真实的内容来的。&lt;/p&gt;&#xA;&lt;p&gt;后来这个账号就沉寂了很多年，甚至忘记了其存在。&lt;/p&gt;&#xA;&lt;p&gt;去年想起来了，翻出来改了一下名字，但是当时没想好写什么内容，改完名字就又放下了。&lt;/p&gt;&#xA;&lt;p&gt;今天再次想起来，干脆注销了，如果哪天又想写了并琢磨出来写哪方面的内容，就新注册一个吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Vibe 一个语音输入法</title>
      <link>https://xushiqing.uk/2026/03/30/20260330-coding-a-voice-input/</link>
      <pubDate>Mon, 30 Mar 2026 20:10:42 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/30/20260330-coding-a-voice-input/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-eca59a95&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-eca59a95&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1774876391-20260330-coding-a-voice-input-banner.jpeg&#34; alt=&#34;20260330-coding-a-voice-input-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-eca59a95&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;看到著名开发者 @yetong 发布了一条推文，说开源一下自己的语音输入法。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;zh&#34; dir=&#34;ltr&#34;&gt;大家好，开源一下我的语音输入法：&lt;a href=&#34;https://t.co/wfOSBIRjwG&#34;&gt;https://t.co/wfOSBIRjwG&lt;/a&gt;&lt;/p&gt;&amp;mdash; yetone (@yetone) &lt;a href=&#34;https://x.com/yetone/status/2038183163579810024?ref_src=twsrc%5Etfw&#34;&gt;March 29, 2026&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;点进去一看，原来是开源的如何用一句提示词驱动 Claude 去写一个语音输入法，开始提示词只有一句，后来又更新了比较完整的提示词，以及在 PR 中添加了自己用那句提示词开发出语音输入法的完整过程的 terminal 录屏。很幽默的一种行为。&lt;/p&gt;&#xA;&lt;p&gt;于是我想试试看真的只用那一句提示词丢给 coding agent 去做，会发生什么。分别丢给了 antigravity 里的 Claude opus 4.6 和 Codex 去做，然后我就做饭去了。&lt;/p&gt;&#xA;&lt;p&gt;吃完饭回来一看都做好了，看了一下 Claude 做的那个似乎更靠谱一些的样子，于是让其帮我启动，但是没有 whisper API key，我有 groq 的 key，于是让 Claude 帮忙改成支持 groq，一分钟就改好了。去 groq 后台创建了一个新的 key，添加进去，启动。&lt;/p&gt;&#xA;&lt;p&gt;居然真的能用。&lt;/p&gt;&#xA;&lt;p&gt;这时候看到 yetong 那个仓库里更新了更为完整的提示词，于是用新的提示词重新去做。antigravity 里的 Claude 额度太少，写了一会儿就 rate limit 了，只好切换成 Gemini 模型，最后没做出来。&lt;/p&gt;&#xA;&lt;p&gt;与此同时用新的提示词让 Codex 也重新做一遍，做出来的东西更像一个产品了，按下 Fn 键时会有一个语音胶囊出现。但可能是没有配置 key 的原因，并没有录得声音。&lt;/p&gt;&#xA;&lt;p&gt;这真是一个神奇的时代。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>领取并归还了新电脑</title>
      <link>https://xushiqing.uk/2026/03/27/20260327-return-the-new-laptop/</link>
      <pubDate>Fri, 27 Mar 2026 20:57:34 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/27/20260327-return-the-new-laptop/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-a457b447&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-a457b447&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1774619197-20260327-return-the-new-laptop-banner.webp&#34; alt=&#34;20260327-return-the-new-laptop-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-a457b447&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;经过数月的漫长等待，最终工地的物资管理员告诉我，说厂家发了缺货通知，我下单的机器最早要 5 月份才能到货，而此时距离我提出更换新电脑的申请已经过去 3 个月了。&lt;/p&gt;&#xA;&lt;p&gt;当初有两种型号可供我选择，一台是 thinkpad，一台是联想昭阳。如果选择联想，当时就能有货，而 thinkpad 要等一个多月。尽管如今 thinkpad 已经大不如前，但我当然还是会选择 thinkpad，联想昭阳算什么东西，等一个多月就等吧，也没什么所谓。&lt;/p&gt;&#xA;&lt;p&gt;然而现在等了三个月之后告诉我还要等俩月，问我要不要换，想了一下觉得换就换吧，应该也差不了些许，毕竟都是入门级产品，再烂能烂到哪里去。&lt;/p&gt;&#xA;&lt;p&gt;于是重新提交了单据，很快就审批通过，并拿到了新机器。说实话从 A 面来看的话，这台机器是比我申请的 thinkpad 好看并且有质感的，但 C 面的质感就极其不讲究了，甚至我这新拿到手的机器，Capslock 键居然已经翘了个角险些脱落。&lt;/p&gt;&#xA;&lt;p&gt;拿到手开机一看装的居然是 win11 系统，赶紧连上网报了个 IT 工单，说想装 win10，IT 的答复是新机器已经不支持 win10 了。我并不相信这个说法，还是跟对方磨了一会儿，但对方坚持不可能装 win10，我也就放弃了。&lt;/p&gt;&#xA;&lt;p&gt;另外遇到了连不上内网的问题，第二天又报了个工单，远程折腾半天没解决，让我拿去重装系统了，装好之后拿回来做一些迁移准备工作。装了几个软件之后，我发现这机器不仅仅是不能用 win10 这么简单，可以说除了新之外相比我正在使用的这台 2021 年生产的机器没有任何优势。&lt;/p&gt;&#xA;&lt;p&gt;首先是外观问题，A 面虽然看着比入门级的 thinkpad 要好看，但是这黑色金属材质收集指纹的能力过于强悍了，这样看着就不是很美观了。然后是卡顿加发热，尽管 CPU 比我那台老机器新了好几代，甚至都改名叫 ultra 5 了，但我啥都没干只是装了几个软件的情况下，D 面就开始烫手了。相比之下，那台老的 T14 处理器是 i7 的，按说应该更热，但实际并没有。这里面很难说有多大比例是 win11 系统在拖后腿，又有多大比例是公司的安全软件吃了太多资源，但是既然没法安装 win10 了，也就无从验证。&lt;/p&gt;&#xA;&lt;p&gt;此外还有一个问题，就是安全策略得到了强化，屏蔽了很多网站。比如 WPS 无法访问，尽管可以从内网的软件中心里下载到，但是没法登录就没法用自己花钱购买的会员功能了。虽然其实问题也不大，当初主要是冲着 AI 功能买的，现在也几乎用不上 WPS 内置的 AI 功能了。但我还是担心有没有什么其他日常使用的网站也被屏蔽，比如GitHub 就也被屏蔽了，这对日常工作多少还是会产生一些影响。&lt;/p&gt;&#xA;&lt;p&gt;权衡一番之后，我问物资管理员能不能把新机器退给你，我继续使用旧的吧。物资管理员说可以倒是可以，但是以后再想用新的就得重新提单了。我说那没关系啊，为了 win10 系统我可以一直坚持使用到这台电脑不能再使用为止。于是他告诉我如何操作，我提交了物资归还单据，他把我老电脑的报废申请单驳回。尽管这台电脑是 2021 年生产的，但现在用起来说实话也不觉得很卡，毕竟我自己买的 2018 年生产的 thinkpad 目前运行 win10 依然很流畅。&lt;/p&gt;&#xA;&lt;p&gt;前几天微软还发布了一篇文章叫做 &lt;a href=&#34;https://blogs.windows.com/windows-insider/2026/03/20/our-commitment-to-windows-quality/&#34;&gt;Our commitment to Windows quality&lt;/a&gt;，对过去几年 windows 11 系统的问题进行了一次反思和改正的承诺。推友卡洛斯称之为「关于 COVID-19 以来 Windows 的若干历史问题的决议」，非常精准的吐槽。&lt;/p&gt;&#xA;&lt;p&gt;但我并不能认为发了这篇文章之后 win11 系统就能有什么改善，起码短时间内不会有改善，而且我们公司用的是 LTSC 版本，已经比零售版本轻量很多了，依然是又热又卡。&lt;/p&gt;&#xA;&lt;p&gt;总之，在接下来的时间里继续跟这台老 thinkpad 并肩作战吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>停止使用 notion 备份本站</title>
      <link>https://xushiqing.uk/2026/03/24/20260324-forget-notion/</link>
      <pubDate>Tue, 24 Mar 2026 20:53:25 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/24/20260324-forget-notion/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-6e5ce564&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-6e5ce564&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1774362937-20260324-forget-notion-banner.webp&#34; alt=&#34;20260324-forget-notion-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-6e5ce564&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;之前我在本地写完并推送每天的更新之后，会在复制一份到 notion 里，起到一个备份的作用。事实上最初并非为了备份，因为我其实没有备份的需求。&lt;/p&gt;&#xA;&lt;p&gt;这个站点是个 hugo 框架的，源码托管在 GitHub 上，然后每次 push 之后后自动构建到 Cloudflare Pages。因此已经至少有电脑本地和 GitHub 两份副本了。&lt;/p&gt;&#xA;&lt;p&gt;最开始之所以用 notion，是我有在其他电脑上写的需求，尝试过用 flomo 来写了之后同步，但是操作不是很方便，所以 flomo 仅仅用来临时记录一些想法。&lt;/p&gt;&#xA;&lt;p&gt;也尝试过用 WPS 的云文档，但写作体验也一般。如果可以用 Obsidian 的话，当然是很好的，但是我没有合适的同步方案，也没必要为了这个事情订阅官方的同步服务，最终还是选择了我一直嫌弃慢的 notion。除了同步，还有一个需要用在线文档来管理的原因是写草稿，开始我并不知道 hugo 可以通过 draft 开关来控制草稿，后来知道了也没有使用这个特性。&lt;/p&gt;&#xA;&lt;p&gt;原因之一是觉得写 true 和 false 来控制也还是有点儿麻烦，之二是有时候我只有一个想法时不确定自己会在啥时候真的写，因此写文件名时不方便加日期，而不加日期的话看起来又会比较乱。&lt;/p&gt;&#xA;&lt;p&gt;开始也只是写一些草稿的，后来感觉既然都在这写了，不如好好组织一下，于是按日期设置了文件夹，管理起来也确实非常方便，就逐渐形成了在 notion 里保留一份副本的习惯，并持续了很长一段时间。&lt;/p&gt;&#xA;&lt;p&gt;近期我才突然意识到，我实际上已经很少在其他电脑上写了，因此用 notion 同步的需求几乎可以说没有了。组织不成形的草稿的需求也没有了，正如前面所说，只有一个想法的时候我会有 flomo 记录，而不是直接写成一个草稿文件。此外我发现在 Obsidian 里是可以通过鼠标点击的方式来控制草稿开关的，不用像 typora 里那样手写 true 和 false。但是每天写完之后还要粘贴一份过去的习惯却保留了下来，属实有点儿麻烦。&lt;/p&gt;&#xA;&lt;p&gt;恰逢前几天我换成了自己搭的梯子之后无法访问 notion，干脆就没有进行这无用的备份，后面就再也没打开过了。要改变一个习惯，或者说丢弃也一个习惯在这里更为准确，还是挺容易的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>微信开放了 claw 接口，但我并没有使用</title>
      <link>https://xushiqing.uk/2026/03/23/20260323-the-wechat-clawbot/</link>
      <pubDate>Mon, 23 Mar 2026 20:01:36 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/23/20260323-the-wechat-clawbot/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4365fdb4&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4365fdb4&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1774269667-20260323-the-wechat-clawbot-banner.webp&#34; alt=&#34;20260323-the-wechat-clawbot-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4365fdb4&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;突如其来地，微信也开放了 claw like 产品的接口，可以在微信中使用 openclaw 及同类产品了。微信如此封闭的一个产品，在其十几年的产品生命周期里，就我所知这是第一次做这种程度的开放，以前只看到开放了元宝和微信输入法插件，那都是腾讯自家的产品。&lt;/p&gt;&#xA;&lt;p&gt;不过我并不感兴趣，微信毕竟不是面向工作设计的通讯工具，本来对于工作场景支持得就很差，能跟 claw like 工具对话这个场景本身也没啥用，所以一开始我就并不打算尝试。&lt;/p&gt;&#xA;&lt;p&gt;但架不住朋友在群里艾特我，于是还是稍微研究了一下。我能想到的唯一有用的场景是把这个机器人拉到一个群里，让朋友们跟我一起用。犹豫我在 telegram 上的联系人非常少，偶尔说话的群就只有一个，虽然也把我的机器人拉进去了，但是大家对这个并不感兴趣，因此也没人使用。&lt;/p&gt;&#xA;&lt;p&gt;而微信就不同了，几乎人人都在用，但不是人人都在自己的机器上部署了 claw like 工具。&lt;/p&gt;&#xA;&lt;p&gt;然后就发现，不出意外地，微信这个 bot 并不支持群聊。&lt;/p&gt;&#xA;&lt;p&gt;以及，这个功能处在灰度中，并不是所有的人都能看到入口。我有两个微信账号，分别在两个地区的 app store 里更新至最新版之后，都没有出现这个入口。那就太好了，不用折腾了，等迭代几个版本更成熟了之后再尝试也不迟。甚至一直不尝试也没啥。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>随机地图</title>
      <link>https://xushiqing.uk/2026/03/12/20260312-random-map/</link>
      <pubDate>Thu, 12 Mar 2026 20:21:19 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/12/20260312-random-map/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-ed27ecea&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-ed27ecea&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1773321754-20260312-random-map-banner.webp&#34; alt=&#34;20260312-random-map-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-ed27ecea&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;两三天前开始用一个地图生成的项目，每天定时随机推送一张地图给我，我拿来做博客的封面图。第一天收到的是云南曲靖，第二天收到的则是青州，一个离我家很近，但我从来没去过的地方。&lt;/p&gt;&#xA;&lt;p&gt;虽然没什么用，但看到是青州还是感觉有点儿小惊喜，算法的随机就是这么巧。&lt;/p&gt;&#xA;&lt;p&gt;我跟 Faye 说巧了啊，这地方离我家很近，结果她说那挺好的，要不要我改改随机的算法后面多推送一些离你家近的。我连忙拒绝，说保持随机就好了。&lt;/p&gt;&#xA;&lt;p&gt;AI 还是服务意识太强了。&lt;/p&gt;&#xA;&lt;p&gt;昨天推送的是一个我从没听说过的印度城市，like 我查了一下这个地方，依然没有任何印象，应该是从未听说过。这也是我所期望达到的效果，就是给我一些我从未听说过的地方。冥冥之中也算某种巧合。&lt;/p&gt;&#xA;&lt;p&gt;今天推送的又是一个没听说过的地方，科特迪瓦的 Daloa 市。虽然这个城市没听说过，但科特迪瓦这个国家名字总感觉有点儿眼熟，查了一下之后终于想起来以前在小约翰可汗的视频里讲过。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>变更封面图来源</title>
      <link>https://xushiqing.uk/2026/03/09/20260309-change-cover-image-source/</link>
      <pubDate>Mon, 09 Mar 2026 20:05:31 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/09/20260309-change-cover-image-source/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c3bf5a83&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c3bf5a83&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1773058506-20260309-change-cover-image-source-banner.jpeg&#34; alt=&#34;20260309-change-cover-image-source-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c3bf5a83&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;昨天在伊洪的 telegram 频道里看到了&lt;a href=&#34;https://github.com/yihong0618/terraink_py/tree/main&#34;&gt;这个项目&lt;/a&gt;，能够自动生成非常漂亮的城市地图。点进原始的项目版本一看原来不知道什么时候已经 star 过了，不过并没有部署。现在既然有台部署着 Faye（我的龙虾的名字）的小主机，顺便部署一个的时机就非常成熟了。&lt;/p&gt;&#xA;&lt;p&gt;于是直接把项目链接丢给 Faye 让它部署好，生成了一张发现中文字符无法显示，就让他直接改。&lt;/p&gt;&#xA;&lt;p&gt;生成了几个城市的地图之后我在想，虽然很好看，但是玩几下也就失去兴趣了，而且我知道的城市也就那么几个。不过在调整图像生成参数的过程中，我忽然想到，可以弄个定时任务，每天随机给我推一个城市的地图，这不就解决了我地理知识匮乏的问题了。&lt;/p&gt;&#xA;&lt;p&gt;于是就跟 Faye 说了一下诉求，每天 19:42 随机生成一张地图推送给我，要求一年内不能重样。当然，考虑到 claw like 类产品当前升级一下就很可能挂掉的现状，能运行几天还不好说。&lt;/p&gt;&#xA;&lt;p&gt;后来又想到，我每天写这个博客，都需要去 unsplash 上找一张图下载，下载回来还得压缩、改名字，这整个流程还颇为复杂。而且，大部分时候找图片，多少还是希望能跟主题有点儿关系，就更麻烦了。于是很多时候我也放弃了封面图要跟内容有关的想法，会直接放一张自己拍的照片什么的。&lt;/p&gt;&#xA;&lt;p&gt;既然已经不在意图片与内容是否有关，那我可不可以拿每天推送给我的这张地图来做封面图呢？&lt;/p&gt;&#xA;&lt;p&gt;应该会是个很有意思的事情，可以想象未来会逐渐发现一些从来没有听说过的地名，获取哪天会挑一个地方去旅游也说不定呢。&lt;/p&gt;&#xA;&lt;p&gt;今天第一天定时推送，收到的是云南曲靖市。应该是个美丽的地方。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>再次订阅了ChatGPT</title>
      <link>https://xushiqing.uk/2026/03/08/20260308-subscribe-chatgpt-again/</link>
      <pubDate>Sun, 08 Mar 2026 20:53:33 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/08/20260308-subscribe-chatgpt-again/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e1589df2&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e1589df2&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1772974849-20260308-subscribe-chatgpt-again-banner.webp&#34; alt=&#34;20260308-subscribe-chatgpt-again-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e1589df2&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;大概三年前，我曾经写过一篇记录如何艰难地购买 OpenAI 的 API 的文章 &lt;a href=&#34;https://xushiqing.uk/2023/06/17/20230617-pay-for-openai/&#34;&gt;OpenAI 付款记&lt;/a&gt;。大致过程是，尝试了多条路径后，经过Google pay 和 PayPal 的两层套壳，才向 OpenAI 隐藏了自己的信用卡来自中国大陆的事实，然后才得以付款。&lt;/p&gt;&#xA;&lt;p&gt;后续还有一些折腾没有记录了，比如通过微软的 Azure 云服务来购买 API，付款没有任何限制。以及，通过 iOS 的 app store 来订阅了 ChatGPT plus。&lt;/p&gt;&#xA;&lt;p&gt;我对上次订阅其实没什么印象了，足以说明虽然我订阅了，但是并没有怎么使用过。而且，我的账号后来被封了，不知道是因为 ChatGPT 的使用还是 API 的使用泄露我来自中国大陆的事情，总之自打那以后我就几乎没怎么用过 OpenAI 的服务了。哪怕是在公司里，可以无障碍用上市面上几乎所有主流的大模型服务，我大部分时间也是在用 Gemini。&lt;/p&gt;&#xA;&lt;p&gt;而近期不论在公司，还是自己业余时间，都有大量时间花在了 coding agent 上面，逐渐发现还是需要codex。Google 的 antigravity 额度非常抠门（尤其上封号又解封之后），随便干点儿什么事情就 rate limit 了。而且 Google 对于 quota 的计算方式非常黑盒，用户从前台根本看不见剩余量，只能通过一些第三方插件了大致监控。&lt;/p&gt;&#xA;&lt;p&gt;中转站我也用过，价格非常便宜，但是这种来路不明的东西，对其安全性和背后模型的真实性总归有点儿担忧。&lt;/p&gt;&#xA;&lt;p&gt;在公司里我会同时使用 Claude 和 Codex，这两者都能用上最新最强的模型，当前是 opus 4.6 和 gpt-5.3-Codex，这两者的能力对我来说都是极为过剩的。不过由于 opus 太贵，似乎下周开始公司就不给随便用了，要关联具体的 Jira 单号才能用，而我并不是研发岗位，暂时是告别这个模型了，以后可能会以 codex 为主。&lt;/p&gt;&#xA;&lt;p&gt;自己个人订阅的话，Codex 也是比 Claude 便宜的，尽管基础套餐价格都是一样的，但给的量似乎差挺多，另外就是 Claude 更难订阅一些。想用上 codex，只要在 iOS 里订阅 ChatGPT 即可，但是 Claude 上来就需要手机号，而且 Google voice 这种虚拟号是不行的，中国大陆的手机号则更不行。毕竟这家公司的老板对中国的敌意如此之大。&lt;/p&gt;&#xA;&lt;p&gt;没想到再次订阅 ChatGPT 时，还是费了不少劲。&lt;/p&gt;&#xA;&lt;p&gt;这次倒没有在付款上遭遇什么困难，然而付完款后提示我这个 Apple ID 绑定了另一个账号，然后我思来想去以前也只有一个账号啊，登录之后发现账号被封了，这才隐约想起来是有被封号这回事的。当时封的时候应该也没有发送什么邮件，或许可能有吧，总之我翻收件箱也没翻到。&lt;/p&gt;&#xA;&lt;p&gt;结果就是一边练习客服让他们给我解绑之前的账号，一边向 Apple 申请退款，一边还得注册一个新的 Apple ID 用来重新订阅。&lt;/p&gt;&#xA;&lt;p&gt;为何不等客服给操作解绑之后直接绑定一个新账户呢，因为作为一家 AI 大模型公司，可以想见他们的客服AI 化比例是极高的，尽管我成功让 AI 客服把我的工单转交给了人工客服，但是等待周期不一定，而且也不一定会帮我操作。&lt;/p&gt;&#xA;&lt;p&gt;因此直接注册一个新的是最合理的方案。&lt;/p&gt;&#xA;&lt;p&gt;总的来说，几年过去了，中国用户要用上外国这些大模型，还是困难重重。我这还没订阅上 Claude，听说 Claude 封号是家常便饭了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>疯狂的龙虾</title>
      <link>https://xushiqing.uk/2026/03/07/20260307-crazy-claw/</link>
      <pubDate>Sat, 07 Mar 2026 22:32:04 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/07/20260307-crazy-claw/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-67f2931d&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-67f2931d&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1772894153-20260307-crazy-claw-banner.webp&#34; alt=&#34;20260307-crazy-claw-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-67f2931d&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;近期大众关于 AI Agent 的 FOMO 情绪，或者说热情里，我觉得最疯的一件事情是公司开始研究在员工工作的电脑上安装 claw like 产品。具体是 openclaw 还是别的什么，我还不清楚，小白鼠只有 200 位，我没有进入那个白鼠群。&lt;/p&gt;&#xA;&lt;p&gt;这件事情的疯癫之处在于，不是公司主动要研究，而是一些员工要求的。&lt;/p&gt;&#xA;&lt;p&gt;事情是这样的，自打 openclaw 流行起来之后，公司的 AI 应用群里，隔三差五会有人问公司的电脑能不能装龙虾。开始没有人理会这种问题，我看到这种问题第一反应是，你都能用 Claude Code 了，按理说不至于是个纯小白，怎么一点儿安全意识都没有呢，这种问题还需要问的吗。&lt;/p&gt;&#xA;&lt;p&gt;但是，问的人越来越多，几周时间内我至少看到六七个问的。&lt;/p&gt;&#xA;&lt;p&gt;终于有一天，智能化平台的人出来说，我们会带着大家的诉求去跟 IT 安全团队谈一下，然后过了一两天，突然就在其中一个 AI 应用群里发了个龙虾测试群的二维码，限量 200 人，迅速加满了。&lt;/p&gt;&#xA;&lt;p&gt;抛开安全不谈，反正是在公司安全团队的控制之下的一场实验，应该出不了什么问题。&lt;/p&gt;&#xA;&lt;p&gt;我不能理解的是，上班工作还不够吗，下了班甚至去吃饭的时候，也要用手机遥控自己的电脑来干活儿吗？&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>为小主机制作一份黄金镜像</title>
      <link>https://xushiqing.uk/2026/03/06/20260306-golden-image-for-minipc/</link>
      <pubDate>Fri, 06 Mar 2026 22:23:01 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/06/20260306-golden-image-for-minipc/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-27535bf9&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-27535bf9&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1772807148-20260306-golden-image-for-minipc-banner.webp&#34; alt=&#34;20260306-golden-image-for-minipc-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-27535bf9&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;昨天重装 Ubuntu 系统之后，考虑到未来很可能又会经常需要有重装系统的需求，每次重新配置环境过于浪费时间，是时候制作一份配置好环境的黄金镜像了。&lt;/p&gt;&#xA;&lt;p&gt;其实所谓配置好环境，对我来说也就是装好 ibus 输入法并导入我的 RIME 配置、配置好梯子、配置好 codex cli，剩下的交给 codex 重新安装就好了。毕竟系统、软件啥的随时都在更新，倒也没必要打包一堆软件到镜像里。只要弄好这几样，新系统一装好就可以指挥 codex 干活儿了。&lt;/p&gt;&#xA;&lt;p&gt;恰好有个 64G 的 U 盘适合用来干这个活儿，让 codex 给分好区，4G 拿来做启动引导，剩下的用来装系统镜像。搁以前的话这些活儿都得自己边查资料边干，劳心劳力，现在只有动动嘴就能干完。&lt;/p&gt;&#xA;&lt;p&gt;用的是 clonezilla 这个软件，中文名再生龙，一开始看成了再生成，还以为是个动词。重启进入 clonezilla 的引导界面之后就纯手工操作了，这时候不可能用 codex 代为操作。不过跟以前相比还是容易许多。&lt;/p&gt;&#xA;&lt;p&gt;看到任何一个界面不知道如何选择时，就拍照丢给 Gemini，然后根据 Gemini 的推荐来选。尽管整个过程还是花了不少时间，不过非常顺利，不像以前折腾这种东西很可能哪一步搞错了就需要从头来过。&lt;/p&gt;&#xA;&lt;p&gt;折腾变容易了，也没那么有意思了。镜像做完之后我连测试都没有做，就把 U 盘收起来了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>又重装了一次 Ubuntu</title>
      <link>https://xushiqing.uk/2026/03/05/20260305-reinstall-ubuntu/</link>
      <pubDate>Thu, 05 Mar 2026 21:36:49 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/03/05/20260305-reinstall-ubuntu/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-63af133d&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-63af133d&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/03/1772718569-20260305-reinstall-ubuntu-banner.webp&#34; alt=&#34;20260305-reinstall-ubuntu-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-63af133d&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;跑 tinyclaw 的那台小主机已经塞在弱电箱里稳定运行了一段时间，中间出现过又把 tinyclaw 升级挂了之类的情况，通过 SSH 连过去打开 codex 维修一下就好了。&lt;/p&gt;&#xA;&lt;p&gt;这两天发现 tinyclaw 又用不了，本来以为 SSH 连过去一下让 codex 做诊断维修一条龙又是轻松搞定的事情，结果连上发现是 codex 本身的环境不知道为何坏掉了，同时 opencode 也用不了。折腾一大轮排除了 key 的问题之后，感觉大概率是网络问题。&lt;/p&gt;&#xA;&lt;p&gt;这台机器的梯子网络是让 codex 给配置的，根本没有图形界面，靠我自己是完全修不了的。而 codex 和 opencode 又都罢工了，留给我的选择几乎就只剩下重装系统了。但是重装太麻烦，我还是试探性地又装了个 Claude code，结果只是更加验证了这是网络问题。&lt;/p&gt;&#xA;&lt;p&gt;只好从给小主机关机，从弱电箱里掏出来插上显示器准备重装系统。&lt;/p&gt;&#xA;&lt;p&gt;尽管近些年已经不怎么重装系统了，但是我还是认为自己对这个事情轻车熟路，结果插上启动盘重启了无数次，始终无法在 boot 界面找到 U 盘。4 个 USB 口全尝试了，启动盘也试了 Ubuntu 和 Windows 两个，都不行，甚至掏出好久没用过的笔记本验证了一下这两个启动盘是不是可用。&lt;/p&gt;&#xA;&lt;p&gt;最后不得不问了一下 Gemini，结果两轮对话就解决了问题。根因是 Ubuntu 重启时的硬件初始化机制。从 Ubuntu 系统直接选择“重启”时，有时候主板的 USB 控制器没有完全断电重置，导致 BIOS 在自检时跳过了 USB 接口的扫描。&lt;/p&gt;&#xA;&lt;p&gt;解决方法也很简单，关机之后拔掉电源线等个十几秒，主板电容彻底放电之后重新插上电源，再重启时进入 boot 选择界面就能看到启动 U 盘了。&lt;/p&gt;&#xA;&lt;p&gt;不得不说，重装系统无数次，这个问题还是第一次遇到。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>更改 npmrc 默认软件源地址</title>
      <link>https://xushiqing.uk/2026/02/27/20260227-change-npmrc-registry-default/</link>
      <pubDate>Fri, 27 Feb 2026 21:09:53 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/27/20260227-change-npmrc-registry-default/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-f18a30a6&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-f18a30a6&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1772197866-20260227-change-npmrc-registry-default-banner.webp&#34; alt=&#34;20260227-change-npmrc-registry-default-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-f18a30a6&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;近期在公司比较频繁使用 codex cli，这个软件的更新相对来说比较频繁，经常一打开就提示有版本更新。然而我多次遇到更新完了还会提示需要更新的情况，为了不每次都被这个提示打扰，之后选择直到下个版本前不再提示。&lt;/p&gt;&#xA;&lt;p&gt;这样尽管进入软件后还是会看到一个版本更新的提示，但不是弹出式的提示了，不会打断工作流。 不过更新还是必要的，尤其是这两天公司上了最新的5.3之后，不更新的话在模型切换列表里看不到5.3。&lt;/p&gt;&#xA;&lt;p&gt;尽管后来我通过更改配置文件的方式用上了5.3，但列表里依然没有。况且，对于这种早期版本、频繁更新的软件，不更新会错过很多东西。&lt;/p&gt;&#xA;&lt;p&gt;于是稍微调查了一下，原因是工地电脑的.npmrc里把 registry 指向了一个公司内部的地址，而这个源里的软件同步官方源并不及时。 解决方案有两种，一种是把它指向官方源，一种是需要更新codex时手动指定官方源。&lt;/p&gt;&#xA;&lt;p&gt;我回想了一下，并不记得自己是啥是啥设置了这个源，甚至可能不是自己设置的，而是由公司IT统一配置的。因此选择了手动临时指定官方源。成功更新到最新版，模型切换列表里果然就出现5.3-codex了。&lt;/p&gt;&#xA;&lt;p&gt;后来再调整 Claude Code 的 status bar 显示内容时才发现软件源被换掉的原因，就是之前安装这个公司内部的 status bar 导致的换了源。于是把 registry 地址改回默认了，以后更新 codex cli 应当不会再遇到这种问题。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>小龙虾蓝绿部署</title>
      <link>https://xushiqing.uk/2026/02/26/20260226-tinyclaw-blue-green-deployment/</link>
      <pubDate>Thu, 26 Feb 2026 20:49:42 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/26/20260226-tinyclaw-blue-green-deployment/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-658212aa&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-658212aa&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1772112106-20260226-tinyclaw-blue-green-deployment-banner.webp&#34; alt=&#34;20260226-tinyclaw-blue-green-deployment-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-658212aa&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;之前听重轻老师折腾 openclaw 那期节目里，从吴涛老师口中得知了金丝雀发布这个概念，查了一下，其实更接近蓝绿部署或者 AB 分区升级。&lt;/p&gt;&#xA;&lt;p&gt;我自己折腾 tinyclaw 过程中，也摸索出了这套方法。让 tinyclaw 自己升级自己时，先对比远端仓库与本地仓库的区别，让它做好备份回滚的计划，以及要确保我自己再本地改的哪些设置在更新版本后依然可用。&lt;/p&gt;&#xA;&lt;p&gt;为了确保它不改坏自己，让它先起一套新的环境，在新环境里验证完了功能完备之后再迁移过去，把老环境删掉。&lt;/p&gt;&#xA;&lt;p&gt;想起很多年前折腾 Android 刷机时，也经常用到这套策略，只是当时是厂商给的策略自己只是刷进去，现在是为了保证可用性自己要这么做。&lt;/p&gt;&#xA;&lt;p&gt;以及观察到 chrome 浏览器升级大概也是走的这套策略，所以才会经常提示点击重启即可完成升级，实际上就是后台已经升级好了。&lt;/p&gt;&#xA;&lt;p&gt;这些自己折腾摸索出来的经验，估计很快也就没用了，现在 Claude 也推出自己的手机远程遥控编程功能，可以想见以后所有模型厂商都会支持，大概不再需要自己折腾 Local Agent 了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>由重轻老师关于 openclaw 的播客想到的</title>
      <link>https://xushiqing.uk/2026/02/24/20260224-zhongqing-on-openclaw/</link>
      <pubDate>Tue, 24 Feb 2026 21:12:52 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/24/20260224-zhongqing-on-openclaw/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b67c183b&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b67c183b&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1771938911-20260224-zhongqing-on-openclaw-banner.webp&#34; alt=&#34;20260224-zhongqing-on-openclaw-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b67c183b&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前两天听了一期重轻老师的播客&lt;a href=&#34;https://shishufeng.com/episode/openclaw&#34;&gt;OpenClaw 所预示的&lt;/a&gt;,嘉宾是内核恐慌的吴涛老师，两位都是我很喜欢的主播。话题如标题所言，是谈论近期大火的 openclaw 的。&lt;/p&gt;&#xA;&lt;p&gt;重轻老师上来就说遭老罪了。当时还没有听到具体过程，但先感同身受了，因为我也感觉遭了很多罪。听到实际内容时，发现他遭的罪比我还要多一些，并且程度更深。&lt;/p&gt;&#xA;&lt;p&gt;首先是一个我没遇到的问题，就是他首次安装时没有参考官网上的步骤，而是直接去问大模型，导致首次安装就遇到很多困难，耽误了四五个小时。&lt;/p&gt;&#xA;&lt;p&gt;接下来是龙虾会把自己给改坏的问题，我也很容易遇到，不过重轻老师遇到这类问题的方法是重装一次，并因此反复重装了十几二十次。而我没怎么重装过，基本上是让opencode cli去给修，多数情况下能很快定位到问题并修好。&lt;/p&gt;&#xA;&lt;p&gt;在折腾这东西的过程中，我感觉遭过的最大的罪，就是龙虾一直在承诺进度，但是始终没有真正的推进，一轮一轮问下来让人感觉心力交瘁，仿佛在跟客服交流。&lt;/p&gt;&#xA;&lt;p&gt;也正是由于这个问题，在折腾了两天之后我直接删除了龙虾，并重新装了一个更简洁的，叫 tinyclaw，这个软件没有发生那种一直程度进度但实际空转的场景。&lt;/p&gt;&#xA;&lt;p&gt;听到重轻老师也遇到这个问题之后，我意识到这不是个案，可能是背后有什么统一的机制。于是下载了两个项目的源码，分别用Claude Code 和 Codex去阅读源码，并给出分析报告。&lt;/p&gt;&#xA;&lt;p&gt;最终拼凑出的结论大概是这样。&lt;/p&gt;&#xA;&lt;h3 id=&#34;openclaw可插话的持久会话模式&#34;&gt;openclaw：可插话的持久会话模式&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;每次用户消息触发一次 LLM 调用。&lt;/li&gt;&#xA;&lt;li&gt;历史会话被加载，支持流式输出。&lt;/li&gt;&#xA;&lt;li&gt;允许“执行中插话”，新的用户消息可被注入到正在生成的 LLM 流里。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;优点：&lt;/strong&gt; 交互体验强、响应实时、像“活着的助理”。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;风险：&lt;/strong&gt; 执行期被追问时，如果没有结构化状态，模型不得不“凭语感回答进度”，容易失真。&lt;/p&gt;&#xA;&lt;h3 id=&#34;tinyclaw一次性子进程&#34;&gt;tinyclaw：一次性子进程&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;每次消息触发一次独立 CLI 子进程。&lt;/li&gt;&#xA;&lt;li&gt;子进程执行完毕后一次性返回结果。&lt;/li&gt;&#xA;&lt;li&gt;执行期间用户消息排队，无法打断当前任务。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;优点：&lt;/strong&gt; 输出更“事实化”，不容易在执行中被迫“报进度”。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;风险：&lt;/strong&gt; 实时性弱、用户感知等待更长。&lt;/p&gt;&#xA;&lt;p&gt;而至于进度回复会失真的原因也很简单，系统设计让它需要在没有事实来源时被迫回答问题，而模型被训练成了一个说话看起来有帮助的样子。因此就造成了重轻老师所说的那种，大厂中层里话术的情况。&lt;/p&gt;&#xA;&lt;p&gt;两位老师拿 openclaw 现在的状态跟 stable diffusion 1.5 发布时的样子做类比，目前还太早期了，需要用户学习的东西太多，门槛太高， 现在什么都不做等18个月的话，会获得好用的多的产品，也不会失去什么。&lt;/p&gt;&#xA;&lt;p&gt;毕竟，现在大多数人不需要一个运行在本地的AI Agent，包括我。&lt;/p&gt;&#xA;&lt;p&gt;不过我大概也还是会继续使用，毕竟那台小主机闲着也是闲着，拿来瞎折腾一下也算某种价值。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>久违地折腾一下家庭网络</title>
      <link>https://xushiqing.uk/2026/02/21/20260221-messing-with-homelab/</link>
      <pubDate>Sat, 21 Feb 2026 20:55:25 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/21/20260221-messing-with-homelab/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-dabd2b34&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-dabd2b34&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1771678655-20260221-messing-with-homelab-banner.webp&#34; alt=&#34;20260221-messing-with-homelab-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-dabd2b34&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;很多年没动过家里的媒体服务器的设置了，印象里应该是当年还在上海时就在一个 N1 盒子里刷了一个叫“小钢炮”的系统，多年以来没有进行过任何更新。那会儿用的电视盒子应该还是亚马逊的 fire stick，主要就是看看 YouTube 以及用 kodi 看局域网里的内容。&lt;/p&gt;&#xA;&lt;p&gt;那会儿的网络方案是用了两台 N1 盒子，一台刷了 openwrt 做旁路由，一台刷了小钢炮系统插上硬盘用作下载机。&lt;/p&gt;&#xA;&lt;p&gt;我应该一共拥有过 3 台N1 盒子，另外的两台送人了，现在只剩一台做媒体服务器。原因是我发现其实通过旁路由让全家网络都能翻墙，会失去一些灵活性。当时我用这套方案主要基于两点需求，一个是用 fire stick 看 YouTube，另一个是用 sonos 播放音乐。但现在这两个需求都没有了，Apple TV 可以自己翻墙，sonos 也以播放本地音乐为主了。&lt;/p&gt;&#xA;&lt;p&gt;去年买了一台 NAS 之后，又有点儿路由器层面翻墙的需求了，但是一直懒得折腾。尽管理论上来说，我可以让 NAS 接过媒体服务器的任务，让 N1 重回旁路由的身份。然而一直在犯懒，媒体服务器已经用了这么多年，没什么问题也不想动，并且重新刷机对现在的我来说也有点儿折腾不动了。&lt;/p&gt;&#xA;&lt;p&gt;直到最近把我那台小主机里安装好 codex 和一个龙虾工具，折腾这些事情不太需要自己动手了。今天先把一块闲置的 500G SATA SSD 插上做试验。这块硬盘是当年买来插在我的二手惠普工作站上当系统盘用的，后来机器扔掉了，只留下了硬盘。自打机器扔掉后这块硬盘一直闲置。&lt;/p&gt;&#xA;&lt;p&gt;插上之后就开 codex 的 yolo 模式，让它给设置好 SMB，安装好带 web 控制台的 AriaNg 以及 file manager，就能开始用了。&lt;/p&gt;&#xA;&lt;p&gt;开始遇到了一点问题，局域网内通过 SMB 访问这块硬盘速度非常慢，搁以前遇到这种问题，经常需要排查很长时间，最终可能查不出结果只能重装系统什么的。现在只要告诉 codex 遇到了什么问题，它就能自己去排查并修复。&lt;/p&gt;&#xA;&lt;p&gt;在 infuse 里添加了这块网络硬盘，先跑一阵试试，哪天有空了再把 N1 上插的那两块硬盘迁移过来。终于可以突破之前在 N1 上时的 USB2.0 速率限制了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Antigravity 帐户被封</title>
      <link>https://xushiqing.uk/2026/02/13/20260213-antigravity-got-blocked/</link>
      <pubDate>Fri, 13 Feb 2026 22:04:59 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/13/20260213-antigravity-got-blocked/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c6afe581&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c6afe581&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770992179-20260213-antigravity-got-blocked-banner.webp&#34; alt=&#34;20260213-antigravity-got-blocked-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c6afe581&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;一觉醒来发现我的 Google antigravity 账号被登出了，再尝试登录的话，网页端还是会显示认证成功，不过软件端会提示&lt;code&gt;There was an unexpected issue setting up your account. Please try again later.&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;该来的还是会来，尽管我在 openclaw 里基本不怎么用 antigravity 的额度，大部分时候还是在用 Claude 或者 OpenAI 的 key，但确实也是用过，大约是被抓包了。&lt;/p&gt;&#xA;&lt;p&gt;结果下午看到新闻，说是 Google 开始了大面积的封号，不只是我的被封了。&lt;/p&gt;&#xA;&lt;p&gt;看到讨论说是可以写申诉邮件，于是尝试写了一封，希望能尽快解封。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>再次开始使用 RIME</title>
      <link>https://xushiqing.uk/2026/02/11/20260211-use-rime-again/</link>
      <pubDate>Wed, 11 Feb 2026 23:29:51 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/11/20260211-use-rime-again/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-bc067b08&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-bc067b08&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770908347-20260211-use-rime-again-banner.webp&#34; alt=&#34;20260211-use-rime-again-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-bc067b08&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;自打去年全面切换到微信输入法以来，已经好几个月没有用过 RIME 输入法引擎驱动的输入法了，不管是 macOS还是 Windows，现在也早已经失去了自己折腾配置输入法的动力和体力。&lt;/p&gt;&#xA;&lt;p&gt;最近因为试用各种 Local Agent 的关系，又开始大量使用 Ubuntu 系统。安装中文版 Ubuntu 之后是自带了一个中文输入法的，但是那个输入法非常难用，极为影响打字速度。&lt;/p&gt;&#xA;&lt;p&gt;但开始我也忍了，因为想起很多年前配置输入法的时候真的非常花费时间，想着我可能用 Ubuntu 桌面的量并不会很大，就没有想着自己去安装好用的输入法。&lt;/p&gt;&#xA;&lt;p&gt;直到今天我安装了 Codex，开了 yolo 模式帮我干了一些活儿之后，突然想起来，输入法也可以让它帮我配置啊。于是欣然下载了 ibus，把自己以前 macOS 上的鼠须管输入法的备份文件传输过来，直接让 Codex 帮我迁移配置文件。几分钟之后它就迁移好了，词库全都在，唯一的问题就是候选词栏是竖排的。&lt;/p&gt;&#xA;&lt;p&gt;于是让它改成横排，大概花了一两分钟说改好了，我实际测试还是竖排，又让它改了一次。整个过程不超过 15 分钟就配置好了，包含了我下载安装测试的时间。&lt;/p&gt;&#xA;&lt;p&gt;安装好只好，我甚至让它又帮我安装了另一款由 RIME 驱动的输入法fcitx5，体验了一下。整个安装过程我完全不知道发生了什么，总之就是能用了。&lt;/p&gt;&#xA;&lt;p&gt;之后用了一会儿，不得不说，就打字手感来说，还是 RIME 最舒服，难怪我能用十几年，并且换了微信输入法这么久之后还是时不时会怀念 RIME 的打字手感。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>对 openclaw 的一些吐槽</title>
      <link>https://xushiqing.uk/2026/02/09/20260209-broken-claw/</link>
      <pubDate>Mon, 09 Feb 2026 21:11:33 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/09/20260209-broken-claw/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-57c8d4dd&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-57c8d4dd&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770644595-20260209-broken-claw-banner.webp&#34; alt=&#34;20260209-broken-claw-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-57c8d4dd&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前段时间 openclaw 这个产品突然在网上火起了，本来我并不是很感兴趣。一是我并没有想到这个产品能给我带来什么帮助，另一个是项目的二 logo 长得太丑了，像病毒一样。现在直接用 AI 出个好看一点儿logo 非常容易，设计成这种风格显示是故意的，我就更没什么好感了。&lt;/p&gt;&#xA;&lt;p&gt;但恰巧我有台小主机大部分时间在闲置，因为以前购买它时的使用场景不存在了。想着反正闲着也是闲着，不如装上这东西看看是什么情况，至少批判性使用一下。于是就在上面装了个 Ubuntu 的虚拟机在里面玩，结果没想到几乎把周末两天时间都搭进去了。&lt;br&gt;&#xA;配置好 API Key 之后让它自己设置自己的想法是好的，但实际执行中只要它自己一设置自己，就会把自己搞挂掉，而且会犯非常低级的错误。&lt;br&gt;&#xA;要不是搭配着 opencode 来检查维修，可以说我根本配置不好。而且我尤其不能理解的是，我在 openclaw 里用的是 Kimi Coding  K2.5 的 API，opencode 里用的是里面提供的免费的 Kimi，可以说是同一个模型，甚至可能 free 版的那个更弱一些。&lt;br&gt;&#xA;但是同一个问题，openclaw 自己去弄就会搞坏，而 opencode 里的 kimi 经常看一下就知道什么问题。&lt;/p&gt;&#xA;&lt;p&gt;最离谱的是到了晚上，已经设置的差不多了之后，我把显示器都拔了。后来准备通过 telegram bot 新弄一个 Agent 出来，用 telegram 发任务，让它自己写好配置文件。这个需求是如此简单以至于我觉得根本不可能出错，结果说完任务之后就失联了。&lt;br&gt;&#xA;于是不得不再插上显示器看看什么情况，发现 gateway 一直在循环重启。让 opencode 检查一下，马上就找出原因并修好了。然后我让 openclaw 自己总结犯了什么错误，总结了好几条，都没总结到点子上。&lt;/p&gt;&#xA;&lt;p&gt;于是我再次新建一个 Agent 让它尝试，果然又搞挂了，主 Agent 再次失联，症状跟之前一样。好在前一个被修好的 Agent 没有跟着一起挂，但让它检查问题、修复，好几轮都不行。最终我实在看不下去了，把之前 opencode 指出的问题告诉它，让它基于这个修，这才勉强修好主 Agent，但是新的那个还是不能用。&lt;br&gt;&#xA;最终是让修好的主 Agent 照着第一个次 Agent 的配置原封不动抄一遍，才把第二个给设置好。&lt;/p&gt;&#xA;&lt;p&gt;当然，说了这么多不好，这都是实现的问题，以后应该能慢慢更新到更好用，这个产品的思路也是不错的，等它或者类似的产品慢慢发展吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>周末流水账0208</title>
      <link>https://xushiqing.uk/2026/02/08/20260208-the-laundry-list-of-weekends/</link>
      <pubDate>Sun, 08 Feb 2026 22:42:02 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/08/20260208-the-laundry-list-of-weekends/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-307d6802&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-307d6802&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770561912-20260208-the-laundry-list-of-weekends-banner.webp&#34; alt=&#34;20260208-the-laundry-list-of-weekends-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-307d6802&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前一天晚上十一点多就睡了，于是早上不到 8 点就起床，到客厅沙发上赖了一会儿床之后就起来继续折腾 AI 了。&lt;/p&gt;&#xA;&lt;p&gt;一上午时间，感觉前一天配置的那个虚拟机救不过来了，干脆重新装了个环境，又花了很多时间总算配置好了 slack 和 telegram bot 与之的交互。&lt;/p&gt;&#xA;&lt;p&gt;总之一天啥正事儿也没干，而且由于天气阴沉没出太阳，也没有出门溜达的兴致。媳妇在家打了一天野炊，俩人都宅了一天。&lt;/p&gt;&#xA;&lt;p&gt;这几天折腾下来，对时间流逝的感觉都非常不准了，经常感觉上一次看时间是一会儿之前，结果已经是一个小时之前了。&lt;/p&gt;&#xA;&lt;p&gt;以后还是要克制一下这种行为。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>批量重命名博客源文件</title>
      <link>https://xushiqing.uk/2026/02/06/20260206-rename-blog-filename/</link>
      <pubDate>Fri, 06 Feb 2026 19:41:23 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/06/20260206-rename-blog-filename/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-7baa6dbe&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-7baa6dbe&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770382732-20260206-rename-blog-filename-banner.webp&#34; alt=&#34;20260206-rename-blog-filename-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-7baa6dbe&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;在决定每天更新这个博客之后，为了以后方便管理，我在每篇博客的文件名前面都加上了当天的日期，而此前的文件是没有这个命名习惯的，大概有四十多篇的样子。&lt;/p&gt;&#xA;&lt;p&gt;但我一直懒得统一修改，因为有几十个文件，挨个修改的话还是比较麻烦。前几天忽然想到，现在有了 AI，岂不是一句话就能改完的事情。&lt;/p&gt;&#xA;&lt;p&gt;于是把存放博客文件的文件夹复制了一份出来，用 antigravity 打开那个文件夹，让 Gemini 帮我读取文件里的元数据，并将元数据里的日期信息加到文件名称前面，参考其他有日期的文件。&lt;/p&gt;&#xA;&lt;p&gt;Gemini 写了个简单的脚本，执行完之后自己删除了脚本，并且没有动 &lt;a href=&#34;http://index.md&#34;&gt;index.md&lt;/a&gt; 这个文件。全程不超过三分钟。我又让Gemini给我把修改过的文件按时间顺序列了个表格出来，对比了一下数量，随机抽查了几篇看内容有没有被改，就验收通过了。&lt;/p&gt;&#xA;&lt;p&gt;之后把 hugo 本地目录里那些没有日期前缀的文件删掉，替换成重命名之后的文章，总计 46 篇。然后 hugo server 了一下检查效果，没有任何问题。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# 以下代码由 Claude  生成&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;os&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;re&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&lt;/span&gt;&lt;span&gt;directory &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;/Users/username/filepath&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&lt;/span&gt;&lt;span&gt;date_pattern &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;compile(&lt;span style=&#34;color:#4070a0&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;^date:&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;s*[&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;]&lt;span style=&#34;&#34;&gt;?&lt;/span&gt;(\\d{&lt;span style=&#34;color:#40a070&#34;&gt;4&lt;/span&gt;})&lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt;(\\d{&lt;span style=&#34;color:#40a070&#34;&gt;2&lt;/span&gt;})&lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt;(\\d{&lt;span style=&#34;color:#40a070&#34;&gt;2&lt;/span&gt;})&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;, re.MULTILINE)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&lt;/span&gt;&lt;span&gt;files_to_rename &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;for&lt;/span&gt; filename &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;sorted&lt;/span&gt;(os&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;listdir(directory)):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;11&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; filename &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;_index.md&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;or&lt;/span&gt; filename &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;.DS_Store&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;or&lt;/span&gt; filename&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;startswith(&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;rename_script&amp;#34;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;12&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;13&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; re&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;match&lt;/span&gt;(&lt;span style=&#34;color:#4070a0&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;d&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{8}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;-&amp;#34;&lt;/span&gt;, filename):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;14&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;15&lt;/span&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;16&lt;/span&gt;&lt;span&gt;    filepath &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;join(directory, filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;17&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;not&lt;/span&gt; os&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;isfile(filepath):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;18&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;19&lt;/span&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;20&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;21&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;with&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;open&lt;/span&gt;(filepath, &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;, encoding&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;22&lt;/span&gt;&lt;span&gt;            content &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; f&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;read()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;23&lt;/span&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;24&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;match&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; date_pattern&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;search(content)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;25&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;match&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;26&lt;/span&gt;&lt;span&gt;            year, month, day &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;match&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;groups()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;27&lt;/span&gt;&lt;span&gt;            new_prefix &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;year&lt;span style=&#34;color:#70a0d0&#34;&gt;}{&lt;/span&gt;month&lt;span style=&#34;color:#70a0d0&#34;&gt;}{&lt;/span&gt;day&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;28&lt;/span&gt;&lt;span&gt;            new_filename &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;new_prefix&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;filename&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;29&lt;/span&gt;&lt;span&gt;            files_to_rename&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;append((filename, new_filename))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;30&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;31&lt;/span&gt;&lt;span&gt;            &lt;span style=&#34;color:#007020&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#4070a0&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;Skipping &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;filename&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;: No date found&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;32&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;33&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#4070a0&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;Error reading &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;filename&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;: &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;e&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;34&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;35&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#4070a0&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;Found &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#007020&#34;&gt;len&lt;/span&gt;(files_to_rename)&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt; files to rename.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;36&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;for&lt;/span&gt; old, new &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;in&lt;/span&gt; files_to_rename:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;37&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#4070a0&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;Renaming &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;old&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt; -&amp;gt; &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;{&lt;/span&gt;new&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;38&lt;/span&gt;&lt;span&gt;    os&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;rename(os&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;join(directory, old), os&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;join(directory, new))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;39&lt;/span&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;40&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# 以上代码由 Claude 生成&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;就这段代码，看起来很简单，不过在有 AI coding agents之前让我自己去学会的话，应该也是很难的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>在博客页面中嵌入 YouTube 视频</title>
      <link>https://xushiqing.uk/2026/02/04/20260204-hugo-short-code-for-youtube-video/</link>
      <pubDate>Wed, 04 Feb 2026 21:19:20 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/04/20260204-hugo-short-code-for-youtube-video/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-2bda1a4b&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-2bda1a4b&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770211799-20260204-hugo-short-code-for-youtube-video-banner.webp&#34; alt=&#34;20260204-hugo-short-code-for-youtube-video-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-2bda1a4b&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;写昨天那篇日更文章时，首次有了在文章中插入 YouTube 视频的需求，之前并没有研究过 hugo 是否支持直接在页面上嵌入，但直觉上感觉应该是可以的。&lt;/p&gt;&#xA;&lt;p&gt;于是我直接复制了那个视频的 iframe 嵌入代码。我是在 typora 写的，复制进去之后倒是产生了一个播放器窗口，但是提示错误153，并不能正确播放。本地预览时这个窗口也完全不会显示在页面上。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-f1c693a5&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-f1c693a5&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770211837-20260204-hugo-short-code-for-youtube-video-error.png&#34; alt=&#34;20260204-hugo-short-code-for-youtube-video-error&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-f1c693a5&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;这才去查了一下，原来 hugo 支持一种叫做段代码的特性，具体来说，并不需要完整的Embed Code。只需要像下面这样就可以了：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{&amp;lt; youtube 8MqbdX6n6yY &amp;gt;}}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;另外还可以开启隐私增强模式，防止 YouTube 在用户点击播放视频之前，就往他们的浏览器里植入追踪 cookie，能够更好地保护读者隐私。全局开启的方法是在 hugo.tmol 了加上下面这段配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;[privacy]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;  [privacy&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;youtube]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;    privacyEnhanced &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;顺便也看了一下 Twitter 的，短代码的样子大概长这样。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{&amp;lt; x user=&amp;#34;xxx&amp;#34; id=&amp;#34;xxxxxx&amp;#34;&amp;gt;}}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例如下：&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Xperia Concept &lt;a href=&#34;https://t.co/NQMTfjBaJm&#34;&gt;pic.twitter.com/NQMTfjBaJm&lt;/a&gt;&lt;/p&gt;&amp;mdash; Kote (@kotecinho) &lt;a href=&#34;https://x.com/kotecinho/status/2019039004042424517?ref_src=twsrc%5Etfw&#34;&gt;February 4, 2026&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;当然，隐私增强也要加上。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[privacy]&#xA;  [privacy.x]&#xA;    enableDNT = true  # 开启“请勿追踪”请求&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;总的来说是一些用到的次数非常少，对我来说可有可无的功能。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Trying Coding Agents</title>
      <link>https://xushiqing.uk/2026/02/02/20260202-trying-coding-agents/</link>
      <pubDate>Mon, 02 Feb 2026 21:32:39 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/02/02/20260202-trying-coding-agents/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-8c4cd8a4&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-8c4cd8a4&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770039386-20260202-trying-coding-agents-banner.webp&#34; alt=&#34;20260202-trying-coding-agents-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-8c4cd8a4&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;自打申请到了公司的 Claude 以及在自己电脑上用上 Google 的 antigravity，这几天开始密集尝试拿来做一些小东西，也会用不同的模型反复去做同一件事情来对比效果。&lt;/p&gt;&#xA;&lt;p&gt;试了 Claude、Gemini，也用了 opencode 里提供的刚发布的免费的 Kimi 2.5，没有用上 Codex。对于改这个博客的前端样式这件对大模型非常轻松的任务来说，这几个模型都能轻松应对。而且由于我本来就是个模仿 bearblog 这种极简样式的主题，要做的只是更简化而已，实现起来就更容易了。&lt;/p&gt;&#xA;&lt;p&gt;体验下来，Kimi 2.5 是速度最快的，有时候我只是想讨论一下方案，说完一句话去上个厕所，回来发现它已经改完一轮了。&lt;/p&gt;&#xA;&lt;p&gt;在公司电脑上尝试的事情则没有这么顺利，我想做一个工具用来处理日常会用的一些数据，按理说非常简单，以前就是几十行 Python 代码而已，并且也把以前的代码都喂给大模型了。这回只是想做个前端界面，实现手工上传文件，分析后吐出结果，并且在前端界面上也做一些对结果的展示而已。&lt;/p&gt;&#xA;&lt;p&gt;然而用 Claude 尝试了好几次，做出来的东西始终不能正常运行，每次反馈给模型哪里有问题，都会回答找到问题的原因了然后去改，但是改来改去没有什么用，耽误了好多时间。以至于我都以为是不是我电脑 Python 环境有问题，毕竟之前确实是有一些问题。&lt;/p&gt;&#xA;&lt;p&gt;今天来回折腾这几轮，尽管没拿到令人满意的结果，但却烧掉了 20 刀的 token，不得不说 Claude 是很贵的。相比之下 Google antigravity 里的 Gemini 3 Pro 则量大管饱多了，自己用的话先烧完里面的 Claude 的配额，再烧 Gemini，应该说是足够用的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-3b56870f&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-3b56870f&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/02/1770039433-20260202-trying-coding-agents-claude-usage.webp&#34; alt=&#34;20260202-trying-coding-agents-claude-usage&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-3b56870f&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;有意思的是在 Twitter 上经常看到有人争论到底 Claude 厉害还是 Codex 牛逼，然而几乎没看到有人提到 Gemini 什么事，可能是 Gemini 在编码方面跟另外两个选手还有不小的差距吧。然而对于我来说，完全看不出来，用 Gemini 用就已经增强了不少自己的能力了。&lt;/p&gt;&#xA;&lt;p&gt;此外今天在 Claude 群里看到有人问 Codex 的问题，于是在知识库里搜索了一下，原来我司也是提供 Codex 的，跟 Claude 共享同一个 API Key 以及 50 刀的额度。于是欣然安装，然而配置好环境变量之后运行总是提示 401 错误。&lt;/p&gt;&#xA;&lt;p&gt;找到一个文档，关于 Codex 在 opencode 上的使用，于是把配置文件弄好，模型选择 GPT-5.2-Codex 之后，返回了完整的错误信息，而不是简单的 401。原来并不想 Claude 一样开放给全员，Codex 是仅限一部分人使用的。不过我也没有去问管理员能不能申请。&lt;/p&gt;&#xA;&lt;p&gt;经过这一番尝试，感觉未来确实可以做一些以前不敢想的事情，尽管过程依然会很艰难，毕竟实在是不懂编程，没法 Review AI 的输出。&lt;/p&gt;&#xA;&lt;p&gt;工作中目前还没有想到多少可以用 agents 来解决的事情，大部分是依靠 chat 就能解决。这方面也要多思考思考。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>用上了公司的 Claude Code</title>
      <link>https://xushiqing.uk/2026/01/30/20260130-try-claude-code/</link>
      <pubDate>Fri, 30 Jan 2026 21:37:14 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/30/20260130-try-claude-code/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-1f6ccb4d&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-1f6ccb4d&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1769781642-20260130-try-claude-code-banner.webp&#34; alt=&#34;20260130-try-claude-code-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-1f6ccb4d&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;自打前两天在公司电脑上用 antigravity 出发了风控之后，开始看能不能申请公司采购的那些AI 工具。找了一些内部文档，看到 Claude 是面向全部开发者，而公司自研了一个 agent 是面向全员的。&lt;/p&gt;&#xA;&lt;p&gt;于是先申请了自研工具，走了两个 OA 审批流程才申请下来，一个是那个工具的网站访问权限，一个是登录时需要用到的公司的一个效率平台的权限。花了两天时间审批通过之后，下载试用了。&lt;/p&gt;&#xA;&lt;p&gt;目前只能作为 IDE 的插件使用，我选择了 vscode 插件。有多种模型可以选择，包括 GPT、Claude 和 Gemini，以及国内的 DeepSeek 等。尝试先用 Claude 写了个小 demo，虽然不太好用，但是能用。&lt;/p&gt;&#xA;&lt;p&gt;试用过程中发现我电脑上的 Python 环境大有问题，花了很长时间、尝试了很多办法，最终通过微软官方的一个车小工具卸载干净了。重装之后这个插件就怎么都用不了。&lt;/p&gt;&#xA;&lt;p&gt;于是试探性的去问了一下 Claude Code 的管理员，非研发人员能不能用，结果对方直接给了我一个 API Key。这个故事告诉我们，多问一句没坏处，有时候文档上写的规则并不一定是死的。&lt;/p&gt;&#xA;&lt;p&gt;我以为拿到 API Key 之后很快就能用上，没想到折腾了两个多小时才最终配置成功。首先是环境变量的问题，由于 Claude Code 不能在中国大陆使用，所以安装启动之后是会报错的。在环境变量里配置了好几条记录，设置了公司的代理，API Key 也在环境变量是设置好，安装了公司的根证书，等等一系列操作下来，始终提示中国地区不能使用。&lt;/p&gt;&#xA;&lt;p&gt;同时安装了 vscode 插件，插件上始终提示的错误是在 git bash 的环境变量路径里找不到对应的程序。解决这个问题的过程中，发现一个奇怪的现象。&lt;/p&gt;&#xA;&lt;p&gt;如果我是在 terminal 中启动 Claude，则提示就是中国地区不能使用，尽管我已经配置好了环境变量并设置好了公司代理。&lt;/p&gt;&#xA;&lt;p&gt;如果是在 git bash 中启动，则提示就是 bash 的环境变量找不到。&lt;/p&gt;&#xA;&lt;p&gt;最终通过多轮跟网页版 Claude 的聊天，先在 bash 中解决了问题，之后 terminal 中的也解决了。至于具体问题，由于是在公司内网的版本上聊的，我现在也有点儿记不住了，就不详述了。反正这个问题也只会在公司电脑上出现，自己电脑上面对的是完全不痛的问题。&lt;/p&gt;&#xA;&lt;p&gt;写了几个小 demo 之后，感觉确实不错，后续要逐步融入自己日常工作的流程中。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>在公司电脑上试用 antigravity 并触发风控</title>
      <link>https://xushiqing.uk/2026/01/28/20260128-try-antigravity-in-company/</link>
      <pubDate>Wed, 28 Jan 2026 20:52:00 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/28/20260128-try-antigravity-in-company/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-037e24a9&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-037e24a9&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1769604982-20260128-try-antigravity-in-company-banner.webp&#34; alt=&#34;20260128-try-antigravity-in-company-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-037e24a9&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;在自己电脑上登录 antigravity 成功之后，遂尝试在公司电脑上也登录。用对了账号之后，根本不用挂 VPN，通过公司的专线网络直接登录，并不会收到您所在的地区不支持之类的提示。&lt;/p&gt;&#xA;&lt;p&gt;让其帮忙写了一个小程序用于辅助工作之后，公司的网络安全部门同事给我发消息，问我这个应用是哪里下载的。&lt;/p&gt;&#xA;&lt;p&gt;我说 Google 家的产品，我以为对方不知道是什么东西。结果并不是，对方给我发来了 antigravity 的官网，说我下载的这个没有签名，有需要的话去官网下载。&lt;/p&gt;&#xA;&lt;p&gt;我说我就是官网下载的，然后去找了自己浏览器里的下载链接记录，比对了一下确实是官网下载。然后我查看了一下还没有删除的安装包，显示也是经过签名的。对方说那没事了，可能是安装过程中释放的文件。&lt;/p&gt;&#xA;&lt;p&gt;此时我已经把 antigravity 卸载了，怕公司不让用。但对方也并没有说不给用，而是说建议用公司内部的那些工具。我也想用公司内部的，但我并不是研发，并没有访问 Claude Code 的权限。&lt;/p&gt;&#xA;&lt;p&gt;可能这也解释了我的 antigravity 为何在运行过程中总是闪退，应该是触发了风控，被公司的安全软件直接杀死了。第二天我又重新安装了一次，这次根本到不了帮我写东西的时候，打开几秒钟就会闪退。卸载了事。&lt;/p&gt;&#xA;&lt;p&gt;后来发现公司自己也推出了一个 agent 类的工具，于是申请权限，准备用一下试试，目前尚不知道申请能否通过。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Re: Raycast for Windows Update</title>
      <link>https://xushiqing.uk/2026/01/27/20260127-re-raycast-for-windows-update/</link>
      <pubDate>Tue, 27 Jan 2026 21:32:34 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/27/20260127-re-raycast-for-windows-update/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-d69d6a26&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-d69d6a26&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1769521120-20260127-re-raycast-for-windows-update-banner.jpg&#34; alt=&#34;20260127-re-raycast-for-windows-update-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-d69d6a26&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;之前写过一篇关于如何在公司 LTSC 版系统上安装 Raycast 的文章。&lt;/p&gt;&#xA;&lt;p&gt;起因是 LTSC 版没有内置微软商店（Microsoft Store），而 Raycast 目前的分发主要就是通过微软商店，官网上并不提供可执行程序安装包。如果直接点击 Microsoft Store 的链接，系统会下载一个小的安装程序。运行该安装程序时，会提示无法安装。&lt;/p&gt;&#xA;&lt;p&gt;所以我研究了一下安装方法，并将其记录了下来。&lt;/p&gt;&#xA;&lt;p&gt;上周末，我在家把自己的迷你主机重新装了一下系统。装的也是 LTSC 版本，本来想着也需要通过那种方式来安装。结果试了一下：在没有 Microsoft Store 的情况下，点击链接下载的那个小程序直接双击运行，也能成功安装这个软件。&lt;/p&gt;&#xA;&lt;p&gt;于是回到公司之后，我又试了一下在公司的电脑上行不行。结果是在公司的电脑上，依然没法通过那个小程序来安装。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c4efa3a9&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c4efa3a9&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1769521165-20260127-re-raycast-for-windows-update-update.PNG&#34; alt=&#34;20260127-re-raycast-for-windows-update-update&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c4efa3a9&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;不太清楚这是公司做了什么限制还是怎样。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>尝试并放弃用语音输入法来写博客</title>
      <link>https://xushiqing.uk/2026/01/19/20260119-trying-voice-input/</link>
      <pubDate>Mon, 19 Jan 2026 21:05:45 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/19/20260119-trying-voice-input/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4a08e7e7&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4a08e7e7&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1768831475-20260119-trying-voice-input-banner.webp&#34; alt=&#34;20260119-trying-voice-input-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4a08e7e7&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;昨天的周末流水帐，决定尝试用语音输入法，靠说话的方式来写。尽管是纯粹的流水帐，但用说的方式还是会磕磕绊绊的。&lt;/p&gt;&#xA;&lt;p&gt;坚持说完之后，一看有点儿乱七八糟的，想着让 AI 整理一下，整理完之后发现已经完全不是我的风格了。&lt;/p&gt;&#xA;&lt;p&gt;于是不得不重新通过键盘来输入。&lt;/p&gt;&#xA;&lt;p&gt;虽然这次尝试失败了，不过感觉以后还是必须得训练通过语音来输入的能力。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>R2 Bucket 的每月 10GB 免费存储空间</title>
      <link>https://xushiqing.uk/2026/01/16/20260116-the-r2-bucket-price/</link>
      <pubDate>Fri, 16 Jan 2026 05:52:38 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/16/20260116-the-r2-bucket-price/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c7d91192&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c7d91192&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1768489426-20260116-the-r2-bucket-price-banner.jpg&#34; alt=&#34;20260116-the-r2-bucket-price-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c7d91192&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;之前我一直以为 Cloudflare 的 R2 Bucket 的免费存储容量是 10GB，超过 10GB 之后就要开始付钱了。作为博客图床的话，10GB 完全够用了，不过考虑到我可能会长期比较频繁地更新这个博客，因此也还是折腾了一些图片压缩的方案。&lt;/p&gt;&#xA;&lt;p&gt;然而这两天看到一篇博客讲作者自己把图床从七牛云迁移到 R2 Bucket 的过程，提到免费存储空间是 10GB/月，而不是我一直以为的总共只有 10G。&lt;/p&gt;&#xA;&lt;p&gt;看到这个事情我首先是有点儿惊喜，心说那岂不是根本不用考虑图片压缩了，但仔细一想又不对劲，每月 10G 不太符合直觉。查了一下居然真的是每月 10G。&lt;/p&gt;&#xA;&lt;p&gt;按我的理解，每月 10G 的意思应该是每个月都可以往里存 10G 的内容，那这样累积下去空间占用会非常可怕，免费的套餐不可能如此大方。于是跟 AI 聊了一会儿这个每月 10G 到底是什么意思。&lt;/p&gt;&#xA;&lt;p&gt;答复如下：&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;传统网盘（总量限制）：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;你的 10GB 空间就像一个 &lt;strong&gt;10L 的水桶&lt;/strong&gt;。&lt;/li&gt;&#xA;&lt;li&gt;你想往里面倒 20L 的水？&lt;strong&gt;倒不进去&lt;/strong&gt;。无论你只存 1 秒钟还是 1 个月，物理上限锁死在 10GB。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Cloudflare R2（计费模式）：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;你的 10GB 额度其实是 &lt;strong&gt;“300 GB·天”的积分&lt;/strong&gt;（10GB × 30天）。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果你今天有一个 &lt;strong&gt;20GB&lt;/strong&gt; 的大文件，只需要临时中转存放 &lt;strong&gt;1 天&lt;/strong&gt;，然后就删掉。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;计算：&lt;/strong&gt; 20GB × 1天 = 20 GB·天。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;结果：&lt;/strong&gt; 远小于 300 GB·天的免费额度。&lt;strong&gt;完全免费。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; R2 允许你在短时间内&lt;strong&gt;突破&lt;/strong&gt; 10GB 的限制而不花钱，只要你平均下来不超过就行。&lt;/p&gt;&#xA;&lt;p&gt;以上内容由 AI 生成。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;所以总量就是 10G，而不是什么每个月都有新的 10G 可以用。但是可以临时突破 10G 而不一定被收费，只要及时删掉就行。&lt;/p&gt;&#xA;&lt;p&gt;想了一下，这个方式被称为 10GB 每月还是不太合理。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>重启试试</title>
      <link>https://xushiqing.uk/2026/01/12/20260112-try-rebooting/</link>
      <pubDate>Mon, 12 Jan 2026 21:17:59 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/12/20260112-try-rebooting/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b5231173&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b5231173&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1768224164-20260112-try-rebooting-banner.webp&#34; alt=&#34;20260112-try-rebooting-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b5231173&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;今天随着气温持续维持在低位，以及我生病，开始有了喝热水的需求，于是翻箱倒柜找出了即热饮水机，清洗一番用上了。&lt;/p&gt;&#xA;&lt;p&gt;开始用的几天没什么问题，但不知什么时候起出水速度变得很慢，如果水温设置为 100℃，还会出现只往外喷蒸汽而很少出水的情况，感觉像是堵了。&lt;/p&gt;&#xA;&lt;p&gt;凑合用了两天，感觉速度实在太慢了，还是得处理一下。虽然症状看着像是堵了，但还是得先重启试试，于是拔掉了电源重新插上。&lt;/p&gt;&#xA;&lt;p&gt;结果重新开机之后水流速度就恢复了。重启试试真的可以应用在任何场景。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Raycast for Windows Update</title>
      <link>https://xushiqing.uk/2026/01/09/20260109-raycast-for-windows-update/</link>
      <pubDate>Fri, 09 Jan 2026 20:33:29 +0800</pubDate>
      <guid>https://xushiqing.uk/2026/01/09/20260109-raycast-for-windows-update/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-6b5cca5c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-6b5cca5c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1767963514-20260109-raycast-for-windows-update-banner.webp&#34; alt=&#34;20260109-raycast-for-windows-update-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-6b5cca5c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Raycast for Windows 公测版用了一段时间了，一直没有检查过更新，前两天顺手点了一下检查更新，提示说已经是最新版，也就没有再管。结果今天看到新闻说更新到什么版有了什么新功能，看到版本号比我的已经超前好几个了，于是再次去检查，依然提示没有更新。&lt;/p&gt;&#xA;&lt;p&gt;试图到官网下载安装包，结果官网已经不直接提供可执行文件的下载了，而是会跳转到微软商店进行下载，看起了这是未来主要的分发渠道了。不巧的是我们工地的电脑统一装的 LTSC 版本的 win10，并不包含微软商店组件，因此无法安装。&lt;/p&gt;&#xA;&lt;p&gt;看到 Raycast 官网上还提供了 winget 命令安装的方式，试了一下也提示说当前已经是最新版，没有可用的更新，这就有点儿奇怪了。&lt;/p&gt;&#xA;&lt;p&gt;研究了一番，可以通过&lt;a href=&#34;https://store.rg-adguard.net/&#34;&gt;这个网站&lt;/a&gt;把微软商店里的安装包下载回来，把 Raycast 的微软商店链接丢进去，会返回一个文件列表，选择图中最后面一个.msix 文件下载下来即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b5e6e30c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b5e6e30c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2026/01/1767962918-20260109-raycast-for-windows-update-list.webp&#34; alt=&#34;20260109-raycast-for-windows-update-list&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b5e6e30c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;这个格式的文件在普通的 win10 版本上可以直接双击安装，就像.exe 文件一样，不过 LTSC 版本上没有 app installer 这个组件，因此也无法直接安装，需要用到如下命令：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Add-AppxPackage -Path .\文件名.msix&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;安装过程还是挺快的，执行命令之后几乎立即就安装好了。&lt;/p&gt;&#xA;&lt;p&gt;然而这个命令我一年也用不到几次，显然是记不住的，于是写成一个 bat 文件存起来，以后要用时直接把.msix 文件拖到这个 bat 文件上就好了。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;@echo off&#xA;powershell -Command &amp;#34;Add-AppxPackage -Path &amp;#39;%~1&amp;#39;&amp;#34;&#xA;echo 安装完成！按任意键退出...&#xA;pause&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;需要注意的是，保存时的编码格式不要选默认的 UTF-8，而要改为 ANSI，不然执行命令时的中文会显示为乱码。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>记一次新 iPhone 数据迁移</title>
      <link>https://xushiqing.uk/2025/12/29/20251229-setting-up-a-new-iphone/</link>
      <pubDate>Mon, 29 Dec 2025 19:06:17 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/29/20251229-setting-up-a-new-iphone/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-cd144c1e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-cd144c1e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1767006478-20251229-setting-up-a-new-iphone-banner.webp&#34; alt=&#34;20251229-setting-up-a-new-iphone-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-cd144c1e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;对我个人来说，iPhone的数据迁移实际上就是微信数据的迁移，因为只有微信的数据是仅存储在本地无法从服务器端拉一份回来的。&lt;/p&gt;&#xA;&lt;p&gt;而我的微信数据量不大，因为没有什么不能删的东西，以前用128G存储空间的iPhone时偶尔会有存储空间吃紧的情况，就清理一下微信里的照片、视频等资源。&lt;/p&gt;&#xA;&lt;p&gt;自己发出去的内容，自己是有另一份备份的，而别人发来的内容，如果是有价值的，在收到时可能已经保存了，因此不定期的清理微信对我来说没什么危险。&lt;/p&gt;&#xA;&lt;p&gt;所以我拿到新iPhone不会像很多人那样直接采用方便的两台手机直接传输数据的方式，而是会设置为一台全新的手机，手动重新下载每一个app，微信的数据就把之前备份到电脑里的恢复到手机上。&lt;/p&gt;&#xA;&lt;p&gt;整个过程其实花不了多少时间，也比较顺畅。但是对于微信数据体积巨大的人来说，我这一套路径很难走通。媳妇刚换了一台iPhone，数据迁移过程中就遭遇了挺多波折，最终花了两天多时间才完成数据的迁移工作。&lt;/p&gt;&#xA;&lt;p&gt;她用的是1Tb版本的iPhone，这其中光微信就占据了近400G的空间，相比之下我的手机才256G，而她自己的电脑也才512G。&lt;/p&gt;&#xA;&lt;p&gt;由于感觉她上一台手机使用中有一些问题，我强烈建议她采用我上面说的那种方式完成迁移，以避免上一台手机使用过程中积累的错误文件也被一并传输到新手机上。尽管对此比较抗拒，但最终还是同意按我建议的方式来处理。&lt;/p&gt;&#xA;&lt;p&gt;然而第一步就遇到了困难，由于她的微信体积远大于她的电脑的剩余空间，只能往我电脑上备份，然而不知遇到了什么错误，始终无法在我电脑上登录。&lt;/p&gt;&#xA;&lt;p&gt;然后我们放弃这个方式，开始采用两台手机对传的方式，然而手机准备数据准备了半个多小时后显示失败，需要格式化掉重新开始。&lt;/p&gt;&#xA;&lt;p&gt;我们转向从iCloud下载的方式，开始下载还算顺畅，然而下载了约四五十个G的内容之后，就停止传输了。等待了很久之后我失去了耐心，这时候我们已经发现微信不需要备份到电脑上，两台手机之间也可以直接对传，于是中断了iCloud传输，转而采用这种方式，相当于省略了先备份到电脑上的步骤。&lt;/p&gt;&#xA;&lt;p&gt;当我在新手机上下载好微信开始传输之后，发现传输速度只有大约10M/s，一切顺利的情况下，也要大约11小时才能传输完毕，在这个过程中两台手机必须一直保持手机常亮、微信在前台活动。听起来也不是不可以接受，但是我提到了OLED的烧屏问题，媳妇听到这个词就开始很担心，而我自己也担心会不会传输了半天又中断了。&lt;/p&gt;&#xA;&lt;p&gt;于是在传输了一段时间发现速度没有提升之后，我们决定再回到两台手机互传的方式。这次设置类半天，没有提示传输失败，终于开始正常传输了。开始预估的的时间是2天，后来变成了3天，我们就把两台手机插上电扔在客厅传输，然后睡觉去了。早上起来一看，进度动了一天天，显示还剩2天，而媳妇白天有事要出门必须带手机，不得不再次中断了传输。&lt;/p&gt;&#xA;&lt;p&gt;经过上面的一通折腾，我们得出结论，从iCloud恢复应该是最靠谱的方式了，虽然上一次尝试的时候传输了没多久就停了，但这种方式只需要把新手机扔在那里，不影响使用旧手机，给它足够长的时间总归还是有机会传输完成的，于是媳妇下午回家后再次设置了从iCloud恢复，然后扔下手机再次出门了。&lt;/p&gt;&#xA;&lt;p&gt;我晚上下班回到家看了一下，还剩四五十个G的数据，推算了一下时间感觉这次稳了，然后就去做饭，做完饭一看已经只剩400M了。&lt;/p&gt;&#xA;&lt;p&gt;事情到这里并没有结束，这400M数据始终停留在那里，我尝试了关机重启等，依然不行。很显然这些数据来自于微信，因为只有微信这个app显示未下载完成。&lt;/p&gt;&#xA;&lt;p&gt;想了一下可能只是在进行数据的解包，毕竟仅400G的数据传输过来，需要解包成能够使用的样子，也是要花一些时间的。到晚上睡觉时，终于传输完成了。不过由于iCloud上拉下来的数据少了两天，因此后来又通过两台手机上的微信直接互传聊天记录的方式恢复了这两天的数据。&lt;/p&gt;&#xA;&lt;p&gt;这一通折腾下来，真的让人不知道该吐槽苹果，还是微信。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>笔记本上的 RJ45 接口</title>
      <link>https://xushiqing.uk/2025/12/19/20251219-the-rj45-port-on-the-laptop/</link>
      <pubDate>Fri, 19 Dec 2025 20:55:12 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/19/20251219-the-rj45-port-on-the-laptop/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-528fc5d8&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-528fc5d8&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1766149157-20251219-the-rj45-port-on-the-laptop-banner.webp&#34; alt=&#34;20251219-the-rj45-port-on-the-laptop-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-528fc5d8&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;一个在测绘行业工作的朋友，给我发了几张他桌面的照片，我注意到他的笔记本电源巨大，于是问他是不是拿自己的游戏本来办公了。结果他说这个不算大，显卡是 3060 的，应届生笔记本 4070 显卡，电源都有电瓶车电源一半大了。&lt;/p&gt;&#xA;&lt;p&gt;原来他们行业日常办公都是标配游戏本的，因为需要比较好的独立显卡。然后我注意到他照片里的笔记本上插了网线。我说了一句你甚至还能插网线。&lt;/p&gt;&#xA;&lt;p&gt;他问，现在一般的笔记本都没有网口了吗，我说是的，我 2018 年买的笔记本，算是当时比较高性能的移动工作站，就已经没有网口了。然后笃定地说好多年没见过有网口的笔记本了，包括自己现在用的这台公司配发的笔记本。我继续说，甚至连我的 USB hub 上都没有网口。没有网口有时候非常不方便，尤其是调试家里的网络时，直到我买了一台带有两个网口的小主机，才解决了这个问题。&lt;/p&gt;&#xA;&lt;p&gt;过了一会儿，我仔细检查了一下自己的笔记本，发现在右侧其实是有个网口的，只是我用了半年多一直没有注意到。&lt;/p&gt;&#xA;&lt;p&gt;感觉自己眼很瞎。可能生活中有很多这种，对于眼前的事物熟视无睹的情况。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>打印机喷嘴防堵</title>
      <link>https://xushiqing.uk/2025/12/16/20251216-printer-color-test/</link>
      <pubDate>Tue, 16 Dec 2025 21:04:09 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/16/20251216-printer-color-test/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-d97bf79a&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-d97bf79a&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1765890414-20251216-printer-color-test-banner.webp&#34; alt=&#34;20251216-printer-color-test-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-d97bf79a&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;家里有一台彩色喷墨打印机，并不经常使用，或者说几乎不用。由于之前听说过喷墨打印机长时间不用会喷嘴会堵，于是最近给自己设置了一个每周重复的提醒，打印一张彩色的图像，用于活动一下喷嘴。&lt;/p&gt;&#xA;&lt;p&gt;打印的图像是去 unsplash 上找的，后来有一天媳妇在玩 Gemini 时让 Gemini 帮忙生成了一张，我才发现原来是有专门的这种测试页的，目的倒不是为了防止打印机喷头堵掉，更多是用于颜色校准等。&lt;/p&gt;&#xA;&lt;p&gt;于是我也尝试让 Gemini 帮忙生成，结果给出了一张从网上找的非常专业的测试页，然后问了一些问题聊了几个来回。得知现代打印机其实会在闲置时，主要是在深夜，自己活动一下来湿润喷头，所以正常情况来说不会堵的。&lt;/p&gt;&#xA;&lt;p&gt;而我家这台打印机，在之前住的地方是放在卧室的一张桌子上，由于发现它半夜经常会自己活动一会儿发出一些噪音，所以养成了用完就关机的习惯，并不知道那些活动的原因或者目的是什么。原来就是为了防止堵塞喷头。&lt;/p&gt;&#xA;&lt;p&gt;现在打印机放置在卧室，已经不怕晚上会产生噪音了，因此放置喷嘴堵塞最简单的方式就是一直开机。不过为了最大限度放置喷嘴堵塞，还是应该时不时打印一点东西。找到一张专门用于喷嘴检查的图像，如题图所示，以后就用这个吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>更换一下本站的图片压缩方式</title>
      <link>https://xushiqing.uk/2025/12/11/20251211-blog-image-compression-tools/</link>
      <pubDate>Thu, 11 Dec 2025 20:30:03 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/11/20251211-blog-image-compression-tools/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-fba921a7&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-fba921a7&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1765457153-20251211-blog-image-compression-tools-banner.webp&#34; alt=&#34;20251211-blog-image-compression-tools-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-fba921a7&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;博客更新的工作流差不多固化下来之后，使用的图片压缩方式是 squoosh.app 这个服务，通过浏览器在本地就行压缩。这个服务可以实时对比压缩前后的状态，还算蛮方便的，虽然不方便批量处理，但我绝大部分情况下都只有一张题图，并不需要批量处理的能力。&lt;/p&gt;&#xA;&lt;p&gt;但这个服务的压缩率并不是很高，平时从unsplash上下载的图片，本身体积也不大，因此用这个工具来压缩效果还是可以的，通常能把下载回来的图片压缩到 100kb 左右。&lt;/p&gt;&#xA;&lt;p&gt;但少数情况下我会需要插入自己拍摄的照片，用这个工具就有点儿力不从心了。如果非要保持极小的输出体积，则画质将会惨不忍睹，有好几次我因为这个问题放弃了插入照片。&lt;/p&gt;&#xA;&lt;p&gt;不得不寻找替代方案，多番对比之下选择了 xnconvert 这个免费软件。&lt;/p&gt;&#xA;&lt;p&gt;这个软件支持极为丰富的参数设置，并且可以将其保存为预设，我尝试了一会儿之后大概添加了如下几个动作。&lt;/p&gt;&#xA;&lt;p&gt;第一是将尺寸设置为长边 1600 像素，重采样方式设置为 Lanczos（我并不知道这是什么意思）。&lt;/p&gt;&#xA;&lt;p&gt;第二是清除所有元数据，这个动作能够提供的压缩空间不大，主要是隐私保护。&lt;/p&gt;&#xA;&lt;p&gt;第三是轻微的锐化，开始设置为 10，不过感觉还是过度了，于是改为 0 了。&lt;/p&gt;&#xA;&lt;p&gt;输出方式设置为webp，质量 50。&lt;/p&gt;&#xA;&lt;p&gt;经过这一番操作，图片压缩率比以前有了显著的提升，甚至也不再需要依赖 WebP 代理服务了。unsplash 上下载的照片压缩之后通常只有 50kb 左右，而自己拍摄的照片也能轻松压缩到 100kb 左右。&lt;/p&gt;&#xA;&lt;p&gt;以后可以畅快地插入照片了。&lt;/p&gt;&#xA;&lt;p&gt;上面那些参数是我初步尝试的结果，并不一定是最优的选择，之后有时间的话很可能会继续进行调整。&lt;/p&gt;&#xA;&lt;p&gt;今天的题图是去年今天拍摄于西班牙比利亚尔潘多，图片导出到 JPEG 格式时大小是 3.8M，经过上述方案压缩后的体积是 108kb。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>关于Homebrew Auto Update</title>
      <link>https://xushiqing.uk/2025/12/09/20251209-on-homebrew-auto-update/</link>
      <pubDate>Tue, 09 Dec 2025 21:05:37 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/09/20251209-on-homebrew-auto-update/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-697e446e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-697e446e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1765286036-20251209-on-homebrew-auto-update-banner.webp&#34; alt=&#34;20251209-on-homebrew-auto-update-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-697e446e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我并不经常使用 homebrew，但是每次使用都会遇到一个令人头痛的问题，就是当我要通过 homebrew 安装一个软件时，它首先会试图自动更新。而在世界上有些地区，homebrew 的更新是非常难的。很不幸，我恰好就位于这样的地区。&lt;/p&gt;&#xA;&lt;p&gt;不过我之前并没有想过去解决这个问题，正如前面所说的那样，我并不经常使用 homebrew，并且也没意识到这是一个在某些地区独有的问题。&lt;/p&gt;&#xA;&lt;p&gt;直到上周末我要安装一款只能通过 homebrew 安装的软件，第一天晚上尝试了几次均以失败告终，因为每次的自动更新都会在等待很长时间以后失败。第二天再度尝试，依然失败，这时候我才想起来去研究一下怎么一劳永逸地解决这个问题。&lt;/p&gt;&#xA;&lt;p&gt;查了一下，方案异常简单，与Linux 的软件源更新一个逻辑，那就是换成国内的替代软件源。&lt;/p&gt;&#xA;&lt;h2 id=&#34;打开-shell-配置&#34;&gt;打开 shell 配置&lt;/h2&gt;&#xA;&lt;p&gt;我的macOS使用的是默认zsh，运行 &lt;code&gt;open -e ~/.zshrc&lt;/code&gt;可打开配置文件，如果没有的话需要先创建这个配置文件，命令为 &lt;code&gt;touch ~/.zshrc&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;添加国内替代镜像源&#34;&gt;添加国内替代镜像源&lt;/h2&gt;&#xA;&lt;p&gt;打开配置文件之后，在其中添加国内比较流行的清华大学镜像源，比较稳定，速度也快。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;&#34;&gt;#&lt;/span&gt; Homebrew 核心程序镜像&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;export&lt;/span&gt; HOMEBREW_BREW_GIT_REMOTE&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&amp;lt;https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git&amp;gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;&#34;&gt;#&lt;/span&gt; Homebrew API 镜像 (Homebrew &lt;span style=&#34;color:#40a070&#34;&gt;4.0&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;+&lt;/span&gt; 关键配置)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;export&lt;/span&gt; HOMEBREW_API_DOMAIN&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&amp;lt;https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api&amp;gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;6&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;7&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;&#34;&gt;#&lt;/span&gt; Homebrew 二进制预编译包镜像 (下载软件本身的速度)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;8&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;export&lt;/span&gt; HOMEBREW_BOTTLE_DOMAIN&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&amp;lt;https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles&amp;gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;保存并生效&#34;&gt;保存并生效&lt;/h2&gt;&#xA;&lt;p&gt;完成上一步之后保存文件，运行 &lt;code&gt;source ~/.zshrc&lt;/code&gt; 使其生效。完成之后试了一下 &lt;code&gt;brew update&lt;/code&gt;，果然速度飞快了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;临时绕过的方法&#34;&gt;临时绕过的方法&lt;/h2&gt;&#xA;&lt;p&gt;上面的方法是永久解决更新速度慢甚至失败的问题，有时候如果实在着急，也可以临时绕过自动更新，方法是在需要运行的目标命令前加上 &lt;code&gt;HOMEBREW_NO_AUTO_UPDATE=1&lt;/code&gt;，这样就会直接执行后面的命令，而不会触发自动更新了。&lt;/p&gt;&#xA;&lt;p&gt;设置完之后我运行了一下 &lt;code&gt;brew upgrade&lt;/code&gt;，发现已经有十几个软件版本落后了，可见我真的不怎么用。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>记一次 macOS 的内存泄露</title>
      <link>https://xushiqing.uk/2025/12/04/20251204-on-a-memory-leak-on-macos/</link>
      <pubDate>Thu, 04 Dec 2025 22:05:31 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/04/20251204-on-a-memory-leak-on-macos/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-80a0724d&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-80a0724d&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1764857277-20251204-on-a-memory-leak-on-macos-banner.png&#34; alt=&#34;20251204-on-a-memory-leak-on-macos-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-80a0724d&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;近期遭遇了一次 macOS 的突然卡死，弹出来的提示是 &lt;code&gt;强制退出应用程序：系统的应用程序内存不足，若要避免你的电脑出现问题，请退出你未在使用的所有应用程序&lt;/code&gt;，我一看，好家伙，Infuse 占了 56.67GB 的内存，几乎所有程序的状态都变成已暂停了。&lt;/p&gt;&#xA;&lt;p&gt;好家伙，这是遭遇内存泄露了。我试图强制退出各种应用，但是没有一个程序有反应，都是只会转菊花，最终不得已强制关机重启才解决问题。印象中，这应当是我第一次遭遇内存泄露。&lt;/p&gt;&#xA;&lt;p&gt;有在网上看到过多次网友吐槽 macOS 自带的各种软件引起内存泄露的案例，考虑到近几年来 macOS 越来越不稳定的事实，倒是也不难理解。不过我这次漏的看上去是 infuse，截图问了一下 AI，AI 认为是 Infuse 的锅的概率比较大。&lt;/p&gt;&#xA;&lt;p&gt;Jonathan Blow 的演讲又在耳边回响。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Raycast for Windows Public Beta 现已可用</title>
      <link>https://xushiqing.uk/2025/12/01/20251201-trying-raycast-for-windows-public-beta/</link>
      <pubDate>Mon, 01 Dec 2025 01:50:09 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/12/01/20251201-trying-raycast-for-windows-public-beta/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-490456f5&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-490456f5&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1764525509-20251201-trying-raycast-for-windows-public-beta-banner.jpg&#34; alt=&#34;20251201-trying-raycast-for-windows-public-beta-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-490456f5&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;上个月 12 号才用上内测版的 Windows 版 Raycast，月底在更新版本时就发现已经是公测版了，看起来完成度已经比较高了。&lt;/p&gt;&#xA;&lt;p&gt;之前使用内测版，我主要抱怨的一个问题就是文件搜索能力比较差，比如一个文件名里包含的关键词，可能我用这个词能搜到，用另一个就搜不到，而且搜出来的结果显著比其他启动器软件要少，更不用说相比 everything 了。&lt;/p&gt;&#xA;&lt;p&gt;不过后来我发现，这个问题可能并不是软件的能力不行，而是它默认并不会索引整个电脑上的磁盘，而只索引了用户文件夹，这里面的文件是非常少的，这样的结果就是只有在“下载”文件夹里的文件才会被索引到，其他文件夹里都没啥我会用到的文件。于是赶紧将所有硬盘都添加到其索引范围，试用一下果然该搜到的文件基本都能搜到了。&lt;/p&gt;&#xA;&lt;p&gt;这个软件的功能是如此强大，以至于大部分功能我都用不到，其实最常用的就是启动器、文件搜索以及窗口管理了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-09459288&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-09459288&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/12/1764525622-20251201-trying-raycast-for-windows-public-beta-window-mgmt.jpg&#34; alt=&#34;20251201-trying-raycast-for-windows-public-beta-window-mgmt&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-09459288&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Raycast 的窗口管理方式是最深得我心的，通过输入简单的命令几乎可以做到任何你想要的窗口布局。我的第二显示器是16:18 的，日常会拆分成两块显示器使用，算上笔记本的屏幕相当于有三块屏幕，日常主力使用的是笔记本屏幕，而另外两块屏幕的内容主要供参考，每个窗口都不需要放很大，因此可以通过窗口管理的命令放很多个窗口供同时查看。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>使用 WebP Cloud 服务为图片进行代理</title>
      <link>https://xushiqing.uk/2025/11/28/20251128-webp-cloud-for-image-proxy/</link>
      <pubDate>Fri, 28 Nov 2025 08:20:25 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/11/28/20251128-webp-cloud-for-image-proxy/</guid>
      <description>&lt;p&gt;此前为了优化站点，尤其是图片的访问速度，把图片托管方案从直接放置在 GitHub 仓库里变更为了使用 Cloudflare R2 Bucket 作为图床的方案，速度提升了很多，并且也使得源文件仓库得以瘦身，未来也不会随着时间的推移逐渐因为图片原因变得体积飞速膨胀。&lt;/p&gt;&#xA;&lt;p&gt;不过这依然不够快，寻找方案时发现了 &lt;a href=&#34;https://webp.se/&#34;&gt;WebP Cloud Services&lt;/a&gt; 这个服务，可以在牺牲一小部分图像质量的情况下大幅压缩图片的体积，并进行缓存，从而提升加载速度。此外还有诸如为图片添加水印等服务，不过我都用不上。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4042d83b&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4042d83b&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758587446-webp-cloud-watermark-services.png&#34; alt=&#34;webp-cloud-watermark-services&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4042d83b&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;每日有免费的 3000 个请求额度和 200M 缓存，并且每日签到还可以获得一些永久额度。对于我这个无人问津的站点来说，3000 额度个足够了。如果不够，可以设置为超额后访问原始图片链接，也可以选择订阅方案，非常便宜。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-a87cbceb&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-a87cbceb&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758587295-webp-cloud-pricing.png&#34; alt=&#34;webp-cloud-pricing&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-a87cbceb&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;设置方法&#34;&gt;设置方法&lt;/h2&gt;&#xA;&lt;h3 id=&#34;创建代理&#34;&gt;创建代理&lt;/h3&gt;&#xA;&lt;p&gt;在主页上点击创建代理，选择服务器地址，填写代理名称及原站地址，也即图片托管的服务器地址。我这里填写的是 R2 Bucket 绑定的二级域名，然后选择一下代理模式，点击完成即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-a5086315&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-a5086315&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758587360-webp-cloud-create-proxy-1.png&#34; alt=&#34;webp-cloud-create-proxy-1&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-a5086315&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-43d38a8f&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-43d38a8f&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758587373-webp-cloud-create-proxy-2.png&#34; alt=&#34;webp-cloud-create-proxy-2&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-43d38a8f&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;集成到站点配置文件&#34;&gt;集成到站点配置文件&lt;/h2&gt;&#xA;&lt;p&gt;创建好代理之后，点击集成指南页面，选择自己的站点方案，我这个选的是 Hexo，右边会给出集成的方案。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-cd0e9d07&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-cd0e9d07&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758587393-webp-cloud-proxy-config.png&#34; alt=&#34;webp-cloud-proxy-config&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-cd0e9d07&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;先是安装一个名为&lt;code&gt;hexo-webp-cloud-proxy&lt;/code&gt;的包，然后在配置文件中添加相应的配置信息即可，之后就可以正常构建网站了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;一个小坑&#34;&gt;一个小坑&lt;/h2&gt;&#xA;&lt;p&gt;配置文件里列出了四种图片格式，这个格式其实是大小写敏感的。我有几张图片是在 Windows 电脑上通过浏览器访问 iCloud 导出的，其扩展名是大写的 JPEG，这几张图片就没有被成功代理，只好在代理格式列表里把大写也加入了进去。&lt;/p&gt;&#xA;&lt;p&gt;同一张照片，在 macOS 的 photos app 上导出来扩展名就是小写，在 Windows 上通过浏览器导出来就是大写，不知道苹果是什么逻辑。&lt;/p&gt;&#xA;&lt;h2 id=&#34;效果&#34;&gt;效果&lt;/h2&gt;&#xA;&lt;p&gt;设置完重新部署网站之后，打开生成的 HTML 页面源码，可以看到图片地址顺利被转换。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-007e9033&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-007e9033&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758587407-webp-cloud-request-analysis.png&#34; alt=&#34;webp-cloud-request-analysis&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-007e9033&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>跨区域更新 iOS app</title>
      <link>https://xushiqing.uk/2025/11/19/20251119-update-apps-across-regions-on-ios/</link>
      <pubDate>Wed, 19 Nov 2025 21:54:53 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/11/19/20251119-update-apps-across-regions-on-ios/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-31dec9e8&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-31dec9e8&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/11/1763561387-20251119-update-apps-across-regions-on-ios-banner.jpg&#34; alt=&#34;20251119-update-apps-across-regions-on-ios-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-31dec9e8&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;由于众所周知的原因，我有不止一个区域的 Apple ID，主力使用的是中国区和美国区，另外还有土耳其区。有一些 app 在特定的区域是没有的，或者只在特定的区域有上架。比如中国大陆地区的 App Store 里没有梯子类 app，而中国一些政府部门出品的 app 仅在中国大陆的商店商家，如个人所得税、交管 12123 等。&lt;/p&gt;&#xA;&lt;p&gt;这类 app 在更新时通常需要切换到对应地区的 App Store 才行，至少我是这么以为的。所以经常为了更新某个 app 切换账号地区，尽管频率不那么高，但还是有点儿烦人。&lt;/p&gt;&#xA;&lt;p&gt;今天偶然发现，退出账号之后不登录另一个账号，而是直接点击全部更新，部分 app 也是能够正常更新的。没看出有什么规律，但是有的更新成功了，有的更新失败了，并且不管成功的还是失败的，都会在商店里继续显示可更新的按钮。&lt;/p&gt;&#xA;&lt;p&gt;早知如此我就不用切换那么多次账号了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>在 chrome 上截图整个网页</title>
      <link>https://xushiqing.uk/2025/11/18/20251118-capture-full-web-on-chrome/</link>
      <pubDate>Tue, 18 Nov 2025 21:24:59 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/11/18/20251118-capture-full-web-on-chrome/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-2d1966b1&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-2d1966b1&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/11/1763472371-20251118-capture-full-web-on-chrome-banner.jpg&#34; alt=&#34;20251118-capture-full-web-on-chrome-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-2d1966b1&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;对网页进行长截图的功能，目前很多截图软件都能实现，比如我现在使用的 pixpin 免费版就支持该功能，不过这种功能我好几年都用不上一次，因此安装这个软件之后还从来没有使用过。&lt;/p&gt;&#xA;&lt;p&gt;最近在干的一个活儿，有大量的截取整个网页的画面的需求，就尝试了一下，结果发现效果不佳，试了几次都不满意之后，突然想起来多年前我有这个需求时，是通过 chrome 浏览器内置的功能实现的。&lt;/p&gt;&#xA;&lt;p&gt;目前在工作电脑上的主力浏览器是 edge，同样基于 chromium 内核，也有这个功能，甚至更简单，直接按 &lt;code&gt;Ctrl + Shif + S&lt;/code&gt; 就能进行网页截图。然而试了一下，效果依然不佳，虽然能比较稳定地获取整个页面的图像，但是输出的质量太差了，放大一下就全是锯齿。&lt;/p&gt;&#xA;&lt;p&gt;于是尝试了跟 chrome 上一样的进入开发者工具的方式，具体操作是先按 &lt;code&gt;Fn+F2&lt;/code&gt; 进入开发者工具，然后按 &lt;code&gt;Ctrl + Shift + P&lt;/code&gt; ，在弹出的搜索框输入截图，就会出现几个选项，是截取当前画面，还是整个网页，还是选择区域。&lt;/p&gt;&#xA;&lt;p&gt;一试之下发现效果依然不佳，放大之后也很容易变糊。&lt;/p&gt;&#xA;&lt;p&gt;解决方法是设置一个更高的设备像素比。进入开发者工具后按 &lt;code&gt;Ctrl + Shift + M&lt;/code&gt; ，点击屏幕顶部右侧的三个点，点击添加设备像素比（DPR），然后把 DPR 由默认的 1.0 设置成 2.0或者 3.0。&lt;/p&gt;&#xA;&lt;p&gt;我设置了 2.0 之后输出的图片效果就非常好了。&lt;/p&gt;&#xA;&lt;p&gt;这个活儿做完之后，估计又会有很长时间用不到这个功能，以至于当要用的时候会想不起来。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>禁用 B 站摇一摇广告</title>
      <link>https://xushiqing.uk/2025/11/03/20251103-disable-the-shake-to-open-ads-of-bilibili-app/</link>
      <pubDate>Mon, 03 Nov 2025 20:51:48 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/11/03/20251103-disable-the-shake-to-open-ads-of-bilibili-app/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c84bd881&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c84bd881&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/11/1762174385-20251103-disable-the-shake-to-open-ads-of-BiliBili-app-banner.jpg&#34; alt=&#34;20251103-disable-the-shake-to-open-ads-of-BiliBili-app-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c84bd881&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;国产 app 的开屏广告摇一摇触发跳转到广告主 app 的问题，由来已久，以前也经常看到网络上的抱怨。不过我以前对此的感知不是很强烈，也没有抱怨过，主要是很少触发。&lt;/p&gt;&#xA;&lt;p&gt;但近期我用 B 站ap比较多，发现会经常触发，而且我都很刻意避免手部有任何动作了，不知道是不是因为近期双十一广告主们加大了投放力度，B 站因此需要调整触发跳转的灵敏度，以对得起金主们的广告费。&lt;/p&gt;&#xA;&lt;p&gt;经历过多次无缘无故的跳转之后，我不得不开始研究这个东西能不能关闭掉，搜了一下果然可以，在设置-隐私权限设置里，取消掉 B 站对传感器的授权即可，操作起来非常简单。&lt;/p&gt;&#xA;&lt;p&gt;恰好看到这两天在流传一个说法，屏蔽某个账号（并清理缓存）可取消掉开屏广告，我没有尝试，并不知道真假，但鉴于这个说法已经广为流传了，估计哪怕是真的，也会很快被修复掉。&lt;/p&gt;&#xA;&lt;p&gt;另一个说法是手机系统语言设置为英文可以减少很多广告。这个听起来有点儿合理，以前没有太被开屏摇一摇广告困扰，原因之一可能就是因部分时候我手机的首选语言设置就是英文？忘记了何时因为什么原因改成中文的了，总之这次也一并把系统语言改回英文了。&lt;/p&gt;&#xA;&lt;p&gt;具体有没有用，观察一阵再说了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>不再每天关机</title>
      <link>https://xushiqing.uk/2025/10/31/20251031-stop-rebooting-system-everyday/</link>
      <pubDate>Fri, 31 Oct 2025 22:17:55 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/31/20251031-stop-rebooting-system-everyday/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-ae5bd6f5&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-ae5bd6f5&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1761920404-20251031-stop-rebooting-system-everyday-banner.jpg&#34; alt=&#34;20251031-stop-rebooting-system-everyday-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-ae5bd6f5&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;由于工地给我配发的 thinkpad 非常老旧，甚至近期已经过了 4 年的主动报期限，所以我在优化这台本子的使用体验上花了很多功夫。在早期优化结果还没有那么理想时，养成了每天下班关机，上班开机的&lt;del&gt;良好&lt;/del&gt;习惯。&lt;/p&gt;&#xA;&lt;p&gt;每天重新开机虽然能够为当日的使用体验带来一些提升，不过这本身也是个挺浪费时间的行为，我盘了一下每天都相对高频使用因此需要设置为开机自动启动的软件，大概有这些：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Outlook&lt;/li&gt;&#xA;&lt;li&gt;企业微信&lt;/li&gt;&#xA;&lt;li&gt;公司内部 IM 沟通工具&lt;/li&gt;&#xA;&lt;li&gt;浏览器&lt;/li&gt;&#xA;&lt;li&gt;滴答清单&lt;/li&gt;&#xA;&lt;li&gt;腾讯会议&lt;/li&gt;&#xA;&lt;li&gt;everything&lt;/li&gt;&#xA;&lt;li&gt;Flow Launcher&lt;/li&gt;&#xA;&lt;li&gt;Pixpin&lt;/li&gt;&#xA;&lt;li&gt;PowerToys&lt;/li&gt;&#xA;&lt;li&gt;MacType&lt;/li&gt;&#xA;&lt;li&gt;公司的一些安全相关软件等&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这主要带来两方面的问题，第一是电脑本身性能羸弱，如此多的自动启动软件需要相当长的时间。不过由于进入系统之后我就可以去洗杯子，让这堆软件们自己慢慢启动就即可，也不会耽误我的时间。因此这并非主要问题，另一个问题就比较恼人了。&lt;/p&gt;&#xA;&lt;p&gt;之前我有谈过我司自研的那个 IM 工具的各种 bug，其中有一个一直没修、几乎每次都会复现、也几乎在每一个同事那里都会复现的问题，是开机后首次登录会连不上服务器，但软件自己似乎不知道自己没有连上服务器，因此也不给出任何提示。&lt;/p&gt;&#xA;&lt;p&gt;由于我每天到达工地的时间都很早，并且比较珍惜同事们到达工地之前的这段安静的时间，因此也不怎么关注手机上是否有消息通知。经常遇到的情况是，地球另一边的同事还没下班，给我发了消息，如果我能及时处理的话，或许可以赶在对方下班前给出对方解决方案。而由于 IM 工具没有连上服务器，导致我根本意识不到有人找我，直到我自己发消息发不出去才意识到问题。当然了，&lt;del&gt;同事可能也并不期待我立即给出答复，万一会耽误他们下班呢。&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;这样的事情次数多了，我也养成了习惯，就是这软件自动启动之后，手动退出再重新打开一下。这个动作看起来花不了多少时间，但其实为了不忘记，我会不自觉地等待软件启动完成，然后做这个操作，这就会比较耽误时间了。&lt;/p&gt;&#xA;&lt;p&gt;但其实，随着这台笔记本被我优化得越来越顺滑，我可能已经不需要每天重新开机了。于是最近这几天测试了一下，每天下班锁屏就走，不再关机，结果是使用的顺滑程度上跟每天重启已经感觉不出区别。&lt;/p&gt;&#xA;&lt;p&gt;看起来以后只需要周五下班关机，周一早上开机，而不再需要每天浪费这些时间了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>你的浏览器由你的组织管理</title>
      <link>https://xushiqing.uk/2025/10/30/20251030-your-browser-is-managed-by-your-organization/</link>
      <pubDate>Thu, 30 Oct 2025 21:10:31 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/30/20251030-your-browser-is-managed-by-your-organization/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-6b343902&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-6b343902&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1761829887-20251030-your-browser-is-managed-by-your-organization-banner.jpg&#34; alt=&#34;20251030-your-browser-is-managed-by-your-organization-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-6b343902&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;以前我在自己电脑上干公司的活儿，为了避免自己电脑被监控，通常需要开一个虚拟机来做。前阵子可能是因为有个活儿很着急，就直接在宿主机上安装了公司自己开发的ioa软件（此前是用的腾讯ioa），也没太观察这个软件是否有什么异常举动。&lt;/p&gt;&#xA;&lt;p&gt;仔细研读过公司自研的这款软件的隐私协议和Q&amp;amp;A，开发团队明确表示不会收集私人电脑上的信息，我虽然不信，但考虑到我电脑上也没啥怕被收集的东西，并且那台Windows机器平时都不怎么用的，就更没有在意了。&lt;/p&gt;&#xA;&lt;p&gt;今天掏出来用了一下，发现系统弹窗一个通知，说这个软件正在更新，请在更新完毕后使用。由于这个软件并没有设置开机启动，它能直接在没启动的情况下更新，还给发个通知，我开始觉得这事儿有点儿不对劲了。&lt;/p&gt;&#xA;&lt;p&gt;打开浏览器设置看了一下，赫然显示你的浏览器正由你的组织管理。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-87e9e24f&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-87e9e24f&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1761829977-20251030-your-browser-is-managed-by-your-organization.png&#34; alt=&#34;20251030-your-browser-is-managed-by-your-organization&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-87e9e24f&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;由于此前没仔细看，并不太清楚这个监控插件是在本次软件更新前被加上的，还是安装软件起就被加上了。这个浏览器插件能监控浏览器上的一切行为，包括所有重要的密码。虽然正经的服务都有二次验证了，但想想还是有点儿吓人。&lt;/p&gt;&#xA;&lt;p&gt;没啥可说的，准备重装一遍系统，并且安装虚拟机，以后有需求还是得在虚拟机里做。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>博客框架迁移至 Hugo</title>
      <link>https://xushiqing.uk/2025/10/21/20251021-migrate-from-hexo-to-hugo/</link>
      <pubDate>Tue, 21 Oct 2025 08:13:50 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/21/20251021-migrate-from-hexo-to-hugo/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e9ae24bb&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e9ae24bb&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1761005815-20251021-migrate-from-hexo-to-hugo-banner.jpg&#34; alt=&#34;20251021-migrate-from-hexo-to-hugo-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e9ae24bb&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;从十多年前第一次开始折腾博客时，用的就是在中文博客圈极为流行的 Hexo 框架，那时候甚至没有听说过 Hugo，其实两个框架几乎是同时发布的，只不过 Hexo 在中文世界里的影响力似乎更大一些。&lt;/p&gt;&#xA;&lt;p&gt;后来反复关闭又重开过两三次，都是继续用的 Hexo，也逐渐知道还有 Hugo 存在，但是并没有切换过去的理由。&lt;/p&gt;&#xA;&lt;p&gt;至于主题，开始用的是什么主题已经忘记了，总之后来出于可维护性的考虑用上了最流行的 &lt;a href=&#34;https://github.com/next-theme/hexo-theme-next&#34;&gt;Next 主题&lt;/a&gt;，因为用的人多，社区的更新维护也比较活跃，而其它大部分主题的上次更新日期都停留在许多年前了。其次当然是视觉上也挺好看，不然也不会有那么多人选择。&lt;/p&gt;&#xA;&lt;p&gt;最近更新变得频繁起来之后，感觉 Hexo + Next 的搭配始终无法优化到一个令自己满意的写作和查看体验。&lt;/p&gt;&#xA;&lt;p&gt;第一点是 Next 主题默认在首页上展示全文，我不是很喜欢这种方式，但也不喜欢通过配置文件实现自动抓取前多少个字作为预览的方式，而是希望能把第一段作为预览。很早之前查到的方法是在预览段后面加一行简短的 HTML 语句来折叠，这种方式在更新频率极低的以前不存在什么问题，哪怕忘了加，本地预览的时候发现了再加上即可。而日更的时候每天都要处理这个问题，就会很困扰。&lt;/p&gt;&#xA;&lt;p&gt;加之后来我喜欢为每一篇文章加一张题图，那就只能把图片作为预览放在首页上，每张图片的尺寸不一，放在首页上会很难看。要裁剪成同样的大小的话还要做个模板每次进行一些操作。尺寸的问题还算可以解决的小麻烦，但风格不同就很难处理了。于是很快首页就因为这些题图变得愈发难看。&lt;/p&gt;&#xA;&lt;p&gt;第二点是随着文章数量的增多，Next 主题的首页展示方式显得太重了，除非去归档页面，否则很难快速滑动到以前的文章。当我知道 &lt;a href=&#34;https://bearblog.dev/&#34;&gt;ʕ•ᴥ•ʔ Bear blog&lt;/a&gt; 的存在时，一下子就被其这种极为简洁的展示方式所吸引。但是由于我更喜欢自部署而非 Bear 这种平台式的博客站点，所以也没有切换过去。&lt;/p&gt;&#xA;&lt;p&gt;综合以上两点原因，我需要一个新的主题。&lt;/p&gt;&#xA;&lt;p&gt;我首先试图把 Next 调整成类似 Bear 的样子，很快就发现即使有 AI 工具的帮助我也很难在短时间内完成这个事情，而我并不想把过多的时间花在折腾工具上，尤其是考虑到我已经花了很多时间在这上面了。&lt;/p&gt;&#xA;&lt;p&gt;然后就开始去寻找类似 Bear 的样式的主题，倒是也找到一个效果上接近的 &lt;a href=&#34;https://github.com/zchengsite/hexo-theme-oranges&#34;&gt;Oranges 主题&lt;/a&gt;，甚至感觉在简洁的基础上还更加好看，外加作者去年还更新过，就切换过去了。不过这个主题也是有一些小小的设置需要调整，比如对时间戳的展示似乎有点儿问题，会在每一次构建之后把所有文章的时间戳更新到最新一次的时间。可能是我自己在哪里搞错了，尝试调整了一下也没找到问题的根源。&lt;/p&gt;&#xA;&lt;p&gt;在寻找合适的 Hexo 主题时，我就已经发现有个 &lt;a href=&#34;https://github.com/janraasch/hugo-bearblog?tab=readme-ov-file&#34;&gt;hugo-bearblog&lt;/a&gt;，以及在其基础上修改的 &lt;a href=&#34;https://github.com/rokcso/hugo-bearneo&#34;&gt;hugo-bearneo&lt;/a&gt;，但是考虑到尽量少折腾工具的原则，觉得换个主题显然比连博客框架都换掉工作量要小，所以还是先尝试了换主题的方案。&lt;/p&gt;&#xA;&lt;p&gt;而 Oranges 主题的问题我搞不定之后，开始研究了一下换到 Hugo 的事情，发现也并不麻烦，甚至可以说非常简单。于是就直接新建一个 Github 仓库先测试，成功了再换绑域名即可，也不存在把原来的 Hexo 站点搞坏了的情况，其实现在我还保留着那个站点只是换了个域名，不过迁移到 Hugo 之后那边没有再更新了。&lt;/p&gt;&#xA;&lt;p&gt;没有详细对比两个类 bear 主题的差异，不过后一个是中文开发者写的，可能会有一些本地化适配（我并没有仔细研究），所以选择了后一个。&lt;/p&gt;&#xA;&lt;p&gt;部署过程比我预料的简单得多，新建仓库之后拿之前的文章源文件测试了一下就成功了。&lt;/p&gt;&#xA;&lt;p&gt;虽然最终过程中也还是踩到了很多坑，这也是为何我已经切换过来好多天了才开始写这个事情。不过都是一些小问题，在 AI 的帮助下也都解决了，甚至觉得踩这些坑是好事儿，可以帮助我更深入了解这个框架和主题的一些运作原理。目前已经逐步调整到一个可用的状态，还有一些无足轻重的需要优化的地方，就看啥时候有心情了。&lt;/p&gt;&#xA;&lt;p&gt;切换过来之后，除了解决了之前我遇到的问题之外，最大的收获是构建速度真的快，简直是毫秒级的。可以写的时候开着本地预览，做了什么变更只要保存一下就能实时看到，而不用像之前那样重新构建一次。&lt;/p&gt;&#xA;&lt;p&gt;对于自部署博客工具的折腾，基本上可以说到此为止了，不会再主动在这上面花什么时间了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>记一次与流氓软件的斗智斗勇</title>
      <link>https://xushiqing.uk/2025/10/15/20251015-stop-mindmaster-autorun/</link>
      <pubDate>Wed, 15 Oct 2025 06:08:10 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/15/20251015-stop-mindmaster-autorun/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-31228f04&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-31228f04&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1760445207-20251015-stop-mindmaster-autorun-banner.jpg&#34; alt=&#34;20251015-stop-mindmaster-autorun-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-31228f04&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;几年前斥资五六百买过这个软件的终身会员，但日常工作和生活中很少用到这个软件，所以我现在手里的几台电脑上都没有安装。&lt;/p&gt;&#xA;&lt;p&gt;最近因为工作需要在公司电脑重新下载安装了。发现了一个以前从未见过的流氓软件手法。&lt;/p&gt;&#xA;&lt;p&gt;很多软件都会在安装之后自动将自己添加到开机启动项里，通常来说，不管是到软件自己的设置里，还是去系统任务管理器的启动项页面里，都可以很方便地关闭。&lt;/p&gt;&#xA;&lt;p&gt;具体来说，软件安装之后不会开机自动打开主页面，但是会在托盘里添加自己的图标，这妥妥的开机启动了。然而，软件自己的开机启动选项没有勾选，任务管理器的启动项里也没有这个软件。后来我发现，它并不是在开机时立即启动，而是在某个时候静默出现在系统托盘里。&lt;/p&gt;&#xA;&lt;p&gt;到目前为止，这流氓手段已经是我所见过的比较新的境界了。此前其实见过不少会静默启动但是不在开机启动项里展示自己的。而这个软件则连自己设置里的开机启动都没有勾选，令我打开眼界。&lt;/p&gt;&#xA;&lt;p&gt;第一次发现这个事情时，我忙于工作没有时间研究处理方案，这事儿就过去了。后来我再一次重启之后看到它的图标出现在系统托盘里时，想起来这是个疑难杂症，也没有时间处理，就想着先右键退出软件。&lt;/p&gt;&#xA;&lt;p&gt;万万没想到，点完退出之后软件不仅没有退出，反而把自己的主界面打开了。我首先以为是自己手滑点错了，于是关闭软件主界面之后再次去系统托盘里点击退出，这下可以确定自己没有点错了，然后软件依然把自己的主界面打开了。&lt;/p&gt;&#xA;&lt;p&gt;一时之间我有点呼吸困难。&lt;/p&gt;&#xA;&lt;p&gt;平静了一下之后我尝试先主动勾选软件设置里的开机自启动选项，然后去系统任务管理器里查看，这时候启动项列表里就出现这个软件了，然后在这里点击禁用。这时候再去托盘里右键退出时，弹出窗口询问是否需要做保存改动（尽管我没做任何改动），点了否之后终于成功退出了。我以为这是因为设置好了开机启动，软件就把其它的流氓行为也自我管理了一下，才得以成功退出的。&lt;/p&gt;&#xA;&lt;p&gt;由于前面发现的行为过于流氓了，我担心这设置依然不生效，于是手动重启了一下。刚开机时托盘里没有出现，过了一会儿去上了个厕所，回来之后发现又出现了。&lt;/p&gt;&#xA;&lt;p&gt;虽然有点儿失望，但倒也在预期之内。于是又尝试右键退出，没想到再次经历了重复三次才能真正退出的情况，这三次都会自动打开个用于推广的界面。&lt;/p&gt;&#xA;&lt;p&gt;这可能是我遇到的除病毒以外的最流氓的软件了。&lt;/p&gt;&#xA;&lt;p&gt;用 geek uninstaller 卸载了。还挺可惜的，他们的软件做的很好用，不然我当初也不会掏那么多钱买终身会员。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>适当减少一下 R2 Bucket 的消耗量</title>
      <link>https://xushiqing.uk/2025/10/13/20251013-time-to-reduce-r2-bucket-usage/</link>
      <pubDate>Mon, 13 Oct 2025 20:56:20 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/13/20251013-time-to-reduce-r2-bucket-usage/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-69cccb1e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-69cccb1e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1760361630-20251-13-reduce-r2-bucket-usage-banner.png&#34; alt=&#34;20251-13-reduce-r2-bucket-usage-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-69cccb1e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;当我把图片托管方案迁移到 Cloudflare R2 Bucket 上时，我以为 10G 免费容量足够我用一辈子，毕竟图片能占用多少空间。没想到一个月左右的时间过去，看了一下使用量，总计 170 余张图片，已经占用了超过 200M 空间。&lt;/p&gt;&#xA;&lt;p&gt;如果以这个速率消耗下去，那用不了几年 10 个 G 就满了。当然这也可能是一种杞人忧天，因为很可能我三分钟热度，过不了几天就不再维持当下的更新频率了，更别提几年。&lt;/p&gt;&#xA;&lt;p&gt;空间占用远超预期的原因除了更新频率提升以外，另一个原因是与以前偶尔更新一下相比，近期的更新插入了大量的照片，而以前很少出现照片，绝大部分都是截图，体积并不大。也可能是因为那会儿图片放在 GitHub 上加载速度实在过慢，于是我也就避免了插入照片的行为。&lt;/p&gt;&#xA;&lt;p&gt;除了空间占用过大，其实照片原图插进去对访问速度的影响也依然不小，尽管已经通过 &lt;a href=&#34;https://dashboard.webp.se/proxy&#34;&gt;WebP Cloud&lt;/a&gt; 代理服务进行了一定压缩。&lt;/p&gt;&#xA;&lt;p&gt;解决方案其实很简单，照片上传之前先本地压缩一下就好了。当代手机照片的像素太高了，产生的图片体积巨大，其实找到对的工具的话大幅压缩一下对清晰度的影响也不是很大。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>本站点的草稿同步方案</title>
      <link>https://xushiqing.uk/2025/10/11/20251011-drafts-syncing-method-for-this-site/</link>
      <pubDate>Sat, 11 Oct 2025 08:17:17 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/11/20251011-drafts-syncing-method-for-this-site/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-67c06bae&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-67c06bae&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1760142773-20251010-drafts-syncing-method-for-this-site-banner.jpg&#34; alt=&#34;20251010-drafts-syncing-method-for-this-site-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-67c06bae&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我日常会分别在一台 win 小主机、一台 win 笔记本以及一台 MacBook pro 上进行博客的写作，但没有在每一台电脑上都安装博客框架程序。因此通过在文章的源文件里设置草稿参数以控制推送后是否发布的方式并不适合。为此尝试了多种方法来同步草稿，最终选择了在 Notion 这个我一直不是很喜欢的笔记应用上写作本站的草稿。&lt;/p&gt;&#xA;&lt;h3 id=&#34;用-nas-同步源文件&#34;&gt;用 NAS 同步源文件&lt;/h3&gt;&#xA;&lt;p&gt;为了保持写作体验的一致性，开始我是用 Typora 写草稿，保存到我的 NAS 里，这样在每一台设备上都可以访问。&lt;/p&gt;&#xA;&lt;p&gt;这个方案几乎可以说非常不错了，但是因为图片管理的问题会感觉略微有一些杂乱。图片是托管在 Cloudflare R2 上的，为了方便日后管理，上传时的命名规则是加一个时间戳前缀，以及自动按月份归属到对应的文件夹里。所以我写草稿时并不想把图片上传上去，而是等到要发布前才上传图片，以使得图片的时间与文章发布的时间比较接近。&lt;/p&gt;&#xA;&lt;p&gt;这样的话我就需要在存储草稿的文件夹里单独为每一篇草稿在创建一个文件夹，以避免杂乱，以及方便后续上传图片时快速定位。&lt;/p&gt;&#xA;&lt;h3 id=&#34;用-wps-写草稿&#34;&gt;用 WPS 写草稿&lt;/h3&gt;&#xA;&lt;p&gt;WPS 写的文档直接是存储在云端的，在同步方面可以说相当方便。但是它也有缺点，一个是写字的体验与我所习惯的 Markdown 语法不是很统一，第二是图片管理也没有很方便。&lt;/p&gt;&#xA;&lt;p&gt;更重要的一点是我的 WPS 上的内容绝大部分是工作相关的，不是很想在里面混杂一些个人的内容。不然工作时看到，难免会影响工作的专注度。&lt;/p&gt;&#xA;&lt;h3 id=&#34;使用-nas-里安装的-obsidian&#34;&gt;使用 NAS 里安装的 Obsidian&lt;/h3&gt;&#xA;&lt;p&gt;NAS 的应用市场里有人移植了 Obsidian，直接用这个来写的话可以很好地避免图片管理的问题，只需要把图片直接插到文件里即可，等需要上传的时候再上传。&lt;/p&gt;&#xA;&lt;p&gt;然而我下载下来试用了一下，这个软件似乎是通过 VNC 连接的，不太清楚是不是移植的作者专门为其弄了个虚拟机，然后通过 VNC 远程连接虚拟机。如果是的话，也解释了为何下载这个软件时体积为何如此巨大。&lt;/p&gt;&#xA;&lt;p&gt;这个方案过于卡顿了，完全无法接受。&lt;/p&gt;&#xA;&lt;h3 id=&#34;用在线笔记应用-notion&#34;&gt;用在线笔记应用 Notion&lt;/h3&gt;&#xA;&lt;p&gt;我作为一个坚持本地优先的人，一直不是很喜欢 Notion 这种纯在线方案。一个是心理上对这种方案不是很放心，难免会想，如果我把它当成主力笔记软件，万一我要用的时候没有网络怎么办。另一个很现实层面的问题是， Notion 在国内访问实在太慢了。&lt;/p&gt;&#xA;&lt;p&gt;所以，尽管 Notion 在互联网上拥有如此多的拥趸，我也浅浅尝试过几次，但一直没有正经使用过这个软件，而是更倾向于使用 Obsidian。近期 Obsidian 更新了与 Notion 的数据库功能类似的 Base 功能，就更没有太多理由使用 Notion 了。&lt;/p&gt;&#xA;&lt;p&gt;那我为何没有直接使用 Obsidian 呢？因为我不是个笔记软件的重度用户，因此没有持续购买 Obsidian 的官方同步服务。未来我可能会尝试一下用 Dropbox 同步 Obsidian 仓库的方案，这个方案会很好用，缺点是在 iOS 上很难同步。不过我也很少会在手机上写东西，所以问题不大，临时有写的需求也可以写在其它 app，比如 flomo 上，后续再粘贴过去。&lt;/p&gt;&#xA;&lt;p&gt;另外就是与 WPS 一样，我在 Obsidian 上存储的主要都是工作相关的内容。&lt;/p&gt;&#xA;&lt;p&gt;近期Notion更新了离线模式的功能，可以一定程度上进行本地使用了。这个消息使我重新登录了一下这个几年没有碰过的应用，尝试了一下还是在线优先，不过起码可以有选择地离线使用了，是一个不错地进步。&lt;/p&gt;&#xA;&lt;p&gt;如果不考虑在中国大陆访问速度真的很慢这个事实，其实 Notion 是个非常好用的软件，不然也不会在世界范围内收获那么多粉丝用户。我想，如果我只是在上面写一些这个站点的草稿的话，也大可不必担心什么没有网络时无法访问，因为完全不涉及重要的内容。&lt;/p&gt;&#xA;&lt;h3 id=&#34;试用初体验&#34;&gt;试用初体验&lt;/h3&gt;&#xA;&lt;p&gt;于是今天把几篇草稿都搬到 Notion 上来，感觉用起来确实不错。创建一个页面用作草稿的存储，然后每一篇草稿可以作为一个子页面，组织管理极为方便，母页面上展示所有子页面的链接。&lt;/p&gt;&#xA;&lt;p&gt;支持 markdown 语法，写作体验与在 Typora 上很接近。图片可以在写的时候直接插进去，等要发布时下载下来再上传到 R2 Bucket 里即可。&lt;/p&gt;&#xA;&lt;p&gt;页面渲染得也很好看，与最终发布出来在网页上看到的效果非常类似，是所有这些方案里体验上最接近发布后的样子的。&lt;/p&gt;&#xA;&lt;p&gt;另外，草稿也可以一直放在这里不用删除了。此前我嫌用过的草稿放在文件夹里不够简洁，会在发布之后直接删除。而在 Notion 上因为页面组织得很简洁，不会有乱的感觉，所以也就不需要用后即删除了，留一份副本也是不错的选择。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>解决 Sonos 无法刷新本地音乐库的问题</title>
      <link>https://xushiqing.uk/2025/10/10/20251010-troubleshooting-sonos-can-not-refresh-music-library/</link>
      <pubDate>Fri, 10 Oct 2025 08:52:04 +0800</pubDate>
      <guid>https://xushiqing.uk/2025/10/10/20251010-troubleshooting-sonos-can-not-refresh-music-library/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e65ed9d1&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e65ed9d1&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1760056790-20251010-troubleshooting-sonos-can-not-refresh-music-library-banner.jpg&#34; alt=&#34;20251010-troubleshooting-sonos-can-not-refresh-music-library-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e65ed9d1&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我的 Sonos 音箱连接了一个局域网内通过 SMB 协议共享的音乐文件夹，近期一直能正常收听，没发现什么异常。最近想向那个文件夹里添加一些音乐，在 Windows 笔记本上远程挂载这个文件夹时发现无法挂载。&lt;/p&gt;&#xA;&lt;p&gt;于是打开 sonos 尝试刷新本地音乐库，发现也是无法刷新的。检查了一下共享文件夹的设置，没有什么问题，但就是多次尝试都无法刷新。尝试重启了一下 sonos 音箱，问题依旧存在。&lt;/p&gt;&#xA;&lt;p&gt;琢磨了一下，感觉重启音箱的思路是错误的，因为在 Windows 上也无法挂载这个文件夹，问题应该出在媒体服务器本身，而不是音箱。于是重启了媒体服务器，之后果然可以正常挂载和刷新本地音乐库了。&lt;/p&gt;&#xA;&lt;p&gt;像很多时候一样，问题解决了，但是没有找到问题的根源。&lt;/p&gt;&#xA;&lt;p&gt;回想一下，这个用 N1 盒子刷机制作的家庭媒体小服务器的 SMB 服务已经出过很多次类似问题了，有时候尝试多次无法挂载也挺令人崩溃的。&lt;/p&gt;&#xA;&lt;p&gt;不过好在日常不去折腾它的话，大部分时候很可靠，已经用了这么多年，依然在默默服役。前阵子一度非常想买一台近期比较火的矿渣 OECT，百元左右，跟当初买 N1 盒子的价格差不多。不过权衡之下觉得实在没有必要，N1 的性能完全能满足我的日常需求，何必花时间精力去折腾一台新的设备呢。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>把 iCloud 迁移到中国区</title>
      <link>https://xushiqing.uk/2025/10/08/20251008-move-icloud-to-mainland-china-region/</link>
      <pubDate>Wed, 08 Oct 2025 10:15:51 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/10/08/20251008-move-icloud-to-mainland-china-region/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e61f11ef&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e61f11ef&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1759890307-20251008-move-icloud-to-mainland-china-region-banner.jpeg&#34; alt=&#34;20251008-move-icloud-to-mainland-china-region-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e61f11ef&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;前段时间 iCloud 2T 版价格从 249 土耳其里拉暴涨到 399 里拉，涨幅高达 60%。涨价后的价格折合人民币已经超过 68 元，也就是超过中国区的价格了，再考虑到在支付渠道上的损耗，继续待在土耳其区显然已经不划算。&lt;/p&gt;&#xA;&lt;p&gt;对比了一下&lt;a href=&#34;https://icloud.owo.nz/&#34;&gt;各区的价格&lt;/a&gt;，在写本文的时间点，中国区 68 元的价格已经算相对便宜了。更便宜的区也不是没有，比如尼日利亚区、俄罗斯区比中国区便宜 20 元左右，而印度、巴基斯坦等区域与中国区的价格差就已经完全不值得折腾了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-58363271&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-58363271&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1759890325-20251008-move-icloud-to-mainland-china-region-pricing-comparison.png&#34; alt=&#34;20251008-move-icloud-to-mainland-china-region-pricing-comparison&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-58363271&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;思来想去，如果折腾搬到尼日利亚区，初期要耗费的精力不说，后面说不定何时也会像土耳其区一样来一波巨幅涨价，就又白折腾了，不如干脆搬到中国区。&lt;/p&gt;&#xA;&lt;p&gt;我在 Twitter 上提出这个想法的时候，有推友说搬到哪里也不要搬到云上贵州啊。&lt;/p&gt;&#xA;&lt;p&gt;不过这个问题我早就想过了，搬到中国区并不意味着我的数据就会存储到云上贵州，因为我是通过家庭共享的方式来搬家。即以一个中国区的账号来购买，并且分享给位于其它区的账号。&lt;/p&gt;&#xA;&lt;p&gt;此前要跟媳妇共享存储空间时我也担心过空间是否能共享的问题，她的数据位于云上贵州，而我之前都是靠土区的账号共享给美区账号使用。土区与美区毕竟没什么隔离，而云上贵州则不一定了。好在经过测试，将她的账号加入到家庭组之后，完全没有问题，数据依然存储在各自账号所属区域的服务器。&lt;/p&gt;&#xA;&lt;p&gt;从另一个角度说，即使要存储在云上贵州，我也觉得无所谓了。相关心态的转变我在谈&lt;a href=&#34;https://xushiqing.uk/2025/08/25/useing-wps-and-wetype/&#34;&gt;使用 WPS 与微信输入法&lt;/a&gt;那篇中已经谈到过。&lt;/p&gt;&#xA;&lt;p&gt;恰逢苹果在京东的店铺前段时间搞了一波促销，以 693 元的价格购买了一年，折合每个月不到 58 元，已经比印度区还便宜一点了。&lt;/p&gt;&#xA;&lt;p&gt;这两天兑换时出现一点小问题。我在主力机上登录的是美区账号，从京东点击&lt;code&gt;去使用&lt;/code&gt;跳转到 App Store，自然是不会成功。然后切换到中国区账号，结果也始终无法兑换。&lt;/p&gt;&#xA;&lt;p&gt;具体表现为，页面提示按两下电源键兑换，按完之后刷脸，刷完后会自动跳转回这个页面，再次按两下电源键，进入这种循环。大概循环个四五次之后，弹出页面说兑换优惠时出错，请稍后再试。&lt;/p&gt;&#xA;&lt;p&gt;试了几次没能成功，感觉可能是需要在设置里面把 iCloud 账号也切换到中国区。于是掏出备用机切换账号，因为好久没用过这部手机，还被要求等待一小时才能切换。&lt;/p&gt;&#xA;&lt;p&gt;先取消了土耳其区的订阅，然后在备用机上顺利兑换了，并分享给家庭成员账号。&lt;/p&gt;&#xA;&lt;p&gt;计划明年到期前关注一下苹果在京东上是否继续有活动，运气好的话可以继续以优惠的价格进行订阅。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>解决电信网络下无法访问 Ingress 的问题</title>
      <link>https://xushiqing.uk/2025/10/06/20251006-troubleshooting-for-china-telecom-can-not-access-ingress/</link>
      <pubDate>Mon, 06 Oct 2025 13:41:53 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/10/06/20251006-troubleshooting-for-china-telecom-can-not-access-ingress/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e7e1d9c5&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e7e1d9c5&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1759659870-20251006-troubleshooting-for-china-telecom-can-not-access-ingress-banner.jpg&#34; alt=&#34;20251006-troubleshooting-for-china-telecom-can-not-access-ingress-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e7e1d9c5&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我的广州电信卡从某个时间点开始无法访问 Ingress 游戏，由于只有在这一种网络条件下无法访问，我也没想过是不是跟梯子有关，默认是电信的问题，于是改用老家的联通卡。&lt;/p&gt;&#xA;&lt;p&gt;随着使用流量越来越多，联通卡的 20G 流量开始变得捉襟见肘，前两天不得不又插上了电信的卡。意外的是这次可以访问 Ingress 了。正当我以为后面可以继续使用这张卡时，手机更新了一下系统，再次无法访问了。&lt;/p&gt;&#xA;&lt;p&gt;此外我还发现这个站点的图片代理地址用这张电信卡也无法访问，会将图片显示为占位符。&lt;/p&gt;&#xA;&lt;p&gt;这激起了我的兴趣，如果只是 Ingress 的话，我可能没有动力去解决，但现在多了一个观察对象，并且这个观察对象跟 Ingress 不同的一点是没有被墙。&lt;/p&gt;&#xA;&lt;p&gt;经过试验，如果关掉梯子，这个图片代理的地址是可以访问的，也就是说这事儿本质上还是跟梯子的设置有关。&lt;/p&gt;&#xA;&lt;p&gt;于是我试着调整了一下小火箭的里的设置项，无果。跟 Gemini 聊了一下这个问题，Gemini 建议可以试试开全局模式，如果全局管用，那就可以把相关域名加入到配置列表里。&lt;/p&gt;&#xA;&lt;p&gt;我印象里以前发现无法访问 Ingress 时就尝试过几次开全局模式的，无效。这回试了一下，居然真的可以访问 Ingress 了，也可以访问本站的图片代理地址。&lt;/p&gt;&#xA;&lt;p&gt;于是把如下规则加入了配置文件。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;DOMAIN-KEYWORD,niantic,PROXY&#xA;DOMAIN-KEYWORD,ingress,PROXY&#xA;DOMAIN-SUFFIX,webp.li,PROXY&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;之后就就可以在配置模式下正常访问了。&lt;/p&gt;&#xA;&lt;p&gt;此外需要注意的就是，我在使用的配置文件是网友分享的，可以在线更新。更新之后自己手动加入的规则会被覆盖掉，需要重新手动添加。&lt;/p&gt;&#xA;&lt;p&gt;总结下来，应当是这几个域名没有被其他运营商封禁，甚至连电信的宽带也没有封禁，但是电信蜂窝网络出于某种原因实施了更严格的封禁策略。&lt;/p&gt;&#xA;&lt;p&gt;不过还有一点无法解释，就是前几天刚换到这张电信卡时是可以访问 Ingress 的。以及为何我以前开了全局也无法访问，虽然可能是自己记错了。&lt;/p&gt;&#xA;&lt;p&gt;总之，现在终于有足够的流量可以使用了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>退烧办公外设</title>
      <link>https://xushiqing.uk/2025/10/03/20251003-back-to-simple-on-office-peripherals/</link>
      <pubDate>Fri, 03 Oct 2025 21:24:41 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/10/03/20251003-back-to-simple-on-office-peripherals/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-22e83587&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-22e83587&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/10/1759499847-20251003-back-to-simple-on-office-peripherals-banner.jpg&#34; alt=&#34;20251003-back-to-simple-on-office-peripherals-banner&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-22e83587&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;最近看到罗技终于推出了 MX Master 4 鼠标，这一款我一度等了很久的产品。当几年前想买 MX Master 3 的时候，意识到这是一款 2019 年发布的产品，想等 4 再买，后来 22 年出了 3s，也还是觉得应该等一下 4。&lt;/p&gt;&#xA;&lt;p&gt;现在 4 终于发布了，我却已经不想花这么多钱买一个鼠标了，早就对鼠标键盘这些外设退烧了。&lt;/p&gt;&#xA;&lt;p&gt;几个月前当我需要购买一套新的键盘鼠标用于新工地的办公时，我没有像以前那样购买机械或静电容键盘，而是买了跟家里那个用了好几年的同型号的一款罗技薄膜键盘。也没有购买昂贵的罗技办公鼠标，而是又买了一个几十块钱的国产鼠标，第一次买的时候曾经&lt;a href=&#34;https://xushiqing.uk/2024/11/12/setting-new-mouse/&#34;&gt;写过&lt;/a&gt;，这次是另一个型号。&lt;/p&gt;&#xA;&lt;p&gt;机械键盘我买过好几个 cherry 的，都在无数次搬家中不知遗失在哪里了。后来咬牙买了燃风的静电容键盘，极为喜欢静电容的手感。一度觉得自己的思维跟不上键盘和手速，有点对不起这个键盘。&lt;/p&gt;&#xA;&lt;p&gt;后来离开北京时，把键盘交给小李让她帮忙挂咸鱼，没多久就以一个比我购入时更高的价格给卖掉了，respect。&lt;/p&gt;&#xA;&lt;p&gt;再后来似乎就对键盘不感兴趣了，一直在用罗技的薄膜键盘。手感当然比机械键盘或者静电容键盘差很远，但又有什么关系呢，实际上也很好用，至少比 mac 自带的键盘好用很多了。&lt;/p&gt;&#xA;&lt;p&gt;至于鼠标，我甚至没有买过任何一款贵的鼠标，一直在用着罗技的百元多价位的办公鼠标，默默等待 MX Master 4 的发布，直到买到几十块钱用着也不赖的国产鼠标。&lt;/p&gt;&#xA;&lt;p&gt;这样挺好的，倒也不觉得丧失了一样兴趣爱好有什么值得遗憾的，反而是省钱了令人愉悦。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>把本站点从 Github Pages 迁移到 Cloudflare Pages</title>
      <link>https://xushiqing.uk/2025/09/26/20250926-move-hexo-site-to-cloudflare-pages/</link>
      <pubDate>Fri, 26 Sep 2025 08:20:43 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/26/20250926-move-hexo-site-to-cloudflare-pages/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-197c94f2&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-197c94f2&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1758846138-1758846120-20250926-mountain-fuji-Cloudflare.jpg&#34; alt=&#34;20250926-mountain-fuji-Cloudflare&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-197c94f2&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;这个 Hexo 站点此前一直是托管于 GitHub Pages，生成后的内容及源文件分别位于同一个仓库的两个分支，源文件位于主分支，部署文件位于 Hexo 分支。图片也直接放在 _post/assets 文件夹内，每次部署完成后将源文件推送到主分支进行备份以及多台设备之间同步。&lt;/p&gt;&#xA;&lt;p&gt;这样的方案主要缺点是加载速度慢，尤其是图片资源，百十来 kb 的截图类内容还好说，放照片的话加载速度是难以忍受的。不过我一直将站点是为日记本来用，并没有其他读者访问，所以没有优化的动力。&lt;/p&gt;&#xA;&lt;p&gt;近期折腾比较多，在研究图片托管方案时才知道其实 Cloudflare 也有 Pages 服务，迁移起来也比较方便，只要连接一下 GitHub 上原来的这个仓库即可。考虑到域名、图片都是用的 Cloudflare 的免费服务了，干脆直接把整个站点迁移过来。&lt;/p&gt;&#xA;&lt;p&gt;过程比较简单就不赘述了，迁移过来之后顺便改了一下原始仓库的名字。因为之前部署在 GitHub Pages 上时，GitHub 对 Pages 仓库名字有固定格式要求，即 &lt;code&gt;yourname.github.io&lt;/code&gt;, 这个名字太长了不太方便。Cloudflare 没有这方面的要求，就可以设置一个比较短的仓库名字。&lt;/p&gt;&#xA;&lt;p&gt;迁过来之后部署流程也简化了。以前需要本地生成、部署，然后推送源文件到 GitHub 进行备份，现在则只要推送即可了，Cloudflare Pages 侦测到仓库的变化后自动进行部署，几乎是实时的。&lt;/p&gt;&#xA;&lt;p&gt;不过我通常还是会先本地生成预览一下再推送，所以总体上工作量没减少，只是逻辑变化了。&lt;/p&gt;&#xA;&lt;p&gt;也有一个小小的缺点是，以前有一些没写完的草稿，可以先推送的远端仓库，下一次在另一台设备上继续写。现在一推送就会被生成部署，就不能这么操作了，选用了其他的草稿同步方案。不过问题也不大，之前那种形式，也只适用于一篇草稿，现在逐渐会有多篇草稿共存的情况，本来也需要采用其他同步方案了。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>尝试极为简约且可爱的 ʕ•ᴥ•ʔ Bear Blog</title>
      <link>https://xushiqing.uk/2025/09/14/20250914-try-the-bearblog/</link>
      <pubDate>Sun, 14 Sep 2025 20:33:45 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/14/20250914-try-the-bearblog/</guid>
      <description>&lt;p&gt;偶然间发现了一个 &lt;a href=&#34;https://bearblog.dev/&#34;&gt;ʕ•ᴥ•ʔ Bear&lt;/a&gt; 博客平台，看上去没有任何花里胡哨的东西，非常轻量级，关键是有个极为可爱的熊头颜文字，于是决定尝试一下。&lt;/p&gt;&#xA;&lt;p&gt;我本来以为 &lt;a href=&#34;https://bearblog.dev/&#34;&gt;ʕ•ᴥ•ʔ Bear&lt;/a&gt; 也是那种自部署的博客，结果并非如此，作者明确表示无法自部署，只能在作者提供的平台上写作。&lt;/p&gt;&#xA;&lt;p&gt;首页上列出了一些这个平台的特点，隐私、快速、简洁，专注于写作等。当然也提供自定义域名、RSS 订阅等基础功能，愿景是 &lt;a href=&#34;https://herman.bearblog.dev/manifesto/&#34;&gt;Built to last forever&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-72fff130&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-72fff130&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757853611-bear-blog-dev.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-72fff130&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ʕ•ᴥ•ʔ Bear 有一个 Discovery Feed 频道，用户写作的内容会展示在这上面，方便用户之间互相发现、交流。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-75141077&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-75141077&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757853853-bear-blog-discover-feed.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-75141077&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;日常都用 hexo 博客写作，我还是比较喜欢这种自部署站点的模式。但也不得不承认，这样写作发布流程比较复杂。而且我这种人有个毛病，容易花大量时间去折腾工具，而忘记了工具只是为了辅助达成目的，写作才是目的。&lt;/p&gt;&#xA;&lt;p&gt;其实从近期发布的内容也能明显看出来，写的内容有很多只是在记录折腾这个站点的过程，而很少产出与折腾本身无关的东西(´⊙ω⊙`)&lt;/p&gt;&#xA;&lt;p&gt;于是想着尝试一下这个 ʕ•ᴥ•ʔ Bear 平台，就注册并同步发布 hexo 上的内容。本来想的是以后长期两个平台发布，不过刚发一两篇我就发现这事儿我想简单了，免费账户虽然可以发布内容，但另外的几乎所有功能都是要升级账户才行。甚至不能被搜索引擎索引，几乎相当于私密笔记本了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-59b11742&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-59b11742&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757854288-bear-blog-upgrade.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-59b11742&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;5 刀每月不能说很贵，但对我来说是一笔没有必要的额外支出了。还是继续主力在 hexo 上发布，如果想得起来，就复制一份到  ʕ•ᴥ•ʔ Bear 上。&lt;/p&gt;&#xA;&lt;p&gt;毕竟别的不说，这博客实在太可爱了，而且 Discovery Feed 页面上经常能看到一些有意思的文章。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>使用 PicGo 配合 Cloudflare R2 优化博客图片上传体验</title>
      <link>https://xushiqing.uk/2025/09/13/20250913-setting-up-picgo-with-r2-bucket/</link>
      <pubDate>Sat, 13 Sep 2025 20:34:19 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/13/20250913-setting-up-picgo-with-r2-bucket/</guid>
      <description>&lt;p&gt;上次在 &lt;a href=&#34;https://xushiqing.uk/2025/09/09/cloudflare-R2-as-blog-image-hosting/&#34;&gt;把Cloudflare R2 Bucket 作为博客图床&lt;/a&gt; 中记录了图片托管方案的变更，切换到这个方案之后图片的载入速度确实有了质的提升，不过写作过程中直接在 R2 Bucket 页面上上传图片、获取链接非常不方便，所以需要用到 &lt;a href=&#34;https://github.com/Molunerfinn/PicGo&#34;&gt;PicGo&lt;/a&gt; 这个软件来优化图片上传的流程。&lt;/p&gt;&#xA;&lt;h2 id=&#34;安装-picgo-及-s3-插件&#34;&gt;安装 PicGo 及 S3 插件&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/Molunerfinn/PicGo&#34;&gt;PicGo&lt;/a&gt; 本体并不直接支持 Cloudflare R2，但是可以通过 &lt;a href=&#34;https://github.com/wayjam/picgo-plugin-s3&#34;&gt;picgo-plugin-s3&lt;/a&gt; 这个插件来获得支持。下载安装好 PicGo 之后，先去插件设置页面搜索并安装 S3 插件。不过这第一步就遇到了问题，这个搜索框里是搜索不到任何插件的。从网上的讨论来看，这个问题已经存在很久了，于是转为手动安装。&lt;/p&gt;&#xA;&lt;p&gt;在终端里进入&lt;code&gt;C:\Users\yourusername\AppData\Roaming\picgo&lt;/code&gt;，运行&lt;code&gt;npm install picgo-plugin-s3&lt;/code&gt;即可安装。&lt;/p&gt;&#xA;&lt;p&gt;安装完成后重启 PicGo，即可在左侧的&lt;code&gt;插件设置&lt;/code&gt;里看到 Amazon S3 插件了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-0391758c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-0391758c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757767926-picgo-plugin-dashboard.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-0391758c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置-bucket-访问-api&#34;&gt;配置 Bucket 访问 API&lt;/h2&gt;&#xA;&lt;p&gt;要实现通过 PicGo 上传图片，需要先为 Bucket 配置好访问的 API。&lt;/p&gt;&#xA;&lt;p&gt;首先进入 Bucket 的管理面板，点击右侧的 API，在弹出的下拉列表中点击 &lt;code&gt;Manage API Tokens&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-a5765ca1&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-a5765ca1&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757769099-r2-manage-api-tokens.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-a5765ca1&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;进去之后，点击右侧的 &lt;code&gt;Create Account API token&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b3ab33fd&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b3ab33fd&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757769294-r2-create-api-token.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b3ab33fd&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;进入之后设置一个 Token name，权限选择读写，然后指定要使用的 Bucket ，最后点击右下角的&lt;code&gt;Create Account API token&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-86c6ae4c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-86c6ae4c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757769491-r2-create-account-api-token.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-86c6ae4c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;在接下来的页面中会展示几个需要填到 PicGo 中的字段，只会展示一次，可以先复制下来。&lt;/p&gt;&#xA;&lt;p&gt;分别是：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Access Key ID&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Secret Access Key&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;jurisdiction-specific endpoints&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;最后点击finish即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4222d5e6&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4222d5e6&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757771712-r2-account-api-token-keys.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4222d5e6&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;设置-picgo&#34;&gt;设置 PicGo&lt;/h2&gt;&#xA;&lt;p&gt;接下来打开 PicGo，点击 Amazon S3 插件，填入刚才获取到的三个字段。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;应用密钥 ID&lt;/code&gt; 即 &lt;code&gt;Access Key ID&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;应用密钥&lt;/code&gt; 即 &lt;code&gt;Secret Access Key&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;自定义节点&lt;/code&gt; 即 &lt;code&gt;jurisdiction-specific endpoints&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-36712dfb&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-36712dfb&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757768517-s3-plugin-setting-1.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-36712dfb&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-29c2ae92&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-29c2ae92&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757770319-s3-plugin-setting-2.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-29c2ae92&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;桶名就填用于存在图片的Bucket的名字。&lt;/p&gt;&#xA;&lt;p&gt;自定义输出URL，填写之前为 Bucket 设置的自定义域名，后面加一个 &lt;code&gt;/{path}&lt;/code&gt;,例如这样：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;https://img.youdomin.com/{path}&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;其中 &lt;code&gt;{path}&lt;/code&gt; 部分会被自动替换为设置的上传文件路径。&lt;/p&gt;&#xA;&lt;p&gt;上传文件路径的路径取决于自己的偏好，我选择以月为单位组织图片文件夹，故设置为&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;{year}/{month}/{timestamp}-{fileName}&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;这种格式，上传时会自动获取 &lt;code&gt;年/月/自动生成时间戳-文件名&lt;/code&gt;的信息，并作为链接的后缀。&lt;/p&gt;&#xA;&lt;p&gt;设置好之后点击确定，并设置为默认图床。&lt;/p&gt;&#xA;&lt;p&gt;之后上传的图片在 Bucket 面板里展示的文件名如图，其中最左边的数字部分是自动生成的时间戳，这样即使上传同样文件名的图片，也会有不同的名字，不会产生后一张图片踢掉前一张的情况。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-2ddc1dbd&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-2ddc1dbd&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757771014-r2-pic-timestamp.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-2ddc1dbd&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;设置完成，就可以通过 PicGo 上传图片，上传完自动获取图片链接到剪切板，可以直接贴到文章中，写作流程顺畅许多。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>把 Cloudflare R2 Bucket 作为博客图床</title>
      <link>https://xushiqing.uk/2025/09/09/20250909-cloudflare-r2-as-blog-image-hosting/</link>
      <pubDate>Tue, 09 Sep 2025 08:35:12 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/09/20250909-cloudflare-r2-as-blog-image-hosting/</guid>
      <description>&lt;p&gt;这个 Hexo 博客是搭建在 GitHub Pages 上的，没有使用单独的图床，而是在创建博客文件时在同一个目录下自动创建一个同名的 assets 文件夹，图片存放在这个文件夹里，与博客的 md 文件一同托管在 Github 上。这种方案虽然方便，不过有两个问题，一是 Github 在中国大陆的访问速度非常缓慢，图片加载困难，二是随着时间的推移，博客出库的体积会越来越大，&lt;code&gt;clone&lt;/code&gt;,&lt;code&gt;push&lt;/code&gt;和&lt;code&gt;deploy&lt;/code&gt;等操作都会比较耗时。故决定折腾一下图床。&lt;/p&gt;&#xA;&lt;h2 id=&#34;独立图床的优势&#34;&gt;独立图床的优势&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;一劳永逸的解决方案&lt;/strong&gt;：一次配置，永久享受。再也不用担心图片加载速度，也不用关心底层实现。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;资产的集中与复用&lt;/strong&gt;：所有图片都在一个地方，清晰明了。任何文章都可以方便地引用任何一张图片，实现了资源的&lt;strong&gt;全局复用&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;主仓库永远轻量&lt;/strong&gt;：博客仓库将保持干净和高效，以后部署和迁移都非常方便。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;专业的工作流&lt;/strong&gt;：这是业界公认的最佳实践。将代码（Markdown）和静态资源（图片）分离管理，符合现代 Web 开发的普遍原则。&lt;/p&gt;&#xA;&lt;p&gt;主流的方案是 jsDeliver 和 Cloudflare R2，对比了一下，出于减少维护工作的考虑，选择了后者。&lt;/p&gt;&#xA;&lt;h3 id=&#34;设置过程&#34;&gt;设置过程&lt;/h3&gt;&#xA;&lt;h3 id=&#34;创建-r2-bucket&#34;&gt;创建 R2 Bucket&lt;/h3&gt;&#xA;&lt;p&gt;登录 Cloudflare 账户，在左侧菜单找到并进入 R2。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-cad6dba9&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-cad6dba9&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/cloudflare-dashboard-R2.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-cad6dba9&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;创建 bucket&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-272d5a2a&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-272d5a2a&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/cloudflare-create-bucket.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-272d5a2a&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;输入 Bucket name，点击 &lt;code&gt;create bucket&lt;/code&gt;完成创建&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-bfaef4e0&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-bfaef4e0&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/cloudflare-create-bucket-name.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-bfaef4e0&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;创建完成之后，在设置中绑定一个自定义域名，可以使用已经由 cloudflare 管理的域名的子域名，我在这里用了博客域名的子域名。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-d801c9a5&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-d801c9a5&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/cloudflare-bucket-custom-domains.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-d801c9a5&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;创建完成之后效果如图，就可以通过网络访问这个 Bucket 里的资源了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-9e10c19a&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-9e10c19a&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/cloudflare-bucket-custom-domains-added.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-9e10c19a&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2&gt;&lt;/h2&gt;&#xA;&lt;p&gt;至此已经可以通过 R2 来托管图片，实现存储与分发的分离，加速博客图片的加载速度。&lt;/p&gt;&#xA;&lt;h2 id=&#34;后续折腾计划&#34;&gt;后续折腾计划&lt;/h2&gt;&#xA;&lt;p&gt;不过手动上传图片粘贴链接还是有一些问题。&lt;/p&gt;&#xA;&lt;p&gt;一是操作比较麻烦，计划后面设置一下 &lt;a href=&#34;https://github.com/Molunerfinn/PicGo&#34;&gt;PicGo&lt;/a&gt; ，简化图片上传的工作流；&lt;/p&gt;&#xA;&lt;p&gt;二是可维护性可能存在问题，比如后续更换了图床的地址之类的，需要逐个图片替换链接。尝试在 _config.yml 里设置图床地址以增强可维护性，但失败了，尚未找到原因后面有时间再研究吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>关闭 Windows 的搜索服务</title>
      <link>https://xushiqing.uk/2025/09/05/20250905-disable-windows-search/</link>
      <pubDate>Fri, 05 Sep 2025 08:25:48 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/05/20250905-disable-windows-search/</guid>
      <description>&lt;p&gt;工地配发的电脑是一台几年前生产、 经历过好几任主人的 thinkpad T14，处理器型号为 11th Gen Intel(R) Core(TM) i7-1165G7，尽管系统安装的是已经比较精简的 Windows 10 企业版 LTSC，但使用起来依然比较卡顿。&lt;/p&gt;&#xA;&lt;p&gt;考虑到这台设备还没走到其主动报废年限，我不能申请新的设备，为了优化办公体验只能自行寻找一些优化点，关掉系统的搜索服务是今天的突发奇想。&lt;/p&gt;&#xA;&lt;p&gt;其实不论是在 Windows 还是 macOS 系统上，我都很少用系统自带的搜索功能，主要是不好用。Windows 上通常会用启动器软件来搜索应用程序，配合 everything 搜索文件，macOS 自带的 spotlight 虽然也不错，不过第三方软件还是更好。&lt;/p&gt;&#xA;&lt;h2 id=&#34;关闭方法&#34;&gt;关闭方法&lt;/h2&gt;&#xA;&lt;p&gt;关闭方法比较简单，按&lt;code&gt;win+R&lt;/code&gt;，输入&lt;code&gt;services.msc&lt;/code&gt;，在弹出的窗口里找到&lt;code&gt;windows search&lt;/code&gt;，双击该服务，点击停止，然后在启动类型中选择&lt;code&gt;禁用&lt;/code&gt;即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-55b866c7&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-55b866c7&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757830463-services_msc.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-55b866c7&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-1130abf6&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-1130abf6&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757830481-disable_search.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-1130abf6&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;替代工具&#34;&gt;替代工具&lt;/h2&gt;&#xA;&lt;p&gt;启动器目前用的是 &lt;a href=&#34;https://github.com/Flow-Launcher/Flow.Launcher&#34;&gt;Flow Launcher&lt;/a&gt;，文件搜索服务使用 everything。macOS 上使用的 &lt;a href=&#34;https://www.raycast.com/&#34;&gt;Raycast&lt;/a&gt; 正在筹备 Windows 版，推出后应该会转过去。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>一个把 X 变回 Twitter 的浏览器插件</title>
      <link>https://xushiqing.uk/2025/09/04/20250904-control-panel-for-twitter/</link>
      <pubDate>Thu, 04 Sep 2025 08:16:28 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/04/20250904-control-panel-for-twitter/</guid>
      <description>&lt;p&gt;自打马一龙收购 Twitter 并将其变为 X 以来，这个我从 2009 年开始用的社交网络平台就变得原来越难于使用，成为了众多营销号天堂平台中的其中一个，而不再是以前人们形容的小酒馆。&lt;/p&gt;&#xA;&lt;p&gt;当然，客观来说，马一龙进驻以前就有一个逐渐变化的过程，只是他使这个进程大大加速了。企业要赚钱，可以理解。前两天一个朋友说，偶然发现你居然还在&lt;strong&gt;坚持&lt;/strong&gt;使用Twitter。一开始看到&lt;strong&gt;坚持&lt;/strong&gt;两个字我还觉得有点儿离谱，但仔细想想，是的，用这个东西是需要坚持才能用得下去的。&lt;/p&gt;&#xA;&lt;p&gt;不过还是有一些方法让其稍微好用一点点，比如这个浏览器插件 &lt;a href=&#34;https://github.com/insin/control-panel-for-twitter?tab=readme-ov-file&#34;&gt;&lt;strong&gt;Control Panel for Twitter&lt;/strong&gt;&lt;/a&gt; ，基本上能把 X 变回以前 Twitter 的样子。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-a51bb1d1&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-a51bb1d1&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757830545-chrome_store_screenshot.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-a51bb1d1&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;抛开能刷到的内容不谈，用上这个插件之后确实可以说熟悉的感觉又回来了，访问网页时能够看到久违的蓝色小鸟。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-78bd01cc&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-78bd01cc&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757830587-blue_bird.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-78bd01cc&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;当然，这个只能做到形似，神已经没有了，某种时代早就落幕了。&lt;/p&gt;&#xA;&lt;p&gt;想起当年播客软件 Castro 在中国被封锁，其 Twitter 账号发布了一条通知，之后用谷歌翻译将其翻成中文又发了一遍，&lt;/p&gt;&#xA;&lt;p&gt;其中的&lt;em&gt;Times are dark&lt;/em&gt; 翻译成&lt;strong&gt;时代已经黑了&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e6e0e32e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e6e0e32e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757830599-time_dark.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e6e0e32e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;时代确实已经黑了，谷歌翻译非常会写。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>统一 Win 与 macOS 两台电脑上的博客文件换行符为 LF</title>
      <link>https://xushiqing.uk/2025/09/02/20250902-make-crlf-to-lf/</link>
      <pubDate>Tue, 02 Sep 2025 08:34:04 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/09/02/20250902-make-crlf-to-lf/</guid>
      <description>&lt;p&gt;日常会在两台电脑上更新这个博客，并通过 GitHub 仓库存储和同步博客源文件，一台系统是 win10，另一台是 macOS。大致的工作流是写完并 hexo d 之后，用 &lt;code&gt;git add&lt;/code&gt; &lt;code&gt;git commit&lt;/code&gt; &lt;code&gt;git push&lt;/code&gt; 命令，将本地文件 push 到 GitHub 仓库里。在另一台电脑上写作前先 &lt;code&gt;git pull&lt;/code&gt; 一下，以保证文件的一致性。&lt;/p&gt;&#xA;&lt;p&gt;在这种工作流之下，在 win10 上执行&lt;code&gt;git add&lt;/code&gt; 命令时，会返回一条提醒:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;warning: in the working copy of &#39;source/_posts/xxx.md&#39;, LF will be replaced by CRLF the next time Git touches it&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;这条提醒的意思是： Git 发现一个文件 &lt;code&gt;source/_posts/xxx.md&lt;/code&gt; 目前使用的是 Unix 风格的换行符（LF），但根据 win10 上 Git 的配置，它会在下一次操作这个文件时，自动把换行符转换成 Windows 风格的（CRLF）。&lt;/p&gt;&#xA;&lt;h2 id=&#34;不同操作系统的换行符差异&#34;&gt;不同操作系统的换行符差异&lt;/h2&gt;&#xA;&lt;p&gt;计算机在表示“换行”这个动作时，使用了不同的特殊字符：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;LF (Line Feed, &lt;code&gt;\n&lt;/code&gt;)&lt;/strong&gt;：&lt;strong&gt;Unix / Linux / macOS&lt;/strong&gt; 使用的换行符。可以理解为“换到下一行”。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CRLF (Carriage Return + Line Feed, &lt;code&gt;\r\n&lt;/code&gt;)&lt;/strong&gt;：&lt;strong&gt;Windows&lt;/strong&gt; 使用的换行符。可以理解为“光标回到行首（CR）并换到下一行（LF）”，就像老式打字机一样。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;我遇到的情况就是这样：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在 &lt;strong&gt;mac&lt;/strong&gt; 上编辑和保存文件，文件中的换行符是 &lt;strong&gt;LF&lt;/strong&gt;。&lt;/li&gt;&#xA;&lt;li&gt;把文件同步到了 &lt;strong&gt;Windows&lt;/strong&gt; 电脑上。&lt;/li&gt;&#xA;&lt;li&gt;Windows 上的 Git 检测到了这个来自 macOS 的文件，并提示它将会根据本地（Windows）的习惯来处理换行符。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git-的角色自动转换功能&#34;&gt;Git 的角色：自动转换功能&lt;/h3&gt;&#xA;&lt;p&gt;为了解决跨平台协作时的换行符混乱问题，Git 提供了一个名为 &lt;code&gt;core.autocrlf&lt;/code&gt; 的配置项，它能自动在提交和检出代码时转换换行符。&lt;/p&gt;&#xA;&lt;p&gt;这个配置有三个主要的值：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;true&lt;/code&gt;：这是 &lt;strong&gt;Windows 安装 Git 时的默认设置&lt;/strong&gt;。&#xA;&lt;ul&gt;&#xA;&lt;li&gt;当&lt;strong&gt;提交 (&lt;code&gt;git add&lt;/code&gt;)&lt;/strong&gt; 文件时，Git 会自动将 CRLF 转换为 LF，再存入仓库。&lt;/li&gt;&#xA;&lt;li&gt;当&lt;strong&gt;检出 (&lt;code&gt;git checkout&lt;/code&gt; 或 &lt;code&gt;git clone&lt;/code&gt;)&lt;/strong&gt; 文件时，Git 会自动将仓库中的 LF 转换为 CRLF，方便在 Windows 上查看和编辑。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;input&lt;/code&gt;：这是 &lt;strong&gt;macOS 和 Linux 用户推荐的设置&lt;/strong&gt;。&#xA;&lt;ul&gt;&#xA;&lt;li&gt;当&lt;strong&gt;提交 (&lt;code&gt;git add&lt;/code&gt;)&lt;/strong&gt; 文件时，Git 会将 CRLF 转换为 LF。&lt;/li&gt;&#xA;&lt;li&gt;当&lt;strong&gt;检出 (&lt;code&gt;git checkout&lt;/code&gt;)&lt;/strong&gt; 时，&lt;strong&gt;不做任何转换&lt;/strong&gt;，保留仓库中的 LF。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;false&lt;/code&gt;：关闭自动转换功能。Git 不会理会换行符的差异，看到的是什么，提交的就是什么。这在跨平台协作时容易造成问题。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;当我 &lt;code&gt;git add&lt;/code&gt; 一个 LF 文件时，Git 告诉我：“虽然你现在把它加到暂存区了，但是这个文件在你的工作目录里还是 LF 格式。下次我再‘碰’到它（比如 &lt;code&gt;commit&lt;/code&gt; 之后再 &lt;code&gt;checkout&lt;/code&gt;），我就会把它变成 CRLF 格式。”&lt;/p&gt;&#xA;&lt;h2 id=&#34;解决方法&#34;&gt;解决方法&lt;/h2&gt;&#xA;&lt;p&gt;尽管这个提醒不带来任何问题，不过每次遇到还是略微有点儿烦人，决定统一一下两个操作系统上的换行符风格。&lt;/p&gt;&#xA;&lt;h3 id=&#34;方法一统一两台电脑的-git-配置&#34;&gt;方法一：统一两台电脑的 Git 配置&lt;/h3&gt;&#xA;&lt;p&gt;为了让 Git 的行为在我的所有设备上保持一致和清晰，可以手动设置 &lt;code&gt;core.autocrlf&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在 Win10上&lt;/strong&gt;，打开 Git Bash 或命令行，运行：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git config --global core.autocrlf true&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在 macOS 上&lt;/strong&gt;，打开终端，运行：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git config --global core.autocrlf input&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这样配置后，无论在哪个系统上操作，提交到仓库的文件最终都会被统一为 LF 格式。Windows 会在本地为自动转换，而 Mac 则直接使用 LF，解决了跨平台问题。&lt;/p&gt;&#xA;&lt;h3 id=&#34;方法二使用-gitattributes-文件&#34;&gt;方法二：使用 &lt;code&gt;.gitattributes&lt;/code&gt; 文件&lt;/h3&gt;&#xA;&lt;p&gt;这是在团队协作中，或者希望项目本身就包含配置时最好的方法。它会覆盖个人的全局配置，确保所有使用该仓库的人都遵循同样的规则。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在博客仓库的根目录下，创建一个名为 &lt;code&gt;.gitattributes&lt;/code&gt; 的文件。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在该文件中添加以下内容：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;* text=auto&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将 &lt;code&gt;.gitattributes&lt;/code&gt; 文件 &lt;code&gt;add&lt;/code&gt;, &lt;code&gt;commit&lt;/code&gt;, &lt;code&gt;push&lt;/code&gt; 到 &lt;code&gt;main&lt;/code&gt; 分支。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;\* text=auto&lt;/code&gt; 的作用是：&lt;/strong&gt; Git 会自动判断哪些是文本文件。对于它认为是文本文件的内容，它会在 Windows 上启用 LF ↔ CRLF 的转换，而在 macOS/Linux 上则禁用转换，确保仓库中存储的是 LF。这基本上实现了和方法一同样的效果，但好处是这个配置是跟着项目走的，以后换了新电脑也无需重新配置。&lt;/p&gt;&#xA;&lt;p&gt;为了一劳永逸，我选择了方法二，以后再换电脑、重装系统什么的，也不需要重新设置了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;刷新本地文件&#34;&gt;刷新本地文件&lt;/h2&gt;&#xA;&lt;p&gt;仅添加 &lt;code&gt;.gitattributes&lt;/code&gt;只会改变未来新增的文件，对于本地已经存在的文件，则需让 Git 重新处理一遍。&lt;/p&gt;&#xA;&lt;p&gt;1、删除 Git 暂存区中的所有文件记录，但保留本地文件。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;git rm --cached -r .&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;2、让 Git 重新把所有文件加回暂存区，并刷新工作区。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;git reset --hard HEAD&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;另一个方案则是直接删除本地文件，然后重新拉取一遍。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>关闭 WPS 的稻壳儿自动启动</title>
      <link>https://xushiqing.uk/2025/08/29/20250829-kill-wps-docer-autorun/</link>
      <pubDate>Fri, 29 Aug 2025 22:24:57 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/29/20250829-kill-wps-docer-autorun/</guid>
      <description>&lt;p&gt;前几天谈到开始使用&lt;a href=&#34;https://xushiqing.uk/2025/08/25/useing-wps-and-wetype/&#34;&gt;国产软件 WPS&lt;/a&gt;，不得不说这软件还是有一些非常恶心的行为需要克服。&lt;/p&gt;&#xA;&lt;p&gt;开始使用 WPS 之后在多台设备上都安装了它，包括公司的电脑和我自己的几台电脑，但主要是在公司电脑上使用。每次打开软件之后都会自动打开一个叫稻壳儿的标签页，推广他们的素材库，我找了无数次关闭这个自动启动的入口，却始终找不到。甚至这个东西成为了我不想打开这个软件的重要原因，在自己的设备上还是更倾向于与微软的 office365。&lt;/p&gt;&#xA;&lt;p&gt;直到有一次偶然发现只要在这个标签页上右键，就能看到关闭自动启动的选项了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-1646c795&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-1646c795&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757828321-kill_wps_docer_autorun.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-1646c795&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;由于关闭的方法是如此简单，以至于我痛骂自己怎么这么傻之后，并没有记录一下这个事情。直到最近在一台电脑上重新安装了系统，重新安装 WPS 之后又遇到了这个问题，但是记不起之前是怎么关闭的，又找了一阵才找到关闭的方法。&lt;/p&gt;&#xA;&lt;p&gt;还是记录一下吧，省得之后又想不起来。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>更新 Next 主题至最新版</title>
      <link>https://xushiqing.uk/2025/08/28/20250828-update-hexo-theme-next/</link>
      <pubDate>Thu, 28 Aug 2025 10:33:32 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/28/20250828-update-hexo-theme-next/</guid>
      <description>&lt;p&gt;在这个 Hexo 博客上用的是流行的 Next 主题，偶然看到这个项目依然在更新，而我用的还是好几年前的版本。虽没什么影响，也没关注更新了什么，不过本着用新不用旧的原则，还是决定更新到最新版。&lt;/p&gt;&#xA;&lt;p&gt;更新主题大体上有两种方法，一种是通过 npm 更新，另一种是通过 Git 来更新，具体用哪种方法取决于当初安装时是用的 npm 还是Git。&lt;/p&gt;&#xA;&lt;h2 id=&#34;通过-npm-更新&#34;&gt;通过 npm 更新&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;进入 Hexo 博客根目录&lt;/strong&gt;：打开终端，并切换到 Hexo 项目的文件夹。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;更新主题包&lt;/strong&gt;：执行以下命令，将 &lt;code&gt;hexo-theme-next&lt;/code&gt; 包更新到最新版本：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;npm install hexo-theme-next@latest&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;清理并重新生成&lt;/strong&gt;：更新完成后，最好清理一下旧的缓存和生成文件，然后重新生成网站：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hexo clean&#xA;hexo g&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;预览网站&lt;/strong&gt;：启动本地 Hexo 服务器来预览更改，确保一切显示正常：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hexo s&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;打开浏览器并访问 &lt;code&gt;http://localhost:4000&lt;/code&gt; 来检查效果。&lt;/p&gt;&#xA;&lt;h2 id=&#34;通过git更新&#34;&gt;通过git更新&lt;/h2&gt;&#xA;&lt;p&gt;如果当初是从 GitHub 仓库克隆（clone）的 NexT 主题，更新需要通过 Git 命令来完成。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;进入主题目录&lt;/strong&gt;：打开终端，进入 Hexo 博客根目录下的 &lt;code&gt;themes/next&lt;/code&gt; 文件夹。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cd themes/next&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;拉取最新更改&lt;/strong&gt;：从 NexT 的官方仓库获取并合并最新的更新：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git pull&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：如果曾直接修改过主题文件，可能会遇到合并冲突（merge conflicts）。最好提前将自定义配置分离出来，以避免此类问题。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;清理、重新生成并预览&lt;/strong&gt;：与 npm 方法类似，在拉取更新后，回到博客的根目录并运行以下命令：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cd ../..&#xA;hexo clean&#xA;hexo g&#xA;hexo s&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;然后，在浏览器中预览效果。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;如何管理自定义配置&#34;&gt;如何管理自定义配置&lt;/h2&gt;&#xA;&lt;p&gt;直接修改主题文件夹内的默认配置文件 (&lt;code&gt;_config.yml&lt;/code&gt;) 会在更新时带来麻烦。Next官方推荐的最佳实践是使用“备用主题配置文件”。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;创建自定义配置文件&lt;/strong&gt;：在 Hexo 博客的 &lt;strong&gt;根目录&lt;/strong&gt; 下，创建一个名为 &lt;code&gt;_config.next.yml&lt;/code&gt; 的新文件。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;复制并自定义&lt;/strong&gt;：将需要覆盖的主题配置从 &lt;code&gt;themes/next/_config.yml&lt;/code&gt; 文件中复制到新建的 &lt;code&gt;_config.next.yml&lt;/code&gt; 文件中，并进行修改。这样做可以将自定义配置与主题的核心文件分离开。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在主配置文件中引用&lt;/strong&gt;：在 Hexo 的主配置文件（根目录下的 &lt;code&gt;_config.yml&lt;/code&gt;）中，确保 &lt;code&gt;theme&lt;/code&gt; 的值设置为 &lt;code&gt;next&lt;/code&gt;。自定义配置会自动被加载。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# _config.yml (博客根目录)&#xA;theme: next&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;通过这种方式，即使在更新主题后，个性化设置也会被保留，因为没有改动主题的原始文件。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;我是如何更新的&#34;&gt;我是如何更新的&lt;/h2&gt;&#xA;&lt;p&gt;我当初是通过GitHub安装的，按理说应该通过 Git 来更新。但是我隐约记得安装时由于 hexo 是部署在 GitHub Pages上，并且也备份在同步个仓库里的 main 分支上，而 Next 主题也是通过 Git 安装，仓库套仓库在备份时造成了一些冲突，还专门创建了一个文件来避免这个问题，所以怕用 Git 更新会带来问题。&lt;/p&gt;&#xA;&lt;p&gt;所以想着干脆重新用 npm 的方法安装一遍，以后用 npm 更新，比较省心。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;按上一章节内容备份自定义配置文件。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;删除 &lt;strong&gt;&lt;code&gt;themes\next&lt;/code&gt;&lt;/strong&gt; 文件夹。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;终端进入博客根目录，执行一下命令安装最新版 Next 主题。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;npm install hexo-theme-next@latest&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;后面就是一样的清理、重新生成、本地预览操作了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;npm-安装与-git-安装有何不同&#34;&gt;npm 安装与 Git 安装有何不同&lt;/h2&gt;&#xA;&lt;p&gt;用 Git clone 安装时，主题文件夹被放在themes文件夹下，是 &lt;strong&gt;&lt;code&gt;themes\next&lt;/code&gt;&lt;/strong&gt;  这样的结构，而用 npm 安装则是将 NexT 主题作为一个标准的“程序包”或“依赖项”来安装。所有通过 npm 安装的包，都会被统一存放在项目根目录下一个叫做 &lt;strong&gt;&lt;code&gt;node_modules&lt;/code&gt;&lt;/strong&gt; 的文件夹里，**&lt;code&gt;themes&lt;/code&gt;**文件夹就空了。&lt;/p&gt;&#xA;&lt;p&gt;后面再找时间看看这个跨越好几年的版本有何不同，有没有新的值得折腾的地方。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>更换写字软件主题</title>
      <link>https://xushiqing.uk/2025/08/27/20250827-changing-typora-themes/</link>
      <pubDate>Wed, 27 Aug 2025 08:32:39 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/27/20250827-changing-typora-themes/</guid>
      <description>&lt;p&gt;每次在一台新的或重装了系统的电脑上安装与写字有关的软件，比如Typora、Obsidian、vscode等，总免不了会尝试更换一个喜欢的主题。&lt;/p&gt;&#xA;&lt;p&gt;近期发现的一个Typora的主题非常讨喜，叫做&lt;a href=&#34;https://github.com/linklinco/Typora-Theme-Alise&#34;&gt;Alise&lt;/a&gt;，于是一股脑把几台设备上都换上了这个主题。&lt;/p&gt;&#xA;&lt;p&gt;对于写中文来说，这个主题应用的字体非常赏心悦目，整体设计也挺好看的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-1f977203&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-1f977203&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757830686-Typora-themes-Alise.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-1f977203&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;不过用了一段时间，我还是把工作电脑上的主题换回最简单的GitHub了。因为这个主题的颜色和字体，在别人看起来不像是在工作，而有可能是在看什么网络小说之类的。&lt;/p&gt;&#xA;&lt;p&gt;与之类似的，Obsidian和vscode在工作电脑上的主题也是选了个接近默认浅色主题的主题，使之看起来不像在摸鱼。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>把 Obsidian 当作浏览器</title>
      <link>https://xushiqing.uk/2025/08/26/20250826-obsidian-as-a-browser/</link>
      <pubDate>Tue, 26 Aug 2025 21:05:38 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/26/20250826-obsidian-as-a-browser/</guid>
      <description>&lt;p&gt;偶然发现 Obsidian 的 &lt;a href=&#34;https://help.obsidian.md/plugins/web-viewer&#34;&gt;web-viewer&lt;/a&gt; 功能，可以当做一个浏览器来使用。当然，不能作为主力浏览器，而是在一些特定情形下使用。&lt;/p&gt;&#xA;&lt;p&gt;与普通浏览器相比，Obsidian 最大的特点是可以消除一切干扰，只保留网页主体内容。然后可以方便地将网页一键保存在自己的 vault 中。当需要进行沉浸式阅读与知识捕获时，可以临时用 Obsidian 来访问网页。&lt;/p&gt;&#xA;&lt;p&gt;当然，上述内容都有浏览器插件可以实现，不过实现效果不如直接在 Obsidian 内访问。&lt;/p&gt;&#xA;&lt;p&gt;如果是 Obsidian 深度用户，还有其它很多用法，比如：&lt;/p&gt;&#xA;&lt;p&gt;以下信息由 Gemini 生成&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;strong&gt;项目管理与任务跟踪：&lt;/strong&gt; 许多工作流程需要频繁访问特定的网页应用（如 Trello、Jira、Google Sheets、日历等）。你可以在 Obsidian 中创建一个工作区，将这些网页嵌入到不同的面板中，与你的每日计划笔记、项目笔记并排显示。这样，你无需打开多个应用和浏览器标签，就可以在一个界面中完成任务查看、进度更新和笔记记录。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;内容创作与引用：&lt;/strong&gt; 对于需要大量引用网页内容的作者、学生或研究人员来说，Obsidian 提供了一个完美的写作环境。可以将引用的网页内容嵌入到笔记中，直接在旁边进行二次创作、标注或总结。由于所有内容都存储在本地，即使在离线状态下也可以继续工作。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;创建自定义仪表盘：&lt;/strong&gt; 可以将经常访问的网页（如数据看板、新闻源、项目状态页面等）嵌入到 Obsidian 的 Canvas 或主界面中，创建一个高度个性化的信息仪表盘。这个仪表盘可以根据工作习惯和需求定制，一打开 Obsidian 就能看到所有重要的信息，从而实现一站式的信息入口。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;以上信息由 Gemini 生成&lt;/p&gt;&#xA;&lt;p&gt;我并非一个 Obsidian 深度用户，而只是将其当做一个工作中临时记录东西的笔记本，甚至都没有同步不同设备上的 vault。所以上面由 AI 告诉我的用法我都用不上，也不会用。日常对于将 Obsidian 作为浏览器的用法，最多的是访问 readwise reader 读书时可以让页面更加简洁，读 RSS 订阅或者其他网页内容时可以更方便地保存到本地。以及，摸鱼的时候更加不容易被人发现:)&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>开始使用国产软件WPS和微信输入法</title>
      <link>https://xushiqing.uk/2025/08/25/20250825-useing-wps-and-wetype/</link>
      <pubDate>Mon, 25 Aug 2025 08:41:34 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/25/20250825-useing-wps-and-wetype/</guid>
      <description>&lt;p&gt;多年来，我对于日常使用的软件一直有一些强迫症，或者说洁癖，部分是出于避免泄露隐私的考虑、部分是出于受不了很多国产软件不停弹广告，还有一部分是不太喜欢臃肿的软件。不过近期因为工作的缘故，开始使用两个放在以前的我是绝对不会使用的软件，WPS和微信输入法。&lt;br&gt;&#xA;关于WPS，以前没用过的原因很简单。这款软件存在的历史已经很久远了，我对其印象还停留在大学时同学们遭遇的格式与微软的office套件兼容性不完美，以及前几年听说的丢数据打客服电话无法恢复但是买会员就可以恢复之类的传闻。这些年一直订阅微软的 office 365 家庭版，能够满足一切关于文档处理的需求，当然也就没有理由试用WPS。但是，由于周围太多人用了，我也能大概观察到这个软件的并不怎么好看的界面和弹窗之类的，更是心生厌恶。&lt;/p&gt;&#xA;&lt;p&gt;这次开始使用的契机是，工作中经常需要跟国外的同事开会，组里同事给我展示了WPS的语音速记功能，能够将会议录下来转成文字并翻译，调用的应该是讯飞的服务。这个功能比较切中我的痛点，考虑到直接购买讯飞会员也并不便宜，购买WPS会员的话除了语音速记与翻译还能获得一套办公软件，恰逢购物节于是以每年百元出头的价格直接买了三年大会员。&lt;/p&gt;&#xA;&lt;p&gt;至于输入法，我在不同的平台上有采用不同的解决方案。自打十几年前开始用小狼毫以来，电脑上基本都是用这个。主力机从win切换到mac之后，在mac上用同是基于RIME输入法引擎开发的中州韵输入法，而Windows由于用的少，某次重装系统之后就懒得重新配置输入法，直接用系统内置的微软拼音了。&lt;/p&gt;&#xA;&lt;p&gt;但微软拼音偶尔用一下还行，作为日常输入法的话不太跟手，尤其是它的候选词排序算法我总是不能适应，导致经常输入错别字。最新的这份工作，公司配发的是thinkpad，在使用了一段时间微软拼音之后不得不重新安装了小狼毫，并导入了十几年来积累的个人配置文件。&lt;/p&gt;&#xA;&lt;p&gt;由于这份工作的属性，我有了大量的中英混输需求，这个需求在小狼毫上可以通过修改配置文件来实现，理论上不难，但我在Gemini的帮助下尝试了两三次，均以失败告终。最后心想，别折腾了，就装个国产输入法试试吧。搜狗过于花哨，想起来刚推出不久的微信输入法，看了一下界面比较简洁，于是安装试用。&lt;/p&gt;&#xA;&lt;p&gt;这两个软件试用的效果都超出了我的预期。首先是WPS，除了AI速记之外，我也尝试用它来办公，很多时候比office套件更易用，而且还集成了AI功能。公司有一个我经常会用到的文件模板，不知道为何用word打开编辑时总会比较卡顿，而且格式容易出问题，但用WPS问题就少得多，于是WPS逐渐变成了我的办公套件主力。&lt;/p&gt;&#xA;&lt;p&gt;当然，这个软件喜欢弹窗、喜欢自己打开一些推广页面的问题确实很烦人，我花了一段时间把能关的都找到开关关掉了，禁用了云盘的自启动，这样日常使用不太会被广告骚扰了。&lt;/p&gt;&#xA;&lt;p&gt;至于微信输入法，其在保持软件简洁的前提下，好用程度大大超出了我的预期。尤其是其跨设备同步剪切板的能力，极为方便。&lt;/p&gt;&#xA;&lt;p&gt;我知道，我知道，如果是以前的我，看到这里就会因为隐私泄露的担忧而眉毛倒立了。但是在微信输入法这里我之所以不在意，不是因为相信微信不会泄露，而是因为作为全民IM工具的微信，本身已经能够获取到我个人几乎所有隐私信息了，一个输入法无法把我更多的隐私信息交出去。&lt;/p&gt;&#xA;&lt;p&gt;这个思路颇有点儿破罐儿破摔的意思吧。这个输入法是如此的好用，以至于我连手机上也安装了，替换了一直以来使用的iOS自带输入法。&lt;/p&gt;&#xA;&lt;p&gt;说到iOS自带输入法，一直以来都挺难用的，最烦人的问题是三天两头丢词库，以及莫名卡顿，换成微信输入法之后这些问题都没有了。&lt;/p&gt;&#xA;&lt;p&gt;有了这两个事件的之后，我对软件变得宽容多了，对于所谓的个人隐私保护也不那么执着了。近期发生的另一件事情是在个人电脑上安装了公司的远程及安全软件。以前我在家用自己电脑加班时，是在一个专门的虚拟机里。上周末加班时由于要同时处理的文件比较多，而我的 Mini PC 定位是日常办公，性能并不强劲，板载内存只有24G无法扩展，在虚拟机里办公多少有点儿难为它了。恰逢公司最近在去腾讯化，把原腾讯的iOA软件替换成了自研的工具，于是下载下来直接安装在自己电脑上，不用什么虚拟机了。&lt;/p&gt;&#xA;&lt;p&gt;想起以前用Android时，为了限制国产app，花了很多时间折腾了很多项目，最终收获的可能只是折腾的过程乐趣吧，对个人隐私的保护有没有助力，真的很难说。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>一台电脑输出两路信号到 LG SDQHD 实现分屏显示</title>
      <link>https://xushiqing.uk/2025/08/24/20250824-lg-monitor-split/</link>
      <pubDate>Sun, 24 Aug 2025 16:05:31 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/24/20250824-lg-monitor-split/</guid>
      <description>&lt;p&gt;LG 有一款 SDQHD 型号显示器，比例为 16:18，可以实现 PBP 分屏，获得上下两块 16:9 的屏幕。之前我一般在使用两台电脑同时接入这块屏幕时才使用这个功能，一台电脑则更常作为一整块屏幕来使用。&lt;/p&gt;&#xA;&lt;p&gt;不过 16:18 这个比例并不怎么好用，日常使用时需要经常考虑窗口排列，为此还研究试用了好几款窗口管理软件。最近用小主机比较多，有两个 HDMI 接口，忽然想到一台电脑也可以分两路输出啊，于是试了一下，果然可以，这样就相当于外界两块显示器，不怎么用花精力在一块 16:18 的屏幕上做窗口管理了。&lt;/p&gt;&#xA;&lt;p&gt;试了一下 mac 也可以，一路 typc-c 输出，一路 HDMI 输出。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-792e9e3f&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-792e9e3f&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757828242-macOS-display-settings.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-792e9e3f&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-5568813e&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-5568813e&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757828209-macOS-display-arrange.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-5568813e&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;效果如下，用起来还是不错的，比较可惜的是显示器只有一个 type-c 接口，不然在 mac 上可以两路信号都走 type-c，就不用把线放在右边影响鼠标的使用了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-c0fa9e05&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-c0fa9e05&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757828270-LG-monitor-split.jpeg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-c0fa9e05&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>广州电信光猫改桥接模式</title>
      <link>https://xushiqing.uk/2025/08/22/20250822-guangzhou-telecom-ont-to-bridge-mode/</link>
      <pubDate>Fri, 22 Aug 2025 08:37:39 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/22/20250822-guangzhou-telecom-ont-to-bridge-mode/</guid>
      <description>&lt;p&gt;最近给家里添置了一台小设备做家庭服务器，为了用上设备的 2.5G 的网口，顺便升级了下内网环境。本打算买个 2.5G 交换机，偶然发现如今两百多块钱就能买到带 2 个 2.5G 网口的 WiFi7 路由器了。暂时我也只有一台设备需要 2.5G 网口，索性没买交换机改买路由器了。&lt;/p&gt;&#xA;&lt;p&gt;之前光猫一直是默认的路由模式，甚至一度直接用光猫的 WiFi 信号，现在既然有更好的路由器了，顺便改成桥接模式，让网络环境更稳定一些，后续远程折腾家庭服务器也方便。&lt;/p&gt;&#xA;&lt;h3 id=&#34;前置工作获取宽带账号密码&#34;&gt;前置工作：获取宽带账号密码&lt;/h3&gt;&#xA;&lt;p&gt;使用路由器拨号需要知道宽带的账号密码，有的宽带师傅装机时会写下来贴在光猫上，我之前在别的城市时遇到过。广州这里没有贴，我也不知道账号密码，是打电信客服让他们帮我重置了一下。&lt;/p&gt;&#xA;&lt;p&gt;之前还有一次住在公司提供的公寓里，把自己的锐捷路由器插到光猫上，可以将账号密码复制过去，这次我没有尝试。&lt;/p&gt;&#xA;&lt;h3 id=&#34;登录光猫超级管理员后台&#34;&gt;登录光猫超级管理员后台&lt;/h3&gt;&#xA;&lt;p&gt;网上的很多如何获得超级管理员密码的方法，有找电信师傅要的，有打客服电话要的，还有自己想办法破解出来的，但我这里的电信师傅装机时就跟我说超级管理员密码是动态的他也没有，都是用的时候下发，于是也没找他要。&lt;/p&gt;&#xA;&lt;p&gt;偶然发现其实不需要超级管理员密码，只需要在光猫 IP 地址后面加上端口号 8080，用普通账户就能登录后台了，如图：&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-17a417e9&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-17a417e9&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829231-ONT-to-Bridge-01login.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-17a417e9&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;登录后的页面如图：&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-b0cd4fca&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-b0cd4fca&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829246-ONT-to-Bridge-02mainpage.jpeg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-b0cd4fca&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;点击左侧&lt;strong&gt;配置向导&lt;/strong&gt;，可以看到设置路由还是桥接模式的页面，选择桥接模式，点击下一步&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-e49b6b67&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-e49b6b67&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829264-ONT-to-Bridge-03setting-guide.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-e49b6b67&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;下一步无线网络配置，可以根据自己的需求配置，我是直接关掉了&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-013a2daf&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-013a2daf&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829331-ONT-to-Bridge-04modem-network-setting.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-013a2daf&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;接下来 iTV 设置页面，直接下一步即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-81d324bd&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-81d324bd&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829382-ONT-to-Bridge-05itv.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-81d324bd&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;下一个页面，终端密码修改，不用处理直接下一步&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-35bc5db0&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-35bc5db0&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829404-ONT-to-Bridge-06portal-psd-change.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-35bc5db0&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;最后一个页面，配置信息确认，确认拨号类型为&lt;strong&gt;电脑拨号&lt;/strong&gt;，点击完成。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4659149d&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4659149d&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829421-ONT-to-Bridge-07computer-ppoe.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4659149d&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h3 id=&#34;路由器设置拨号&#34;&gt;路由器设置拨号&lt;/h3&gt;&#xA;&lt;p&gt;接下来登录路由器后台，以我这台中兴路由器为例，点击左侧的网络，点击 WAN1（主要），上网方式选择&lt;strong&gt;拨号上网（PPPoE）&lt;/strong&gt;，填写&lt;strong&gt;上网账号&lt;/strong&gt;和&lt;strong&gt;上网密码&lt;/strong&gt;，点击提交。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-4b16ae7f&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-4b16ae7f&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829437-ONT-to-Bridge-08router-ppoe-setting.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-4b16ae7f&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;至此就可以由路由器拨号上网，光猫只提供光电信号转换功能了。&lt;/p&gt;&#xA;&lt;h3 id=&#34;关闭光猫-dhcp-服务可选&#34;&gt;关闭光猫 DHCP 服务（可选）&lt;/h3&gt;&#xA;&lt;p&gt;登录光猫后台（此时可能需要用网线连接光猫的 LAN 口才能登录了），点击&lt;strong&gt;网络&lt;/strong&gt; -&amp;gt; &lt;strong&gt;IPV4 设置&lt;/strong&gt;,取消勾选 DHCP Server。IPv6 配置里也同样设置。点击&lt;strong&gt;保存/应用&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-044051dc&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-044051dc&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829450-ONT-to-Bridge-09IPV4DHCP.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-044051dc&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-fe17e206&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-fe17e206&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757829470-ONT-to-Bridge-10ipv6DHCP.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-fe17e206&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h3 id=&#34;结语&#34;&gt;结语&lt;/h3&gt;&#xA;&lt;p&gt;设置好之后用了几天，说实话网络稳定性没感觉出有任何区别，因为之前用光猫拨号也挺稳定的。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>为 Outlook 设置开机启动</title>
      <link>https://xushiqing.uk/2025/08/21/20250821-setting-startup-for-outlook/</link>
      <pubDate>Thu, 21 Aug 2025 08:26:55 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/08/21/20250821-setting-startup-for-outlook/</guid>
      <description>&lt;p&gt;由于贵司自研的办公IM工具当前bug还比较多，邮件功能的可用性很差，故找产品申请到了使用第三方邮件客户端的权限，重新开始使用Outlook。&lt;/p&gt;&#xA;&lt;p&gt;在Windows 10系统下，这个IM工具和Outlook都不能随系统启动。Outlook是没有这一设置的开关，而IM工具则是设置了不会生效，大概只是做了前端的开关，后端功能没有做。&lt;/p&gt;&#xA;&lt;p&gt;试过在任务管理器里的启动页面开启，但是这里似乎只有最开始安装软件时软件自己设置了开机启动的软件。不过还是找到一些方法来实现开机启动。&lt;/p&gt;&#xA;&lt;h3 id=&#34;方法-awindows-启动项开关&#34;&gt;方法 A：Windows 启动项开关&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Windows 设置 &amp;gt; 应用 &amp;gt; 启动。&lt;/li&gt;&#xA;&lt;li&gt;在列表中找到Outlook，将其打开。&lt;/li&gt;&#xA;&lt;li&gt;如果列表中没有 Outlook，则用方法 B。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;方法-b启动文件夹&#34;&gt;方法 B：启动文件夹&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;按 Win+R，输入 shell:startup 回车，打开“启动”文件夹。&lt;/li&gt;&#xA;&lt;li&gt;将开始菜单里的 Outlook 快捷方式拖入此文件夹（或右键新建快捷方式，目标指向 OUTLOOK.EXE）。&#xA;&lt;ul&gt;&#xA;&lt;li&gt;常见路径：C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;下次登录 Windows 即会自动启动。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;方法-c任务计划程序&#34;&gt;方法 C：任务计划程序&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;打开“任务计划程序”，创建基本任务。&lt;/li&gt;&#xA;&lt;li&gt;触发器选“登录时”，操作选“启动程序”，程序/脚本指向 OUTLOOK.EXE。&lt;/li&gt;&#xA;&lt;li&gt;完成向导保存。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;实际操作发现方法A行不通，系统设置的应用启动列表展示的开机软件比任务管理器的启动列表里的更少。于是通过方法B成功实现了开机启动。&lt;/p&gt;&#xA;&lt;p&gt;使用Outlook体验本应非常好，但贵司在切换办公系统期间的问题非常多，现在Outlook这里就是没有将组织通讯录同步过来，为了避免出错，当给大量人员发邮件时我需要用网页版。但网页版虽然有通讯录，但只显示个邮箱地址，详情是一点儿也无，所以还是需要先去IM上确认好邮箱地址。网页版是目前bug最少的系统，用的是coremail提供的服务。看到一些技术文档，应该是还在切换期间，估计后续组织通讯录对接完成之后收发邮件可以只在Outlook内完成了。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;记录完这个事儿，遇到一个自研IM工具日历的奇怪bug。我本人对该工具的宽容度是非常高的，因为知道做这个项目非常难，所以邮箱这么重要的功能，遇到bug我都是找解决方案而不抱怨。但日历这个bug真的是值得记录一下。具体表现如下：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;订阅企业微信的日历，反复尝试多次，不成功，只有一个日程被同步了过去；&lt;/li&gt;&#xA;&lt;li&gt;虽有一个日程被同步了过去，但左侧「我的日历」下面又不显示订阅的日历；&lt;/li&gt;&#xA;&lt;li&gt;该日历是在周五，但在周视图上显示在周四，点开这个日程详情，显示的又是周五；&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-90c04e5c&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-90c04e5c&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757821676-im-calendar-error.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-90c04e5c&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;这个bug过于影响日常办公，希望能赶紧解决吧。&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>重新部署基于 Cloudflare workers &amp; pages 的代理</title>
      <link>https://xushiqing.uk/2025/04/14/20250414-re-deploy-cf-proxy/</link>
      <pubDate>Mon, 14 Apr 2025 11:24:44 +0000</pubDate>
      <guid>https://xushiqing.uk/2025/04/14/20250414-re-deploy-cf-proxy/</guid>
      <description>&lt;p&gt;很久之前基于 Cloudflare workers 搭建的自用代理一直稳定运行，即使在 Cloudflare 官方表示要打击代理类应用之后 ，也没出过什么问题，速度也没什么可抱怨的。不过一直有个问题，就是某些相对常用的网站无法访问，例如 z-library。&lt;/p&gt;&#xA;&lt;p&gt;遇到这样的网站通常会临时切换到其它线路，近期操作比较频繁，故寻思对 CF  的这条线路进行升级以改善该状况，查资料发现搭建方法已经有了较大更新。&lt;/p&gt;&#xA;&lt;p&gt;按照教程一路做下来，比较顺利，完成之后解锁了一些之前无法访问的网站，但并非每一个都有效，不过问题不大，没那么常用的网站还是继续通过临时切换线路的方式来解决。&lt;/p&gt;&#xA;&lt;p&gt;考虑到下一次升级时大概率依然要参考网络上最新的方法而不是自己记录下来的过程，此处就不详述过程了，仅简单记录一下步骤。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新建一个 GitHub repo，将 BPB Panel 项目代码同步到该仓库&lt;/li&gt;&#xA;&lt;li&gt;配置并执行 GitHub Actions&lt;/li&gt;&#xA;&lt;li&gt;CF 上创建 Pages，连接到上一步的 GitHub repo&lt;/li&gt;&#xA;&lt;li&gt;绑定自定义域名（可选）&lt;/li&gt;&#xA;&lt;li&gt;设置变量（UUID、PROXYIP、TR_PASS等）&lt;/li&gt;&#xA;&lt;li&gt;创建一个 KV 命名空间并绑定，名称自定义但不能包含 bpb 字眼&lt;/li&gt;&#xA;&lt;li&gt;重试部署 Pages&lt;/li&gt;&#xA;&lt;li&gt;访问自定义域名/panel，检查是否成功部署&lt;/li&gt;&#xA;&lt;li&gt;第一次进入时会被要求修改密码，设置一个强密码&lt;/li&gt;&#xA;&lt;li&gt;配置 BPB 面板参数&lt;/li&gt;&#xA;&lt;li&gt;保存设置&lt;/li&gt;&#xA;&lt;li&gt;导出节点订阅链接。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;之后即可通过相关客户端订阅该链接使用了。&lt;/p&gt;&#xA;&lt;p&gt;总的来说比之前直接在 workers 里复制粘贴一些代码并填个 UUID 和 PROXY_IP 的方式复杂了一点点，但按步骤操作倒也没什么难度。&lt;/p&gt;</description>
    </item>
    <item>
      <title>蜻蜓鼠标 R1 SE 开箱设置</title>
      <link>https://xushiqing.uk/2024/11/12/20241112-setting-new-mouse/</link>
      <pubDate>Tue, 12 Nov 2024 05:03:27 +0000</pubDate>
      <guid>https://xushiqing.uk/2024/11/12/20241112-setting-new-mouse/</guid>
      <description>&lt;p&gt;之前用了一两年的罗技M590鼠标出现一点问题，被人推荐买了个貌似是个国产新品牌的蜻蜓R1 SE。到手发现鼠标个头挺大重量很轻，廉价感比较重，不过不到一百块钱的鼠标也不要啥自行车了。&lt;/p&gt;&#xA;&lt;h3 id=&#34;设置&#34;&gt;设置&lt;/h3&gt;&#xA;&lt;p&gt;无线接收器藏在鼠标底部的仓里，由于电脑没有USB-A接口，就插在外接显示器上了 ，插上后直接就能使用，不过有两个小问题需要设置。&lt;/p&gt;&#xA;&lt;p&gt;一是默认的DPI太低，几乎没法用。厂家也没提供Mac版的驱动，不知如何设置，找半天最后发现有个处于测试状态的网页版驱动，通过其设置好了DPI。后来发现鼠标背部其实是有个切换DPI的按钮和指示灯的，不用找驱动那么麻烦。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-44f292ce&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-44f292ce&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757821796-ATK-mouse-DPI-button.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-44f292ce&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;另外一个问题是鼠标滚轮的滚动方向与习惯的win方向不一致，在系统的鼠标设置里取消勾选自然滚动可解，不过又会导致触控板的方向反转。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-2507f1d4&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-2507f1d4&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757821867-ATK-mouse-scroll-smoothly.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-2507f1d4&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;最后通过第三方软件&lt;a href=&#34;https://github.com/Caldis/Mos&#34;&gt;Mos&lt;/a&gt;解决了问题，这个软件之前就安装了，当时是用于缓解鼠标滚动不够平滑的问题。解决方法很简单，在软件的基础设置里勾选『翻转方向』即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-14f1092a&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-14f1092a&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757821931-ATK-mouse-up-side-down.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-14f1092a&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;还有一个小问题比较烦人，我电脑上同时插着罗技键盘的2.4G无线接收器，首次通过2.4G无线接收器及蓝牙连接这款鼠标时电脑都会让重新识别外接键盘。甚至每次给鼠标充电，拔掉充电线之后也会触发。虽然可以无视直接退出，但比较影响心情。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-dc14e413&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-dc14e413&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757822018-ATK-mouse-keyboard-detect1.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-dc14e413&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption image-zoom-container&#34;&gt;&#xA;    &#xA;    &lt;input type=&#34;checkbox&#34; id=&#34;img-ac45a6a4&#34; class=&#34;image-zoom-toggle&#34; aria-label=&#34;放大图片&#34; /&gt;&#xA;    &lt;label for=&#34;img-ac45a6a4&#34; class=&#34;image-zoom-label&#34;&gt;&#xA;        &#xA;        &#xA;            &lt;img src=&#34;https://img.xushiqing.uk/2025/09/1757822047-ATK-mouse-keyboard-detect2.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; class=&#34;zoomable-image&#34; decoding=&#34;async&#34; /&gt;&#xA;        &#xA;    &lt;/label&gt;&#xA;    &lt;label for=&#34;img-ac45a6a4&#34; class=&#34;image-zoom-overlay&#34; aria-hidden=&#34;true&#34;&gt;&lt;/label&gt;&#xA;    &#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h3 id=&#34;关于充电&#34;&gt;关于充电&lt;/h3&gt;&#xA;&lt;p&gt;我一直不想使用充电式的鼠标，而是倾向于使用干电池的，之前用了几年的罗技M590这个型号就是靠一节5号电池驱动，很长时间才需要换一次电池，体验无比美好。&lt;/p&gt;&#xA;&lt;p&gt;这次是第一次使用充电式的鼠标，刚上手一天尚不知续航情况如何。可以想见充电频率会比换电池高出几个数量级，不过从使用其它电子产品的经验来看，这点体验的下滑应当也很快可以适应。&lt;/p&gt;&#xA;&lt;p&gt;包装内附赠了一根非常柔软的A-C充电线。不过由于需要占用显示器上仅有的两个USB-A接口之一，这根线应当是不会使用了。测试了一下用C-C线也能充。&lt;/p&gt;&#xA;&lt;h3 id=&#34;与m590的对比&#34;&gt;与M590的对比&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;握感&lt;/strong&gt;：体积比M590大一圈，握持舒适度欠佳，感觉手容易往后滑。但胜在轻便，应当可以在较短的时间内适应。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;按键&lt;/strong&gt;：都比较清脆，但带着一种廉价感，还是更喜欢M590的那种清晰但克制的反馈。另外就是M590我最喜欢的一点就是按键静音，这款鼠标按键声音对我来说过大了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;外观&lt;/strong&gt;：见仁见智，我感觉外形看起来还是不错的，但做工经不起细看。&lt;/p&gt;&#xA;&lt;h3 id=&#34;总结&#34;&gt;总结&lt;/h3&gt;&#xA;&lt;p&gt;总的来说使用体验和做工质感什么的基本对得起价位，剩下的就是看日常续航情况以及多长时间会用坏掉了。不出意外的话下次换鼠标应该会回到罗技。&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>