Excruciating rhymes

I was watching How the Grinch Stole Christmas and I was struck by this rhyme (from the song  “You’re a Mean One, Mr. Grinch:”)

You’re a nauseous super naus!
You’re a dirty crooked jockey, and you drive a crooked hoss
— Dr. Seuss, How the Grinch Stole Christmas

I tried to see what other particularly excruciating rhymes I could remember.  I came up with two:

You know, that little guy, he’s got me feeling all contempt-ey:
He takes his boat out loaded up and brings it back in empty.
    — Phil Vischer, Lyle the Kindly Viking

And then of course:

In short, when I’ve a smattering of elemental strategy,
You’ll say a better Major-General had never sat a-gee!
    — W. S. Gilbert, The Pirates of Penzance

Disney princesses: an attempt at a complete list

Last time we examined the “Disney princess” status of Belle from Beauty and the Beast. This time I attempt to give an exhaustive list of all Disney princesses together with a very short summary of their status.

Snow White and the Seven Dwarfs (1937)

snow-white Snow White
Queen’s Daughter; Queen? Prince’s Girlfriend; Prince’s Wife?
Disney Princess

Bambi (1942)

faline Faline
Prince’s Wife
Disney Princess
bambis-mother Bambi’s Mother
Prince’s Wife
Disney Princess

Cinderella (1950)

cinderella Cinderella
Prince’s Wife
Disney Princess

Peter Pan (1953)

tiger-lily Tiger Lily
Chief’s Daughter
Disney Princess

Sleeping Beauty (1959)

sleeping-beauty Aurora
King’s Daughter; Prince’s Girlfriend; Prince’s Wife?
Disney Princess

Robin Hood (1973)

maid-marian Maid Marian
Wealthy; Prince(?)’s Girlfriend
Not a princess

Nausicaä of the Valley of Wind (1984: Studio Ghibli1)

nausicaa Nausicaä
King’s Daughter; Queen?
Disney(?) Princess
kushana Kushana
Royalty’s Daughter
Disney(?) Princess
lastelle Lastelle
Queen’s Daughter
Disney(?) Princess

The Black Cauldron (1985)

eilonwy Eilonwy
Queen’s Daughter; Prince(?)2‘s Girlfriend(?)
Disney Princess

Castle in the Sky (1986: Studio Ghibli)

sheeta Sheeta
Queen’s Daughter; Queen?
Disney(?) Princess

Oliver & Company (1988)

jenny Jenny
Wealthy
Not a princess

The Little Mermaid (1989)

ariel Ariel
King’s Daughter; Queen’s Daughter?3 Prince’s Wife
Disney Princess
ariels-sisters Aquata, Andrina, Arista, Attina, Adella, Alana
King’s Daughter; Queen’s Daughter?3 Queen?4
Disney Princesses

Beauty and the Beast (1991)

belle Belle
Prince’s Girlfriend; Prince’s Wife?5
Disney Princess?

Aladdin (1992)

jasmine Jasmine
Sultan’s Daughter; Prince’s Girlfriend?6 Sultan’s Girlfriend?7
Disney Princess

The Lion King (1994)

nala Nala
King’s Daughter8; Prince’s Girlfriend; King’s Girlfriend; King’s Wife
Disney Princess
kiara Kiara
King’s Daughter9
Disney Princess?

Pocahontas (1995)

pocahontas Pocahontas
Chief’s Daughter
Disney Princess

Princess Mononoke (1997: Studio Ghibli)

san San (also known as Princess Mononoke)
Wolf God’s Adopted Daughter
Disney(?) Princess
kaya Kaya
Prince’s Sister
Disney(?) Princess

A Bug’s Life (1998: Pixar)

dot Dot
Queen’s Daughter
Disney(?) Princess
atta Atta
Queen’s Daughter; Queen
Disney(?) Princess

Tarzan (1999)

jane Jane
Chief’s son’s Girlfriend; Chief’s Wife
Disney Princess?

Atlantis: The Lost Empire (2001)

kida Kida
King’s Daughter; Queen
Disney Princess

Tales from Earthsea (2006: Studio Ghibli)

therru Therru (true name Tehanu)
Prince’s Girlfriend
Not a princess

Ponyo (2008: Studio Ghibli)

ponyo Ponyo
Queen’s Daughter
Disney(?) Princess

The Princess and the Frog (2009)

tiana Tiana
Prince’s Wife
Disney Princess
charlotte Charlotte
King’s Daughter10
Disney Princess

Tangled (2010)

rapunzel Rapunzel
King & Queen’s Daughter
Disney Princess

Brave (2012)

merida Merida
King & Queen’s Daughter
Disney Princess

Wreck-it Ralph (2012)

vanellope-von-schweetz Vanellope von Schweetz
Princess
Disney Princess

Frozen (2013)

anna Anna
King & Queen’s Daughter; Queen?11
Disney Princess
elsa Elsa
King & Queen’s Daughter; Queen
Disney Princess

Moana (2016)

moana Moana
Chief’s Daughter
Disney Princess

Methodology – I started with Disney’s own “50 animated features” list as present on the Tangled DVD. To this I added the list of Pixar and (somewhat more controversially) Studio Ghibli movies released under the Disney name.

1 Nausicaä of the Valley of Wind is technically not a Studio Ghibli film as the studio was not founded until after the film was released.
2 In The Black Cauldron, Taran is not yet aware that he is a prince.
3 In The Little Mermaid, Ursula briefly has a claim to being a queen. Her relationship to Triton is never made clear; if she is his ex-wife, Ariel and her sisters are potentially her daughters.
4 In The Little Mermaid, Triton is briefly incapacitated. His eldest daughter thus has a brief claim to being Queen.
5 In Beauty and the Beast, Belle’s princess status hinges on whether she is married to the Beast.
6 In Aladdin, Aladdin spends a fair amount of time transformed into a prince, though it is not clear where his principality lies.
7 In Aladdin, Jafar is briefly Sultan and attempts to woo Jasmine, though there is no reciprocity in their relationship.
8 In The Lion King it is perhaps best not to inquire too closely into the precise nature of the familial relationships between members of the pride in question.
9 The Lion King ends with a shot of Simba and Nala’s cub being presented, but it is not clear whether the cub is male or female; in sequels it is made clear that the cub is a girl and her name is Kiara.
10 Charlotte’s father is King of Mardi Gras, so Charlotte is princess for only one day. Still, Once a Princess, Always a Princess.
11 When Elsa abandons Arendelle, there is a case to be made that Anna is de facto Queen. Anna herself would dispute this claim.

Disney princess pedigree: Belle

Is Belle a Disney princess?

beauty-and-the-beast

The case in favor

As is clearly established in the opening monologue, the male lead is a prince. Only his outward form is temporarily changed by the nasty enchantress who entraps him into refusing shelter (as if this was a crime.) Nevertheless, he retains property rights to his castle and the surrounding dominions – even were this not the case, Once a Prince, Always a Prince.

Throughout the movie Belle handles herself with princessly aplomb:

  • She evades the unwanted attentions of Gaston without overtly hurting his feelings.
  • She is able to find and rescue her father.
  • She keeps her word not to leave the castle even when afforded an opportunity to escape by the Beast’s injury.
  • She wins the hearts of the castle servants.
  • She civilizes the prince, taming his notorious temper and finding a modified set of table manners that are within the physical limitations imposed by his enchantment.

The enchantress’s spell serves as a litmus test for true love. The restoring of the prince’s human form is proof that Belle and the prince love one another; they then kiss, and are married. Thus Belle has the clear title of Princess by Marriage.

The case against

It is granted that the male lead is a prince during the opening monologue. Granted, too, is his status as a prince in the closing scenes. One might question the practical effect of his princely status in the interim, especially since no-one outside of his castle is apparently aware of his existence. Certainly his behavior at several points during the movie is extremely unbecoming of a prince, or even a decent commoner:

  • He refuses shelter to an old woman, exposing both himself and the population of the castle to the wrath of an enchantress (who was admittedly overreacting a little.)
  • He withdraws from society.
  • He frequently loses his temper with his servants and others.
  • He imprisons Maurice, whose only crime was seeking refuge from wolves.
  • He imprisons Belle, whose only crime was looking for Maurice.
  • His table manners are decidedly unroyal.

Belle’s achievements as a young lady, though they do her credit (with the possible exception of passing up the opportunity to escape,) are irrelevant to her claim to the title of princess. Many a commoner has virtue; their lack of a princess title in no way diminishes that virtue.

It pains me to say this, but Belle displays consistently poor social abilities throughout the movie – she is established as a withdrawn, introverted character who prefers the company of books to that of people. It is small wonder that she is easy prey for the sociopathic Beast. It is clear to me that over a prolonged period in a captor/hostage relationship, she eventually succumbs to Stockholm syndrome.

The transformation is not necessarily indicative of true love between the Beast and Belle. It is true that the transformation was coincident with Belle’s profession of love to the (as she perceived it) dying Beast. But it was also coincident with the falling of the last petal from the rose. Why believe that the former, rather than the latter, ended the enchantment? We have only the enchantress’s word for this, and enchantresses are not known to be women of their words. In any case, Being a Prince’s Girlfriend Does Not Suffice.

One might challenge the validity of a marriage contract entered into when one of the parties was not of sound mind. But is there a marriage contract at all to challenge? There is no direct evidence that Beauty and the Beast are married at all.

The verdict

Belle has no claim to being a Princess by Birth; only to being a Princess by Marriage. It is clear that the Beast is a prince. What we have to decide is, was there a marriage?

The final scene is quite artistic in its ambiguity. The penultimate scene culminates in a fairly passionate kiss (by Disney standards.) This is followed up by a formal dance, with Belle and the prince wearing their best outfits. And yet… No Dress, No Kiss, No Wedding. It is almost as if the scene were crafted so that all the young ladies in the audience could watch the scene and come away with the firm impression that Belle and the prince were married, and all of their fathers could come away with the firm impression that there was still hope that Belle would come to her senses. Note especially Chip’s question “are they going to live happily ever after, Mama?”, and Ms. Potts’ pat answer “of course”.

In that critical final scene, Belle is wearing gloves, but the presence of a ring on the prince’s finger would help Belle’s case for princesshood significantly; I was unable to see one.

Verdict: Controversial

Blown movie lines – Torn Curtain

torn-curtain

In the underrated movie Torn Curtain, American scientists Michael Armstrong (Paul Newman) and Sarah Louise Sherman (Julie Andrews) meet up with East German scientist Gustav Lindt (the excellent actor Ludwig Dorath) to pump him for a secret formula (the MacGuffin.)

They’re at an upscale party and a waltz is playing.  Lindt is a little tipsy and enjoying himself, and he says:

Lindt: The Vienna Waltz. Did I tell you my sister Emily was knocked down by a tram in Vienna? (sings along to the good bit – about 0:54 in the link below.)

Why is this a blown line?

Because there is no such waltz. There are various waltzes with “Vienna” in the title, but the particular waltz in question is the Emperor Waltz.  It would indeed be unfortunate if poor Emily was knocked down by the Emperor…

Hitchcock directed a film about Johann Strauss, Jr.: Waltzes from Vienna, and Ludwig Donath was himself Austrian, so this mistake is surprising.

As an aside, it was this movie (in particular the blackboard scene) that stimulated my youthful interest in mathematics.  A couple of people arguing over weird chalk symbols and one of them says “it would blow up!” – that got my attention.

Sample – WASAPI exclusive-mode event-driven playback app, including the HD Audio alignment dance

Sample WASAPI exclusive-mode event-driven playback app, including amd64 and x86 binaries, source, and a modification of the ac3.wav Dolby Digital test tone to include a “fact” chunk.

Browse source

Download play-exclusive.exe

>play-exclusive.exe -?
play-exclusive.exe -?
play-exclusive.exe --list-devices
play-exclusive.exe [--device "Device long name"] --file "WAV file name"

    -? prints this message.
    --list-devices displays the long names of all active playback devices.

Plays the given file to the given device in WASAPI exclusive mode.
If no device is specified, plays to the default console device.

On the particular system I used to test this, these are the devices I have:

>play-exclusive.exe --list-devices
Active render endpoints found: 3
    Digital Audio (S/PDIF) (2- High Definition Audio Device)
    Speakers (2- High Definition Audio Device)
    Sceptre (High Definition Audio Device)

And this is the output I get when I play the attached ac3.wav test tones to the Sceptre HDMI output:

>play-exclusive --device "Sceptre (High Definition Audio Device)" --file ac3.wav
Opening .wav file "ac3.wav"...
The default period for this device is 30000 hundred-nanoseconds, or 144 frames.
Buffer size not aligned - doing the alignment dance.
Trying again with periodicity of 33333 hundred-nanoseconds, or 160 frames.
We ended up with a period of 33333 hns or 160 frames.
Successfully played all 460800 frames.

A word on the “alignment dance” highlighted above… first, this scene from The Pacifier.  (Vin Diesel is so coordinated.)

The Pacifier: The Peter Panda dance

Here’s the source for the dance (in play.cpp in the attached.)

// call IAudioClient::Initialize the first time
// this may very well fail
// if the device period is unaligned
hr = pAudioClient->Initialize(
    AUDCLNT_SHAREMODE_EXCLUSIVE,
    AUDCLNT_STREAMFLAGS_EVENTCALLBACK,
    hnsPeriod, hnsPeriod, pWfx, NULL
);
// if you get a compilation error on AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED,
// uncomment the #define below
//#define AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED AUDCLNT_ERR(0x019)
if (AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED == hr) {

    // if the buffer size was not aligned, need to do the alignment dance
    printf("Buffer size not aligned - doing the alignment dance.n");
    
    // get the buffer size, which will be aligned
    hr = pAudioClient->GetBufferSize(&nFramesInBuffer);
    if (FAILED(hr)) {
        printf("IAudioClient::GetBufferSize failed: hr = 0x%08xn", hr);
        return hr;
    }
    
    // throw away this IAudioClient
    pAudioClient->Release();

    // calculate the new aligned periodicity
    hnsPeriod = // hns =
        (REFERENCE_TIME)(
            10000.0 * // (hns / ms) *
            1000 * // (ms / s) *
            nFramesInBuffer / // frames /
            pWfx->nSamplesPerSec  // (frames / s)
            + 0.5 // rounding
        );

    // activate a new IAudioClient
    hr = pMMDevice->Activate(
        __uuidof(IAudioClient),
        CLSCTX_ALL, NULL,
        (void**)&pAudioClient
    );
    if (FAILED(hr)) {
        printf("IMMDevice::Activate(IAudioClient) failed: hr = 0x%08xn", hr);
        return hr;
    }

    // try initialize again
    printf("Trying again with periodicity of %I64u hundred-nanoseconds, or %u frames.n", hnsPeriod, nFramesInBuffer);
    hr = pAudioClient->Initialize(
        AUDCLNT_SHAREMODE_EXCLUSIVE,
        AUDCLNT_STREAMFLAGS_EVENTCALLBACK,
        hnsPeriod, hnsPeriod, pWfx, NULL
    );

    if (FAILED(hr)) {
        printf("IAudioClient::Initialize failed, even with an aligned buffer: hr = 0x%08xn", hr);
        pAudioClient->Release();
        return hr;
    }
} else if (FAILED(hr)) {
    printf("IAudioClient::Initialize failed: hr = 0x%08xn", hr);
    pAudioClient->Release();
    return hr;
}

// OK, IAudioClient::Initialize succeeded
// let's see what buffer size we actually ended up with
hr = pAudioClient->GetBufferSize(&nFramesInBuffer);
if (FAILED(hr)) {
    printf("IAudioClient::GetBufferSize failed: hr = 0x%08xn", hr);
    pAudioClient->Release();
    return hr;
}

// calculate the new period
hnsPeriod = // hns =
    (REFERENCE_TIME)(
        10000.0 * // (hns / ms) *
        1000 * // (ms / s) *
        nFramesInBuffer / // frames /
        pWfx->nSamplesPerSec  // (frames / s)
        + 0.5 // rounding
    );

Note the new HRESULT.

HD Audio works on a 128-byte aligned buffer size.  This dance ensures that the HD Audio driver is being fed data in chunks of 128 bytes.  It is somewhat complicated by the fact that IAudioClient::Initialize takes a parameter of hundred-nano-seconds, but IAudioClient::GetBufferSize sets a parameter of frames.

EDIT September 28 2015: moved source to https://github.com/mvaneerde/blog/tree/master/play-exclusive

Blown movie lines – Casablanca

Ah… Casablanca.

casablanca

Arguably the best movie of all time.  And yet a blown line?  How could I be so bold?

The line:

Play it [As Time Goes By] again, Sam. — Casablanca

Wow… that line, blown?  Am I way off base here?  Arguably the best line of arguably the best movie… blown?  How so?

Well, for two reasons.

  1. The line does not actually appear in the movie at all.

    There are two scenes where Sam is urged to play As Time Goes By to recall the Paris romance between the two major characters.  Here is the dialog from both scenes:Ilsa: Play it once, Sam. For old times’ sake.
    Sam: I don’t know what you mean, Miss Ilsa.
    Ilsa: Play it, Sam. Play “As Time Goes By.”

    … and later…

    Rick: You played it for her, you can play it for me!
    Sam: Well, I don’t think I can remember…
    Rick: If she can stand it, I can! Play it!

    “Play it again, Sam” has thus entered the pantheon of unforgettable movie lines… even though it was never actually said.

  2. The song was nearly changed.The film composer – a fellow named Max Steiner – did a very good job on the film.  As Time Goes By is, thanks to his score, now indelibly etched in the ears of many a classic movie buff.But he hated the song!  He attempted to convince the producers of the film that the song was boring, and that he could write a much better song.

    Shame, Mr. Steiner.  Shame.

    What’s worse… the producers went along with it! They agreed to allow him to write a song to replace As Time Goes By.  There were only a couple of scenes that needed to be reshot, and they started the logistical machinery to recall the cast in those scenes to do the reshooting.

    Unfortunately… or rather, fortunately… Ingrid Bergman had already moved on to For Whom The Bell Tolls… and she had cut her hair

    for-whom-the-bell-tolls

The topic of this arguably-best-line of the arguably-best-movie was thus saved by a haircut.

Blown movie lines – The Matrix

In the first Matrix movie there’s a very interesting character called Cypher.  If you go along with the theory that the Matrix series is a rough retelling of the story of Christ, Cypher is the closest analog to Judas Iscariot, who is one of the earliest very-interesting-characters.

Unfortunately I personally found that the actor kind of got in the way of the character sometimes.

For example, in his scene with Neo, Cypher has this line

The image translators work for the construct program – but there’s way too much information to decode the Matrix.

The actor delivers this line in such a way (the image translators work for the construct program) as to imply that there are these thingies called “image translators”, and this other thingy called a “construct program”.  Furthermore, these “image translator” thingies are currently in the employ of the “construct program”.  The “construct program” is apparently a very nasty beast with close ties to the machine Gestapo.  Therefore, if we were so foolish as to attempt to recruit the talents of the “image translators”, the “construct program” would find out, and then we’d be in big trouble.

It follows then, as the night the day, that we are thrown on our own, limited, resources… and what with piloting the ship and arranging the menu and what-not, decoding the matrix (being a substantial task) is rather low on the priority list.

Sigh.

This would be an interesting reading, filled with wonderful foreshadowings of the inevitable discovery of Zion by the machines, except for one thing.

It is already firmly established that the “construct program” is the Holodeck-like-thing that the crew of the Nebuchadnezzar use to equip themselves with simulated equipment (and simulated skills) for use in the simulated reality of the Matrix. So the above reading is, of course, nonsense.  The correct implication of the line is:

There are these thingies called “image translators.”  We throw bits of code at them and they translate them into electrical stimuluses that our brain interprets as images.  They can handle such-and-such amount of code.

The construct program is under our control, and we scale back the amount of code it generates to what our image translators can handle.  That is why when you enter the construct program you can “see” your residual self-image and whatnot.

However, the Matrix is not under our control, so we can’t scale the amount of code it generates.  It so happens that the Matrix generates an awful lot of code, which overpowers our image translators… which is why these monitors just show a bunch of greenish symbols instead of pretty girls with hair of various colors.

A delivery that gets this across would be more like

The image translators work – for the construct program – but there’s way too much information to decode the Matrix.