The Old New Thing

2005 end-of-year link blowout sale

A quick list of links amassed over the past year. Not quite worth a posting on their own, but together they might mean something. [While Raymond was on vacation, the autopilot stopped working due to a power outage. This entry has been backdated...

On the abuse of properties

One thing that I see occasionally is the abuse of property syntax. IDispatch and CLR objects (and C++ objects if you want to avail yourself of a Microsoft-specific extension) support "properties", which syntactically look like fields but internally are treated as a pair of methods ("get" and "put"). An important principle is that given an ...

There's more to calling a function than just getting the types to match

Here's a classic novice error. You want to call a function, say GetBinaryType. What should you write for those question marks? Well, the prototype says that the second parameter is an LPDWORD, so let's pass it one. Hm, but that crashes. Well, maybe we can pass it an LPDWORD this way: Hm, that still crashes. Oh wait, it's because ...

If one certification is good, more must be better

In the discussion of driver signing, commenter ATZ Man suggested: Further, Microsoft should allow orgs that are peers of WHQL [to] certify drivers and allow drivers to obtain certs from any such org or set of such orgs as they choose. Over time users would know which orgs were on the ball and which had agendas. Would they? Let's take a ...

Why did the Windows 95 CD have extra fun stuff?

Why did the Windows 95 CD have extra fun stuff, like the Good Times and Buddy Holly music videos, the Rob Roy trailer, and the cartoons by Bill Plympton? Because it was fun! Why does one have to justify having fun? In addition to the multimedia fun, there was also video game fun, with the addition of Pinball and the mercifully-forgotten ...

On the “Days without a pony” web page

Reader Mark Eichin was curious about the "Days with a pony" web page. Here's what it would look (suitably redacted) if it were still operating: December 23, 2005: Still no pony From: Raymond Chen To: Xxxx Xxxxxx Subject: Laptop order Date: Mon, 27 Mar 2000 09:47:19 -0800 I want a pony and a train set and an NEC Versa SX laptop (...

Why do up-down controls have the arrows backwards?

When you create an up-down control (some people call a "spinner" control) in its default configuration, the up-arrow decrements the value and the down-arrow increments it. Most people expect the up-arrow to increment and the down-arrow to decrement. Why is it backwards? The up-down control is a victim of Windows' reversed y-axis. ...

The office disco party

One of the long-standing traditions at Microsoft is to play a prank on someone's office while they're away on vacation. You can imagine what most of these pranks are like, filling someone's office with packing peanuts or other materials, or relocating their office to an unlikely part of the building (the bathroom, the cafeteria), or something ...

“Pro forma” was so 1990’s

"Non-GAAP" is the new "pro forma". Remember the exciting dot-com boom days? Everybody was reporting "pro forma" results. Pro forma in the 1990's turned into a euphemism for "We just made this stuff up". But after the dot-com bust and a series of accounting scandals, the phrase pro forma turned into a bad word on Wall Street. People swore off...

Why does Windows setup lay down a new boot sector?

Why does Windows setup lay down a new boot sector? Because the alternative is worse. You would expect that after installing an operating system, the operating system should boot. If your boot sector is damaged, say because this is a brand new hard drive with no boot sector, or because it was infected with a boot sector virus, you expect the ...