Words, precision
and power.
The details behind text processing, encoding, and document formats.
✦ AI-powered — understands natural language
Word Boundaries and Lookarounds: Precise Find & Replace
Unicode Case Conversion Challenges: The Turkish I Problem, German ß, and Locale-Aware APIs
JavaScript's toUpperCase() returns the wrong character for Turkish 'i', and uppercasing German ß changes the string length from 6 to 7 characters. Here's the Unicode case conversion edge cases that cause real bugs, locale-aware API alternatives in JavaScript and Python, and why title case rules differ across languages.
International URL Slugs: Transliteration vs Native Characters for Non-Latin Scripts
Chinese, Arabic, and Cyrillic characters in URLs are technically valid and browsers display them readably — but transliteration vs native-language slugs involves real SEO and UX trade-offs. Here's how percent-encoding works, transliteration libraries for different languages, and how major frameworks handle non-ASCII slugs.
Sorting Algorithms Explained: Why the Choice Matters at Scale
Bubble sort handles 1,000 items fine but takes hours on 1 million. Quicksort handles both in milliseconds. Here's how common sorting algorithms actually work, why O(n log n) is the comparison sort lower bound, and what TimSort is doing inside Python and Java.
Database Deduplication at Scale: Fuzzy Matching, Master Data Management, and Building a Deduplication Pipeline
Duplicate database records cost businesses in wasted marketing spend and GDPR violations — and simple string matching misses "St" vs "Street" or "Smyth" vs "Smith." Here's the deduplication spectrum from exact to fuzzy matching, master data management golden records, and building a Python deduplication pipeline.
ROT13, Internet Culture, and Why Obfuscation Is Not Encryption
ROT13 is useless for security but was extensively used in Usenet for spoilers — and this illustrates the difference between obfuscation (hiding in plain sight) and encryption (computationally secure). Here's ROT13's internet history, why frequency analysis defeats simple ciphers, and what makes modern encryption actually work.
Mirror Writing, Palindromes, and Da Vinci: The Surprising History of Reversed Text
Leonardo da Vinci filled his notebooks with mirror script — and nobody fully agrees why. Here's the history of mirror writing, palindromes and semordnilaps, how palindrome detection works in code, and why text reversal has surprising practical applications.
Localised Placeholder Text for International Design: When Lorem Ipsum Fails for RTL, CJK, and Other Scripts
Lorem ipsum is Latin-script only — using it for Arabic, Hebrew, or CJK designs produces completely misleading mockups. Here's why RTL text direction, CJK character width, German compound words, and bidirectional text each require different placeholder approaches, plus pseudolocalisation for layout testing.
From Caesar Cipher to AES: The History of Why Substitution Ciphers Fail
ROT13 is a specific case of the Caesar cipher, which was broken by frequency analysis described in 800 AD. Here's the history from Caesar to Vigenère to Enigma to AES — and what each cipher's failure revealed about what real security requires.
URL Design: Why Your Slug Is a Commitment — and How to Get It Right
A URL published today may need to work in 2034. Here's how Wikipedia, the BBC, and GOV.UK approach URL permanence and readability, the SEO costs of changing slugs, and the slug design principles that produce URLs worth keeping.
Regex for Data Cleaning: Practical Patterns for Messy Real-World Data
Real-world data — phone numbers, dates, emails, log entries, product codes — arrives inconsistently. Here are the regex patterns for the most common data cleaning tasks: phone normalisation, date standardisation, HTML stripping, whitespace cleaning, and log redaction.
Fuzzy Deduplication and Record Linkage: When Exact Matching Isn't Enough
Exact deduplication handles perfect matches — but real data has name variations, address inconsistencies, and multi-source formatting differences. Here's fuzzy matching, the record linkage workflow, edit distance, Soundex, and SQL and Python approaches for production-quality deduplication.
Content Truncation Rules: How Every Platform Cuts Your Text — and How to Write for It
Every platform truncates differently — email subject lines at 50 characters, push notifications at 80, meta descriptions at 155. Here's the truncation rules for major platforms, how to implement word-boundary truncation in code, and using truncation as a deliberate writing technique.