Archive for August, 2008

New Version of WordPress

Sunday, August 31st, 2008

I just upgraded to version 2.6.1 (after leaving the site at version 2.5.1 for a dangerously long time.) In the past a “second-digit” version upgrade has sometimes caused trouble.

If you notice something obviously wrong with how things display, leave a comment and I will try to fix it.

Airport Photo ID Checks Useless

Friday, August 29th, 2008

In the Risks Digest Bruce Schneier discusses the flaws in the TSA’s system for checking photo IDs at airports, flaws that would allow any reasonably competent terrorist to walk onto an airplane, even if his name is on the “no fly” list and even without using a fake ID.

This might be considered an illustration of the general incompetence of the TSA, but it also illustrates the great difficulty of setting up a secure system that will foil a reasonably clever and determined attacker. It’s not something that the average political appointee or bureaucrat without special training is likely to be able to manage.

BC31094 Error with MSBuild but not Visual Studio

Friday, August 22nd, 2008

Here’s one of those things that “can’t possibly happen” but does. The project builds fine under the Visual Studio 2008 IDE, but if I run it directly under MSBuild.exe it fails with the error

error BC31094: Implementing class 'MMCLTSVCS.FooClass' for interface 'MMCLTSVCS.Foo' cannot be found.

The key is that the error involves calling a COM object. The project contains a reference to the interop for that COM object: Interop.MMCLTSVCS.dll. However it does not contain a reference to the interop for one of the other COM objects that Interop.MMCLTSVCS.dll uses. Apparently this works fine under the IDE but fails with an obscure error message under MSBuild.

Visual Studio’s “Unused References” function provides an easy way to get this error. It will helpfully remove any references that are not used by your .NET code, without considering whether they are used by any of the referenced interops.