What difference does the 'e' make?

by Michael S. Kaplan, published on 2006/04/23 04:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/04/23/581531.aspx


So, the question I got in email from someone named Kenny was quite timely:

The .NET Framework has a file named normalize.dll, and Vista has one named normaliz.dll. What is the difference between these two files other than the name?

I say timely because yesterday was an interestingly busy day....

In the morning I was just doing laundry and such. That part was kind of boring.

But in the afternoon, I decided to use my FlexPass to run some errands downtown. I had had good luck with the scooter on the bus previously, and I had the day, so I figured why not?

First I wanted to go to Caffe Bella to give them some posters for the show that Kristin Connell is doing there on May 5th:

I left them in the care of Kim to hang up appropriately, and then I made my way over to the UW Medical Center to get some bloodwork done (not sure what they were testing for exactly but they got three lavendar tops, one red top, and two jungle tops out of me; I was a bit worried losing so much blood right after I donated a pint but I was encouraged not to worry!).

Anyway, I was waiting to head home on the 540 bus but there was a bit of a wait. While I was waiting around in front of UWMC for the bus, my phone rang. It was my old friend Liz!

Liz and I go way back, like about 15 years back, give or take. When we first became friends there was another Elizabeth in our circle who went by Liz also. But since the other Liz was really wild, we called her 'Crazy Liz' or 'Wild Liz'. And then my friend the not-wild one we just called 'Liz.'

But then, just after that fifth book in the Hitchhiker's Trilogy (Mostly Harmless) came out, the text that inspired us all further and became the subject of a late night discussion over kamikaze shots went something like this:

    Trillian picked up the sandwich and looked at it. She sniffed it carefully.
    "Try it," said Arthur, "it's good."
    Trillian took a nibble, then a bite and munched on it thoughtfully.
    "It is good," she said, looking at it.
    "My life's work," said Arthur, trying to sound proud and hoping he did not sound like a complete idiot. He was used to being revered a bit and was having to go through some unexpected mental gear changes.
    "What's the meat in it?" asked Trillian.
    "Ah yes, that's um, that's Perfectly Normal Beast."
    "It's what?"
    "Perfectly Normal Beast. It's a bit like cow, or rather a bull. Kind of like a buffalo in fact. Large, charging sort of animal."
    "So what's odd about it?"
    "Nothing, it's Perfectly Normal."
    "I see."
    "It's just a bit odd where it comes from."
    Trillian frowned, and stopped chewing.
    "Where does it cone from?" she said with her mouth full. She wasn't going to swallow until she knew.
    "Well, it's not just a matter of where it comes from, it's also where it goes to. It's all right, it's perfectly safe to swallow. I've eaten tons of it. It's great. Very succulent. Very tender. Slightly sweet flavor with a long dark finish."
    Trillian still hadn't swallowed.
    "Where," she said, "does it come from, and where does it go to?"
    "They come from a point just slightly to the east of the Hondo Mountains. They're the big ones behind us here, you must have seen them as you came in, and they sweep in their thousands across the great Anhondo Plains and, er, well, that's it really. That's where they come from. That's where they go.
    Trillian frowned. There was something she wasn't quite getting about this.
    "I probably haven't made it quite clear," said Arthur. "When I say they come from a point to the east of the Hondo Mountains, I mean that's where they suddenly appear. Then they sweep across the Anhondo Plains and, well, vanish really. We have about six days to catch as many of them as we can before they disappear. In the spring they do it again, only the other way around, you see."
    Reluctantly Trillian swallowed. It was either that or spit it out, and it did in fact taste quite good.
    "I see," she said, once she had reassured herself that she didn't seem to suffer any ill effects. "And why are they called Perfectly Normal Beasts?"
    "Well, I think because otherwise people might think it was a bit odd. I think Old Thrashburg called thm that. He says that they come from where they come from and they go to where they go to and that it's Bob's will and that's all there is to it."
    "Who--"
    "Just don't even ask."

So after many kamikazes one of us (I think it was Sam) was thinking about the fact that Liz's boyfriend at the time was named Robert and he said

She comes where she comes and she goes where she goes and that's Bob's will and that's all there is to it. She is a Perfectly Normal Liz.

What can I say, the nicknames stuck -- Perfectly Normal Liz when we were being formal, and Nomal Liz or PNL when we weren't. I think her sister disagreed with our assertion that Elizabeth was actually, in fact, normal. But we didn't really hang out with her sister so we ignored that. :-)

Then, to get back on topic, a few years ago, I was adding the normalization files that were already in the Whidbey builds to the Longhorn build, so that they would be there for users to try out in M6 (Shawn was in a class that week, I can't remember which one it was). Some folks on the base team recommended that since the file was being called by kernel32.dll that an 8.3 name would probably be better than using normalize.dll. Obviously NORMALIZ.DLL was the best answer to that concern, and after I was testing the setup change, waiting for a reboot, I thought back to my friend Perfectly Normal Liz and realized what a hilarious tribute it would make, even if it was only realized thirty minutes after the actual change was made (I often find that I am only clever in retrospect).

Liz was (by her own report) on the floor laughing when I finally had a chance to tell her about it, a little while after that PDC build of Longhorn that contained the file NORMALIZ.DLL in the system32 directory....

 

This post brought to you by "e" (U+0065, a.k.a. LATIN SMALL LETTER E)


# Dean Harding on 23 Apr 2006 9:04 PM:

> Some folks on the base team recommended that since the file was being called by kernel32.dll
> that an 8.3 name would probably be better than using normalize.dll.

I've always wondered why system DLLs are usually 8.3 format, and I've always just assumed it was so that they could be stored on a CD in an ISO-9660 filesystem without any extensions, but that sentence makes me think there's some other reason... what does being called from kernel32.dll have to do with naming DLLs as 8.3?

# Michael S. Kaplan on 23 Apr 2006 9:28 PM:

Hi Dean,

Well, one reason is that if you a DLL that is being delay loaded then you have to be ready to handle both machines that have only long file names and machines that disallow long file names -- it is obviously a lot more work unless you make sure that both names will be the same. :-)

# Michael S. Kaplan on 23 Apr 2006 10:01 PM:

I misspoke there... scratch the "disable long file names" as I don't think that's possible. But there are times that long file names can lose themselves. Which would put a person in the same boat....

# Michael S. Kaplan on 24 Apr 2006 1:09 AM:

Actually, scratch the scratch there - you can install Windows on a FAT or FAT32 partition, and you can disable long file names there. So my inital point stands as well as the new one. :-)

referenced by

2015/02/04 Sorry, but Sorting it all Out has often been about sex for the last decade

2006/05/07 That songwriters round I was at

go to newer or older post, or back to index or month or day