Friday, December 29, 2006

Optimizing TortoiseSVN

"As noted in other posts, I am currently using Subversion for source code control, with TortoiseSVN as the “GUI” client. Recently I’ve been having big performance problems on my machine, particularly with Windows Explorer. Getting rid of most of the network drives that I’ve added helped quite a bit, and then I turned my attention to TortoiseSVN.

Our SVN repository is located in New York, whilst we are in London, and the network between the two sites is not great. For example, when we moved offices our new network was only 10mbit/s rather than 100mbit/s. Gigabit? Tish and pshaw! Combined with the fact that our project is 436Mb means that SVN can sometimes crawl."

Saturday, December 09, 2006

Old ideas form the basis of advancements in functional programming
(Page 1 of 4)
Philip Wadler
Who would have thought that the programming languages of the 21st century will be built upon foundations of logic theory from the 19th and 20th?

Philip is a researcher at Avaya Labs (a spinoff of Lucent Technologies). Prior to joining Avaya, he was a researcher at Bell Laboratories. His e-mail address is

As the 19th century drew to a close, logicians formalized an ideal notion of proof. They were driven by nothing other than an abiding interest in truth, and their proofs were as ethereal as the mind of God. Yet within decades, these mathematical abstractions were realized by the hand of man, in the digital stored-program computer. How it came to be recognized that proofs and programs are the same thing is a story that spans a century. The story ends with a new principle that is guiding the design of a new generation of programming languages, including mobile code for the Internet.

Modern logic began with Gottlob Frege in the late 1870s. Two aspects of Frege's work reached a culmination a half century later, in Gerhard Gentzen's natural deduction, which captured a notion of proof, and Alonzo Church's lambda calculus, which captured a notion of program, both first published in the early 1930s. As it turns out, there is a precise correspondence between Gentzen's proofs and Church's programs, but that was not uncovered until the late 1960s. As the 21st century begins, that correspondence sits as a cornerstone of modern programming language design.

For my money, Gentzen's natural deduction and Church's lambda calculus are on a par with Einstein's relativity and Dirac's quantum physics for elegance and insight. This article gives a taste of these ideas; for more detailed information on these topics, go to articles/2000/0013/0013toc.htm.

more at

Saturday, December 02, 2006

Removing the d2p1 prefix from XML datasets in Microsoft Visual Studio .NET

Q. I'm not sure this is very "extreme" but I add records to my typed DataSet and am getting a d2p1 prefix on my attributes in addition to an xmlns:d2p1 declaration on the elements. This seems to be some default value. How can I specify a namespace to get MyNS:attribute instead of d2p1:attribute?

A. In the properties for the schema set the attributeFormDefault to unqualified.