July, 2004

  • The Old New Thing

    Being in upper management must damage certain portions of your brain


    The air must be thinner the higher up the management chain you go, or maybe it just gives you more opportunities to look stupid. Like this message:

    From: <some upper manager>
    Subject: <some subject>

    I will try to keep this relatively brief as I know how busy everyone is.

    <... 4-page message follows...>

    If this is brief, I'd hate to see a "somewhat lengthy" message.

  • The Old New Thing

    Why can't I use the same tree item multiple times?


    It's the continuing balance between ease-of-use and generality.

    At a literal level, you can't use the same tree items in multiple places in the tree, because then various properties would become ambiguous, properties like TVGN_PARENT or TVIS_EXPANDED. (If a tree could be in two places, then it would have two parents, for example.)

    Of course, this problem could have been solved by separating the item content from the item presence. So instead of just having an HTREEITEM, there would be, say, HTREENODE and HTREENODECONTENTS. The node would represent a physical location in the tree, and the item contents would represent the contents of that node: its name, icon, etc.

    Sure, that could have been done, but remember the balance. You're making the common case hard in order to benefit the rare case. Now everybody who is manipulating treeviews has to worry about twice as many objects (what used to be one item is now a node plus contents). This is generally not the balance you want to strike when designing an interface.

    When you design an interface, you want to make the common case easier than the rare case.

    A program that wants this separation can, of course, do the separation manually. Put all the contents in a separate shareable structure and have your HTREEITEMs refer to that shared structure in their lParams. This is more work for the program, but now the cost is being shouldered by the one who wants the extra functionality.

  • The Old New Thing

    What's this fascination with Germanic languages?


    Some people wondered about my fascination with Germanic languages and asked why I didn't branch out to other language families.

    It's basically laziness.

    I grew up speaking English (and a little of the Holo dialect, most of which has by now vanished from disuse), then studied German in high school and college, and most recently added Swedish in preparation for a trip there.

    Swedish was easy to pick up because it nestles nicely between German and English. And that's when I realized that laziness was the key: If you always pick a language close to the ones you already know, it will not be so hard to learn.

    So my list of languages follows a chain of closely-related languages, so each one can be used as leverage for the next. Except for Icelandic, which strikes me as "like German, before the Germans decided to simplify their grammar" - that has its own appeal. I saved it for last.

    I have colleagues who speak Dutch and Afrikaans, so learning those languages would allow me to confuse and annoy them. Because that's the main reason for learning a language: To confuse and annoy.

    (One of my South African colleagues describes Afrikaans as "the language you get when you throw a bunch of Dutchmen into the bush and have them chased by lions for a few hundred years.")

    I have a former colleague who has since returned to Denmark. We always teased him about his native country and language when he was around, and he was a good sport about it. He's the one who taught me the phrase "En gang til for prins Knud". I removed Danish from the list of Germanic languages partly to tease him from afar and partly because the strange Danish pronunciation scares me.

    But for now, my pan-Germanic ambitions are on hold. As the Swedes out there already know, I've started studying Mandarin Chinese Even though I grew up with a tonal language (Holo has seven tones, as opposed to just the four of Mandarin), I never got very good at pronouncing the tones, even though I can hear the difference easily in most cases. So I'm in the embarrassing position of speaking badly and recognizing it immediately.

    Update: With some help from my father, I think I figured out the Mandarin third tone, which was the only one I had been having trouble with. The trick: The way the books explain how the third tone works does not match the way people pronounce it in real life. But the way the books explain it is so deeply ingrained in the way people think about the pronunciation of the tone that they continue to insist that's how it's done even though it isn't.

Page 4 of 4 (33 items) 1234