General Development Archive

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."

Extensible Programming for the 21st Century

This article argues that next-generation programming systems will accomplish this by combining three specific technologies: compilers, linkers, debuggers, and other tools will be plugin frameworks, rather than monolithic applications; programmers will be able to extend the syntax of programming languages; and programs will be stored as XML documents, so that programmers can represent and process data and meta-data uniformly.

Batch anywhere and Independent Concurrent Batch

This article shows how to grid enable applications using the first two of the six strategies so the applications can run as single or multiple instance batch jobs that are location independent. It explains the characteristics of applications using these strategies and details what the application developer must, should, and can optionally do to implement these strategies. A major objective when using Strategy 1 and Strategy 2 is to ensure that the application is as flexible as possible regarding middleware products.