The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

When web sites rely on security holes
Jan 12, 2006
Post comments count 0
Post likes count 0

When web sites rely on security holes

Raymond Chen
Raymond Chen

Perhaps the biggest risk when making a change in the name of security is all the things that may have been relying on the previously-lax security settings. After all, disabling an insecure feature is easy. The hard part is disabling it while retaining compatibility with people who were relying on that feature. In the security investigations I've been involved with, perhaps the largest chunk of my time is spent trying to find a way to mitigate the security hole without breaking existing customers. (And it's the Line of Business scenario that is the biggest question mark.) Here's a real-life example: Consider a sp...

The decoy visual style
Jan 11, 2006
Post comments count 0
Post likes count 0

The decoy visual style

Raymond Chen
Raymond Chen

During the development of Windows XP, the visual design team were very cloak-and-dagger about what the final visual look was going to be. They had done a lot of research and put a lot of work into their designs and wanted to make sure that they made a big splash at the E3 conference when Luna was unveiled. Nobody outside the visual styles team, not even me, knew what Luna was going to look like. On the other hand, the programmers who were setting up the infrastructure for visual styles needed to have something to test their code against. And something had to go out in the betas. The visual styles team came...

Beware the MSJ subscription scam
Jan 9, 2006
Post comments count 0
Post likes count 0

Beware the MSJ subscription scam

Raymond Chen
Raymond Chen

Stephen Toub from MSDN Magazine alerts us to the MSJ subscription scam. Somebody has been sending out (via paper mail) a fake subscription offer for Microsoft Systems Journal, a magazine that ceased publication back in 2000. Read Stephen's article for more details as well as a copy of the scam letter itself. (The address for the "publisher" is a rented mailbox at a what appears to be a UPS Store in the Beaumont Centre mall.) Under no circumstances send these people any money!

When programs assume that the system will never change, episode 3
Jan 9, 2006
Post comments count 0
Post likes count 1

When programs assume that the system will never change, episode 3

Raymond Chen
Raymond Chen

One of the stranger application compatibility puzzles was solved by a colleague of mine who was trying to figure out why a particular program couldn't open the Printers Control Panel. Upon closer investigation, the reason became clear. The program launched the Control Panel, used to locate the window, then accessed that window's "File" menu and extracted the strings from that menu looking for an item that contained the word "Printer". It then posted a message to the Control Panel window with the menu identifier it found, thereby simulating the user clicking on the "Printers" menu option. With Windows 95...

Where do call signs come from?
Jan 6, 2006
Post comments count 0
Post likes count 0

Where do call signs come from?

Raymond Chen
Raymond Chen

In celebration of the impending return of Battlestar Galactica to the airwaves, I refer to you the blog of Major John M. Bell, one of our brave Marines stationed in Iraq. His entry from 26 Oct 2005 gives some real-world examples of military call signs and how they were chosen.

Why do image lists and tool bars use horizontal strips if vertical is so much better?
Jan 6, 2006
Post comments count 0
Post likes count 0

Why do image lists and tool bars use horizontal strips if vertical is so much better?

Raymond Chen
Raymond Chen

Two people pointed out that the function and toolbars use horizontal strips even though we learned that vertical strips are much more efficient. While it's true that the images are passed to the and functions in horizontal strips, the image list and toolbar code copy them to a vertical strip. In other words, the horizontal strip is merely an interchange format. Internally, the image list and toolbar use the more efficient vertical arrangement.

Converting between LCIDs and RFC 1766 language codes
Jan 5, 2006
Post comments count 0
Post likes count 0

Converting between LCIDs and RFC 1766 language codes

Raymond Chen
Raymond Chen

Occasionally, I see someone ask for a function that converts between LCIDs (such as 0x0409 for English-US) and RFC 1766 language identifiers (such as "en-us"). The rule of thumb is, if it's something a web browser would need, and it has to do with locales and languages, you should look in the MLang library. In this case, the IMultiLanguage::GetRfc1766FromLcid method does the trick. For illustration, here's a program that takes US-English and converts it to RFC 1766 format. For fun, we also convert "sv-fi" (Finland-Swedish) to an LCID. When you run this program, you should get "en-us" is the R...

The first rule about knit club…
Jan 5, 2006
Post comments count 0
Post likes count 0

The first rule about knit club…

Raymond Chen
Raymond Chen

Knit Club (direct link), a student movie from Western Washington University, wherein each residence hall floor was given less than a week to produce a five-minute movie. Note: Not be confused with Pillow Fight Club (photos from the one-hour fight). Unfortunately, the original Pillow Fight Club page is gone, but the first rule of Pillow Fight Club was "Tell everyone about Pillow Fight Club".

Don't underestimate the resourcefulness of people trying to be annoying
Jan 4, 2006
Post comments count 0
Post likes count 0

Don't underestimate the resourcefulness of people trying to be annoying

Raymond Chen
Raymond Chen

TechNet Magazine's January • February 2006 issue is now available, including a short article from me on the resourcefulness of people trying to be annoying. The issue also has an article on how to use the Volume Shadow Copy Service which I mentioned a few months ago. (And if you had read that posting from last September, you'll know why the Previous Versions Client is kept in a folder called "twclient". Try using that at a party to impress someone.)