TextKit Blog

Notes on text, data & the tools around them

Each article sits next to one of the tools: read the explanation here, then run your own data through the tool it belongs to. A new article appears every day.

Illustration: JSON vs CSV: Which Format Should You Actually Use? 7 November 2026 · 5 min read

JSON vs CSV: Which Format Should You Actually Use?

One nests, the other fits in a spreadsheet. A practical decision guide based on structure, audience and what breaks when you pick the wrong one.

Illustration: UUID v4 Collisions: A Disaster That Effectively Never Happens 6 November 2026 · 6 min read

UUID v4 Collisions: A Disaster That Effectively Never Happens

122 random bits is a bigger number than intuition suggests. The birthday-paradox maths behind UUID collisions, and the one implementation mistake that actually causes duplicates.

Illustration: Unix Timestamps Explained: Seconds, Milliseconds and the Epoch 5 November 2026 · 6 min read

Unix Timestamps Explained: Seconds, Milliseconds and the Epoch

Why computers count time from 1 January 1970, how to tell a seconds timestamp from a milliseconds one at a glance, and the bugs that live in the gap between them.

Illustration: Base64 Is Not Encryption (and Why People Keep Thinking It Is) 4 November 2026 · 5 min read

Base64 Is Not Encryption (and Why People Keep Thinking It Is)

It looks scrambled, it ends in equals signs, and it offers exactly zero secrecy. What Base64 is actually for, where it legitimately appears, and what to use when you really need protection.

Illustration: What Actually Makes a Password Strong 3 November 2026 · 6 min read

What Actually Makes a Password Strong

Not symbol soup. Strength is entropy, length and uniqueness — and the reason a password you invented is weaker than it feels, explained with the maths attackers use.

Illustration: Valid JSON, Every Time: The Working Checklist 2 November 2026 · 6 min read

Valid JSON, Every Time: The Working Checklist

Seven strict rules catch almost every invalid-JSON bug — plus a debugging routine that starts from the error position and bisects the payload down to the broken character.