On 2017-11-22 09:46 AM, Arnt Gulbrandsen wrote:
Aldemir Akpinar writes:
No, I've actually asked an honest question.
In that case you'll get my honest answer. I've implemented several
file/network formats vaguely like that journal format, one of them has
likely been used by millions of people.
In each case, the team decided to use a header/packet format, because
that made both writing and reading simple. In the case of the network
format we additionally included a magic number to catch version skew,
and did it using binary because that made for the simplest reading
code. Reading a 16-byte header using read(2) is simpler than reading a
textual header.
I don't remember anyone on either of the teams suggesting that using
text had advantages for developers or users. Generally we just chose
what was easier to ship reliably and parse/generate with simple code.
In one case we used binary because even though the data were readable
text, they weren't editable (the actual format had non-trivial
restrictions). I don't remember the details, but for some reason we
worried that people would hand-edit files and cause problems deep
inside the reading program.
I find it totally plausible that the systemd people would design the
format for similar concerns and end up a format where a fixed-size
header includes a tag type and length, then a variable-sized packets
mostly containing log lines, and then another header. That kind of
thing is so easy to read and write using
https://linux.die.net/man/2/read and its companion functions.
It is all a trade-off, making choices in implementation, and choice IS a
good thing to have (Insert thumbs up to Devuan here), I don't think
anybody is disputing that.
This sub-thread mentions forensics, which to me means analysis of a
system, a snapshot in time or worst case after complete failure.
Due to the nature of things one is always going to be faced with binary
files somewhere in the analysis that may or may not be easily
decode-able or even recoverable.
There is no question in my mind that a broken plain text file is far
easier to traverse and sort out, which is really what the finger
pointing game going on here is all about.
Choice is good, having "no choice" forced upon you is bad, end of story.
Clarke
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng