用 Files API 减少图片体积导致的 TTFT 膨胀 背景 最近我经常用 DeepSeek-V4.1-Flash 模型读图。由于每次请求都要传完整上下文,随着上下文里的图片越来越多,上传图片所花的时间很快就成了 TTFT 的主要瓶颈;如果走的是 OpenCode Go,甚至动辄要几分钟。为了解决这个问题,可以用 Files API 提前把图片上传到 DeepSeek,然后在上下文里直接用 id 引用文件。为此,我顺手 Vibe 了一个 pi-files-api / opencode-files-api 插件,
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.10.12 · 待分类 替换自制服务器上的 48V 直流电源 背景 又到了新学期,计算机组成原理的实验又轰轰烈烈地开始了,但实验平台背后的 FPGA 集群,却出现了一台自制服务器不工作的问题,通过替换 48V 直流电源解决了。 自制服务器 说是服务器,但实际上,这个服务器是借用了机架式服务器的外壳,把里面改造成了一个 FPGA 集群。它通过一个电源把 220V 市电转成 48V 直流电源,然后给三个 10 口 PoE 交换机供电,然后每个 PoE 交换机再通过 PoE 给 8 个 FPGA 开发板供电。此外,再通过一个 48V 到 12V
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.10.09 · 待分类 探究一个 USB Type-C 拓展坞的硬件实现 背景 最近在高强度使用 HDMI 和 DP 做视频输出,但在使用的时候遇到了各种细节问题,所以就研究整个链路上到底发生了哪些事情,在这个过程中,研究了一下手上的 Biaze KZ11 这款 Type-C 拓展坞,看看它内部有哪些芯片,又是怎样实现拓展坞的功能的。 拓展坞基本信息 首先介绍一下这款拓展坞的基本信息,从购买页面可以看到: 接口上,有三个 USB 3.0(5 Gbps),一个 TF/SD 读卡槽,一个 HDMI,一个 VGA,一个 3.5mm TRS 音频
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.10.02 · 待分类 把博客生成器从 Mkdocs 迁移到 Zensical 距离上一次 从 Mkdocs 迁移到 Zensical 已经过去了三年,这次 Zensical 终于是补齐了原来 Mkdocs 用到的大部分插件,所以就当小白鼠,把博客从 Mkdocs + Mkdocs-Material 迁移到了 Zensical。 这次迁移的背景,就是 Mkdocs-Material 团队对 Mkdocs 后续的更新计划不满,自己独立出来,RIIR 了一个尽量兼容 Mkdocs 生态的 Zensical。当然这个兼容不是 100% 的,所以
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.30 · 待分类 一颗 CPU 的原子指令,一个打包死循环:LA664 丢失更新事件始末 本文同步发布到本人的 知乎 。 English version 太长不看版本 2026 年 2 月, 王邈 在龙架构服务器上给 Debian 打包 normaliz 时遇到一件怪事:这个数学软件的自带测试总是超时,现象是卡在死循环里出不来。顺着代码调查,问题指向一个很常规的操作:OpenMP 的 #pragma omp atomic 对共享变量进行累加。循环的退出条件要求累加后的值等于某个数,而累加的结果总是少于这个数,就导致了死循环。由于程序
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.24 · 待分类 One CPU Atomic Instruction, One Packaging Infinite Loop: The Story of the Lost Update on LA664 中文版本 TL;DR In February 2026, Wang Miao ran into something strange while packaging normaliz for Debian on a LoongArch server: the math software's built-in test kept t
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.24 · 待分类 智算卡生态进校园之我见 背景 最近频繁地和各家智算卡(GPU、NPU,或者统称为 xPU)厂商交流,讨论如何培养软件生态、如何进入校园。同样的观点我已经跟不同的人讲过至少五遍了,索性写成一篇博客,一次讲清楚。 大背景 故事的背景并不难理解:国内算力需求旺盛,而英伟达又难以进入,于是无论是国产厂商,还是非英伟达的海外厂商,都在设法培育国内市场。而培育市场特别关键的一步,就是培育生态。 由于我在学校里参与了多门课程的教学,接触到的也多是厂商里负责校园生态对接的员工,因此经常和他们聊起一个问题:怎样把这些算力卡的生态带进
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.22 · 待分类 修复绿联 UG307-95348 HDMI 采集卡清晰度与颜色问题 背景 上文 提到,我打算用采集卡来录制鸿蒙电脑的输出,作为 OBS 的输入来做软件导播,用的采集卡型号是 采用了 MS2130S 芯片的绿联 UG307-95348 采集卡 。在使用过程中,遇到了清晰度和颜色的问题,下面介绍我是怎么研究和解决的。 清晰度问题 首先是遇到了清晰度问题,在 macOS 上为 OBS 设置采集卡输入时,需要关闭 Use Preset 选项,选择 3840x2160 (16:9) - 30, 60 FPS - CS 709
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.12 · 技术 清华教室的音视频路由 背景 最近在设计上课所用设备的音视频路由,借此机会梳理一下教室里现有的音视频路由,并记录一种可行的方案。 教室环境 教室里原有的音视频路由大致如下。先看信号源: 一体机的视频和音频输出 通过 HDMI 接入的笔记本视频和音频输出 话筒的音频输出 教室里的摄像头,通常包括板书、近景、远景、学生视角等机位 这些信号经过一个可在讲台上操控的导播台(下称「讲台」,实际设备未必位于讲台内部),可以输出到以下位置: 教室的音响 投影、返显以及学生头顶的显示器 一体机的音视频输入 通过 USB 接入的笔记本
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.11 · 技术 记录一次在 macOS 上与微软雅黑字体的搏斗 背景 最近在做 PPT,用了一个在 Windows 上制作的 PPT 模板,它用到了 微软雅黑 Light 字体,在 macOS 上显示不正常,因此做了一些细致的研究和排查,找到了原因和解决方案。 搏斗过程 遇到的问题是这样的:在 macOS 上做了一个 PPT,放到 Windows 或者鸿蒙的 WPS 上显示,发现字体渲染并不一致。如果在 macOS 上保存 PPT 的时候选择内嵌字体,它也会提示“微软雅黑 Light”字体不存在。说明 macOS 上并没有找到正确
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.10 · 技术 第一个教师节随想 背景 今天是我博士毕业、入职博士后以来度过的第一个教师节(博士后也算老师对不对,doge)。借着这个由头,随便写点感想。 从助教到老师 入职之后,终于开始真正忙起了各种教学工作:小学期的课程要上,秋季学期的事情要筹备,各种事务也在慢慢走上正轨。 回想 2019 年,那时我刚做本科助教。作为学生,我总觉得课内的一些知识没能很好地跟上时代,于是便以助教的身份投入到教学改革中。后来计算机系一路扩招、培养方案不断调整,很多课程里都留下了我的足迹。熬了这么多年,终于博士毕业,拿到了在大学里当老师的入场券。当
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.10 · 技术 记一次 Windows 更新 0x800703F1 错误的修复 背景 最近在准备课堂展示,需要用到 Windows,于是翻出鸿蒙电脑,跑起了 Windows on ARM 虚拟机。结果 Windows 更新老是报 0x800703F1 错误,我做了不少自己都说不清的尝试,最后稀里糊涂地解决了。 现象 现象是,Windows 更新界面里所有更新一律失败,统一报错 0x800703F1。上网搜了一圈,网上信息基本都指向注册表损坏,例如运行下面这条命令时同样会报错: reg load HKLM\COMPONENTS C:
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.09.04 · 技术 谈谈龙芯的 LoongLeak 漏洞 背景 近日,龙芯龙架构 CPU LA464/LA664 微架构部分步进的漏洞 LoongLeak 正式披露,龙芯官方也发布了 公告 。作为公告中提到的“其他国内独立研究者”之一,我在此分享一下我的视角。 发现和披露的过程 这些年来,我在龙架构上做了不少工作,从参与 AOSC 社区的龙架构移植,到后来专注于 LSX/LASX/LBT 指令集第三方文档 的维护,一直持续关注龙架构处理器的微架构信息,包括安全特性。我也曾尝试在龙架构上复现一些经典的攻击手段,比如 Meltdown,当
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.08.18 · 待分类 Ampere Skylark 微架构评测 背景 Ampere eMAG 采用的是 Ampere Skylark 微架构,虽然是 2018 年的处理器了,但也顺带评测一下。其前身是 AppliedMicro 的 X-Gene 3 微架构,用在 Ampere eMAG 芯片上,用的是 TSMC 16nm FinFET+ 工艺。 官方信息 只找到了 X-Gene 2,即 Skylark 更早一代的信息: AppliedMicro X-Gene2 前端 取指带宽 为了测试实际的 Fetch 宽度,参考 如何测量真正的取指带
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.07.07 · 待分类 Apple M2 (Avalanche & Blizzard) 微架构评测 背景 之前分析过 M1 和 M4 ,趁着机会,也评测一下 M2 的微架构,给出一个从 M1 到 M2 再到 M4 的发展脉络。 官方信息 苹果发布了 Apple Silicon CPU Optimization Guide ,包括了一些 M2 的微架构信息。 现有评测 网上已经有针对 Apple M2 微架构的评测和分析,建议阅读: 我们找到了 Windows 电脑续航差的原因!苹果 M2 深度分析 不为人知的角落,Apple M2 的小小
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.07.06 · 待分类 ARM Neoverse V3 (代号 Poseidon) 微架构评测 背景 使用 ARM Neoverse V3 核心的 AWS Graviton 5 最近 上线 了,相比之前的 Neoverse V2 应该有一些改进,所以测试一下这个微架构在各个方面的表现。 官方信息 ARM 关于 Neoverse V3 微架构有如下公开信息: Arm® Neoverse V3 Core Technical Reference Manual Arm Neoverse V3 Software Optimization Guide
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.06.13 · 待分类 SPEC CPU 2026 负载特性分析(FP Rate 篇) 本文同步发布到本人的 知乎 。 English version 背景 继 INT Rate 篇 后,本文继续分析 SPEC FP 2026 Rate 的负载特性。 测试环境与先前的 INT Rate 篇 相同,这里不再赘述。 推荐阅读: Evaluating SPEC CPU2026 和 SPEC CPU2026: Characterization, Representativeness, and Cross-Suite Comparison SPEC
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.05.29 · 待分类 SPEC CPU 2026 Workload Analysis (FP Rate) 中文版本 Background Following the INT Rate article , this article continues with the workload analysis of SPEC FP 2026 Rate. The test environment is the same as the previous INT Rate article and won't be repeated here. Rec
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.05.29 · 待分类 SPEC CPU 2026 Workload Analysis (INT Rate) 中文版本 Background I've been running some benchmarks with SPEC CPU 2026 recently, and plan to do in-depth workload analysis combined with the test results . This article focuses on SPEC INT 2026 Rate workload characteris
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.05.22 · 待分类 SPEC CPU 2026 负载特性分析(INT Rate 篇) 本文同步发布到本人的 知乎 。 English version 背景 最近用 SPEC CPU 2026 跑了一些基准测试,打算结合 测试结果 做一些深入的负载特性分析。本篇主要是分析 SPEC INT 2026 Rate 的负载特性,SPEC FP 2026 Rate 的分析请看 FP Rate 篇 。 本文测试环境:CPU 为 Intel i9-14900K P-Core @ 5.7 GHz,Linux 发行版为 Debian Trixie,编译
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.05.22 · 待分类 SPEC CPU 2026 在其他指令集上的编译 SPEC CPU 2026 官方只附带了 aarch64/ppc64le/riscv64/x86_64 指令集的预编译 tools,如果要在其他指令集上使用,就需要首先编译 tools,过程如下: cd /mnt && tar xvf install_archives/tools-src.tar wget -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.05.21 · 待分类 记一次循环依赖导致的运维小事故 背景 每次没有 UPS 或 UPS 容量不够用的倒闸对于运维来说都是一次鸡飞狗跳。这次很不幸,鸡飞狗跳终于轮到了我,还好花了一个半小时还是解决了。在这里做个简单的复盘。 现象与排查 首先介绍一下现象:停电恢复之后,服务器开起来,但是无法从互联网连接内网的网关(即主网关)。还好,之前考虑到网关的重要性,做了备份,走内网的备用网关顺利进入了内网,然后发现主网关即使 IP 地址是对的,也连不上互联网。虽然通过 keepalived 的配置,主网关和备用网关会通过虚拟 IP 给内网机器提供一
杰哥的{教学,运维,编程,调板子}小笔记 · 2026.05.07 · 待分类