05随笔

随笔

技术、折腾,和偶尔的生活。不追热点,只写亲手验证过的东西。

41 座城市之后

2010 年 8 月 11 日,上海。第一次一个人出远门,紧张得提前两小时到了车站。现在想想,那时候的自己真有意思。

建站记:hehang.me 是怎么搭起来的

想有个地方放自己的东西:走过的路、写过的代码、写下的文字。试过 Notion,试过 GitHub Pages,总觉得差点意思。Notion 是别人的,GitHub Pages 太 geek。

本地优先的代价:DayLens 的数据是怎么存的

做 DayLens 的时候,第一个决定就是:数据不出本机。不是因为有什么惊天秘密,而是觉得:我的时间花在哪了,这种数据没必要告诉任何云服务。

DayLens:把"今天做了什么"翻译成人话

每天晚上,我都会想:今天到底干了什么?时间花在哪了?写代码用了几小时?刷手机又用了几小时?凭感觉估,永远不准。

给 IP 检测加上 AI:场景咨询是怎么做的

多源数据聚合之后,信息是全了,但普通用户看不懂。ASN 是什么?BGP 走了哪条路?原生 IP 和广播 IP 有什么区别?这些概念对大多数人是黑话。

IP Insight 开发手记:多源检测是怎么拼起来的

第一版很糙:一个窗口,一个按钮,一个结果区。点击检测后,用 `Promise.all` 同时请求三个 API,哪个先回来先显示。代码不到 200 行。

IP Insight:从一个想法到完整 IP 分析工具

事情的起因很简单:我想知道自己的网络出口到底在哪。用代理、换节点是常态,但每次都要打开好几个网站查 IP:一个看归属地,一个看流媒体解锁,一个看 ASN。信息散在各处,拼起来很麻烦。

del-weibo:一键和过去的微博告别

人长大了,想清理一下年轻时发的微博。一条条删?几千条删到天荒地老。**根据项目记录推测**,作者(或者作者的朋友)有过这种需求,于是写了个脚本一次搞定。Tampermonkey(油猴)用户脚本,基于微博网页版官方接口:

Navicat 中文助手:让英文报错说人话

在 Navicat 里执行 SQL 报错,信息面板里蹦出一行英文:`1146 - Table 'wh0524.t_user' doesn't exist`。老手扫一眼就懂,新手得先翻译再理解。**根据项目记录推测**,作者自己写 SQL 时被英文报错烦到了,决定做个小工具让它"说人话"。思路很巧:**外挂式独立小程序**。不截图识别(OCR 又慢又不准),不联网,直接读取 Navicat"信息"面板的文本。也不向 Navicat 写入任何内容——只读不写,干净。

DayLens 每日镜:把电脑活动翻译成"今天做了什么"

每天下班的时候,你能说出自己今天到底做了什么吗?不是"很忙",而是具体做了什么。**根据项目记录推测**,作者想要一个诚实的记录者:不评判、不打扰,只是把电脑上的活动翻译成一句话——"今天真正做过的事"。DayLens 的定位很克制:**本地优先、默认完全离线**。它记录前台软件使用时长、文件变化、浏览器访问概况、软件安装变化、微信接收文件,然后把成千上万条底层记录合并成容易理解的总结。

网鉴 · IP Insight:把出口 IP 放在显微镜下

用代理、VPN 或者软路由的人,都有过这种时刻:想确认自己现在的出口 IP 到底是什么、在哪里、干不干净。单个检测网站只能给一个侧面,换几个网站又得手动一个个点开看。**根据项目记录推测**,作者想要的是一眼看清——打开一个软件,所有检测自动跑完,一份报告直接摆在面前。README 里写得很直白:把公网 IP 放到多个独立检测源下同时"体检"。自动打开检测网站、等待页面 JavaScript 真实执行、提取结果、统一成同一套数据模型,再做多源交叉验证和 AI 综合分析。