On Mon, 29 Apr 2019 at 14:15, Michael Kjörling <michael@kjorling.se> wrote:
On 28 Apr 2019 13:00 -0700, from bakul@bitblocks.com (Bakul Shah):
> IMHO separate files are fine but it would've been nice to
> a) have a place other than $HOME to store these files and

XDG already does that. At least Norman already mentioned ~/.config in
this thread.

https://www.freedesktop.org/wiki/Software/xdg-user-dirs/

Not sure how common that is on non-Linux systems, but it seems pretty
common on modern Linux distributions.

That's application-specific, not distribution or OS specific.

I have 58 subdirectories of ~/.config on my workstation at work; that's not
deviating much from your case; 58 directories (indicating about 58 apps),
2047 subdirectories, 7422 files, 481MB of data, the largest bits being
cache data for Google Chrome web browser. 
 
My workstation Debian system has a staggering 3467 files in that
directory, spread around 444 directories (75 directories directly
under ~/.config). Plus another 142 dot-directories and 66 dotfiles in
~/. Now, ~/.config typically uses multiple files per application, and
at a glance there's some stuff there that could definitely go, but I
still shudder to think of having all of those directly under ~/, so
it's clearly doing _some_ good in that regard.
 
I have had little reason to worry about this; I tend to concur.
 
> b) a standardized plain text format

I'm not sure about that; different applications have very different
needs, and trying to shoehorn one into another would be ugly; quite
possibly even more ugly than just having different formats.

Yeah, the time they tried doing that, we got "XML everywhere," and
that wasn't a notable improvement.

What you see on mobile devices these days is that the ".config/" file
is a SQLite database, which is where both configuration and application
data are captured.

As someone that spends a great deal of his time writing SQL code,
I find that not too heinous; others might disagree.  I think having a
SQLite file is better than getting some heinous XML file.
(Especially if the XML file is some thinly disguised serialization of
a hierarchy of COM objects, where modifying element order would be
liable to make your Windows application blow up.)
 
The "mobile platforms" have gotten quite a lot of milage out of using
SQLite databases (true both on Android and on iOS); there could
be worse things.

The SQLite web site does have a page somewhat proselytizing
this:  https://sqlite.org/appfileformat.html

I heard D Richard Hipp (author of SQLite, now head of the dev team)
explain this at PGCon 5 years ago <https://www.pgcon.org/2014/schedule/events/736.en.html>

He also contended that the world might be a better place if LibreOffice
documents were captured as SQLite databases rather than being bundles of
XML stored in a .zip archive.  That's a nice lively argument to have.
Actually poke at the slides at PGCon 2014; he makes similar arguments
about git repos (what if metadata were in a database?) and ePub book
files.

If we were going to forcibly shoehorn everything into one thing, I think I'd
rather that than a lot of the alternatives.  But I'm admittedly excessively
comfortable with SQL ;-)

I can live with us having a number of data formats, particularly if
they remain simple.
--
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"