从 Abuse 邮件溯源至 Globalping
从 Abuse 邮件溯源至 Globalping

用过 Hetzner 的人大概都知道 Abuse 邮件不能随手归档。有些工单要求限时解释或处理,拖久了可能影响服务器乃至账号。不过,这次邮件正文明确写着不必回复,真正要做的是先弄清楚:我的服务器为什么会出现在一份恶意软件通信报告里?当时正在给 Mantine 迁移到 StyleX 的工作收尾,邮箱里突然出现一封 Hetzner 转发的 CERT-Bund 报告。那台服务器没有对外提供什么公共服务,也没有运行容易触发此类告警的程序,所以第一反应自然是,被挂马了?一、先从邮件开始

2026-09-16•约 3.1 千字
全世界都在探索 AI 如何落地
全世界都在探索 AI 如何落地

这几年间,无数人、组织都在问同一个问题:AI 到底怎么落地?但是似乎无论是什么场景和项目,所谓落地,都会落到技术负责人头上。怎么回事儿?离了程序员,我还吃不上肉了?我现在就让 AI 自己写程序让自己落地!无论是投资人、老板还是管理层,最终都会到一个是或者类似技术负责人的角色这里,他就是地。但问题并不是到他这里就结束了,问题又变成该买哪个模型、装哪个编码助手、接哪个知识库、搭几个 Agent。会开了一轮又一轮,演示做得一个比一个漂亮。一个需求丢进对话框,几分钟后,代码、测试、文

2026-09-14•约 21.5 千字
Bun 的使用经验
Bun 的使用经验

Bun 的入门文档很好懂:定义结构体,写几个 bun tag,然后 NewSelect、NewInsert、NewUpdate。照着示例做,半小时就能把一张表增删改查一遍。可项目真正复杂起来以后,问题通常不再是「左连接怎么写」,而是另外一组东西:事务里的 Repository 为什么突然不能复用?PATCH 请求中的零值到底表示更新成零,还是根本没传?一份用户结构为什么要在 Protobuf、业务层和数据库层复制三遍?PostgreSQL 的数组、JSONB、INET 扫描到

2026-09-12•约 11.9 千字
古老的 RADIUS 协议
古老的 RADIUS 协议

第一次听到 /'reɪdiəs/ 联想到的单词肯定是 Radius,但是如果听到的是 RADIUS 协议,就不得不怀疑自己的耳朵了,半径协议是什么?当然,如果是看到 RADIUS 这个词就不会有这个疑惑,全大写意味着是首字母的缩写形式,就像 HTTP 协议一样。但是和 HTTP 协议一样,RADIUS 的全称 Remote Authentication Dial-In User Service 理解起来一样不怎么直观。远程用户拨号认证服务,这个短语看起来就有点儿古老,名称里面

2026-09-11•约 11.4 千字
VPS 推荐
VPS 推荐

推荐个 VPS 呗?这个问题经常听到,现在统一推荐一下。其实这个问题很宽泛,所以每次都需要先反问:你的用途是什么?然后在脑中过滤一遍,再继续问:预算多少?对位置有要求吗?需要什么配置?像挤牙膏似的一点点问,最终也很难得到答案。一家厂商的 VPS 怎么样,本质上都得自己买来实际用了才知道。光看一次跑分并不能下结论,因为无法知道晚高峰会不会丢包、工单有没有人回、故障以后怎么处理。踩坑了可能只能认栽,因为不是所有厂商的退款协议都比较友好。这些年用过不少大大小小的 VPS 和物理机,

2026-09-10•约 6.9 千字
软件、工具链与 mise
软件、工具链与 mise

你怎么给你的电脑安装软件的?是不是缺什么装什么,图形软件去官网下载,命令行工具用 Homebrew,Node.js 交给 nvm,Python 再装一个 pyenv。可能刚装完都挺好的,过上一年,~/.zshrc 里就会长出好几段初始化脚本。此时再问一句「现在运行的 node 到底从哪里来」,往往要先查半天 PATH。这种环境平时看不出问题。一旦同时维护新旧项目,事情马上多起来:一个项目还在 Node.js 20,另一个已经用了 Node.js 24;Python 版本不同,

2026-09-08•约 8.4 千字