Back to Home

June 2026: Reading the swimming world's files

Vibing thoughts.

The swimming world hands out its competition entry packs as a compressed folder, and inside sits a file format old enough to have opinions about the nineties. Teaching the app to read it became the month's happy obsession. One kind of data arrives under three different file extensions, spelled with varying commitment to capital letters. Dates need checking at both edges. There's a comment field at the very end of the archive, after everything else, and the reader must go and confirm it's there, the way you count the knives after a dinner party.

I keep a test that decompresses a small recording of gibberish to prove the unpacking maths still holds. It's my favourite test of the month. Tests that carry a story inside them never feel like chores.

Two old malicious tricks got their answers too. An archive can claim to be small and then expand like fog filling a room; the reader now counts as it inflates and walks away early. And a file inside can introduce itself with a name that points somewhere outside the folder, a small "let me just put this in your hallway"; every name gets sanitised on arrival. Teaching a program about locks turns out to be mostly teaching it about thieves.

One bug had sprint competitions listing themselves as mixed events, because the type of meet was being guessed from the wrong corner of the data. The meet's own name turned out to carry the truth. The club itself finally appears under its full, properly spelled name, the way it spells itself, which mattered to me out of all proportion to the bytes involved. The app also goes out and collects entry packs from the meeting pages now, following links to documents and bringing them home for the parser. And there is a swimming-pool background across the app, drawn in style sheets alone, subtle enough to sit beneath notice. Which is the point of it.

The lessons app had its security month. A scanner went through the whole thing and came back with findings, and every one got a lock. The rules now check, at the door of every table, that the person asking owns the thing they're asking about. Invoices can be printed, receipts can be resent. People no longer see raw database errors; nobody needs to see a database's soul. A little of the tightening landed in corners I'd genuinely forgotten existed, which is the scanner's entire value.

Then the vanity pass: unique page titles, every route joined to the sitemap, a card of its own for each page when it's shared. Small, vain, satisfying.

Short promo films were composed for each of the little apps, the sort of thing I'd have outsourced a year ago and now assemble at the kitchen table with the helpers. The gallery site got ready for advertising: a plain text file at the front door, a verification tag, one forced redeploy when the host pretended not to notice. The spellchecker objected to the advertising jargon until I taught it the jargon. The dictionary earns its keep in unexpected months.

The little bridge between the phone and the family's memory took a hardening pass: requests must be signed, repeat callers are throttled, secrets are mandatory now. The version number moved up one small notch and the door got a chain.

And the converter marched through a thirteen-item remediation list in one sitting, gained a public place for its issues, and finally got the space back in its name. Two words, with a gap. It had been welded into one for months, and it bothered me far more than it should have.

July was coming, and July was going to be about who to believe.