“Inception” as self-modifying code

The movie “Inception” seems to have gathered quite a following among the technology-affine crowd, similar to what happened when Matrix came out — which is not all that surprising since both movies have quite a bit in common.

Now, however, some very dedicated folks have implemented Inception’s plot as a multithreaded C application, where characters are represented by separate but interacting threads, sharing functions (the dream levels) but performing different actions within the dreams. Analogous to the movie, the code actually uses x86 code morphing techniques to “implant” modified instructions into the Fischer thread’s instruction stream.

This is crazy on so many levels. And to think that I already had trouble following the movie…