After the original Independence Day became a hit in 1996, fans had one thing to say: there's no way you could infect an alien spacecraft with a computer virus using a Mac! As it turns out, there actually is, as one of the writers informed us a couple of years ago. Dean Devlin, Roland Emmerich's writing and producing partner, says that it worked because both computer systems had the same basic structure, binary code.
The scene at the climax of Independence Day, where Jeff Goldblum's character uses a Macintosh laptop to send a computer virus to the alien spacecraft, became one of the film's unintentional funny moments. Macintosh computers don't integrate with much of anything else, and that was even more true in the 90s. So how exactly did it work? During a Reddit AMA back in 2014, a fan asked ID4 scribe Dean Devlin this specific question. As it turns out, there's a very simple answer.
All of our computer systems are, for the most part, based on binary code, which are, as Dean Devlin says, ultimately just ones and zeroes. While it would be easy enough to make an automatic assumption that the alien computers are something else, what else would they be? Ultimately, a computer has to be based in some sort of very basic logic as a starting point, and binary makes as much sense as any other choice. Is it that much of a stretch to believe other life forms would have come to the same conclusion?
Once, we make that assumption, the computer virus becomes fairly simple. The more complicated you make the virus, the more difficult it would be to make sure it works, but something that impacts the binary logic at a basic level? Sure, why not. While the computer programmers reading this probably have a million reasons this wouldn't work, the rest of us have no clue, and it at least sounds like it could work.
Of course, this still doesn't explain how Jeff Goldblum's character was able to plug his Mac into the alien network in the first place. Nor does it explain the stupid skull and crossbones laugh that occurred after the virus was uploaded.
So, for those of you who do know more about computer programming than a guy who took one PASCAL class in high school, what are the problems with this logic? We're sure they exist, just let us know in the comments.