Visible counting and why it matters
Modern web analytics almost exclusively operate in the background, silently recording interactions without providing any visual feedback to the visitor. This prevailing invisibility has…
The browser list says less than it seems
Statistical dashboards invariably display a neat list of accessing programs, categorizing traffic into distinct segments like Chrome, Firefox, or Safari. This orderly presentation often…
The country list is an estimate
Geographical tracking statistics often present user distribution categorized by country. However, determining a visitor's physical location based purely on network credentials involves…
How long a wrong sentence survives
On 14 August a sentence went onto the about page saying that we deliberately do not measure bounce rate or time on page, because both would need a session followed across page views, and…
An extra escape in eight diagrams
For a while, eight posts on this blog showed the seven characters — in the middle of a sentence, inside the diagrams. Not a dash. The literal text. It has since been repaired in every…
Where the database schema actually lives
Everything this service does is in version control. The code is, anyway. The database it runs on is 32 tables, and 15 of them have no definition anywhere in the repository — no CREATE…
Why our config file is mostly comments
The .htaccess on this server is 478 lines long. 98 of them are rules. 309 are comments. Three lines of explanation for every line that does something. That ratio was not planned; it is what…
How we check every translation
This blog has 64 posts in eleven languages: 704 rows and about 2.2 million characters. No post is missing in any language, which is a claim that only means something if something enforces…
Why we don't email our old users
The counter table on this service holds 4,148 e-mail addresses. They belong to counters created over the past twenty years, back when a counter came with an address field and people filled…
What the AI may and may not write
At the top of a public statistics page here there can be two or three sentences describing what the counter did this month. They are written by a language model. The model invents nothing,…
The toplist now has a link in the navigation
This site has a toplist: the busiest public counters, plus per-country and per-language sub-lists. It is built, it is translated into eleven languages, it has an opt-out, and it has been…
Not every table keeps thirty days
A statistics page here is not one table. It is twelve, one per question — countries, pages, browsers, hours, devices, operating systems, languages, regions, referrers, bots, screen…