An endpoint that answers with nothing
There is a path on this server that does nothing. A rewrite rule catches it and returns 204: no content, no body, no work. On 30 August it was called 1,000 times. What it used to be The…
An 870 MB file in a tmpfs, and the reboot that followed
On 28 August at 19:35 I unpacked a day of access log into /tmp so that two days could be read in one pass. At 19:44 the machine rebooted. The property that was not checked On this machine…
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…
The tidy-up that would have made 180 addresses vanish
Two days in August carry thirteen and seven posts. Every other day of the month carries three. Evening it out looks like a five-minute job, and it would have taken 180 working addresses…
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…
A bounce rate needs one bit, not a tracker
Until 28 August this site did not show a bounce rate, and the about page said that was deliberate: it would need a session followed across several page views, and that would need a consent…
The label check was measuring points, not pixels
A check written on 27 August reported 196 diagram labels as too wide for the picture they sit in. Working through them took a day. 103 of the 196 turned out to be an artefact of the check…
Six generations of counter address, all still answered
The address we document for a counter is /c/<number>-<design>.png. On 30 August it was asked for 156 times. The address from 2006 — /index.php?action=pic&s4uid=… — was asked for 80,499…
Twelve URLs for one article
Every post on this blog lives at twelve addresses. Eleven carry a language prefix — /en/blog/…, /de/blog/… and nine more — and the twelfth has no prefix at all. That one reads the browser's…
What deleting a counter actually touches
Deleting a counter here empties 33 tables. Yesterday it emptied 25. The eight it missed were all created the day before, between 11:10 in the morning and 15:10 in the afternoon. How…
The backup was restored end to end
This server has backed itself up every night since 11 August. The log has 163 lines in it. The word "restore" appears in none of them, because every line is about writing. Today the reading…
The check that is always true
There are 23 UPDATE statements in this service. Exactly one of them checks whether it changed anything. That check is: 'success' => $n->rowCount() >= 0 rowCount() returns 0 when no row…