The Old New Thing

On the dangers of sharing your apartment

My colleague Marc Miller wrote up a brief essay on the subject of dealing with a neutral apartment that has been injected into your single-threaded apartment: COMmunism: Sharing your Apartment. Highly recommended...

Your profiling tools can manufacture performance issues where there were none

When analyzing the performance of a program, you must be mindful that your performance analysis tools can themselves affect the operation of the system you are analyzing. This is especially true if the performance analysis tool is running on the same computer as the program being studied. People often complain that Explorer takes a page ...

Jensen Harris joins the 7am club

My colleague Jensen Harris from the Office User Interface team has joined the 7am club, posting fascinating glimpes into Office history and the upcoming version of Office code-named "Office 12". And they come out at 7am every weekday. Then again, maybe he's not real either. Maybe he's some kind of a robot...

My history of time is briefer than yours

In 1999, Eric Schulman published A Briefer History of Time, based upon his previous effort to capture the history of the universe in 200 words. The book takes the initial 200-word summary and expands upon each phrase, surreptitiously teaching you some science among the jokes. (You can even watch a video.) And then this Hawking guy shows ...

Running old programs in a virtual machine doesn’t necessarily create a good user experience

Many people suggest solving the backwards compatibility problem by merely running old programs in a virtual machine. This only solves part of the problem. Sure, you can take a recalcitrant program and run it in a virtual machine, with its own display, its own hard drive, its own keyboard, etc. But there are very few types of programs (games ...

Katamari Damacy: The most screwed-up video game ever

As I already noted, I went down to Los Angeles a few days before the PDC to spend time with friends and relatives. I stayed with a cousin who works for a major video game manufacturer, and his boss gave him a homework assignment: He was told to go home and play a specific video game. (Unfortunately, it wasn't a particularly good video game, ...

Consequences of the scheduling algorithm: Sleeping doesn’t always help

More often I see the reverse of the "Low priority threads can run even when higher priority threads are running" problem. Namely, people who think that is a clean way to yield CPU. For example, they might have run out of things to do and merely wish to wait for another thread to produce some work. Recall that the scheduler looks for the ...

Perhaps I like the phrase “withered hand” a bit too much

Sure, I like saying "withered hand", but Google took this a bit too far and made me the top hit for the phrase , making me more popular than Jesus with respect to that phrase, at least for now. I apologize to all the people looking for the Miracle of the Withered Hand. Fortunately, MSN Search and Yahoo were not fooled...

Consequences of the scheduling algorithm: Low priority threads can run even when higher priority threads are running

Just because you have a thread running at a higher priority level doesn't mean that no threads of lower priority will ever run. Occasionally, I see people write multi-threaded code and put one thread's priority higher than the other, assuming that this will prevent the lower-priority thread from interfering with the operation of the higher-...