Developer Guides

Developer Tools & Formats Explained

Modern development involves constant context-switching between configuration formats, encoding schemes, and data interchange formats. YAML for CI/CD pipelines, TOML for Rust and Python projects, JSON everywhere else. Base64 embedded in JWTs, API payloads, and data URIs. Understanding the differences — not just how to use them but why they exist — makes debugging faster and architectural decisions clearer.

JSON is the universal data interchange format: simple, strict, and supported everywhere. Its strictness (no comments, no trailing commas) is a feature for data exchange and a frustration for configuration files. YAML trades that strictness for readability — comments, multiline strings, and indentation-based structure — at the cost of a significantly more complex spec. The infamous "Norway problem" (where the country code "NO" was parsed as boolean false in YAML 1.1) is a real-world example of that complexity creating bugs. TOML is the more principled alternative for human-authored config: clear semantics, no whitespace traps, and a spec that maps intuitively to a key-value hash table.

Base64 appears in web development constantly — data URIs, JWT tokens, email attachments, HTTP Basic Authentication headers — but is often used without a clear understanding of what it actually does. It's an encoding scheme, not encryption. It converts binary data into printable ASCII characters to make it transmittable through text-based systems. Anyone can decode it instantly. The 33% size overhead it adds matters at scale: a 10 MB file encoded as Base64 becomes 13.7 MB, which is why multipart/form-data or direct binary transfer are better for large file uploads.

The developer tools on this site are built for the tasks that come up constantly in development: validating and pretty-printing JSON, generating secure passwords, creating QR codes for testing, and inspecting colour values for UI work. All tools run in the browser with no server round-trip for data — your input stays on your machine.

Developer Guides & Tutorials

Free Developer Tools