Data Formats and Tools
Over time, I have built and published a small number of focused data formats, utilities, and services intended to make structured information easier to describe, reason about, and exchange. These projects are not products and are not actively marketed. They exist because certain recurring problems around data clarity, validation, and communication tend to remain unsolved or overcomplicated.
This page provides context for that work.
A shared perspective
Although these projects differ in form, they are built around a consistent set of assumptions:
- Data should be describable independently of the software that consumes it
- Structure and meaning should be explicit rather than implied
- Formats should be understandable by humans as well as machines
- Imperfect, legacy, or constrained environments are the norm, not the edge case
- Tooling should reduce ambiguity, not introduce it
These assumptions come directly from long-term work with integration systems, flat files, APIs, and operational data pipelines.
Data description as a first-class concern
Two projects in this group address data structure and meaning at different layers, without being coupled to one another.
-
Concise Logically Organized Data (CLOD)
A human-readable, machine-processable data description format designed to represent hierarchical datasets directly, without embedding assumptions about storage, transport, or application behavior. -
Text File Schema
A file for describing the structure, data types, and meaning of existing plain-text flat files (fixed-width, delimited, or tagged), without modifying the files themselves.
CLOD focuses on how data can be represented.
Text File Schema focuses on how already-existing text files can be understood, validated, and communicated.
They are separate solutions to different problems, aligned by a shared emphasis on explicit structure and long-term clarity rather than by direct dependency.
Making structure visible
Some problems are not about inventing new formats, but about helping people understand existing ones.
- Railroad Diagram Generator
A visual tool for expressing formal grammars and processes as railroad diagrams, making structure and flow visible without tying the representation to a specific programming language or implementation.
The emphasis here is comprehension and shared understanding, not code generation.
Lightweight services for learning and integration
Several projects exist to provide simple, predictable data services that can be used for learning, testing, or integration without the overhead or ambiguity of full production systems.
-
Toolbox Resources
A collection of intentionally simple web resources designed to support training, experimentation, and comparison across data formats and API styles. -
Weather API
A programmable HTTP service that retrieves and formats weather data, allowing consumers to request only the information they need in a variety of formats.
These services are designed to be easy to reason about, easy to inspect, and forgiving of mistakes.
Why these live together
Taken together, these projects reflect a recurring interest in reducing friction between systems and people. They are attempts to make structure explicit, behavior predictable, and data exchange less fragile.
They also reflect a preference for small, focused tools that can be understood end-to-end, rather than large platforms that require abstraction layers to explain their own complexity.
Individual projects are documented on their own sites. This page exists to explain the common thread that connects them.