Skip to content

Writing

Search writing

6 articles

Latest in view

I Have 48 Readers, Not 4,958: Counting Real People From a Server Log

Aug 27, 2026 · 11 min read

Six days of my own access log said 4,958 pageviews from 529 visitors. Verified against asset loads and request cadence, it was 48 from 21 addresses. Here is the full method, the jq, the three ways the easy count lies, and the two bugs I found in my own classifier.

Twelve App Updates Rejected at Once Under Guideline 4.3(a)

Aug 23, 2026 · 5 min read

Apple rejected every pending version in one batch with the same spam template, named no app and no specific defect, and left all twelve live apps on the store. Here is what I measured before replying once.

My Tests Never Made a Receipt With No Deadline

Jul 13, 2026 · 3 min read

ReceiptCrate marked a saved receipt as Expired because both deadline fields were empty. The tests stayed green because none of them had ever built that valid case.

I Adapted Nine Workflows From Matt Pocock's Skills Repo

Jul 11, 2026 · 3 min read

Matt Pocock's repo gave me nine useful workflows. I rewrote them around my own rules, pinned the pack to the commit I reviewed, and added checks for drift.

The First Thing My New Linter Flagged Was My Own Live App

Jul 10, 2026 · 3 min read

Before publishing screenproof, I ran it on screenshots from apps I had already shipped. One folder came back with 16 findings: eight accepted PNGs with alpha channels, plus eight HTML files I had left beside them.

The npm Package I Was About to Ship Could Not Run Under npx

Jul 8, 2026 · 3 min read

A clean install of metaproof's packed tarball failed before publication because Node refuses to strip TypeScript types under node_modules. I compiled the package before publishing 0.1.0.