You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stats: totals at the top, all-time visitors, and 34 duplicated rows removed
Three things, asked for together.
TOTALS AT THE TOP. The download numbers lived halfway down the page, under
eight tables. They are the figures you look at first, so they now sit in a
second row of tiles right under the visits: total downloads, downloads in the
last 30 days, downloads started from the site, and how many people started
them. The computation is unchanged — only where it happens moved, because in
PHP a variable does not exist until it has been filled and the tiles come
first. The SourceForge panel further down no longer repeats the two figures
that went up; it keeps the one that did not, how many of those downloads are
actually ISO images.
ALL-TIME VISITORS, said honestly. 3,275 since 15/06/2026 — and the page now
explains what that means. The visitor id contains the DAY, which is how we stay
cookieless and cannot trace anyone back, so somebody who returns tomorrow
counts as somebody new. It is the sum of daily visitors, which is the most that
can be said without tracking people; calling it "different people" would be
false. Each total also carries its OWN start date rather than a shared one:
the site has counted visits since 15/06, but SourceForge was counting downloads
from 06/06, before the site existed.
DUPLICATES. There were 34: 29 visits and 5 download clicks written twice with
the same timestamp, path and visitor. Not a person reloading — that lands in a
different second — the same event recorded twice. They were 0.4%, small but
they inflate every count. Removed once by a migration that runs on the first
database open, and stopped from returning by a unique index on (ts, path, vis)
with INSERT OR IGNORE on both writers.
⚠️ What I did NOT delete matters more. There were also 299 pairs of hits less
than two seconds apart, which looked like the same bug. They were not: they
touched 1.7% of visitor-days and 76% of them came from FIVE visitors churning
through pages. That is real traffic, or at worst a crawler we have not
recognised, and deleting it would have pushed the numbers down for no reason.
A duplicate is the same event written twice, not the same person appearing
twice.
Verified by running the migration against a COPY of the live database — 8143 to
8114 rows, both indexes created, a duplicate insert rejected and a genuine
visit one second later still accepted — then by rendering the whole page
against that copy in a throwaway PHP instance.
That render is what caught the one real bug. page_head('SkillFishOS ·
Statistiche') appears TWICE in the file, once for the login screen and once for
the dashboard, and I had inserted the new block before the first. It landed in
the login screen, where the database is not open yet, and the page answered 500
to anyone trying to sign in. php -l reported no syntax errors. Only running it
found it.
. "<strong>Download completati</strong>: i numeri veri di SourceForge, compreso chi ci arriva senza passare dal sito. "
327
+
. "<strong>Avviati dal sito</strong>: i clic sui nostri pulsanti — sempre di meno, perché chi cambia idea a metà non conta. "
328
+
. "<strong>Visitatori totali</strong>: la somma dei visitatori giornalieri. Restiamo senza cookie, quindi chi torna un altro giorno non lo possiamo riconoscere e conta due volte."
329
+
. '</div>';
190
330
191
331
// chart
192
332
echo'<div class="panel"><h3>Andamento ultimi 30 giorni</h3>';
0 commit comments