Text Tools

Words, precision
and power.

The details behind text processing, encoding, and document formats.

✦ 108 Articles ✦ Updated Weekly ✦ Free to Read
✦ AI

✦ AI-powered — understands natural language

Find & Replace Sep 11, 2026 Latest ✦

Word Boundaries and Lookarounds: Precise Find & Replace

Replacing "id" also hits valid, hidden and width. Word boundaries, lookarounds and lazy quantifiers are the three patterns that make find-and-replace precise.

Read article
Morse Code Translator Jul 17, 2026

Why a Single Timing Error Can Corrupt an Entire Morse Message — and How Operators and Algorithms Recover

Morse code encodes information entirely in time ratios — and a single timing error can corrupt every character from that point forward because there are no explicit character boundaries, only inferred ones from timing. Here's how experienced operators resynchronise using context, prosign patterns, and message structure; how automated decoders use Hidden Markov Models and Viterbi algorithms; and why CW Morse can communicate at -10 dB SNR where voice needs +10 dB.

Lorem Ipsum Generator Jul 15, 2026

Why Lorem Ipsum Leaks Into Production — Placeholder Text in Design Systems, Empty States, and API Docs

Lorem Ipsum serves different functions in design mockups vs component library documentation — and confusing them produces staging environments and production pages with Latin placeholder text that leaks through QA. Here's why CSS placeholder (form input hint text) and design placeholder text are completely different things, why empty states designed with Lorem Ipsum data are never properly designed for the zero-data case, and why API documentation should use example.com email addresses not Lorem Ipsum values.

Character Frequency Jul 3, 2026

How Character Frequency Reveals Who Wrote a Text — Stylometry, Forensic Linguistics, and What It Detects in AI Writing

Stylometry identifies authorship from writing statistics — function words (the, in, upon, of) are largely unconscious style choices that persist across topics, making them better authorship signals than content words. Here's the Federalist Papers attribution case, character n-grams for below-word-level fingerprinting, what character frequency reveals about AI-generated text (more even vocabulary distribution, different punctuation patterns), and how byte frequency identifies text encoding.

Case Converter Jul 3, 2026

camelCase vs snake_case Isn't a Style Choice in APIs — It's a Contract, and Changing It Breaks Your Consumers

camelCase in JSON APIs is a contract, not a preference — switching to snake_case between API versions is a breaking change even if field semantics are identical. Here's how case style encodes mutability (SCREAMING_SNAKE_CASE signals constant), why kebab-case is limited to CSS/HTML/URLs (the hyphen is a subtraction operator in real languages), and the one-boundary transformation pattern that keeps database snake_case, API camelCase, and frontend TypeScript aligned without chaos.

Whitespace Cleaner Jun 29, 2026

AI-Generated Content Has a Whitespace Fingerprint — Why Normalisation Matters Before Publishing or Processing

AI-generated content carries whitespace patterns — double-line-spacing from training data, inconsistent bullet markers, occasional zero-width Unicode characters — that cause rendering issues when pasted into CMSs. Here's how to normalise whitespace before LLM input (reducing tokens and improving output), why whitespace sensitivity in text diff changes what differences are shown, and the specific Word document whitespace artifacts (non-breaking hyphens, soft hyphens, figure spaces) that appear on export.

Word & Character Counter Jun 29, 2026

The "238 wpm" Average Reading Speed Describes No One Precisely — What Reading Time Estimates Actually Mean

The 238 wpm reading speed used in "8 minute read" estimates comes from a 2019 meta-analysis of college students reading non-fiction prose — it doesn't apply to technical documentation (75-150 wpm), fiction (300-400 wpm), or scanning (700+ wpm). Here's the speed-comprehension trade-off that makes speed reading programs ineffective, how Medium adjusts reading time for images, and why word count reading time estimates are calibrated for English and overestimate reading speed for German while underestimating it for Chinese characters.

Text Truncator Jun 28, 2026

CSS text-overflow: ellipsis Hides Text — It Doesn't Remove It: When to Truncate at Display vs Data Layer

CSS text-overflow: ellipsis hides overflowing text but leaves the full content in the DOM — search engines read it, screen readers may announce it, and selecting the text copies the full string. Server-side truncation actually shortens the content before it reaches the client. Here's when each is appropriate, multi-line -webkit-line-clamp, the semantically superior details/summary alternative, and why meta descriptions should be written for readability not display-limit truncation.

Text Reverser Jun 28, 2026

When Text Reversal Is a Real Algorithm Tool — Log Analysis, Palindromes, and Why Python's [::-1] Isn't Always Safe

Python's [::-1] reverses code points, not grapheme clusters — reversing "café" with a combining accent produces an accent attached to the wrong character. Here's text reversal beyond visual effects: stack-based reversal in algorithms, line reversal with the Unix tac command for log analysis (most recent first), correct Unicode-aware palindrome detection, and why word-order reversal is used for RTL localization testing before real Arabic/Hebrew text is available.

Text Diff Jun 28, 2026

Why Git Merge Conflicts Occur Exactly Where They Do — Three-Way Merge, diff3, and Semantic Conflicts

Three-way merge — Git's algorithm for combining two branches — uses a third input (the common ancestor) to determine who changed what, enabling automatic combination when edits don't overlap. Here's why merge conflicts occur exactly where they do (both sides changed the same region), the diff3 conflict format that shows the base alongside ours/theirs, why "no merge conflicts" doesn't mean the code is correct (semantic conflicts), and why "ours" and "theirs" flip meaning between git merge and git rebase.

Find & Replace Jun 27, 2026

Why sed's s/old/new/g Fails With File Paths — Delimiters, Capture Groups, and the GNU vs BSD sed Difference

sed's `s/old/new/g` fails when patterns contain forward slashes (like file paths) — but any character can be the delimiter: `s|/usr/local|/usr/share|g` works identically. Here's the complete sed substitution syntax including & for matched content and \1 capture groups, the -i in-place editing difference between GNU sed (Linux) and BSD sed (macOS), and why grep-first-then-sed is the workflow that prevents data loss.

String Repeater Jun 26, 2026

Why Testing With Repeated Strings Reveals the Limits Your Code Doesn't Know It Has

String repetition in infrastructure contexts hits non-obvious limits: HTML maxlength vs database VARCHAR mismatches, DNS TXT records' 255-byte string limit requiring splits, HTTP header size limits enforced by the web server not the application, and template engine escaping that expands < to &lt; — multiplying the size 4×. Here's the specific system limits worth testing at (255, 256, 4096, 65535 bytes) and the legitimate production uses for padding and progress bars.

Text to Slug Jun 26, 2026

Slug Design Beyond Single Pages — How Hierarchy, Tags, Authors, and Languages Shape Your URL Structure

Flat vs nested slug structures, author page cardinality problems, tag proliferation diluting content quality signals, and when CMS-generated slugs from titles produce wrong results for numbers and acronyms. Here's the slug architecture decisions that affect content series, taxonomies, and international content, plus why the language identifier belongs in the path prefix rather than embedded in the slug itself.