Slashdot Mirror


Should Being Competitive With Windows Matter For Linux?

An anonymous reader writes "Is Linux being held back by distributions bent on competing with Microsoft Windows? This article argues that it's a real possibility. Quoting: '... what was apparent early on during my Linux adoption was my motivation for making the switch in the first place — no longer wanting to use Windows. This is where I think the confusion begins for most new Linux adopters. As we make the switch, we must fight the inherent urge to automatically begin comparing the new desktop experience to our previous experiences with Windows. It's a completely different set of circumstances, folks. ... The fact that one platform can support a specific device while the other platform cannot (and so on) doesn't really solve the problem of getting said device working. You can see where this dysfunction of thought can become a big problem, fast."

4 of 645 comments (clear)

  1. Registry is bad, but not for the reasons you think by QuoteMstr · · Score: 5, Informative

    The registry isn't bad because it's stored in binary form, or because it's heirarchical, or because it supports transactions, or because it has ACLs. These are good (or at least acceptable) things.

    The registry is bad because it's global and forces a lot of configuration to be global as well. For example, COM components are registered globally, so only one DLL can be associatded with a class ID at a time. That's why you can only have one version of Internet Explorer installed on the same machine. Yes, users have their own registry subtress, but not every key can be configured under the user-specific heirarchy. Even a user-specific key can only have one value at a time for a given user. Unix systems, on the other hand, use environment variables to hold (or point to) configuration information, which results in a lot more flexibility.

    Because registry values are global, application developers only consider the case of running one program at a time. If you want, say, two copies of Outlook, each with different settings, you'll need two separate users. A lot of programs don't even support multiple concurrent instances, which is maddening.

    Another maddening side effect of the registry being global is that it's not possible to have the equivalent of NFS-mounted home directories under Windows. Say you have a domain user foo\bar on machines A and B. It's natural to want them to have the same %USERPROFILE% (read $HOME) on a fileserver somewhere, and on Unix, that works just fine. But under Windows, when the user logs into machine A, the system will lock ntuser.dat (the file containing the registry), which prevents the user logging in under machine B. Application-specific configuration files that are locked only during actual changes don't have this problem.

    The global nature of the registry also makes it difficult to maintain application configuration: if you want to isolate the configuration information used by a program, you're essentially reduced to looking at procmon output and seeing what registry keys it touches. While in principle programs should limit themselves to storing information under HKLU\Software\Blah\..., in practice, they scatter stuff all over the registry, especially when they register COM stuff. You can't keep just, say, Word's configuration under version control.

    When people say they hate the registry, what they mean is that they hate that Windows is not very well-modularized. Isolating one application's registry configuration is like removing one egg from an omelet.

    A better model would have been to have application-specific registries, searched according to a PATH-like environment variable. In this scheme, when the system needed to, say, look up a COM class ID, it would just search each registry in sequence until it found the right one. Applications would simply store their configuration and registration information in their own registry, making management easy.

    But like most Windows brain damage, this scheme wouldn't have worked on a 386SX with 4MB of RAM in 1995, which means it can't possibly be changed in 2010. As we all know, design decisions are irrevecorable and eternal (and I'm only half-joking).

  2. Re:If Linux wants to have broader adoption... by Nursie · · Score: 4, Informative

    You do realise you're talking bullshit, right?

    You can already get the Toshiba AC100, and ARM laptop/netbook thing based on nVidia's Tegra platform. It ships with Android but Ubuntu apparently runs nicely already. It's pretty cheap.

    ARM have PCI and PCIE bus available as well as a lot of other standard stuff like USB.

  3. Re:End users hate the registry? by kestasjk · · Score: 5, Informative

    If you think it's hidden and want access to it you can use regedit, or better yet use powershell, and you can navigate the registry like a filesystem: > ls -Recurse HKLM:\SOFTWARE\Microsoft | where { $_ -match 'Explorer' }

    WTF is this? It seems to spit out an endless tirade of incomprehensible and meaningless shit. For instance:

    0 10 FontSmoothing {Type, Text, SPIActionGet, SPIActionSet...}

    It's a registry entry called "FontSmoothing", with 0 sub-entries and 10 keys (Type, Text, SPIActionGet, etc).
    If you want more info about what PowerShell is returning you pipe the output to get-member, and it'll tell you what properties and methods are available. For example you could add and alter the set of keys returned, or add another where clause to limit your selection to a set of keys you're interested in.

    Because it's structured and has a limited number of types you don't need to worry about the various locations or the structure of config files, and can alter and manipulate the returned output.

    How is this in any way navigating "the registry like a filesystem?"

    Because you navigate the filesystem in a similar way when using powershell, using ls on a registry entry like you would use it on a directory. It really shouldn't be too hard to see the similarity.

    I can ls -R /etc | xargs cat and get a completely different pile of incomprehensible shit out of a Linux box, but at least it resembles English.

    But neither seem to have any particular use.

    If you can't think of a use for it okay, but that doesn't mean it isn't useful.
    (By the way that PowerShell is more equivalent to find /etc/Microsoft | ( where read f; do grep -q "Explorer" $f && echo $f; done ))

    Feh. If you were making a point, I've missed it. Sorry.

    You said the registry was hidden on the hard drive and not accessible to normal users. My point was that it isn't hidden and is accessible. HTH

    --
    // MD_Update(&m,buf,j);
  4. Re:End users hate the registry? by Your.Master · · Score: 4, Informative

    Winkey+"path"+

    Scroll down to path, click edit, then edit it.

    Works in Win7. If you can't figure that one out, I'm pretty sure you won't need to change the path variable.