The Old New Thing

Automatic messages when you're not in the office – the infamous OOF

"OOF" is a word you hear a lot at Microsoft. KC Lemson gave the etymology a while back (though my recollection is that it stood for "Out of Office Feature", not that my memory is good for much nowadays). Incidentally, KC is profiled on the Microsoft Careers site, though she goes under the top-secret code name "KC" there. Most people set ...

Solutions that don't actually solve anything

If changing a setting requires administrator privileges in the first place, then any behavior that results cannot be considered a security hole because in order to alter the setting, attackers must already have gained administrative privileges on the machine, at which point you've already lost the game. If attackers have administrative ...

Subtle ways your innocent program can be Internet-facing

Last time, we left off with a promise to discuss ways your program can be Internet-facing without your even realizing it, and probably the most common place for this is the command line. Thanks to CIFS, files can be shared across the Internet and accessed via UNC notation. This means that anybody can set up a CIFS server and create files like...

A new scripting language doesn't solve everything

Yes, there are plenty of scripting languages that are much better than boring old batch. Batch files were definitely a huge improvement over back in 1981, but they've been showing their age for quite some time. The advanced age of boring old batch, on the other hand, means that you have millions of batch files out there that you had better ...

No good deed goes unpunished: Bug assignment

Sometimes you're better off keeping your fool mouth shut. The other day I got a piece of email requesting that I look at a crashed system because the tester believed it was another instance of bug 12345. While that may very well have been the case, bug 12345 was a kernel pool corruption bug in the object manager, something of which ...

Troubleshooting tips are not formal product documentation

The Microsoft Knowledge Base is filled with product support tips, but be careful to understand the scope of those tips. Generally speaking, information provided in the Knowledge Base exists for troubleshooting purposes, not for program design. That's why each article lists specifically which operating system it applies to: There is no ...

Then again, it might not be overclocking after all

While it's true that there's an awful lot of overclocking out there, it's also true that not everything that looks like overclocking actually is. Last Thanksgiving, I helped one of my relatives upgrade their computer by scavenging parts from another unused computer (installing more memory and replacing a broken CD drive). When I took the ...

Adding a new flag to enable behavior that previously was on by default

One of the suggestions for addressing the network compatibility problem was to give up on fast mode and have a new "fast mode 2". (Equivalently, add a flag to the server capabilities that means "I support fast mode, and I'm not buggy.") This is another example of changing the rules after the game is over, by adding a flag to work ...

Be very careful if you decide to change the rules after the game has ended

One suggestion for addressing the network compatibility problem was returning an error code like which means "Um, the server ran into a problem. Please start over." This is basically the same as the "do nothing" option, because the server is already returning an error code specifically for this problem, namely, . Now, sure, that error doesn'...