Showing archive results for 2007

Mar 20, 2007
Post comments count0
Post likes count1

I bet somebody is looking to get a really nice bonus for that feature: Uninstall

Raymond Chen

A customer asked the following question (paraphrased): Does the Windows XP Add/Remove Programs control panel expose a scriptable object model? We want our program to open the Add/Remove Programs control panel and uninstall the programs of our competitors. No, there is no object model for the Add and Remove Programs control panel, and it fri...

Other
Mar 19, 2007
Post comments count0
Post likes count1

How do the menu functions find items?

Raymond Chen

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, the fir...

Code
Mar 16, 2007
Post comments count0
Post likes count1

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

Raymond Chen

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

Non-Computer
Mar 16, 2007
Post comments count0
Post likes count1

The format of accelerator table resources

Raymond Chen

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

Code
Mar 15, 2007
Post comments count0
Post likes count1

Email tip: Don't forget to ask your question

Raymond Chen

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

Non-Computer
Mar 14, 2007
Post comments count0
Post likes count0

News flash: Snacks at the theater concession stand are not good for you

Raymond Chen

"We try to make them as healthy as possible," says Jose Mier. As healthy as sixteen inches of deep-fried dough, covered in sugar, and stuffed with caramel can be. That is to say, not healthy at all. Here are some ideas for making them healthier: Don't coat them in sugar, don't stuff them with Bavarian cream, and don't deep-fry them. Or just get ...

Non-ComputerNews flash
Mar 14, 2007
Post comments count0
Post likes count1

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

Raymond Chen

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

Other
Mar 13, 2007
Post comments count0
Post likes count0

Out there gathering map data, one intersection at a time

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

Non-Computer
Mar 13, 2007
Post comments count0
Post likes count1

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

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

Code
Mar 12, 2007
Post comments count0
Post likes count1

What is a SM_SLOWMACHINE?

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

History