The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
When something is available for the user, which user are we talking about?
Some people have taken issue with the term for the name of the base of the message range that is the province of the window class implementor. (Refresher for those who forget which messages belong to whom.) The complaint is that the user can't use them since they belong to the window class. Aha, but the real question is, "Who is the user?" In other words, when we say "user-defined", who is the user that's doing the defining? There are four components involved here, and each one gets its own message range. Who is the user? It depends on your point of view. From the window manager's point of view, the class i...
How Raymond learns languages (and why it's not working)
Whenever I wander into the subject of languages here, a commenter will ask me what my language-acquisition technique is. I have refrained from describing it since it is very peculiar to my way of learning, and I doubt it will work for most people. But since people seem to be interested, here it is. I like to learn a language by learning its rules first, then converting the rules to instinct while picking up vocabulary. This is backwards from how children learn a language, which is entirely instinctual and heavy on vocabulary acquisition with the rules coming only much later when they reach school and need to fin...
A very brief return to part 6 of Loading the Chinese/English dictionary
Back in Part 6 of the first phase of the "Chinese/English dictionary" series (a series which I intend to get back to someday but somehow that day never arrives), I left an exercise related to the member of the union. Alignment is one of those issues that people who grew up with a forgiving processor architecture tend to ignore. In this case, the member ensures that the total size of the union is suitably chosen so that a can appear immediately after it. Since we're going to put characters immediately after the , we'd better make sure those characters are aligned. If not, then processors that are alignme...
Why does Windows hide keyboard accelerators and focus rectangles by default?
The release of Windows 2000 introduced a new setting: "Hide underlined letters for keyboard navigation until I press the Alt key," which defaults on for most Western languages. What's the story behind this setting? I still have the rationale from the user interface designer who introduced this feature. Here's a redacted copy: To support our goal of greater simplicity, we plan to suppress keyboard navigation indicators by default. Don't be frightened... The idea is to reduce visual noise in Windows, namely focus indicators and access key underlines in menus and windows. Aesthetically, these things are ...
You can invent new adjectives too
It's not just verbs and nouns. I just saw the adjective "planful" in a piece of email. I don't know what that is supposed to mean. Neither do dictionary.com or Encarta.
If only he'd known to offer to back up their PC instead
I love it when two unrelated stories conspire to create amusement beyond what each one provided separately. We start with this report from BoingBoing of a man on Craigslist who offered to perform computer maintenance and repair in exchange for second base. (For those not familar with North American high school sexual slang—and that includes me—I refer you to this schedule of bases on Wikipedia, accompanied by a disturbingly elaborate list of secondary metaphors.) That story provided momentary amusement, but it was subsequently recalled by this unrelated story of a man who was ruled to have been overch...
There's a reason why envelopes have backs
For some reason, people are upset that I don't have hard data for the cost difference between "slow" and "fast" mode enumeration. I already did a back-of-the-envelope calculation that showed that fast mode reduces the total time to enumerate the items in a folder from five minutes to two seconds. That's what's so great about back-of-the-envelope calculations: They let you make decisions without actually having to implement every possible solution. Some quick estimation shows that using slow mode enumeration would be 200 times slower than fast mode. Does it really matter whether the speed-up is 195.1231 times or e...
Any similarity to actual German or Swedish words is purely coincidental
Earlier this year, the Advertising Standards Authority (the UK's advertising watchdog) ruled that the use of umlauts in the name of kitchen furniture manufacturer Möben is purely decorative and not intended to mislead consumers into believing that the company is German or Scandinavian. The fact that the name is only one letter away from both the German word ("Möbel") and Swedish word ("möbel") for "furniture" is not intended to mislead but rather is simply a coincidence. This appears to be a variation of the heavy metal umlaut. (Not to be confused with a diaeresis. I used to use diaereses, but ...
Does a dual-core processor count as one or two for licensing purposes?
Now that dual-core processors are gaining in popularity, there has been some confusion over whether a dual-core processor counts as one or two. This discussion of multicore processor licensing may clear things up. The short answer is that a dual-core processor still counts as one processor. For example, Windows XP Professional supports up to two processors. If you have two dual-core processors, Windows XP will use them both, for a total of four processing units. And if you enable hyperthreading on those processors, you get eight virtual processors out of the deal! Similarly, Windows XP Home supports one process...