Ionrock Dot Org

by Eric Larson

My Weblog

Paths and Processes

I wrote this the other day and was trying to post it via my super secret wordpress email address, but things did not work as expected. I chose not to read it over before posting it now so excuse any nonsense. Thanks!

Today I have been working on some C# projects and I had a chance to write a registry key. Being a Linux user for such a long time and having experienced some of the discussion regarding the gconf and its comparison to the registry, it was interesting to get a chance to use it. At this point, I am not really sure what I think. On the one hand, it feels like a hodgepodge place to keep random information. This is the impression that is most often used when describing the nightmare that is the registry. The few times I have typed regedit in my run window purposefully, I was always glad someone else had done this work for me. Gconf, on the other hand, has always seemed more or less intuitive with regard to seeing the organization of the settings. Overall I don't really see the difference between the two systems.

I suppose the largest difference is that the registry is cryptic, not XML and has system information. The cryptic side of things is not that important to me because normal users shouldn't mess with the registry (period). The lack of XML is merely a short coming due to XML not really being available whenever it was designed. The system information then is the only real difference that seems to matter. With Linux, system information is found using standard interfaces using the filesystem and dedicated applications. I suppose that in Windows, this information must be in the registry, which could cause a problem in the case that the registry call is dynamic or cached. For example, if I did some processor specific operation (note, I don't know what this would be), and use the registry settings for my information, then if that information was cached, it could be out of date or corrupted. If the data is updated on the fly, then you have to deal with timing on when to check for updates for different pieces of information.

I have a feeling that the point is moot and gconf is little more than a registry for Linux. I don't have a problem with this because it is a natural issue that needs to be solved. This is the reasoning behind aspect oriented programming after all, there are problems that span across a stack and are not easily handled while keeping code well written. In this case, a standard location and interface to application settings seems like a good idea. Sure, the registry and gconf are probably not the best ideas in the world. But sometimes a problem has got to get fixed and the registry/gconf is as good a solution as anything else so why not. With that said, I still hope to avoid it whenever possible out of shear uninformed fears.

Posted Tue Apr 18 18:45:23 2006 by Eric Larson
using python, jquery and emacs ;)