This started as a comment on Pat's blog in response to his post about Battlestar Galactica, but was growing way too long, so I posted what I had and figured I'd round it off here. I wrote this up and then marked up the spoilers; if you're interested in the topic but don't want to learn too much, this post follows the form ABCBA, returning to "minor spoilers" and "no spoilers" after the central spoilerific section. As always, very little of this post is actually about BG, more about things that popped in my head when I started writing about BG.
I just downloaded and watched the series pilot - it's very cool. I agree with Pat's analysis, it's great to have a series that's AWARE of major issues without necessarily being ABOUT them. To me, it feels more like a conversation than an agenda.
In my favorite example, we have that moving speech from Commander Lewis Black in which he very eloquently says, "What is wrong with us? What if humanity isn't worth saving? What if the Cylons deserve to destroy us?" I was thinking, "This is a good speech, but it doesn't fit what Pat was saying about the show treating topics laterally - I mean, he's directly talking about humanity's evil here." And yet, soon after giving this speech, he shows absolutely no hesitation at all in fighting against the Cylons, and is the strongest voice in favor of trying to destroy them rather than flee. Now, that doesn't necessarily mean that his speech was wrong, but it does show that we only have the luxury of thinking about these things from a position of safety. Right now in the US we have a great dissent movement that's critical of our government, but that would evaporate over night if we suffered a land invasion.
It'll be interesting to see where things go from here. The pilot/miniseries was such a unique beast, I'm curious how it will translate to a hour-a-week (or whatever it will be) format. I get the feeling it will inevitably lose some of the sweep of the pilot, and then the temptation will be greater to say, "This week is about Redemption!" or "This week is about When It's Okay To Lie!" Still, if they continue to do it with the style and intelligence I saw on display here, it won't be a problem.
My favorite characters are the Commander and the Chief Engineer, although Dee is incredibly cute. I'm really bad with names, obviously. Corporal John McCain is deliberately unlikeable but an interesting, useful character. If I remember year-old chatter on the Internet properly, Starbuck was a man in the original series, and it sort of shows. I'm kind of adrift on the President right now, but whatever... I feel like they're trying to cram too much into one character without giving her enough screen time, so a series might help. Oh, and Gaius is cool, a great character with a lot of potential.
I admire the show's willingness to use older actors. Ever since seeing U-571 it has infuriated me when movies or shows feature captains in their 20s, leading people even younger than themselves; not only is that terribly inaccurate (especially for sci-fi, where in the future technology will help keep old bodies strong but will not be able to provide experience to the young), but it's dramatically disappointing as well; there's a whole world of experiences and situations that only apply to people old enough to be parents or grandparents, and too many productions are cutting themselves off for that in exchange for a hot young star with box-office draw.
I'm sure the answer to this will be known to everyone who has watched the series, since it's too big a piece to let go, but I'm terribly intrigued by the slip of paper the Commander holds at the end, which said something like "THERE ARE 12 MODELS OF CYLONS." My questions boil down to, where did this come from, and when did it arrive? To have access to that kind of information, it seems like the humans must have a spy of some sort in the Cylon nation. The alternative is that it came from Gaius, who has somehow figured this out by examining the Cylon artifact, but this seems unlikely to me. But if it is a spy, either the Commander has some secret communications channel only available to him, or, what I think is a far cooler and more chilling possibility, this message predates the Cylon invasion. It's possible that the fleet knew of the Cylon doppelgangers, and ensured that only a few trustworthy people at the top knew about it so the Cylons wouldn't discover there was a spy in their midst. This could explain how the Commander figured out the "smuggler" was actually a Cylon.
And the bit with the Asian pilot being a Cylon. I thought that was well done. When I saw her at the end I went, "whoa," then I thought back to the scene where she and the refugees are taking off from the planet. She's chatting with the young boy, and says something like, "both of my parents are dead too." It seems like that would be the perfect way to plant a sleeper agent, whether they're aware or not: find a place where some people have died, create an "orphan" and send it in. I'm guessing that Gaius is right and some Cylons might not even be aware that they are Cylons; if so, I bet there will be an episode where she needs to make a choice. Oh, and that discovery also raises the question of how long they have been infiltrating. Up until that moment I'd assumed it had just been a year or two; I figured the pilot's opening scene was meant to establish that the Cylons had finally perfected believable humans and so that was why the invasion was starting now. But if a Cylon can make it all the way through flight school and into the ranks, this must have been going on for a while, and their infiltration might be even deeper than I had thought.
Something that didn't ring true for me: the odds that two of the twelve Cylon models would be on the Galactica and that particular transpot ship. It's probably safe to assume that at most only a few copies of each model were sent to infiltrate; the fleet would get suspicious if too many identical-looking people were running around. I can buy the Galactica getting one, but why would they waste one on a transport carrying someone who is 36th (or whatever) in the succession line for President and which has no combat capabilities? The rationalization might be that they realized, given the Commander's distrust of networked computers, that the Galactica would be a tougher nut to crack and so had additional agents in the vicinity, but still, I'm not buying it.
Also, the fleet was inside the cloud for a decent length of time, so why didn't the pilot start to get sick? We don't know exactly how long it takes, but I would expect to see something, given the relatively little time it took the "journalist" to get sick after he was cast off.
Let's see, what other nits can I pick... this isn't a complaint, but I'm wondering about Gaius's hallucination-or-chip dilemma. At first I thought that the fact she continued to manifest after he entered the cloud meant she was a hallucination; we know signals can't penetrate it, so it seemed likely that he was making it all up. (In fairness, if I knew I was responsible for the extinction of humankind, I'd probably go a little crazy as well.) But now I'm not so sure; having a chip doesn't necessarily mean that it has uplink capabilities, or that it can't function in the absence of communication with a base station. The stranded Cylon continued to function autonomously, so the chip theoretically could as well. Actually, from the ending scenes I feel fairly confident that it can't communicate, or at least not over a broad range, or else they wouldn't be talking about spending decades hunting the survivors down. If there is a chip, it'll be interesting to see whether it's a ROM or an EEPROM; in the latter case, I bet a part of the series will be the chip adapting to Gaius even as he adapts to having the chip, which could be a very cool situation.
I want to write about some stuff that might be of interest to people who haven't seen the series, so I think I'll break back into Minor Spoilers in a bit. Just so we're clear on code words: when I'm talking about "you gotta have faith," I'm talking about the Commander's Earth speech; and when I'm talking about networking vulnerabilities, we're talking about the Gaius/Cylon navigation system as well as the Cylon penetration of the defense computers. Okay? All right.
Let's break back into
Hi again - I want to talk about some things that are loosely based on things in the miniseries but not really ABOUT the miniseries. (Sound familiar?) Continuing to read from this point will clue you in to some general events or themes, but they're not that huge in the story and I won't go into any details here. Fair enough? Let's continue.
First, something that irritated me: the pilot ends with a rousing message that says, essentially, "It's important that people have faith. It doesn't matter what they believe in, but they need to believe in something." This is a theme that's increasingly present in creative works I've encountered recently, and while it's not necessarily a bad sentiment I think it's a false one. I'll just sort of ramble and rant for a little while.
First off, this thought is generally given to someone who doesn't actually practice what they preach. The Commander offers something to believe in, but he himself knows it to be false. He's not schizophrenic, just lying; from a position of authority he is encouraging others to accept the falsehood for their own good. So the platitude is obviously incorrect here from the very beginning; the Commander doesn't have faith, and he's still determined to continue. Faith, therefore, is not a prerequisite for endurance. This is just sheer intellectual arrogance; the Commander knows that he is strong enough to continue without belief, but thinks that everyone else needs a crutch to lean on.
Secondly, I don't buy the message that belief is superior to skepticism. I first thought about this when reading "The Life of Pi" last year, which was a really good book, but advanced this idea that the most important thing was to believe regardless of what you believe in. I don't have the book here so I can't quote it, but Pi says something along the lines of the atheist being far superior to the agnostic, because the atheist believes in an absence while the agnostic has absent belief. I have trouble buying this either on a large scale or a small scale. Skepticism is what fuels a search, that forces someone to go out and investigate for themselves; in the process they may discard old beliefs, acquire new ones, and strengthen ones that previously existed. Now, an agnostic who says "I don't know so I won't bother to think about it" isn't a true skeptic and may be deserving of Pi's scorn, but one who says "I think I believe in God, but it's hard to know for sure, and there are so many different ideas out there, I need to look at this more carefully" is in a far better position than someone who says "I know there is no God, I believe it with all my being, and I never need to think on the matter again, only to repeat my belief." Or think of a smaller situation. In my office, there are some people who always go to lunch at the exact same place because they like the food there; they believe it is the best. Others regularly try new places they've never been before. Sometimes the latter group pays too much or has food they don't like, but I think that in the long run, their nondogmatic approach to good food earns far greater dividends than those who find something they like and stick with it.
Finally, I don't buy the underlying idea that having belief is more important than the object of that belief. There are all sorts of things one can believe in - that Jesus Christ is the risen Son of God, that a Flying Spaghetti Monster created the world, that a secret society has controlled human history for millennium, that the United States is the best nation in the world, that the white Aryan race is superior to all others. Are we really supposed to admire racists for the strength of their belief? I think some things are better to believe in because they have more truth; other things are better to believe in because that belief leads to good outcomes. Belief doesn't exist in a vacuum, it controls our entire worldview and may be the single greatest component in determining our actions. Returning to BG, the Commander's proposed belief has determined a course of action for the survivors, one that will propel them to a lifetime of endless movement. What if, instead, he had instilled in them a belief that humanity was cruelly treated and must seek revenge? Then they would find a suitable location for a base and begin constructing weapons. Or what if the belief was that they were safe from the Cylons and could begin anew? Then they would look for a suitable planet and reestablish civilization. My point is, it's foolish to deny that faith has consequences, and while it's true that providing a faith can move one to action, a bad faith can be far worse than no faith at all.
Enough of that. On to another quibble I have with a lot of popular entertainment that was manifested in the BG pilot: the idea that networked computers are inherently vulnerable to malicious operations. This is a relatively minor plot point in BG, but is the same idea that is more excitedly explored in sci-fi movies like The Matrix and the Terminator movies. The scenario that keeps being recycled is that all computers and machines and robots are connected to the Internet, then the Internet becomes corrupted, so all machines everywhere are taken over.
As a programmer, this is one of those things that sort of irritates me. Not because there isn't a threat, but that the threat they describe isn't exactly the real one, and they gloss over the reason why there is a threat. Just thought I'd write about it a little. Feel free to skip over this if you've taken a networking course because you've already figured all this out.
When two computers communicate (and remember, a computer these days is basically anything with a chip, so in a decade this will include our refrigerators and other stuff), they are just sending pulses to each other. In order to do something useful, they need to be able to interpret these pulses. This is handled through what is called a "protocol stack". Suppose I want to send you an IM saying "Hi". In this case, the payload is the binary code that translates as "Hi". Now, if just "Hi" arrived at your computer, it wouldn't know what to do with it; so we use an application-layer protocol which adds extra data to the payload which translates as "This message should be delivered to port 67823", which is (theoretically) the port where your messaging program is listening for messages.
But how does my computer know where your computer is? If we're both on the Internet, I can use a transport-layer protocol which adds some extra data to the payload, saying "Deliver this to IP address 22.214.171.124", which is your IP address. Other computers can understand how to direct this message even if they don't know the precise location of your computer.
Anyways, that should give you a basic idea of what's going on. Ultimately we have two applications that are communicating, with extra information that facilitates their communication. The "network" is the connective tissue that joins computers together; the "nodes" are the computers themselves. Now, without the protocols, all you have is pulses being transmitted between nodes; the only way those pulses mean something is if the receiving computer has a program that can receive these pulses, interpret them, and then act based on what the pulses say.
What I'm getting at is that the network itself is not the problem or the source of a threat, any more than the postal service was responsible for the Unabomber. Even if al Qaeda were to "take over" the Pentagon's network, they wouldn't be able to do anything with government computers, UNLESS the computers were designed to respond in a certain way to information al Qaeda sent them.
Too often, the media portrays networks as being push-oriented, with any given node able to act on another. This is analogous to the way humans interact, but is simply not how computers work; it always takes two to tango, and prior to any interaction, the computers must both be able to understand a protocol and act on it.
So, returning to BG, the problem isn't that navigation systems were networked; the problem was that the navigation PROGRAM was corrupt. The solution to the problem was not the commander's, which isolates his ship from the network; the solution is to fix the program. I felt frustrated watching this because they got so close to showing how security really works, but the commander's jargon puts the blame in entirely the wrong place.
Moving on to some real-world examples, the reason why there was an explosion of viruses in the mid to late 90's wasn't because so many more people went online; it was because so many more people went online with Microsoft operating systems that contained programs which would do pretty much anything anyone told them to. Early examples were the most egregrious; if you downloaded an email with a script file that said, "Run me automatically, and mail all this guy's .doc files to this email address", it would. And to this day they're still doing it; for over a year Microsoft left unpatched a feature that allowed any computer to take control of yours through their "PC Sharing" program.
Fortunately, people have been catching on that bad viruses and security breaches aren't an inherent problem in any network. Unix and Apple have been almost entirely immune. In Apple's case, it's because the company very narrowly defines and promotes a handful of methods available for interaction, as opposed to Microsoft's shotgun approach to creating as many "features" as possible. Unix/Linux offers far more open channels than even Windows, but it benefits from a strong tradition of peer reviewed programs and academic scrutiny of protocols, as opposed to Windows' notoriously closed and inscrutable offerings.
Now, I don't want to give the impression that we don't need to worry about massive crippling threats being delivered through the Internet, only to clarify that such threats need to be recognized as the fault of individual operating systems and programs. We need to change our overall mindset towards security, a shift that's been underway for a while in the Unix world but is only slowly catching on elsewhere. Remember, when ARPANET was first created, only a handful of universities were able to access it. Security just wasn't that big of an issue; nothing too critical was going on, and you could control physical access to the dozen or so computers that it consisted of. Because of this, security wasn't the overriding concern of early programming; rather, people focused on reliability and speed and robustness. With the explosion of nodes in the network, though, the odds of there being a malicious person somewhere trying to get on your computer have skyrocketed, and security should now be the first thought, both for new programs being developed and as we re-examine legacy ones.
The most obvious shift that needs to happen is the default security policy. For much of history, if you didn't do anything to your computer when you got it, that policy was "default allow." In other words, if another computer wanted to say something to you, unless you had specifically instructed a firewall or something to block them, it would be allowed to talk. Or take executables: unless your antivirus program knew that this specific file was a virus, it would let you run it. That meant that people were caught in an endless cycle of patching and updating; as new vulnerabilities were discovered and new viruses written, they would need to update their firewall and antivirus, hoping that they were caught up to the threats. But it was always a game of catch-up, because the people opening new exploits were leading the race.
The alternative is "default deny," which forbids anything to happen unless it has been specifically approved. We're starting to take a few halting steps in this direction in Windows, and it has been standard on Unix for a decade now. This philosophy is just the opposite: unless a program has been specifically authorized to do what it is doing, deny it. This makes life harder for programmers (part of the reason why this model has taken so long to catch on), but pays unbelievable dividends in security. Now, rather than leading the field in exploits, malicious coders are tied down to a finite number of possible openings, which have hopefully been vetted against infiltration.
Like all good ideas, default deny is being corrupted by Microsoft. You may have heard of their "trusted computing platform," an end-to-end system that will link together hardware, operating system and software and only run if all elements have been approved. This is incredibly dangerous, not because the underlying philosophy is bad (more scrutiny is better), but because the model is being narrowly defined by parties with vested interests in the outcomes. We will get the worst of both worlds: corporations with billions in revenue will buy market entry for their unsecure products, and talented open-source programmers with airtight code but no funding will be shut out. It will be a system that looks secure but isn't, and worst of all, in a uniformly designed ecosystem with all nodes speaking the same protocols, any virus that is released will spread with lightning speed and infect all nodes.
What needs to happen instead? We must convene a working group of talented, impartial computer scientists to design the framework and protocols of a trusted computing system. This will take a while, and Microsoft won't get that first quarter profit boost they're hoping for, but when the best minds of the academy have hammered this thing out and it has been peer reviewed, the system they describe will be as close to perfection as we can get. Producers will then be able to create trusted products, which will be compared against the authoritative protocol and given the seal of approval if it passes. At the end of the day, consumers can just look for the label and know that what they buy is secure. We'll get more variety in the marketplace, a more robust computing ecosystem, and will ultimately help even the likes of Microsoft by removing the stigma of unsecurity they have acquired.
The take-home lesson: secure computing IS possible, the nightmare scenarios of Battlestar Galactica and The Matrix and The Terminator don't need to happen, but for us to get there, we programmers need to put security concerns first, and industry leaders need to stop favoring profits over security.
END OF SPOILERS
I really enjoyed watching Battlestar Galactica. The mixture of exciting fight scenes, dramatic confrontations, and philosophical musings are what sells me on science fiction; without those elements it just wouldn't be as much fun or so interesting to watch.
For most of my life I've been a fantasy guy, but before I descended into the world of wizards and warriors I was a hard-core science fiction buff. I devoured Asimov and Bradley, loved Lewis's Space Trilogy, became enamored with Ender's Game (even enduring the first two sequels), was one of the only people to survive all the way until "God Emperor of Dune", and read far more marginal authors whose names have escaped me. I just couldn't get enough. Like a lot of young boys I fantasized about travelling in outer space, meeting strange alien races and playing with cool technology.
Most of my sci-fi interaction was with books, but I enjoyed other media as well. The Star Wars movies were an early influence; I was forbidden from seeing the early movie until I reached a certain age (I no longer remember what it was), and of course making something forbidden just increases its glamour. I loved the whole trilogy. I liked the other, cornier movies I occasionally saw, like Short Circuit. The Star Trek movies didn't grip me quite as much as Star Wars but were still enjoyable; my favorite was number four ("The Voyage Home"), with number six ("The Undiscovered Country") in second place. I don't remember ever watching any of the original Star Trek series, except for "The Trouble With Tribbles" during a New Year's Eve party; on the other hand, I was a big fan of The Next Generation, and probably saw most of the episodes at some point during syndication.
Once I discovered Tolkien there was no going back, and my sci-fi reading almost entirely dried up. A lot of it was good books driven out by bad; in retrospect I wish I had spent more time with Asimov and less time with David Eddings. Once I left I didn't really look back; I loved fantasy with a passion and don't remember really feeling the urge to return to the sci-fi world. I occasionally dip back in but it's usually for some specific authors on the fringe of sci-fi: Kurt Vonnegut, Robert Heinlein (Starship Troopers and Stranger in a Strange Land), Neal Stephenson, William Gibson, maybe one or two others.
Outside of books, though, I continued to enjoy sci-fi. It's no secret that there are far more sci-fi movies than fantasy movies, and of generally higher caliber. Particularly once I graduated to the PG-13/R realm of movies I was regularly impressed with the offerings. Many of my all-time favorite movies (Brazil, Blade Runner, Twelve Monkeys, Serenity, even arguably Eternal Sunshine of the Spotless Mind) are sci-fi, and I love them for the same reason I loved reading sci-fi books: adventure, cool technology, and a veneer of philosophy. Sci-fi creates improbable situations that are perfect for exploring whatever issues may concern the filmmaker, be they racism, authority, memory, death, loyalty, whatever.
And a TV series can steal my heart, as the sublime Firefly did. TV is better at some things than movies, and while they don't always have the fireworks you can see on the big screen, their extra-long canvas provides time to flesh out characters, deal with more dramatic themes, and do some good old-fashioned relationship plays. I can't think of any series between ST:TNG and Firefly that really held my attention, but from a distance I admired Babylon 5 and ST:DS9 for the way they bravely sloughed off exploration and instead focused inwards. Most sci-fi is ultimately about the characters anyways, and it seemed like these series could just focus on that without making pretenses about strange new worlds.
Oh, and let's not forget anime. I'm far from well-versed in the genre, but I like what I've seen so far. Cowboy Bebop and The Irresponsible Captain Tyler are wonderful, slapsticky adventure-comedy-sci-fi shows that
play with convention and reward viewers for their effort. Neon Genesis Evangelion is one of the most subversive works I've seen in any medium, a dark philosophical treatise concealed inside a show about fighting robots. Serial Experiments Lain may be my all-time favorite anime, and I think that considering the subject matter ("The Wired" network, virtual reality games, neural networks, etc.) it's amazing that it doesn't really feel like sci-fi. In some ways anime feels like a beast apart from the other channels of sci-fi, its concerns and tropes are different, but feel no less rewarding.
Of course, there are science fiction video games as well. Here's another place where I started out rooted in sci-fi but have since shifted to fantasy. It's been here almost from the beginning; anyone who has played the Hitchhiker's Guide to the Galaxy text adventure has experienced a hilarious slice of history. Sierra's Space Quest games were another spoofy blast. There are dozens of Star Wars games but I've never played any of them for a long time; same deal with Star Trek. In some ways the video game world seems the opposite of the movie world: there are more fantasy options to choose from, and they're generally of higher caliber. Oh, but let's not forget Half-Life (and, for that matter, most other FPSs): the pull of that game was incredible, a fascinating and sickening descent into annihilation. Deus Ex was a Chris Killer, combining cool futuristic stuff with the Illuminati. And you have those weird fantasy/sci-fi hybrids like Final Fantasy VII, which I enjoy greatly but have trouble acknowledging as "real" sci-fi. Science fiction is chronically underrepresented in the RPG market where I spend most of my time; one of these days I need to get "Fallout," about which I have heard only good things. There are plenty of other games I've played at one time or another (Starcraft, Enemy Nations, Worlds of Ultima), but few that I have stuck with long enough to beat or master.
These days, I always welcome quality new science fiction experiences, in whatever medium, but no longer actively seek them out as I once did. I rely to a huge degree on the advice of friends and general chatter online; the former is what led me to Battlestar Galactica, and the latter showed me Firefly. I'm no longer so interested in the "genre fiction" that makes up a sizeable chunk of this market, but have a keen appreciation for those who use sci-fi settings to do something good and interesting. As with any form with its own conventions and rules, it's easy for a work to get trapped by the "requirements" of the genre, so I have extra admiration for those who are able to subvert the genre's customs, as Firefly did, or transcend them, as the new Battlestar Galactica appears to be doing.