News for hackers. Stuff that matters.
Re:The Grug Brained Developer by erik_seaberg on Monday October 30, 2023 @10:41PM (#38079548)
It might be different if you have to talk to an ASIC that cannot understand protobuf, but generally I don’t have to care anymore whether a number is sent in exactly sixteen bits, for the same reason I long since stopped caring about parity or limiting run lengths or 5 vs. 12 V busses.
Re:The Grug Brained Developer by qweqwe14 on Tuesday October 31, 2023 @12:31AM (#38080340)
It wouldn't be ad hoc per se, basically you would have a set of guidelines on how to transmit data and that by itself would be a standard.

Something like "use fixed length 8/16/32/64 bit signed/unsigned integers in big endian, length prefix can be 8/16/32 bits, bool is 1 byte (00 = false, 01 = true)" etc, without extra stuff like varints or bit packing, which a lot of current formats are doing.

In short, just use the most straightforward way of encoding while also using the least amount of data. Big endian for ints is very common, simple and relatively compact if you only use the bit width that you need.

Re:The Grug Brained Developer by josephg on Tuesday October 31, 2023 @08:08AM (#38083520)
I agree; sometimes writing your own binary format is the right call. To my point upthread, the trick is knowing when that’s the right choice and when it’s better to use protobuf or something standard. (Or, when to just stick to json).

Developing good instincts for this stuff takes a lifetime.