Data Formats & Wire Protocols
An architectural deep dive into serialization protocols, wire encodings, columnar engines, multidimensional arrays, 3D graphics, AI weights, and media formats.
Essential Data Serialization & Wire Format Primitives
Master the fundamental computer science mechanisms that govern how modern software systems serialize, compress, and query information.
Row-Store vs. Columnar
Row-oriented formats (CSV, JSON, Avro, SQLite) lay entire records contiguously. Great for write streams and single-record lookups. Columnar formats (Parquet, ORC) group all values of a column together, unlocking massive compression (Run-Length, Dictionary) and SIMD vectorized scans skipping unqueried columns.
Text vs. Binary Encoding
Text formats (JSON, CSV, YAML) are human-readable but suffer from string parsing overhead, floating-point rounding errors, and Base64 byte bloat. Binary formats (Protobuf, FlatBuffers, CBOR, Arrow) pack numbers directly into native CPU bytes or varints, yielding up to 10x smaller sizes and 50x faster deserialization.
Schema-First vs. Self-Describing
Schema-first systems (Protobuf, Avro, Cap'n Proto, ASN.1) enforce strict schemas (.proto, .avsc), transmitting field numbers instead of names for minimal payload size. Self-describing formats (JSON, MessagePack, BSON, HDF5) embed field keys directly with values, providing maximum agility at the cost of repetition.
Zero-Copy Memory Mapping
Modern high-performance formats (SafeTensors, GGUF, FlatBuffers, Arrow) format data in memory-aligned blocks matching CPU registers. Software can mmap() files directly from NVMe SSDs into RAM and read fields with zero allocation, zero copying, and zero parsing.
Serialization & Wire Protocol Taxonomy
Comprehensive structural comparison of memory alignments, storage layouts, performance profiles, and access models across modern computer systems.
| Paradigm Category | Primary Storage Model | Parsing Complexity | Zero-Copy mmap | Schema Enforcement | Ideal Scale Target | Exemplar Formats |
|---|---|---|---|---|---|---|
| Tabular & Delimited | Contiguous ASCII / UTF-8 Row lines | Low (String split) | No | Optional / Ad-hoc Header | Small to Medium Datasets | CSV, TSV, SQLite Single-File |
| Hierarchical Serialization | Recursive Nested Object Trees | Medium (Tokenizer & AST) | No | Self-Describing / JSON Schema | Web APIs, App State, Config | JSON, JSONL, YAML, TOML, XML |
| Binary RPC & Wire | Varint / Tagged Binary Framing | Very Low to Medium | Yes (FlatBuffers / Cap'n Proto) | Strict Compiled Schemas / IDL | Microservices, IoT, Kernel IPC | Protobuf, FlatBuffers, CBOR, BSON, Cap'n Proto, Avro |
| Columnar OLAP & Lakehouse | Column Chunks, Dictionary & Run-Length | High (SIMD Decompression) | Yes (Arrow / Feather) | Strict Embedded Metadata Schema | Petabyte Data Warehouses & Lakehouses | Parquet, ORC, Feather / Arrow, Apache Iceberg, Delta Lake |
| Scientific & Multidimensional | N-Dimensional Chunks & Tensors | Medium to High | Yes (Direct Chunk Seek) | Strong Typed Array Metashape | Genomics, Climate, HPC, Astrophysics | HDF5, NetCDF, Zarr, FITS, BAM / VCF |
| Geospatial & Navigation | WKB Binary Geometries / Cloud Tiling | Medium | Yes (COG / GeoParquet) | GeoJSON Spec / OGC Geopackage | Satellite Rasters, GIS Vectors, GPS | GeoJSON, GeoParquet, COG, GeoPackage, GPX / KML |
| 3D & Spatial Computing | Direct GPU Vertex Buffers & Scenegraphs | Medium (Direct GPU Buffer upload) | Yes (GLB / USDC Crate) | Strict Typed Accessors & PBR | WebGL, Vision Pro, Hollywood VFX | glTF / GLB, OpenUSD (USDA/USDC/USDZ) |
| AI & Machine Learning | Contiguous Tensor Buffers & Quantized Blocks | Ultra-Low (Direct mmap to GPU) | Yes (Pure Zero-Copy) | Explicit DType + Shape Key-Value | Foundation Models & Local Edge LLMs | SafeTensors, GGUF |
| Archive & Document Packaging | Sequential TAR Blocks / Central Directory ZIP | Low to Medium | Yes (ZIP tail seek) | POSIX Headers / OPF Manifest | Software Distribution, DOCX, APK, E-Books | TAR / ZIP / 7z, EPUB, PDF |
| Visual Media, Video & Clinical | DCT Frequencies, Wavelets, Interframe GOPs | Very High (Hardware Codec) | Stream Buffer | Container Atoms / Chunk Metadata | Web Streaming, Broadcast, Radiology | JPEG, PNG, WebP, AVIF, MP4, FLAC, DICOM |
CSV (Comma-Separated Values)
Comma-Separated Values (CSV) is the universal lingua franca of tabular datasets across computing. Dating back to punch cards and mainframe Fortran compilers before being standardized by RFC 4180, CSV stores rectangular tables where each record is a line break and each field is separated by a comma (or semicolon/tab in regional locales). Despite lacking intrinsic types, formal schema constraints, or unified quoting conventions, CSV's human readability and universal support across spreadsheets, dataframes, and databases make it the most exchanged tabular format in history.
Architectural Highlights
- › zero overhead overhead: clean plain text with minimum syntactic punctuation, accessible by standard unix utilities like awk, sed, and cut
- › universal interoperability: native out-of-the-box import/export in every sql engine, python pandas, r, excel, google sheets, and bi platform
- › streaming friendly: single-pass linear streamability allows parsing gigabyte files line-by-line with bounded memory usage
- › simplicity & fragility: lacks native types (strings vs numbers vs dates), nullable representations, or embedded schema metadata.
Superpowers
- Human-readable, trivially editable in any text editor
- Universal support across all programming languages, tools, and platforms
- Zero proprietary dependencies or binary decoding libraries required
Architectural Constraints
- No type system (numbers, booleans, dates all stringified, leading to silent precision loss)
- Quoting, delimiter collision, and multi-line field escaping can be brittle across dialects
- Large disk footprint without compression; no columnar projection (must read all columns)
Inspect Wire / Syntax Representation
id,product_name,category,price,description,is_active
101,"Studio Monitor 8\"","Audio",299.99,"High-precision nearfield
active bi-amp monitor",true
102,"USB-C Audio Hub","Hardware",89.50,"Supports 24-bit/192kHz audio",true
103,"Dynamic Mic, XLR","Audio",120.00,"Cardioid broadcast vocal mic",false
TSV (Tab-Separated Values)
Tab-Separated Values (TSV) uses horizontal tab characters (ASCII 0x09) as delimiters between fields. Heavily favored in bioinformatics, scientific computing, and Unix CLI pipelines, TSV avoids CSV's notorious comma-collision pitfalls in natural language text and geographic addresses, drastically reducing the need for quotes and escape characters.
Architectural Highlights
- › clean delimitation: commas and quotation marks occur frequently in textual prose, but tabs rarely do, making tsv parsing faster and less ambiguous
- › bioinformatics gold standard: foundational to genomic bed, gff, and sam formats across genomics pipelines
- › unix command-line native: works seamlessly with bash tools (cut -f, sort -t#39;\t', awk -f'\t')
- › strict tab preservation: accidental editor space conversion (tab-to-spaces) can corrupt file parsing.
Superpowers
- Rarely conflicts with text containing commas, numbers, or quotes
- Faster and cleaner parsing logic than CSV due to simpler escaping semantics
- Native compatibility with Unix command line tools without regex splits
Architectural Constraints
- Invisible whitespace delimiter makes manual editing prone to space vs tab errors
- Still lacks native data types and columnar projection
- Less universally assumed by non-technical business desktop tools than CSV
Inspect Wire / Syntax Representation
chrom chromStart chromEnd name score strand thickStart thickEnd
chr7 127471196 127472363 Pos1 0 + 127471196 127472363
chr7 127472363 127473530 Pos2 0 + 127472363 127473530
chr7 127473530 127474697 Pos3 0 + 127473530 127474697
JSON (JavaScript Object Notation)
JavaScript Object Notation (JSON) revolutionized modern web computing, supplanting cumbersome XML as the dominant format for REST APIs, configuration files, and NoSQL databases. Specified by Douglas Crockford in 2001, JSON defines six core data types: objects (key-value maps), arrays (ordered lists), strings, numbers (IEEE 754 float), booleans, and null. Its simplicity, human readability, and ubiquitous native language runtimes make it the definitive data serialization standard of the Internet.
Architectural Highlights
- › zero boilerplate syntax: clean curly braces, square brackets, and colons map 1:1 to hash maps and lists in virtually every language
- › universal web standard: supported natively in browser javascript (json.parse / json.stringify) and web frameworks
- › strict standard specification: rfc 8259 strictly requires utf-8 and double quotes, minimizing cross-runtime divergence
- › type limits: no native support for dates, integers vs floats distinction, nan/infinity, comments, or binary byte arrays.
Superpowers
- Intuitive, lightweight, and human-readable with universal programming language support
- Direct 1:1 conceptual mapping to in-memory dictionary and list structures
- Huge ecosystem: JSON Schema, jq, jsonpath, JSON-LD, OpenAPI
Architectural Constraints
- Inefficient for binary payloads (requires Base64 encoding with 33% bloat)
- No support for comments in standard RFC specification (solved by JSONC)
- Verbose repeated keys across large collections of homogenous records
Inspect Wire / Syntax Representation
{
"protocol": "HTTPS",
"version": 3,
"endpoints": [
{
"path": "/api/v1/metrics",
"rateLimit": 1000,
"authRequired": true,
"payload": {
"format": "json",
"compression": ["zstd", "br"]
}
}
],
"active": true
}
JSON Lines / Newline-Delimited JSON
JSON Lines (JSONL), or Newline-Delimited JSON (NDJSON), addresses the greatest limitation of standard JSON for big data: parsing massive arrays requires loading the entire file into memory before closing brackets can be matched. JSONL structures files such that each single line is a valid, independent JSON object separated by a newline (\n). This unlocks infinite streaming, parallel chunking, and append-only operations without file corruption.
Architectural Highlights
- › streamable & append-friendly: you can write new records to the end of a multi-terabyte file without opening or validating previous records
- › parallel processing & mapreduce: workers can seek to arbitrary byte offsets and scan to the nearest newline, chunking terabytes across cluster nodes
- › fault tolerant: a corrupted line in a log stream does not prevent parsing subsequent lines
- › ai & llm training format: the de-facto standard for storing billions of token prompts, completions, and datasets for pre-training large models.
Superpowers
- O(1) memory streaming parsing line-by-line
- Append-only write efficiency without rewrites
- Splittable by standard Unix CLI tools (split, head, tail, grep)
Architectural Constraints
- Values cannot contain literal unescaped newlines within their string bodies
- Slightly higher storage footprint than binary formats like Avro or Parquet
- Not formatted for pleasant multi-line human reading without formatting tools
Inspect Wire / Syntax Representation
{"id": "conv-001", "role": "system", "content": "You are a database optimizer."}
{"id": "conv-002", "role": "user", "content": "Explain LSM compaction strategies."}
{"id": "conv-003", "role": "assistant", "content": "Size-tiered vs leveled compaction optimize write vs read amplification."}
XML (Extensible Markup Language)
Extensible Markup Language (XML) is a W3C standard designed for transmitting structured data and document formatting with rigorous semantic metadata. With support for tag attributes, namespaces (avoiding name collisions), comments, CDATA blocks, and robust schema validation via XSD (XML Schema Definition), XML powered enterprise computing, SOAP web services, SVG graphics, Office documents (DOCX, XLSX), and publishing pipelines for decades.
Architectural Highlights
- › enterprise rigor & xsd validation: unmatched schema formalization with data types, regex patterns, enumerations, and structural constraints
- › namespaces & composable vocabularies: multiple schemas can coexist within a single document without tag collision
- › rich query & transformation tooling: supported by xpath (querying), xquery (data manipulation), and xslt (declarative tree transformations)
- › syntax verbosity: closing tags, namespace declarations, and verbose angle brackets make payloads significantly larger than json.
Superpowers
- Deep semantic precision with attribute + element distinction and namespaces
- Exceptional schema validation capabilities via formal XSD
- Mature ecosystem of transformations (XSLT) and declarative querying (XPath)
Architectural Constraints
- Extreme verbosity and token bloat compared to JSON and YAML
- Susceptible to security vulnerabilities if parsers are unhardened (XXE attacks, Billion Laughs)
- High parsing complexity and CPU overhead
Inspect Wire / Syntax Representation
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>TX-2026-9042</MsgId>
<CreDtTm>2026-10-10T12:00:00Z</CreDtTm>
<NbOfTxs>1</NbOfTxs>
</GrpHdr>
<PmtInf>
<Amt Ccy="USD">4500.00</Amt>
<Cdtr><Nm>High-Performance Corp</Nm></Cdtr>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
YAML (YAML Ain't Markup Language)
YAML is a human-friendly data serialization language meticulously designed for readability and maintainability. Using Python-style whitespace indentation instead of brackets and braces, YAML is the undisputed standard for cloud configuration files, CI/CD pipelines (GitHub Actions, GitLab CI), container orchestration (Kubernetes manifests), and Docker Compose. YAML 1.2 is a strict superset of JSON, meaning any valid JSON document is also valid YAML.
Architectural Highlights
- › human ergonomics: clean syntax free of quotation noise, curly braces, and trailing comma bugs
- › native comments: full support for inline comments (#), making it ideal for documentation-rich configuration files
- › advanced anchors & aliases: dry (don't repeat yourself) data reuse using pointers (&anchor) and references (*alias)
- › whitespace sensitivity: tab vs space indentation errors and implicit type conversions (the infamous norway 'no' country code parsed as false) can surprise engineers.
Superpowers
- Supreme human readability and native comment support
- Clean multi-line string handling (| and > literal blocks)
- Supports anchors, aliases, and document concatenation in a single stream (---)
Architectural Constraints
- Indentation mistakes can silently alter data hierarchy
- Complex specification with edge cases in type coercion (Norway problem)
- Significantly slower parsing speed compared to JSON
Inspect Wire / Syntax Representation
apiVersion: apps/v1
kind: Deployment
metadata:
name: storage-gateway
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: telemetry/storage:v2.4
resources: &standard_resources
limits:
cpu: "2"
memory: 4Gi
requests:
cpu: "500m"
memory: 1Gi
TOML (Tom's Obvious, Minimal Language)
Created by GitHub co-founder Tom Preston-Werner, TOML aims to be a minimal configuration file format that is easy to read due to obvious semantics. Designed to map unambiguously to a hash table, TOML solves the human friction of YAML's significant indentation bugs and JSON's lack of comments. It is the dominant configuration standard in the Rust (Cargo.toml), Python (pyproject.toml), and Go ecosystems.
Architectural Highlights
- › explicit section headers: organizes data into clear ini-style bracketed tables ([server.database]) without indentation ambiguity
- › strict unambiguous types: native support for iso 8601 datetimes, floats, integers, booleans, arrays, and inline tables
- › no syntax surprises: whitespace is insignificant, comments are supported (#), and strings have unambiguous escaping rules
- › rust & python standard: adopted by pep 518/621 (pyproject.toml) and rust cargo as the premier modern packaging config format.
Superpowers
- Extremely intuitive with zero whitespace indentation pitfalls
- Native first-class datetime data types
- Supports comments and strict type safety
Architectural Constraints
- Deeply nested hierarchical structures can become awkward with repetitive table headers
- Not designed for massive data transport or streaming arrays
- Smaller ecosystem outside developer tool configurations
Inspect Wire / Syntax Representation
[package]
name = "vector-core"
version = "0.4.2"
edition = "2024"
authors = ["Data Infrastructure Team <[email protected]>"]
[dependencies]
tokio = { version = "1.38", features = ["full"] }
arrow = "52.0"
parquet = "52.0"
[database.connection]
host = "10.0.0.12"
port = 5432
timeout_seconds = 30.5
ssl_required = true
Protobuf (Google Protocol Buffers)
Protocol Buffers (Protobuf) is Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. Developers write a schema in an Interface Definition Language (.proto), which a compiler (`protoc`) compiles into optimized native code across 15+ programming languages. Protobuf strips all field names from the binary payload, encoding fields as compact integer tags using variable-length zigzag integers (Varints). It is the backbone of gRPC, inter-microservice communication, and high-frequency systems across Google and enterprise architectures.
Architectural Highlights
- › tag-based binary encoding: field names are not transmitted over the wire; only integer field keys (e.g., tag 1, tag 2) are encoded, minimizing payload size
- › backward & forward compatibility: new fields can be added and deprecated without breaking legacy clients by managing tag numbers
- › code generation & zero parsing errors: strong compiler type-checks eliminate manual json deserialization and runtime type errors
- › not human-readable: binary wire format requires the original `.proto` schema file to decode or inspect.
Superpowers
- Massive reduction in payload size (often 3-10x smaller than JSON)
- Blazing fast serialization and deserialization speeds
- Rigorous contract enforcement and forward/backward compatibility
Architectural Constraints
- Requires compilation step via protoc before use
- Binary format cannot be directly inspected or edited with text editors
- Not suitable for ad-hoc, dynamic, or un-schematized data
Inspect Wire / Syntax Representation
syntax = "proto3";
package analytics.v1;
message TelemetryEvent {
string event_id = 1;
uint64 timestamp_ns = 2;
enum EventSeverity {
INFO = 0;
WARNING = 1;
CRITICAL = 2;
}
EventSeverity severity = 3;
map<string, string> metadata = 4;
bytes raw_payload = 5;
}
FlatBuffers (Zero-Copy Serialization)
Created by Google for performance-critical applications like game engines, Android graphics pipelines, and edge machine learning (TensorFlow Lite), FlatBuffers takes binary serialization to the extreme: zero-copy deserialization. Instead of allocating memory to unpack and parse bytes into language objects, FlatBuffers formats binary data on disk so that software can read fields directly out of raw memory or mmap() buffers via internal virtual table (vtable) offsets with zero allocation and zero parsing time.
Architectural Highlights
- › zero deserialization overhead: access data directly in memory buffers without allocating objects or copying bytes
- › memory-mapped file friendly: instant startup time—mmap a multi-gigabyte asset package and read fields immediately
- › strict memory alignment: fields are aligned to natural cpu machine word boundaries (2, 4, 8 bytes) for direct hardware reads
- › write complexity: constructing buffers requires forward-looking offset management, making writes slightly more involved than protobuf.
Superpowers
- True zero-copy reads: fastest data access possible in computing
- Minimal memory allocation footprint prevents garbage collection pauses
- Forward and backward schema evolution support
Architectural Constraints
- Buffer mutations and writes are more complex and rigid
- Slightly larger binary footprint than Protobuf due to internal alignment padding
- Strict schema compilation requirement
Inspect Wire / Syntax Representation
namespace Rendering;
enum Color:byte { Red = 0, Green, Blue }
table Vec3 {
x:float;
y:float;
z:float;
}
table Monster {
pos:Vec3;
mana:short = 150;
hp:short = 100;
name:string;
inventory:[ubyte];
color:Color = Blue;
}
root_type Monster;
MessagePack (Binary JSON)
MessagePack is an efficient binary serialization format that operates 'like JSON, but fast and small'. Unlike Protobuf and FlatBuffers, MessagePack does not require a prior schema file or compilation step; it is self-describing. By encoding JSON data structures into compact 1-byte headers (packing small integers into 1 byte and tagging short strings with minimum overhead), MessagePack provides a drop-in 2x to 5x performance and size improvement over JSON.
Architectural Highlights
- › no schema required: drop-in replacement for json; serialize any dynamic map or object on the fly
- › compact byte prefixes: integers from -32 to 127 are packed into a single byte; small maps and arrays use single-byte headers
- › native binary support: serializes raw binary byte buffers natively without requiring expensive base64 ascii encoding
- › extension types: allows defining custom serialization extensions (like timestamps or uuids).
Superpowers
- Zero schema compilation needed—dynamic and agile
- Drastically smaller and faster to serialize/deserialize than JSON
- Native byte array support eliminates Base64 bloat
Architectural Constraints
- Repeats key names in arrays of maps (unlike schema-first columnar formats)
- Cannot be directly inspected in a text editor without hex/decoder tools
- Does not offer zero-copy reads like FlatBuffers
Inspect Wire / Syntax Representation
// JSON (27 bytes):
{"compact":true,"schema":0}
// MessagePack Hex (18 bytes):
// 82 (fixmap 2 items)
// a7 63 6f 6d 70 61 63 74 (fixstr "compact")
// c3 (true)
// a6 73 63 68 65 6d 61 (fixstr "schema")
// 00 (fixint 0)
Apache Avro
Developed by Hadoop co-founder Doug Cutting, Apache Avro is the premier row-oriented binary serialization system for large-scale data streaming and distributed processing. Avro stores the complete JSON schema directly inside the file header of every container file, meaning files are completely self-describing while data records remain ultra-compact without repeating field names or types. It is the gold standard for Apache Kafka message streams and Kafka Schema Registry.
Architectural Highlights
- › schema embedded in header: data files contain the schema definition in the container header, ensuring files never lose their schema context
- › schema evolution & compatibility: superior support for schema drift (full, backward, forward) with default values, resolving discrepancies between reader and writer schemas
- › splittable sync markers: container files feature 16-byte sync markers between data blocks, allowing hadoop/spark to split files across parallel workers
- › kafka standard: the dominant serialization format in enterprise event streaming architectures.
Superpowers
- Self-contained container files with embedded JSON schema
- Industry-leading schema evolution rules for streaming data
- Splittable blocks enable massive parallel processing across clusters
Architectural Constraints
- Row-oriented: poor performance for analytical queries scanning a few columns across billions of rows
- Requires schema registry coordination for real-time Kafka streams
- Complex toolchain compared to plain text
Inspect Wire / Syntax Representation
{
"type": "record",
"name": "FinancialAuditRecord",
"namespace": "com.bank.audit",
"fields": [
{ "name": "tx_id", "type": "string" },
{ "name": "timestamp_epoch_ms", "type": "long" },
{ "name": "account_number", "type": "string" },
{ "name": "amount_cents", "type": "long" },
{ "name": "currency", "type": "string", "default": "USD" },
{ "name": "risk_score", "type": ["null", "float"], "default": null }
]
}
Apache Parquet (Columnar Storage)
Apache Parquet is the undisputed king of modern analytical data formats. Born from Google's seminal 2010 Dremel paper and open-sourced jointly by Twitter and Cloudera, Parquet organizes tabular data by columns rather than rows. Instead of storing entire records contiguously, Parquet stores all values of column A together, then column B. This enables massive compression ratios (dictionary encoding, run-length encoding), projection pushdown (only reading queried columns), and predicate pushdown (skipping entire row groups using min/max statistics in the file footer). It powers modern data lakes, DuckDB, ClickHouse, Snowflake, Databricks, and Apache Spark.
Architectural Highlights
- › columnar layout: queries like `select avg(price) from sales` only read the price column from disk, skipping 95% of i/o compared to csv
- › advanced encoding algorithms: uses dictionary encoding, run-length encoding (rle), and bit-packing to compress identical values into negligible bits
- › footer metadata & predicate pushdown: file footer contains row-group min/max statistics; queries with `where date > 2026` skip non-matching chunks without decompression
- › dremel nested data model: perfectly preserves complex nested record structures (lists, structs, maps) using definition and repetition levels.
Superpowers
- 10x to 100x query speedup over row-oriented formats for analytical workloads
- Exceptional compression ratios (often 70-90% smaller than raw CSV)
- Universal support in modern data science (pandas, polars, duckdb, arrow)
Architectural Constraints
- Immutable write pattern: modifying a single row requires rewriting the row group or partition
- High CPU overhead when writing compared to raw append logs
- Unsuited for high-concurrency single-record OLTP CRUD mutations
Inspect Wire / Syntax Representation
[Magic: 'PAR1']
┌──────────────────────────────────────────────────────────┐
│ ROW GROUP 1 (e.g. 500,000 rows) │
│ ├── Column 'user_id' [Dict Encoded, Snappy] │
│ ├── Column 'timestamp' [Delta Encoded, Bit-Packed] │
│ └── Column 'amount' [Plain Float, ZSTD] │
├──────────────────────────────────────────────────────────┤
│ ROW GROUP 2 (e.g. 500,000 rows) │
│ └── ... │
└──────────────────────────────────────────────────────────┘
[File Metadata Footer: Schemas, Col Stats (Min/Max), Offsets]
[Footer Length: 4 bytes]
[Magic: 'PAR1']
Apache ORC (Optimized Row Columnar)
Optimized Row Columnar (ORC) is a high-performance columnar storage format conceived by Hortonworks and Apache Hive to maximize query speed and compression in Hadoop environments. Dividing files into self-contained 'Stripes' with integrated lightweight indexes (block-level Bloom filters and row group statistics every 10,000 rows), ORC is heavily optimized for Facebook Presto, Trino, and Apache Hive analytical engines.
Architectural Highlights
- › built-in stripe indexes: every stripe contains its own index data, allowing skip-scanning every 10,000 rows without loading data into memory
- › integrated bloom filters: enables instant exclusion of stripes when querying specific ids, bypassing irrelevant disk blocks
- › acid support in hive: built to natively support hive acid transactions, delta files, and merges
- › high compression efficiency: often matches or marginally outperforms parquet on string-heavy hive benchmarks.
Superpowers
- Built-in Bloom filters enable hyper-selective row-group skipping
- Stripe architecture provides clean block-level boundaries
- Full ACID transaction support in Apache Hive
Architectural Constraints
- Less universal adoption in modern Python/Rust tools (Polars, DuckDB) than Parquet
- Slower reading when used outside Java/JVM-centric engines
- Immutable write constraints similar to Parquet
Inspect Wire / Syntax Representation
┌──────────────────────────────────────────────────────────┐
│ STRIPE 1 (Default 64MB - 256MB) │
│ ├── Index Data: Min/Max stats + Bloom filters (per 10k)│
│ ├── Row Data: Columnar bit streams (compressed) │
│ └── Stripe Footer: Encoding types, stream locations │
├──────────────────────────────────────────────────────────┤
│ STRIPE 2 ... │
├──────────────────────────────────────────────────────────┤
│ FILE FOOTER: Schema metadata, stripe statistics │
│ POSTSCRIPT: Cache sizes, compression parameters, 'ORC' │
└──────────────────────────────────────────────────────────┘
Apache Arrow / Feather (IPC / Memory)
Apache Arrow Feather (now the official Arrow IPC file format) solves the data interchange bottleneck between modern data tools. In traditional computing, transferring data between Python (pandas), R, Rust (Polars), and C++ requires expensive serialization and deserialization. Arrow defines a standardized, language-independent columnar in-memory representation. The Feather format simply flushes this exact in-memory layout to disk. When read back, it can be mmap()'d into RAM instantly with zero copy and zero CPU parsing overhead.
Architectural Highlights
- › zero-copy interoperability: flash data directly between python, c++, rust, go, java, and javascript runtimes without data conversion
- › simd vector acceleration: memory buffers are aligned to 64-byte cpu cache lines, unlocking modern avx-512 hardware simd vector operations
- › blazing fast i/o: reading a feather file is limited only by disk read bandwidth (nvme speeds up to several gb/sec)
- › not designed for cold archival: prioritizes instant cpu consumption over maximum compression (use parquet for long-term cold storage).
Superpowers
- Instant zero-copy reading via memory mapping (mmap)
- Direct SIMD hardware execution compatibility
- Universal cross-language data frame interoperability
Architectural Constraints
- Larger file size on disk compared to heavily encoded Parquet
- Optimized for memory interchange rather than complex cold archival queries
- Schema must be strictly defined before writing
Inspect Wire / Syntax Representation
/* 64-byte aligned SIMD in-memory chunk */
Length: 5 | Null Count: 1
Validity Bitmap: [1, 1, 0, 1, 1] (bit 2 is null)
Value Array: [14, 28, 0, 42, 56] (int32 aligned)
Offsets Buffer: [0, 4, 9, 14, 18, 24] (for variable strings)
Values Buffer: "apple""grape""lemon""peach"
-> CPU reads directly with zero deserialization overhead!
HDF5 (Hierarchical Data Format 5)
Hierarchical Data Format 5 (HDF5) is designed to store and organize colossal quantities of numerical and scientific data. Think of HDF5 as an entire operating system file-system bundled into a single file: it contains 'Groups' (directories) and 'Datasets' (multidimensional N-dimensional arrays like tensors and matrices) with metadata attributes. Engineered for supercomputing, particle physics (CERN), climate modeling (NASA EarthData), and deep learning (early Keras weights), HDF5 handles petabyte datasets with hyperslab slicing.
Architectural Highlights
- › file-system within a file: organizes datasets into nested hierarchies (/sensors/temperature/raw) inside a single disk file
- › hyperslab slicing: extract a 2d slice from an enormous 5d tensor without reading or decompressing the rest of the file
- › parallel i/o (mpi-io): supports concurrent reads and writes across thousands of supercomputer nodes
- › monolithic c library: the reference implementation is a massive, complex c library with internal global locking, making multithreading tricky.
Superpowers
- Superb for multi-terabyte N-dimensional numerical matrices
- Selective partial hyperslab reading without full file load
- Battle-tested in high-performance scientific supercomputing
Architectural Constraints
- Monolithic C library dependency with historical threading lock issues
- File corruption risk if a write process crashes unexpectedly before closing
- Not cloud-native: poor compatibility with object storage (S3 / GCS) chunking
Inspect Wire / Syntax Representation
import h5py
import numpy as np
# Create an HDF5 scientific container
with h5py.File("simulation_run.h5", "w") as f:
# Groups behave like directories
grp = f.create_group("atmospheric_model/2026")
# Chunked, compressed 4D tensor (Time, Lat, Lon, Altitude)
data = np.random.randn(365, 180, 360, 50)
dset = grp.create_dataset(
"pressure_tensor",
data=data,
chunks=(1, 180, 360, 10),
compression="gzip"
)
# Selective hyperslab reading: Only 1 day, 1 altitude layer!
with h5py.File("simulation_run.h5", "r") as f:
slice_day0 = f["atmospheric_model/2026/pressure_tensor"][0, :, :, 0]
NetCDF (Network Common Data Form)
Network Common Data Form (NetCDF) is the foundational data format for meteorology, oceanography, climatology, and Earth observation data. NetCDF provides self-describing, machine-independent array structures enriched with standard scientific metadata conventions (the Climate and Forecast / CF metadata conventions). Modern NetCDF-4 is built on top of HDF5, combining HDF5's high-speed chunked compression with standardized Earth science dimensions like latitude, longitude, and time.
Architectural Highlights
- › standardized earth science dimensions: variables share explicit named dimensions (e.g., time, lat, lon) with coordinate units
- › cf metadata conventions: strict standard tags for units, coordinate reference systems (crs), and missing value flags (-9999)
- › open geospatial consortium (ogc) standard: the mandated format for global ipcc climate reports and satellite weather feeds (noaa, ecmwf)
- › seamless python xarray integration: directly loads into python xarray datasets for multidimensional climate analytics.
Superpowers
- Standardized conventions eliminate ambiguity in physical scientific units
- Seamless integration with GIS and spatial analysis software
- Self-describing coordinates facilitate multidimensional mathematical operations
Architectural Constraints
- Legacy NetCDF-3 lacks compression and groups (NetCDF-4 required)
- Steep learning curve for understanding coordinate variables vs data variables
- Requires domain-specific libraries (netCDF4, xarray, GDAL)
Inspect Wire / Syntax Representation
netcdf global_sea_surface_temp {
dimensions:
time = UNLIMITED ; // (365 currently)
lat = 720 ;
lon = 1440 ;
variables:
float lat(lat) ;
lat:units = "degrees_north" ;
float lon(lon) ;
lon:units = "degrees_east" ;
double time(time) ;
time:units = "days since 2026-01-01 00:00:00" ;
float sst(time, lat, lon) ;
sst:units = "kelvin" ;
sst:_FillValue = -9999.0f ;
sst:long_name = "Sea Surface Temperature" ;
}
Zarr (Cloud-Native N-D Arrays)
Zarr represents the modern, cloud-native evolution of scientific array formats like HDF5 and NetCDF. While HDF5 relies on a single monolithic file with complex internal byte offsets that break over cloud object storage (S3 / GCS), Zarr splits massive multidimensional arrays into independent, compressed chunk files stored under predictable key-value paths (e.g., `/data/0.0.1`). Combined with lightweight JSON metadata, Zarr enables massively parallel reads and writes across thousands of serverless cloud functions without file locks.
Architectural Highlights
- › cloud-native object storage native: stored cleanly in aws s3, google cloud storage, or azure blob without posix filesystem requirements
- › lock-free parallel writing: separate workers can write different chunks in parallel without coordinator locks
- › pluggable modern codecs: out-of-the-box support for blosc, zstandard, and quantizing bit-filters for lightning compression
- › bioimaging & ome-zarr: rapidly becoming the global standard for high-resolution 3d microscopy and genomics.
Superpowers
- Zero global file locks: perfect for distributed cloud clusters
- Simple, robust architecture: easy to implement in any language (Python, Rust, JS)
- Direct integration with Dask, Xarray, and TensorStore
Architectural Constraints
- Generates thousands to millions of tiny files/keys on disk if not zipped
- Higher latency per chunk on high-latency cloud storage if chunks are too small
- Younger ecosystem compared to 30-year-old HDF5
Inspect Wire / Syntax Representation
// Key layout in Cloud Bucket:
// my-tensor.zarr/.zgroup
// my-tensor.zarr/.zattrs
// my-tensor.zarr/temperature/.zarray
// my-tensor.zarr/temperature/0.0.0 <- Binary compressed chunk
// my-tensor.zarr/temperature/0.0.1 <- Binary compressed chunk
// Contents of temperature/.zarray:
{
"zarr_format": 2,
"shape": [1000, 2048, 2048],
"chunks": [100, 256, 256],
"dtype": "<f4",
"compressor": {
"id": "blosc",
"cname": "zstd",
"clevel": 5
}
}
GeoJSON (Geographic JSON)
GeoJSON is an open standard format designed for representing simple geographical features along with their non-spatial attributes. Based on JSON, it natively supports points, lines, polygons, and multi-part geometries using the World Geodetic System 1984 (WGS 84 / EPSG:4326) coordinate reference system. GeoJSON is supported natively by web mapping libraries like Leaflet, Mapbox GL, and OpenLayers, making it the easiest way to display geographic data in web browsers.
Architectural Highlights
- › web native: renders out-of-the-box in browser leaflet and mapbox canvases with straightforward javascript iterations
- › strict wgs 84 coordinate standard: enforces longitude first, latitude second ([lon, lat]) decimal degrees coordinates
- › flexible attribute properties: each feature contains a `properties` dictionary for arbitrary business metadata
- › file bloat for massive geometries: large coordinate arrays with excessive decimal precision create huge file sizes and slow dom parsing.
Superpowers
- Human-readable, web-native, and effortlessly manipulated in JavaScript
- Direct integration with GitHub (renders interactive maps natively)
- Standardized WGS 84 coordinate reference system
Architectural Constraints
- Large file size due to verbose ASCII coordinates
- Lacks spatial indexing: must parse entire file to query a bounding box
- Single-threaded CPU parsing bottleneck in web browsers for >10MB files
Inspect Wire / Syntax Representation
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "boundary-curitiba",
"properties": {
"city": "Curitiba",
"state": "Parana",
"population": 1773733,
"parks": 33
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-49.2733, -25.4284],
[-49.2600, -25.4300],
[-49.2550, -25.4500],
[-49.2800, -25.4450],
[-49.2733, -25.4284]
]
]
}
}
]
}
GeoParquet (Cloud-Native Vector Geospatial)
GeoParquet brings the revolutionary columnar analytics power of Apache Parquet to geospatial vector data. Replacing legacy Shapefiles and bloated GeoJSON files, GeoParquet encodes geometries in Well-Known Binary (WKB) columns while storing spatial bounding boxes (bbox) in Parquet column statistics. This enables spatial predicate pushdown: analytical engines like DuckDB, Sedona, and BigQuery can query billions of geographic polygons and skip 99% of non-intersecting regions without reading them.
Architectural Highlights
- › cloud-native spatial analytics: query petabyte geospatial datasets directly from amazon s3 or google cloud storage using sql
- › spatial bounding box pushdown: column statistics store min/max x, y coordinates, allowing instant spatial pruning
- › compression superpowers: typically 5x to 10x smaller than geojson and 2x smaller than zipped shapefiles
- › interoperable standard: supported natively by duckdb spatial, gdal, qgis, kepler.gl, and bigquery.
Superpowers
- Unmatched analytical performance on massive spatial vector datasets
- Spatial range filtering skips non-intersecting row groups directly from object storage
- Solves the 2GB file limit and attribute truncations of 1990s Shapefiles
Architectural Constraints
- Binary format: cannot be inspected in a standard plain text editor
- Requires modern GIS libraries with GeoParquet/Arrow drivers
- Writing spatially partitioned datasets requires spatial Hilbert/Morton curve sorting
Inspect Wire / Syntax Representation
INSTALL spatial;
LOAD spatial;
-- Query 50 million buildings directly from cloud S3!
SELECT
id,
names.primary AS building_name,
ST_Area(geometry) AS footprint_sq_meters
FROM read_parquet('s3://overturemaps-us-west-2/release/2026/buildings.parquet')
WHERE bbox.xmin >= -49.30 AND bbox.xmax <= -49.20
AND bbox.ymin >= -25.50 AND bbox.ymax <= -25.40
LIMIT 10;
COG (Cloud-Optimized GeoTIFF)
Cloud-Optimized GeoTIFF (COG) revolutionized satellite imagery and aerial photogrammetry by making raster files streaming-friendly over HTTP. Traditional TIFF files required downloading the entire multi-gigabyte file before rendering an overview. COG organizes pixels into internal tiles (e.g., 256x256 pixels) alongside pre-rendered multi-resolution pyramid overviews. Web clients and GIS servers use HTTP GET Range requests to stream only the exact pixels and zoom level needed for the current viewport.
Architectural Highlights
- › http range requests: stream specific zoom tiles directly from cloud buckets without downloading the multi-gigabyte satellite file
- › internal pyramidal overviews: low-resolution zoom levels are pre-calculated and stored at the beginning of the file
- › universal satellite standard: the default format for nasa landsat, esa sentinel-2, and commercial satellite constellations
- › full geotiff backward compatibility: standard legacy tiff readers can still open cog files normally.
Superpowers
- Enables on-the-fly web mapping directly from cloud object storage without custom tile servers
- Saves massive cloud egress bandwidth via HTTP Range reads
- Full backward compatibility with 30 years of GIS software
Architectural Constraints
- Writing a COG requires re-tiling, computing overviews, and strict byte alignment
- Not suited for non-raster vector data
- Slightly larger file size than flat TIFF due to overviews
Inspect Wire / Syntax Representation
┌──────────────────────────────────────────────────────────┐
│ TIFF Header & Offset Directory │
├──────────────────────────────────────────────────────────┤
│ OVERVIEW 16x (Thumbnail for global zoom) │
│ OVERVIEW 4x (Regional zoom tiles) │
│ FULL RESOLUTION (256x256 pixel tiles) │
│ ├── Tile (0,0) | Tile (0,1) | Tile (0,2)... │
└──────────────────────────────────────────────────────────┘
Client performs:
GET /sentinel2_scene.tif HTTP/1.1
Range: bytes=4096-18432 --> Fetches ONLY the tile on screen!
JPEG (Joint Photographic Experts Group)
JPEG is the most ubiquitous photographic image compression standard on Earth. Developed in 1992, JPEG leverages human visual psychoacoustics: the human eye is far more sensitive to brightness (luminance) than to fine color hue differences (chrominance). JPEG transforms 8x8 pixel blocks using the Discrete Cosine Transform (DCT), quantizes high-frequency details that the eye cannot see, and compresses the result using Huffman entropy coding. It enabled the explosion of digital photography and the early World Wide Web.
Architectural Highlights
- › yuv color subsampling: separates luminance (y) from chrominance (cb, cr), discarding half or three-quarters of color data without noticeable quality loss
- › dct frequency decomposition: encodes 8x8 blocks as sums of cosine frequencies, allowing tunable lossy compression from 10:1 to 100:1
- › universal hardware acceleration: every smartphone sensor, browser, gpu, and television decodes baseline jpeg in hardware silicon
- › no transparency & generation loss: lacks an alpha channel, and repeatedly editing and re-saving jpeg images compounds ugly blocking artifacts.
Superpowers
- 100% universal hardware and software compatibility across every device built in 30 years
- Exceptional compression for complex continuous-tone photographic scenes
- Standardized EXIF metadata for camera aperture, GPS, and timestamp storage
Architectural Constraints
- No support for alpha channel transparency
- Produces ugly ringing and blocky artifacts on text, line art, and high-contrast UI graphics
- Strict 8-bit color depth in baseline profiles (causes banding in HDR gradients)
Inspect Wire / Syntax Representation
[RGB Image]
│
▼
[RGB -> YCbCr Color Conversion]
│
▼
[Chroma Subsampling (4:2:0 / 4:2:2)]
│
▼
[8x8 Pixel Block Splitting]
│
▼
[Discrete Cosine Transform (DCT)]
│
▼
[Quantization (Lossy Step: drops high frequencies)]
│
▼
[Zig-Zag Scan & Huffman / Arithmetic Entropy Coding]
│
▼
[.JPEG File (FF D8 FF E0...)]
PNG (Portable Network Graphics)
Portable Network Graphics (PNG) was created in 1996 to replace the patented GIF format. PNG is an extensible chunk-based raster format providing bit-perfect lossless compression and full 8-bit / 16-bit alpha channel transparency (supporting 256 levels of smooth translucent anti-aliasing). By applying predictive 2D spatial filtering (Paeth, Sub, Up) before feeding scanlines to DEFLATE compression, PNG achieves high efficiency on screenshots, logos, diagrams, and digital graphics with sharp contrast.
Architectural Highlights
- › lossless fidelity: bit-for-bit identical reproduction—zero compression artifacts, blur, or data loss
- › full alpha channel transparency: supports true 8-bit and 16-bit alpha transparency for drop shadows and smooth ui overlays
- › predictive row filters: analyzes neighboring pixels to minimize entropy before compression, making repeated colors compact
- › massive files for photos: losslessly storing continuous-tone photos results in files 5x to 10x larger than jpeg or webp.
Superpowers
- Lossless precision with zero degradation over multiple edits
- Full 8-bit translucent alpha blending
- Universal web browser and desktop tool support
Architectural Constraints
- Excessively heavy file size for real-world photographic imagery
- No native multi-frame animation in standard PNG (APNG is an unofficial extension)
- Higher memory decoding footprint for massive canvases
Inspect Wire / Syntax Representation
[Magic: 89 50 4E 47 0D 0A 1A 0A]
┌──────────────────────────────────────────────────────────┐
│ IHDR Chunk: Width, Height, Bit depth, Color type, Filter │
├──────────────────────────────────────────────────────────┤
│ pHYs Chunk: Physical pixel dimensions (DPI) │
├──────────────────────────────────────────────────────────┤
│ IDAT Chunk 1: [DEFLATE-compressed scanlines] │
│ IDAT Chunk 2: [DEFLATE-compressed scanlines] │
├──────────────────────────────────────────────────────────┤
│ IEND Chunk: File termination trailer │
└──────────────────────────────────────────────────────────┘
WebP (Modern Web Image Format)
Developed by Google using technologies derived from the VP8 video codec, WebP was created to supersede both JPEG and PNG for the modern web. WebP supports lossy compression (typically 25-34% smaller than comparable JPEG images), lossless compression (26% smaller than PNG), alpha channel transparency in both modes, and animated sequences in a fraction of GIF's file size. Today, WebP is supported across 98%+ of global web browsers.
Architectural Highlights
- › unifies jpeg, png, and gif: a single format capable of lossy photos, lossless diagrams with transparency, and animations
- › vp8 macroblock prediction: uses intra-frame predictive modeling to forecast pixel values from neighboring blocks before encoding errors
- › drastic bandwidth savings: reduces web page weight, boosting google core web vitals (lcp) and page load speed
- › universal web support: standardized across chrome, safari, firefox, and edge.
Superpowers
- Significantly smaller file size than JPEG and PNG at equivalent visual fidelity
- Supports alpha channel transparency in both lossy and lossless modes
- Replaces inefficient GIF animations with 60-80% smaller payloads
Architectural Constraints
- Slower encoding times on servers compared to baseline JPEG
- Historical lag in desktop image editors (older Photoshop versions require plugins)
- Newer codecs like AVIF achieve even higher compression at low bitrates
Inspect Wire / Syntax Representation
0x00: 'RIFF' (4 bytes)
0x04: File Size (4 bytes)
0x08: 'WEBP' (4 bytes)
0x0C: Chunk Header:
- 'VP8 ' (Lossy VP8 video frame) OR
- 'VP8L' (Lossless compressed bitmap) OR
- 'VP8X' (Extended: Alpha channel, Animation, EXIF, ICC)
0x14: Data payload with entropy-coded macroblocks
AVIF (AV1 Image File Format)
The AV1 Image File Format (AVIF) represents the pinnacle of still-image compression. Standardized by the Alliance for Open Media (AOMedia), AVIF extracts the intra-frame encoding capabilities of the royalty-free AV1 video codec and wraps them in an ISO Base Media File Format (HEIF) container. AVIF achieves up to 50% smaller file sizes than JPEG and 20% smaller than WebP while introducing native 10-bit and 12-bit High Dynamic Range (HDR) color, wide color gamuts (BT.2020), and flawless alpha channels.
Architectural Highlights
- › extreme compression efficiency: delivers clear, artifact-free photos at microscopic bitrates where jpeg degrades into pixel soup
- › native hdr & wide gamut: first-class support for 10-bit and 12-bit color depth, rec.2020, and hdr gain maps for mobile screens
- › zero blockiness: modern deblocking and directional deringing filters prevent the harsh 8x8 block artifacts common to jpeg
- › higher cpu encoding cost: encoding avif images on servers consumes more cpu cycles than legacy formats.
Superpowers
- Highest quality-per-byte ratio of any production image format today
- Native 10-bit / 12-bit HDR and wide color gamut support
- Backed by all major tech giants (Google, Apple, Microsoft, Netflix, Meta)
Architectural Constraints
- Computationally heavy encoding (can be 10x slower to encode than JPEG)
- Incomplete support in older operating systems and legacy graphic utilities
- Can aggressively smooth very fine film-grain textures at aggressive compression
Inspect Wire / Syntax Representation
<!-- State-of-the-art web delivery tier -->
<picture>
<!-- Next-gen tier: 50% smaller than JPEG -->
<source srcset="/images/hero.avif" type="image/avif">
<!-- Modern web tier: 30% smaller than JPEG -->
<source srcset="/images/hero.webp" type="image/webp">
<!-- Universal legacy fallback -->
<img src="/images/hero.jpg" alt="Optimized visual asset" loading="lazy">
</picture>
SVG (Scalable Vector Graphics)
Scalable Vector Graphics (SVG) is an XML-based markup format for describing two-dimensional vector graphics. Unlike raster bitmaps that store finite grids of pixels, SVG defines shapes mathematically using paths, Bézier curves, coordinates, and styling attributes. This means SVG graphics scale infinitely to any screen resolution, 8K monitor, or mobile display with crisp sharpness and zero pixelation. Because SVG is valid XML, it can be styled directly with CSS, animated with JavaScript, and manipulated inside the browser DOM.
Architectural Highlights
- › infinite scalability: sharp, crisp rendering at 16x16 icon size or on a 100-foot billboard without ever pixelating
- › dom & css scriptable: can be embedded inline in html; inspect elements, style paths with css hover transitions, and animate with gsap
- › compact for icons & diagrams: simple vector logos and diagrams often weigh only 2kb to 10kb
- › not for photographs: attempting to represent real-world photographs with vector paths results in astronomical file sizes and frozen browser renderers.
Superpowers
- Infinite resolution independence across all Retina / 4K displays
- Direct styling with CSS and interactivity with JavaScript
- Trivial to minify and gzip over HTTP
Architectural Constraints
- Unsuited for photographic, continuous-tone imagery
- Complex vector paths with thousands of points can slow browser CPU rendering
- Security risk if rendering untrusted user SVGs (can execute embedded <script> tags: XSS)
Inspect Wire / Syntax Representation
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
<style>
.pulse-dot { fill: #10b981; animation: pulse 2s infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
</style>
<circle cx="12" cy="12" r="10" stroke="#3b82f6" stroke-width="2" fill="none"/>
<circle cx="12" cy="12" r="4" class="pulse-dot"/>
<path d="M 12 2 L 12 6 M 12 18 L 12 22" stroke="#3b82f6" stroke-width="2"/>
</svg>
CBOR (Concise Binary Object Representation)
Concise Binary Object Representation (CBOR) is an IETF-standard binary data format designed specifically for constrained IoT devices and low-bandwidth networks (CoAP). Inspired by MessagePack but standardized with mathematical rigor by the IETF, CBOR uses an elegant 3-bit Major Type system supporting arbitrary-precision integers, raw byte strings, floating-point numbers, and semantic tags (e.g. tagging byte arrays as UUIDs or ISO datetimes). It powers WebAuthn (FIDO2 passkeys) and hardware security tokens worldwide.
Architectural Highlights
- › ietf internet standard: fully specified by rfc 8949 with deterministic canonical encoding (dcbor) for cryptographic signatures
- › hardware & webauthn backbone: the mandatory wire serialization for fido2 / webauthn browser passkeys and apple touch id / face id hardware auth
- › semantic tagging system: major type 6 allows tagging data types with universal semantics (unix timestamps, bignums, uris, cbor web tokens)
- › constrained device ready: implementable in tiny microcontroller ram footprints with zero heap allocation.
Superpowers
- Official IETF RFC standard with rigorous deterministic canonical sorting
- Native byte string support eliminates Base64 bloat
- Universal semantic tag system enables custom domain types without breaking parsers
Architectural Constraints
- Not human readable without hex dump or cbor-diag tools
- Less universal in mainstream web frontend tooling than JSON
- Slightly higher parsing complexity than flat arrays
Inspect Wire / Syntax Representation
Major Type 0: Unsigned Integer (0x00..0x17 inline, 0x18..0x1b byte follow)
Major Type 1: Negative Integer
Major Type 2: Byte String (Raw Binary)
Major Type 3: Text String (UTF-8)
Major Type 4: Array of data items
Major Type 5: Map of pairs (keys & values)
Major Type 6: Semantic Tag (e.g., Tag 1 = Epoch timestamp)
Major Type 7: Float & Simple values (false, true, null)
BSON (Binary JSON)
BSON (Binary JSON) is the binary storage and wire format powering MongoDB and document-oriented databases. Designed to be lightweight, traversable, and efficient, BSON extends JSON's limited type system by adding first-class support for 64-bit integers (int64), exact Decimals (Decimal128), Datetimes (UTC epoch ms), raw binary buffers, Regular Expressions, and 12-byte ObjectIDs. Its length-prefixed fields allow database query engines to skip unqueried subdocuments with pointer arithmetic without parsing their interior.
Architectural Highlights
- › fast document traversal: length prefixes at the start of documents and strings allow parsers to skip unneeded fields with pointer seeks
- › rich type ecosystem: solves json's lack of 64-bit integers, timestamps, uuids, and exact financial decimal128 types
- › mongodb native storage: stored directly on disk in mongodb's wiredtiger storage engine and sent over the mongodb wire protocol
- › slightly verbose: retains full field names for each document, making it bulkier than schema-compiled formats like protobuf.
Superpowers
- Native 64-bit integers and exact Decimal128 avoid JS float precision errors
- Length-prefixed fields enable high-speed sequential skipping
- Native ObjectId and Datetime representations
Architectural Constraints
- Repeats key names across records (larger storage footprint than Parquet/Avro)
- Generally larger than JSON for purely textual data due to byte-alignment padding
- Tied primarily to the MongoDB and document DB ecosystem
Inspect Wire / Syntax Representation
document ::= int32 e_list "\x00" // 4-byte total length + elements + null terminator
element ::= "\x01" e_name double // 64-bit float
| "\x02" e_name string // UTF-8 string
| "\x03" e_name document // Embedded sub-document
| "\x04" e_name document // Array (keys: "0", "1", "2")
| "\x05" e_name binary // Raw binary bytes
| "\x07" e_name (byte*12) // 12-byte ObjectID
| "\x09" e_name int64 // UTC Datetime (ms since epoch)
| "\x10" e_name int32 // 32-bit Integer
Cap'n Proto (Insanely Fast Serialization)
Created by Kenton Varda (the primary author of Google's Protocol Buffers v2), Cap'n Proto is designed around a radical premise: 'Infinity times faster than Protocol Buffers'. Cap'n Proto eliminates the encode/decode step altogether. The bytes that software builds in memory are identical to the bytes written to disk or sent across the network. With word-aligned structs and direct pointer offsets, deserialization takes 0.0 seconds of CPU time. It also features a time-traveling RPC protocol based on Promise Pipelining.
Architectural Highlights
- › true zero-copy: no decoding step; pointer offsets allow direct memory lookups from ssd mmap() buffers
- › promise pipelining rpc: send calls on the future results of pending network queries in a single network round-trip
- › cloudflare workers core: powers cloudflare's global edge network internal ipc and workerd runtime
- › pointer security hardened: includes strict bounds checks and recursion limits to prevent memory exhaustion and buffer overflows.
Superpowers
- 0.0 microsecond deserialization time: fastest possible binary read speed
- Promise Pipelining eliminates distributed RPC round-trip network hops
- Strict memory safety and bounds enforcement
Architectural Constraints
- Slightly larger message size than Protobuf without packing step
- Rigid memory layouts require careful forward schema planning
- Smaller developer community compared to Google Protobuf / gRPC
Inspect Wire / Syntax Representation
@0xdbb9ad1f14bf0b36;
struct NetworkPacket {
id @0 :UInt64;
timestamp @1 :Int64;
srcIp @2 :Text;
dstIp @3 :Text;
payload :union {
rawBytes @4 :Data;
httpPayload @5 :HttpMetadata;
}
}
struct HttpMetadata {
method @0 :Text;
statusCode @1 :UInt16;
headers @2 :List(HeaderPair);
}
struct HeaderPair {
key @0 :Text;
value @1 :Text;
}
ASN.1 / DER (Abstract Syntax Notation One)
Abstract Syntax Notation One (ASN.1) is one of the most foundational and battle-tested data specification systems in computer history. Standardized in 1984 by international telecom bodies (ITU-T), ASN.1 separates data structure definitions from their physical byte encodings (DER, BER, PER). It is the indispensable cryptographic backbone of the global Internet: every single HTTPS TLS/SSL certificate, RSA public key, x509 credential, cellular 4G/5G radio signaling protocol, and air traffic control system is encoded in ASN.1 DER.
Architectural Highlights
- › global internet security core: powers every ssl/tls x.509 certificate, ssh key, and cryptographic signature in modern browsers
- › deterministic der encoding: distinguished encoding rules (der) guarantee that identical data produces identical byte sequences for cryptographic hashing
- › cellular 4g lte & 5g nr: radio resource control (rrc) between smartphones and cellular towers is encoded via asn.1 per
- › tag-length-value (tlv): universal 3-tier grammar: tag (type), length (byte size), value (raw bytes).
Superpowers
- Deterministic encoding guarantees hash stability for digital signatures
- Battle-tested for 40+ years in critical telecommunication and banking infrastructure
- Packed Encoding Rules (PER) pack messages down to individual bits
Architectural Constraints
- Complex and notoriously difficult specification to parse safely
- Historical vulnerability surface in legacy C parser implementations
- Strict and rigid compared to modern developer-friendly formats
Inspect Wire / Syntax Representation
// ASN.1 Module Definition
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
// DER Hex Byte Breakdown:
// 30 82 04 2A -> Tag 0x30 (SEQUENCE), Length 0x042A (1066 bytes)
// 30 82 03 12 -> Sub-Sequence: TBSCertificate
// A0 03 02 01 02 -> Context Tag 0, Version 3 (v3 certificate)
// 02 10 4F 3A... -> Tag 0x02 (INTEGER), Serial Number (16 bytes)
Apache Iceberg (Open Table Format)
Apache Iceberg is a high-performance open table format for huge analytic datasets. Conceived at Netflix to solve the concurrency and performance failures of legacy Hive metastores, Iceberg manages tables as an immutable snapshot tree. Instead of tracking directories on object storage, Iceberg tracks exact file lists via Avro manifest files. This unlocks full ACID transactions, atomic partition evolution without rewriting data, time-travel queries (querying data as it existed last week), and simultaneous multi-engine concurrency across Spark, Trino, Flink, and DuckDB.
Architectural Highlights
- › true acid on object storage: guarantees serializable isolation and snapshot isolation directly on amazon s3 and google cloud storage
- › hidden partitioning & evolution: change partitioning from daily to hourly without rewriting historic terabytes or invalidating queries
- › time travel & rollback: query snapshots at historic timestamps (`version as of`) for audit reproducibility and disaster recovery
- › multi-engine universal table: simultaneously query the same dataset using spark, snowflake, duckdb, trino, and bigquery without vendor lock-in.
Superpowers
- Eliminates Hive metastore directory-listing bottlenecks on cloud S3
- Full ACID transactional guarantees and snapshot rollback
- Seamless schema evolution with unique column IDs (renaming never corrupts historical data)
Architectural Constraints
- Requires automated catalog maintenance (compaction, snapshot expiration, orphan file cleanup)
- Multi-file metadata overhead can be complex to debug manually
- Not designed for millisecond single-row OLTP transactions
Inspect Wire / Syntax Representation
table_location/
├── metadata/
│ ├── v3.metadata.json <-- Current table state (schema, partition spec)
│ ├── snap-9041-manifest-list.avro <-- Points to all active manifests for Snapshot 9041
│ └── 4a8b-manifest.avro <-- Lists active Parquet files + column min/max stats
└── data/
├── event_date=2026-10-10/
│ ├── 00001-42-data.parquet <-- Physical columnar records
│ └── 00002-43-data.parquet
Delta Lake (ACID Lakehouse Format)
Delta Lake is an open-source storage layer that brings ACID transactions and reliability to Apache Spark and big data workloads. Invented by Databricks, Delta Lake manages tables through an ordered, append-only JSON transaction log (`_delta_log/000000.json`). Every commit is an atomic write to the log. Periodically, log commits are compacted into Parquet checkpoint files. Delta Lake features schema enforcement (rejecting bad data writes), streaming and batch unification, and time travel.
Architectural Highlights
- › append-only transaction log: every table mutation is recorded as an immutable json transaction commit, guaranteeing acid consistency
- › schema enforcement: prevents data lake pollution by rejecting writes that do not match the table's registered schema
- › checkpointed metadata: every 10 commits, delta writes a parquet checkpoint summarizing table state, keeping metadata reads fast
- › z-ordering & liquid clustering: multi-dimensional data clustering to optimize query data skipping across multiple columns.
Superpowers
- Seamless integration with Apache Spark ecosystem
- Full ACID compliance with optimistic concurrency control
- Integrated time-travel querying and automated vacuum cleanup
Architectural Constraints
- Requires regular OPTIMIZE and VACUUM jobs to prevent small-file proliferation
- Tightly coupled to Spark conventions historically, though delta-rs is closing the gap
- Transaction log conflicts can cause write retries under high concurrent writes
Inspect Wire / Syntax Representation
// Example: _delta_log/00000000000000000042.json
{
"commitInfo": {
"timestamp": 1791686400000,
"operation": "WRITE",
"operationParameters": { "mode": "Append" }
}
}
{
"add": {
"path": "part-00001-c000.snappy.parquet",
"size": 1845920,
"modificationTime": 1791686400000,
"dataChange": true,
"stats": "{\"numRecords\": 50000, \"minValues\": {\"id\": 1}, \"maxValues\": {\"id\": 50000}}"
}
}
SQLite Database File Format
The SQLite database file format is recognized by the US Library of Congress as a recommended storage format for the preservation of digital content. Far more than a simple file format, SQLite packs an entire ACID-compliant relational SQL engine into a single cross-platform disk file. Structured around fixed-size pages (default 4096 bytes) organized into B-Tree data structures with a Write-Ahead Log (WAL), SQLite files operate identically on big-endian and little-endian machines without data conversion.
Architectural Highlights
- › archival gold standard: formally recommended by the us library of congress for permanent preservation of tabular digital data
- › 100-byte file header: contains critical database parameters including page size, file change counter, schema cookie, and text encoding
- › b-tree storage engine: table b-trees store 64-bit integer keys mapping to variable-length record payloads; index b-trees store arbitrary sort keys
- › write-ahead log (wal): enables concurrent non-blocking reads while a transaction writes to the separate `.wal` companion file.
Superpowers
- Single-file portability: share, copy, backup, or email entire relational databases trivially
- Full ACID compliance with transaction rollback safety
- Recognized international standard for permanent long-term digital preservation
Architectural Constraints
- Single-writer concurrency limit per database file
- Network filesystem (NFS/SMB) file locking bugs can cause database corruption
- Not designed for massive distributed petabyte clusters
Inspect Wire / Syntax Representation
Offset 0..15: "SQLite format 3\x00" (Magic Header String)
Offset 16..17: Database page size (e.g. 0x1000 = 4096 bytes)
Offset 18..19: File format write/read version (1 = rollback, 2 = WAL)
Offset 24..27: File change counter (increments on every commit)
Offset 40..43: Schema cookie (increments on DDL ALTER/CREATE)
Offset 56..59: Text encoding (1 = UTF-8, 2 = UTF-16le, 3 = UTF-16be)
Offset 100+: Page 1 data begins (Root of sqlite_schema table)
PDF (Portable Document Format)
The Portable Document Format (PDF) is the universal international standard (ISO 32000) for fixed-layout digital documents. Conceived by Adobe co-founder John Warnock's 'Camelot Project' in 1991, PDF preserves identical visual presentation, typography, vector drawings, raster imagery, and layout across any computer screen, printer, and operating system. Built upon PostScript's imaging model, PDF organizes text, fonts, and graphics into an indirect object graph indexed by a random-access cross-reference (`xref`) table at the end of the file.
Architectural Highlights
- › fixed-layout fidelity: guaranteed exact visual reproduction across every display, mobile phone, and printing press on earth
- › random-access xref table: reading software seeks directly to the trailer at the bottom of the file to jump to any page in milliseconds without parsing earlier pages
- › rich embedded streams: integrates embedded truetype/opentype fonts, vector curves, cmyk color profiles, digital signatures, and pdf/a archival compliance
- › parsing nightmare: complex layout engines make programmatic text extraction notoriously difficult (text is rendered as visual coordinates, not semantic paragraphs).
Superpowers
- Universal fixed visual appearance that cannot be distorted by missing fonts or client OS
- Cryptographic digital signature verification and tamper evidence
- ISO-standardized archival specifications (PDF/A) for permanent multi-century records
Architectural Constraints
- Extremely difficult to extract clean structured data from (tables require computer vision/OCR)
- Vulnerable to complex PDF engine exploits (embedded JavaScript, font parsing bugs)
- Not responsive: fixed page geometry does not reflow naturally on small smartphone screens
Inspect Wire / Syntax Representation
%PDF-1.7 (Header)
1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj
2 0 obj << /Type /Pages /Kids [3 0 R] /Count 1 >> endobj
3 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 612 792] /Contents 4 0 R >> endobj
4 0 obj << /Length 52 >>
stream
BT /F1 24 Tf 100 700 Td (Hello World, PDF!) Tj ET
endstream
endobj
xref
0 5
0000000000 65535 f
0000000009 00000 n
trailer << /Size 5 /Root 1 0 R >>
startxref
280
%%EOF
MP4 (MPEG-4 Part 14 Container)
MPEG-4 Part 14 (MP4) is the universal digital multimedia container format of the modern era. Derived directly from Apple's QuickTime file format (`.mov`), MP4 encapsulates multiple video, audio, subtitle, and chapter tracks into a structured hierarchy of 4-byte tagged 'atoms' or 'boxes'. It is supported natively by virtually every television, browser, smartphone, social media platform, and GPU hardware video decoder on the planet.
Architectural Highlights
- › universal hardware video playback: hardware-decoded by dedicated asic silicon in smartphones and gpus (nvidia nvdec, intel quicksync, apple video toolbox)
- › fast-start web streaming: placing the metadata index box (`moov`) before the media data (`mdat`) allows web browsers to stream videos instantly without downloading the entire file
- › fragmented mp4 (fmp4): the core building block for http live streaming (hls) and dynamic adaptive streaming over http (dash)
- › codec agnostic: can encapsulate legacy h.264, cutting-edge av1, high-efficiency hevc, and multi-channel dolby atmos audio.
Superpowers
- 100% universal hardware and software compatibility across all consumer devices
- Supports multi-track audio, timed subtitles, chapters, and rich metadata
- fMP4 enables seamless adaptive bitrate streaming across variable bandwidth
Architectural Constraints
- Complex container atom hierarchy makes low-level stream inspection difficult
- If recording crashes before the `moov` box is finalized, the entire recording file can be unplayable
- Patent licensing complexities historically surrounding MPEG codecs
Inspect Wire / Syntax Representation
[ftyp] File Type Box (e.g. major_brand = 'isom')
[moov] Movie Metadata Container Box
├── [mvhd] Movie Header: duration, timescale, volume
├── [trak] Track 1: Video (H.264 / AV1)
│ ├── [tkhd] Track Header
│ └── [mdia] -> [minf] -> [stbl] (Sample Table: frame offsets, keyframes)
└── [trak] Track 2: Audio (AAC / Opus)
[mdat] Media Data Box: Interleaved raw audio & video packets
MP3 (MPEG-1 Audio Layer III)
MPEG-1 Audio Layer III (MP3) revolutionized human culture and the global music industry by making digital audio portable over the Internet. Engineered by Germany's Fraunhofer Institute, MP3 exploits the psychoacoustics of human hearing: when a loud sound occurs, the human ear cannot detect quieter sounds at nearby frequencies (auditory masking). MP3 strips out these inaudible audio components and compresses the remaining frequencies using Modified Discrete Cosine Transform (MDCT) and Huffman coding, shrinking CD audio tracks by 90% with minimal perceived quality loss.
Architectural Highlights
- › psychoacoustic masking: discards sounds that the human ear cannot physically perceive due to auditory frequency and temporal masking
- › cultural revolution: enabled the invention of the ipod, napster, peer-to-peer file sharing, and the modern digital music streaming industry
- › universal hardware decoding: every car stereo, cheap microcontroller, smartphone, and browser decodes mp3 flawlessly in hardware
- › superseded by modern codecs: modern codecs like aac and opus deliver noticeably superior audio fidelity at lower bitrates.
Superpowers
- The most universally supported digital audio format on planet Earth
- Rich ID3v2 tag metadata support for album art, lyrics, and track info
- Zero royalty/patent restrictions (all patents expired in 2017)
Architectural Constraints
- Strict cutoff of high frequencies (>16kHz) at standard bitrates (128kbps)
- Inferior audio quality-to-bitrate ratio compared to Opus and AAC
- No native support for lossless compression or multi-channel surround sound beyond stereo
Inspect Wire / Syntax Representation
[ID3v2 Header: Metadata, Album Art, Artist]
[Audio Frame 1]
├── Frame Sync (11 bits: 11111111 111...)
├── MPEG Version: MPEG-1
├── Layer: Layer III
├── Bitrate: 320 kbps
├── Sampling Rate: 44.1 kHz (CD quality)
└── Side Information & Huffman-coded subband samples
[Audio Frame 2] ...
[Audio Frame N] ...
FLAC (Free Lossless Audio Codec)
Free Lossless Audio Codec (FLAC) is the open-source gold standard for bit-perfect audio preservation. Unlike lossy formats (MP3, AAC) that permanently discard audio frequencies, FLAC compresses audio waveforms without losing a single bit of information: decompressing a FLAC file reproduces the original master studio WAV or CD audio track byte-for-byte identically. Using linear predictive coding to model continuous audio waveforms followed by Golomb-Rice entropy coding, FLAC reduces file sizes by roughly 50% while supporting high-resolution 24-bit / 192kHz studio master audio.
Architectural Highlights
- › bit-perfect lossless fidelity: zero audio degradation—decompressing a flac yields the identical mathematical waveform as the master studio recording
- › high-resolution studio audio: native support for up to 32-bit float samples, 655 khz sampling rates, and up to 8 discrete surround audio channels
- › fast asymmetric decoding: slower to encode, but decoding is blazing fast and computationally lightweight on battery-powered mobile hardware
- › vorbis comment tags: supports clean, extensible, case-insensitive utf-8 metadata tags and embedded high-resolution album artwork.
Superpowers
- Guaranteed 100% bit-perfect audio quality with zero generational loss
- Completely open source, patent-free, and royalty-free standard
- Universal playback support across all modern operating systems (iOS, Android, Windows, macOS, Linux)
Architectural Constraints
- Significantly larger file sizes than lossy codecs (approx. 5x to 6x larger than 320kbps MP3)
- Not supported natively by legacy 1990s car stereos
- Excessive bandwidth for low-power mobile cellular streaming
Inspect Wire / Syntax Representation
[Magic: 'fLaC']
[METADATA_BLOCK_STREAMINFO]
├── Min/Max Block Size (e.g. 4096 samples)
├── Sample Rate: 96,000 Hz (Hi-Res Audio)
├── Channels: 2 (Stereo)
├── Bits per Sample: 24 bits
└── Total Samples & MD5 Audio Signature (for integrity verification)
[METADATA_BLOCK_VORBIS_COMMENT: ARTIST=..., ALBUM=...]
[METADATA_BLOCK_PICTURE: Hi-Res Cover Art]
[FRAME 1: Sync word -> LPC Subframes -> Rice encoded residual bytes]
[FRAME 2: ...]
WASM (WebAssembly Binary Format)
WebAssembly (WASM) is a binary code format and virtual machine designed to execute code at near-native speed inside web browsers and serverless runtimes. Compiling languages like C++, Rust, Go, and C# into a compact, structured binary representation, WASM allows complex database engines (SQLite in browser, DuckDB-WASM, PGlite), game engines (Unreal, Unity), and video processing pipelines (FFmpeg-WASM) to run securely inside the browser sandbox with isolated linear memory.
Architectural Highlights
- › near-native execution speed: pre-validated bytecode compiles ahead-of-time (aot) or jit directly into host cpu machine instructions
- › sandboxed linear memory: webassembly code cannot access host memory arbitrarily; memory is represented as a single contiguous array of bytes
- › in-browser database revolution: enables running real client-side databases like sqlite (wa-sqlite), duckdb, and pglite directly on user devices
- › server-side wasm (wasi): webassembly system interface allows running ultra-lightweight, sub-millisecond serverless functions on edge cdns.
Superpowers
- Executes at 90-95% of native compiled C/Rust speed in the browser
- Memory-safe sandbox prevents buffer overflows from compromising host
- Universal runtime supported in all modern web browsers and edge engines
Architectural Constraints
- Binary bytecode cannot be read or debugged without decompilation to WebAssembly Text (.wat)
- Data exchange across the JS-WASM boundary requires memory pointer copying for complex objects
- No direct DOM access without JavaScript glue code bindings
Inspect Wire / Syntax Representation
0x00: 00 61 73 6d (Magic: \0asm)
0x04: 01 00 00 00 (Version 1)
Section 1 (Type Section): Function signatures [i32, i32] -> [i32]
Section 2 (Import Section): Imports from host environment
Section 3 (Function Section): Function declarations
Section 5 (Memory Section): Linear memory limits (1 page = 64KB)
Section 7 (Export Section): Exported function names
Section 10 (Code Section): Function bodies (Stack instructions: local.get, i32.add)
GeoPackage (OGC Portable GIS Format)
GeoPackage (GPKG) is the modern, open-standard replacement for the obsolete 1990s ESRI Shapefile. Standardized by the Open Geospatial Consortium (OGC), GeoPackage is built directly on top of an SQLite database file. It packages vector features (points, lines, polygons), raster map tile pyramids, non-spatial attribute tables, and Coordinate Reference Systems (CRS) into a single, compact, cross-platform file without the file-splitting bugs and 2GB limits of legacy GIS formats.
Architectural Highlights
- › replaces legacy shapefiles: completely eliminates the fragile multi-file bundles (.shp, .shx, .dbf, .prj) and 10-character column name limits of 1990s shapefiles
- › unified vector & raster storage: store millions of vector boundary polygons and high-resolution raster tile pyramids inside the same file
- › sql queryable everywhere: any sqlite client or programming language can query attributes and geometries using standard sql
- › zero file size limitations: breaks through legacy shapefile 2gb limits, comfortably handling multi-gigabyte spatial projects.
Superpowers
- Single-file convenience with full transactional integrity
- Universal GIS support across QGIS, ArcGIS, GDAL, and Python GeoPandas
- Unlimited column name lengths, UTF-8 strings, and spatial indexing (R*Tree)
Architectural Constraints
- Slower than GeoParquet for massive cloud-native analytical queries
- Row-oriented SQLite storage engine is less optimized for column-scanning big data
- Not designed for direct HTTP byte-range parallel queries over cloud object storage
Inspect Wire / Syntax Representation
-- GeoPackage Core Metadata Tables (inside SQLite):
SELECT * FROM gpkg_spatial_ref_sys; -- Defines Coordinate Systems (EPSG:4326, EPSG:3857)
SELECT * FROM gpkg_contents; -- Catalogs all vector layers and tile matrices
SELECT * FROM gpkg_geometry_columns; -- Identifies geometry columns and spatial types
-- Query vector features directly with SQL:
SELECT
id,
municipality_name,
population,
geom
FROM territorial_boundaries
WHERE population > 100000;
TIFF (Tagged Image File Format)
Tagged Image File Format (TIFF) is the granddaddy of professional raster formats. Created in 1986 by Aldus and Adobe for desktop publishing and scanners, TIFF is an extensible tagged container that can store uncompressed or losslessly compressed raster bitmaps with arbitrary bit depths (8, 16, 32-bit float per channel), multi-page image stacks, and multi-spectral satellite channels. It serves as the physical container for GeoTIFF and Cloud-Optimized GeoTIFF (COG).
Architectural Highlights
- › deep color depth & precision: natively supports 16-bit and 32-bit floating-point pixels per channel, vital for scientific microscopy and hdr photography
- › multi-page & multi-layer stacks: a single tiff file can store hundreds of image pages (fax documents) or multi-spectral satellite wavelength bands
- › foundation of geotiff: extensible metadata tags (geokeys) turn standard tiff files into geospatial cartography rasters
- › bigtiff evolution: standard tiff has a 4gb byte-offset limit, solved by bigtiff (64-bit offsets) for terabyte-scale satellite panoramas.
Superpowers
- Exceptional dynamic range and precision for scientific pixels
- Lossless fidelity without compression degradation
- Highly extensible tag architecture supported for nearly 40 years
Architectural Constraints
- Massive file sizes compared to modern web image formats
- No native support in modern web browsers (cannot be rendered in standard <img> tags)
- Dozens of incompatible compression dialect tags make universal parsing tricky
Inspect Wire / Syntax Representation
Offset 0..1: Byte Order ('II' = 0x4949 Little Endian, 'MM' = 0x4D4D Big Endian)
Offset 2..3: Magic number 42 (0x002A)
Offset 4..7: Offset to the first Image File Directory (IFD)
[Image File Directory (IFD)]
├── Tag 256 (0x0100): ImageWidth = 4096
├── Tag 257 (0x0101): ImageLength = 2160
├── Tag 258 (0x0102): BitsPerSample = 16, 16, 16 (48-bit RGB)
├── Tag 259 (0x0103): Compression = 5 (LZW)
└── Tag 273 (0x0111): StripOffsets -> Pointers to raw pixel strips
BMP (Bitmap Image File)
The Bitmap image format (BMP), or Device-Independent Bitmap (DIB), was introduced by Microsoft and IBM in early versions of Windows and OS/2. BMP stores raster images in the simplest, most primitive way possible: a brief header followed by raw, uncompressed pixel color values stored line by line (conventionally ordered from bottom to top). Because it performs virtually zero compression, BMP files are enormous, but require zero CPU horsepower to decode.
Architectural Highlights
- › simplicity itself: requires virtually zero decompression algorithms—read header, allocate buffer, and blit pixels directly to video ram
- › bottom-up scanline ordering: historically stored pixels starting from the bottom-left corner and reading upward to match crt monitors
- › universal windows legacy: the native raster graphics format of windows 3.1, windows 95, ms paint, and desktop wallpapers
- › astronomical file sizes: a single 4k image in 24-bit uncompressed bmp weighs 25 megabytes.
Superpowers
- Trivial to parse and display in simple C code with zero external libraries
- Exact uncompressed bitmap preservation
- Instant loading time on low-power microcontrollers
Architectural Constraints
- Gigantic file size due to total lack of compression
- Completely obsolete for modern web usage
- Lacks modern color profiles and HDR extensions
Inspect Wire / Syntax Representation
[BITMAPFILEHEADER - 14 bytes]
0x00: "BM" (0x42 0x4D - Magic signature)
0x02: Total file size in bytes
0x0A: Pixel data offset (typically 54 bytes)
[BITMAPINFOHEADER - 40 bytes]
0x0E: Header size (40)
0x12: Image Width (signed integer)
0x16: Image Height (signed integer, positive = bottom-up)
0x1A: Color Planes (1)
0x1C: Bits per pixel (24 = RGB, 32 = RGBA)
0x1E: Compression method (0 = BI_RGB uncompressed)
[Raw Pixel Array]
Row 1 (Bottom line): B G R [pad to 4-byte boundary]
Row 2: ...
glTF 2.0 / GLB (Graphics Language Transmission Format)
glTF (GL Transmission Format), heralded as the 'JPEG of 3D', is an open, royalty-free specification for real-time delivery of 3D models and scenes. Engineered specifically to minimize runtime processing on client devices, glTF combines a JSON scene graph with tightly-packed contiguous binary buffers (.bin or packed inside a binary .glb container). These buffers can be uploaded directly into GPU VRAM (via WebGL, WebGPU, Vulkan, or Metal) without CPU restructuring.
Architectural Highlights
- › zero-copy gpu buffer mapping: vertex positions, normals, tangents, and indices are stored in byte-aligned binary chunks directly ingestible by gpu draw calls
- › universal pbr standard: metallic-roughness physically based rendering (pbr) equations standardized across blender, maya, unreal engine, unity, and three.js
- › glb binary container: bundles the json scene hierarchy, binary geometric buffers, and high-resolution textures into a single self-contained 12-byte header file
- › production compression extensions: supports google draco and meshopt geometric compression plus ktx2 basis universal gpu-compressed textures.
Superpowers
- Loads directly into GPU VRAM with negligible CPU deserialization delay
- Universal ecosystem backing from Apple, Google, Meta, Adobe, NVIDIA, and Khronos
- Comprehensive support for skeletal rigging, morph targets, and PBR shaders
Architectural Constraints
- Not designed for parametric CAD solid modeling or NURBS surfaces
- Massive scenes with millions of discrete scene nodes can suffer JSON parser stalls
Inspect Wire / Syntax Representation
[0x00..0x03]: 0x46546C67 (Magic bytes 'glTF')
[0x04..0x07]: 0x00000002 (Version: 2)
[0x08..0x0B]: Total File Length in Bytes (uint32)
--- Chunk 0: JSON Manifest (Nodes, Meshes, Materials) ---
[0x0C..0x0F]: Chunk Length
[0x10..0x13]: 0x4E4F534A ('JSON')
--- Chunk 1: Binary Buffer (Contiguous GPU Vertex Arrays) ---
[Chunk 1 Len]: 0x004E4942 ('BIN\0')
OpenUSD / USDA / USDC (Universal Scene Description)
Universal Scene Description (OpenUSD) is the collaborative backbone of modern Hollywood VFX, animated feature films, and industrial digital twins. Developed by Pixar and standardized through the Alliance for OpenUSD (Pixar, Apple, NVIDIA, Adobe, Autodesk), USD allows hundreds of artists to simultaneously collaborate on massive, complex virtual worlds using non-destructive LIVRPS composition rules (Local, Inherits, VariantSets, References, Payloads, Specializes).
Architectural Highlights
- › non-destructive layering (livrps): artists can override lighting, materials, and physics without mutating underlying master geometry files
- › high-performance binary 'crate' format: .usdc provides instant memory-mapped access into billion-polygon worlds with zero parsing overhead
- › native apple vision pro & ar standard: usdz packages 3d assets into a single uncompressed zip archive rendered natively across ios, ipados, and visionos
- › nvidia omniverse foundation: powers industrial simulation, robotics training (isaac sim), and photo-real physics engines.
Superpowers
- Enables frictionless multi-studio collaboration across modeling, rigging, layout, and lighting
- Scales effortlessly to gigantic worlds containing millions of unique assets
- First-class variants system allows instant switching of character costumes, props, or LODs
Architectural Constraints
- Steep learning curve; requires understanding complex composition strength algorithms
- Massive C++ codebase footprint, making lightweight in-browser parsing challenging
Inspect Wire / Syntax Representation
#usda 1.0
(
defaultPrim = "HeroVehicle"
metersPerUnit = 0.01
upAxis = "Y"
)
def Xform "HeroVehicle" (
prepend references = @./assets/vehicle_body.usdc@
)
{
float3 xformOp:translate = (0, 150, 0)
uniform token[] xformOpOrder = ["xformOp:translate"]
over "Body" (
prepend variantSets = "paintStyle"
) {
variantSet "paintStyle" = {
"MetallicRed" {
color3f[] primvars:displayColor = [(0.9, 0.05, 0.05)]
}
}
}
}
SafeTensors (Zero-Copy Secure AI Tensor Serialization)
SafeTensors is the secure, high-performance successor to Python's pickle-based checkpoint formats (.pt, .bin, .ckpt). Created by Hugging Face, SafeTensors completely eliminates remote code execution (RCE) vulnerabilities by restricting the file to pure numeric tensor weights. It combines an 8-byte header size prefix and a JSON metadata table with contiguous binary buffers, enabling zero-copy OS memory mapping directly into GPU memory in milliseconds.
Architectural Highlights
- › 100% code injection immune: contains no executable code or arbitrary python serialization routines, neutralizing malicious model poisoning attacks
- › zero-copy gpu memory mapping: uses os mmap to stream 70b parameter llm weights into gpu vram in seconds with zero cpu deserialization bottleneck
- › universal ai ecosystem standard: the default distribution format on hugging face hub, ollama, vllm, and stable diffusion webui
- › native multi-framework support: first-class zero-overhead loading in pytorch, jax, tensorflow, rust candle, and onnx runtime.
Superpowers
- Complete immunity to Arbitrary Code Execution (CVE-grade pickle exploits)
- Unmatched model loading speeds across distributed GPU clusters
- Explicit dtype and shape validation prevents silent data corruption during inference
Architectural Constraints
- Strictly limited to numeric tensors; cannot store optimizer states or Python class graphs
- Uncompressed nature requires large raw disk storage footprints (e.g. 140GB for 70B FP16)
Inspect Wire / Syntax Representation
[0x00..0x07]: uint64 Little-Endian (Header Size N, e.g. 0x0000000000000210 = 528 bytes)
[0x08..0x08+N]: UTF-8 JSON Header String:
{
"__metadata__": {"format": "pt"},
"transformer.layers.0.attn.q_proj.weight": {
"dtype": "BF16",
"shape": [4096, 4096],
"data_offsets": [0, 33554432]
}
}
[0x08+N..EOF]: Raw Contiguous Tensor Memory Buffer (Directly mmaped into GPU)
GGUF (GPT-Generated Unified Format)
GGUF (GPT-Generated Unified Format) is the universal file format powering local, private LLM execution on consumer laptops and edge devices. Engineered by the llama.cpp community, GGUF bundles everything required to run an LLM—quantized weights, hyperparameter limits, BPE tokenizer vocabularies, and chat prompt templates—into a single self-contained file. It revolutionized local AI by allowing 70-billion-parameter models to run on MacBook unified memory and consumer CPUs.
Architectural Highlights
- › all-in-one execution: eliminates external tokenizer files, config.json, or python dependencies; a single .gguf file runs out of the box in ollama or lm studio
- › k-quants block quantization: compresses 16-bit floating point model weights down to 2, 4, or 5 bits per weight while maintaining remarkable perplexity and reasoning
- › zero-copy direct mmap: loads multi-gigabyte models into system ram almost instantaneously
- › native apple metal & vulkan acceleration: engineered for seamless acceleration on apple silicon unified memory (m1/m2/m3/m4) and cpu vector instructions (avx-512, arm neon).
Superpowers
- Permits running ChatGPT-grade models locally without GPU cloud costs or privacy leakage
- Single file simplicity makes downloading, sharing, and archiving AI models effortless
- Unmatched CPU and Apple Silicon memory bandwidth optimization
Architectural Constraints
- Quantization causes slight degradation in nuanced mathematical and coding accuracy
- Primarily built for inference; not suited for backpropagation training or gradient updates
Inspect Wire / Syntax Representation
[0x00..0x03]: 0x46554747 ('GGUF')
[0x04..0x07]: uint32 Version (3)
[0x08..0x0F]: uint64 Tensor Count (e.g. 291)
[0x10..0x17]: uint64 Metadata KV Count (e.g. 36)
--- Extensible Key-Value Metadata Entries ---
- "general.architecture" -> STRING: "llama"
- "llama.context_length" -> UINT32: 8192
- "tokenizer.ggml.tokens" -> ARRAY[STRING]: ["<unk>", "<s>", "hello", ...]
--- Tensor Information Directory & Aligned Quantized Weights ---
- "blk.0.attn_q.weight" -> GGML_TYPE_Q4_K_M [4096, 4096]
DICOM (Digital Imaging and Communications in Medicine)
DICOM is the bedrock of modern medical diagnostics, deployed across every hospital, imaging clinic, and radiology department on Earth. Beyond merely storing images, DICOM is an all-encompassing information protocol binding high-bit-depth pixel data (CT, MRI, ultrasound, X-ray) with calibrated clinical metadata, physical 3D patient slice geometry, radiation dosage logs, and hospital administrative records.
Architectural Highlights
- › bound clinical context: image pixels are inseparable from patient identifiers, scan protocols, and sensor calibration metrics, preventing medical misidentification
- › 12-bit and 16-bit clinical bit depth: captures the full dynamic range of ionizing radiation and magnetic resonance sensors that standard 8-bit image formats crush
- › volumetric 3d stacks: stores thousands of sequential ct/mri slices with micrometer-level physical coordinate tags for 3d organ reconstruction and surgical planning
- › universal pacs interoperability: seamlessly exchanges clinical scans across ge, siemens, philips, and open-source medical workstations (horos, orthanc).
Superpowers
- Guarantees exact photometric and geometric calibration across heterogeneous medical scanners
- Universal adoption throughout worldwide healthcare infrastructure
- Native support for 16-bit raw pixel sensors and losslessly compressed volumetric series
Architectural Constraints
- High risk of patient privacy (HIPAA) breaches if private vendor metadata tags are not scrubbed
- Baroque and massive specification (>5,000 pages) dating back to 1985
Inspect Wire / Syntax Representation
[0x00..0x7F]: 128-byte Preamble (Usually zero-filled)
[0x80..0x83]: 0x4449434D ('DICM' Magic Bytes)
--- Sequential Tagged Data Elements (Group, Element) ---
Tag (0010, 0010): VR=PN Len=14 Value="DOE^JOHN^^^^" (Patient Name)
Tag (0020, 000D): VR=UI Len=42 Value="1.2.840.113619.2.55..." (Study UID)
Tag (0028, 0010): VR=US Len=02 Value=512 (Rows)
Tag (0028, 0011): VR=US Len=02 Value=512 (Columns)
Tag (0028, 0100): VR=US Len=02 Value=16 (Bits Allocated = 16-bit Grayscale)
Tag (7FE0, 0010): VR=OW Len=524288 Value=[Raw CT Hounsfield Unit Sensor Pixels]
FITS (Flexible Image Transport System)
FITS is the definitive data format of modern observational astronomy and astrophysics. Adopted under the legendary charter 'Once FITS, Always FITS', every major observatory—including the James Webb Space Telescope (JWST), Hubble Space Telescope, and ALMA radio array—archives its raw and processed observations in FITS. Files consist of 2880-byte blocks starting with human-readable ASCII keyword cards followed by raw multidimensional arrays of IEEE 754 floating point pixels.
Architectural Highlights
- › 40+ years of unbroken compatibility: a fits file written on magnetic tape in 1981 can still be opened and calibrated by modern astrophysics software today
- › world coordinate system (wcs): embeds celestial coordinates (right ascension, declination) directly onto pixel grids with mathematical distortion models
- › true scientific dynamic range: stores uncompressed 32-bit and 64-bit ieee floating-point flux measurements with zero quantization loss
- › multi-extension support (mef): bundles calibrated science images, photometric error arrays, data quality masks, and spectral tables into a single file.
Superpowers
- Standard archival format used by NASA, ESA, JAXA, and all global astrophysics institutions
- Native support for n-dimensional scientific hypercubes and calibrated coordinate systems
- ASCII headers can be inspected in standard terminal tools or text viewers
Architectural Constraints
- Inherits punch-card era constraints (80-character card records and fixed 2880-byte padding)
- Strict big-endian requirement necessitates byte swapping on modern x86/ARM processors
Inspect Wire / Syntax Representation
SIMPLE = T / file conforms to FITS standard
BITPIX = -32 / IEEE 32-bit floating point pixels
NAXIS = 2 / 2-dimensional image array
NAXIS1 = 2048 / Fast axis pixel length
NAXIS2 = 2048 / Slow axis pixel length
TELESCOP= 'JWST ' / James Webb Space Telescope
INSTRUME= 'NIRCAM ' / Near-Infrared Camera
CRVAL1 = 180.423750000 / Reference celestial RA (degrees)
CRVAL2 = -18.864320000 / Reference celestial Dec (degrees)
BUNIT = 'MJy/sr ' / Physical flux units
END
[... 2880-byte padded boundary followed by 2048x2048 raw IEEE-754 floats ...]
BAM / CRAM / VCF (Next-Gen Genomic Alignment & Variant Formats)
BAM (Binary Alignment Map), CRAM, and VCF (Variant Call Format) represent the technological computational backbone of modern genomics, precision medicine, and oncology. Rather than standard monolithic compression, genomic files utilize BGZF (Blocked GNU Zip), which splits streams into 64KB independently compressed blocks. Combined with companion index files (.bai or .tbi), bioinformaticians can query specific chromosome coordinates in milliseconds without reading multi-gigabyte files.
Architectural Highlights
- › bgzf virtual offset indexing: enables constant-time indexed seeks into any gene or exon across 3 billion base pairs of human dna
- › reference-based cram compression: replaces redundant reference genome sequences with differential delta calls, shrinking storage from 100gb down to 35gb
- › standard variant call format (vcf): encodes single nucleotide polymorphisms (snps), insertions, deletions, and structural variants across entire human populations
- › cigar string encoding: compactly represents complex dna alignments, insertions, deletions, and splicing junctions.
Superpowers
- Enables interactive, sub-second genome browser navigation (IGV) over remote HTTP range requests
- Universal standard across Illumina, Oxford Nanopore, PacBio, and the Broad Institute
- Petabyte-scale compression efficiency with strict loss-less data integrity
Architectural Constraints
- Requires generation and maintenance of separate index files (.bai, .tbi, .csi)
- BGZF decompression introduces substantial CPU overhead during bulk pipeline processing
Inspect Wire / Syntax Representation
# VCF Variant Call Format (BGZF Compressed):
#CHROM POS ID REF ALT QUAL FILTER INFO
chr1 14370 rs6054257 G A 29 PASS AF=0.5;DP=14;NS=3
chr1 17330 . T A 3 q10 AF=0.017;DP=11
# Binary BAM Sequence Alignment Record:
[refID: 0][pos: 14370][bin_mq_nl: 0x4B][flag_nc: 0x63][l_seq: 150]
[CIGAR String: 150M (150 Matches)]
[Sequence: 4-bit encoded nucleotide bases]
[Phred Quality Scores: ASCII offset 33]
GPX & KML (GPS Exchange Format & Keyhole Markup Language)
GPX and KML are the universal languages of personal navigation, fitness telemetry, and 3D globe visualization. GPX (GPS Exchange Format) is the global standard for GPS fitness watches, bike computers, and outdoor devices (Garmin, Strava, Apple Watch), recording time-ordered trackpoints with elevation and biometric sensors. KML (Keyhole Markup Language), originally developed for Keyhole and standardized by the Open Geospatial Consortium (OGC), specializes in rich 3D geographic styling, camera perspectives, and polygon rendering for Google Earth.
Architectural Highlights
- › 100% outdoor hardware interoperability: native export and import across garmin, wahoo, suunto, strava, komoot, and alltrails
- › time-stamped sensor telemetry: captures latitude, longitude, and elevation alongside biometric sensor data (heart rate, cadence, wattage, temperature)
- › rich 3d earth overlays (kml/kmz): enables extruded 3d buildings, custom flight camera animations, and photographic map overlays in google earth
- › pure open standards: easily generated, parsed, and edited using standard xml parsers or simple python scripts.
Superpowers
- Human-readable and universally supported across all consumer GPS devices and fitness apps
- Seamless integration with Google Earth, Google Maps, and Apple Maps
- KMZ bundles custom map icons, 3D collada models, and overlays into a single file
Architectural Constraints
- XML verbosity results in 10x-20x file size bloat compared to binary formats like GeoPackage
- Lacks spatial indexing; finding nearby points requires full linear file scans
Inspect Wire / Syntax Representation
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1" creator="Garmin Edge 1040">
<trk>
<name>Chamonix Alpine Trail Climb</name>
<trkseg>
<trkpt lat="45.923700" lon="6.869400">
<ele>1035.4</ele>
<time>2026-06-15T06:30:00Z</time>
<extensions>
<gpxtpx:TrackPointExtension>
<gpxtpx:hr>145</gpxtpx:hr>
<gpxtpx:cad>86</gpxtpx:cad>
</gpxtpx:TrackPointExtension>
</extensions>
</trkpt>
</trkseg>
</trk>
</gpx>
TAR / ZIP / 7z (POSIX Archive & Universal Compressed Containers)
TAR and ZIP form the invisible foundation of computing, software deployment, and operating systems. TAR (Tape Archive) concatenates files sequentially into 512-byte blocks preserving POSIX file ownership and permissions, typically paired with gzip or zstd. ZIP revolutionized PC computing by placing a 'Central Directory' at the end of the archive, enabling random-access single-file extraction without decompressing the entire file. Modern application formats (DOCX, XLSX, APK, JAR) are internally standard ZIP files.
Architectural Highlights
- › universal application container: underpins java jars, android apks, google chrome crx extensions, and microsoft office .docx documents
- › instant random extraction: zip's tail central directory allows extracting individual files over http range requests without reading earlier archive content
- › posix metadata preservation: tar faithfully maintains unix uid, gid, symlinks, hardlinks, and file permissions across system deployments
- › 7z extreme compression ratios: utilizes lzma/lzma2 solid compression and aes-256 encryption for maximum space reduction.
Superpowers
- Ubiquitous operating system support across Windows, macOS, Linux, and embedded systems
- ZIP enables fast random access extraction of single files in $O(1)$ time
- TAR streams sequentially, making it ideal for pipe-based network backups
Architectural Constraints
- TAR requires reading from byte 0 to find a file at the tail of the stream
- ZIP archive corruption occurs if a download terminates before the tail Central Directory finishes
Inspect Wire / Syntax Representation
[0x00..Local File Header 1]: 0x04034B50 ('PK\x03\x04') [Compressed File Data 1]
[Offset..Local File Header 2]: 0x04034B50 ('PK\x03\x04') [Compressed File Data 2]
...
--- Central Directory (Located at Archive Tail) ---
[Central Directory Header 1]: 0x02014B50 -> Points to Local Header 1 offset
[Central Directory Header 2]: 0x02014B50 -> Points to Local Header 2 offset
--- End of Central Directory Record (EOCD) ---
[0x06054B50 ('PK\x05\x06')]
- uint16 Total Entries in Central Directory
- uint32 Size of Central Directory
- uint32 Offset of Central Directory starting position
EPUB (Electronic Publication Reflowable Digital Book)
EPUB is the universal open standard for digital e-books, adopted across Apple Books, Kobo, Google Play Books, and Amazon Kindle. Rather than imposing static paper pagination like PDF, EPUB packages an entire responsive, accessible website inside a ZIP archive. Text reflows dynamically across smartphone screens, e-ink displays, and desktop monitors according to user font size and screen geometry.
Architectural Highlights
- › dynamic reflowable typography: text automatically adapts and reflows across screens of any size, resolution, or orientation
- › pure open web stack: built entirely on semantic xhtml, css3, svg, mathml, audio media overlays, and embedded opentype fonts
- › strict container specification: the very first file in the zip archive must be an uncompressed 'mimetype' file at fixed byte offset 38
- › accessibility & assistive tech: first-class aria semantics, screen reader navigation landmarks, and synchronized text-to-speech audio overlays.
Superpowers
- Unmatched reading experience across e-ink readers, tablets, and phones
- Universal open ecosystem prevents publisher vendor lock-in
- Easily generated programmatically using standard HTML and CSS tooling
Architectural Constraints
- CSS rendering support varies widely across low-powered e-ink devices
- Reflowable layout breaks static printed page number citations required in legal and academic contexts
Inspect Wire / Syntax Representation
book.epub (ZIP Container):
├── mimetype (Uncompressed: 'application/epub+zip' at offset 38)
├── META-INF/
│ └── container.xml (Points to root package document)
└── OEBPS/
├── content.opf (Metadata, Manifest of items, Reading Spine order)
├── toc.xhtml (Navigation Table of Contents)
├── styles/
│ └── typography.css
├── text/
│ ├── chapter01.xhtml
│ └── chapter02.xhtml
└── images/
└── cover.jpg