The Old New Thing

Microthink: If you can't measure it, then it doesn't exist

At Microsoft, there is an obsession with measurement. If you can't measure it, then it doesn't exist. As a result, we set up data collection mechanisms, and try to interpret that data, even if the data isn't what we're really interested in, but we act as if it is. Because it's what we know how to do. (If all you have is a hammer...) A classic...

You mean, you have computers in Taiwan?

The wife of one of my relatives grew up in Taiwan and attended college in the United States. When she went home to Taiwan for the holidays, she would tell her classmates, "If you need to get in touch while I'm away, you can send me email." One of them asked her, "You mean, you have computers in Taiwan?" (Hint: It's the home of the world's ...

Where do those Wall Street Journal hedcuts come from?

A few years ago, Marketplace radio looks at those portraits used by the Wall Street Journal, known as hedcuts. Believe it or not, these drawings are hand-done, not computer-generated. View the Smithsonian National Portrait Gallery online exhibition to see, for example, how Steve Jobs's portrait has changed over the years...

Management-speak: Norming around mechanisms

This is the entire text of an actual piece of email I received from a high-level manager in response to some feedback I sent. Thanks. There is a lot of norming around any of these mechanisms as well as a certain amount of ability to hold ones ground in these interactions in addition to the admin of the rule being good enough as discussed...

'Tis the season for top ten lists, and manipulation of top ten lists

A few years ago, Marketplace radio reported on the sub-industry of top ten lists, specifically the lists intended to be used as gift guides. Marketing companies drool over these lists, since placement on them can mean a tremendous boost in sales, and they're anxious to do whatever it takes to get on the list. For example, The Da Vinci Code ...

Consequences of the scheduling algorithm: Low priority threads can take 100% CPU

I see variations on this question occasionally. "Why is my low priority thread consuming 100% CPU?" Setting a thread to low priority doesn't mean that it won't consume lots of CPU. It just means that it doesn't get to run as long as there is a higher-priority thread ready to run. But if there is a CPU looking for something to do, and there is...

How do I mark a shortcut file as requiring elevation?

Specifying whether elevation is required is typically something that is the responsibility of the program. This is done by adding a element to your manifest. (Bart De Smet shows you how. Calvin Hsia does the same for your Visual FoxPro programs.) But if the program you're running doesn't have such a manifest—maybe it's an old program...

Book review: Advanced Windows Debugging (Mario Hewardt and Daniel Pravat)

Ever so often, somebody sends me a book, and most of the time I glance through it and say, "Eh." But not this time. Advanced Windows Debugging will make you the envy of your friends (if your friends are computer nerds). Even the section with the "Oh come on every moron knows this already" title Basic Debugger Tasks has stuff that I didn't ...

Not every first-chance exception is a security vulnerability

In the category of dubious vulnerability, I submit the following (paraphrased) report: If I call the function, I can cause a buffer overflow exception if I provide an insertion that is more than 2000 characters long. The function in Windows NT, 2000 and XP used the dynamically expanding buffer technique to allocate memory for ...