4 ms·
There are three big things that are important for modern data formats: - It must be easy to use. The harder it is to set up, the less people will want to use i
by kstenerud 5y ago
There are three big things that are important for modern data formats:
- It must be easy to use. The harder it is to set up, the less people will want to use it. The harder it is to work with, the higher the maintenance costs and the greater the number of mistakes and security holes. Poorly defined specs and a cavalier attitude towards the users of these technologies have trained us to just accept bad quality and make do.
- It must be efficient. Text formats are convenient, but wasteful of both CPU and bandwidth. Going forward we need to think more about our energy impact. There needs to be a way to have our cake and eat it too!
- It must be worry-free. Codec differences are a security risk. Bad defaults are a security risk. Lack of forward compatibility is a security risk. Today's hostile world does not at all resemble the world in which our current formats were developed.
This is why I'm developing https://concise-encoding.org/ https://concise-encoding.org/
- zkldi 5y agoI've seen this posted around quite a lot now and it seems quite interesting. Is there a JS/TS implementation of the spec?
- kstenerud 5y agoUnfortunately not yet. I'm still finishing up the reference implementation in go, and then looking for help with the other implementations. I think there's someone doing a Swift implementation as well...
- mongol 5y agoIt looks quite nice. But also unneccessary complex. Why are there special URL types? Why do the time types not follow ISO8601 but almost?
- kstenerud 5y agoThere's a special URL type because URLs are not strings, and the computer needs to know that. The date format is not ISO8601 because ISO8601 has too much cruft, bad defaults, and is missing real timezone data. I'd have been fine with the cruft and bad defaults, but lack of timezones is a deal breaker.
- Nursie 5y ago> It must be efficient. Must it? Are text-format messages really that much of an impact on traffic levels or CPU use? Human readability is a very important, probably more so. ASN.1 is pretty efficient, but I wouldn't wish it on my worst enemy.
- kstenerud 5y agoYup, human readability is the reason why text formats gained popularity in the first place. That's why I've developed a parallel text/binary format. You edit in text, and send in binary.