Posts by this author

Oct 12, 2005
Post comments count0
Post likes count0

Thread affinity of user interface objects, part 3: Menus, icons, cursors, and accelerator tables

The remaining user interface objects in common use are menus, icons, cursors, and accelerator tables. Menus do not have thread affinity. Any thread can use a menu. However, if two threads use a menu, it is the responsibility of those threads to coordinate among themselves how that menu will be used, so that one thread doesn't modify a menu while ...

Code
Oct 11, 2005
Post comments count0
Post likes count0

New blog on integrating Groove with Office

Andrew Wharton from Groove has started writing about integrating the team and its product with Office. His opening salvo sets the stage and hooked me in for what looks to be an interesting glimpse into life in another division at Microsoft. (Something that is as mysterious to me as it is to you.) In the early days of the Windows division, there...

Other
Oct 11, 2005
Post comments count0
Post likes count0

Thread affinity of user interface objects, part 2: Device contexts

Last time, we discussed briefly the thread affinity rules that govern window handles. Device contexts (DCs) also have a certain degree of thread affinity. The thread that calls functions such as must also be the one that calls , but as with window handles, during the lifetime of the DC, any thread can use it. If you choose to use a DC in a mul...

Code
Oct 10, 2005
Post comments count0
Post likes count0

The difficult balancing act between customization and supportability

My colleague Kam VedBrat (from who I shamelessly stole the pictures of thse high-DPI displays in my PDC talk) discusses the difficult balancing act between customization and supportability. (Part II.) Note that decisions on this subject also also impact compatibility: Windows Vista greatly expands the palette of objects covered by the visua...

Other
Oct 10, 2005
Post comments count0
Post likes count0

Thread affinity of user interface objects, part 1: Window handles

Different objects have different thread affinity rules, but the underlying principles come from 16-bit Windows. The most important user interface element is of course the window. Window objects have thread affinity. The thread that creates a window is the one with which the window has an inseparable relationship. Informally, one says that the th...

Code
Oct 7, 2005
Post comments count0
Post likes count0

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.

Code
Oct 7, 2005
Post comments count0
Post likes count0

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 fault eve...

Other
Oct 6, 2005
Post comments count0
Post likes count0

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.

Other
Oct 6, 2005
Post comments count0
Post likes count0

The unfortunate interaction between LOAD_LIBRARY_AS_DATAFILE and DialogBox

Some people have noticed that if you load a DLL with the flag, you sometimes get strange behavior if you then pass that to a dialog box function. The problem here is that since the bottom 16 bits of a proper are always zero, different components have "borrowed" those bits for different purposes. The kernel uses the bottom bit to distinguish mo...

CodeHistory
Oct 5, 2005
Post comments count0
Post likes count0

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 up an...

Non-Computer