Showing results for History - The Old New Thing

Jun 20, 2008
Post comments count0
Post likes count0

Donations to the Microsoft Archives: Pens, CDs, and paperweights

Raymond Chen
Raymond Chen

Among other responsibilities, the Archives department preserves Microsoft history, be it old hardware, old software, old documentation, or ephemera. Last year, one of my colleagues was cleaning out his office because he was moving to Granada, and of the junk he was going to throw out, the Archives asked me to save the following: and my favorit...

History
May 30, 2008
Post comments count0
Post likes count0

Why are some GDI functions named ExtXxx instead of XxxEx?

Raymond Chen
Raymond Chen

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

History
May 29, 2008
Post comments count0
Post likes count0

The sad demise of whimsical teasing in Comic Chat

Raymond Chen
Raymond Chen

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

History
May 19, 2008
Post comments count0
Post likes count0

Why is the function SHStripMneumonic misspelled?

Raymond Chen
Raymond Chen

If you wander through MSDN, you may stumble across the function . The correct spelling is mnemonic. Why is the function name misspelled? "It was like that when I got here." The function was originally written for internal use only, and the person who wrote the function spelled the word incorrectly. Still, since it was an internal function, there ...

History
May 13, 2008
Post comments count0
Post likes count0

The Big Red Switch really was big and red

Raymond Chen
Raymond Chen

In this article on compatibility between the .NET Framework versions 1.1 and 2.0, there is a passing mention of a setting nicknamed the "Big Red Switch". The power switch on the original IBM PC really was big and red. Well, orange-red. Here's a picture of the power switch on an IBM PC-AT. Decide for yourself what color it is. In college, t...

History
May 2, 2008
Post comments count0
Post likes count0

You didn't know you could add properties by atom, and it's a good thing you didn't know

Raymond Chen
Raymond Chen

As I noted a few days ago, there is weirdness associated with properties added by atom. This weirdness stems from the fact that adding properties by atom is really a hole in the original implementation rather than something designed on purpose. The original 16-bit code for adding and removing properties went roughly like this: First, let's l...

History
Apr 29, 2008
Post comments count0
Post likes count0

Why do atoms start at 0xC000?

Raymond Chen
Raymond Chen

There are two types of atoms, so-called integer atoms, which are just small integers, and, um, atoms that don't have a special adjective; these plain vanilla atoms come from functions like . (For the purpose of this discussion, I'll call them string atoms.) The atom zero is invalid (); atoms 1 through † are integer atoms, and atoms from thr...

History
Mar 27, 2008
Post comments count0
Post likes count0

Why do structures get tag names even if there is a typedef?

Raymond Chen
Raymond Chen

As we noted last time, structure tags are different from the typedef name as a historical artifact of earlier versions of the C language. But what about just leaving out the name entirely? One problem with this approach is that it becomes impossible to make a forward reference to this structure because it has no name. For example, if you wanted...

History
Mar 26, 2008
Post comments count0
Post likes count0

Why are structure names different from their typedef names?

Raymond Chen
Raymond Chen

In Windows header files, many structures are declared like this: Why is the structure name different from typedef name? This is a holdover from very early versions of the C language where structure tags, union tags, and typedefs were kept in the same namespace. Consequently, you couldn't say . At the open brace, the compiler registers as a s...

History