• upnorth (unregistered)

    At least the MS Money one told the truth. Much better than the usual MS FUD

  • Fregas (unregistered)

    i love it.

  • (cs)

    Real life error message:

    An error occurred, you ran out of Money and memory while trying to retrieve additional beers.

  • (cs) in reply to Manni
    Manni:
    Real life error message:

    An error occurred, you ran out of Money and memory while trying to retrieve additional beers.


    Should just rethrow that exception to your buddy.

  • (cs)

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

  • (cs)
    Alex Papadimoulis:

    If the driver is corrupted, do you get a Bladeren infection? [:#]

  • (cs) in reply to rogthefrog
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.

  • (cs) in reply to dubwai
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.


    COM registration?
    Or do you think COM is a WTF?
  • (cs) in reply to dubwai
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.



    Several reasons.  One is version control; prevent re-installing older versions and allow preservation of settings and cleanup of obsolete items when upgrading.  Also the ability to use other folders beside the distination folder (for example to allow for different settings for different users in the application files directory).  As much as I love to distribute self-extracting 7-zip files, often more is needed.
  • pbounaix (unregistered)

    regarding the first example:

    look at how encyclopedia is spelled on the titlebar, and then look at how it is spelled on the label

    (i know, spelling is the least of the wtf'ery here, but i'm into that :P)

  • (cs) in reply to John Smallberries
    John Smallberries:
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.


    COM registration?
    Or do you think COM is a WTF?

    I can't speak for dubwai, but I would say dynamic linking in general is a WTF except for OS services and remote procedure calls.

  • (cs) in reply to pbounaix
    Anonymous:

    regarding the first example:

    look at how encyclopedia is spelled on the titlebar, and then look at how it is spelled on the label

    (i know, spelling is the least of the wtf'ery here, but i'm into that :P)

      [:D]  What the hell is an ecyclopadia?
  • MrFurious (unregistered) in reply to cm5400

    I have a few of my own that I'd like to add, which I've come across in my wanderings.  Apparently, Microsoft sees itself as a bit of a security risk:

    [image]

    And of course, this helpful little fellow, when trying to update a table in Enterprise Manager:

    [image]

  • MrFurious (unregistered) in reply to MrFurious

    Ooops - the editor isn't quite as drag-and-droppie as it seemed!

    [image]

    and:

    [image]

  • (cs) in reply to MrFurious

    Don't forget the MS Outlook message, "Would you like to auto-archive now?"

  • Mike (unregistered) in reply to Miszou
  • (cs) in reply to John Smallberries
    George Gooseberries:
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.


    COM registration?
    Or do you think COM is a WTF?

    When I was working with it, I believe that phrase was often on my lips.

  • (cs) in reply to Charles Nadolski
    Charles Nadolski:
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.



    Several reasons.  One is version control; prevent re-installing older versions and allow preservation of settings and cleanup of obsolete items when upgrading.

    This is a perfect example of what I am talking about.  Why do you think you to use the registry to accomplish this?

    Charles Nadolski:

    Also the ability to use other folders beside the distination folder (for example to allow for different settings for different users in the application files directory). 

    Why is the registry required for this?  A zip file can be extracted anywhere the user chooses.  IIRC, all the self extraction agent does is suggest a location.

    I use a very popular tool that has no install.  You extract the zip and run the application.  The setup is done when the application is first run.  I can set it up in as many different directories as I choose.  I can keep and run as many different versions of the software as I like simultaneously.  If I ever screw up the application or it becomes otherwise corrupted, I can just re-extract the zip and all my settings remain.  Restoring from backup is easy.  If I don't want it anymore, I just delete the folder.

    In my last job we used the registry in our install and it only caused problems.  We have another person on our team just to keep the install up-to-date.  It wasn't worth it.

  • (cs)

    What to think of this one I came across some time ago:

    [image]

    In English it says 'Cannot show Help'

  • deathz0rz (unregistered) in reply to rogthefrog

    actually, 'bladeren' means 'browse'

  • deathz0rz (unregistered) in reply to deathz0rz

    actually, i was replying to

    rogthefrog:

    If the driver is corrupted, do you get a Bladeren infection? [:#]

  • Andy (unregistered) in reply to Mike
    Anonymous:

    Looks like you've been slashdotted.... er, or rather WTFed....

    [:P]

  • Andy (unregistered) in reply to dubwai

    dubwai:

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.

    I can only assume you've never written major enterprise level software, or shrinkwrapped mass market software. Zips are fine for techies, but it doesn't fly when your grandma wants to install a new email client, or your company has 10000 desktops to autodeploy to with an SMS type tool.... Or how about services? Can't just unzip a service.... Also, a lot of software is installed in one permission mode, and run in another. The software can't assume it will be able to set up needed parts if run under a basic User permission.... Technologies like Click-Once will reduce the need for installation software, but likely we will still need something like it for some time to come....

     

  • (cs) in reply to dubwai
    dubwai:

    Why is the registry required for this?  A zip file can be extracted anywhere the user chooses.  IIRC, all the self extraction agent does is suggest a location.

    In my last job we used the registry in our install and it only caused problems.  We have another person on our team just to keep the install up-to-date.  It wasn't worth it.



    Forgive me, but I have no idea what you're talking about.  I don't use the registry to install either... I use an .msi (microsoft installer).  We use visual studio's installer tool to build our installers.  Adding version control and registry keys is brain-dead easy, but we don't usually store a lot of information in registry.  As far as I can tell, the only thing the installer puts into the registry is a GUID indicating the version of the program currently installed.  When uninstalling and upgrading the registry information is cleaned up.

    Using a zip would be exceedingly confusing... how is Joe Cubicle downstairs going to know what's going on when it asks him if he wants to overwrite file X?  Use the newer or older one?  Why can't he uninstall it later?  Where's the icon for it?
  • (cs) in reply to Charles Nadolski
    Charles Nadolski:
    dubwai:

    Why is the registry required for this?  A zip file can be extracted anywhere the user chooses.  IIRC, all the self extraction agent does is suggest a location.

    In my last job we used the registry in our install and it only caused problems.  We have another person on our team just to keep the install up-to-date.  It wasn't worth it.



    Forgive me, but I'm not sure what your'e refferring to.  I don't use the registry to install either... I use an .msi (microsoft installer).  We use visual studio's installer tool to build our installers.  Adding version control and registry keys is brain-dead easy, but we don't usually store a lot of information in registry.  As far as I can tell, the only thing the installer puts into the registry is a GUID indicating the version of the program currently installed.  When uninstalling and upgrading the registry information is cleaned up.

    Using a zip would be exceedingly confusing... how is Joe Cubicle downstairs going to know what's going on when it asks him if he wants to overwrite file X?  Use the newer or older one?  Why can't he uninstall it later?  Where's the icon for it?


    To add to my own post, the installer also specifies if the user can install it on the local account, or for all users.  This way settings can be copied to the user's documents and settings folder or to the general user's folder, instead of all the settings being copied to the application's folder, allowing for multiple users to use the program.  I believe I mentioned that earlier, but I may have written that unclearly, resulting perhaps in a misunderstanding :)
  • (cs) in reply to Charles Nadolski

    Installers are great. The .msi system is nice, as is the Nullsoft installer generator (although I hear the interface to generate a decent installer is a pita).

    InstallAnywhere is a big ol' WTF, though.

    (in my experience) (don't sue me) (please)

  • Zander Zoftware (unregistered)

    About the Dutch error: there's a word missing which makes it weird. It should say "Dit stuurprogramma is niet digitaal ondertekend" meaning "This drivers is not digitally certified" :)

  • (cs) in reply to dubwai
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.



    There is a really good reason for the registry from M$'s point of view, it makes it harder to pirate software! From a consumer point of view the Unix/Linux model of having config folders in your home dir is much much nicer. When you have a program set up just the way you like it you jsut take a copy of the config folder in your home dir and you can copy it into your accoutn on any machine you use and you will get all your settings back!

    As for installers, there are two models I like - the Debian model (apt-get install whatever) and the OS X model (just drag an icon to your applications folder and you're done). I find it hillarious that Windows is the hardest OS I've ever used when it comes to installing stuff yet people still have this daft idea that Windows is the most userfriendly OS "because all you have to do is click next" WTF???? on the mac or Linux I don't have to click anything, it just gets on with it!

    Bart.
  • (cs) in reply to deathz0rz

    Anonymous:
    actually, 'bladeren' means 'browse'

    Is that so?

    Somebody's sense of potty humor is today's WTF.

  • Halo_Four (unregistered) in reply to voyager

    An auto-play CD and clicking a "Next" button once or maybe even twice is hard?  Having to type anything into a console window is purely extraneous and new users are often confused by the drag and drop metaphor which is why I had supplant it in my software to ease training and support calls.

    Individual configuration files stink.  You end up with the mess of no standardization in format or location.

    The registry is intended to be a centralized repository in an expected heirarchical format.  It's behavior is very predictable.  Granted, it does get abused, and fairly often, but it's very useful.  It integrates nicely with Group Policies in Active Directory to make it immediately possible for me to alter any of the 15,000 settings that come with Windows or any number of settings I can write into my own adminstrative template scripts.  In about four mouse clicks I can set that any user or computer existing in a particular organization and belonging to any particular set of security groups will have any number of individual policies applied which immediately propogate those settings.

    Windows Installer also fits nicely into Group Policies.  Step through an administrative install once, selecting which components to install, and I can push that install immediately to any number of workstations.  With another mouse click I can take the software away.

  • (cs) in reply to Halo_Four
    voyager:
    There is a really good reason for the registry from M$'s point of view, it makes it harder to pirate software!

    The impact of the registry on software piracy is trivial.

    Halo_Four:
    Individual configuration files stink.  You end up with the mess of no standardization in format or location.

    The registry is intended to be a centralized repository in an expected heirarchical format.  It's behavior is very predictable.

    There's no reason you can't have the standardization in location and format that you ask for without a cryptic registry.  We already have hiearchical containment in my OS: They're called directories.

    People just don't want to admit that the registry is a huge WTF.  It gives us nothing that can't be given by a simple file-based configuration and storage mechanism.  And while no advantages are offered, it brings significant drawbacks such as the inability to browse, edit and search entrires with the legion of standard tools available to everybody.

    It is a specialized subsystem where a filesystem Facade would have done.  It is a farce.  Get over it.
  • Sven2 (unregistered) in reply to Chris F
    Chris F:
    People just don't want to admit that the registry is a huge WTF.  It gives us nothing that can't be given by a simple file-based configuration and storage mechanism.  And while no advantages are offered, it brings significant drawbacks such as the inability to browse, edit and search entrires with the legion of standard tools available to everybody.

    It is a specialized subsystem where a filesystem Facade would have done.  It is a farce.  Get over it.


    It's not exactly a filesystem, because it abstracts away the "file" part. If you create configuration files for something like "HKCU\Software\Microsoft\Windows NT\Current Version\Font Substitutes\MS Shell Dlg", you have to put the file somewhere. For example, create a file "/etc/Software/Windows NT/Current Version/Font Substitutes", and then "MS Shell Dlg" as a setting in there. Or create a file "/etc/Software/Windows NT/Current Version", which contains a section [Font Substitutes] and a key  "MS Shell Dlg".

    Where you put in the file is arbitrary. So you might as well just put it in the top level, name it User.dat, and there you have your configuration file called registry. Advantages of this: The operating system may choose any way to store and access the configuration file - including optimizations like hashed access; the operating system may also provide one generic editing interface for all configuration settings (regedit). Finally, the operating system can keep the registry in memory and allow faster application startup times.
  • Jimi (unregistered) in reply to Sven2

    Anonymous:
    Chris F:
    People just don't want to admit that the registry is a huge WTF.  It gives us nothing that can't be given by a simple file-based configuration and storage mechanism.  And while no advantages are offered, it brings significant drawbacks such as the inability to browse, edit and search entrires with the legion of standard tools available to everybody.

    It is a specialized subsystem where a filesystem Facade would have done.  It is a farce.  Get over it.


    It's not exactly a filesystem, because it abstracts away the "file" part. If you create configuration files for something like "HKCU\Software\Microsoft\Windows NT\Current Version\Font Substitutes\MS Shell Dlg", you have to put the file somewhere. For example, create a file "/etc/Software/Windows NT/Current Version/Font Substitutes", and then "MS Shell Dlg" as a setting in there. Or create a file "/etc/Software/Windows NT/Current Version", which contains a section [Font Substitutes] and a key  "MS Shell Dlg".

    Where you put in the file is arbitrary. So you might as well just put it in the top level, name it User.dat, and there you have your configuration file called registry. Advantages of this: The operating system may choose any way to store and access the configuration file - including optimizations like hashed access; the operating system may also provide one generic editing interface for all configuration settings (regedit). Finally, the operating system can keep the registry in memory and allow faster application startup times.

     

    Take a look at OS/2s INI approach. Much better than the registry WTF.

     

  • Simon (unregistered) in reply to Jimi

    (OS/2 method is better)

    Or you could always try using a mac. Open disk image (over the network, if you feel like it). Drap app to wherever you like. Fire it up (off the disk image, should you so wish). It works. No fucking about with "registry" or other bollocks. Just plain and simple application usage. Wany to delete it? Drag the app to the trash (and remove the .plist from ~/Library/Preferences should you wish to). Honestly. I wonder how and why windows users put up with it.

    Simon

    I will admit that there are apps that use installers on the mac, but I doubt that I'm alone in not trusting them. Anything that comes in a .pkg gets expanded to my desktop first to see where it's slamming stuff - anything that is touching stuff it shouldn't merits a really nasty email from me to the developer and an instant trashing.

  • Gate (unregistered) in reply to Jimi
    [off-topic]
     
    *laugh*
     
    Oh god, please no more INI's.. 
     
    as far as I am concerned.  storing any kind of application settings/preferences in an INI is a Bad Thing..   Storing *device/hardware* (system independant data) settings in a config file is a Good Thing..
     
    Just think of HKCU/Software/Application/* as a symlink to /home/user/settings/application.conf  or what-have-you
     
    asside:  companies that build installer products that don't clean up after themselves, AND/OR companies that release software using these installers WITHOUT adding post-install reg keys to the uninstall information file should be taken out back, dipped in honey, and strapped to a fire ant hill..  there is no excuse for being that damn lazy...
  • (cs)

    Here's my take on installation and the registry.  I have encountered three problems with install files. 

    First, I can't install to a removable disk, and run the software elsewhere.  With commercial software, this is fair play, but even if I'm using free software, I can't run it on computers where I don't have install permission.  With software that runs out of the can (i.e., out of a zip file), it's not a problem. 

    Second, some applications will happily install two different versions simultaneously, while others force you to uninstall the other version first.  This can be a major problem if, for example, you're developing for two different versions of VB.  I'm not a VB developer so I don't know if you can have two versions installed simultaneously, but you get the idea.  Another situation is wanting to test on two different versions of IE. 

    Sometimes installers first unzip the installation files to a temp directory, then they actually install, taking up about a third more space than necessary during installation.  With today's hard drives' being so big, this isn't as much of a problem, but it still makes for a slow install. 

    So, in conclusion, I can see why installations are necessary in some circumstances, but I can also sympathize with dubwai, and I think they should be used only when necessary.  I think most small time software producers just use installers because they think it makes their software look more professional. 

    Oh, and as for error message WTFs, I used to get error messages from an older version of MS Word that said I couldn't save my work because the disk was either write protected or full, even though I could clearly see that neither of these was the case.  I think it had something to do with saving the same file to two different locations without closing it in between saves.  I lost a lot of reports that way in college. 

  • (cs) in reply to Sven2
    Sven2:
    Chris F:
    People just don't want to admit that the registry is a huge WTF.  It gives us nothing that can't be given by a simple file-based configuration and storage mechanism.  And while no advantages are offered, it brings significant drawbacks such as the inability to browse, edit and search entrires with the legion of standard tools available to everybody.

    It is a specialized subsystem where a filesystem Facade would have done.  It is a farce.  Get over it.


    It's not exactly a filesystem, because it abstracts away the "file" part.

    Well yes, I know it's not treated like a filesystem.  That's why I said a Facade would have done.  Implementing it using the filesystem has many significant advantages, however:
    1) No need to reimplement your security model.  File-based ACLs are perfectly adequate.
    2) Browsable with standard tools like Explorer.
    3) Editable with your favorite text editor.
    4) Searchable with any filesystem search utilities.
    5) Just as browsable, editable, and searchable as the above without special tools when the hard drive is removed and accessed from another machine.
    6) Automatically benefits from any filesystem advances such as symbolic links and virtual filesystems.
    7) Does not require reinvention of the wheel!

    Sven2:
    Where you put in the file is arbitrary. So you might as well just put it in the top level, name it User.dat, and there you have your configuration file called registry. Advantages of this: The operating system may choose any way to store and access the configuration file - including optimizations like hashed access; the operating system may also provide one generic editing interface for all configuration settings (regedit). Finally, the operating system can keep the registry in memory and allow faster application startup times.

    All of the advantages you mention are easily realized using simple filesystem abstractions.  I'm not sure what you're getting at.

  • anon (unregistered) in reply to bobday

    bobday:
    Oh, and as for error message WTFs, I used to get error messages from an older version of MS Word that said I couldn't save my work because the disk was either write protected or full, even though I could clearly see that neither of these was the case.  I think it had something to do with saving the same file to two different locations without closing it in between saves.  I lost a lot of reports that way in college. 

    I always used to have an issue like this when I had large files in word 97 (I think it was > 30 or 50 MB that caused this to happen)

  • Mike (unregistered)

    [image]

    Nothing wrong with that you might say?

    Unfortunately for VLC, I wasn't running as an administrator, so all of its file/directory/registry operations failed. And it didn't show one single error message.  It was using the Nullsoft install system.

  • Sven2 (unregistered) in reply to Chris F
    Chris F:
    Well yes, I know it's not treated like a filesystem.  That's why I said a Facade would have done.
    [snip]
    All of the advantages you mention are easily realized using simple filesystem abstractions.  I'm not sure what you're getting at.


    No, they can't. As soon as you start putting them into the file system and make them editable as simple text files, the operating system cannot make any assumptions about the general format that is used. It cannot store them in a format that's less space consuming and easier to parse. It cannot build a hashmap, because each application is responsible for reading its configuration strings using normal file manipulation methods. Of course it could keep the whole file tree in memory; but this would take up a lot of memory in a text-file format.

    I think of an analogy: Why aren't hierarchical databases stored in the directory structure? You could have a folder for each object, containing a main object info file, then subobjects as folders. You wouldn't need any database query tools; you wouldn't need to learn their interface. You could edit everything in plain, human-readable text files! Why is this usually not done? Because a more specialized tool can do the job better.

    Chris F:

    1) No need to reimplement your security model.  File-based ACLs are perfectly adequate.
    2) Browsable with standard tools like Explorer.

    [...]


    Your points concerning usability are right; the registry editor isn't as functional as it could be. Configuration files may be easier to administrate; and I could imagine using a Windows without the registry. But the idea of a global configuration storage does make sense and has it advantages as well. I think it's wrong to call it a "big WTF" and deny using it at all, just because the standard frontend happens to be not very functional.
  • (cs) in reply to Sven2
    Sven2:
    Chris F:
    Well yes, I know it's not treated like a filesystem.  That's why I said a Facade would have done.
    [snip]
    All of the advantages you mention are easily realized using simple filesystem abstractions.  I'm not sure what you're getting at.


    No, they can't. As soon as you start putting them into the file system and make them editable as simple text files, the operating system cannot make any assumptions about the general format that is used.  It cannot build a hashmap, because each application is responsible for reading its configuration strings using normal file manipulation methods. Of course it could keep the whole file tree in memory; but this would take up a lot of memory in a text-file format.

    With the exception of one item (quoted below), that is all entirely incorrect.  Any modifications made would need to conform to the format the OS uses to load them.  Just as you can't open a hex editor and go buck wild on your registry, you can't open a text editor and break the configuration parser.  I am not presently, nor have I ever, argued for a lack of standards.

    Sven2:
    It cannot store them in a format that's less space consuming and easier to parse.

    Unix systems have successfully used these methods (albeit without clear format standards) for years -- all while building hashmaps, making assumptions about formatting, and having no difficulty with parsing and space consumption.  I fail to see how a premature optimization outweighs the benefits I've given.

    Sven2:
    I think of an analogy: Why aren't hierarchical databases stored in the directory structure?

    Many hierarchical databases are stored in directory structures.

    If you're talking RDBMS, that is because the implementation details of any given system vary so widely that making such a simplistic assumption would be foolish.  You must understand that a configuration registry is not nearly as complex a task as those a general RDBMS sets out to solve.

    Sven2:
    [Snip analogy about databases]
    Why is this usually not done? Because a more specialized tool can do the job better.

    Yet you've failed to show any advantages of this specialized tool, and have refuted none of my claims of the superiority of the filesystem abstraction for this task.

    Sven2:
    Your points concerning usability are right; the registry editor isn't as functional as it could be. Configuration files may be easier to administrate; and I could imagine using a Windows without the registry. But the idea of a global configuration storage does make sense and has it advantages as well.

    You're missing a significant point: It is possible to have a global configuration storage system that is implemented using files and directories

    Sven2:
    I think it's wrong to call it a "big WTF" and deny using it at all, just because the standard frontend happens to be not very functional.

    It's not wrong to call it a "big WTF", because it is a reinvention of the wheel as a square.  It offers no advantages except trite optimizations that systems decades old have gotten along just fine without.
  • (cs) in reply to Chris F

    It'd blow the hell out of the MFT, if you stored each key as a folder and its settings in a file. If you centralize everything you have severe problems with string item updates requiring rewriting the whole file - journaling changes and inserting them is the likely solution, but then the 'registry' is always out of sync. Plus it's still centralized and you still have to dig to find your application's settings, especially if it strews them all over. Local configs always seem to be reimplemented by half the software out there; even if standards were imposed, every user's stuck with the same settings or always overwriting each other, and there's no quick and dirty way to backup just settings for multiple programs. Plus it's always nice to update software without having to find the path(s) and copy everything in myself. The most robust way would be to have a centralized store symlinked to hell and back to local configs. That has most of the advantages of both.

    COM, file handlers, services, and so on have to be centralized somewhere anyway.

    The registry was designed when disk space and reading/writing speeds were at a premium, which is no longer the case, so I'm not saying they shouldn't go back take another hard look at it. (In fact, 2000 and XP would've been great times to do so, alas.) It's not like we'd have to give up registry APIs to make way for a glorious new world, that's the whole point of high-level APIs. I'm sure that something far better and more resilient than the registry could be created now.

    If you really want the registry as text now, you can probably create a shell extension that maps it into files and folders. Actually that would be a really badass application, I wonder if it's ever been done.

  • bp (unregistered)

    Well, I've posted this to the sidebar before, but i the intereste of having all this in one place, here is my favorite one:


    [image]

        http://brill.pappin.ca/addTrackBack.action?entry=1110851351286<br>
    
  • (cs) in reply to foxyshadis
    foxyshadis:
    It'd blow the hell out of the MFT, if you stored each key as a folder and its settings in a file. If you centralize everything you have severe problems with string item updates requiring rewriting the whole file

    Writes to configuration data are relatively rare and are usually user IO bound.

    foxyshadis:
    - journaling changes and inserting them is the likely solution, but then the 'registry' is always out of sync.

    Any good journal implementation will make sure that reads incorporate the journaled changes.

    foxyshadis:
    Plus it's still centralized and you still have to dig to find your application's settings, especially if it strews them all over.

    The current structural implementation is poor, but if anything that's yet another argument that it's a huge misdesign in general.  It could certainly have been implemented with an easily accessible, non-cryptic structure.
  • zeridon (unregistered) in reply to Chris F

    one error from me

    http://veselba.kafence.com/show.pl?pid=1b704d7313c826b70e34fc6ef03f12dd

    could be slow (Bulgarian link)

    in short Netscape instalation wants upgrade of IE

  • (cs) in reply to Chris F
    Chris F:
    foxyshadis:
    It'd blow the hell out of the MFT, if you stored each key as a folder and its settings in a file. If you centralize everything you have severe problems with string item updates requiring rewriting the whole file

    Writes to configuration data are relatively rare and are usually user IO bound.

    Proposition: Open regmon, set it to record only writes, minimize and ignore it and go do other things. Come back a few minutes later. Note that most programs write to the registry quite a bit, explorer being the worst, but so do most document programs (most recently used lists esp.), anti-virus, anything that uses the built-in random number generator, counters in background tasks, spyware rewriting keys every x seconds, etc. There's a lot of stuff writing to the registry all the time.

    Chris F:
    foxyshadis:
    - journaling changes and inserting them is the likely solution, but then the 'registry' is always out of sync.

    Any good journal implementation will make sure that reads incorporate the journaled changes.

    I meant out of sync for the text files processors everyone loves (sed,grep,etc); of course the APIs wouldn't be affected, I mean, the current registry is already implemented with lazy-write journaling.

    Chris F:
    foxyshadis:
    Plus it's still centralized and you still have to dig to find your application's settings, especially if it strews them all over.

    The current structural implementation is poor, but if anything that's yet another argument that it's a huge misdesign in general.  It could certainly have been implemented with an easily accessible, non-cryptic structure.

    It's not the OS's problem that programs feel a need to strew shit all over the system. I've met enough unix/linux programs that require root to install to update this or that system config file or they bork, or require this specific version of the kernel because they use an undocumented data structure; that's not unix's problem, just shoddy development practices.

    As for cryptic, most of the important registry areas are anything but, being reasonably well documented. How would you rather store all file-type settings, besides HKCR? What would be a better way to store all services, besides HKLM/System/CCS/Services? What would be a better way to store settings than giving everything a folder in HKLM/Software and HKCU/Software? Many areas of the registry are intended to be internal-only, messing with them equivalent to hex-editing your system/program files. Any solution that retains current functionality would only be different, not better. The only disappointments I have with the structure of the registry now is that HKCU doesn't mirror HKLM for unset entries, the GUID areas are a bit of a mess, and HKCR should really be split into file names, file types, and not-files-really-sneaky-guids-and-program-settings.

    I think if regedit had split-pane or 'new window from here' and could jump to GUIDs (and back) or display their info intellisense-style it would become far easier to use to change things and troubleshoot problems.
  • (cs) in reply to zeridon
    Anonymous:
    one error from me

    http://veselba.kafence.com/show.pl?pid=1b704d7313c826b70e34fc6ef03f12dd

    could be slow (Bulgarian link)

    in short Netscape instalation wants upgrade of IE


    xD! Which version of NS?
  • slivovice (unregistered)

    Not even using linux actually saves you from nonsense error messages nightmares (greetings to gnome developers :)

    [image]

  • (cs) in reply to dubwai
    dubwai:
    Charles Nadolski:
    dubwai:
    rogthefrog:

    InstallAnywhere is a giant WTF in its own right. Except for the Java JRE/SDK/NetBeans package from the Sun website, every single InstallAnywhere installer I've tried has been CrashEverywhere.

    I tested early versions of that software and it was a complete failure. More of an InstallNowhere, LeaveRegistryCrapEverywhere, but I guess that's not quite as catchy as InstallAnywhere.

    Personally, I think installs are a big WTF.  The best installs I've ever used are zip files.  There are even self-extracting zip files for the computer-impaired.  Why do so many people think that because Windows has a registry, their software must put stuff in it.  There's probably a good reason for certain software projects but most of the software I have seen doesn't need it.



    Several reasons.  One is version control; prevent re-installing older versions and allow preservation of settings and cleanup of obsolete items when upgrading.

    This is a perfect example of what I am talking about.  Why do you think you to use the registry to accomplish this?

    Charles Nadolski:

    Also the ability to use other folders beside the distination folder (for example to allow for different settings for different users in the application files directory). 

    Why is the registry required for this?  A zip file can be extracted anywhere the user chooses.  IIRC, all the self extraction agent does is suggest a location.

    I use a very popular tool that has no install.  You extract the zip and run the application.  The setup is done when the application is first run.  I can set it up in as many different directories as I choose.  I can keep and run as many different versions of the software as I like simultaneously.  If I ever screw up the application or it becomes otherwise corrupted, I can just re-extract the zip and all my settings remain.  Restoring from backup is easy.  If I don't want it anymore, I just delete the folder.

    In my last job we used the registry in our install and it only caused problems.  We have another person on our team just to keep the install up-to-date.  It wasn't worth it.



    Just delete the folder?

    I find great convenience that when I click "Uninstall" in the Add/Remove Programs control panel, it does all the deleting and unregistering for me, including the removal of all shortcuts and file associations. If you have a computer with more than one user on it, the manual way just doesn't feel right.

    I've gone through the days of ARJing and PKZIPing way before Winzip came along, and I'll never go back to those days if developers make user-friendly, functional, and meaningful installers anyway.
  • JC (unregistered)

    The "version is too low" error when you have a version greater than the required version is actually quite common, I had a lot of trouble recently with some F/OSS application that whined because it needed Qt3 or greater, and I had Qt 3.whatever (it was wanting one version 3 before it).

    Seems some programmers can be lazy and just do a string comparison for the latest version, normally I just use a hex editor (or with F/OSS code just edit and recompile) to edit the version I want in. Lame.

    Is it really too hard to just do a regex for the version that begins with a 3 and that's it? or some other elaborate method.

    Oh, and the captcha (or whatever) is broke... I had to submit this 5 times before it worked (yes, the chars were exactly as shown, does it want you to enter lowecase when it uses uppercase for the image? God it's annoying.. WTF!?)     

Leave a comment on “A Pop-Up Potpourii Redux”

Log In or post as a guest

Replying to comment #:

« Return to Article