Live data from Hacker News

Why the Windows Registry sucks technically (2010)

rwmj.wordpress.com

11–20 of 342 posts

Re: Why the Windows Registry sucks technically (2010)

#11

I don't feel like this article is good enough to be worth resharing 12 years later. It missed some of the key reasons why the Registry is bad and other criticisms ("We have to write exactly the bytes Windows expects." yeah of course you do. It's only meant to be changed using APIs.) are not very well thought out. The criticism that the Registry is a janky filesystem in a single file is dismissed because you can do th…

Actually the Registry is not a single file, it is a set of files virtually assembled into a single "object" that has many points in common with both a database and a filesystem.

Personally I see it more like a filesystem, with some striking resemblance to NTFS.

Re: Why the Windows Registry sucks technically (2010)

#12

I don't feel like this article is good enough to be worth resharing 12 years later. It missed some of the key reasons why the Registry is bad and other criticisms ("We have to write exactly the bytes Windows expects." yeah of course you do. It's only meant to be changed using APIs.) are not very well thought out. The criticism that the Registry is a janky filesystem in a single file is dismissed because you can do th…

It sounds you misunderstood at least parts of the article. The ext3 comparison doesn't support or dismiss anything, it's to explain how there can be a filesystem in a file. They then go ahead and say how it could be a good single-file format if it were more database-like instead of filesystem-like. Other criticism of the format clearly take into account that it's a historically grown format which explains some of its idiosyncrasies, but that still doesn't mean it's not valid criticism. Especially the mentioned inconsistencies regarding data types and encodings can hardly be attributed to the registry being single-file, as you seem to suggest by saying "The Registry being a single file is a cause of a ton of problems, and is IMHO the root of all the other problems."

Re: Why the Windows Registry sucks technically (2010)

#13
post #11

I don't feel like this article is good enough to be worth resharing 12 years later. It missed some of the key reasons why the Registry is bad and other criticisms ("We have to write exactly the bytes Windows expects." yeah of course you do. It's only meant to be changed using APIs.) are not very well thought out. The criticism that the Registry is a janky filesystem in a single file is dismissed because you can do th…

Actually the Registry is not a single file, it is a set of files virtually assembled into a single "object" that has many points in common with both a database and a filesystem. Personally I see it more like a filesystem, with some striking resemblance to NTFS.

It is a single file to the underlying filesystem. Yes it reimplements a filesystem, I already said that in the comment you are replying to.

Re: Why the Windows Registry sucks technically (2010)

#14

>Hello Microsoft programmers, a memory dump is not a file format Wait until you see the Office formats without the extra x in the extension.

That was a deliberate attempt to make it impossible for competitors to read and write their format wasn’t it?

Re: Why the Windows Registry sucks technically (2010)

#15

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.

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 has survived in time because text files are still text files.

Re: Why the Windows Registry sucks technically (2010)

#16

I don't feel like this article is good enough to be worth resharing 12 years later. It missed some of the key reasons why the Registry is bad and other criticisms ("We have to write exactly the bytes Windows expects." yeah of course you do. It's only meant to be changed using APIs.) are not very well thought out. The criticism that the Registry is a janky filesystem in a single file is dismissed because you can do th…

It sounds you misunderstood at least parts of the article. The ext3 comparison doesn't support or dismiss anything, it's to explain how there can be a filesystem in a file. They then go ahead and say how it could be a good single-file format if it were more database-like instead of filesystem-like. Other criticism of the format clearly take into account that it's a historically grown format which explains some of its…

I didn't misunderstand anything. I read this in 2010 and just re-read it.

The ext3 example is used exactly as I describe, to hand wave away "having a file system in a single file" as a criticism and just move on to talking about nitpicks with the Registry's implementation of a filesystem in a file, while ignoring that all of the problems with the registry spawn from the choice to have it be a filesystem in a file.

This article is like going to a house that burned down and saying "well yes, the house burned down. But barns also burn down. Now see one problem is that the couch is a pile of ash and cinders. These materials do not make for a good couch. Better couches use foam and fabric."

Re: Why the Windows Registry sucks technically (2010)

#17
post #11

Earlier quoted context omitted.

Actually the Registry is not a single file, it is a set of files virtually assembled into a single "object" that has many points in common with both a database and a filesystem. Personally I see it more like a filesystem, with some striking resemblance to NTFS.

It is a single file to the underlying filesystem. Yes it reimplements a filesystem, I already said that in the comment you are replying to.

It isn’t a single file. There are multiple “hives” to the registry. There is at a minimum the SECURITY, SAM, SYSTEM and BCD “hives” that are all individual files on disk. Additionally, individual UWP apps can have their own isolated hive if need be.

Re: Why the Windows Registry sucks technically (2010)

#18

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. 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…

To be fair, Microsoft doesn't rely on the registry for complex configurations either, even IIS uses .config files.

Re: Why the Windows Registry sucks technically (2010)

#19
It is easy to be critical of Microsoft and many of their decisions until you reflect on the reality that they have provided the software that has been running billions of computers world-wide for almost four decades. And they have done this with an astounding level of software and hardware compatibility across time, devices and technologies.

This is critical to understand before pointing at anything MS and being critical. The desktop world overwhelmingly runs on Windows. This has been the case for decades. And the reason is backwards compatibility.

Imagine having a requirement that every decision you make must not break backwards compatibility. And then imagine having to stay as true as possible to that rule for 40 years.

Re: Why the Windows Registry sucks technically (2010)

#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 if someone with admin rights couldn't bork/hack the machine in a billion ways. Or if someone with admin rights on linux couldn't write garbage to /dev/sda1 and "hide" something from the OS.

Post reply on HN