Review: The Incredibles 2

Like everything, reviewing movies is probably a skill that you can practice. So that is what I do.

I went to The Incredibles 2 at the cinema. I have waited 15 years for this movie, and it was totally worth it. 10/10 will watch again.

The plot is based around Elastigirl (Helen Parr) getting a new job as a hero, while Mr Incredible (Bob Parr) has to stay home with the kids. Elastigirl’s plot has action scenes and a plot twist that kid-me would have enjoyed a lot. But to me, the real meat was in Bob’s part of the movie. Bob is not very good with his kids, and he is jealous that his wife gets to be a hero again. While that sounds like the most cliché sexist plot possible,  Brad Bird manages to make it work and make it good and make it not be sexist. Bob is a caring father with his own feelings and vulnerabilities. He is realistically capable but lacks practice in caring for his own kids, though he steadily improves over the course of the movie.

Together with the previous movie, the Incredibles has had 3 villains: Syndrome, the Underminer and the Screenslaver. All three are tech geniuses, and none are considered to have superpowers by any of the characters. I am not yet sure what kind of social commentary this is supposed to be.

Links #1: Modern computers are complicated

David Chisnall: C is not a low-level language

A modern Intel processor has up to 180 instructions in flight at a time (in stark contrast to a sequential C abstract machine, which expects each operation to complete before the next one begins). A typical heuristic for C code is that there is a branch, on average, every seven instructions. If you wish to keep such a pipeline full from a single thread, then you must guess the targets of the next 25 branches. This, again, adds complexity; it also means that an incorrect guess results in work being done and then discarded, which is not ideal for power consumption. This discarded work has visible side effects, which the Spectre and Meltdown attacks could exploit.

Matt Klein: Meltdown and Spectre, explained

Each cache miss adds a substantial amount of delay time to program execution. In order to mitigate this, processors are capable of executing ahead and out of order while waiting for memory loads. This is known as speculative execution. The following code snippet demonstrates this.

if (x < array1_size) {
  y = array2[array1[x] * 256];

In the previous snippet, imagine that array1_size is not available in cache, but the address of array1 is. The CPU might guess (speculate) that x is less than array1_size and go ahead and perform the calculations inside the if statement. Once array1_size is read from memory, the CPU can determine if it guessed correctly. If it did, it can continue having saved a bunch of time. If it didn’t, it can throw away the speculative calculations and start over. This is no worse than if it had waited in the first place.


Bayes’ theorem and transgender lesbians

Some time ago I read a cool post on Tumblr, but I can’t find it anymore. It was about calculating P(trans|WLW), the fraction of women who love women that is transgender, from P(trans), the fraction of the general population that is transgender, P(WLW), the fraction of the population that is a woman-loving woman, and P(WLW|trans), the fraction of gynephillic trans women among trans people. Bayes’ theorem says

P(trans|WLW) = P(WLW|trans)P(trans)/P(WLW).

I remember that the resulting number was significant. As I could not find it again, here is a quick and dirty reconstruction. For every statistic, I picked the first one I found that did not seem completely unrealistic.

So Bayes’ theorem gives us P(trans|WLW) = 0.15.

Bonus: suicide attempts

While preparing this post, I stumbled upon this report. Page 8 lists:

  • P(attempted suicide) = 0.016.
  • P(attempted suicice|trans) = 0.41.

Bayes now says P(trans|attempted suicide) = 0.26. Big if true.*

Section of Doubt

Applying Bayes’ theorem like this seems to give unreasonably good mileage. That suggests that social scientists aren’t allowed to use numbers from different studies and get conclusions from them, or asymmetric misreporting makes these calculations error-prone.

The last number above is big. Makes one wonder why so little effort is spent explicitly targetting at-risk trans people.

* Added July 16th: I just met a subject expert, she said this figure sounded about right.