The Old New Thing

Behind the Scenes at Mythbusters does not include experiments or explosions

Mythbusters is going on the road. Well, the show isn't actually going on the road. Just the two hosts. In Behind the Scenes at Mythbusters, they go on stage to tell stories about the myth busting process, but they won't conduct any actual experiments or blow anything up. (And therefore the reason for going to the show is what, exactly?) ...

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 ...

Reading a contract from the other side: SHSetInstanceExplorer and SHGetInstanceExplorer

Shell extensions that create worker threads need to call the function so that Explorer will not exit while the worker thread is still running. When your worker thread finishes, you release the that you obtained to tell the host program, "Okay, I'm done now, thanks for waiting." You can read this contract from the other side. Instead of ...
Comments are closed.0 0
Code

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 ...
Comments are closed.0 0
Code

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 ...
Comments are closed.0 0
Code

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 ...