Live data from Hacker News

Why the Windows Registry sucks technically (2010)

rwmj.wordpress.com

321–330 of 342 posts

Re: Why the Windows Registry sucks technically (2010)

#321

Earlier quoted context omitted.

Exactly this. Unix is a bit of a mess, at least that's understandable because it's 'open'. MS registry is a bit nutty, it should be refactored in some simple, clean way, which is apparently extremely difficult to do for big companies, especially those that consider 'backwards compatibility' to be 'everything'.

Do you happen to know Linus' "first rule of kernel development"? "If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to understand?" - from his famous rant [1] So Linux prioritizes backwards compat as well. It would be insane for any project relied on by half the computing world not to. MS just throwing out their registry and rewriting…

"It would be insane for any project relied on by half the computing world not to."

I think this is insane and narrow minded.

I suggest there should be 'eras' of version where things do change.

If they make OS changes, notify early, prepare basic materials, create 'auto-updaters' and allow a few years for change.

But it needs to be done.

Re: Why the Windows Registry sucks technically (2010)

#322

Earlier quoted context omitted.

Exactly this. Unix is a bit of a mess, at least that's understandable because it's 'open'. MS registry is a bit nutty, it should be refactored in some simple, clean way, which is apparently extremely difficult to do for big companies, especially those that consider 'backwards compatibility' to be 'everything'.

> especially those that consider 'backwards compatibility' to be 'everything'. Thank god there are companies that still think about backwards compatibility and are not intent in breaking everything because there's a shiny new thing ... ahem ... "refactoring in some simple clean way"

Making things clear is not some kind of 'shiny new thing' that the kids are dancing to - it's rational.

'Backwards Focus Absolutism' means we live in a world of stupid cobwebs and terrible design. The Windows Registry is a hack, it was originally designed to do something mundane and simple. It just grew, like a virus.

Re: Why the Windows Registry sucks technically (2010)

#323

Earlier quoted context omitted.

> especially those that consider 'backwards compatibility' to be 'everything'. Thank god there are companies that still think about backwards compatibility and are not intent in breaking everything because there's a shiny new thing ... ahem ... "refactoring in some simple clean way"

Making things clear is not some kind of 'shiny new thing' that the kids are dancing to - it's rational. 'Backwards Focus Absolutism' means we live in a world of stupid cobwebs and terrible design. The Windows Registry is a hack, it was originally designed to do something mundane and simple. It just grew, like a virus.

> 'Backwards Focus Absolutism' means we live in a world of stupid cobwebs and terrible design

It also means that until ~Windows 7/10 you could run even win3.1-era apps. And you didn't run into situations like "any 32-bit apps no longer work" or "any apps not updated in more than a year will be removed" as we've seen with Apple.

Re: Why the Windows Registry sucks technically (2010)

#324
post #262

Earlier quoted context omitted.

General Linux tools built for text, in a world where everything is plain text and the shell doesn't know how to navigate anything other than a file system. In PowerShell you can cd into HKEY_LOCAL_MACHINE as easily as any drive, and Select-String is perfectly capable of searching registry keys. The baseline is only text and files on systems that don't have anything better to offer.

> The baseline is only text and files on systems that don't have anything better to offer. Also pretty much all external programs on Windows. Anything that isn't itself implemented as a PowerShell cmdlet has this problem. And it's all shell-specific.

Not really, if it’s a .NET assembly Powershell can dynamically load, call and use types from it. Not to mention first-class support for standard data interchange formats like JSON, XML etc without having to convert back/forth from text or use tools to process it.

Re: Why the Windows Registry sucks technically (2010)

#325

Earlier quoted context omitted.

The registry does not impact those users' experience. Needing to learn how to use a shell, does.

I would disagree that it does impact users' experience because when the registry gets corrupt you have to start by installing Windows from scratch. Nothing like Windows 10 update disabling registry backups to save space on low capacity storage and finding out after the fact when attempting to recover Windows 10. Secondly with device drivers being tied to the registry there is not a simple system upgrade of taking out…

The registry does not get corrupt. This is not a thing that happens without the system files themselves being corrupted. People blame any old problem on the registry the way they blame any old problem on /etc. Nor, in the case of an actual registry problem, do you have to reinstall Windows from scratch; restoring the registry from backup is the entire point of system restore points, which are created on every update and most program installs. As a bonus, yes, I did upgrade my computer that way. This stuff is pure superstition.

Re: Why the Windows Registry sucks technically (2010)

#326
post #254

Earlier quoted context omitted.

The article's complaints about the format being undocumented are ill-founded, because Microsoft repeatedly tells developers not to read the registry directly, and call the exquisitely documented functions instead. The applications that didn't listen to Microsoft and depended on particular features are most of why it hasn't updated to modern standards in the first place.

How's that supposed to work if you're modifying it in an offline image from a Linux host?

With DISM.

Re: Why the Windows Registry sucks technically (2010)

#327
post #89

Offhand, doesn't this kind of perfectly explain systemd fear? Probably what people had in the back of their heads.

How so? systemd uses text files for its configuration, documented in systemd.syntax(7).

I know. That's why I've been trying to describe it more as a "feeling" than logical?

Re: Why the Windows Registry sucks technically (2010)

#328
post #262

Earlier quoted context omitted.

> The baseline is only text and files on systems that don't have anything better to offer. Also pretty much all external programs on Windows. Anything that isn't itself implemented as a PowerShell cmdlet has this problem. And it's all shell-specific.

Not really, if it’s a .NET assembly Powershell can dynamically load, call and use types from it. Not to mention first-class support for standard data interchange formats like JSON, XML etc without having to convert back/forth from text or use tools to process it.

In a few situations, actually calling .NET code from PowerShell doesn't suck, like setting persistent environment variables.

But in tons of situations actually doing anything that way involves a ton of boilerplate, and it's very clunky. It's acceptable for automation, but it's not something that feels very good to do in an interactive shell.

Stuff like Convert-FromJson is nice, but it's not as nice as whole ecosystem there the interchange format for external programs is sort of just 'understood'. It's also not streaming— it reads in a single JSON object as a string. So you need some extra boilerplate if the expectation is that you're piping output from a command that yields a stream of data.

PowerShell is great, but an environment where streaming objects in some other format between different programs, regardless of the languages they're in or the runtimes they use, would be better and closer to a real version of 'Unix pipelines but with objects'.

Re: Why the Windows Registry sucks technically (2010)

#329

Earlier quoted context omitted.

Well, my git, ssh, caches of what not, almost everything is in my home directory directly. It's even worse than "My Documents"

Git uses XDG_CONFIG_HOME https://git-scm.com/docs/git-config#Files - putting the config directly in your home is just a choice.

It doesn’t in macOS.

It’s not a choice. It’s the default. It’s like saying it’s a choice to run mongodb without authentication.

Lastly, why should I be using XDG Desktop variables on something that don’t haveA desktop environment?

Re: Why the Windows Registry sucks technically (2010)

#330

Earlier quoted context omitted.

> Build something that's genuinely better for both users and developers. When I was much younger I, too, thought this way. Reality, however, does not align with this at all. Better products do not necessarily win. I might even go as far as saying that they almost never win. The vast majority of products --not just software, anything-- are mediocre at best. What they do is solve a problem. One thing engineers, develop…

Serious question: Do you stop to read and think about what you are saying? I don't have to. I was around when the "competition" consisted of companies like Lotus, Borland, Digital Research, and WordPerfect... to say nothing of IBM and Netscape. All of which reinforce my point nicely. Microsoft succeeded because they sucked less than everybody else. Nothing more, nothing less.

Not true.

It had nothing to do with sucking less or being better (whatever that means).

Sometimes success is about doing enough important things well enough while your competition does less or simply gets in their own way.

That was the case for IBM back then. I remember buying my first original IBM PC. The experience was definitely what one expected from the International Businesses Machines corporation. Not what that market ultimately needed. They started it, failed to execute and lost prominence. Microsoft took advantage of that, and more.

Post reply on HN