General Development Archive

A Directory Monitor Class For Delphi

There are times when a directory needs watched.  For reasons of its own, a program may need to know when a file is deleted, updated or renamed.  If .NET is involved, this is a trivial task.  Create an instance of the FileSystemWatcher; set some properties, and the task is completed.  If a non .NET solution is required (and regardless of the hype, some people haven’t embraced .NET in all of its glory.), the ReadDirectoryChangesW function must be used, however the documentation for ReadDirectoryChangesW is sketchy at best.

The Case for Gconf

There has been a lot of commentary recently about Gnome, and a common source of confusion seems to be Gconf - what is it, how does it work, and so on. Some people even seem to confuse Gconf with the registry database in Windows. I will attempt to clear some of this confusion and give an overview of Gconf, and why it looks the way it does.

Subversion 1.0.5 Released

Versions up to and including 1.0.4 have a potential denial of service and heap overflow issue related to the parsing of strings in the 'svn://' family of access protocols. This affects only sites running svnserve. It does not affect 'http://' access; repositories served only by Apache/mod_dav_svn do not have this vulnerability. This release fixes this issue.

Making An Operating System Faster

The performance of computer hardware typically increases monotonically with time. Even if the same could be said of software, the rate at which software performance improves is usually very slow compared to that of hardware. In fact, many might opine that there is plenty of software whose performance has deteriorated consistently with time. Moreover, it is rather difficult to establish an objective performance metric for software as complex as an operating system: a "faster OS" is a very subjective, context dependent phrase. Read the article at KernelThread.

SAX processing in Python

An application developer can choose any one of a number of strategies to read and use an XML document. In some very simple examples a script containing a number of regular expressions might do the job, but normally a more rigorous technique is required. The Simple API for XML (SAX) is one of the two key techniques for analysing and processing XML documents (the other is the more complicated Document Object Model (DOM)). Read the article here.

Subversion 1.0.3 Security Update Released

The Subversion development team has released version 1.0.3. This is a security bugfix release and the team suggests all Subversion users upgrade: "Subversion versions up to and including 1.0.2 have a buffer overflow in the date parsing code. Both client and server are vulnerable. The server is vulnerable over both httpd/DAV and svnserve (that is, over http://, https://, svn://, svn+ssh:// and other tunneled svn+*:// methods). Additionally, clients with shared working copies, or permissions that allow files in the administrative area of the working copy to be written by other users, are potentially exploitable."