The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Why does my screen go black when an emergency hibernation is in progress?

Sometime last year a customer wanted to know why the screen goes black when the system automatically hibernates due to critically low battery power. Shouldn't there be some sort of feedback to tell the user, "Hey, like, I'm hibernating, don't worry"? The power management folks explained that they turn off the screen for a reason: They're trying to save your data while they still can. When the system gets the "Oh no, the battery is about to die!" notification from the hardware, there's no time to lose, and even less power to waste. Keeping the screen lit takes a lot of power, so turning it off might make the dif...

Foreign languages can be used to impede communication

One of the reasons people give for studying a foreign language is to increase the number of people one can communicate with. But what people don't mention is that foreign languages can also be used to impede communications, and that can be just as useful. (Be careful, though, because it can backfire.) During my visit to Sweden some years ago, I was walking back to my hotel room from the Göteborg train station. I had spent the afternoon visiting the nearby city of Alingsås, whose claim to fame is that they are the birthplace of the man who introduced potatoes to Sweden, although he is probably more ...

You can use a Coke slogan as your password, but not a Pepsi one

When Larry Osterman mentioned News Flash: Spaces are legal characters in both filenames and passwords, I was reminded of my own little experiment with passwords and spaces. Over a decade ago, I tried using spaces in my password, and they were accepted, but I ran into a different problem: Brand name bias. The password system accepted "Coke adds life" as my password, but it rejected "Pepsi the choice of a new generation". Why did the password system accept a Coke slogan but not a Pepsi one? Hint.

The New York Times says I'm doing it all wrong, but maybe that's for the better

Some time ago, The New York Times ran a story titled In Web World of 24/7 Stress, Writers Blog Till They Drop, which mentions that "those on the lower rungs of the business can earn as little as $10 a post." Dude, if that's what people on the lower rungs earn, then I'm below ground level! (Nevermind that just the previous month, an article in The New York Times wrote about the business of blogging: Don't expect to get rich.) Then again, I probably shouldn't complain, seeing as what most people took away from the article was that blogging kills. Slate's Timothy Noah noted in his article Death by Blogging t...

2009 mid-year link clearance

Time for the semi-annual link clearance. And, as always, the obligatory plug for my column in TechNet Magazine:

Microspeak: The plan for the plan

I ran across an old document that contained a phrase I hadn't heard before: The Plan for the Plan for the XYZ Team Summary XYZ is at ZBB and we are now at a recall class only bug bar until RTM. The team has also started working on a plan for a plan to address the requests made from the XYZ Leadership Team several months ago. Details of the planning ... ... 3. Bob would like a more concrete plan for a plan. Milestone breakdowns, entry/exit dates, etc... ... Plan for a Plan We established some deliverables to begin creating the plan for a plan: Development/Design Code Review Due date: Next week Pr...

Learning to lie: Early forays

Some time ago, I was visiting a family with small children, and I found the two-year-old middle child with a marker in her hand suspiciously close to some fresh marks on the living room couch. The following conversation ensued: "Who drew on the couch?" — My older sister. "Your older sister isn't home." — The baby. "The baby can't reach this." — The dog. "You don't have a dog."

If you want to consume all the virtual address space, well, then go ahead and consume it, you don’t need my help

Commenter Matthew Chaboud asks if there's an easy way to consume all the virtual address space below 4GB, short of, well, actually allocating it. "It seems like there should be a cleaner way to do this." If you want to consume all the virtual address space, then call until you turn blue. Programs shouldn't care what address they get back from a memory allocation function; they should handle values below 2GB and above 2GB with equal facility. It's not like there's a function. (Is there a function?) What would be the point of such a function? Once you call it, you have run out of memory! If Mr. Chabou...

John Swansburg deftly declines the fine print disclaimer on his Heelys

Before field-testing his Heelys for a report in Slate, John Swansburg reads the legal disclaimer and declines it.