
Using JSON in Application Design Without Making a Mess
A tested guide to where JSON belongs in an application: columns, API shapes, settings, events, drift and patches, with measured costs in PostgreSQL.
Schemas that age well: keys, normalization, constraints and the shortcuts you will regret in a year.

A tested guide to where JSON belongs in an application: columns, API shapes, settings, events, drift and patches, with measured costs in PostgreSQL.

Which schema changes break old producers and old consumers: a tested compatibility matrix, open versus closed objects, version numbers and a CI check.

Draft a JSON Schema from sample documents with genson, see what it infers and what it misses, and turn the draft into a contract with DuckDB as a cross-check.

Reuse schema pieces with $ref and $defs: local pointers, references between files by $id, recursive trees, and resolver and draft traps in Python and Node.

Where Python and Node disagree on JSON Schema formats and patterns: email, uri, hostname, digits, trailing newlines, plus exact enum and const behavior.

Validate arrays of objects, tuples and deep nesting with JSON Schema: items, prefixItems, contains, uniqueItems and error paths, tested in Python.

How required, null, empty strings and defaults differ in JSON Schema, with test results for dependentRequired and if-then rules for conditional fields.

Build a JSON Schema from a user profile document one keyword at a time, run it in Python after each step, and catch typos that a validator ignores silently.

A working guide to JSON Schema: write a schema, run it in Python and Node, handle formats, refs and versions, and check JSON stored in a database.

A decision guide for XML versus JSON, YAML, CSV and Protocol Buffers, with measured sizes and parse times, six scenarios and a migration path.

Let partners add their own data to your XML format safely by giving each extension its own namespace, with a reader that ignores what it does not own.

Text and elements side by side look natural in documents and break data models. How ElementTree and lxml expose text and tail, and what to do instead.
We send one email when a new article is published. No spam.