八张图里多出来的一次转义
有一段时间,这个博客的八篇文章在句子中间显示的是 — 这七个字符,而且是在图表里。不是破折号。是文字本身。此后所有语言都已修正。 81 行,91 处。而在同样这八篇文章的正文里:一处都没有。 把实体而不是破折号画出来的图表行数 十一种语言 不用 cookie 的计数 middot, mdash 带走你的数据 mdash 用标签管理器加计数器 mdash…
数据库结构实际存在哪里
这个服务所做的一切都在版本控制里。至少代码是。它运行其上的数据库是 32 张表,其中 15 张在仓库里任何地方都没有定义 — 没有 CREATE TABLE,没有结构文件,什么都没有。一份备份能把 32 张表连同结构一起还原;仓库里缺的,是这份结构的第二份、独立的副本。 17 张表有定义 15 张哪里都没有 21 个索引由代码创建 11 个只在库里 32 张表,32…
为什么我们的配置几乎全是注释
这台服务器上的 .htaccess 有 478 行。其中 98 行是规则。309 行是注释。 309 — 注释行 98 — 规则 11 行带日期,12 行带实测值 共 478 行 每一行做事的代码配三行解释。这个比例不是计划出来的;当写规则的规则是理由必须挨着它时,自然就会这样。 为什么一条重写规则需要一个段落…
我们如何检查每一份译文
这个博客有 64 篇文章,十一种语言:704 行,约 220 万字符。没有一篇文章在任何一种语言里缺失 — 这个说法只有在有东西强制它时才有意义。 确实有东西在强制。译好的一行写入之前,先与英文原文比对,不通过的行根本不会被写入 — 它会被报告出来,留给人看。 1 — 相同的链接目标 2 — 相同的占位符 3 — 每种标签数量相同 4 — 长度在 0.5 倍到 2.5 倍之间…
为什么我们不给老用户发信
本服务的计数器表里存着 4,148 个电子邮件地址。它们属于过去二十年间创建的计数器,那时候计数器带着一个地址栏,人们就把它填了。 有三个人要求收信。 4,148 — 存档地址 3 — 要求收信 第一个数字是我们拥有的。第二个是我们可以使用的。 这两个数字就是这篇文章的全部。它们之间的差距不是一个需要填平的问题。它就是设计。 拥有一个地址,不等于有权使用它…
AI 可以写什么,不可以写什么
在一个公开的统计页面顶部,这里可能有两三句话,描述这个计数器本月做了什么。它们是一个语言模型写的。模型在这里什么也不编造,而让这句话成立的那套安排值得描述一番——因为搭建这个功能的显而易见的做法,并不具备这个性质。 服务器 找出数字 服务器 每个事实一条提示 模型 一句话 服务器 逐位核对数字与提示 句子被展示 句子被丢弃 服务器跑…
排行榜现在进了导航栏
本站有一个排行榜:最热闹的公开计数器,另有按国家和按语言的分榜。它做好了,译成了十一种语言,有退出选项,而且已经上线一段时间了。 在这次改动之前,指向它的链接只有两处:排行榜自己内部,以及 sitemap.xml。不在导航栏里,不在页脚里,不在首页上。想走到那儿,前提是已经知道网址。它现在是导航栏里的第五个去处。…
并不是每张表都存着三十天
这里的统计页面不是一张表,而是十二张,一个问题一张 — 国家、页面、浏览器、小时、设备、操作系统、语言、地区、来源、机器人、屏幕分辨率,还有每日总数。在顶部选一个时间段,每个面板都按这个时间段作答。 只是并非所有面板都能按同一个时间段作答,因为它们背后的表往回追溯的深度并不一样。2026 年 8 月 26 日清点: 表行数最早的一天跨度 每日总数113…
六个已完成的功能,以及回到它们的路
2026 年 8 月 23 日,本站回应了 101 461 个请求。在全部这些请求里,站长令牌——也就是打开统计页面上设置面板的那个 ?t=——出现了整整零次。 不是「很少」,是零。令牌背后的任何一个端点也没有收到过 POST:时区、阈值、排除、密码、找回、邮件,一个都没有。那天仅有的两类 POST,一类打向上一代服务留下的一个失效鼠标轨迹脚本,一类打向写入 AI…
从 Stats4U 2 留下来的三个字段
这里的计数器主表有 166 436 行,还有若干看起来很要紧的字段。其中三个是 lastdomain、firstdomain 和 userdomain。它们里面装着数据: lastdomain在 15 525 行里非空 firstdomain在 15 457 行里非空 userdomain在 2 982 行里非空 计数器行数:…
新的隐私政策、条款和数据处理协议
截至2026年8月19日,stats4u.net的法律文件从原本的一份变成了三份:一份重新撰写的隐私政策、一份服务条款,以及——新增的——一份依据GDPR第28条订立的数据处理协议(DPA)。 为什么需要单独的DPA…
关于页面上撤下了什么,以及为什么
旧的关于页面上有一份功能清单。重建这个页面时,把清单逐行对着软件读了一遍,有四条已经对不上了。其中一条已经对不上好几年。 它们已经撤下。这里写明它们是什么,因为默默删掉不如给出解释 — 也因为那个页面上的清单现在是对着代码核对的,而不是对着它自己的上一版。 屏幕分辨率…