Years: 2026
-
2026-05-18 »
TIL: 把 Emacs Buffer 打印成图片
Emacs : TIL : cups-pdf : ps-print : Ghostscript -
2026-05-17 »
TIL-AI 工具普及后的组织观察
AI : 管理 : 组织学习 : 采纳策略 -
2026-05-17 »
读:当 Agent 开始写数据库——六个防御模式
AI : Agent : 数据库 : PostgreSQL : 运维 : 防御性设计 -
2026-05-17 »
读:右键菜单——Elisp 开发的隐藏利器
Emacs : Elisp : context-menu : Anju : Edebug -
2026-05-17 »
读:Git 仓库里的隐藏配置文件
git : 配置 : 团队协作 -
2026-05-17 »
读:20条软件工程定律
软件工程 : 项目管理 : 软件架构 -
2026-05-16 »
TIL: MCP 服务器不到 20 行 Python 就能写出来
MCP : Python : tool-calling -
2026-05-16 »
读:为什么我在终端里待了十年——一个 Emacs 用户的 GUI 观察
无主之地 TUI GUI 终端 Emacs -
2026-05-16 »
读:Event Sourcing——让你的数据库记住每一次变更
架构 : Event Sourcing : CQRS : 分布式系统 : 不可变性 -
2026-05-16 »
读:数据管道中Schema变更的四种形状
data-engineering : schema-evolution : parquet : delta-lake : iceberg -
2026-05-15 »
读:gamegrid.el——Emacs 内置游戏是怎么写出来的
Emacs : Elisp : gamegrid -
2026-05-15 »
读:编译高性能 Emacs
Emacs : 编译 : 性能优化 : native-comp -
2026-05-14 »
读:SES——Emacs内置的简易电子表格
Emacs : SES : 电子表格 -
2026-05-14 »
TIL: 用 parallel 加速 rsync 迁移海量小文件
rsync : parallel : 小文件 : 存储迁移 : TIL -
2026-05-13 »
TIL:给 AI 一个更小的世界——技术选型的上下文窗口约束
AI驯兽场 : AI : 技术选型 : vibe-coding : LLM -
2026-05-12 »
读:当 Agent 成为生产调用者——四个被打破的运维假设
AI : Agent : 安全 : 生产部署 : 运维 : 授权 : MCP -
2026-05-12 »
TIL: describe-personal-keybindings 查看你的自定义按键
Emacs : 按键绑定 : use-package : TIL -
2026-05-10 »
读:MCP 时代的安全威胁——幻觉权限与三道防线
mcp : ai : security : prompt-injection : zero-trust : least-privilege -
2026-05-10 »
读:超越对话——用 Skills 和 Agents 工程化上下文
claude-code : skills : subagents : llm : context-engineering -
2026-05-10 »
TIL:用 :box 给 mode-line 加内边距
emacs : mode-line : face : tips -
2026-05-10 »
读:emacs chat 技巧拾遗——从 bandali 的配置里捡到的那些技巧
emacs : exwm : configuration : tips -
2026-05-10 »
读:软件测试的反馈视角——CLEAR 原则从测试到运维
软件测试 : 运维 : 反馈 : CLEAR : 监控 : 告警 -
2026-05-10 »
org-mobile-push 卡顿排查实战:从黑盒到字节码反编译
异闻录 Emacs -
2026-05-10 »
MobileOrg Android:从 API 17 迁移到 API 34 的实战记录
Android 迁移 MobileOrg 兼容性 -
2026-05-10 »
TIL:微服务与复杂度守恒——从单体到分布式的代价转移
编程之旅 : 微服务 : 架构 : 复杂度 -
2026-05-10 »
读:用 LLM 重构遗留代码——三个陷阱与一套方法
编程之旅 : AI : 重构 : 软件工程 -
2026-05-09 »
读:Linux 创建指定大小文件的三种方式——dd、fallocate 与 truncate
linux和它的小伙伴 -
2026-05-09 »
读:Yazi——在终端里管理文件的新选择
yazi : terminal : file-manager : tui : tool -
2026-05-08 »
读:AI in Software Architecture
AI : 软件架构 : 读后感 -
2026-05-08 »
读:把成本当作 SLI
可观测性 : 成本优化 : 云原生 : SLA : 运维 -
2026-05-08 »
读:AI 辅助编程的三种错误用法
AI : 编程 : 软件工程 : 技术债 -
2026-05-07 »
读:Linux 删文件的真相——用 /proc 恢复被进程持有的已删除文件
Linux : lsof : /proc : 文件恢复 : 运维 : inode -
2026-05-07 »
读:Before GitHub
open-source : github -
2026-05-07 »
读:Choosing a Python Logging Library in 2026
python : logging : structlog : loguru : 日志 -
2026-05-06 »
Emacs buffer 导出:五种方案对比
Emacs之怒 -
2026-05-06 »
TIL: flymake 错误跳转加入 Evil 跳转列表
Emacs : Evil : flymake : 跳转列表 : TIL -
2026-05-06 »
TIL: 用 Org-mode 列表管理选择题题库
Emacs : Org-mode : 选择题 : org-list : TIL -
2026-05-06 »
TIL: 用进程树展开定位被脚本包装的 JVM 进程
JVM : jstack : pgrep : 进程树 : TIL -
2026-05-06 »
读:sysstat 诊断链——从 sar 到 pidstat 的排查路径
Linux : sysstat : 性能诊断 : mpstat : pidstat : sar : iostat -
2026-05-05 »
读:理解 MCP 架构——LLM 直接调 API 与 MCP 协议的对比
MCP : LLM : AI架构 : 工具调用 : Agent -
2026-05-05 »
读:Emacs 连接数据库时密码放哪里
Emacs : sql-mode : auth-source : Org-mode : 密码管理 -
2026-05-05 »
TIL:watch 命令的几个遗漏技巧
Linux : CLI : watch -
2026-05-05 »
TIL:Python 3.15 的 sentinel() 内置函数
Python : 编程 : 函数式 -
2026-05-05 »
读:Java ProcessBuilder 的五个坑——64KB 管道死锁、僵尸进程与资源耗尽
Java : Linux : 进程管理 : 子进程 -
2026-05-05 »
读:PostgreSQL 随机测试数据生成——从快速造数到自动化填充
PostgreSQL : SQL : 测试 -
2026-05-05 »
读:理论靠谱,生产翻车的六个集成模式
集成模式 : 分布式系统 : 微服务 : 架构 -
2026-05-05 »
读:双写问题——@Transactional 给不了的跨系统一致性
分布式系统 : 事务 : 一致性 : 微服务 -
2026-05-05 »
读:逆萨丕尔-沃夫假说与编程语言
编程语言 : Sapir-Whorf : Haskell : python -
2026-05-04 »
Emacs 批量搜索替换:从场景到命令
Emacs : 搜索替换 : rgrep : dired : ibuffer -
2026-05-04 »
xscreensaver 密码验证失败的排查
异闻录 : Linux : xscreensaver : PAM : Arch Linux : 认证 : 屏保 -
2026-05-04 »
读:Manager README 为什么不是好主意
技术管理 : 团队协作 -
2026-05-04 »
读:当上管理者后容易犯的五个错误
管理 : 职业发展 : 技术管理 : IC -
2026-05-04 »
读:位掩码——用位运算打包多个标志位
位运算 : 位掩码 : 编程基础 : Python -
2026-05-04 »
读:轻量 ≠ 简陋——从 Stupid Light 看技术选型的度
技术选型 : 极简主义 : 软件工程 -
2026-05-03 »
读:7 Techniques That Supercharged My Claude-Assisted Development
Claude Code : AI : 开发效率 : skill -
2026-05-03 »
读:AI 编码代理的四种工作流
AI : Claude Code : 编码代理 : 工作流 -
2026-05-03 »
读:Agent 的瓶颈不在模型,在基础设施
AI : Agent : 基础设施 : 架构 -
2026-05-03 »
读:EvoForge——用群体进化优化 AI Agent
AI : Agent : 进化算法 : 知识共享 : EvoForge -
2026-05-03 »
TIL:Google Stitch 的 DESIGN.md,给 AI 读的设计系统说明书
AI : 设计系统 : DESIGN.md : Stitch : 谷歌 -
2026-05-03 »
读:Matt Pocock 的 skills——需求拷问机与 AI 技能的自我进化
AI : Claude Code : skills : 需求澄清 : 工作流 -
2026-05-03 »
读:从写提示词到构建技能——三层技能框架与 Claude Code 的认知升级
AI : Claude Code : 技能框架 : Prompt工程 -
2026-05-03 »
读:你的 CLAUDE.md 缺少灵魂——SOUL.md 与 AI 智能体的人格文件
AI : Claude Code : prompt工程 : 智能体 -
2026-05-03 »
读:用免费模型跑 Claude Code——free-claude-code 代理设置指南
AI : Claude Code : 免费 : 代理 : 省钱 -
2026-05-03 »
TIL: image-mode 的 header-line 中显示图片尺寸
Emacs : TIL : image-mode -
2026-05-03 »
读:The Art of Logging——日志规范清单
日志 : 运维 : 监控 : 最佳实践 -
2026-05-03 »
读:2026 年构建 Python 库的现代工具链
Python : uv : ruff : 编程工具 : 最佳实践 -
2026-05-03 »
一次埋点,任意后端:OpenTelemetry 的可观测性标准化设计
OpenTelemetry : 可观测性 : FastAPI : 运维 : 监控 -
2026-05-03 »
从画图理解声明式编程:Altair 的三块积木
声明式编程 : 数据可视化 : 编程范式 : API设计 -
2026-05-02 »
读:Emacs newcomers-presets theme —— 30+ 项新手预设一览
emacs : newcomers-presets -
2026-05-02 »
读:Protesilaos 的 Emacs 合理默认配置 —— 兼与 newcomers-presets 对比
emacs : protesilaos : newcomers-presets -
2026-05-02 »
TIL-用 curl + w3m + awk 从 HTML 表格提取数据
linux : shell : awk : w3m : html -
2026-05-02 »
dotfile仓库大扫除:清理过时的配置
linux和它的小伙伴 -
2026-05-02 »
控制 Bash 历史记录的 6 个场景
bash : linux : history : 安全 -
2026-05-02 »
读:Shell脚本安全编码的五条铁律
shell : security : bash : 安全 -
2026-05-02 »
Chrome 升级后错误码 159 渲染器崩溃排查
异闻录 : Linux : Chrome : 浏览器 : 调试 -
2026-05-02 »
从CSS选择器到自然语言:网页自动化的两种范式与取舍框架
网页自动化 : LLM : 决策框架 : 范式对比 -
2026-05-01 »
读:AI Agent 安全日志——从可见性与隐私的两难说起
AI : Agent : 安全 : 日志 : Observability : OpenTelemetry -
2026-05-01 »
读:AI Agent 生产化——一份从原型到上线的速查清单
AI : Agent : 生产部署 : 架构 : 安全 : 监控 -
2026-05-01 »
读:LLM 生产环境六种失败原型——基准测试无法预测的那些故障
LLM : AI : 生产部署 : 故障测试 : 失败模式 -
2026-05-01 »
读:Prompt Injection 五层纵深防御——从输入过滤到审计追踪
AI : Prompt Injection : 安全 : 纵深防御 : Python -
2026-05-01 »
读:为什么所有 Prompt Injection 防御都会被攻破——以及架构上该怎么办
AI : Security : Prompt Injection : LLM : Capability Gate -
2026-05-01 »
读:JVM 后端性能调优备忘——从一次生产事故中学到的优化要点
Java : JVM : 性能调优 : GC : JFR -
2026-05-01 »
读:Java 容器化——从 Fat JAR 到高效 Docker 镜像
Java : Docker : JVM : 容器 : Work -
2026-05-01 »
读:整洁代码的几个通用原则——从 Go 生态看起
整洁代码 : 重构 : 软件设计 -
2026-05-01 »
读:规则引擎——从 if-else 到业务规则管理
规则引擎 : 设计模式 : 架构 -
2026-04-30 »
AI写作的语言指纹——如何让文字不那么像机器
AI : 写作 : 语言 -
2026-04-30 »
读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得
ClaudeCode : AI : 效率 -
2026-04-30 »
读:AI 辅助开发为什么让 E2E 测试更有价值
AI驯兽场 : AI : 测试 : E2E测试 -
2026-04-30 »
读:在Emacs中使用Claude Code(Spacemacs适配版)
Emacs : Claude Code : Spacemacs -
2026-04-30 »
读:Security-First CI/CD —— DevSecOps 自动化实践指南
DevSecOps : CI/CD : 安全 : 自动化 -
2026-04-29 »
Conducty:给 Claude Code 加上项目记忆和并行执行能力
无主之地 : AI : Claude Code : Conducty : Obsidian : 知识管理 -
2026-04-29 »
读 — GitHub Trending 里的 Claude Code 技能包
Claude Code : AI : 开发工具 -
2026-04-29 »
读 — Prompt Caching 省钱指南
LLM : prompt caching : Claude Code : 成本优化 -
2026-04-29 »
读:Conducty——AI 编程工作流的六条工程原则
编程之旅 : AI : Claude Code : 工程方法论 : Shape Up : 丰田 Kata -
2026-04-29 »
读:用自动化脚本排查 Emacs 配置被覆盖问题
Emacs : debug : custom : elisp -
2026-04-29 »
TIL: Linux 家目录的新成员——Projects
linux TIL xdg -
2026-04-29 »
TIL: README 的 15 个章节
TIL 文档 README -
2026-04-29 »
读:Immutability 不是万能药,它是一种权衡
Clojure : Java : 不可变性 : 并发 : 函数式编程 -
2026-04-28 »
读:Karpathy 的 LLM Wiki——让 AI 帮你维护知识库
无主之地 : Karpathy : LLM : 知识管理 : Org-mode : wiki : RAG -
2026-04-27 »
TIL: Emacs 中那些跟鼠标配合的冷门快捷键
TIL Emacs 快捷键 -
2026-04-27 »
TIL: 数字小键盘的小数点陷阱与行内算术求值
TIL Emacs 键盘配置 -
2026-04-27 »
Claude Code 背后的工程哲学——读 Agent Harness Engineering
AI : Claude Code : Harness Engineering : agent -
2026-04-27 »
读:Agent Harness Engineering——AI 智能体不只是模型,还有套件
AI : Agent : Harness Engineering : Claude Code -
2026-04-27 »
browser-harness:让 AI 直接接管你的浏览器
AI : 浏览器自动化 : CDP : Python -
2026-04-26 »
git推送失败后恢复仓库损坏的完整记录
异闻录 -
2026-04-25 »
多智能体系统的两个有效模式——以及对 Claude Code 用户的启示
AI : 多智能体 : Claude Code : 代码审查 -
2026-04-25 »
用 Org Babel 写 Literate 博文:扩展执行 + 定制导出
Emacs : Org-mode : Babel : literate programming : 导出 -
2026-04-25 »
proced:Emacs 内置的进程查看器
Emacs : proced : 进程管理 -
2026-04-25 »
从 proced 定制中学到的 Elisp 模式
Emacs : Elisp : 编程模式 -
2026-04-25 »
读:让 Emacs proced 在 macOS 上显示 CPU 和内存
Emacs : proced : macOS : Elisp -
2026-04-25 »
hyperfine:命令行基准测试工具
Linux : hyperfine : 性能测试 : 命令行 -
2026-04-25 »
管道中的变量去哪了?——子 shell 作用域陷阱
Shell : 子shell : 管道 : 变量作用域 : POSIX -
2026-04-25 »
开源包装器的信任陷阱:四个危险信号
开源 : LLM : Ollama : llama.cpp : vendor lock-in -
2026-04-25 »
异步编程的函数着色税
异步编程 : async/await : 函数着色 : JavaScript : Rust -
2026-04-25 »
分层控制:从 AI 技能到 Unix 管道的共同设计原则
系统设计 : AI : Clojure : Emacs : Unix -
2026-04-25 »
链式调用的代价:JavaScript 和 Clojure 的共同教训
JavaScript : Clojure : 编程风格 -
2026-04-24 »
用 ox.el 做你想做的事 —— org-export 高级编程指南
Emacs : Org-mode : org-export : Elisp : HTML -
2026-04-24 »
读:Emacs 代码折叠终极指南
Emacs : 代码折叠 : kirigami : outline : hideshow : treesit-fold -
2026-04-24 »
读:Hot-wiring the Lisp Machine —— 用纯 Elisp 构建零依赖的 Org 静态站点生成器
Emacs : Org-mode : SSG : org-export : Elisp -
2026-04-24 »
WSL9x —— 在 Windows 9x 里跑 Linux 内核 6.19
无主之地 : linux : windows : retro -
2026-04-24 »
mktemp: Shell 脚本中临时文件的安全陷阱与最佳实践
Linux : shell : 安全 : mktemp -
2026-04-23 »
TIL: AI 时代的橡皮鸭调试
TIL 调试 AI -
2026-04-23 »
ERT 测试交互命令的三种方式
Emacs : ERT : 测试 : elisp -
2026-04-23 »
SEM Assistant: 当 Elisp 守护进程遇上 LLM
emacs : org-mode : llm : ai : architecture -
2026-04-23 »
TIL: 用 diff-hl 在 fringe 中显示 git 变更
Emacs : git : TIL -
2026-04-23 »
用 dmsg 给 Elisp 加上结构化调试日志
emacs : elisp : debug : dmsg -
2026-04-23 »
用 org-habit 追踪非每日习惯
emacs : org-mode : habit : life-hacking -
2026-04-23 »
读:Anvil——把 Emacs 变成 AI 的工具服务器
Emacs : AI : MCP : token优化 : org-mode -
2026-04-23 »
读:llm-test —— 用 LLM agent 驱动 Emacs 测试
Emacs : LLM : testing : ERT -
2026-04-23 »
Clojure X-Men:当编程语言特性变成超能力
clojure : programming : fp -
2026-04-23 »
Clojure 吸血鬼猎杀实战:从 defrecord 到 STM
clojure : programming : fp -
2026-04-23 »
读:Clojure 搭车客指南
Clojure : 函数式编程 : s-expression : 递归 : core.async -
2026-04-23 »
读:芭芭雅嘎与 Clojure Reducers
clojure : programming : fp : reducers -
2026-04-22 »
Elisp 性能优化的六个实战教训
emacs : elisp : performance : org-mode -
2026-04-22 »
fcitx5 下 Emacs 无法切换输入法的排查
异闻录 : Linux : Emacs : fcitx5 : X11 : 输入法 -
2026-04-22 »
fcitx 启动后键盘输入卡顿的排查
异闻录 : Linux : fcitx : X11 : 输入法 -
2026-04-22 »
TIL: 早期网页的图片热区导航
无主之地 TIL HTML -
2026-04-21 »
用 Emacs 自动生成每周链接推荐
Emacs之怒 : org-mode : automation -
2026-04-21 »
读:ASCII control characters in my terminal
Terminal : ASCII : Linux : stty -
2026-04-21 »
读 What to learn
无主之地 : 学习 : 职业发展 : 技能 -
2026-04-21 »
Lisp 的括号之痛——一个愚人节玩笑揭开的老伤疤
Lisp : Clojure : 语法设计 : 宏 : 编程语言 -
2026-04-20 »
一本书该"线性读"还是"并行读"
阅读 : 学习方法 : Anki : 间隔重复 -
2026-04-20 »
读 How to Monetize a Blog:一篇伪装成变现指南的讽刺文
异闻录 : 博客 : 讽刺 -
2026-04-20 »
Python Mock 第三方依赖的四种策略
Python : Testing : Mock : pytest -
2026-04-19 »
Emacs Lisp 热重载实用指南
Emacs之怒 Emacs-Lisp 热重载 开发 -
2026-04-19 »
Prot 的 Emacs 配置哲学
Emacs : 配置管理 : 代码风格 -
2026-04-19 »
TIL: 从直播对谈中学到的三个 Emacs 技巧
Emacs : TIL : qrencode : helpful : keyd -
2026-04-19 »
TIL: 自动使用项目虚拟环境的 Python
Emacs之怒 TIL Python -
2026-04-19 »
TIL: 让 Help buffer 自动获得焦点
Emacs之怒 TIL -
2026-04-19 »
一条命令让本地开发用上 HTTPS —— slim 工具介绍
linux和它的小伙伴 slim HTTPS 本地开发 -
2026-04-19 »
用 fsck 检查和修复 Linux 文件系统
Linux : fsck : 文件系统 : 系统管理 -
2026-04-19 »
排查Linux进程"卡死"实战:从strace到gdb全流程
异闻录 -
2026-04-19 »
PostgreSQL 索引:从基础到你可能不知道的高级用法
数据库 : PostgreSQL : 索引 : SQL -
2026-04-18 »
TIL: repeat-mode 省去重复按键前缀
Emacs : 快捷键 : Emacs28 : TIL -
2026-04-18 »
TIL: 用 read-extended-command-predicate 精简 M-x 候选列表
Emacs : M-x : 补全 : Emacs28 : TIL -
2026-04-18 »
为什么 Lisp 统治元编程
Lisp : 元编程 : 宏 : Emacs-Lisp : 编程语言 -
2026-04-18 »
用 .pdbrc 自定义 Python 调试器
python : pdb : debugging : TIL -
2026-04-18 »
降低程序内存的五个原则
Python : 性能优化 : 内存 : 通用原则 -
2026-04-17 »
ANSI 转义码的标准化现状
linux和它的小伙伴 -
2026-04-17 »
终端程序的潜规则
编程之旅 -
2026-04-16 »
AI越强越辣鸡?控制论说这是必然的
无主之地 : 控制论 : 反馈 : AI : 系统论 -
2026-04-16 »
AI 越强越需要你盯着——反馈循环实操指南
无主之地 : AI : 反馈循环 : prompt工程 : 人机协作 -
2026-04-16 »
LLM 在 DevOps 中的三种角色
LLM : DevOps : AI : CI/CD : AIOps -
2026-04-16 »
你的AI代理正在偷你的密钥——四种你没想到的泄露通道
无主之地 : AI安全 : 提示注入 : 密钥泄露 : DLP -
2026-04-16 »
写作风格的反建议
写作 : 博客 : 风格 -
2026-04-16 »
反驳本质复杂性——Dan Luu 论为什么《没有银弹》错了
软件工程 : 本质复杂性 : 偶然复杂性 : NoSilverBullet : DanLuu -
2026-04-16 »
文件充满了危险——Dan Luu 谈文件系统的可靠性陷阱
文件系统 : 可靠性 : fsync : 数据安全 : DanLuu -
2026-04-15 »
程序员愿意为 AI 写文档,却不愿为同事写
无主之地 : AI : 文档 : 编程文化 -
2026-04-15 »
AI 时代的 PARA 方法:用 Org-mode 和 AI 打造个人知识管理系统
PARA : Org-mode : AI : 知识管理 -
2026-04-15 »
PARA Org-mode 测试配置
N/A -
2026-04-15 »
Linux 数据去重学习笔记
linux和它的小伙伴 -
2026-04-15 »
创建跨平台 ZIP 文件的隐藏陷阱:Extra Field
linux和它的小伙伴 : zip : 兼容性 -
2026-04-15 »
X11 Forwarding 排障指南
异闻录 : ssh : X11 -
2026-04-15 »
POSIX Shell 中用 set -- 重建参数列表
编程之旅 shell posix -
2026-04-14 »
Unix 系统中那些被埋没的配置开关——以 FontConfig 为例
Linux : Unix哲学 : FontConfig : 配置管理 : mechanism-vs-policy -
2026-04-14 »
Linux 输入栈全景解析:从硬件按键到屏幕响应
Linux : 输入设备 : 内核 : udev : libinput : XKB -
2026-04-14 »
Google SRE Book 读书笔记
SRE : DevOps : 分布式系统 : 运维 : Google -
2026-04-14 »
Leiningen 学习笔记:Clojure 项目构建与管理从入门到实战配置
编程之旅 : Clojure : Leiningen : 构建工具 -
2026-04-13 »
IP欺骗端口扫描:当别人冒充你去扫描别人
linux和它的小伙伴 -
2026-04-13 »
GIF不仅仅是一种图片格式——用GIF流做些奇怪的事
无主之地 -
2026-04-12 »
Linux PAM 简介
linux和它的小伙伴 -
2026-04-12 »
yes 管道 head 发生了什么
linux和它的小伙伴 -
2026-04-12 »
为什么 nohup 在 crontab 中不起作用
linux和它的小伙伴 -
2026-04-12 »
在Linux上限制儿童使用电脑
linux和它的小伙伴 -
2026-04-12 »
Bash中的Indirection与Nameref
编程之旅 -
2026-04-12 »
C语言中的未定义行为
编程之旅 -
2026-04-11 »
用GitHub Actions自动构建EGO博客
N/A -
2026-04-11 »
blocking I/O 的作用
linux和它的小伙伴 -
2026-04-11 »
用 Bash 打造一个Screen Locker
N/A