Earlier quoted context omitted.
> protobuf such an awful format, I wish people would stop using it
Why? The format is not that bad. The binding/libraries OTOH are often awful and they often require unnecessary full-message deserialization
BuffDB is a Rust library to simplify multi-plexing on edge devices
11–20 of 33 posts
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#12Earlier quoted context omitted.
> protobuf such an awful format, I wish people would stop using it
Why? The format is not that bad. The binding/libraries OTOH are often awful and they often require unnecessary full-message deserialization
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#13Earlier quoted context omitted.
Why? The format is not that bad. The binding/libraries OTOH are often awful and they often require unnecessary full-message deserialization
not self describing. if it was just the field names I could deal with that, but even the values are ambiguous, since the same type is used for Bytes and embedded Messages. the worst part is the wire type integer has two unused values, so they easily could have added a wire type for embedded messages
It would be nice if the next serialization format either is truly original or just solves problems that somehow none of the many existing schemes do.
How many serialization formats are there? See: https://en.wikipedia.org/wiki/Comparison_of_data-serializati... (which is NOT a complete list).
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#14Is it a protobuf based database store, or is it a database that uses grpc as its connection communication? Could be a bit clearer from the frontpage
> protobuf such an awful format, I wish people would stop using it
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#15Earlier quoted context omitted.
not self describing. if it was just the field names I could deal with that, but even the values are ambiguous, since the same type is used for Bytes and embedded Messages. the worst part is the wire type integer has two unused values, so they easily could have added a wire type for embedded messages
Self-describing is point-less for serializations. There is a great deal of history here. ASN.1 has self-describing encoding rules such as BER/DER/CER, XER (XML), JER (JSON), and GSER (never mind), and it has non-self-describing serializations like PER (packed encoring rules) and OER (octet encoding rules). XML and JSON are self-describing, naturally. FastInfoSet is a PER-based fast encoding for XML, because it turns…
you couldn't be more wrong. what happens when you lose the schema, or never had access to it in the first place? think from the point of view of reverse engineering
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#16Earlier quoted context omitted.
Self-describing is point-less for serializations. There is a great deal of history here. ASN.1 has self-describing encoding rules such as BER/DER/CER, XER (XML), JER (JSON), and GSER (never mind), and it has non-self-describing serializations like PER (packed encoring rules) and OER (octet encoding rules). XML and JSON are self-describing, naturally. FastInfoSet is a PER-based fast encoding for XML, because it turns…
> Self-describing is point-less for serializations you couldn't be more wrong. what happens when you lose the schema, or never had access to it in the first place? think from the point of view of reverse engineering
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#17Earlier quoted context omitted.
Self-describing is point-less for serializations. There is a great deal of history here. ASN.1 has self-describing encoding rules such as BER/DER/CER, XER (XML), JER (JSON), and GSER (never mind), and it has non-self-describing serializations like PER (packed encoring rules) and OER (octet encoding rules). XML and JSON are self-describing, naturally. FastInfoSet is a PER-based fast encoding for XML, because it turns…
> Self-describing is point-less for serializations you couldn't be more wrong. what happens when you lose the schema, or never had access to it in the first place? think from the point of view of reverse engineering
And if you lose your own schema, then you probably have more serious underlying problems.
Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#18Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#19Re: BuffDB is a Rust library to simplify multi-plexing on edge devices
#20Earlier quoted context omitted.
Why? The format is not that bad. The binding/libraries OTOH are often awful and they often require unnecessary full-message deserialization
Protobuf is a tag-length-value (TLV) encoding. It's bad. TLV is the thing that everyone loves to hate about ASN.1's DER.
I'm not sure that's a helpful way to look at things.
There are tradeoffs. Can you elaborate more about what aspects of a TLV encoding you find problematic? Is it decoding speed? The need to copy the encoded value into a native value in order to make use of it? Something else?