Pages

About

BXM is two small tools that share one idea: same input, same bytes, same result. They live in one repository and on one site because they solve the same kind of problem …

BXM Canon

BXM Canon is a binary encoding with exactly one valid encoding for every value. Same data in, same bytes out, on any machine. The decoder refuses everything else, so …

BXM Memo

BXM Memo skips a command when its inputs haven’t changed. Put bxm-memo run in front of a slow step, say what it reads and writes, and the next time the inputs match …

Contact

Bug reports, feature requests and pull requests are welcome on GitHub. That’s the fastest way to get something fixed, and other people can see the answer. For …

Download BXM

Each archive holds both tools, bxm-canon and bxm-memo, plus the Canon library and C header, the format spec with its test vectors, and the license files. The links always …

Quick Start

Five minutes with each tool. First download the archive for your system and put bxm-canon and bxm-memo on your PATH. BXM Canon Write the same data two ways and hash both: …

Reference

Every command and flag of both tools, and the Canon format in brief. The full format is in spec/CANON.md. bxm-canon bxm-canon encode [FILE] [-o OUT] Canon text (JSON) in, …

Use Cases

Where BXM earns its place, with a worked case study for each. Every case study is a script in the repository under examples/case-studies. Its recorded output is in …