Wednesday, June 18, 2014

14 Princesses That Didn't Make the Cut

If you follow the Disney Princess franchise, you may notice that there are some that are missing, perhaps even your favorite one. Here I’ll go over the 14(ish) Disney princesses that just didn’t make it as Disney Princesses.
In this coverage, I’m focusing only on princesses featured in Disney animated films. Anything that’s from live action, a TV show, a movie made by a company purchased by Disney prior to the purchase (e.g., Pixar or LucasFilm) and similar things won’t count (though I’ll be cheating a bit by including Enchanted).

1. Faline (Bambi, 1942)

Voiced by: Cammie King (young Faline) and Ann Gillis (adult Faline)
Description: Bambi’s love interested in the eponymous film
Why she’s a princess: She ends up with Bambi, the Great Prince of the Forest
Why she’s not a Disney Princess: She’s a deer.

2. Tiger Lily (Peter Pan, 1953)

Voiced by: Corrine Orr
Description: The Indian princess in Never Land
Why she’s a princess: She’s the chief’s daughter, and is referred to multiple times as “princess Tiger Lily”
Why she’s not a Disney Princess: Let’s face it: Disney’s portrayal of Native Americans in Peter Pan is not that flattering. Added to that is the fact that Tiger Lily has only one spoken line in the entire film (“Help!” she shouts, with the word being partially garbled as her head goes under water). All in all, she’s not that marketable.

3. Maid Marian (Robin Hood, 1973)

Voiced by: Monica Evans
Description: Robin Hood’s love interest.
Why she’s a princess: Robin Hood is the “Prince of Thieves”, which would make Marian the “Princess of Thieves” (or at least the “Duchess of Larceny”, I’m not exactly sure how these things work…).
Why she’s not a Disney Princess: She’s a fox. And I don’t mean she’s an attractive lady. She’s an anthropomorphic fox. She’d stand out like a sore thumb beside the more human princesses.

4. Eilonwy (The Black Cauldron, 1983)

Voiced by: Susan Sheridan
Description: She is the female companion of Taran on his quest for the Black Cauldron.
Why she’s a princess: While her father is a commoner, she is descended from royalty on her mother’s side. This is made apparent in the original source material, but not quite so much in the film. She often refers to herself as “Princess Eilonwy.”
Why she’s not a Disney Princess: This is probably a combination of the fact that the film only establishes her as a scullery maid posing as royalty, but does not reveal her noble heritage, and the fact that this film is rather dark, making her not that viable a candidate for princessdom.

5. Ariel’s sisters (The Little Mermaid, 1989)

Voiced by: Kimmy Robertson and Caroline Vasicek
Description: Ariel’s sisters, Aquata, Andrina, Arista, Attina, Adella, and Alana are the other daughters of King Triton.
Why they’re princesses: They’re the daughters of the king
Why they’re not Disney Princesses: First, because Ariel is. It’s hard to stand up against that (especially when you have fins instead of feet). Secondly, they’re not as “beautiful” as Ariel. They sort of have “stepsister” noses (like Cinderella’s stepsisters) in The Little Mermaid.

6. Nala (The Lion King, 1994)

Voiced by: Moira Kelly (adult Nala), Sally Dworsky (adult singing voice), Niketa Calame (young Nala), Laura Williams (young singing voice)
Description: Simba’s best friend and eventual wife.
Why she’s a princess: Simba, being the heir apparent to the kingdom, marries her.
Why she’s not a Disney Princess: She’s a lion. It wouldn’t be fair to make Nala a Disney Princess and not Faline, or vice versa (and it wouldn’t be fair to Faline to have to spend so much time with a creature that sees her as a ready food source).

7. Esmeralda (The Hunchback of Notre Dame, 1996)

Voiced by: Demi Moore, Heidi Mollenhauer (singing)
Description: A Gypsy in Paris in the 1480s.
Why she’s a princess: She obviously hold significant clout among the Gypsy community, being in many ways a “princess,” if not explicitly indicated as much.
Why she’s not a Disney Princess: Have you seen The Hunchback of Notre Dame? It’s dark. Plus Esmeralda is somewhat sexualized in the film. This isn’t the kind of princess parents would want their little girls emulating.

8. Megara (Hercules, 1997)

Voiced by: Susan Egan
Description: Hercules’ love interest. Sold her soul to Hades to win the heart of a man who eventually jilted her love.
Why she’s a princess: Hercules is a god, or at least a demi-god. You marry a god, you can call yourself whatever you like.
Why she’s not a Disney Princess: I doubt that selling your soul is a good trait for Disney Princesses to have.

9. Jane Porter (Tarzan, 1999)

Voiced by: Minnie Driver
Description: Tarzan’s love interest. An English explorer who helps bridge the gap between the wild kingdom and civilization.
Why she’s a princess: Tarzan is often called the “king of the jungle.” In addition, Edgar Rice Burroughs can’t seem to write a book without a princess. Jane fits that role well.
Why she’s not a Disney Princess: Possibly because Tarzan didn’t attract a large female audience. She’s also somewhat skinny.

10. Kidagakash “Kida” Nedakh (Atlantis: The Lost Empire, 2001)

Voiced by: Cree Summer
Description: The princess, and eventual queen, of Atlantis. Also Milo’s love interest.
Why she’s a princess: Her father, Kashekim Nedakh, was the king (and voiced by Spock!).
Why she’s not a Disney Princess: I don’t think Disney Princesses are supposed to kill people. Just a guess. Plus, by the end of the film, she’s queen.

11. Giselle (Enchanted, 2007)

Voiced by: Amy Adams
Description: She is the stereotypical Disney princess.
Why she’s a princess: She’s set to marry Prince Edward.
Why she’s not a Disney Princess: Either because she didn’t end up marrying Prince Edward (should I then be talking about why Nancy doesn’t count too?) or because Disney didn’t want to pay “likeness rights” on Amy Adams to add her to the list.

12. Charlotte “Lottie” La Bouff (The Princess and the Frog, 2009)

Voiced by: Jennifer Cody, Breanna Brooks (young Charlotte)
Description: The daughter of a rich sugar mill owner. She is Tiana’s best friend, for what it’s worth.
Why she’s a princess: She was made princess of Mardi Gras. Does that count?
Why she’s not a Disney Princess: Okay, so pretend you’re Disney. You’re making the FIRST BLACK DISNEY PRINCESS. You’re already walking on eggshells, what with originally trying to name her Maddy, and making Naveen much lighter than her. Are you really going to risk facing the wrath of the universe by, at the same time, adding a blonde, white girl to the pantheon?

13. Vanellope von Schweetz (Wreck-It Ralph, 2012)

Voiced by: Sarah Silverman
Description: The usurped ruler of the racing game Sugar Rush.
Why she’s a princess: She’s the Princess of Sugar Rush, deposed by King Candy.
Why she’s not a Disney Princess: Aside from the fact that she’s about a third of the height of most Disney Princesses, she also abdicates in favor of being president.

14. Anna and Elsa (Frozen, 2013)

Voiced by: Kristen Bell (Anna), Livvy Stubenrauch (5-year-old Anna), Katie Lopez (5-year-old Anna singing voice), Agatha Lee Monn (9-year-old Anna), Idina Menzel (Elsa), Eva Bella (8-year-old Elsa), Spencer Lacey Ganus (12-year-old Elsa)
Description: The royal daughters of Arendelle, left orphans in their teens.
Why they’re princesses: They are the daughters of the king and queen of Arendelle.
Why they’re not Disney Princesses: The jury’s still out on these two. While Anna is a more likely candidate for the pantheon, it would be odd to not include both of them, even though Elsa is technically a queen.

Honorable Mentions

Here are some characters who weren’t princesses, but deserved some respect.
As far as I can tell, that’s all the theatrical princesses who aren’t Disney Princesses. As I mentioned above, I’m not including live action (so no Princess Protection Program) or TV (no Sofia the First or Gummi Bears) or pre-Disney films (no Bug’s Life or Star Wars) or Disney-produced films (no Princess Mononoke).
Did I miss any? Got anything you’d like to share? Let me know!

Tuesday, June 17, 2014

Book Miner - Introduction

I’m going to start a new series in my blog called “Book Miner.” In this series, I’ll present impressions on books that I am currently reading. I’m doing this because I have a load of books, some more obscure than others. For those that are particularly terrible, it will help me get through the book. For those that are particularly great, it will allow me to share the sheer awesome with you.

A word of warning: at times, I may reveal "spoilers". Since I can't determine what you find to be a spoiler, I can't promise I will not reveal them. If you are the sort of person for whom spoilers are devastating, you may just want to skip the posts for stuff you haven't read. You have been warned.
For your benefit, I’ll tag the posts with “book miner” and other relevant information.
If you would like to have your book featured on Book Miner, please leave a comment below or e-mail me for the best way to send your book to me. I can only promise I’ll be honest.

Monday, June 16, 2014

This Old Roof

CAM00592.jpg
(TLDR: Click here and select “Amber Silvia” in your vote)
When Amber and I moved to Ohio, our goal was to be closer to family, to have our daughter be able to spend time with her cousin, and to be around people we knew and loved. When we first moved up here, we stayed with family, temporarily of course. This was March of 2013.
The first thing we did after we moved in with Amber’s parents was try to get financing to buy a new house. Unfortunately, as we had lived credit free in Houston, our credit score was not appealing to creditors. We were denied.
Through trials of living in a house with four other people (plus our three) and three cats (plus our one), with other people coming and going freely, we finally managed to get our credit to a point where banks would talk to us. Fortunately, since the only reason was a lack of credit history, our credit was AMAZING.
It was October in which we were able to start looking. After several days of looking, we found it: our dream home. It was a quaint tri-level on a big stretch of land. Most of the plot was wooded, and the street was the quiet kind of street you could amble down the middle of without worrying about being plowed over by a speeding car.
We initiated the purchase, got all the inspections, found no problems that weren’t cosmetic, and eventually purchased the house. We moved into our first home at the end of December. We had been homeless for almost eight months, living out of boxes and sleeping on floors and air mattresses in other peoples’ spare rooms. It was a breath of fresh air.
Until… less than 15 days later, it was raining. Amber looked at the ceiling of the kitchen and noticed a growing water mark. She pushed on it, and her thumb went through. The next day, my dad and I were on the roof, fixing the leak.
See, the seller had disclosed a leak in 2012. They didn’t really specify where, but they said they fixed it. Looking at the “fix” made me wish I had jumped up on the roof to check it out during the inspections. The corner where the lower roof met the outside wall was poorly patched with aluminum and roof cement, with nail holes and gaps admitting the water raining down.
My dad and I replaced this with a temporary solution, diverting the water away from the corner. However, the wood, our roof, was spongy to the touch. Winter was on us, so repairing the roof on a larger scale was out of the question at this time. Nevertheless, come spring, this corner would need to be replaced.
Returning to the kitchen, we opened up the water damaged wall. It crumbled away in our hands. Below it was rotten wood. Wood that had been exposed to water for years. It was likely that the leak was a problem for a while, and that their “repair” didn’t do anything to actually fix the problem (in fact, if you’ll allow an aside, we discovered several cans of recently used Kilz “stain sealing” ceiling paint in the kitchen pantry, kindly left by the previous owner). The studs and other wood in the wall was completely rotten, crumbling to the touch. Not only that, but it was infested with carpenter ants.
Since the wood that was damaged composed part of the floor structure to our top floor, we did our best to replace these pieces, again, a temporary work-around until we could get the roof repaired.
Our eyes were opened then, less than half a month into this new house experience, to all the flaws that the inspector missed. We noticed more poorly masked stains on the ceilings in other rooms. Trips to the attic revealed some of the most corroded wood making up much of the roof. Several roofing experts indicated that the roof was the original roof, making it 37 years old. Older than me.
The best part was, that when asked the age of the roof, emphasizing NOT the last time the shingles were replaced, we were told that the roof was new as of 1997. Yay! A complete lie!
The general consensus of the roofers was that the roof needed a complete replacement, including replacing several pieces of the roof structure that had been severely damaged by neglect. We scheduled a roofer to come by in the spring, and scraped our money together to pay for it.
Finally, spring came. Other problems with the house seemed to spring up without warning, and these required me to step out and tend to during the day while I worked for a company that claimed to provide “flexible hours.” This and other factors (e.g., my putting my family first) led to my unexpected dismissal from this company. The next day, our roofer came by. Well, sorry, roofer, we can’t get our roof done now. I’m unemployed, and we need that money to stop the gap between this and the next job.
And that buffer helped, even if our roof didn’t get repaired. Now I’m employed again, but making a significant amount less every year. Money is tight, and at the rate things are going, the roof might not get replaced any time soon.
Fortunately, Amber and I were finalists for a contest called “Roofing it Forward,” put on by C&C Roofing. If we get the highest number of votes, we’ll get a free, new roof. This is really great, as we were not sure how we would manage.
If you would like to help out, please click the link below and vote for Amber Silvia. If we get the most votes, we’ll get a new roof, and hopefully that will be enough to stop the unusual misfortune we’d had with this house since we got it (I only skimmed the surface here, the whole story is almost unbelievable).
I appreciate your getting this far. Please feel free to comment below and let me know you voted, and feel free to tell your friends so they can help too. Thank you.
-Jacob

Saturday, June 14, 2014

I Love C# Extension Methods

If you’re like me, you often find yourself wishing you could perform an operation against an object only to find that the author didn’t implement such functionality.
var cat = new Cat();
Console.WriteLine(cat.Meow());
=> ‘Cat’ does not contain a definition for ‘Meow’ and no extension method ‘Meow’ accepting the first argument of type ‘Cat’ could be found (are you missing a using directive or assembly reference?)
If you’re like me, you’ve probably written a function that takes this object as an argument and then performs the operation.
public static string Meow(Cat cat)
{
        return “meow”;
}
// and then…
Console.WriteLine(Meow(cat));
=> meow
If you’re like me, you find this to be completely ugly. This is no way to interact with objects! Thankfully, C# offers something called Extension Methods1.
public static string Meow(this Cat cat)
{
        return “meow”;
}
// and then...
Console.WriteLine(cat.Meow());
=> meow
Neat, huh? It gets better. See the argument in the method preceded by “this”? That’s the object you’re extending. But it doesn’t have to be a specific object. You could use the magic of inheritance to define the extension method on a base object and have all of its children have it.
public class Lion : Cat {
        //...
}
// and then...
var lion = new Lion();
lion.Meow();
=> meow
You can also do this on interfaces.
public interface ICat {
        string Says { get; }
}
public class Cat : ICat {
        string Says
{
get
{
        return “meow”;
}
}
}
public class Lion : ICat {
        string Says
        {
                get
                {
                        return “roar”;
                }
        }
}
// then define the extension...
public static string Meow(this ICat cat)
{
        return cat.Says;
}
// and then...
var cat = new Cat();
var lion = new Lion();
Console.WriteLine(cat.Meow());
Console.WriteLine(lion.Meow());
=> meow
roar
This is somewhat pointless, though, if you’re the one implementing the classes. It gets more power when you’re playing in someone else’s yard. For example, let’s say you want to encrypt a list of strings. You could use the ugly version:
List<string> secretWords = new List<string>();
foreach (string secretWord in GetSecretWords())
{
        secretWords.Add(Encrypt(secretWord));
}
Or the more appealing LINQ version:
List<string> secretWords = GetSecretWords().Select(
s => Encrypt(s)
);
Or you could define an extensions and use magic!
public static IEnumerable<string> Encrypt(this IEnumerable<string> list)
{
        return list.Select(s => Encrypt(s));
}
List<string> secretWords = GetSecretWords().Encrypt();
(Note that I used IEnumerable<T> instead of List<T>, because List<T> extends IEnumerable<T>, and I like to encourage people to make use of IEnumerable<T>, because you’re less likely to get out of memory exceptions if you use it instead of lists and arrays)
If you wanted to go crazy, like I often do, you could even extend the string class to have an encrypt function:
public static string Encrypt(this string str)
{
        return Encrypt(s);
}
// then you could modify IEnumerable<string>.Encrypt()...
public static IEnumerable<string> Encrypt(this IEnumerable<string> list)
{
        return list.Select(s => s.Encrypt());
}
Some people may argue that this is purely “syntactic sugar”, and while it may be, it does provide for a cleaner code base. Instead of writing Method(object) for some void method that transforms the object, you could write object.Method(), which not only looks a lot neater, but also makes it more apparent to downstream coders the intent of the method (especially if it transforms the object).
It’s also handy for adding features to third party objects that the maintainer didn’t include. This has a variety of applications, including specialized extensions (e.g., advanced math extensions to numeric objects or esoteric list operations). It’s even nice to use in an MVC app, keeping your model definitions free of methods.
I use extensions in just about every development project I work on. They’re an idiom of my coding style. I like the way they help communicate to the hu-mans working on the code my intents, and I like how they make the implementations of everything look a lot cleaner. Combined with LINQ, they can be a powerful ally.
I would recommend that if you’re making use of extension methods, you also implement unit tests for these, especially if you’re extending a third party library. If the maintainer ships a version with the same signature, you might not realize, and it might have different behavior. A few unit tests would at least ensure consistent usability.
My biggest wish w.r.t. this is that Microsoft will release extension properties, and static class extensions.
I’m curious what you think about extension methods. Love ‘em? Hate ‘em?