Welcome to MSDN Blogs Sign in | Join | Help

December 2003 - Posts

How to stop delivery of telephone books

Like many of you (I suspect), I don't use the paper telephone book. If I want to look something up, I go online. Yet every year I get a dozen different telephone books. I don't like them because a telephone book sitting on my front porch screams, "Rob
Posted by oldnewthing | 29 Comments
Filed under:

College football commercialized? What ever gave you that idea?

This has got to be some sort of record for "Longest official name of a sponsored college football game": The Gaylord Hotels Music City Bowl Presented by Bridgestone , which proclaims that " the Gaylord Hotels Music City Bowl Presented By Bridgestone is
Posted by oldnewthing | 1 Comments
Filed under:

People with almanacs may be terrorists, FBI warns

The FBI has apparently released a bulletin advising law enforcement officers to be on the alert for people with almanacs: They might be terrorists .
Posted by oldnewthing | 6 Comments
Filed under:

What's the difference between CreateMenu and CreatePopupMenu?

CreateMenu creates a horizontal menu bar, suitable for attaching to a top-level window. This is the sort of menu that says " F ile, E dit", and so on. CreatePopupMenu creates a vertical popup menu, suitable for use as a submenu of another menu (either
Posted by oldnewthing | 16 Comments
Filed under:

At least the Danes know how to count

Even though Danish is impossible for me to pronounce, I do appreciate their stubborn resistance to decimalization. The number 71 is (I hope I get this right) "en og halvfjerdsindstyve", literally, "one and half-four-times-twenty", or more commonly, just
Posted by oldnewthing | 17 Comments
Filed under:

What's with those blank taskbar buttons that go away when I click on them?

Sometimes you'll find a blank taskbar button that goes away when you click on it. What's the deal with that? There are some basic rules on which windows go into the taskbar . In short: If the WS_EX_APPWINDOW extended style is set, then it will show (when
Posted by oldnewthing | 41 Comments
Filed under:

"Beam me up" is not yet recognized

How soon before this becomes standard equipment at Star Trek conventions? Vocera Communications Unveils Wearable, Instant Voice Communications Application "Enterprise environments are looking for applications that leverage their investment in wireless
Posted by oldnewthing | 2 Comments
Filed under:

Another privacy policy that isn't very private

Today I read the privacy policy for Nuveen Investment Advisors . I like this part: We do not disclose any nonpublic personal information about you to anyone, except as permitted by law. "Except as permitted by law". How reassuring. Is it really necessary
Posted by oldnewthing | 6 Comments
Filed under:

Danish so-called "pronunciation"

Raymond perhaps unadvisedly makes fun of the sound of the Danish language.
Posted by oldnewthing | 11 Comments
Filed under:

How to hide privacy violations in a privacy disclosure statement

I'm looking over my Fidelity privacy disclosure statement, titled "Our commitment to privacy". Google is amazing : It found a copy online: Our Commitment to Privacy . Scroll down to How and Why We Obtain Personal Information , fourth bullet point: Information

Famous people doing mundane things = news!

So an actor learns a foreign language and it's news: Actor Kingsley Masters Farsi Language . Meanwhile, tens of millions of people around the world learn a foreign language without any media coverage whatsoever. (And if you read the article: He didn't
Posted by oldnewthing | 7 Comments
Filed under: ,

You can read a contract from the other side

An interface is a contract, but remember that a contract applies to both parties. Most of the time, when you read an interface, you look at it from the point of view of the client side of the contract, but often it helps to read it from the server side.
Posted by oldnewthing | 8 Comments
Filed under:

What order do programs in the startup group execute?

The programs in the startup group run in an unspecified order. Some people think they execute in the order they were created. Then you upgraded from Windows 98 to Windows 2000 and found that didn't work any more. Other people think they execute in alphabetical
Posted by oldnewthing | 22 Comments
Filed under:

Why not just block the apps that rely on undocumented behavior?

Because every app that gets blocked is another reason for people not to upgrade to the next version of Windows. Look at all these programs that would have stopped working when you upgraded from Windows 3.0 to Windows 3.1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
Posted by oldnewthing | 47 Comments
Filed under:

When programs grovel into undocumented structures...

Three examples off the top of my head of the consequences of grovelling into and relying on undocumented structures. Defragmenting things that can't be defragmented In Windows 2000, there are several categories of things that cannot be defragmented. Directories,
Posted by oldnewthing | 58 Comments
Filed under:

The cult of PowerPoint

Recent articles on how PowerPoint contributed to failure at NASA reminded me that this is hardly a new discovery. The Department of Defense long ago discovered that PowerPoint is a great way to hide the fact that you don't know what you're talking about
Posted by oldnewthing | 3 Comments
Filed under:

One in five Swedes steal their Christmas tree

According to Aftonbladet , "Gathering Stockholm's finest news from overheard conversations on the street corner", En av fem stjäl sin julgran . ("One in five steals their Christmas tree.") This of course comes from a highly scientific online reader
Posted by oldnewthing | 5 Comments
Filed under:

How do I determine whether I own a critical section if I am not supposed to look at internal fields?

Seth asks how he can perform proper exception-handling cleanup if he doesn't know whether he needs to clean up a critical section. I'm using SEH, and have some __try/__except blocks in which the code enters and leaves critical sections. If an exception
Posted by oldnewthing | 16 Comments
Filed under:

German sounds more and more like "Alles Lookenpeepers" every day

München wird ausgebootet . Maybe someday Alles Lookenspeepers will become proper German.
Posted by oldnewthing | 3 Comments
Filed under:

Sometimes, an app just wants to crash

I think it was Internet Explorer 5.0, when we discovered that a thirdparty browser extension had a serious bug, the details of which aren't important. The point was that this bug was so vicious, it crashed IE pretty frequently. Not good. To protect the
Posted by oldnewthing | 14 Comments
Filed under:

Rip-it

Last night I had to frog several dozen rows of knitting because I forgot to change needles. Color changes I remember. Needle changes I always forget. Probably because color changes are much more exciting.
Posted by oldnewthing | 9 Comments
Filed under:

How to void your warranty

MSDN just published an article telling people that it's okay to use reserved fields in an internal structure . Anybody who does this has just voided their warranty. Please put a "This program has a high likelihood of crashing after you install the next
Posted by oldnewthing | 21 Comments
Filed under:

What is the window nesting limit?

In the old days, Windows didn't bother enforcing a nesting limit because, well, if you want to nest windows 200 deep, that's your decision. Many window operations are recursive, but since everything happened on the application's stack, it was your own
Posted by oldnewthing | 10 Comments
Filed under:

When marketing designs a screenshot

Have you checked out AMD's ads for their AMD Athlon 64 FX processor? The copy reads, " My adrenalin fix isn't what it used to be. Double the dose. AMD me. " And it has a picture of a tough-looking guy glaring at the camera, challenging the reader to do
Posted by oldnewthing | 17 Comments
Filed under:

Tinkering with the look

I've been tinkering with the look of the comments section, based on initial feedback. Took me a while but I think I found something that works pretty well.
Posted by oldnewthing | 6 Comments
Filed under:

The unsafe device removal dialog

In a comment, somebody asked what the deal was with the unsafe device removal dialog in Windows 2000 and why it's gone in Windows XP. I wasn't involved with that dialog, but here's what I remember: The device was indeed removed unsafely. If it was a USB
Posted by oldnewthing | 27 Comments
Filed under:

The migration continues

The Old New Thing is moving...
Posted by oldnewthing | 4 Comments
Filed under:

Welcome to the New Old New Thing

Hey there, everybody. It's going to take me a while to settle in, so please be patient. It seems I always celebrate a new blog by designing some insane multi-part series on some obscure aspect of Win32, so I think I'll welcome this site with a series
Posted by oldnewthing | 4 Comments
Filed under: ,

Tote Hose in Weilburg

Wenn Teenies shoppen gehen: Flugzeuge im Warenkorb
Posted by oldnewthing | 32 Comments
Filed under:

Why are structure sizes checked strictly?

Because we tried it the other way; it didn't work.
Posted by oldnewthing | 40 Comments
Filed under:

Voyage to Our Hollow Earth

For only $20,000, you too can travel to the hole in the North Pole and glory at the tropical landscape that awaits you. Maybe.
Posted by oldnewthing | 4 Comments
Filed under:

How do I pass a lot of data to a process when it starts up?

Alternatives to the command line.
Posted by oldnewthing | 18 Comments
Filed under:

What is the command line length limit?

It depends on whom you ask.
Posted by oldnewthing | 16 Comments
Filed under:

Scoble's rant on UI defaults

Robert Scoble posted an entry in his Longhorn blog on the subject of what the UI defaults should be. It sure has stirred up a lot of controvery. I may pick at the remarks over the upcoming days, but for now I posted responses to two of the comments he
Posted by oldnewthing | 33 Comments
Filed under:

Why you should never suspend a thread

It's almost as bad as terminating a thread.
Posted by oldnewthing | 8 Comments
Filed under:

If FlushInstructionCache doesn't do anything, why do you have to call it?

If you look at the implementation of FlushInstructionCache on Windows 95, you'll see that it's just a return instruction. It doesn't actually do anything. So why do you have to call it?
Posted by oldnewthing | 7 Comments
Filed under:

What's with the catcow and dogoldfish?

Am I the only one who find these icons bizarro?
Posted by oldnewthing | 26 Comments
Filed under:

At least she represents the United States faithfully

The MPR show Marketplace (note: MPR , not NPR ) had a brief story about the reaction to China being the host of the Miss World pageant . (Last story on the page.) What I noticed was the comment at timecode 23:50 from Miss World - United States Kim Harlan
Posted by oldnewthing | 5 Comments
Filed under:

Why do I have to return this goofy value for WM_DEVICECHANGE?

To deny a device removal query, you must return the special value BROADCAST_QUERY_DENY, which has the curious value 0x424D5144. What's the story behind that?
Posted by oldnewthing | 12 Comments
Filed under:

Which access rights bits belong to whom?

Each ACE in a security descriptor contains a 32-bit access mask. Which bits belong to whom?
Posted by oldnewthing | 2 Comments
Filed under:

Which window style bits belong to whom?

There are 64 bits of styles in the parameters to CreateWindowEx. Which ones belong to whom?
Posted by oldnewthing | 6 Comments
Filed under:

The New Old New Thing

Just a placeholder entry.
Posted by oldnewthing | 10 Comments
Filed under:

Which message numbers belong to whom?

Valid window messages break down into four categories.
Posted by oldnewthing | 18 Comments
Filed under:

What did the letters "NT" originally stand for?

Finally I can tell you.
Posted by oldnewthing | 4 Comments
Filed under:

What are these strange values returned from GWLP_WNDPROC?

GetWindowLongPtr(hwnd, GWLP_WNDPROC) [or GetWindowLong(hwnd, GWL_WNDPROC) if you haven't yet made your code 64-bit compatible] is supposed to return the current window procedure. Why do I sometimes get wacko values?
Posted by oldnewthing | 10 Comments
Filed under:
 
Page view tracker