Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.
Get Feederliam.page
Get the latest updates from 始终 directly as they happen.
Follow now 83 followers
Last updated 16 days ago
16 days ago
我在做一个跨语言的算子引擎,同一套语义分别用 Go、Java、C++ 实现。有一处用到了读写锁——一个请求局部的数据结构,多个算子并发读它的字段,偶尔有写。三个实现都用各自语言「标准」的读写锁:Go 的 sync.RWMutex、Java 的 ReentrantReadWriteLock、C++ 的 std::shared_mutex。某次做性能剖析时,我注意到一件有点意思的事:C++ 这边,读写锁的单次拿放在 profile 里是个能看见的开销;而...
20 days ago
某次 VSCode 升级之后,我从 macOS 连远端开发机的 Remote-SSH 突然进入了死循环:客户端每隔几秒发起一次新的 SSH 连接,每次都能通过 pubkey 认证、能在远端拉起 vscode-server,但十几秒后就...
about 1 month ago
我日常的开发环境是 VSCode Remote SSH 连到一台 Linux 开发机,然后在 VSCode 的集成终端里开 tmux。Claude Code 在...
about 1 month ago
一台 4 核 15G 的多用户开发机,某天下午突然卡死了。不是那种「卡一下就好了」的卡,而是整台机器几乎失去响应、持续了将近四个小时的那种卡。SSH 能连上但每个命令都要等很久才有回应,top 刷不动,日志也写不进去。事后我用 atop(这台机器上每 30 秒打一次点)做了完整的事后分析,从系统级指标一路追到具体进程,最终定位到一条看起来人畜无害的构建命令。然后用 Linux cgroup...
about 1 month ago
最近注意到一个叫 mattpocock/skills 的仓库登上了 GitHub Trending 榜首——一天新增五千多 Star,总数突破三万。作者 Matt Pocock 是个 TypeScript 教育者,过去一年半一直在教人怎么用...
about 2 months ago
越狱检测是 iOS 移动端安全对抗中被讨论最多、也最容易被低估的环节。多数公开方案停留在「检查几条文件路径」的层面——这类检测在生产环境中几乎不堪一击。本文以一个国内大型金融 App(下文简称「App X」)的越狱检测实现为分析对象,从防御方的视角完整还原其三层纵深防御体系:检测层、冻结层、退出层。所有结论均来自对 rootless 越狱环境(Dopamine,iOS 16.x,arm64)的实际逆向验证,每一条检测手段背后都对应着真实的攻防博弈,而非理论推演。威胁模型讨论检测方案之前,必须明确攻击者的能力边界。在当前主流 rootless 越狱环境下:GOT rebinding(fishhook):通过修改 __DATA...
about 2 months ago
xeCJK 是 XeLaTeX 下中文排版的核心引擎——几乎所有使用 XeLaTeX 编译的中文文档,都直接或间接依赖它处理字体切换、字间距和标点压缩。但 xeCJK 的内部机制鲜有系统性的介绍:多数用户只知道 \setCJKmainfont 和 \xeCJKsetup,对「字符之间的间距是怎么插入的」「标点压缩的数据从哪里来」「为什么 \textcolor...
about 2 months ago
ctex 是中文 LaTeX 排版的核心基础设施——几乎所有中文 LaTeX 文档都直接或间接依赖它。这段时间我集中处理了 ctex 上积压的数个 Bug,涉及字间距(CJKglue)被覆盖、macOS 15 字体检测失效、LuaTeX 下...
about 2 months ago
CJKpunct 是 CTeX 套件中负责中文标点挤压和间距调整的宏包。它的代码年代久远——最早可追溯到 CJK 宏包时代——但至今仍是 pdfLaTeX + CJK 中文排版方案中不可替代的一环。这段时间我集中处理了 CJKpunct 上两个积压已久的...
2 months ago
本文是「Pineapple」系列的第二篇,上一篇完整拆解了引擎的核心原理——数据冒险驱动的 DAG 构建、channel-per-node 并行调度、Lua 嵌入和控制流编译。之后的两天里,项目经历了 10 个版本迭代、27 次功能提交,沿三条主线推进:可观测性与调试体验、运行时架构演进、新算子与数据并行框架。本文逐一记录每个改动的背景、技术决策和收效。DAG 可视化:让黑箱变成白盒Pineapple 的 DAG 是引擎自动从算子的输入输出字段推导出来的——用户不手动画图。这带来了便利,但也带来了黑箱:当...
2 months ago
搜索、推荐、广告——这类在线系统的后端往往需要一条多步骤数据处理流水线:召回候选集、特征计算、过滤、排序、截断……步骤之间存在复杂的数据依赖,手动编排执行顺序既繁琐又容易出错。Pineapple 的回答是:让算子只声明「我读什么、写什么」,引擎借鉴 CPU 流水线的数据冒险分析,自动推导依赖、构建 DAG、并行调度。Python 声明,Go 执行,JSON 解耦——三条线各司其职,业务迭代不需要重编译 Go 代码,Go 服务自动热加载配置变更。本文将从架构设计、DAG 构建算法、并行调度机制、Lua...
3 months ago
最近金价飞涨,偶尔看到民间有提纯黄金的店铺发布的提纯过程的视频。沉睡多年的「化学」基因动了一下,于是总结了王水体系湿法提纯黄金(王水溶解 → 分离 → 选择性还原 → 酸洗 → 重复精炼 → 熔融成型)的简要操作指南和技术说明。此外,也简述硫脲(无氰)体系作为对照。特别说明:纯属娱乐,操作风险极大,请勿在居民区操作。一、整体流程(先有全局感)可以把整个过程理解为 4...