The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Feb 2, 2009
Post comments count 0
Post likes count 0

Welcome to Groundhog Day, a holiday where the same thing happens over and over

Raymond Chen

Today is Groundhog Day, a holiday celebrated in the northeastern United States, the day when, according to tradition, the groundhog emerges from hibernation. If it sees its shadow, then the frightened groundhog returns to its burrow, and cold winter weather will continue for six more weeks. It has never been more than a minor holiday, good for an amusing story on the evening news, but not much else. I recall listening to a BBC World Service news report on the radio. They were reporting on a speech or press conference given by somebody or other, and the speaker commented on how any progress made during the day ...

Feb 2, 2009
Post comments count 0
Post likes count 1

How do I programmatically show and hide the Quick Launch bar?

Raymond Chen

Commenter Mihai wants to know how to show or hide the Quick Launch bar programmatically. That's not something a program should be doing. Whether the Quick Launch bar is shown or hidden is an end user setting, and programs should not be overriding the user's preferences. Explorer consciously does not expose an interface for showing and hiding taskbar bands because it would just be a target for abuse. Much like the program that wants to uninstall other programs, the taskbar would become a battleground among programs that each wanted to force themselves on and force their opponents off. The user is the arbite...

Jan 30, 2009
Post comments count 0
Post likes count 1

The problem with The Month Where Everyone Focuses on Improving Documentation is that most people are terrible technical writers

Raymond Chen

Why not have a month where everybody focuses on improving documentation like that month a few years ago where everybody focused on security? Well, part of it is that most people suck at technical writing. The technical part, maybe, but the writing almost definitely not. Writing is hard (as I've learned firsthand), and technical writing is a special genre of writing that requires a comparatively rare skill set, combining technical background with strong writing skills. Because it doesn't matter how much technical information you know if you are unable to convey this information to anyone else clearly. Also, ...

Jan 29, 2009
Post comments count 0
Post likes count 0

Games to play at your Battlestar Galactica watching party

Raymond Chen

It is common among my circle of friends to have Battlestar Galactica-watching parties, and one way of making it a party is by playing games. Things we've done (or plan on doing):

Jan 29, 2009
Post comments count 0
Post likes count 1

A process shutdown puzzle

Raymond Chen

In honor of National Puzzle Day, I leave you today with a puzzle based on an actual customer problem. Part One: The customer explains the problem. We have this DLL, and during its startup, it creates a thread with the following thread procedure: DWORD CALLBACK ThreadFunction(void *) { HANDLE HandleArray[2]; HandleArray[0] = SetUpStuff(); if (HandleArray[0]) { HandleArray[1] = ShutdownEvent; while (WaitForMultipleObjects(2, HandleArray, FALSE, INFINITE) == WAIT_OBJECT_0) { ProcessStuff(); } CleanUpStuff(HandleArray[0]); } SetEvent(ThreadCompleteE...

Jan 28, 2009
Post comments count 0
Post likes count 0

The great thing about being popular is that everybody wants to see you go down

Raymond Chen

The servers that run this Web site are under heavy load, even when things are operating normally. And on top of that, they have to fend off a lot of attacks. There's the usual spam pingbots, but usually when the site starts to get all bogged down, it's because there is an active attack on the site at the network level. And it doesn't matter what software is running the site. It's not like the bad guys are going to say, "Oh, this site is using PHP. I guess we'll leave them alone." For example, the problems earlier this week were caused by two IP addresses saturating all the connections to the server. Last Octo...

Jan 28, 2009
Post comments count 0
Post likes count 1

When you have only 16KB of memory, you can’t afford to waste any of it on fluffy stuff

Raymond Chen

The original IBM PC came with 16KB of memory. That's not a lot of space in which to squeeze an operating system, especially since you had to leave enough memory for the user to actually get work done. A product of its time, the MS-DOS kernel is written entirely in assembly language, pretty much standard procedure for programs of the era. It also meant that the code takes all sorts of crazy shortcuts to shave a few bytes here, a few bytes there, in order to squeeze into as little memory as possible. For example, one very common trick was to have jump into the middle of an instruction, knowing that the second ha...

Jan 27, 2009
Post comments count 0
Post likes count 0

There’s camping, and then there’s luxury camping, and then there’s ridiculous luxury camping

Raymond Chen

Back in 2002, I read an article about luxury camping in the Wall Street Journal, and it struck me as kind of missing the point of camping. For campers too busy to shop for marshmallows, one place stocks a s'mores kit -- skewers included -- in its gourmet general store. Another provides blow dryers, putting an end to "river hair." When Karen Schaupeter and her husband arrived at El Capitan Canyon in Santa Barbara, Calif., they were chauffeured to their campsite in a golf cart. Dinner was tamales with mango salsa prepared by the staff, in front of a roaring bonfire -- also prepared by the staff. In the mornin...

Jan 27, 2009
Post comments count 0
Post likes count 1

Why can’t I see all of the 4GB of RAM in my machine?, redux

Raymond Chen

Phil Taylor gives another few reasons why machine with 4GB of RAM doesn't show up as such. (Here's my earlier posting on this subject, for reference.) These articles about possible reasons for memory not showing up are not intended to be comprehensive. It is entirely possible that the problem you are experiencing is not one described here.