邮件为什么仍是提醒的最佳选择
推送在争抢注意力,邮件安静等待,而且无处不在。为什么提醒应该邮件优先:每个渠道的成本、频率作为产品决策、送达率这份不体面的脏活,以及"协议不会关停"——来自一个邮件优先提醒服务的长期实践笔记,也是我不打算离开它的原因之一。
阅读 →这里的一切都长自我真正在做的事——实战手记、平台观察、技术史话和随想。需要长就长,不必长就短。
推送在争抢注意力,邮件安静等待,而且无处不在。为什么提醒应该邮件优先:每个渠道的成本、频率作为产品决策、送达率这份不体面的脏活,以及"协议不会关停"——来自一个邮件优先提醒服务的长期实践笔记,也是我不打算离开它的原因之一。
阅读 →没有框架、没有构建步骤、不装 300MB 的 node_modules。我做的 17 个浏览器插件和 10 个 PWA 都用原生 JavaScript 写成:小工具不需要框架,十年后还要能直接打开和修改。这篇笔记顺便说清:什么时候我会主动用框架,以及为什么那是例外。
阅读 →在中国,水为什么总是热着端上来?从烧开水曾经的安全考虑与茶文化,到车站、高铁车厢、餐厅和酒店里随处可得的免费开水,一文说清这个日常习惯的来由,也告诉旅行者怎么用一个小小的保温杯,让在这里的每一天都更舒服。全程免费,自己接水就行。
阅读 →身体记着日历不记的账。三个小习惯:45 到 60 分钟一次的起身计时器、20-20-20 远眺、摆对高度的屏幕。不靠意志力,靠默认设置——工具负责记得,我只负责照做;我证明不了什么大道理,只知道傍晚结算时便宜了一点,脖子也少提意见。
阅读 →没人会读你的代码,他们先读的是 README。前五行决定别人会不会真的跑起你的工具。这是 17 个小插件教我的文档课:先写 README 再写代码,把更新日志当成写给用户的日记,用透明换信任,也让半年后的自己少走一些弯路。
阅读 →证书和巡检的截止日期从不敲门:错过时没人立刻察觉,代价却在累积。这就是我做了 CertTrack Pro 的原因——一个到期前发邮件、而不是事后通知的提醒 SaaS,多租户、面向团队。也诚实聊聊时区、夏令时和静默失败这些真正的敌人,以及为什么准时就是全部。
阅读 →处处唯一密码、一个密码管理器、能开就开的双重验证,再加上打印出来、和证件收进抽屉的恢复码。这套密码系统无聊到没人会夸奖你,却刚好挡住了多数人真正会遇到的那种攻击——重放你泄露的旧密码。十分钟搭好,此后几乎不用管,值得每个用网的人做一次。
阅读 →AI 负责初稿,判断仍然归你。这是我在 27 个小产品里使用编码助手的方式:读不懂的代码不合并,加密与鉴权手写,约 20KB 的小工具不外借命名与取舍。初稿免费之后,真正的工作变成了判断和品味,这篇笔记把那条线画出来,也说清哪些地方我不用它。
阅读 →两年、七个平台:GitHub、Gitee、Chrome 应用商店、Product Hunt、Hacker News、Reddit 与中文开发者社区——每个平台教我的东西都不同,最大的收获是:平台是租来的,域名和邮件列表才是自己的,一致性胜过爆红。
阅读 →发布日的曲线很好看,第二天就归于安静:发布是一次事件,被发现是一个系统。写下我对 Hacker News、Product Hunt、Reddit 的观察,以及为什么如今我更信任慢搜索的复利和自建的地基,还有平台给不了的东西。
阅读 →先把最小的版本发出去:动力胜过完美。我的第一个插件只有两百行,第一条用户反馈把发布变成习惯——17 个插件、10 个 PWA 和一款提醒 SaaS 都从最小版本长出来。完美主义往往只是拖延穿了正装;先把 20% 发出去,剩下的 80% 会好找得多。
阅读 →在中国,扫码是日常生活的默认界面:点餐、付款、乘车、取快递都靠它。这篇笔记写清楚扫码在什么时候发生、为什么它能赢,以及第一次到访该装好哪两样东西、分清哪两个方向。扫码只是表面,背后是对一个小动作的信任。出发前把两个支付应用装好,落地那天就轻松了。
阅读 →离线不是需要道歉的异常状态,而是一种逼软件保持诚实的设计约束:界面要说清本地存了什么、什么还没同步,冲突合并才是真正的工程,先按飞行模式设计。这是十个离线优先 PWA 教给我的设计手法,也解释了缓存策略为什么只是故事的一半。
阅读 →护照、保险、年检、保修、烟雾报警器:生活行政从不惊天动地,只是安静地过期,代价却在机场柜台和维修店里等你。一个实体文件夹加一张清单,配一套提前量提醒,让证件、收据和到期日不再悄悄溜走。半小时就能搭好,这是每个家庭都值得做一次的小系统。
阅读 →云端同步的验证器,有可能把你锁在自己账号的门外——恢复时要用的验证码,恰恰躺在那个丢掉或坏掉的设备里。我把 TOTP 种子留在本机,做成一个没有任何网络权限的浏览器插件。这篇长文讲清 TOTP 原理、离线实现和诚实的取舍,适合愿意自己保管种子的人。
阅读 →手机和电脑里躺着一座应用坟场:装上、弃用、再装回,待办、笔记、书签换了一轮又一轮,这个模式却从来没有变过。装装删删许多年,我才承认:工具不建习惯,只有系统才活得下来——正确的工具,不是你最兴奋装上的那个,而是你一直没删的那个。
阅读 →游客在中国怎么付款:这篇笔记画一张实用地图。微信支付与支付宝两个应用几乎包办一切,境外卡可以在应用内绑定;现金仍然是法定货币,酒店、机场和大型连锁常能直接刷卡。把设置放在出发前做完,手机保持有电,再了解一点小费和砍价的习惯,路上的摩擦就少得多。
阅读 →红点是一条牵绳:角标、自动播放、无限信息流,都在为手机服务,不为我。每台新手机我都过一遍十分钟设置:关掉角标、把主屏换成工具、信息流挪开两屏,晚上切灰度。手机负责捕捉,电脑负责创作;真要找到我的事,请走邮件——默认值不站我这边,这是一道关于注意力的算术。
阅读 →拒审是一份你没要过的设计评审。十七个二十 KB 以下、零收集的浏览器插件穿过应用商店审核,靠的不是运气,而是一份提交前清单和几个习惯——最小权限、单一用途、诚实文案、真实截图、不跟审核争辩的耐心。这套方法不戏剧,但插件都靠它过了审。
阅读 →我的每个浏览器插件都比一张照片还小,这不是巧合,而是一条写在动手前的设计预算:20KB 法则。它逼我砍掉框架、统计 SDK 和各种大图,逼每一字节挣来位置;用户为什么能感觉到差别,打开 chrome://extensions 你也能自己验证。
阅读 →半小时送达的外卖、楼下就能取的快递柜:中国日常生活的两套隐形物流。餐厅几乎全覆盖,骑手骑电动车穿街走巷,深夜也有厨房营业;包裹进小区快递柜或代收点,凭一个取件码随时取。游客用同样的两个应用就能上手,让在这里的每一天顺畅省心。
阅读 →应用商店对小工具就像收费亭:年费、审核、随时在变的规则。这就是我把十个应用全部做成可安装 PWA 的原因:两次点击安装、离线可用、URL 就是分发渠道——也诚实交代 iOS 支持不齐、存储可能被回收、够不到系统 API 的短板,以及为什么这条路对独立开发者最省事。
阅读 →1968年12月9日,恩格尔巴特用九十分钟现场演示了鼠标、超文本、协同编辑与视频通话,而它们此后二十到四十年才进入主流。那场演示留下的方法至今有效:把粗糙的、没做完的版本拿出来,可见的工作才有反馈;宏大的愿景可以慢,但不能隐身。
阅读 →第一次坐中国高铁的实用笔记:用护照在官方渠道购票,从车站安检、候车到检票上车的完整流程,车上的座位、行李与热水机怎么用,换乘与到达的注意事项,以及让旅途更从容的几个小习惯。出发前把行程离线存好,照着走一遍,第一次乘车也能不慌不忙。
阅读 →不用读完一个项目的每一行,你也能从代码里学到东西。像旅行者一样读代码:带一个具体问题、拆开商店里的插件做研究、偷师惯用法而不是闭门造车——这是我最划算的学习方式,也悄悄塑造了我后来的 17 个插件和 10 个 PWA,而且不需要任何人的许可。
阅读 →同一份打包清单走每次出行:睡前照单打勾,回来只补一条教训,几年下来清单比临时收拾可靠得多。所有线材装一个袋,证件与副本放一处,地图、车票、登机牌提前离线。可安装的 Web 应用没网照常工作——打包像协议,因为清单和离线都不该指望意志力。
阅读 →1947 年 9 月 9 日,哈佛 Mark II 的继电器卡住一只飞蛾,团队把它贴进日志本,写下 first actual case of bug being found——第一次真正抓到 bug 的案例。那页纸如今收在史密森尼,也仍在教我们调试与记录。
阅读 →中国的菜市场到底是什么样:摊位、称重、扫码付款,还有为什么早晨去逛一小时值得。指一下要买的东西,上秤按斤两算,扫摊主的二维码付钱;带一点现金和自己的袋子。早点去,饿着去,慢慢逛——那里没有人为游客表演,这正是要走一趟的原因。
阅读 →标签页、快捷键、阅读模式、整页截图:在我每天用得最久的工具里,几个小习惯配上几个安静的微型扩展,把被悄悄漏掉的时间一点点收回来,而不是靠更复杂的工具。习惯要小,工具更要小——这是写给我自己的日常笔记,讲的就是每天使用的那一半。
阅读 →2008 年从 .NET 桌面应用起步,中途做过企业级 Java 大型系统和 Python 数据管道,2023 年起专注浏览器插件。这篇笔记复盘 18 年里换过的四轮技术栈,以及始终没变的三条原则:做小、彻底理解、数据不出本机,给同样站在路口的开发者。
阅读 →