Corrections to the answers I gave at the end of my PDC talk


I guess one advantage of having a web site is that I can publish errata. I haven’t watched the Channel9 video (and probably never will; it’s hard to watch yourself), but I do remember some of the questions at the end that I wasn’t able to answer off the top of my head, but after a few days’ research I think I can do it now.

The person who asked “When I call MessageBox from my MFC application and shut down the system, why does my application crash?” stopped by the Fundamentals Lounge later that day, and we went into more detail about his problem. It turns out that he was a victim of one of the bullet points I called out in the section on parents and owners: He was passing NULL as the owner window to MessageBox, which created two top-level unowned windows on the same thread, something I also explained earlier this year when discussing the importance of setting the correct owner for modal UI. As a result, the handling of the shutdown message resulted in the support for the message box being torn down while it was still live on the stack. (I didn’t cover this in my talk because I didn’t want to bore people with information they could already have gotten by reading my earlier articles. After all, the talk wasn’t titled “Raymond’s Greatest Hits”.)

I made a mistake in my answer to the question about transferring input due to a mistaken input queue assignment due to a hole in a regional window. In fact, the message does not move between input queues; the window manager does a full hit-test against the region before deciding which input queue gets the message. The point of queue transfer is not to transfer the message, as I mistakenly described, but rather is to transfer the wake flag. If there are two input messages in an input queue, one for thread A and the second for thread B, then it is thread A that is woken first to process the input. When thread A processes the first message and then goes back to ask for the second message, the queue manager sees that the next message in the input queue is for thread B. At this point, it wakes up thread B and tells it that it is being woken due to an input transfer: “It’s your turn now.”

It so happens that as you all came to my talk to check me out, I had spies in the crowd checking you out. Sara Ford, a Microsoft celebrity in her own right, told me that the buzz in the crowd was that I’m so short. Well, in my defense, I would like to point out that being on a raised platform makes me look shorter since the front of the table takes about six inches off my height due to the angle.

But yeah, I’m short.

And I’ll take it as a compliment that you don’t consider me to be old or fat.

For those who were wondering: What was I doing when I was fiddling with the second computer on the table? That computer was running a giant clock program so I could see how I was doing on time. For some strange reason, the standard PDC equipment for a talk doesn’t include a clock! I was fiddling with it because I forgot to disable the screen saver, so I had to wake up the computer periodically in order to keep the clock visible.

Note that I never said that I never wanted to be on video. What I said was that I don’t do interviews.

Assuming the PDC organizers ask me back for the next PDC (big assumption) what do you think the title of my next talk should be?

Comments (16)
  1. Manip says:

    Re-"that I never wanted to be on video"

    I stand corrected. :-)

    Why don’t you have a C9 account?

  2. Karl says:

    I enjoyed your talk quite a bit! One thing you mentioned was how apps will probably look messed up due to the new high DPI stuff in Vista, so perhaps your next talk can be over getting that right. But, you might wind up covering that sort of thing here on your blog. ;)

  3. Ignoring the fact that this could be classified as an interview question, why don’t you do interviews?

  4. BlackTigerX says:

    for some reason I also thought that you were american… I was really off

    so how about your next PDC talk on "Raymond’s debugging techniques"?

  5. Scott says:

    Ah, no his logic is correct Raymond, but it contains some assumptions.

    He assumes that you know that Channel 9 is an MSDN site and that it’s primary purpose is to increase communication between Microsoft employees and their users.

    He also assumes that Channel 9 fills some void in that purpose that your weblog does not.

    For your next talk how about a topic like "the evolution of the Windows API"?

  6. wound says:

    Raymond,

    For some reason I always pictured you as an old man with a long white beard, dispensing the acrued wisdom of the generations to earnest seekers of knowledge. Imagine my dissapointment to see you’re young (ish) and beardless. Somehow my level of awe was diminished, or at least it was until you finished your pre-amble and got on with the talk proper. I’d also like to admit that I too have links to your blog in my code, just in case my boss reads it and asks why I did A instead of B.

  7. slapout says:

    what do you think the title of my next talk should be?

    How about the top ten interesting/humorous antidotes regarding the development of Windows 95/98?

  8. oldnewthing says:

    Your question is backwards. You should be telling me why I should *get* a C9 account. There are a zillion web sites out there; you don’t expect me to have an account on every single one do you?

  9. MSDNArchive says:

    BlackTigerX: I see no evidence that Raymond is American or that he isn’t. Well . . . that’s not entirely true. He seems to have a better command of English than most Americans. But he’s also psychic. Maybe he gained facility in English during the same meteor strike that gave him his spooky mental powers. Or was it a freak electrical storm? I’ll have to re-read my copies of the early Raymond comics to remind myself.

    - Drew

  10. Brian says:

    next year, you should name your talk "Raymond’s Greatest Hits"

  11. kbiel says:

    >for some reason I also thought that you were american… I was really off

    BlackTigerX:

    How can a blog-bot be a citizen? Right Ray? ;)

  12. zzz says:

    wound: "For some reason I always pictured you as an old man with a long white beard, dispensing the acrued wisdom of the generations to earnest seekers of knowledge. Imagine my dissapointment to see you’re young (ish) and beardless."

    So I weren’t the only one who had similar image in the head before! Why? I think I got the image of an old guy from the name of the blog and the color scheme on it brings to mind an old engineer with a beard!

  13. Norman Diamond says:

    the buzz in the crowd was that I’m so short.

    > Well, in my defense

    You stated your defence a few weeks ago. You said you wouldn’t sign anything. So you still get one more significant bit by being an unsigned short.

  14. BlackTigerX says:

    >I see no evidence that Raymond is American or that he isn’t.

    well… you know what I meant, not only born in America…

  15. gel says:

    well… you know what I meant, not only born > in America…

    I see no evidence that Raymond was born in America or that he wasn’t.

  16. Martin W says:

    You seemed a bit nervous at the start, but you did just fine after a few minutes!

    Cheers!

    /The dude right infront of you :)

Comments are closed.