TORSDAG
2026-07-30

Too many projects, too many ideas, too few hours — one learning a day anyway

My coding-activity metric was measuring my data generators

Every project page here has a CODE block — weekly churn bars, all-time lines — built from pure git history, no API. The wine app showed 3.26M lines of churn. Flattering, and wrong.

Almost none of it was code. Two committed copies of a wine_catalog.json, a localization bundle, and a scraper’s .jsonl cache with its .bak snapshots — generated artifacts, re-emitted on every run. My noise filter only excluded the obvious: lockfiles, dist, node_modules.

I widened it to skip generated-data buckets too — data/, output/, fixtures, .cache, Resources, plus .jsonl/.xcstrings and .bak backups. The wine app dropped to 580k churn, down 82%. Commit counts didn’t move; only the line inflation did.

A metric that counts bytes will faithfully measure whichever process emits the most bytes. Usually that’s not you — it’s your generators. Exclude them, or you’re charting your tooling.