<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>笨狗又一窝</title>
    <link>https://whusnoopy.github.io/</link>
    <description>笨狗的自留地，闲适时涂鸦撒野，严肃时讨论技术</description>
    <language>zh-CN</language>
    <atom:link href="https://whusnoopy.github.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>下线 WordPress，躲过 PHP 漏洞，瘦身 Hugo 输出</title>
      <link>https://whusnoopy.github.io/blog/2026/10/retire-wordpress-and-shrink-blog/</link>
      <pubDate>Fri, 23 Oct 2026 13:42:09 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-10-23T12:43:27&#43;08:00:retire-wordpress-and-shrink-blog</guid>
      <description><![CDATA[八月底把博客迁移到 Hugo，九月初又把历史文章都按 Markdown 整理了一遍，之后正常写了几篇新文章。按迁移时的规划，把旧 WordPress 留在 VPS 上空跑一段时间，以备还有啥需要迁移的
这几天趁着 Tibo 不停重置 Codex 的使用额度，再让 AI 验证迁移确实没有遗漏，把旧系统下线并卸载依赖，顺便把之前模板在每个页面里完整输出的侧边栏做了下优化瘦身
下线旧 WordPress 从八月底切换到 Hugo 开始，访问就已经全部走 Hugo 生成的静态文件，nginx 配置里也没有再把请求转发给 PHP
这次让 AI 先帮忙核查了一遍，确认现在的文章、图片、RSS、搜索和评论标识都不需要 WordPress，旧站里的图片也都已经在新站找到对应文件，已有的文件和数据库备份继续保留，才开始动手
10 月 20 日先停掉 MySQL 和 PHP-FPM，释放空跑占用的 VPS 内存，禁用开机启动，顺带把之前人肉维护的每日备份到 Dropbox 和 Google Drive 的脚本也停了。同时让 AI 修了一个 RSS 的小问题，原来 /blog/feed/ 可以正常访问，但少了最后那个斜杠的 /blog/feed 会返回 404，现在加了跳转
停掉后又观察了一天，确认正常访问没受影响，21 日把 PHP、MySQL 相关的软件包卸载，再清掉旧 WordPress 目录和数据库文件，也省得每次 apt upgrade 还要更新一堆没用的包
非常巧，PHP 官方在 10 月 21 日发布紧急安全更新，修复两个可能导致未认证远程代码执行的严重漏洞（CVE-2026-109618 和 CVE-2026-109619）。我这边下午刚把 PHP 卸载完，当天就赶上了紧急补丁发布。八月底公开访问就已经不经过 PHP，这次连运行环境也收掉了，刚好省了追着看影响范围和打补丁的事，庆幸有时候抠门省事也能少操一点心
这也符合之前迁移到 Hugo 的目标之一，减少对 WordPress、PHP 等的依赖，只放静态文件在 VPS 上，未来再要迁移也容易很多
同步 whusnoopy.github.io GitHub 很早就有这个用自己用户名开头、以 github.io 结尾的 GitHub Pages 托管服务，早先打算折腾 Hugo，也是从考虑 GitHub Pages 默认支持的 Jekyll 看起，后面发现还是用 Hugo 更符合自己的需求
这次顺带让 Codex 完成了对 whusnoopy.github.io 的镜像流程，未来如果懒得自己维护 VPS 了，再配好自定义域名和 DNS，把它改成主站应该也可以的
瘦身 Hugo 输出 往 github.io 做镜像同步时，发现 Hugo 的输出目录到了 600 MiB+，这个空间占用明显超出预期，原来的 WordPress 站点目录在清理前核查时约 264 MiB。Codex 在分析能否将 github.io 做镜像时还提到，GitHub Pages 已发布站点的大小不能超过 1 GB，这一下就用掉了大半
]]></description>
      <content:encoded><![CDATA[<p>八月底<a href="/blog/2026/08/migration-to-hugo/">把博客迁移到 Hugo</a>，九月初又<a href="/blog/2026/09/formatted-blog-posts/">把历史文章都按 Markdown 整理了一遍</a>，之后正常写了几篇新文章。按迁移时的规划，把旧 WordPress 留在 VPS 上空跑一段时间，以备还有啥需要迁移的</p>
<p>这几天趁着 Tibo 不停重置 Codex 的使用额度，再让 AI 验证迁移确实没有遗漏，把旧系统下线并卸载依赖，顺便把之前模板在每个页面里完整输出的侧边栏做了下优化瘦身</p>
<h2 id="下线旧-wordpress">下线旧 WordPress</h2>
<p>从八月底切换到 Hugo 开始，访问就已经全部走 Hugo 生成的静态文件，nginx 配置里也没有再把请求转发给 PHP</p>
<p>这次让 AI 先帮忙核查了一遍，确认现在的文章、图片、RSS、搜索和评论标识都不需要 WordPress，旧站里的图片也都已经在新站找到对应文件，已有的文件和数据库备份继续保留，才开始动手</p>
<p>10 月 20 日先停掉 MySQL 和 PHP-FPM，释放空跑占用的 VPS 内存，禁用开机启动，顺带把之前人肉维护的每日备份到 Dropbox 和 Google Drive 的脚本也停了。同时让 AI 修了一个 RSS 的小问题，原来 <code>/blog/feed/</code> 可以正常访问，但少了最后那个斜杠的 <code>/blog/feed</code> 会返回 404，现在加了跳转</p>
<p>停掉后又观察了一天，确认正常访问没受影响，21 日把 PHP、MySQL 相关的软件包卸载，再清掉旧 WordPress 目录和数据库文件，也省得每次 <code>apt upgrade</code> 还要更新一堆没用的包</p>
<p>非常巧，<a href="https://www.php.net/archive/2026.php#2026-10-21-5">PHP 官方在 10 月 21 日发布紧急安全更新</a>，修复两个可能导致未认证远程代码执行的严重漏洞（<code>CVE-2026-109618</code> 和 <code>CVE-2026-109619</code>）。我这边下午刚把 PHP 卸载完，当天就赶上了紧急补丁发布。八月底公开访问就已经不经过 PHP，这次连运行环境也收掉了，刚好省了追着看影响范围和打补丁的事，庆幸有时候抠门省事也能少操一点心</p>
<p>这也符合之前迁移到 Hugo 的目标之一，减少对 WordPress、PHP 等的依赖，只放静态文件在 VPS 上，未来再要迁移也容易很多</p>
<h2 id="同步-whusnoopygithubio">同步 whusnoopy.github.io</h2>
<p>GitHub 很早就有这个用自己用户名开头、以 github.io 结尾的 GitHub Pages 托管服务，早先打算折腾 Hugo，也是从考虑 GitHub Pages 默认支持的 Jekyll 看起，后面发现还是用 Hugo 更符合自己的需求</p>
<p>这次顺带让 Codex 完成了对 <a href="https://whusnoopy.github.io">whusnoopy.github.io</a> 的镜像流程，未来如果懒得自己维护 VPS 了，再配好自定义域名和 DNS，把它改成主站应该也可以的</p>
<h2 id="瘦身-hugo-输出">瘦身 Hugo 输出</h2>
<p>往 github.io 做镜像同步时，发现 Hugo 的输出目录到了 600 MiB+，这个空间占用明显超出预期，原来的 WordPress 站点目录在清理前核查时约 264 MiB。Codex 在分析能否将 github.io 做镜像时还提到，<a href="https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits">GitHub Pages 已发布站点的大小不能超过 1 GB</a>，这一下就用掉了大半</p>
<p>自己人肉简单看了下是不是附件图片什么的太大了，用 <code>gdu</code> 扫了下也还好，就是旧文章里的图片链接还在 <code>wp-content/uploads</code>，新文章的图片放在 <code>media/posts</code> 下。这些旧地址继续保留，毕竟二十多年的各种历史包袱，能不动就不动，省得哪天又冒出来一个旧链接打不开</p>
<p>继续看，是最终生成的各种 HTML 文件累积起来太大了，一开始还怀疑是 Tag 和分类太多，导致输出的文件数量过多，后来让 AI 一查，是每个页面重复输出了完整侧边栏导致的</p>
<p>迁移到 Hugo 时为了保留原来的使用习惯，把右侧按年、月展开的文章归档也搬了过来。这东西在 WordPress 时代用的是 Collapsing Archives，<a href="/blog/2023/01/fix-wordpress-plugin-collapsing-archives-error-on-php8/">之前还为兼容 PHP 8 修过插件</a>，自己用习惯了这一套，希望能继续按年月翻旧文章</p>
<p>不过之前本站的模板实现就是把二十多年的年月、八百多篇文章的标题和链接，以及折叠用的按钮、列表结构，全部生成到每一个页面里，哪怕后来加了默认收起来等 JS 行为，实际上每页光侧边栏就有大约 216 KiB 的 HTML</p>
<p>算上文章分类、标签、年月归档和各种分页，整站的两千多个页面，把这部分内容原封不动输出了两千多遍。难怪文章和图片都没怎么变化，生成出来的整站文件却有 600 MiB+</p>
<p>找到问题就改呗，现在虽然不用 WordPress 动态输出，但可以把侧边栏依赖的文章归档数据提取到一个共用的 <code>archive-index.json</code>，页面里只留容器，由浏览器读取数据来生成年月列表，展开某个月时再创建里面的文章链接。这样同一份数据不用在每个 HTML 里塞一份，也可以利用浏览器缓存，跨页面访问时不必每次都重新传输整份数据，原来按年月展开、记住展开状态的功能都还在</p>
<p>这一波整完，单页侧边栏从 216 KiB 降到 8.3 KiB，整站从 632 MiB 降到 141 MiB</p>
<p>后面继续把文章分类和常用标签也用类似的方式处理，两块共用一份 <code>sidebar-index.json</code>，再把分页模板输出里那些没必要的缩进和换行裁掉。最后结果是</p>
<table>
	<thead>
			<tr>
					<th>构建状态</th>
					<th style="text-align: right">单页侧边栏大小</th>
					<th style="text-align: right">整站文件大小</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>优化前</td>
					<td style="text-align: right">约 216 KiB</td>
					<td style="text-align: right">约 632 MiB</td>
			</tr>
			<tr>
					<td>年月归档改用共享 JSON</td>
					<td style="text-align: right">约 8.3 KiB</td>
					<td style="text-align: right">约 141 MiB</td>
			</tr>
			<tr>
					<td>分类、标签及分页继续优化</td>
					<td style="text-align: right">约 1.9 KiB</td>
					<td style="text-align: right">约 125 MiB</td>
			</tr>
	</tbody>
</table>
<p>后面的优化收益没那么大，不过现在整个输出约 125 MiB，已经比之前含 WP 系统的旧站目录小了，每次发布和同步 github.io 镜像需要处理的数据也少了很多，离 GitHub Pages 的容量上限也还远，满意</p>
<h2 id="随记">随记</h2>
<blockquote>
<p>八月底迁移时想着后面就安心写东西吧，结果这两个月又断断续续折腾了不少。现在旧系统退役，生成文件也瘦了一大圈，希望接下来能多写几篇文章，少折腾点博客本身吧</p>
</blockquote>
<p>现在我也变成用 AI 来输出内容的懒人了，上面引用这部分是 AI 输出的原文，更前面的内容是让 AI 用我的文风出的草稿，我改了一遍后的结果。有好有坏吧，先保持自己的想法记录输出，再继续平衡内容中的机械味和活人感</p>
]]></content:encoded>
    </item>
    <item>
      <title>交换 ThinkPad X1 Carbon Gen12 的 Fn 和左 Ctrl 键帽</title>
      <link>https://whusnoopy.github.io/blog/2026/10/swap-fn-and-ctrl-keycaps-on-x1c-gen12/</link>
      <pubDate>Fri, 09 Oct 2026 16:00:47 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-10-09T14:43:13&#43;08:00:swap-fn-and-ctrl-keycaps-on-x1c-gen12</guid>
      <description><![CDATA[用了快 20 年的 ThinkPad，一直习惯了 Fn 是在键盘最左下角，左 Ctrl 是在更靠近空格一侧，用左手小拇指卷起来压 Ctrl 已经成了肌肉记忆
不过联想在好几年前就允许在 BIOS 里交换这两个键实际的功能，让习惯 Ctrl 在最外面的人，也能用最外 Ctrl 而 Fn 在里面的布局
到了 ThinkPad X1 Carbon Gen12 (2024) 这一代，干脆物理键帽也是 Ctrl 在外了。虽然 BIOS 里能把键位逻辑改回之前的，但盲打按着和视觉上看着是反的，逼死强迫症
好在这一代也让这两个键的键帽尺寸一样，看起来应该是可以物理交换的，之前在 51nb 上也有人说换过，但都是说起来很容易的样子，没有更细节的实操过程，自己担心别手潮给掰断卡扣，反倒出事
最近搜到 https://support.lenovo.com/us/en/documentation/sg10846/Replaceable_keycap_(task)?language=en 有 X1C Gen14 官方替换键帽的详细图文教程，又找到 https://www.reddit.com/r/thinkpad/comments/1eb2ymr/swapped_fn_and_ctrl_key_physically_on_x1_carbon/ 这个帖，目测自己的 Gen12 跟 Gen14 是一样的结构，经过亲自验证，确定拆键帽的操作流程为
用塑料薄片（比如购物卡）从键帽靠屏幕一侧，分别撬两个角，小幅度抬起一点，听到咔哒声，会感受到卡扣脱离 手指拉起键帽翘起的一侧，往触摸板方向推一下滑出来 装回去时先从靠触摸板一侧斜着往屏幕方向推，把靠触摸板一侧的两个卡扣滑进去，然后沿平时打字手指往下按的方向，把靠屏幕一侧两个卡扣也摁上就行了
实际撬的时候，注意伸进去不要太深，大概就是我伸进去这个程度或更少一些，翘起来一边
撬键帽时从靠屏幕一侧两个角开始，伸进去一点就好
撬开后是这样，注意我这里就是撬太深了，导致一开始把蓝色箭头处的剪刀脚结构中轴给撬了出来，还好把整个剪刀脚结构取下来能复原，然后再装回去的
撬开后的键帽和剪刀脚结构，注意蓝色箭头处我把剪刀脚中轴给意外撬出来了
修复 Fn 键下的剪刀脚结构后现在完美交换。全过程以联想官方那个 Gen14 的图文教程为准就好，虽然 Gen12 的官方手册里没有换键帽这个章节，但键帽结构实际是一样的。撬的时候用巧劲，别像我一开始撬板插太深进到剪刀脚下面还往上撬结果把剪刀脚中轴给拉出来
]]></description>
      <content:encoded><![CDATA[<p>用了快 20 年的 ThinkPad，一直习惯了 Fn 是在键盘最左下角，左 Ctrl 是在更靠近空格一侧，用左手小拇指卷起来压 Ctrl 已经成了肌肉记忆</p>
<p>不过联想在好几年前就允许在 BIOS 里交换这两个键实际的功能，让习惯 Ctrl 在最外面的人，也能用最外 Ctrl 而 Fn 在里面的布局</p>
<p>到了 ThinkPad X1 Carbon Gen12 (2024) 这一代，干脆物理键帽也是 Ctrl 在外了。虽然 BIOS 里能把键位逻辑改回之前的，但盲打按着和视觉上看着是反的，逼死强迫症</p>
<p>好在这一代也让这两个键的键帽尺寸一样，看起来应该是可以物理交换的，之前在 51nb 上也有人说换过，但都是说起来很容易的样子，没有更细节的实操过程，自己担心别手潮给掰断卡扣，反倒出事</p>
<p>最近搜到 <a href="https://support.lenovo.com/us/en/documentation/sg10846/Replaceable_keycap_%28task%29?language=en" target="_blank" rel="noopener">https://support.lenovo.com/us/en/documentation/sg10846/Replaceable_keycap_(task)?language=en</a>
 有 X1C Gen14 官方替换键帽的详细图文教程，又找到 <a href="https://www.reddit.com/r/thinkpad/comments/1eb2ymr/swapped_fn_and_ctrl_key_physically_on_x1_carbon/" target="_blank" rel="noopener">https://www.reddit.com/r/thinkpad/comments/1eb2ymr/swapped_fn_and_ctrl_key_physically_on_x1_carbon/</a>
 这个帖，目测自己的 Gen12 跟 Gen14 是一样的结构，经过亲自验证，确定拆键帽的操作流程为</p>
<ol>
<li>用塑料薄片（比如购物卡）从键帽靠屏幕一侧，分别撬两个角，小幅度抬起一点，听到咔哒声，会感受到卡扣脱离</li>
<li>手指拉起键帽翘起的一侧，往触摸板方向推一下滑出来</li>
</ol>
<p>装回去时先从靠触摸板一侧斜着往屏幕方向推，把靠触摸板一侧的两个卡扣滑进去，然后沿平时打字手指往下按的方向，把靠屏幕一侧两个卡扣也摁上就行了</p>
<p>实际撬的时候，注意伸进去不要太深，大概就是我伸进去这个程度或更少一些，翘起来一边</p>
<figure><img src="/media/posts/swap-fn-and-ctrl-keycaps-on-x1c-gen12/remove-keycap.jpg"
			alt="撬键帽时从靠屏幕一侧两个角开始，伸进去一点就好"><figcaption>
			<p>撬键帽时从靠屏幕一侧两个角开始，伸进去一点就好</p>
		</figcaption>
</figure>

<p>撬开后是这样，注意我这里就是撬太深了，导致一开始把蓝色箭头处的剪刀脚结构中轴给撬了出来，还好把整个剪刀脚结构取下来能复原，然后再装回去的</p>
<figure><img src="/media/posts/swap-fn-and-ctrl-keycaps-on-x1c-gen12/keycap-scissor.jpg"
			alt="撬开后的键帽和剪刀脚结构，注意蓝色箭头处我把剪刀脚中轴给意外撬出来了"><figcaption>
			<p>撬开后的键帽和剪刀脚结构，注意蓝色箭头处我把剪刀脚中轴给意外撬出来了</p>
		</figcaption>
</figure>

<p>修复 Fn 键下的剪刀脚结构后现在完美交换。全过程以联想官方那个 Gen14 的图文教程为准就好，虽然 Gen12 的官方手册里没有换键帽这个章节，但键帽结构实际是一样的。撬的时候用巧劲，别像我一开始撬板插太深进到剪刀脚下面还往上撬结果把剪刀脚中轴给拉出来</p>
]]></content:encoded>
    </item>
    <item>
      <title>奥奥上小学了</title>
      <link>https://whusnoopy.github.io/blog/2026/09/aoao-starts-primary-school/</link>
      <pubDate>Thu, 24 Sep 2026 15:37:48 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-09-24T14:54:06&#43;08:00:aoao-starts-primary-school</guid>
      <description><![CDATA[几年过去，奥奥也上小学啦
作为二胎家长，对学校里各种要求更熟悉，没那么多新奇感，也没那么焦虑，一切都更淡定
奥奥目前看来倒是还挺开心的，特别是学校饭菜和点心好像更符合他的期望，每天睡前都特别期待看看明天学校吃什么
最近两年学校越来越强调快乐教育，每节课的时间从我上学那会的 45 分钟压缩到 40 分钟后，现在已经是 35 分钟了。早上莫莫还是按 7 点 50 前到座位的节奏去上学，到奥奥这会就变成「不要来太早，太早到了老师还没来呢」「八点二十能坐到座位上就好」，所以现在分开送两个娃
目前为止学校里学习的内容，大多之前在做幼小衔接时都有覆盖，只是拼音一直没学好，现在要磕磕绊绊多练习了，以及跳绳到现在还没法稳定连续跳起来，更别说冲刺一分钟跳多少下
前一段时间经常忘了带水杯回家，跟哥哥讨论可以用「拍拍法」来在放学时做下检查，从那之后到现在就没再忘。开学快一个月，还没丢过笔和橡皮等文具，甚是欣慰。选的 X 课居然都在自己班教室上课，也省得跑来跑去
小小的身体背着大大的书包
]]></description>
      <content:encoded><![CDATA[<p>几年过去，奥奥也上小学啦</p>
<p>作为二胎家长，对学校里各种要求更熟悉，没那么多新奇感，也没那么焦虑，一切都更淡定</p>
<p>奥奥目前看来倒是还挺开心的，特别是学校饭菜和点心好像更符合他的期望，每天睡前都特别期待看看明天学校吃什么</p>
<p>最近两年学校越来越强调快乐教育，每节课的时间从我上学那会的 45 分钟压缩到 40 分钟后，现在已经是 35 分钟了。早上莫莫还是按 7 点 50 前到座位的节奏去上学，到奥奥这会就变成「不要来太早，太早到了老师还没来呢」「八点二十能坐到座位上就好」，所以现在分开送两个娃</p>
<p>目前为止学校里学习的内容，大多之前在做幼小衔接时都有覆盖，只是拼音一直没学好，现在要磕磕绊绊多练习了，以及跳绳到现在还没法稳定连续跳起来，更别说冲刺一分钟跳多少下</p>
<p>前一段时间经常忘了带水杯回家，跟哥哥讨论可以用「拍拍法」来在放学时做下检查，从那之后到现在就没再忘。开学快一个月，还没丢过笔和橡皮等文具，甚是欣慰。选的 X 课居然都在自己班教室上课，也省得跑来跑去</p>
<figure><img src="/media/posts/aoao-starts-primary-school/aoao-starts-primary-school.jpg"
			alt="小小的身体背着大大的书包"><figcaption>
			<p>小小的身体背着大大的书包</p>
		</figcaption>
</figure>

]]></content:encoded>
    </item>
    <item>
      <title>奇怪的电子设备修理经历</title>
      <link>https://whusnoopy.github.io/blog/2026/09/mysterious-device-repairs/</link>
      <pubDate>Thu, 24 Sep 2026 09:34:22 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-09-23T16:31:18&#43;08:00:fix-devices</guid>
      <description><![CDATA[最近“修”好了几台电子设备，给“修”字加引号，是因为其实也没有修这个动作，莫名其妙地坏，又莫名其妙的好了
红米 X65 电视 L65M5-RK 背光不亮 故障表现 这台电视机是 2021 年买了在家里客厅使用的，这个夏天的某一天，娃突然说屏幕没显示，仔细分辨后并不是机器彻底坏了或屏坏了，而是屏下背光不亮了。具体表现是开机后屏幕不亮，或闪一下，但是有声音，贴近看能看到非常暗的画面
排查定位 先用重启大法，长按开关和拔电源长按开关都试过，怎样都不行
上网搜各种表现，说大概率是背光坏了。打电话问官方售后，因为已经过保，且这个屏幕尺寸相对偏大，报价大几百，还不确定能弄好，这个价格就不如换个新的了。在 B 站上搜换背光的视频，还是有点麻烦的，主要就是要两人操作且小心点别把液晶面板给弄坏了
自己动手更换小米电视L65M5-AD背光，省了500块！教程！#小米电视#L65M5-AD#小米65寸电视 BV1U7421K7Am
最终决定还是给家里换个新电视，这个旧的弄来公司，如果能修好就给某个会议室用，修不好么就换铁盆吧
「维修」过程 在淘宝上按型号买好背光条，把家里之前用来拆集成吊顶的吸盘也带来公司，以备拆机时吸液晶面板用
还好有一辆MPV能把电视机扛来办公室
某天中午吃过饭，拉上伞破一起开搞，期间引来一堆人路过围观「原来电视机里面是这样的呀！」「电视机还能修？」
在公司先确认故障表现还是一样的，各种哼哧哼哧拆，螺丝真的多，而且还有好几处是隐藏的，要拆掉前面部分才能露出来
面板拆下来时发现是用胶粘在框上的，看起来跟之前办公室那批面板脱落的 Dell P2418D 显示器一样，难怪现在大部分电视机都说不允许吊装时倾斜向下
最后拆到背光后那层导光纸时，原来是粘上去的，贼难揭下来，中间还撕破了一点
在最后准备换背光条时，还插电验证了一下，还是原来的问题表现，背光闪一下就不亮了。等真正看从哪根开始换时，随口说要不再通电看下？于是插电按了一次开关，亮瞎狗眼的整片背光亮起来，好了！
各种验证，背光的确是好了，就这样莫名其妙也不知道动了哪里，如果是接触不良啥的，那凭什么拆的过程和准备换之前的第一次验证又不行
然后就是继续哼哧哼哧装回去，过程中继续验证面板没被整坏，期间有出现过面板左右两边亮度不一样的情况，估计是走的不同的排线没插好，重新插拔面板排线后没再出现这个情况。后来还发现面板周围那圈胶估计不太牢了，就用宽的打包胶带给四周贴了下，挂到一个电视推车架上，留在公司会议室里给充公吧
后面几天持续验证，确认不是一时的回光返照，而是真的持续可用，但家里新电视都买了，也懒得再拖回去，至于已经到货的背光条，问过淘宝商家说不影响二次销售可以无理由退货，那就退了吧
ThinkPad X1 Carbon Gen6 屏幕无显示 故障表现 这台 X1C2018 笔记本是从闲鱼收的，给娃拿来学编程用，大致配置是 i7-8650U / 16G / 256G / 2560x1440 高分屏 / LTE。机器是好机器，也是一代经典，之前还有一台 i5 处理器 1080p 屏幕的给老爸用了
先是在家偶尔遇到使用过程中屏幕黑掉，调整一下屏幕开合角度可能就会恢复，后面是在带去上课的时候遇到黑屏，开合屏幕也无法自愈，但是关机回家放了半天就好了
再就是月初某次去上课，黑了就再没点亮
排查定位 电脑能开机，外接显示器可用，说明主板啥的都没坏。进到系统里还能看到有内屏，并且分辨率啥的信息都正确，说明至少主板上的显卡部分都是好的，面板大概率也没坏
拆机，插拔各种排线，试图排除接触不良的情况，无果
找 ChatGPT 问，说大概率是屏线坏了，或者是屏线靠面板侧的接触有问题。搜对应的 Hardware Maintenance Manual，看起来自己也能拆，后面又找了视频看，拆到面板这一层还是能自己搞定的
ThinkPad X1 Carbon 6th更换天马2K 120hz屏幕，详细教程 BV1B94y1x7To
「维修」过程 吸取了上次修电视机背光的经验，这次在没有百分百确定故障原因前先别着急下单买屏线
拆到屏幕侧，重新插拔屏线在面板侧的接口，还是不行
拆到这一步再把屏轴卸了就能把面板拿下来的 ThinkPad X1 Carbon Gen6
期间伞破拿他的同款 X1Cg6 来，说看看能不能直接上 2K 屏，行的话回头他整个 2K120Hz 的天马屏看（就是上面 B 站视频里那个），换到他那，也是点不亮，但系统能读到屏幕信息
好了，各种排除法，我的电脑其他部位没问题，这个屏带线插到另一台电脑上故障表现一样，去淘宝下单屏线准备再抢救下呗
把裸面板加屏线接回自己电脑，准备移到空工位放着等淘宝屏线到货再说。鬼使神差又按了下电源键，突然发现屏幕上红底的 Lenovo 标志出来了……
对，就是这样又好了，后面任我各种晃悠屏线都没问题，换到伞破电脑上试过也没问题，再继续装回来，跟淘宝商家商量还没发货可以退单的吧，倒是屏幕的 B 面是粘上去的，另外下单胶带来弄
后面自己用胶把 B 面粘回去，有点偏差，而且把摄像头遮挡滑盖的黑阀拨片给卡住了，不过倒是问题不大，继续用吧
ThinkBook 14+ 2022 无法开机 故障表现 某台被当测试机用的 ThinkBook 14+ 2022，i5-12500H 款，正式的型号应该叫 ThinkBook 14 G4+ IAP 21CX
某天被同事反馈开不了机，过去看不管是否插外接电源，按开机键要么没反应，要么键盘背光灯亮几秒，但屏幕没显示，也没听到系统风扇转，然后就完全掉电
此处注意到插外接电源时，机身侧面 USB-C 口旁边的电源指示灯，是黄色闪烁状态，这不符合官方说明里只有白色或黄色常亮或熄灭的状态，看起来整个电源系统都可能有问题
]]></description>
      <content:encoded><![CDATA[<p>最近“修”好了几台电子设备，给“修”字加引号，是因为其实也没有修这个动作，莫名其妙地坏，又莫名其妙的好了</p>
<h2 id="红米-x65-电视-l65m5-rk-背光不亮">红米 X65 电视 L65M5-RK 背光不亮</h2>
<h3 id="故障表现">故障表现</h3>
<p>这台电视机是 2021 年买了在家里客厅使用的，这个夏天的某一天，娃突然说屏幕没显示，仔细分辨后并不是机器彻底坏了或屏坏了，而是屏下背光不亮了。具体表现是开机后屏幕不亮，或闪一下，但是有声音，贴近看能看到非常暗的画面</p>
<h3 id="排查定位">排查定位</h3>
<p>先用重启大法，长按开关和拔电源长按开关都试过，怎样都不行</p>
<p>上网搜各种表现，说大概率是背光坏了。打电话问官方售后，因为已经过保，且这个屏幕尺寸相对偏大，报价大几百，还不确定能弄好，这个价格就不如换个新的了。在 B 站上搜换背光的视频，还是有点麻烦的，主要就是要两人操作且小心点别把液晶面板给弄坏了</p>
<blockquote>
<p>自己动手更换小米电视L65M5-AD背光，省了500块！教程！#小米电视#L65M5-AD#小米65寸电视 <a href="https://www.bilibili.com/video/BV1U7421K7Am/?share_source=copy_web&amp;vd_source=50c0832be65d4bf09b04392f3769805f">BV1U7421K7Am</a></p>
</blockquote>
<p>最终决定还是给家里换个新电视，这个旧的弄来公司，如果能修好就给某个会议室用，修不好么就换铁盆吧</p>
<h3 id="维修过程">「维修」过程</h3>
<p>在淘宝上按型号买好背光条，把家里之前用来拆集成吊顶的吸盘也带来公司，以备拆机时吸液晶面板用</p>
<figure><img src="/media/posts/mysterious-device-repairs/redmi-tv-in-odyssey.jpg"
			alt="还好有一辆MPV能把电视机扛来办公室"><figcaption>
			<p>还好有一辆MPV能把电视机扛来办公室</p>
		</figcaption>
</figure>

<p>某天中午吃过饭，拉上伞破一起开搞，期间引来一堆人路过围观「原来电视机里面是这样的呀！」「电视机还能修？」</p>
<p>在公司先确认故障表现还是一样的，各种哼哧哼哧拆，螺丝真的多，而且还有好几处是隐藏的，要拆掉前面部分才能露出来</p>
<p>面板拆下来时发现是用胶粘在框上的，看起来跟之前办公室那批面板脱落的 Dell P2418D 显示器一样，难怪现在大部分电视机都说不允许吊装时倾斜向下</p>
<p>最后拆到背光后那层导光纸时，原来是粘上去的，贼难揭下来，中间还撕破了一点</p>
<p>在最后准备换背光条时，还插电验证了一下，还是原来的问题表现，背光闪一下就不亮了。等真正看从哪根开始换时，随口说要不再通电看下？于是插电按了一次开关，亮瞎狗眼的整片背光亮起来，好了！</p>
<p>各种验证，背光的确是好了，就这样莫名其妙也不知道动了哪里，如果是接触不良啥的，那凭什么拆的过程和准备换之前的第一次验证又不行</p>
<p>然后就是继续哼哧哼哧装回去，过程中继续验证面板没被整坏，期间有出现过面板左右两边亮度不一样的情况，估计是走的不同的排线没插好，重新插拔面板排线后没再出现这个情况。后来还发现面板周围那圈胶估计不太牢了，就用宽的打包胶带给四周贴了下，挂到一个电视推车架上，留在公司会议室里给充公吧</p>
<p>后面几天持续验证，确认不是一时的回光返照，而是真的持续可用，但家里新电视都买了，也懒得再拖回去，至于已经到货的背光条，问过淘宝商家说不影响二次销售可以无理由退货，那就退了吧</p>
<h2 id="thinkpad-x1-carbon-gen6-屏幕无显示">ThinkPad X1 Carbon Gen6 屏幕无显示</h2>
<h3 id="故障表现-1">故障表现</h3>
<p>这台 X1C2018 笔记本是从闲鱼收的，给娃拿来学编程用，大致配置是 i7-8650U / 16G / 256G / 2560x1440 高分屏 / LTE。机器是好机器，也是一代经典，之前还有一台 i5 处理器 1080p 屏幕的给老爸用了</p>
<p>先是在家偶尔遇到使用过程中屏幕黑掉，调整一下屏幕开合角度可能就会恢复，后面是在带去上课的时候遇到黑屏，开合屏幕也无法自愈，但是关机回家放了半天就好了</p>
<p>再就是月初某次去上课，黑了就再没点亮</p>
<h3 id="排查定位-1">排查定位</h3>
<p>电脑能开机，外接显示器可用，说明主板啥的都没坏。进到系统里还能看到有内屏，并且分辨率啥的信息都正确，说明至少主板上的显卡部分都是好的，面板大概率也没坏</p>
<p>拆机，插拔各种排线，试图排除接触不良的情况，无果</p>
<p>找 ChatGPT 问，说大概率是屏线坏了，或者是屏线靠面板侧的接触有问题。搜对应的 Hardware Maintenance Manual，看起来自己也能拆，后面又找了视频看，拆到面板这一层还是能自己搞定的</p>
<blockquote>
<p>ThinkPad X1 Carbon 6th更换天马2K 120hz屏幕，详细教程 <a href="https://www.bilibili.com/video/BV1B94y1x7To/?share_source=copy_web&amp;vd_source=50c0832be65d4bf09b04392f3769805f">BV1B94y1x7To</a></p>
</blockquote>
<h3 id="维修过程-1">「维修」过程</h3>
<p>吸取了上次修电视机背光的经验，这次在没有百分百确定故障原因前先别着急下单买屏线</p>
<p>拆到屏幕侧，重新插拔屏线在面板侧的接口，还是不行</p>
<figure><img src="/media/posts/mysterious-device-repairs/teardown-tp-x1c-g6.jpg"
			alt="拆到这一步再把屏轴卸了就能把面板拿下来的 ThinkPad X1 Carbon Gen6"><figcaption>
			<p>拆到这一步再把屏轴卸了就能把面板拿下来的 ThinkPad X1 Carbon Gen6</p>
		</figcaption>
</figure>

<p>期间伞破拿他的同款 X1Cg6 来，说看看能不能直接上 2K 屏，行的话回头他整个 2K120Hz 的天马屏看（就是上面 B 站视频里那个），换到他那，也是点不亮，但系统能读到屏幕信息</p>
<p>好了，各种排除法，我的电脑其他部位没问题，这个屏带线插到另一台电脑上故障表现一样，去淘宝下单屏线准备再抢救下呗</p>
<p>把裸面板加屏线接回自己电脑，准备移到空工位放着等淘宝屏线到货再说。鬼使神差又按了下电源键，突然发现屏幕上红底的 Lenovo 标志出来了……</p>
<p>对，就是这样又好了，后面任我各种晃悠屏线都没问题，换到伞破电脑上试过也没问题，再继续装回来，跟淘宝商家商量还没发货可以退单的吧，倒是屏幕的 B 面是粘上去的，另外下单胶带来弄</p>
<p>后面自己用胶把 B 面粘回去，有点偏差，而且把摄像头遮挡滑盖的黑阀拨片给卡住了，不过倒是问题不大，继续用吧</p>
<h2 id="thinkbook-14-2022-无法开机">ThinkBook 14+ 2022 无法开机</h2>
<h3 id="故障表现-2">故障表现</h3>
<p>某台被当测试机用的 ThinkBook 14+ 2022，i5-12500H 款，正式的型号应该叫 ThinkBook 14 G4+ IAP 21CX</p>
<p>某天被同事反馈开不了机，过去看不管是否插外接电源，按开机键要么没反应，要么键盘背光灯亮几秒，但屏幕没显示，也没听到系统风扇转，然后就完全掉电</p>
<p>此处注意到插外接电源时，机身侧面 USB-C 口旁边的电源指示灯，是黄色闪烁状态，这不符合官方说明里只有白色或黄色常亮或熄灭的状态，看起来整个电源系统都可能有问题</p>
<h3 id="排查定位-2">排查定位</h3>
<p>既然插电有问题，那先换个电源看？不行。用不同电源插不同的 USB-C 口？也不行。拔电只用电池呢？还是不行</p>
<p>最近这些年的 ThinkPad 和 ThinkBook 都有 EC 重置孔，之前遇到 USB-C 口不能用，几乎都通过重置 EC 的方法解决。那戳 EC 孔 20 秒，再试，依旧不行。除了戳 EC 孔重置，也长按电源键释放可能的残电？不出意外并没有任何反应</p>
<p>拆机，断掉电池和主板的排线，只接外部电源呢？故障表现一模一样</p>
<p>想断掉主板 BIOS 电池，但这个在主板副板的背面，要挑开那个排线得把主板副板整个取下来，觉得太费劲就没在这一段来做这个尝试</p>
<p>最小化主板，把 SSD、无线网卡、屏幕排线、散热风扇、主板副板 这些能从主板上断开的通通断开，用机器原配电源和另一个 ThinkPad 原配电源在两个 USB-C 口交替尝试，依旧是插电闪黄灯</p>
<h3 id="维修过程-2">「维修」过程</h3>
<p>都拆成这样还不行，也没有更多工具来定位或修复，就这样吧，各种排线装回去，在把电池接上后，心有不甘习惯性没接电源按了下开机键，就，开机了</p>
<p>确认进了系统，这时候再把电源插上，机身侧面的电源指示灯常亮黄色，表示当前通电且在充电，看电池电量接近满格，一会充满指示灯转常亮白色，说明通电且没在充电，一切正常</p>
<p>这里有一个细节是第一次能进系统时似乎看到了 BIOS 升级的「正在升级系统，请不要关闭电源」的提示，所以可能是上次关机重启过程中有在升级 BIOS 但被断了电？不过一般电池也还在的啊，不至于电池电量都不够升级的</p>
<p>最后这台电脑能进之前的系统，确认原系统不再有用后，抹盘装成 Omarchy 尝了下鲜，最后装回 Windows 重置成初始状态，还回公司备件库</p>
]]></content:encoded>
    </item>
    <item>
      <title>将博客所有文章按 markdown 格式化</title>
      <link>https://whusnoopy.github.io/blog/2026/09/formatted-blog-posts/</link>
      <pubDate>Thu, 03 Sep 2026 17:20:23 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-09-03T16:52:46&#43;08:00:formatted-blog-posts</guid>
      <description><![CDATA[从上上周开始，把博客从 WordPress 迁移到了 Hugo。如前所说，AI 已经帮助把大部分的元数据给整理好，包括用 Disqus 的评论数据。
不过博客里包括了若干个平台的内容，之前的排版都千奇百怪，用 HTML 控制符不说，有的所有内容都在一行内，再加上中间有一段时间用微软的 Windows Live Writer 写的，总不是 markdown 友好的格式，甚至还有一些 * 或别的字符变成 markdown 控制符的情况，索性把所有内容都整理了一遍
曾经写过字的地方包括
http://whusnoopy.blog.edu.cn http://user.qzone.qq.com/359325785 http://hi.baidu.com/whusnoopy http://whusnoopy.spaces.live.com http://blog.renren.com/blog/30314 到现在居然只有 QQ 空间还活着，而且注意上面都是 http 而没有 https
以前还在珞珈山水和水木清华 BBS 上有很多内容，大多没有留下来，保留到本站的用类 telnet 的黑底等宽代码块的方式展示，尽量保持原来的感觉
曾经最喜欢的音乐平台是虾米，2013 年到杭州在阿里参加新人培训时，同组的还有虾米的同事，可惜后面就没有然后了，博客里留的链接或播放器也都再也打不开。曾经也用过百度音乐、5sing，也都打不开了
有一些插入的视频链接也失效了，整理时还注意到 2014 年时，B 站的域名还不是 bilibili.com 而是 bilibili.kankanews.com，都是时代的眼泪
自己写字的风格也变了很多。有时候大段，有时候很短，段落之间有只用一个换行黏在一起，或有按 markdown 空行分段。标点用法上，最开始用英文半角且标点后不空格，后来是英文半角接空格，再后来应该是中文字体们终于靠谱点，加上不再唯视觉导向而是遵循中英文排版更通用的规范，才主用中文标点
至于内容，不管是青春热血，还是傲娇中二，或是冲动犯浑，又或无病呻吟，虽然很多看着就羞耻，不过都是过去真实的自己，二十多年的记录，还是留着吧
]]></description>
      <content:encoded><![CDATA[<p>从上上周开始，把博客从 WordPress 迁移到了 Hugo。如前所说，AI 已经帮助把大部分的元数据给整理好，包括用 Disqus 的评论数据。</p>
<p>不过博客里包括了若干个平台的内容，之前的排版都千奇百怪，用 HTML 控制符不说，有的所有内容都在一行内，再加上中间有一段时间用微软的 Windows Live Writer 写的，总不是 markdown 友好的格式，甚至还有一些 <code>*</code> 或别的字符变成 markdown 控制符的情况，索性把所有内容都整理了一遍</p>
<p>曾经写过字的地方包括</p>
<ul>
<li><a href="http://whusnoopy.blog.edu.cn">http://whusnoopy.blog.edu.cn</a></li>
<li><a href="http://user.qzone.qq.com/359325785">http://user.qzone.qq.com/359325785</a></li>
<li><a href="http://hi.baidu.com/whusnoopy">http://hi.baidu.com/whusnoopy</a></li>
<li><a href="http://whusnoopy.spaces.live.com">http://whusnoopy.spaces.live.com</a></li>
<li><a href="http://blog.renren.com/blog/30314">http://blog.renren.com/blog/30314</a></li>
</ul>
<p>到现在居然只有 QQ 空间还活着，而且注意上面都是 <code>http</code> 而没有 <code>https</code></p>
<p>以前还在<code>珞珈山水</code>和<code>水木清华</code> BBS 上有很多内容，大多没有留下来，保留到本站的用类 <code>telnet</code> 的黑底等宽代码块的方式展示，尽量保持原来的感觉</p>
<p>曾经最喜欢的音乐平台是<code>虾米</code>，2013 年到杭州在阿里参加新人培训时，同组的还有虾米的同事，可惜后面就没有然后了，博客里留的链接或播放器也都再也打不开。曾经也用过百度音乐、5sing，也都打不开了</p>
<p>有一些插入的视频链接也失效了，整理时还注意到 2014 年时，B 站的域名还不是 <code>bilibili.com</code> 而是 <code>bilibili.kankanews.com</code>，都是时代的眼泪</p>
<p>自己写字的风格也变了很多。有时候大段，有时候很短，段落之间有只用一个换行黏在一起，或有按 markdown 空行分段。标点用法上，最开始用英文半角且标点后不空格，后来是英文半角接空格，再后来应该是中文字体们终于靠谱点，加上不再唯视觉导向而是遵循中英文排版更通用的规范，才主用中文标点</p>
<p>至于内容，不管是青春热血，还是傲娇中二，或是冲动犯浑，又或无病呻吟，虽然很多看着就羞耻，不过都是过去真实的自己，二十多年的记录，还是留着吧</p>
]]></content:encoded>
    </item>
    <item>
      <title>外接键盘映射苹果 Globe/Fn 键</title>
      <link>https://whusnoopy.github.io/blog/2026/09/mapping-globe-key-for-macos/</link>
      <pubDate>Tue, 01 Sep 2026 16:09:58 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-09-01T15:09:37&#43;08:00:mapping-globe-key-for-macos</guid>
      <description><![CDATA[曾经在 macOS 实用小工具记录 2 里提到苹果修改了锁屏快捷键，可以用 Ctrl+Cmd+Q 锁屏，而不用模拟之前的 Power 键，对 Karabiner 不再有需求，结果最近还是装了回来
macOS 26 开始的全屏快捷键变化 在 macOS 26 Tahoe 之前，对应用全屏（新建占据整个桌面）的快捷键是 Ctrl+Cmd+F，这个在外接键盘上也能直接按出来，但后面改成了 Globe+F，这个 Globe 键就是苹果笔记本电脑或原装外置键盘上原来的 fn 键，上面有个小地球图标的，俗称地球键
这下好了，要全屏要么点窗口左上角的红绿灯按钮，要么用苹果笔记本机身键盘上的 Globe+F 的快捷键，在外接键盘上都无法使用
在外接键盘上切换全屏的尝试 macOS 系统设置里改快捷键 这个方式是说在 macOS 的系统设置里，增加一个「切换全屏」或「Enter Full Screen」的快捷键，然后映射成自己想要的键
我自己试过一下，不是那么灵光，也不太好用，放弃
使用第三方窗口管理工具如 Rectangle Rectangle 是我近年来替换 Spectangle 后的窗口管理工具，本来随着新版本 macOS 把左半屏、右半屏、最大化等几个操作支持后，连这个工具都可以不用，但偏偏 macOS 原生的都是 Ctrl+Globe+Left、Ctrl+Globe+Right、Ctrl+Globe+F，都还是无法在外接键盘上使用的
等为了在外接键盘上更方便使用窗口布局且不用去改系统快捷键，把 Rectangle 装回来后，发现 Rectangle 无法支持系统级的全屏操作，所以这条路也走不通
使用 QMK/VIA 改键位映射 我现在在办公室使用的 Keychron K8P 支持 QMK/VIA，那么去 usevia.app 可以快速改键映射
但是苹果这里又搞事情，原生的 Globe 键并没有相关键位码，网络上找到的方法要么是通过 QMK 改固件，要么说的用 Any 键传入 0x2100 但现在也不生效，至少没法起到 Globe 键的作用
使用 Karabiner-elements 改键位映射 参照 https://github.com/the-via/releases/issues/92#issuecomment-3805418968 这个 VIA 项目里 Issue 的讨论，最后还是用 Karabiner Elements 解决问题
我把自己 K8P 的截屏快捷键先改成 F24（默认行为是发送 Cmd+Shift+4 调用系统截屏快捷键），然后再到 Karabiner Elements 里把 F24 映射成 fn (globe)，现在尝试按 F24+F，可以在支持的应用里切换全屏
现在就是这个键并不在右手小拇指周边，不是太方便，本来考虑把 Fn+L_Option 改成 F24 来达到映射，后来发现不行，因为按下 Fn 后，原来 F 键的逻辑也变了，这时候键盘工作在第二层键位上，而 F 键默认是在改键盘灯光 RGB 的参数
剩余对当前 macOS 里全屏快捷键的吐槽 之前 Ctrl+Cmd+F 的快捷键用的好好的，偏偏要改一个外接键盘无法支持的 globe+F，而且原来的快捷键几乎所有的应用都支持，改的这个好多应用又不响应，比如 VSCode 就不行，Ghostty 也不行
]]></description>
      <content:encoded><![CDATA[<p>曾经在 <a href="/blog/2022/03/macos-utils-tools-2/">macOS 实用小工具记录 2</a> 里提到苹果修改了锁屏快捷键，可以用 <code>Ctrl+Cmd+Q</code> 锁屏，而不用模拟之前的 <code>Power</code> 键，对 Karabiner 不再有需求，结果最近还是装了回来</p>
<h2 id="macos-26-开始的全屏快捷键变化">macOS 26 开始的全屏快捷键变化</h2>
<p>在 macOS 26 Tahoe 之前，对应用全屏（新建占据整个桌面）的快捷键是 <code>Ctrl+Cmd+F</code>，这个在外接键盘上也能直接按出来，但后面改成了 <code>Globe+F</code>，这个 <code>Globe</code> 键就是苹果笔记本电脑或原装外置键盘上原来的 <code>fn</code> 键，上面有个小地球图标的，俗称地球键</p>
<p>这下好了，要全屏要么点窗口左上角的红绿灯按钮，要么用苹果笔记本机身键盘上的 <code>Globe+F</code> 的快捷键，在外接键盘上都无法使用</p>
<h2 id="在外接键盘上切换全屏的尝试">在外接键盘上切换全屏的尝试</h2>
<h3 id="macos-系统设置里改快捷键">macOS 系统设置里改快捷键</h3>
<p>这个方式是说在 macOS 的系统设置里，增加一个「切换全屏」或「Enter Full Screen」的快捷键，然后映射成自己想要的键</p>
<p>我自己试过一下，不是那么灵光，也不太好用，放弃</p>
<h3 id="使用第三方窗口管理工具如-rectangle">使用第三方窗口管理工具如 Rectangle</h3>
<p><strong>Rectangle</strong> 是我近年来替换 <strong>Spectangle</strong> 后的窗口管理工具，本来随着新版本 macOS 把左半屏、右半屏、最大化等几个操作支持后，连这个工具都可以不用，但偏偏 macOS 原生的都是 <code>Ctrl+Globe+Left</code>、<code>Ctrl+Globe+Right</code>、<code>Ctrl+Globe+F</code>，都还是无法在外接键盘上使用的</p>
<p>等为了在外接键盘上更方便使用窗口布局且不用去改系统快捷键，把 Rectangle 装回来后，发现 Rectangle 无法支持系统级的全屏操作，所以这条路也走不通</p>
<h3 id="使用-qmkvia-改键位映射">使用 QMK/VIA 改键位映射</h3>
<p>我现在在办公室使用的 Keychron K8P 支持 QMK/VIA，那么去 <a href="usevia.app" target="_blank" rel="noopener">usevia.app</a>
 可以快速改键映射</p>
<p>但是苹果这里又搞事情，原生的 <code>Globe</code> 键并没有相关键位码，网络上找到的方法要么是通过 QMK 改固件，要么说的用 <code>Any</code> 键传入 <code>0x2100</code> 但现在也不生效，至少没法起到 <code>Globe</code> 键的作用</p>
<h3 id="使用-karabiner-elements-改键位映射">使用 Karabiner-elements 改键位映射</h3>
<p>参照 <a href="https://github.com/the-via/releases/issues/92#issuecomment-3805418968" target="_blank" rel="noopener">https://github.com/the-via/releases/issues/92#issuecomment-3805418968</a>
 这个 VIA 项目里 Issue 的讨论，最后还是用 Karabiner Elements 解决问题</p>
<p>我把自己 K8P 的截屏快捷键先改成 <code>F24</code>（默认行为是发送 <code>Cmd+Shift+4</code> 调用系统截屏快捷键），然后再到 Karabiner Elements 里把 <code>F24</code> 映射成 <code>fn (globe)</code>，现在尝试按 <code>F24+F</code>，可以在支持的应用里切换全屏</p>
<p>现在就是这个键并不在右手小拇指周边，不是太方便，本来考虑把 <code>Fn+L_Option</code> 改成 <code>F24</code> 来达到映射，后来发现不行，因为按下 <code>Fn</code> 后，原来 <code>F</code> 键的逻辑也变了，这时候键盘工作在第二层键位上，而 F 键默认是在改键盘灯光 RGB 的参数</p>
<h2 id="剩余对当前-macos-里全屏快捷键的吐槽">剩余对当前 macOS 里全屏快捷键的吐槽</h2>
<p>之前 <code>Ctrl+Cmd+F</code> 的快捷键用的好好的，偏偏要改一个外接键盘无法支持的 <code>globe+F</code>，而且原来的快捷键几乎所有的应用都支持，改的这个好多应用又不响应，比如 VSCode 就不行，Ghostty 也不行</p>
<p>多年前让苹果成为开发者友好的设备，据说是 <a href="https://x.com/dhh" target="_blank" rel="noopener">@dhh</a>
 及 Ruby on Rails 这帮人推动，现在 dhh 也对目前 macOS 的状态不满，在推动 <a href="https://omarchy.org/" target="_blank" rel="noopener">Omarchy</a>
 项目，看看会不会三十年河东三十年河西，回头 Linux 变成开发者更友好的环境</p>
]]></content:encoded>
    </item>
    <item>
      <title>将博客迁移到用 Hugo 驱动</title>
      <link>https://whusnoopy.github.io/blog/2026/08/migration-to-hugo/</link>
      <pubDate>Thu, 27 Aug 2026 18:26:10 &#43;0800</pubDate>
      <guid isPermaLink="false">hugo:2026-08-27T18:00:27&#43;08:00:migration-to-hugo</guid>
      <description><![CDATA[过去这些年一直用 WordPress 做博客的后端，其实也没什么不好的，任何一个浏览器打开就能写和管理，虽然后端重了点，但一次配置好也不用怎么折腾，现在的 VPS 跑个 PHP 和 MySQL 还是够的
前两年考虑要不要彻底使用 Markdown 来做内容管理，同时把整站变成不用那么多依赖的情况，比如挂 GitHub Pages 上用 Jekyll 直接生成。后面找了下发现 Hugo 这个基于 go-lang 的本地生成服务，当时还尝试看看要不要迁移，不过文档写得总是容易，对我这个历经二十多年，里面糅合了好多历史平台的内容，跑完第一步后就懒得将其往前推进到一个明确可用状态
今年各种 AI 能力突飞猛进到真的可以干活了，于是找 Codex，在 GPT 5.6 Sol 的帮助下，先确认是可以迁移的，需要备份保留哪些数据，怎么转移和验证，并逐步算完成了迁移和整理吧
既有数据迁移倒是还快的，毕竟想要啥我都能给出来，不管是 WordPress 所在目录和之前各种静态文件所在的 wp-content，还是 MySQL 数据库表，或者是 WordPress 导出的 wxr，还包括用作评论的 Disqus 的所有导出数据
接下来的验证整合，确实验证了各种历史沉淀，光是博文，就从最早的教育网博客，到 Live Space、百度空间、QQ 空间、人人网、Blogspot、自建 WordPress 等等
评论早年很多平台的应该都被丢失了，最早接的第三方评论系统应该是多说，这个没了后应该一直用的 Disqus，在整理过程中还把 Disqus 历史迁移没匹配上的好些内容也给匹配上了，AI 真强大
再就是把历史的外链图片都想办法补到本地，包括之前用新浪微博当图床的，还好现在微博还在把相册下载到本地能匹配上，还有用人人当图床的，从我几年前备份的人人网数据里匹配到一些，但也有之前备份就有遗漏的找不到，还好从我自己的照片库，再把当年发文时配的原图人肉找到，在 Live Space 阶段的图，通过 OneDrive 的日志图片找到绝大部分，很诡异的有一张图不在这个目录，还好通过 OneDrive 按日期的照片墙，最终也找到了那张，在 Google Photo 的图现在还能访问，AI 就直接帮忙下载备份到本地了，有两张曾经传在教育网博客的无关紧要的示意图，找不到就算了，还有之前用 163 相册的图，就从自己的照片库里去匹配上，最终还有曾经在水木的一张图也不可能找到，就算了吧
在样式比对时，修复了部分代码块和引用块的问题，同时还发现历史一些应该是通过 Live Writer 发的旧文，是一个单行超大的 HTML 语法，曾经在 WordPress 上转 Markdown 应该也是转到懒得转，这次先把和引用块的临时处理下，后面应该可以借助 AI 的能力可以快速批量处理
不过，加上本地搜索功能后，开发环境需要的依赖还是不少的，从 AI 帮项目生成维护的 README 里就能看到
必须工具
Git； GNU Make 或兼容的 make； Python 3.11 或更高版本；脚本只使用标准库，不需要 pip/virtualenv； Node.js 20 或更高版本及 npm；只用于按 package-lock.json 安装和运行 Pagefind； Hugo Extended；当前验收版本为 0.165.0，建议其他机器使用相同版本，至少必须在
hugo version 输出中包含 extended； 部署机器还需要 OpenSSH client，以及包含安全更新并支持 --link-dest 的 rsync。 可选工具：Docker 或本机 nginx，用于正式切换前的 nginx 配置和 HTTP 冒烟测试。
git 作为版本管理没有什么好解释的，AI 用 make 来串起各种动作，拿 python 运行各种转换和校验脚本，node 是为了安装运行本地搜索支持工具 Pagefind，hugo 是本次核心迁移组件，另外用 ssh 和 rsync 是为了推送发布到 VPS
]]></description>
      <content:encoded><![CDATA[<p>过去这些年一直用 WordPress 做博客的后端，其实也没什么不好的，任何一个浏览器打开就能写和管理，虽然后端重了点，但一次配置好也不用怎么折腾，现在的 VPS 跑个 PHP 和 MySQL 还是够的</p>
<p>前两年考虑要不要彻底使用 Markdown 来做内容管理，同时把整站变成不用那么多依赖的情况，比如挂 GitHub Pages 上用 Jekyll 直接生成。后面找了下发现 Hugo 这个基于 go-lang 的本地生成服务，当时还尝试看看要不要迁移，不过文档写得总是容易，对我这个历经二十多年，里面糅合了好多历史平台的内容，跑完第一步后就懒得将其往前推进到一个明确可用状态</p>
<p>今年各种 AI 能力突飞猛进到真的可以干活了，于是找 Codex，在 GPT 5.6 Sol 的帮助下，先确认是可以迁移的，需要备份保留哪些数据，怎么转移和验证，并逐步算完成了迁移和整理吧</p>
<p>既有数据迁移倒是还快的，毕竟想要啥我都能给出来，不管是 WordPress 所在目录和之前各种静态文件所在的 <code>wp-content</code>，还是 MySQL 数据库表，或者是 WordPress 导出的 wxr，还包括用作评论的 Disqus 的所有导出数据</p>
<p>接下来的验证整合，确实验证了各种历史沉淀，光是博文，就从最早的教育网博客，到 Live Space、百度空间、QQ 空间、人人网、Blogspot、自建 WordPress 等等</p>
<p>评论早年很多平台的应该都被丢失了，最早接的第三方评论系统应该是<code>多说</code>，这个没了后应该一直用的 Disqus，在整理过程中还把 Disqus 历史迁移没匹配上的好些内容也给匹配上了，AI 真强大</p>
<p>再就是把历史的外链图片都想办法补到本地，包括之前用新浪微博当图床的，还好现在微博还在把相册下载到本地能匹配上，还有用人人当图床的，从我几年前备份的人人网数据里匹配到一些，但也有之前备份就有遗漏的找不到，还好从我自己的照片库，再把当年发文时配的原图人肉找到，在 Live Space 阶段的图，通过 OneDrive 的日志图片找到绝大部分，很诡异的有一张图不在这个目录，还好通过 OneDrive 按日期的照片墙，最终也找到了那张，在 Google Photo 的图现在还能访问，AI 就直接帮忙下载备份到本地了，有两张曾经传在教育网博客的无关紧要的示意图，找不到就算了，还有之前用 163 相册的图，就从自己的照片库里去匹配上，最终还有曾经在水木的一张图也不可能找到，就算了吧</p>
<p>在样式比对时，修复了部分代码块和引用块的问题，同时还发现历史一些应该是通过 Live Writer 发的旧文，是一个单行超大的 HTML 语法，曾经在 WordPress 上转 Markdown 应该也是转到懒得转，这次先把和引用块的临时处理下，后面应该可以借助 AI 的能力可以快速批量处理</p>
<p>不过，加上本地搜索功能后，开发环境需要的依赖还是不少的，从 AI 帮项目生成维护的 <code>README</code> 里就能看到</p>
<blockquote>
<p>必须工具</p>
<ul>
<li>Git；</li>
<li>GNU Make 或兼容的 <code>make</code>；</li>
<li>Python 3.11 或更高版本；脚本只使用标准库，不需要 pip/virtualenv；</li>
<li>Node.js 20 或更高版本及 npm；只用于按 <code>package-lock.json</code> 安装和运行 Pagefind；</li>
<li>Hugo Extended；当前验收版本为 0.165.0，建议其他机器使用相同版本，至少必须在<br>
<code>hugo version</code> 输出中包含 <code>extended</code>；</li>
<li>部署机器还需要 OpenSSH client，以及包含安全更新并支持 <code>--link-dest</code> 的 rsync。</li>
</ul>
<p>可选工具：Docker 或本机 nginx，用于正式切换前的 nginx 配置和 HTTP 冒烟测试。</p>
</blockquote>
<p><code>git</code> 作为版本管理没有什么好解释的，AI 用 <code>make</code> 来串起各种动作，拿 <code>python</code> 运行各种转换和校验脚本，<code>node</code> 是为了安装运行本地搜索支持工具 <code>Pagefind</code>，<code>hugo</code> 是本次核心迁移组件，另外用 <code>ssh</code> 和 <code>rsync</code> 是为了推送发布到 VPS</p>
<p>大头基本完成，后面应该就是把单页目录样式小组件做下样式和功能优化，把整站的主题做做美化，再把历史文章都想办法转成 Markdown 格式，就安心写东西吧</p>
]]></content:encoded>
    </item>
    <item>
      <title>孩子们迷上了疯狂兔子人SuperBunnyMan</title>
      <link>https://whusnoopy.github.io/blog/2026/05/kids-play-super-bunny-man/</link>
      <pubDate>Sun, 31 May 2026 21:21:16 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4257</guid>
      <description><![CDATA[前几年在 B 站上看有直播玩疯狂兔子人（Super Bunny Man）这个游戏的切片，当时感觉有血腥画面，加上主播太聒噪，并没有让玩
Steam 链接 https://store.steampowered.com/app/673750/
今年应孩子们再三要求，买了，因为操作相对简单，只需要摇杆左右，加一个 A 跳，和 LB 抓，两个娃都玩得不亦乐乎，并且在玩到特别熟练前通过奇怪的卡 bug 方式把一些正常玩还拿不到的奖励也拿满了，把所有关卡都解锁，虽然后面各种玩熟练后也能正常解锁
后面娃们不满足玩既有地图，说有没有 DLC 出新的地图，或者可以自己编辑，于是找到了 https://github.com/flarfo/SBM-Custom-Levels 这个可以自定义地图的第三方扩展，娃们又自己制作了一些互殴的地图，继续玩得不亦乐乎，目前都玩超过 100 小时了
只是不管是游戏本体还是第三方扩展，目前都不维护也没有活跃的社群，个人感觉如果有活跃的社群来交换地图会更好玩
]]></description>
      <content:encoded><![CDATA[<p>前几年在 B 站上看有直播玩疯狂兔子人（Super Bunny Man）这个游戏的切片，当时感觉有血腥画面，加上主播太聒噪，并没有让玩</p>
<blockquote>
<p>Steam 链接 <a href="https://store.steampowered.com/app/673750/" target="_blank">https://store.steampowered.com/app/673750/</a></p>
</blockquote>
<p>今年应孩子们再三要求，买了，因为操作相对简单，只需要摇杆左右，加一个 A 跳，和 LB 抓，两个娃都玩得不亦乐乎，并且在玩到特别熟练前通过奇怪的卡 bug 方式把一些正常玩还拿不到的奖励也拿满了，把所有关卡都解锁，虽然后面各种玩熟练后也能正常解锁</p>
<p>后面娃们不满足玩既有地图，说有没有 DLC 出新的地图，或者可以自己编辑，于是找到了 <a href="https://github.com/flarfo/SBM-Custom-Levels" target="_blank">https://github.com/flarfo/SBM-Custom-Levels</a> 这个可以自定义地图的第三方扩展，娃们又自己制作了一些互殴的地图，继续玩得不亦乐乎，目前都玩超过 100 小时了</p>
<p>只是不管是游戏本体还是第三方扩展，目前都不维护也没有活跃的社群，个人感觉如果有活跃的社群来交换地图会更好玩</p>
]]></content:encoded>
    </item>
    <item>
      <title>同一网页引入两个不同版本jQuery引发的问题</title>
      <link>https://whusnoopy.github.io/blog/2026/04/bugs-caused-by-multiple-jquery-versions-on-the-same-page/</link>
      <pubDate>Wed, 08 Apr 2026 09:18:31 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4253</guid>
      <description><![CDATA[昨天在前端工程遇到一个以前没有想到过的问题
在维护了十多年的主项目上，最近完成了把 Knockout.js 从用户侧前端子工程 acorn 完全移除的工作，原来的要么迁移成 React 实现，要么把自家运营运维侧的工作移到 staff 子工程。在 staff 子工程里目前还有 Knockout.js 的前端页面逻辑和组件，以及一些以前仿照 bootstrap 写的样式和 js 组件，以及基于 jQuery 的日期选择器 datepicker 和时间选择器 timepicker
但昨天发现某个页面一个封了 datepicker 的 input，通过 data-bind=&ldquo;textInput&rdquo; 跟 knockout.js 绑定有奇怪的行为。鼠标点选，input 输入框内文本改变，用 $(el).val() 取的值也正常，但 ko 绑定的值不变。如果直接在 input 框里输入，ko 绑定的值就能正常更新
直接 input 输入可以改变 ko 绑定值，说明 ko 绑定没出问题，鼠标点选后 ko 绑定值不变，说明监听机制哪里有问题。因为这一波迁移里把原来多个版本混用的 ko 统一到了 3.x，先查是不是 ko 跨版本有监听事件的变化，ko 官网没说，某 AI 说 ko 3.x 开始还是现代浏览器有啥啥啥事件不再绑定，但尝试手工验证， $(el).trigger(&quot;input&quot;) 和 $(element).trigger(&quot;change&quot;) 这些明确说应该有效的，也不能让 ko.observable 的值更新
自己看业务代码和 datepicker 的代码（都是十年前自己写的），git 记录都显示没变啊，调试过程该有的事件都正常触发。把问题代码涉及的链路和表现丢给 Codex GPT-5.4 xhigh，一开始还说需要检查 ko 绑定机制和 vm 初始化顺序，但这些跟之前正常工作时都没变化。后面揪出来在 jinja2 模板层，渲染 HTML 时引入了两次不同版本的 jQuery，在 ko 绑定时用的第一版，后续 datepicker 初始化时关联到第二版，两边 $.event 不通？两套 jQuery 各自维护了自己的事件缓存和 handler 列表，所以 datepicker 库通过第二套 jQuery 发出的事件到不了 ko 在第一套 jQuery 上注册的 handler，而人肉改 input 里的内容走的浏览器原生 DOM 事件，ko 用的那一版 jQuery 有正常监听能生效。最终移除没必要多引入了一次的 jQuery 后，确保 Knockout.js 和 datepicker 使用的是同一版 jQuery 后恢复正常
前端这些诡异的大坑啊，以前为了弥补浏览器能力不足而需要 jQuery 去封装的各种基础能力，现代浏览器都原生支持（主要是选择器和事件触发监听），未来能走原生都走原生吧
]]></description>
      <content:encoded><![CDATA[<p>昨天在前端工程遇到一个以前没有想到过的问题</p>
<p>在维护了十多年的主项目上，最近完成了把 Knockout.js 从用户侧前端子工程 acorn 完全移除的工作，原来的要么迁移成 React 实现，要么把自家运营运维侧的工作移到 staff 子工程。在 staff 子工程里目前还有 Knockout.js 的前端页面逻辑和组件，以及一些以前仿照 bootstrap 写的样式和 js 组件，以及基于 jQuery 的日期选择器 datepicker 和时间选择器 timepicker</p>
<p>但昨天发现某个页面一个封了 datepicker 的 input，通过 data-bind=&ldquo;textInput&rdquo; 跟 knockout.js 绑定有奇怪的行为。鼠标点选，input 输入框内文本改变，用 $(el).val() 取的值也正常，但 ko 绑定的值不变。如果直接在 input 框里输入，ko 绑定的值就能正常更新</p>
<p>直接 input 输入可以改变 ko 绑定值，说明 ko 绑定没出问题，鼠标点选后 ko 绑定值不变，说明监听机制哪里有问题。因为这一波迁移里把原来多个版本混用的 ko 统一到了 3.x，先查是不是 ko 跨版本有监听事件的变化，ko 官网没说，某 AI 说 ko 3.x 开始还是现代浏览器有啥啥啥事件不再绑定，但尝试手工验证， <code>$(el).trigger(&quot;input&quot;)</code> 和 <code>$(element).trigger(&quot;change&quot;)</code> 这些明确说应该有效的，也不能让 ko.observable 的值更新</p>
<p>自己看业务代码和 datepicker 的代码（都是十年前自己写的），git 记录都显示没变啊，调试过程该有的事件都正常触发。把问题代码涉及的链路和表现丢给 Codex GPT-5.4 xhigh，一开始还说需要检查 ko 绑定机制和 vm 初始化顺序，但这些跟之前正常工作时都没变化。后面揪出来在 jinja2 模板层，渲染 HTML 时引入了两次不同版本的 jQuery，在 ko 绑定时用的第一版，后续 datepicker 初始化时关联到第二版，两边 $.event 不通？两套 jQuery 各自维护了自己的事件缓存和 handler 列表，所以 datepicker 库通过第二套 jQuery 发出的事件到不了 ko 在第一套 jQuery 上注册的 handler，而人肉改 input 里的内容走的浏览器原生 DOM 事件，ko 用的那一版 jQuery 有正常监听能生效。最终移除没必要多引入了一次的 jQuery 后，确保 Knockout.js 和 datepicker 使用的是同一版 jQuery 后恢复正常</p>
<p>前端这些诡异的大坑啊，以前为了弥补浏览器能力不足而需要 jQuery 去封装的各种基础能力，现代浏览器都原生支持（主要是选择器和事件触发监听），未来能走原生都走原生吧</p>
]]></content:encoded>
    </item>
    <item>
      <title>断电长按电源键可解决绝大部分USB-C/雷电口设备问题</title>
      <link>https://whusnoopy.github.io/blog/2026/03/poweroff-and-press-hold-power-button-to-fix-usb-c-and-thunderbolt-devices/</link>
      <pubDate>Tue, 31 Mar 2026 20:08:11 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4250</guid>
      <description><![CDATA[个人和公司都遇到过笔记本电脑或显示器或别的设备的 USB-C 或雷电口，不能充电、传输信号等问题，大部分情况下，断电后长按电源键做重置就可以解决绝大部分问题
断电
笔记本电脑需要拔外接电源，最好在 BIOS 里断掉内置电池供电，取下一切连在笔记本电脑上的外设，包括但不限于 U 盘、无线鼠标接收器、网线等 显示器拔掉电源线，最好也把所有数据线也拔掉 长按电源键
笔记本电脑在 BIOS 断内置电池的情况下长按电源键不会开机，保持按下 10 秒以上，最好 15 秒或 20 秒。如果没有 BIOS 断内置电池的机型，大概率长按下会先开机，再自动关机，不管他一样按够时间 显示器就是长按电源键，按够时间 恢复
笔记本电脑插外接电源适配器，正常开机就行 显示器插好电源线和数据线，正常开机就行 原理：设备的 USB-C 控制器或雷电控制器进入了奇怪的工作状态，断电长按电源键是让其恢复默认状态，就是重置
]]></description>
      <content:encoded><![CDATA[<p>个人和公司都遇到过笔记本电脑或显示器或别的设备的 USB-C 或雷电口，不能充电、传输信号等问题，大部分情况下，断电后长按电源键做重置就可以解决绝大部分问题</p>
<ul>
<li>
<p>断电</p>
<ul>
<li>笔记本电脑需要拔外接电源，最好在 BIOS 里断掉内置电池供电，取下一切连在笔记本电脑上的外设，包括但不限于 U 盘、无线鼠标接收器、网线等</li>
<li>显示器拔掉电源线，最好也把所有数据线也拔掉</li>
</ul>
</li>
<li>
<p>长按电源键</p>
<ul>
<li>笔记本电脑在 BIOS 断内置电池的情况下长按电源键不会开机，保持按下 10 秒以上，最好 15 秒或 20 秒。如果没有 BIOS 断内置电池的机型，大概率长按下会先开机，再自动关机，不管他一样按够时间</li>
<li>显示器就是长按电源键，按够时间</li>
</ul>
</li>
<li>
<p>恢复</p>
<ul>
<li>笔记本电脑插外接电源适配器，正常开机就行</li>
<li>显示器插好电源线和数据线，正常开机就行</li>
</ul>
</li>
</ul>
<p>原理：设备的 USB-C 控制器或雷电控制器进入了奇怪的工作状态，断电长按电源键是让其恢复默认状态，就是重置</p>
]]></content:encoded>
    </item>
    <item>
      <title>优派VX2478-4K-HD使用12V5A电源可以消解绝大多数故障</title>
      <link>https://whusnoopy.github.io/blog/2026/03/use-12v-5a-power-adaptor-to-fix-viewsonic-vx2478-4k-hd/</link>
      <pubDate>Fri, 27 Mar 2026 23:24:56 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4245</guid>
      <description><![CDATA[公司在 2020 年开始分批采购了不少优派 VX2478-4K-HD 这款 23.6 英寸的 4K 显示器，官网在 https://www.viewsonic.com.cn/products/lcd/VX2478-4K-HD
从前两年开始，我们陆续有同事反馈这个显示器点亮后需要很久才能让电脑有显示信号传输过来，开机后也不会立即出现优派那三只彩色小鸟的 Logo，一度以为这么快就到使用寿命，后来在 https://www.v2ex.com/t/1068514 这里看到一个闲鱼大佬神奇的说法，这款机型的电路设计有问题，把原装的 19V 2.2A 的外置电源适配器换成 12V 5A 的就好
实践的确如此，我司已经有超过 70% 的这款显示器通过更换电源重获新生，淘宝上买的广东汕头发货十几块钱的「台达12V5A电源，接口55*25」都能用
]]></description>
      <content:encoded><![CDATA[<p>公司在 2020 年开始分批采购了不少优派 VX2478-4K-HD 这款 23.6 英寸的 4K 显示器，官网在 <a href="https://www.viewsonic.com.cn/products/lcd/VX2478-4K-HD" target="_blank">https://www.viewsonic.com.cn/products/lcd/VX2478-4K-HD</a></p>
<p>从前两年开始，我们陆续有同事反馈这个显示器点亮后需要很久才能让电脑有显示信号传输过来，开机后也不会立即出现优派那三只彩色小鸟的 Logo，一度以为这么快就到使用寿命，后来在 <a href="https://www.v2ex.com/t/1068514" target="_blank">https://www.v2ex.com/t/1068514</a> 这里看到一个闲鱼大佬神奇的说法，这款机型的电路设计有问题，把原装的 19V 2.2A 的外置电源适配器换成 12V 5A 的就好</p>
<p>实践的确如此，我司已经有超过 70% 的这款显示器通过更换电源重获新生，淘宝上买的广东汕头发货十几块钱的「台达12V5A电源，接口55*25」都能用</p>
]]></content:encoded>
    </item>
    <item>
      <title>使用 Advanced Font Settings 在 Chrome 系浏览器中正确显示中日韩字体</title>
      <link>https://whusnoopy.github.io/blog/2026/02/use-advanced-font-settings-in-chrome-to-display-ckj-fonts/</link>
      <pubDate>Wed, 11 Feb 2026 21:57:51 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4229</guid>
      <description><![CDATA[众所周知浏览器在某些场所会错误判断当前文字隶属的语言，然后会调用不同的语言对应的字体来显示，比如中日韩（CJK）共享的大量汉字，在不同的语言里显示字体不一样就会看着很别扭，对，就是 Twitter，现在叫 x.com 的上面，经常看到犬牙交错别扭的显示
哪怕在浏览器里修改了字体，但只对操作系统默认语言生效，并不对所有语言都有效，还是可能会回落到其他语言的默认字体上，所以需要 Advanced Font Settings 这个插件来解决显示不一致的问题
CJK 地区比较推荐使用 Noto 系列的字体，可在 GitHub 上 noto-cjk 这个仓库免费下载使用，虽然有下载说明，但我个人体验下来还是有一些奇怪，只下载通用文件可能是不够的，需要下载区域或语言特定的字体，所以我装完后一共有十个字体
Noto Sans Noto Sans JP Noto Sans KR Noto Sans SC Noto Sans TC Noto Serif Noto Serif JP Noto Serif KR Noto Serif SC Noto Serif TC 在 Advanced Font Settings 里对默认语言选 Noto Sans / Noto Serif 不带后缀的这个，特别是浏览器和系统语言是英文的情况。其他几个语言必须要选带后缀的字体才能正确显示，对应关系分别为
韩语 Korean: Hangul - KR 日语 Japanese: Japanese - JP 简体中文 Simplified Chinese: Simplified Han - SC 繁体中文 Traditional Chinese: Traditional Han - TC 设置好后可以访问 /blog/font_test.html 来确认是否都正常渲染
]]></description>
      <content:encoded><![CDATA[<p>众所周知浏览器在某些场所会错误判断当前文字隶属的语言，然后会调用不同的语言对应的字体来显示，比如中日韩（CJK）共享的大量汉字，在不同的语言里显示字体不一样就会看着很别扭，对，就是 Twitter，现在叫 x.com 的上面，经常看到犬牙交错别扭的显示</p>
<p>哪怕在浏览器里修改了字体，但只对操作系统默认语言生效，并不对所有语言都有效，还是可能会回落到其他语言的默认字体上，所以需要 <a href="https://chromewebstore.google.com/detail/caclkomlalccbpcdllchkeecicepbmbm" target="_blank">Advanced Font Settings</a> 这个插件来解决显示不一致的问题</p>
<p>CJK 地区比较推荐使用 Noto 系列的字体，可在 GitHub 上 <a href="https://github.com/notofonts/noto-cjk/releases" target="_blank">noto-cjk</a> 这个仓库免费下载使用，虽然有下载说明，但我个人体验下来还是有一些奇怪，只下载通用文件可能是不够的，需要下载区域或语言特定的字体，所以我装完后一共有十个字体</p>
<ul>
<li>Noto Sans
<ul>
<li>Noto Sans JP</li>
<li>Noto Sans KR</li>
<li>Noto Sans SC</li>
<li>Noto Sans TC</li>
</ul>
</li>
<li>Noto Serif
<ul>
<li>Noto Serif JP</li>
<li>Noto Serif KR</li>
<li>Noto Serif SC</li>
<li>Noto Serif TC</li>
</ul>
</li>
</ul>
<p>在 Advanced Font Settings 里对默认语言选 Noto Sans / Noto Serif 不带后缀的这个，特别是浏览器和系统语言是英文的情况。其他几个语言必须要选带后缀的字体才能正确显示，对应关系分别为</p>
<ul>
<li>韩语 Korean: Hangul - KR</li>
<li>日语 Japanese: Japanese - JP</li>
<li>简体中文 Simplified Chinese: Simplified Han - SC</li>
<li>繁体中文 Traditional Chinese: Traditional Han - TC</li>
</ul>
<p>设置好后可以访问 <a href="/blog/font_test.html" target="_blank">/blog/font_test.html</a> 来确认是否都正常渲染</p>
]]></content:encoded>
    </item>
    <item>
      <title>记一次 VPS 全挂加数据恢复</title>
      <link>https://whusnoopy.github.io/blog/2026/02/vps-crashed/</link>
      <pubDate>Thu, 05 Feb 2026 15:21:02 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4237</guid>
      <description><![CDATA[最近 CloudCone 这个 VPS 供应商出了一次大锅，所有机器全挂加数据全丢，截止到本文发布时还没好，参考他们截止到发文时的故障说明 https://status.cloudcone.com/incidents/346624
用来使用各种 AI 工具的梯子没了找别的就是，但个人网站和一些数据都还在上面，还好很久之前配置了一个小脚本自动备份到 Dropbox，看了下网站数据基本都在，最近的 MySQL 备份好像挂了，但期间也没写几篇 blog，而且 RSS 输出的可以通过 Feedly 找回，人肉再补发一下好了
]]></description>
      <content:encoded><![CDATA[<p>最近 CloudCone 这个 VPS 供应商出了一次大锅，所有机器全挂加数据全丢，截止到本文发布时还没好，参考他们截止到发文时的故障说明 <a href="https://status.cloudcone.com/incidents/346624" target="_blank">https://status.cloudcone.com/incidents/346624</a></p>
<p>用来使用各种 AI 工具的梯子没了找别的就是，但个人网站和一些数据都还在上面，还好很久之前配置了一个小脚本自动备份到 Dropbox，看了下网站数据基本都在，最近的 MySQL 备份好像挂了，但期间也没写几篇 blog，而且 RSS 输出的可以通过 Feedly 找回，人肉再补发一下好了</p>
]]></content:encoded>
    </item>
    <item>
      <title>长滩游 part0</title>
      <link>https://whusnoopy.github.io/blog/2026/01/tour-to-boracay-part0/</link>
      <pubDate>Tue, 06 Jan 2026 14:48:16 &#43;0800</pubDate>
      <guid isPermaLink="false">http://www.yewen.us/blog/?p=2983</guid>
      <description><![CDATA[ 又一份十年前的草稿，直接发吧，看简要记录也有了，多年过去也没必要扩写，这个系列也不会有更多 part
加入美登后维持每年一次出境游的惯例，2015-2016 是在 2016 年春节后去了菲律宾的长滩岛。当时有简单记录一下给第二波的人做引导 https://www.yewen.us/blog/2016/03/tips-for-boracay/，为了给自己一个纪念，也为了顺带宣传下公司福利，好好记一下
本来看预定的时间快到莫莫预产期，今年出境游就算了，还是安心在家呆着吧，家喵表示你跟家里人都说下免得自己怨念，结果喵妈倒是很鼓励的说让他出去玩啊，你离预产期还有好一段呢，怕什么怕，于是变成了喵把自己坑掉，狗出去了快一周
一开始定地点还纠结了好久，因为公司业务特点没法大家一起走，必须分两拨，这样每一次人不会太多，找旅行社定制行程就有点贵，加上预算和办签证的时间限制，日本台湾啥的也去不成，最后定了长滩岛，一开始笨狗只想到了美帝哪里有个长滩，一查才发现原来是菲律宾的一个旅游海岛。公司通过途牛还是哪里找的自由行，说是自由行，其实从杭州出发一直到酒店入住，全程都有导游陪同。国内段一个，负责出入境到那边下飞机出机场，不过后面也会一直跟到酒店；在菲律宾时一个，出了机场在菲律宾境内就听他的。回程类推
出发那天按国内导游的指示说晚上十点要集合，其实是大约十点半才开始值机安检，我们第一波走的太谨慎，到机场太早然后干等了很久，而且我们很失误没有带点 UNO 啥的消遣，在机场傻等了很久。在机场碰到一个伦敦小哥，很热情跟周围各种人搭讪，笨狗本来只是顺便帮忙替他和周边的国人翻译了一段，后面无聊也跟他瞎扯了好一会，也挺有意思的，那哥们做运动服饰生意，过来杭州周边拜访供应商，前面去过深圳广州上海，到杭州吐槽地方都太远了，住处出来要坐好久车，去拜访的供应商估计都在诸暨义乌这些地方，来回是够折腾，然后那几天刚好杭州冷的要死，小哥一身单衣在雨天逛的西湖，想想都哆嗦，在机场碰到是他要去清迈了，刚好我们去年也去过清迈，又有共同话题，小哥一直表示那边要暖和且便宜舒服很多，杭州真的是冻死了，跟他解释杭州在中国一般是被认为是南方，被他吐槽特么冷成这样你告诉我这是南方？作为 IT 男，很关心了下对方在大陆怎么解决通讯问题，看起来是买了张类似神州行的不记名卡用，那个小哥主要用的 What&rsquo;s App，居然没有被墙，想加我们但是我们好像没一个人装了这货
这种相对便宜的行程必然是红眼航班，半夜的飞机凌晨到。来回说是旅行社包机，其实就是各种渠道凑的散团最后会由两三个导游带着，同行的其他人多半素质堪忧，比如各种大声喧哗、飞机上各种来回乱跑，这次还遇到在你前后脱鞋睡觉熏死你的奇葩。因为大陆和菲律宾的关系紧张，个人签证似乎很难办，团签也是另外的纸条，不会在护照上留下任何菲律宾的出入境痕迹，出行前护照什么的一开始都在国内导游身上，等他办好登机牌后才发护照和登机牌给我们，所以还必须得跟着导游走才行。关于这种又想赚游客钱但是又要维持国体的事情，大家后面也欢乐的吐槽了好久，似乎越南也是类似的？南海周边国家都这样么？
新同事 Luffy 在前公司离职前刚好赶上他们也是去长滩岛旅游，他们回来的飞机就是我们走的飞机，按他们的时刻表应该是晚点了挺久，但按我们出发的时刻表似乎没晚点，他们返程时正是杭州最冷的时候，估计下飞机后冻的够呛。去的航班是亚航旗下某个菲律宾小廉航的 A319 执飞，全机经济舱，路上发了份很难吃的饭，一小瓶封口像哇哈哈钙奶的矿泉水，跟熊吐槽为啥要这么发水，给个普通瓶装的没喝完下飞机还能继续喝，难道瓶盖成本这么高？
凌晨四五点到达卡里波国际机场，下飞机的时候天已经蒙蒙亮，一出机舱潮热扑面而来，过关出机场我们这个散团被一辆当地大巴接上，后面到酒店的行程就是在当地导游的指挥下前进。去长滩岛有两个机场，一个是我们去的这个距离还有大几十公里外的卡里波，好处是国际机场可以直飞，坏处是从机场到上岛的码头要坐快两个小时大巴，另一个离上岛码头很近，但是机场小只能菲律宾国内飞过去要转机，不过看更近的那个机场似乎在扩建，不知道会不会以后也能直飞过去
当地的导游看起来应该是东南亚的华裔，或者闽南语地区过去的人，中文说的一股港台腔，在大巴上忽悠我们不要在当地随便报旅游项目，会有人身危险什么什么的，他们那边有更合规合理的项目怎样怎样，我们大家都没理他。菲律宾比索在国内只能换到 1000 面额的大钞，菲律宾又有一个很奇葩的出入境外汇现金限额，出行前我们每人拿了 1w 的比索和 200 美金，一路还想如果要零钱买水或付小费怎么办。当地导游在大巴上很体贴的跟我们说他可以提供换汇服务，人民币兑比索 6.50（中间价一般在 7 以上），不过如果有比索没花完，回程时还可以找他按这个汇率换回人民币，我们都没换返程时也没见人真的跟他大额换回，估计也就是个说头。另外当地导游允许每人从他那换 1000 的零钱，给的大概是 500/200/100/50*2/20*5 这样的。从卡里波去上岛的码头半路经过一个小服务区，大概也就国内一个加油站的规模，下车找当地导游换零钱，买水再破开，目测当地饮品价格跟国内差不多，类似的旅游点或宰客区更贵。关于各种游记上提到路上搬行李的小费，导游表示他都统一给了，回程时每人给他 100 整就好，每次 20，来回上下岛共四次，酒店搬行李一次
出发前在万能的淘宝预定了个一日浮潜跳岛行程，准备了手机卡和充值卡。感觉菲律宾的移动运营商在游客友好度上完全不考虑，非得是一个裸 SIM 卡然后充值，继而发短信选不同的流量或通话套餐，但是为啥不直接弄个一周预充值的套餐，大家不用思考，价格也差不多。我们用的是 Globe 这家运营商，下飞机后在大巴上插卡充值选套餐，发现淘宝卖家说可以多个套餐叠加的其实并没有，最后只用了 supersurf200 这个 200 比索 5 天无限流量的套餐，反正在那边也不会打电话发短信，有信号的地方互相微信视频联系，没信号的地方电话短信也没用
到达长滩码头时惊呼海怎么可以这么清，真的是水晶一般透亮，直接能看到海底
再转乘小货车改装的双条车到酒店，吃饭，回屋睡觉，隔音差，出门只能靠酒店的班车，下午出门沿海滩瞎逛下，买椰子喝水，在菜场的 smoke 吃饭，咸，在 Dmall 买大桶水带回
]]></description>
      <content:encoded><![CDATA[<blockquote>
<p>又一份十年前的草稿，直接发吧，看简要记录也有了，多年过去也没必要扩写，这个系列也不会有更多 part</p>
</blockquote>
<p>加入美登后维持每年一次出境游的惯例，2015-2016 是在 2016 年春节后去了菲律宾的长滩岛。当时有简单记录一下给第二波的人做引导 <a href="https://www.yewen.us/blog/2016/03/tips-for-boracay/" target="_blank">https://www.yewen.us/blog/2016/03/tips-for-boracay/</a>，为了给自己一个纪念，也为了顺带宣传下公司福利，好好记一下</p>
<p>本来看预定的时间快到莫莫预产期，今年出境游就算了，还是安心在家呆着吧，家喵表示你跟家里人都说下免得自己怨念，结果喵妈倒是很鼓励的说让他出去玩啊，你离预产期还有好一段呢，怕什么怕，于是变成了喵把自己坑掉，狗出去了快一周</p>
<p>一开始定地点还纠结了好久，因为公司业务特点没法大家一起走，必须分两拨，这样每一次人不会太多，找旅行社定制行程就有点贵，加上预算和办签证的时间限制，日本台湾啥的也去不成，最后定了长滩岛，一开始笨狗只想到了美帝哪里有个长滩，一查才发现原来是菲律宾的一个旅游海岛。公司通过途牛还是哪里找的自由行，说是自由行，其实从杭州出发一直到酒店入住，全程都有导游陪同。国内段一个，负责出入境到那边下飞机出机场，不过后面也会一直跟到酒店；在菲律宾时一个，出了机场在菲律宾境内就听他的。回程类推</p>
<p>出发那天按国内导游的指示说晚上十点要集合，其实是大约十点半才开始值机安检，我们第一波走的太谨慎，到机场太早然后干等了很久，而且我们很失误没有带点 UNO 啥的消遣，在机场傻等了很久。在机场碰到一个伦敦小哥，很热情跟周围各种人搭讪，笨狗本来只是顺便帮忙替他和周边的国人翻译了一段，后面无聊也跟他瞎扯了好一会，也挺有意思的，那哥们做运动服饰生意，过来杭州周边拜访供应商，前面去过深圳广州上海，到杭州吐槽地方都太远了，住处出来要坐好久车，去拜访的供应商估计都在诸暨义乌这些地方，来回是够折腾，然后那几天刚好杭州冷的要死，小哥一身单衣在雨天逛的西湖，想想都哆嗦，在机场碰到是他要去清迈了，刚好我们去年也去过清迈，又有共同话题，小哥一直表示那边要暖和且便宜舒服很多，杭州真的是冻死了，跟他解释杭州在中国一般是被认为是南方，被他吐槽特么冷成这样你告诉我这是南方？作为 IT 男，很关心了下对方在大陆怎么解决通讯问题，看起来是买了张类似神州行的不记名卡用，那个小哥主要用的 What&rsquo;s App，居然没有被墙，想加我们但是我们好像没一个人装了这货</p>
<p>这种相对便宜的行程必然是红眼航班，半夜的飞机凌晨到。来回说是旅行社包机，其实就是各种渠道凑的散团最后会由两三个导游带着，同行的其他人多半素质堪忧，比如各种大声喧哗、飞机上各种来回乱跑，这次还遇到在你前后脱鞋睡觉熏死你的奇葩。因为大陆和菲律宾的关系紧张，个人签证似乎很难办，团签也是另外的纸条，不会在护照上留下任何菲律宾的出入境痕迹，出行前护照什么的一开始都在国内导游身上，等他办好登机牌后才发护照和登机牌给我们，所以还必须得跟着导游走才行。关于这种又想赚游客钱但是又要维持国体的事情，大家后面也欢乐的吐槽了好久，似乎越南也是类似的？南海周边国家都这样么？</p>
<p>新同事 Luffy 在前公司离职前刚好赶上他们也是去长滩岛旅游，他们回来的飞机就是我们走的飞机，按他们的时刻表应该是晚点了挺久，但按我们出发的时刻表似乎没晚点，他们返程时正是杭州最冷的时候，估计下飞机后冻的够呛。去的航班是亚航旗下某个菲律宾小廉航的 A319 执飞，全机经济舱，路上发了份很难吃的饭，一小瓶封口像哇哈哈钙奶的矿泉水，跟熊吐槽为啥要这么发水，给个普通瓶装的没喝完下飞机还能继续喝，难道瓶盖成本这么高？</p>
<p>凌晨四五点到达卡里波国际机场，下飞机的时候天已经蒙蒙亮，一出机舱潮热扑面而来，过关出机场我们这个散团被一辆当地大巴接上，后面到酒店的行程就是在当地导游的指挥下前进。去长滩岛有两个机场，一个是我们去的这个距离还有大几十公里外的卡里波，好处是国际机场可以直飞，坏处是从机场到上岛的码头要坐快两个小时大巴，另一个离上岛码头很近，但是机场小只能菲律宾国内飞过去要转机，不过看更近的那个机场似乎在扩建，不知道会不会以后也能直飞过去</p>
<p>当地的导游看起来应该是东南亚的华裔，或者闽南语地区过去的人，中文说的一股港台腔，在大巴上忽悠我们不要在当地随便报旅游项目，会有人身危险什么什么的，他们那边有更合规合理的项目怎样怎样，我们大家都没理他。菲律宾比索在国内只能换到 1000 面额的大钞，菲律宾又有一个很奇葩的出入境外汇现金限额，出行前我们每人拿了 1w 的比索和 200 美金，一路还想如果要零钱买水或付小费怎么办。当地导游在大巴上很体贴的跟我们说他可以提供换汇服务，人民币兑比索 6.50（中间价一般在 7 以上），不过如果有比索没花完，回程时还可以找他按这个汇率换回人民币，我们都没换返程时也没见人真的跟他大额换回，估计也就是个说头。另外当地导游允许每人从他那换 1000 的零钱，给的大概是 500/200/100/50*2/20*5 这样的。从卡里波去上岛的码头半路经过一个小服务区，大概也就国内一个加油站的规模，下车找当地导游换零钱，买水再破开，目测当地饮品价格跟国内差不多，类似的旅游点或宰客区更贵。关于各种游记上提到路上搬行李的小费，导游表示他都统一给了，回程时每人给他 100 整就好，每次 20，来回上下岛共四次，酒店搬行李一次</p>
<p>出发前在万能的淘宝预定了个一日浮潜跳岛行程，准备了手机卡和充值卡。感觉菲律宾的移动运营商在游客友好度上完全不考虑，非得是一个裸 SIM 卡然后充值，继而发短信选不同的流量或通话套餐，但是为啥不直接弄个一周预充值的套餐，大家不用思考，价格也差不多。我们用的是 Globe 这家运营商，下飞机后在大巴上插卡充值选套餐，发现淘宝卖家说可以多个套餐叠加的其实并没有，最后只用了 <code>supersurf200</code> 这个 200 比索 5 天无限流量的套餐，反正在那边也不会打电话发短信，有信号的地方互相微信视频联系，没信号的地方电话短信也没用</p>
<p>到达长滩码头时惊呼海怎么可以这么清，真的是水晶一般透亮，直接能看到海底</p>
<p>再转乘小货车改装的双条车到酒店，吃饭，回屋睡觉，隔音差，出门只能靠酒店的班车，下午出门沿海滩瞎逛下，买椰子喝水，在菜场的 smoke 吃饭，咸，在 Dmall 买大桶水带回</p>
]]></content:encoded>
    </item>
    <item>
      <title>迪士尼游记</title>
      <link>https://whusnoopy.github.io/blog/2026/01/tour-to-disney-shanghai/</link>
      <pubDate>Mon, 05 Jan 2026 16:47:45 &#43;0800</pubDate>
      <guid isPermaLink="false">http://www.yewen.us/blog/?p=3095</guid>
      <description><![CDATA[ 在博客草稿箱里待了快十年，整理整理发出来吧
2016 年 9 月倒数第二个周末前的周三至周五，错开中秋节和国庆节，美登去上海迪士尼的纯玩团建
Day1 中午从杭州公司集合出发，大巴到迪士尼换乘区，外围酒店办入住
打车去迪士尼，在迪士尼小镇看夜场的狮子王音乐剧。开场那个神棍山魈是个外国大妈扮演的，咕哝了半天最后半嘲讽问台下「听懂了么？」，过程中感觉还是有看过三部狮子王电影的背景知识会更好，有很多细节和剧情能更好连接上。中间似乎还遇上了技术故障停了一会。开场前和结束后在迪士尼小镇的商店逛了下，这里还有一个乐高旗舰店，在当时国内乐高还没大规模开线下店时还是很值得逛一下的
Day2 早上从外围酒店地铁过去，在入口排队，全程绝大部分时间跟熊一起，也没有刻意排单人队伍（那时候上海迪士尼可能还没有特别有单人队伍？）
进园后速度冲到了飞跃地平线，基本上是第一拨刷掉，没有太多故事情节，跟多年后去北京环球影城的哈利波特禁忌之恋比，就是第一次体验类似游戏的新奇感
排了比较久小矮人矿车，是一个比较儿童向的过山车，如果不是带小朋友，或者是对过山车类又菜又爱玩，建议优先级放低。同比北京环球影城就是哈利波特那个鹰马飞行
正常耗时排到了创极速光轮，意犹未尽回去二刷，熊前面其实跟朋友来过一次，感觉他并不是太想刷这个，有点舍命陪君子 XD
错过了加勒比的演出，本来说这块区域要大修我们去的时候是最近一两年能刷到的最后机会，后来好像也再没去过迪士尼了
玩过太空区、独木舟以及雷鸣山旁边的探险，排队太久都不太划算。去冰雪奇缘的欢唱会，大部分观众其实是不会唱的，自己当时好像也就会一两句 Let it go 和 Do you wanna build a snowman，交互起来就有些尬了
园区里吃的太贵，而且等吃的都很耗时
花车游行比预想的无聊一点（快十年后再回顾这句话，迪士尼的花车游行相比较环球影城的，已经要好很多了，至少很多角色都是知道背景故事的……
很神奇的意外偶遇到了离当时快十年前在百度实习时的同事，看起来是度厂的某个团队也来团建
看过晚上的烟火后，卡着闭园时间坐地铁撤
Day3 早上继续地铁过去，入口处感觉就不太妙，遇上大批团队游客，入园就排长队
进去后刷雷鸣山漂流，耗了快一个上午排队，体验好感度被拉低超多
中午出去迪士尼小镇吃饭，没去排网红火鸡腿，据说口味也不咋滴（快十年后在环球影城吃到过火鸡腿，hmmm，果然不好吃，好吃的话中国人不会放弃加进日常菜单的
下午在城堡前的最佳位置看演出，结束后意外地很快刷到了旋转木马，算是回到小朋友心态，到迪士尼这样的童话王国总要打卡一下城堡和旋转木马吧
因为下午要求集中回杭州，导致 d3 的有效游玩时间其实并不长……
经验 本次三天游，第一天下午才到上海，园外看演出，第二天刷满一天，第三天因为下午回程，实际玩的就半天且还是前半日
从后来去北京环球影城的经历看，如果自己去，第一天下午晚上半日票，晚上住园区酒店，第二天提前进园刷满一天的安排会更好点，期间该钞能力走快通的就走快通，或者利用晚上闭园前和早上提前进的时段去刷平时排队要很久的项目
]]></description>
      <content:encoded><![CDATA[<blockquote>
<p>在博客草稿箱里待了快十年，整理整理发出来吧</p>
</blockquote>
<p>2016 年 9 月倒数第二个周末前的周三至周五，错开中秋节和国庆节，美登去上海迪士尼的纯玩团建</p>
<h3 id="day1">Day1</h3>
<p>中午从杭州公司集合出发，大巴到迪士尼换乘区，外围酒店办入住</p>
<p>打车去迪士尼，在迪士尼小镇看夜场的狮子王音乐剧。开场那个神棍山魈是个外国大妈扮演的，咕哝了半天最后半嘲讽问台下「听懂了么？」，过程中感觉还是有看过三部狮子王电影的背景知识会更好，有很多细节和剧情能更好连接上。中间似乎还遇上了技术故障停了一会。开场前和结束后在迪士尼小镇的商店逛了下，这里还有一个乐高旗舰店，在当时国内乐高还没大规模开线下店时还是很值得逛一下的</p>
<h3 id="day2">Day2</h3>
<p>早上从外围酒店地铁过去，在入口排队，全程绝大部分时间跟熊一起，也没有刻意排单人队伍（那时候上海迪士尼可能还没有特别有单人队伍？）</p>
<p>进园后速度冲到了飞跃地平线，基本上是第一拨刷掉，没有太多故事情节，跟多年后去北京环球影城的哈利波特禁忌之恋比，就是第一次体验类似游戏的新奇感</p>
<p>排了比较久小矮人矿车，是一个比较儿童向的过山车，如果不是带小朋友，或者是对过山车类又菜又爱玩，建议优先级放低。同比北京环球影城就是哈利波特那个鹰马飞行</p>
<p>正常耗时排到了创极速光轮，意犹未尽回去二刷，熊前面其实跟朋友来过一次，感觉他并不是太想刷这个，有点舍命陪君子 XD</p>
<p>错过了加勒比的演出，本来说这块区域要大修我们去的时候是最近一两年能刷到的最后机会，后来好像也再没去过迪士尼了</p>
<p>玩过太空区、独木舟以及雷鸣山旁边的探险，排队太久都不太划算。去冰雪奇缘的欢唱会，大部分观众其实是不会唱的，自己当时好像也就会一两句 Let it go 和 Do you wanna build a snowman，交互起来就有些尬了</p>
<p>园区里吃的太贵，而且等吃的都很耗时</p>
<p>花车游行比预想的无聊一点（快十年后再回顾这句话，迪士尼的花车游行相比较环球影城的，已经要好很多了，至少很多角色都是知道背景故事的……</p>
<p>很神奇的意外偶遇到了离当时快十年前在百度实习时的同事，看起来是度厂的某个团队也来团建</p>
<p>看过晚上的烟火后，卡着闭园时间坐地铁撤</p>
<h3 id="day3">Day3</h3>
<p>早上继续地铁过去，入口处感觉就不太妙，遇上大批团队游客，入园就排长队</p>
<p>进去后刷雷鸣山漂流，耗了快一个上午排队，体验好感度被拉低超多</p>
<p>中午出去迪士尼小镇吃饭，没去排网红火鸡腿，据说口味也不咋滴（快十年后在环球影城吃到过火鸡腿，hmmm，果然不好吃，好吃的话中国人不会放弃加进日常菜单的</p>
<p>下午在城堡前的最佳位置看演出，结束后意外地很快刷到了旋转木马，算是回到小朋友心态，到迪士尼这样的童话王国总要打卡一下城堡和旋转木马吧</p>
<p>因为下午要求集中回杭州，导致 d3 的有效游玩时间其实并不长……</p>
<h3 id="经验">经验</h3>
<p>本次三天游，第一天下午才到上海，园外看演出，第二天刷满一天，第三天因为下午回程，实际玩的就半天且还是前半日</p>
<p>从后来去北京环球影城的经历看，如果自己去，第一天下午晚上半日票，晚上住园区酒店，第二天提前进园刷满一天的安排会更好点，期间该钞能力走快通的就走快通，或者利用晚上闭园前和早上提前进的时段去刷平时排队要很久的项目</p>
]]></content:encoded>
    </item>
    <item>
      <title>奥奥四岁啦</title>
      <link>https://whusnoopy.github.io/blog/2025/12/aoao-is-four-years-old/</link>
      <pubDate>Tue, 23 Dec 2025 19:26:43 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4161</guid>
      <description><![CDATA[幼儿园放暑假，奥奥也四岁啦
跟爸爸睡
会自己吃饭、刷牙、穿衣服，就是懒
哥哥生日要礼物，自己生日也有礼物，凑了一个乐高德宝大颗粒火车集合
睡觉，在幼儿园午睡了在家晚上就十一点后，放暑假中午不睡，晚上九点半十点能睡着，早上七点半到八点起
忘了为啥，这一篇应该在 2024 年夏天发布的内容，在草稿箱里待了一年半，看起来也只是起了个头。就这样发出来吧，记录详尽及时固然好，但随手有点记录总好过空白
]]></description>
      <content:encoded><![CDATA[<p>幼儿园放暑假，奥奥也四岁啦</p>
<p>跟爸爸睡<br>
会自己吃饭、刷牙、穿衣服，就是懒<br>
哥哥生日要礼物，自己生日也有礼物，凑了一个乐高德宝大颗粒火车集合<br>
睡觉，在幼儿园午睡了在家晚上就十一点后，放暑假中午不睡，晚上九点半十点能睡着，早上七点半到八点起</p>
<blockquote>
<p>忘了为啥，这一篇应该在 2024 年夏天发布的内容，在草稿箱里待了一年半，看起来也只是起了个头。就这样发出来吧，记录详尽及时固然好，但随手有点记录总好过空白</p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>打工十八年</title>
      <link>https://whusnoopy.github.io/blog/2025/07/worked-18-years/</link>
      <pubDate>Fri, 18 Jul 2025 13:13:05 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4230</guid>
      <description><![CDATA[2007.07.18 百度 北京中关村普天大厦 第一份实习
2025.07.18 美登 杭州城西银泰城 工作 在美登的第十二年
彻底漏了一篇，有一次算没有的，和之前三年一间隔的记录
三年系列的无疾而终 三年三年又三年 三年又三年 三年 ]]></description>
      <content:encoded><![CDATA[<p>2007.07.18 百度 北京中关村普天大厦 第一份实习<br>
2025.07.18 美登 杭州城西银泰城 工作 在美登的第十二年</p>
<p>彻底漏了一篇，有一次算没有的，和之前三年一间隔的记录</p>
<ul>
<li><a href="https://www.yewen.us/blog/2019/09/no-more-3-years/" target="_blank">三年系列的无疾而终</a></li>
<li><a href="https://www.yewen.us/blog/2016/07/another_3_years_later/" target="_blank">三年三年又三年</a></li>
<li><a href="https://www.yewen.us/blog/2013/07/3_years_again/" target="_blank">三年又三年</a></li>
<li><a href="https://www.yewen.us/blog/2010/07/%e4%b8%89%e5%b9%b4/" target="_blank">三年</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>集齐 MacBook Pro 的凹刘海和 ThinkPad 的凸刘海</title>
      <link>https://whusnoopy.github.io/blog/2024/12/notches-on-macbook-pro-and-thinkpad-x1-carbon/</link>
      <pubDate>Thu, 26 Dec 2024 11:06:10 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4202</guid>
      <description><![CDATA[ MacBook Pro 16 M3Max and ThinkPad X1 Carbon 2024 人生得意须尽欢，该省省该花花，赚钱了也花钱让自己开心下，不要总扯性价比智商税，情绪价值也是价值
MacBook Pro 16, M3Max 16cpu 40gpu, 64G RAM, 1T SSD
ThinkPad X1 Carbon 2024, U5-125H, 32G RAM, 512G SSD, 2.8K120Hz OLED, LTE
]]></description>
      <content:encoded><![CDATA[<figure class="wp-caption alignnone" style="max-width: 640px">
<a href="https://www.yewen.us/blog/wp-content/uploads/2024/12/MBP16M3Max_TPX1C2024.jpg"><img src="https://www.yewen.us/blog/wp-content/uploads/2024/12/MBP16M3Max_TPX1C2024-1024x768.jpg" alt="MacBook Pro 16 M3Max and ThinkPad X1 Carbon 2024" width="640" height="480" class="size-large wp-image-4203" /></a> MacBook Pro 16 M3Max and ThinkPad X1 Carbon 2024
</figure>
<p>人生得意须尽欢，该省省该花花，赚钱了也花钱让自己开心下，不要总扯性价比智商税，情绪价值也是价值</p>
<p>MacBook Pro 16, M3Max 16cpu 40gpu, 64G RAM, 1T SSD<br>
ThinkPad X1 Carbon 2024, U5-125H, 32G RAM, 512G SSD, 2.8K120Hz OLED, LTE</p>
]]></content:encoded>
    </item>
    <item>
      <title>骨折的小孩</title>
      <link>https://whusnoopy.github.io/blog/2024/11/fractured-child/</link>
      <pubDate>Thu, 28 Nov 2024 17:48:47 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4191</guid>
      <description><![CDATA[如题，莫莫同学左手小臂骨折了，用更准确的说法，桡骨尺骨远端骨折，就是左手手腕往手肘方向去一点的骨头断了
据莫莫自述是当天吃过午饭后，午休时跟同学们一起在操场上玩单杆，他荡下来时看地上有一块垫子，想落到垫子上，但自己下落方向并不在垫子那边，落地时没落稳，手撑了一下，后面太疼叫同学送去学校医务室，校医看过说手都扭曲了，估计是骨折了，联系班主任叫家长赶紧带去医院
我那天本来答应了奥奥下午去参加奥奥幼儿园班上的家长开放日，刚吃完饭快一点钟准备回去，接到莫莫班主任打来的电话。第一反应是不太好，因为老师平时有事情都是钉钉上说，最多打个钉钉语音，老师说莫莫在学校摔了，需要家长带去医院看一下。前面我还没意识到问题的严重性，哪怕看校医拍的照片说手上用了冰敷加夹板，以为只是扭伤的程度，因为校医说他还挺坚强的都没有哭
赶忙开车到学校，直接打双跳停学校门口，拿钉钉上班主任的消息问保安医务室在哪边，径直去到医务室，我还想是不是社区医院就可以拍片搞定的，校医说建议去大一点的医院，讨论了下附近同德的口碑一直不太好，要么去浙一余杭。去浙一路上看时间莫莫妈在单位应该午休结束，还是应该先说一下，结果喵说为啥去浙一不直接去省儿保，浙一可能弄不了的，我说我都在路上了，校医说应该也可以的
到浙一余杭，停车找半天，去急诊，还要先分诊才给挂号，跟分诊台确认这里能不能看，不行的话我就直接去省儿保了，得到分诊台可以的答复后挂号等，那边喵赶紧请了假往这边过来。急诊医生看说小臂都变形了，里面骨头估计是骨折了，他们这边没有十二岁以下儿童的夹具，不一定弄得了，不过去拍片先。拍片回来等医生电脑上能看到片子，小臂两根骨头桡骨和尺骨都断了，本来 180 度直线过去的变 150 度左右的断掉折弯。这时候紧张炸了，娃太坚强也不见得都是好事，之前看他没哭没咋的，真没意识到有这么严重
骨折X片 浙一的急诊医生说他们这弄不了，让把电脑上的片子用手机拍照（因为医院的小程序里还不能自己查看到），直接去省儿保滨江吧。那边喵快到浙一余杭附近的地铁站，约好直接去地铁出口带上她往滨江去。到省儿保已经下午三点多，医院地下车库有空位，停好车一起上到急诊。急诊医生估计是见得多了，看过片子后说建议手工大致复位，然后打石膏固定，不过还是有没法完全康复的风险，需要家长签字确认后实施。解释说这个断法还到不了要手术的程度，而且手术也不能保证完全康复，流程麻烦娃也受罪
都这样了那还能怎么办呢，抱紧莫莫，让医生给拉直复位，到这时候终于是痛得不行了嗷嗷大哭，让人心疼。复位后打石膏，先是铺在棉纱布上像果冻或橡皮泥一样的材料，手拉直后敷上去包裹住，外面用纱布再缠成像木乃伊一样，最后用缠的纱布尽头做了个挂绳挂在脖子上辅助定位，再等石膏发热变硬后再拍片确认固定的情况。石膏跟我印象中的不太一样，最终挂脖子的从缠的纱布出来也出乎意料
石膏固定 拍片的结果医生说还行，能有八九十分，但外行看起来还是心惊胆战，纵向基本对齐对直，横向一根骨头有一点点错位，另一根骨头断开处还有差不多三分之一的错位，呈「与」字去掉两横一样形状。问是否要吃药或补钙，说都不用，最多按正常剂量保持维生素D摄入，三天后来复查。既然都这样了，那就遵医嘱，谢过医生后准备回家。走之前按莫莫的惯例，必然要吃一顿麦当劳，有过鸡翅薯条什么的再走，原话是「我都来儿童医院了还不吃顿麦当劳那我不是白来了」，娃你也真的心大，让人无语，好好关心下你的手怎么好吧
复位打石膏后X片 衣服是不好穿的了，回家用爸妈的T恤，趁袖筒大穿过左手，穿个马甲背心，再外面就只能穿着右手，左边披着。脖子上挂的纱布绳，感觉会勒得慌，找隔汗巾叠一下垫上。睡觉老实跟着睡大床，好帮忙照看下，自己小床别磕到床沿啥的造成二次伤害。上厕所、吃饭、洗漱什么的回到全程照顾的模式，慢慢自己能做一点。上学就别去了，一不好活动自理二怕再磕碰到，衣服都不好穿别叠加冻病了。在家学习等前一两天适应好能左手打着石膏贴近桌子后也还好，写字什么的左手压不住就潦草就潦草吧。在网上看到有袖子能魔术贴包起来的，赶紧下单给准备上，到了后和预期的差不多，石膏外面能有一层衣服，往外的马甲就临时托着打着石膏的手穿一下，再往外就只穿右手，左手披着了
后面就是按期复查，没有更好，也没有明显变差。按医生和喵咨询同学朋友的说法，骨头对上一半以上就还行的，后面慢慢恢复吧。我们问那种挂脖子上的辅助带是否有需要，医生说你们石膏都没拆想那么多干嘛，估计也要一个半月后再说
]]></description>
      <content:encoded><![CDATA[<p>如题，莫莫同学左手小臂骨折了，用更准确的说法，桡骨尺骨远端骨折，就是左手手腕往手肘方向去一点的骨头断了</p>
<p>据莫莫自述是当天吃过午饭后，午休时跟同学们一起在操场上玩单杆，他荡下来时看地上有一块垫子，想落到垫子上，但自己下落方向并不在垫子那边，落地时没落稳，手撑了一下，后面太疼叫同学送去学校医务室，校医看过说手都扭曲了，估计是骨折了，联系班主任叫家长赶紧带去医院</p>
<p>我那天本来答应了奥奥下午去参加奥奥幼儿园班上的家长开放日，刚吃完饭快一点钟准备回去，接到莫莫班主任打来的电话。第一反应是不太好，因为老师平时有事情都是钉钉上说，最多打个钉钉语音，老师说莫莫在学校摔了，需要家长带去医院看一下。前面我还没意识到问题的严重性，哪怕看校医拍的照片说手上用了冰敷加夹板，以为只是扭伤的程度，因为校医说他还挺坚强的都没有哭</p>
<p>赶忙开车到学校，直接打双跳停学校门口，拿钉钉上班主任的消息问保安医务室在哪边，径直去到医务室，我还想是不是社区医院就可以拍片搞定的，校医说建议去大一点的医院，讨论了下附近同德的口碑一直不太好，要么去浙一余杭。去浙一路上看时间莫莫妈在单位应该午休结束，还是应该先说一下，结果喵说为啥去浙一不直接去省儿保，浙一可能弄不了的，我说我都在路上了，校医说应该也可以的</p>
<p>到浙一余杭，停车找半天，去急诊，还要先分诊才给挂号，跟分诊台确认这里能不能看，不行的话我就直接去省儿保了，得到分诊台可以的答复后挂号等，那边喵赶紧请了假往这边过来。急诊医生看说小臂都变形了，里面骨头估计是骨折了，他们这边没有十二岁以下儿童的夹具，不一定弄得了，不过去拍片先。拍片回来等医生电脑上能看到片子，小臂两根骨头桡骨和尺骨都断了，本来 180 度直线过去的变 150 度左右的断掉折弯。这时候紧张炸了，娃太坚强也不见得都是好事，之前看他没哭没咋的，真没意识到有这么严重</p>
<figure class="wp-caption alignnone" style="max-width: 640px">
<a href="https://www.yewen.us/blog/wp-content/uploads/2024/11/p1all.png"><img src="https://www.yewen.us/blog/wp-content/uploads/2024/11/p1all-1024x683.png" alt="骨折X片" width="640" height="427" class="size-large wp-image-4192" /></a> 骨折X片
</figure>
<p>浙一的急诊医生说他们这弄不了，让把电脑上的片子用手机拍照（因为医院的小程序里还不能自己查看到），直接去省儿保滨江吧。那边喵快到浙一余杭附近的地铁站，约好直接去地铁出口带上她往滨江去。到省儿保已经下午三点多，医院地下车库有空位，停好车一起上到急诊。急诊医生估计是见得多了，看过片子后说建议手工大致复位，然后打石膏固定，不过还是有没法完全康复的风险，需要家长签字确认后实施。解释说这个断法还到不了要手术的程度，而且手术也不能保证完全康复，流程麻烦娃也受罪</p>
<p>都这样了那还能怎么办呢，抱紧莫莫，让医生给拉直复位，到这时候终于是痛得不行了嗷嗷大哭，让人心疼。复位后打石膏，先是铺在棉纱布上像果冻或橡皮泥一样的材料，手拉直后敷上去包裹住，外面用纱布再缠成像木乃伊一样，最后用缠的纱布尽头做了个挂绳挂在脖子上辅助定位，再等石膏发热变硬后再拍片确认固定的情况。石膏跟我印象中的不太一样，最终挂脖子的从缠的纱布出来也出乎意料</p>
<figure class="wp-caption alignnone" style="max-width: 640px">
<a href="https://www.yewen.us/blog/wp-content/uploads/2024/11/p2-scaled.jpg"><img src="https://www.yewen.us/blog/wp-content/uploads/2024/11/p2-768x1024.jpg" alt="石膏固定" width="640" height="853" class="size-large wp-image-4193" /></a> 石膏固定
</figure>
<p>拍片的结果医生说还行，能有八九十分，但外行看起来还是心惊胆战，纵向基本对齐对直，横向一根骨头有一点点错位，另一根骨头断开处还有差不多三分之一的错位，呈「与」字去掉两横一样形状。问是否要吃药或补钙，说都不用，最多按正常剂量保持维生素D摄入，三天后来复查。既然都这样了，那就遵医嘱，谢过医生后准备回家。走之前按莫莫的惯例，必然要吃一顿麦当劳，有过鸡翅薯条什么的再走，原话是「我都来儿童医院了还不吃顿麦当劳那我不是白来了」，娃你也真的心大，让人无语，好好关心下你的手怎么好吧</p>
<figure class="wp-caption alignnone" style="max-width: 640px">
<a href="https://www.yewen.us/blog/wp-content/uploads/2024/11/p3all.png"><img src="https://www.yewen.us/blog/wp-content/uploads/2024/11/p3all-1024x791.png" alt="复位打石膏后X片" width="640" height="494" class="size-large wp-image-4194" /></a> 复位打石膏后X片
</figure>
<p>衣服是不好穿的了，回家用爸妈的T恤，趁袖筒大穿过左手，穿个马甲背心，再外面就只能穿着右手，左边披着。脖子上挂的纱布绳，感觉会勒得慌，找隔汗巾叠一下垫上。睡觉老实跟着睡大床，好帮忙照看下，自己小床别磕到床沿啥的造成二次伤害。上厕所、吃饭、洗漱什么的回到全程照顾的模式，慢慢自己能做一点。上学就别去了，一不好活动自理二怕再磕碰到，衣服都不好穿别叠加冻病了。在家学习等前一两天适应好能左手打着石膏贴近桌子后也还好，写字什么的左手压不住就潦草就潦草吧。在网上看到有袖子能魔术贴包起来的，赶紧下单给准备上，到了后和预期的差不多，石膏外面能有一层衣服，往外的马甲就临时托着打着石膏的手穿一下，再往外就只穿右手，左手披着了</p>
<p>后面就是按期复查，没有更好，也没有明显变差。按医生和喵咨询同学朋友的说法，骨头对上一半以上就还行的，后面慢慢恢复吧。我们问那种挂脖子上的辅助带是否有需要，医生说你们石膏都没拆想那么多干嘛，估计也要一个半月后再说</p>
]]></content:encoded>
    </item>
    <item>
      <title>Win11 宿主机在远程链接时 WiFi 掉线的处理</title>
      <link>https://whusnoopy.github.io/blog/2024/10/wifi-disconnected-when-remote-desktop-login/</link>
      <pubDate>Fri, 25 Oct 2024 17:56:36 &#43;0800</pubDate>
      <guid isPermaLink="false">https://www.yewen.us/blog/?p=4182</guid>
      <description><![CDATA[在公司连的内网无线网络是通过 WPA/WPA2 加 Radius 走 LDAP 认证的，最近有一个奇怪的现象在多台 Win11 宿主机上出现，明明网络是连接状态，但从别的机器发起远程连接，接通的瞬间宿主机切到登录界面时网络就掉了
宿主机连有线没有这个问题，连 WPA2-PSK/WPA3-SAE 模式只用 WiFi 密码连接的无线网没问题
网上各种找解决办法，包括但不限于 设置网卡的电源配置以免节能模式关闭了网卡、升级补丁和驱动、导出网络配置文件并应用到所有用户 等，因为都没起作用所以也不在这里给引用链接了
最终的解决办法是「从已知网络里忘记这个接入点，重新添加一次」就好了，就是这么无厘头……
在 Win11 里忘记已知网络的设置入口在 设置 - 网络和 Internet - WLAN - 管理已知网络
]]></description>
      <content:encoded><![CDATA[<p>在公司连的内网无线网络是通过 WPA/WPA2 加 Radius 走 LDAP 认证的，最近有一个奇怪的现象在多台 Win11 宿主机上出现，明明网络是连接状态，但从别的机器发起远程连接，接通的瞬间宿主机切到登录界面时网络就掉了</p>
<p>宿主机连有线没有这个问题，连 WPA2-PSK/WPA3-SAE 模式只用 WiFi 密码连接的无线网没问题</p>
<p>网上各种找解决办法，包括但不限于 设置网卡的电源配置以免节能模式关闭了网卡、升级补丁和驱动、导出网络配置文件并应用到所有用户 等，因为都没起作用所以也不在这里给引用链接了</p>
<p>最终的解决办法是「从已知网络里忘记这个接入点，重新添加一次」就好了，就是这么无厘头……</p>
<p>在 Win11 里忘记已知网络的设置入口在 <code>设置</code> - <code>网络和 Internet</code> - <code>WLAN</code> - <code>管理已知网络</code></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
