Long S is long
A bunch of people have been posting interesting searches on Google Labs' Books Ngram viewer. I heard about it from this tweet by @njrabit, but the tantalising link (don't follow if you don't like swearing) at the bottom of this blog post by S. Weasel, showed up something interesting. Why is it that of four swearwords, the one starting with 'F' is incredibly popular from 1750 to 1820, then drops out of fashion for 140 years -- only appearing again in the 1960s?
An odd crontab problem
This took a little while to work out, so it's worth sharing here just in case anyone else has the same problems and is googling for solutions. We had a problem on one of our web servers at Resolver which manifested itself in some (but not all) cron jobs being run twice, which was causing all kinds of problems. Here's how we tracked it down and solved it.
Patronising messages
A quick rant -- why is it that Microsoft's "genuine advantage validation tool" feels the need to "show me some of the many advantages of using genuine software" after it has determined that my copy of Windows is legitimate? Seriously, can anyone think of a case where that wouldn't piss users off? I hate to think what it says if it finds out that you're using a pirated copy.
When Resolver starts selling software over the web, I will add a checkbox at the end of the checkout process. It will appear only if the customer's IP address belongs to Microsoft or to one of certain entertainment companies, it will be checked by default, it will be in large, friendly letters, and it will read "tell me about some of the benefits of not using stolen credit cards to buy software online."
MSBuild WTF: "The error was:"
Here's a fun one for anyone who uses msbuild (at least, v2.0.50727). Create a project file like this:
<Project DefaultTargets="Foo" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Foo">
<Exec Command = "echo Hello!" />
</Target>
</Project>
From a command prompt, run the project; you will get a the effect you would expect.
Now replace the word "Hello" with "The error was: something random". Run it again.
C:\\Dev\\Resolver>msbuild foo.proj
Microsoft (R) Build Engine Version 2.0.50727.42
[Microsoft .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation 2005. All rights reserved.
Build started 15/11/2006 17:50:22.
__________________________________________________
Project "C:\\Dev\\Resolver\\foo.proj" (default targets):
Target Foo:
echo The error was: something random
EXEC : The error was: something random
C:\\Dev\\Resolver\\foo.proj(3,9): error MSB3073: The command "echo The error was: something random" exited with code -1.
Done building target "Foo" in project "foo.proj" -- FAILED.
Done building project "foo.proj" -- FAILED.
Build FAILED.
EXEC : The error was:
C:\\Dev\\Resolver\\foo.proj(3,9): error MSB3073: The command "echo The error was: something random" exited with code -1.
0 Warning(s)
2 Error(s)
Time Elapsed 00:00:00.09
C:\\Dev\\Resolver>
Fuzzyman and I bumped into this one at work today; our continuous integration server, which watches our Subversion repository and checks out, builds, and tests any code changes it sees, had reported a failure despite the fact that none of the tests had failed. It turned out that one test was quite innocently printing out the text "The error was: " followed by some logging information; it wasn't an error at all. As far as I can tell, the statement that the echo command exited with code -1 is absolute nonsense.
This behaviour is not documented anywhere that we were able to find; I can only assume it was added for some specific purpose in the context of Visual Studio...