The Old New Thing

In the product end game, every change carries significant risk

One of the things I mentioned in my talk the other week comparing school with Microsoft is that in school, as the deadline approaches, the work becomes increasingly frantic. On the other hand, in commercial software, as the deadline approaches, the rate of change slows down, because the risk of regression outweighs the benefit of the fix. A ...

Hey, is there somebody around to accept this award?

Back in the late 1990s, some large Internet association conducted a survey in order to bestow awards in categories like Best Web server and Best Web browser, and one of the categories was Best Web authoring tool. We didn't find out about this until the organization contacted the Windows team and said, "Hi, we would like to present Microsoft ...

Windows 95's ticking death

A few years ago, Larry Osterman explained the famous beeping death. Windows 95 had its own noise-related death, what nobody has called ticking death, but that's what I'm going to call it. (Let's see how long before somebody decide to add it to Wikipedia.) When your machine fell into ticking death, each time you moved the mouse or ...

Woe unto PROGMAN.INI

Sad but true: Once you document a file format, it becomes a de facto API. The Windows 95 team learned this the hard way when they set out to replace Program Manager with Explorer. Not only were the settings in the file documented, so too was the binary file format of files. The binary file format was included for diagnostic purposes: ...

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

Microspeak: Whale Boy

Today is the tenth anniversary of Windows Live Messenger. My colleague Danny Glasser provides some history behind the product, and you can watch a tenth anniversary celebration video created for the occasion. And thus is inspired today's Microspeak: Whale Boy. Whale Boy is the nickname for the pawn-shaped Messenger buddy icon. His normal ...

Why was MoveTo replaced with MoveToEx?

Commenter Ulric asks, "Where did MoveTo(HDC, int, int) go?" Back in the 16-bit days, the function to move the current point was called , and its return value was a which encoded the previous position, packing two 16-bit coordinates into a single 32-bit value. As part of the transition to 32-bit Windows, GDI switched to using 32-bit ...