Kenji
I don't like the original registry. So I think something like gnome's implementation is OK for Linux.(Central configuration manager is good for management. I think we can use the text file to save.)
Kenji
the registry also exports to a file
Yes, but .reg uses .ini style format. It can't represent complex cases elegantly.
Chungy
dconf is decent, mainly because the system doesn't depend on it for anything critical.
Chungy
Corrupted or missing dconf means things revert to defaults.
Chungy
https://github.com/toml-lang/toml
Chungy
INI except with a spec
Kenji
I have used TOML. I think JSON is better.
Kenji
But the parser of JSON has a big binary size. (About 100 KiB growth.)
Chungy
Depends on use case. Human readable/writable config: TOML is massively better than JSON
Kenji
I choose the jsmn. But it's trivial to use.
Chungy
Data interchange: JSON
Chungy
I don't know what one you're using. Shouldn't be large though
Kenji
I also don't like systemd, there are better alternatives such as openrc, runit or even the good'ol sysvinit. BTW, text config and logs are better to process than binary files
But I don't think use openrc is good. Because using shell script is not good idea. (I think we should use modern script language like python.)
Chungy
Python is slow and harder to use
Kenji
Python is slow and harder to use
It still faster than create a process.
Chungy
It isn't. Shell scripts are almost always faster than python.
Kenji
Because something like sed, can use it directly in the current process.
Kenji
I think we should reduce the creation of sub process
Chungy
In general all this talk of "object scripting" and registries is the antithesis of Unix. Good thing you're in a channel about NT though.
Kenji
I don't think always follow the thesis of Unix is good.
Kenji
Sometimes we should reduce the complexity.
Kenji
,in the global view.
Kenji
For example, sys v init is simple in the microcosmic. But complex in the global view.
Kenji
I am sorry about the bad English. I should say the macroscopic.
Chungy
Perhaps. And a big reason systemd was made. (A huge win for any admin, it drastically simplified everything)
Kenji
I think the KISS thesis is good. But I don't think make it complex in macroscopic because we need to make the microcosmic simple is good.
Kenji
I think things should be simple in both microcosmic and macroscopic.
Kenji
And I want to say my motto is "Writing the most compact implementations by using the least syntaxes and third-party libraries.".
Kenji
It's important for us to make a good trade-off. So I don't think all things from Unix are good.
Kenji
I don't think RMS is good at making trade-off because of the GNU Hurd.(When will the GNU Hurd stable release to public?)
BieHDC
Yes, but .reg uses .ini style format. It can't represent complex cases elegantly.
an ini is also just a text file, what you might mean is plaintext vs binary storage
Kenji
an ini is also just a text file, what you might mean is plaintext vs binary storage
Not. I only want to say ini vs other plain text configuration formats like xml json toml etc
rosbridge
<hbelusca> https://stackoverflow.com/questions/1616289/why-does-the-windows-registry-exist
rosbridge
<hbelusca> "Why does the Windows registry exist?"
rosbridge
<hbelusca> https://devblogs.microsoft.com/oldnewthing/20071126-00/?p=24383https://devblogs.microsoft.com/oldnewthing/20071126-00/?p=24383
rosbridge
<hbelusca> http://www.virtualdub.org/blog/pivot/entry.php?id=312
Stas'M
Indeed
Tobiyo
the unix thesis enables rapid development while the microsoft way enabled good legacy support
Tobiyo
the entire reason linux doesn't have "stable" kernel ABI and followed the unix way is because it enabled rapid development which facilitated its spread in the open source world nothing more and nothing less
Chungy
Linux's module ABI isn't related to "the unix way", it's just dev convenience :P
Chungy
Solaris was/is opposite, with strict driver backwards compatibility that would even make Windows jealous
Tobiyo
that's why i separated the two :p
Chungy
MS seems to upset and break all compatibility in the Windows kernel every 10 years. Solaris never did.
rosbridge
<hbelusca> > [...] because it enabled rapid development which facilitated its spread in the open source world nothing more and nothing less (edited) @Telegram bridge <-- like a virus
Tobiyo
solaris has better backwards compatibility that windows? welp why aren't we all using solaris badum tss
Tobiyo
yeah like a virus, a virus that shouldn't taken windows down long ago :p
Chungy
Windows mostly hasn't broken userland compatibility (neither has Linux, nor Solaris in any of these examples), with the exception of WoW32 going away in 64-bit versions. Talking purely about drivers
Chungy
You can't use the same Linux kernel module on a new release and they're only ~3 months apart. You can use Solaris drivers from the 1990s (you can even load 32-bit ones on 64-bit installs) and it still works fine
Tobiyo
ohw yeah the whole "we don't break userland" thing
Chungy
Windows incremented the major version number every time driver compatibility was broken. 4.0, 5.0 (2000), 6.0 (Vista). Windows 10 is the exception, but it lies to apps and tells them it's NT 6.3 if they don't explicitly have W10 compatibility declared in their manifest.
rosbridge
<hbelusca> > every time driver compatibility was broken
Tobiyo
oh my
rosbridge
<hbelusca> when the kernel gets changes, basically yeah.
Tobiyo
so ms did break drivers twas just once every 10 years hmhm
Chungy
It became annoying once when I had a crash report for an app, without the manifest updated... supposedly a crash when running on Windows 8.1 (NT 6.3), couldn't reproduce. Took a couple days to find out it was actually Windows 10 and lying about its own version, was able to reproduce
Tobiyo
dang :/
Chungy
honestly I don't even think Windows's userland backwards compatibility is as good as it's sometimes cracked up to be. I've experienced breaks in both 8.x and 10, but oh well :P
rosbridge
<hbelusca> just make your crash reporter program report the actual windows version 🐸
Tobiyo
lol
Chungy
<hbelusca> just make your crash reporter program report the actual windows version 🐸
Didn't work as Windows 10 actively lies about its own version (ProductName == "Windows 8.1", ProductVersion == "6.3") unless you explicitly put Windows 10 compat in the manifest.
Tobiyo
down with windows!
rosbridge
<hbelusca> does it fake version strings even if you read the registry for the actual product name?
Chungy
MS's rationale is basically "It's still compatible with all drivers from Vista through 8.1, despite being versioned 10.0, let driver installers see 6.x to know it's ok"
rosbridge
<hbelusca> so the data read from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
rosbridge
<hbelusca> is also faked? wow
Chungy
probably through the same mechanism that Compatibility Mode does it to make it look like 95/98/XP/whatever xD
mov
@movAxAx Thanks about NSudo's thing. But I don't think using text file for managing complex configurations is a good idea because of the performance.
Because of performance it is a good idea on many systems (desktop). Just see how bad performance the Windows Registry have.
rosbridge
<hbelusca> change of subject: example of what data telemetry does in MS product & why: https://github.com/microsoft/terminal/commit/deef9f3cdc915cbc13724b708e1e94b9a4074198
BieHDC
just import a random regkey and you see
Mark
Shouldn't
and isnt, this key simply reads 6.3
mov
Bad perf? Any source other than a random linux fanboy crying?
Do any test on yourself. Import data, or compare how much it takes a native search vs export to text and text search.
Stas'M
#reactosmemes 😛
Anonymous
😂