The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

What were ShellExecute hooks designed for?
Sep 10, 2008
Post comments count 0
Post likes count 1

What were ShellExecute hooks designed for?

Raymond Chen
Raymond Chen

Windows 95 introduced (and Windows Vista removed) the concept of ShellExecute hooks. These are objects which implemented the interface. That interface had just one method: , which took a structure and returned to indicate that the item was executed, to allow processing to continue, and an error code to halt processing. The intended purpose of the shell execute hook was to allow you to extend the set of strings that can be executed. For example, Internet Explorer 1 used a shell execute hook so that you could type into the Run dialog and invoke the Web browser. This was necessary because the o...

If you use an absurd signature, I might end up sending it back to you
Sep 9, 2008
Post comments count 0
Post likes count 0

If you use an absurd signature, I might end up sending it back to you

Raymond Chen
Raymond Chen

Despite my previous rant, absurdly elaborate email signatures are still common at Microsoft, and I'm not just talking about the ones that contain information that may be required by department policy. I'm talking about signatures that use bright colors, large fonts, maybe a bitmap or two, sometimes even a photo of the sender! I will sometimes mention in my reply, "Please consider making your signature less eye-catching. It distracts from the text of your message." But other times, I just incorporate it in to the reply more directly: From: John Doe Blah blah blah question blah blah blah. John Doe Technical L...

I’ll see (some of) you in Los Angeles, but this time it’ll be October
Sep 8, 2008
Post comments count 0
Post likes count 0

I’ll see (some of) you in Los Angeles, but this time it’ll be October

Raymond Chen
Raymond Chen

(It was September last time.) I've been asked to step in as a replacement speaker for the 2008 PDC. The details of the talk are not yet publically available, but what I can say is that the topic will be in the category of Win32 programming. Disclaimers: Information was believed to be accurate at press time. Speakers subject to change. Talk may be changed or cancelled for reasons outside my control, or possibly even reasons within my control. This posting is provided as is with no warranties, and confers no rights. Not recommended for children. Some settling may occur during shipping. If symptoms persist, se...

QueryPerformanceCounter counts elapsed time, not CPU cycles
Sep 8, 2008
Post comments count 0
Post likes count 0

QueryPerformanceCounter counts elapsed time, not CPU cycles

Raymond Chen
Raymond Chen

An anonymous coward asks whether the function counts elapsed time or CPU cycles. It counts elapsed time. It has to, since its value is governed by the function, which returns a number specifying the number of units per second, and the frequency is spec'd as not changing while the system is running. For CPUs that can run at variable speed, this means that the HAL cannot use an instruction like , since that does not correlate with elapsed time. Commenter "A" appears to have found a buggy HAL that failed to take this into account and returns values that do not correlate with elapsed time. What would it t...

Tales from the interview: Anticipating your own incompetence is not a good interview strategy
Sep 5, 2008
Post comments count 0
Post likes count 0

Tales from the interview: Anticipating your own incompetence is not a good interview strategy

Raymond Chen
Raymond Chen

Some years ago, there was a candidate who was interviewing for a programming position in my group. The first interviewer asked the candidate about career plans with that old standby, "Where do you see yourself in five years?" — In five years, I see myself in program management. This is a fair answer. Many people see programming as a stepping stone to management. It doesn't have to be, but it's certainly a career path more than one person has taken. My colleague decided to probe further. "What is it about program management that appeals to you?" — Well, after five years, all the kids gradua...

Tales from the interview: Lunch is not a competition, episode 2
Sep 4, 2008
Post comments count 0
Post likes count 0

Tales from the interview: Lunch is not a competition, episode 2

Raymond Chen
Raymond Chen

Last time, we saw the consequences of failing to recognize that lunch is not a competition. Today we'll see an even more unfortunate result. One candidate went to lunch with my colleague the economist. (Claim to fame: "Jenna von Oÿ is my cousin!") They went to a local Thai restaurant, Thai being a very popular cuisine here in the Seattle area. The afternoon interviews showed a marked change for the worse from the morning interviews, and the afternoon interviewers began to ask, "What happened at lunch? The candidate was doing really well in the morning, but in the afternoon, had difficulty concentrating a...

Tales from the interview: Lunch is not a competition
Sep 3, 2008
Post comments count 0
Post likes count 0

Tales from the interview: Lunch is not a competition

Raymond Chen
Raymond Chen

One thing that many interview candidates fail to comprehend is that lunch is not a competition. You're not auditioning for Fear Factor. No matter how many times we explain this, candidates don't believe it. One of my colleagues took a candidate to lunch. As is typical, the candidate is asked whether there was any particular preference or phobia, and as is also typical, the candidate expressed no preference (trying not to look difficult). My colleague explained, "Okay, well, I like sushi, but please, if you don't like sushi, please just say so, and we can go to an Italian or Mexican place or even just grab a bu...

Tales from the interview: Can you rotate this two-dimensional array?
Sep 2, 2008
Post comments count 0
Post likes count 0

Tales from the interview: Can you rotate this two-dimensional array?

Raymond Chen
Raymond Chen

My colleague jeffdav told me about one job interview with a graduating college senior that didn't go well because the candidate simply gave up. He offered a simple programming task: Write a function that takes a 4×4 two-dimensional array and rotates it clockwise by 90 degrees. For example, the entry in the upper left corner of the array goes to the upper right corner. The interview candidate simply gave up without even writing so much as a function prototype. "I can't do it." — Okay, well, let's take it a step at a time. Maybe take a specific example and see what we can learn from it. ...

It helps if you write a cover letter and remember the name of your interviewer
Sep 1, 2008
Post comments count 0
Post likes count 0

It helps if you write a cover letter and remember the name of your interviewer

Raymond Chen
Raymond Chen

It's not a big thing, but it shows that you have your act together and does a lot towards distinguishing you from everybody else. A story of the importance of writing a cover letter and remembering the name of your interviewer. (Then again, what do I know. JobsBlog probably is a better source for this type of info. Earlier this year, Angela McLaughlin shared her thoughts on cover letters.)