The Old New Thing

The early stages of Joshua Roman groupie-dom

The first time I saw the Seattle Symphony's new principal cellist Joshua Roman, it was at a subscription performance of Mahler's Seventh Symphony in June 2006, shortly after the then-22-year-old took the principal's seat from the retiring Raymond Davis. We noticed that there was a new face in the orchestra, and wondered afterwards, "Who was ...

How do the menu functions find items?

Most of the menu item functions such as allow you specify the menu item either by position or by command. Some of them use the and flags. Others separate the search algorithm into a separate flag. Searching for menu items by position is straightforward: The specified position is used as a zero-based index into the menu. In other words, ...

Verizon backs down on made-up fees and then adds them anyway

I ranted a few years ago about rate hikes disguised as fees or taxes, but Verizon's unabashed deceptive practices still gets me all worked up. Last year, the FCC decided that Verizon didn't have to pay the Universal Service Fund fee any more, but that didn't stop them from charging for it anyway. What galls me is their explanation of the ...

The format of accelerator table resources

Continuing in the extremely sporadic series on the format of resources, today we'll take a look at accelerator tables. This topic is so simple, I'll cover both 16-bit and 32-bit resources on the same day! In 16-bit Windows, the format of an accelerator table resource was simply an array of structures. This array is the same array you ...

Email tip: Don't forget to ask your question

Sometimes people get so caught up in their problem that they forget to ask a question. My customer has noticed that blah blah blah blah, but if they do blah blah, then they get blah blah blah. This is different from blah blah blah, where blah blah blah. But neither is what the customer is expecting, which is blah blah blah. After installing ...

Don't require your users to have a degree in philosophy, episode 2

Earlier, we learned that help text is not the place to put logic puzzles. Neither are dialog boxes. I ran across a configuration dialog box that had the item Turn off Feature X This is a negative-sense checkbox, which turns your dialog box into a logic puzzle. Checkboxes should be phrased positively. Use Feature X (The only ...

Out there gathering map data, one intersection at a time

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

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

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