The Old New Thing

Why are some GDI functions named ExtXxx instead of XxxEx?

By convention, an enhanced version of a function is called , but there are many GDI functions that don't follow this conventions, most notably , which should have been named under the convention. Why don't the GDI functions follow that convention? Because they were named before the convention was established. Nothing nefarious, just an ...

The sad demise of whimsical teasing in Comic Chat

Internet Explorer 3 came with the IRC client Comic Chat, a product from the research division. And it's not surprising that a program as goofy as Comic Chat would put something goofy in the default profile. If you didn't set a profile when you created your character, it defaulted to "This person is too lazy to create a profile entry." Of ...

India Calling: Call centers from the Indian point of view

In the United States, the growing relocation of call centers to India has been the source of much hand-wringing, but for every action there is an equal and opposite reaction: What effect is this having on India? The primetime soap opera India Calling looks at the effect of a 600,000-person industry, the eyebrows raised when neighbors see a ...

The cultural axes of punctuality and waiting in line

Even ten minutes after my conference talk was scheduled to begin, people were still wandering into the hall. My host explained that in Portugal, nothing starts on time. (This Web site goes so far as to say that arriving a half hour to 45 minutes late is customary.) I asked whether the Portuguese form orderly lines when waiting for things. ...

You can't give away something that isn't yours

This rule of real life applies to code as well. If something doesn't belong to you, then you can't give it away. For example, functions like and take ownership of the item that you pass it. In SetClipboardData's case, the memory block you pass as the parameter becomes the property of the clipboard. For it's the that becomes the ...

Welcome to the International Bank of Raymond

Over a decade ago, one of my colleagues (whom I'll call "Ralph" for the purpose of this discussion) told me that he briefly ran an international bank. Well, not really. Ralph's first roommate was another Microsoft employee, somewhat of the stereotypical computer nerd in the sense that he could write code like a maniac but didn't have a good ...

What does TranslateAccelerator do?

For some reason, there appears to be some confusion over what does. It's very simple, and it's all spelled out in the documentation. You give it a message, and if the message is a keypress that matches an entry in the accelerator table, the corresponding or message is sent to the window you said you are translating messages for. One ...

Microspeak: On-board (verb)

Here are a few citations. On a list of activities: Presumably they mean bring on board. What makes this particularly interesting is that they didn't convert a noun to a verb; they converted a prepositional phrase to a verb, demonstrating once again the malleability of the English language. Here's a snippet from a blog post which seems ...