The Old New Thing

And they don't take American Express

A conversation between two friends of mine. Friend 1: Here's the fifteen dollars I owe you. Oh wait, I only have a twenty. Do you have a five? Friend 2: I don't carry cash. Everybody takes credit cards. Friend 1: I don't take credit cards. In my imagination, Friend 1 would have responded to "Everybody takes credit cards...

Why do new controls tend to use COM instead of window messages?

Commenter David wonders why new controls tend to use COM instead of window messages. "It seems that there must have been a decision to only develop COM controls after the invention of COM." There have been plenty of Win32 controls invented after the invention of COM. In fact, the entire common controls library was developed after the ...

A different perspective from the first row of the symphony

On the weekend of November 10 during the 2007–2008 Seattle Symphony season, the symphony performed both Brahms piano concerti and two of his symphonies in consecutive concerts. My subscription included one of them, and I bought a separate ticket to the other one, and the seat I was given was in the very front row. You notice all ...

Isn't every dinner at a technology conference a geek dinner?

I'm always amused when somebody announces that they're having a geek dinner at a technology conference. I mean, at a conference like that, every dinner is a geek dinner. The geek density is so high, +4 enchanted vorpal swords quiver in fear. [Update 8am: Fixed broken permalink. Yay, they broke a permalink...

What is the maximum number of timers a program can create?

As MSDN correctly notes, "Timers are a limited global resource." How limited are they? (We're talking about timers created by .) Not as limited as they once were. Originally, there were eight timers total for the entire system. When there are only eight timers, you have to be very careful not to waste them and to destroy them when they aren'...

The way to stop people from copying files to a folder is to use NTFS security, not to block drag/drop

A customer wanted to prevent users from copying files to certain locations, and they did it by hooking functions like and failing the operation if the parameters were not to its liking. The customer found that the hooks stopped working in Windows Vista because Explorer in Windows Vista uses the new COM interface instead of using the old ...

In Ephesus, you juggle or die

In 1987, The Flying Karamazov Brothers performed their interpretation of Shakespeare's A Comedy of Errors. When I watched this show (part 1, part 2) when it first aired, it was my introduction both to the juggling team and to the play. It also reinforced my impression that Shakespeare was meant to be performed and not merely read...

Meta-content: Suggestion Box 4 will open sometime next year

Yesterday, I finished composing the last entry taken from an item in Suggestion Box 3. My prediction that the backlog would clear in early 2010 was off by exactly one year: The last Suggestion Box 3 entry is scheduled to be posted on January 3, 2011. I figure I'll open Suggestion Box 4 sometimes next year. But I'll leave it ...

My phone just DoS'd my office network

The other day I was working in my office minding my own business when I suddenly lost network connectivity. I couldn't contact any machines other than the ones in my office. When this happens, I go through some basic troubleshooting steps. Is my neighbor's network okay? How about power-cycling the affected machines? Refreshing the TCP/IP ...