Live data from Hacker News

Why the Windows Registry sucks technically (2010)

rwmj.wordpress.com

121–130 of 342 posts

Re: Why the Windows Registry sucks technically (2010)

#121

Earlier quoted context omitted.

I hate this fanatical love of the UNIX way. I really hate that as of today Windows is the only non UNIX OS. I trully believe that this fact set us back. No more exciting new OSes only boring unix.

The problem is that UNIX, while it reeks, it's good enough for most people to not care about it. Plan 9 was supposed to be the better designed UNIX all around and it did not even dent it. It wasn't significantly better that UNIX to displace it. http://www.catb.org/esr/writings/taoup/html/plan9.html > We know what Unix's future used to look like. It was designed by the research group at Bell Labs that built Unix and c…

I think also that BSD (and later Linux) made UNIX free, and I assume Plan 9 was not.

UNIX was also written to run on minimal hardware. Even if Multics had been open-sourced, UNIX would still have won.

Re: Why the Windows Registry sucks technically (2010)

#122
post #45
post #20

> This is a far cry from /etc/progname.conf in Linux. Some of these arguments are not really in good faith. First, this isn't a technical issue with the registry, but with how it's been used over the years and never "refactored" - a distinct issue. Second, I dare you to run "ls /etc" and claim it's not a mess... Besides, most of the post is how anyone with a text editor and admin rights can bork/hack the machine. As…

I mean, yeah - /etc is messy. Every configuration file in /etc has yet another bespoke configuration language. And somewhere on your system lies a corresponding buggy, half implemented parser for it. But /etc has gotten messy in the same way a desk gets messy. There's documents everywhere, but if you pick anything up and take a look at it, you can usually (with the help of google) figure out what that file does and h…

> . And just about all of those programs have documentation. (Or, at worst, source code).

Having a documentation has nothing with reg/etc, win/nix or whatever.

You have documentation for something in /etc? 99% that came from the distro packages.

Re: Why the Windows Registry sucks technically (2010)

#123
post #116
post #95

Earlier quoted context omitted.

> I can’t and shouldn’t be able to write to /etc as an ordinary or guest user. You're right, you shouldn't. If you are able to, your distro is very odd and I'd recommend seeking a new one. > Sounds like you’re just one of many anti-windows people, exactly what was pointed out about people bashing the registry. There's no need to attack people.

This is emphatically NOT true. If you absolutely could not write to /etc, then you would never be able to change your password. The passwd, chsh, chfn, and other utilities allow a non-privileged user to make controlled changes to privileged files via the setuid/gid system calls. A user can trigger controlled writes to files in /etc.

That's being a bit pedantic innit?

Re: Why the Windows Registry sucks technically (2010)

#124

Earlier quoted context omitted.

> The UNIX way is undeniably more flexible since it isn't a virtual filesystem, it is just a filesystem. Unix simply doesn't have a "way" in that regard, other than a loose convention to put text files in "/etc". Every application comes up with its own format. Parsing that file is application-specific. Updating a value in a text file means re-writing the whole file again. It is a technically-inferior approach that ha…

I hate this fanatical love of the UNIX way. I really hate that as of today Windows is the only non UNIX OS. I trully believe that this fact set us back. No more exciting new OSes only boring unix.

Is that you, Dave Cutler?

But more seriously, what do you want from an OS? Cleaner design? Plan 9 comes to mind. QNX is very elegant, too. Some microkernel thing? Fuchsia, but some say it's inelegant and overdesigned right off the bat. Minix has some nice properties but somehow nobody but Intel seems to use it. Also, QNX again (but as the name suggests it's similar to Unix)... Distributed computing? I don't know, seems OK to run it mostly in user space.

My favorite alternatives are Plan 9, QNX and L4 (I know it's not an OS), of which QNX is the only one I have actually used. Shame about Fuchsia, I believe the negative opinions because I looked at some documentation and code before I read them and had a sort of "THAT is supposed to be Google's better OS?!" moment.

Re: Why the Windows Registry sucks technically (2010)

#125

I really appreciate when people use technical facts to criticize something, like with this. It is a well written take-down of the implementation of the Windows Registry as of both today and 2010. I suspect if the concept of the registry was created today it would look more like a database (e.g. Sqlite), although organizing it like a virtual FileSystem does have a certain appeal, and unfortunately I don't know of a da…

The problem of removing applications together with their configurations is trivially solved in the various Linux-based systems where any software package is installed only inside a private directory. Any files that would be expected to be in shared directories like /usr/bin, /usr/lib or /etc, are replaced by symbolic links. Except for symbolic links, the installation of a package must not change anything outside its…

You can do similar on windows. However, the registry was turned into trying to solve a slightly different issue of roaming users, and centrally managed settings, split by machine and user, and using what became active directory. They started off with OLE and its central store of holding name value pairs in a tree. Basically making the registry do at least 4 different things. Only one of them it does 'ok' (COM/OLE lookups). In practice it became a huge mess because thousands of applications now keep their settings in there and poor cleanup practices like you see. When like 99% of the use cases out there would be perfectly well suited to just using the forever deprecated win32 INI API to manage settings and MS just saying 'put your config files in these places for different effects'. Instead they said 'put it all in the registry'. Looking back at it, it is now 100% clear it was a bad design decision.

Re: Why the Windows Registry sucks technically (2010)

#126

I really appreciate when people use technical facts to criticize something, like with this. It is a well written take-down of the implementation of the Windows Registry as of both today and 2010. I suspect if the concept of the registry was created today it would look more like a database (e.g. Sqlite), although organizing it like a virtual FileSystem does have a certain appeal, and unfortunately I don't know of a da…

What UNIX way?

The religious text files scattered everywhere on the FOSS clones?

The adoption of registry ideas by GNOME on gconf?

The configuration databases used by HP-UX and Aix?

The plists used by NeXTSTEP and macOS?

The settings per app used on Android (technically UNIX based at its Linux kernel)

Re: Why the Windows Registry sucks technically (2010)

#127
post #121

Earlier quoted context omitted.

The problem is that UNIX, while it reeks, it's good enough for most people to not care about it. Plan 9 was supposed to be the better designed UNIX all around and it did not even dent it. It wasn't significantly better that UNIX to displace it. http://www.catb.org/esr/writings/taoup/html/plan9.html > We know what Unix's future used to look like. It was designed by the research group at Bell Labs that built Unix and c…

I think also that BSD (and later Linux) made UNIX free, and I assume Plan 9 was not. UNIX was also written to run on minimal hardware. Even if Multics had been open-sourced, UNIX would still have won.

UNIX has been free since V6, that is why it got adopted by everyone, and then AT&T sued Berkley when they got the opportunity to actually be allowed to charge for it.

Re: Why the Windows Registry sucks technically (2010)

#128

I really appreciate when people use technical facts to criticize something, like with this. It is a well written take-down of the implementation of the Windows Registry as of both today and 2010. I suspect if the concept of the registry was created today it would look more like a database (e.g. Sqlite), although organizing it like a virtual FileSystem does have a certain appeal, and unfortunately I don't know of a da…

> The UNIX way is undeniably more flexible since it isn't a virtual filesystem, it is just a filesystem. The problem is that everyone invented their own configuration format to store configuration data in /etc and there's no format agnostic API to access that information (you can open it, but can you understand it?).

It's an interesting point and it would really be nice if there were some kind of standard, especially a standardized C library within the standard C library for configuration files, but in practice almost all of them are also easily understood `key=value` pairs that only differ by how they denote this.

Still, it would be very nice to be able to inspect and modify them by standardized tools but in practice almost any configuration file opened is obvious.

Re: Why the Windows Registry sucks technically (2010)

#129

I really appreciate when people use technical facts to criticize something, like with this. It is a well written take-down of the implementation of the Windows Registry as of both today and 2010. I suspect if the concept of the registry was created today it would look more like a database (e.g. Sqlite), although organizing it like a virtual FileSystem does have a certain appeal, and unfortunately I don't know of a da…

"The format is... endian-specific."

Wasn't there a SPARC port of Windows? Did it run on any other big-endian machines? Were the MIPS and POWER ports little-endian?

In any case, I can see why Microsoft paid SQLite for a custom set of features.

Re: Why the Windows Registry sucks technically (2010)

#130

I really appreciate when people use technical facts to criticize something, like with this. It is a well written take-down of the implementation of the Windows Registry as of both today and 2010. I suspect if the concept of the registry was created today it would look more like a database (e.g. Sqlite), although organizing it like a virtual FileSystem does have a certain appeal, and unfortunately I don't know of a da…

Doing that in a database is easy. You just write your keys on the "/root/path/subpath" format, and search the strings starting with some text. Most database engines have this kind of search heavily optimized. (And the ones that don't cost hundreds of thousands per core, so who cares?)

The one thing you lose by using a real database is that filesystems are only locally coherent, while databases try very hard to be globally coherent. If it has heavy access, the database way will lose performance much faster.

Post reply on HN