The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Out there gathering map data, one intersection at a time
Mar 13, 2007
Post comments count 0
Post likes count 0

Out there gathering map data, one intersection at a time

Raymond Chen
Raymond Chen

The New Yorker reported some time ago on how Navteq gathers map data. This story reminded me that, at least as of a few years ago, Navteq listed the driveway of a colleague of mine as a through road. Drivers came up to his driveway, realized that they've been hoodwinked, and spun their wheels in the gravel in frustration on their way out. He told me that he had reported the error to Navteq three years previously, but they still hadn't updated their map data. I haven't checked back to see if the data has been updated yet...

The only thing you can do with display names is display them
Mar 13, 2007
Post comments count 0
Post likes count 0

The only thing you can do with display names is display them

Raymond Chen
Raymond Chen

There are many functions that return strings called "display names". And the only thing you can do with display names is display them. Don't assume that the string actually means anything, because it doesn't. Theoretically, a function like could be implemented as and your program should still work. (Of course, this is merely a ground rule. Specific functions may have exceptions. For example, the has a special flag flag which explicitly indicates that the string returned is designed to be parsed.) The purpose of a "display name" is to be a string suitable for displaying to the user. The display name for...

What is a SM_SLOWMACHINE?
Mar 12, 2007
Post comments count 0
Post likes count 0

What is a SM_SLOWMACHINE?

Raymond Chen
Raymond Chen

Jason Doucette asks how slow a machine has to be to be considered a . The answer: Pretty darned slow by today's standards. When the metric was introduced in Windows 95, the definition of a "slow machine" was as follows (roughly): That bit about the display driver is a little strange. Windows actually trusted display drivers to report when they were slow. The guidance in the device driver documentation was to mark a driver as slow if it did not perform graphics hardware acceleration, but of course no card manufacturer would admit that their card was slow! I suspect nobody ever set that bit. The "slow m...

Raymond's highly scientific predictions for the 2007 NCAA men's basketball tournament
Mar 12, 2007
Post comments count 0
Post likes count 0

Raymond's highly scientific predictions for the 2007 NCAA men's basketball tournament

Raymond Chen
Raymond Chen

Every year, when it comes time to fill out my NCAA bracket, I choose an arbitrary criterion. You'd think this would take less work, but it actually takes more. My original plan was to rank teams based on how much they pay their head coaches, but it turns out that the salaries (and bonuses and perks) of the head coaches of school basketball programs is hard to find! Instead, I went with something much easier to find but which is still somewhat indicative (in an indirect sense) of the strength of the program: The seating capacity of the home arena. Update: The first full round is the crucial one. Not only are h...

This American Life: What I Learned From Television, Seattle edition
Mar 9, 2007
Post comments count 0
Post likes count 0

This American Life: What I Learned From Television, Seattle edition

Raymond Chen
Raymond Chen

Ira Glass paid another visit to Seattle (here's an appearance on local public radio station KUOW), this time for a live taping of an episode of his radio show This American Life titled "What I Learned From Television." He also took the opportunity to introduce another auditoriumful of people to the same-named television program premiering March 22nd. I myself was skeptical of the idea of transitioning TAL to television, but the clips we saw were absolutely gorgeous. Footage of people's shoes? Interviewing pre-teens in a field of waist-high grass? It sounds crazy, but it works and, more importantly, remains true...

Don't be so fast to discount those oddball time zones
Mar 9, 2007
Post comments count 0
Post likes count 0

Don't be so fast to discount those oddball time zones

Raymond Chen
Raymond Chen

This weekend marks the beginning of Daylight Saving Time in most parts of the United States, the first year under the new transition rules in the Energy Policy Act of 2005. Pay extra attention to your clocks this weekend. If you have a device that automatically adjusts for Daylight Saving Time, and it hasn't been updated for the new transition rules, you may end up having to adjust your clock four times this year: Okay, that's the end of the public service announcement. I try to commemorate the Daylight Saving Time transition days by writing about time zones, and this time, it's about those time zones whose ...

Just what the world has been wishing for: Surströmming ice cream
Mar 8, 2007
Post comments count 0
Post likes count 0

Just what the world has been wishing for: Surströmming ice cream

Raymond Chen
Raymond Chen

Every culture has its strange food that is used to scare away the foreigners. In Sweden, it's surströmming. (Surströmming is even classified as hazardous material by some airlines.) And, you know, when you dig into your plate of surströmming, I bet the first thing that goes through your mind is, "Wow, this would go great with some ice cream." Well, your wish has been answered. Surströmmingsglassen är här. Surströmming ice cream is here (Caption: Ice cream with Västerbotten cheese, cloudberry, and flatbread.) Let's see. A carton of Rocky Road, a little Cookie Doug...

The GETDISPINFO notifications tell you what information they want
Mar 8, 2007
Post comments count 0
Post likes count 0

The GETDISPINFO notifications tell you what information they want

Raymond Chen
Raymond Chen

The notifications used by the common controls are used when the control asks its parent to generate information that had been marked as delay-rendered, either explicitly via values such as or implicitly by being an owner-data control, for example. In fact the control is really just the middle man between the code that requested information about an item (via a message like ) and the code that generates it (your handler). In other words, the code flow goes like this: Somebody interested in retrieving data from a list view creates a structure and initializes the and other fields as necessary, based on the ma...

The wisdom of seventh graders: John Locke and influential persons
Mar 7, 2007
Post comments count 0
Post likes count 0

The wisdom of seventh graders: John Locke and influential persons

Raymond Chen
Raymond Chen

My friend the seventh grade teacher was leading the class in a discussion of the most influential persons in history, and after two days of the students collectively deciding whom they would put on the list, my friend revealed the list compiled by the author Michael H. Hart. The students felt bad that their collaborative list didn't match the one this author came up with (as if this author's list was somehow the "correct answer"), but my friend pointed out how many names matched between the author's list and the student's list, as well as the fact that the list was the author's informed opinion and not some abso...