10 Simple Rules To Follow In Case Your Software Becomes Self-Aware
Well, It turns out that the 80's geek classic, 'War Games' has inspired a sequel, the film
'War Games: the dead code' was released in 2008. Though, perhaps the correct term is 'foisted.'
WG: TDC is such a deliberately bad film that you can only begin to enjoy it once you grok that it's a comedic satire.
For the first hour and a half I assumed it was trying to be a cool, teenage-targetted tech-savvy thriller, like the original. This had me wincing in agony at every bad line and predictable twist. Only then did I realize it was all a joke: a parody of the teenage-targetted tech-savvy thriller. A kind of 'scary-movie' style satire of the entire genre. Hopefully?
Well, I've just finished watching it and it's inspired me to share a few helpful tips for up and coming programmers.
As one of today's young parents, I can tell you what concerns us. Not swine flu, or global economic disasters and so forth. What really keeps us terrified at night is a desperate hope that we, as parents, take all of the right steps to ensure that our sons and daughters grow up to be thoughtful, well-meaning, much loved people. In short: How Can We Be Certain Our Children Will Become Programmers.
And a lot of hard work (err, blog posts) have gone into that endeavour, but as usual I like to look beyond the obvious problem, and into the deeper realms or possibility:
If you're child does (thank god!) grow up to be a Programmer -- what simple lessons can you provide to ensure they don't inadvertently destroy the planet?
Programming is a powerful profession, and as you well know, global apocalypse is but a keystroke away. We want to give our kids the right tips to ward off such misadventures -- to learn from our wisdom, as it were.
Fortunately, like all global catastrophes, this one can be averted with another 3 minute guide from secretGeek.
Please, sit back, breath a deep sigh of relief for the salvation of your measly planet, and drink deep of this crucial lesson to imprint upon your younglings:
10 Simple Rules To Follow Incase Your Software Becomes Self-Aware
(I have included links to information about Government-Approved documentary films on each of these points. I only pray you heed my warnings and enforce these lessons before we are all routinely destroyed.)
- Teach your software that war is futile.
If, after pre-supposing a minimal competency level in your opponent, a game's inevitable state upon termination is mutually-assured destruction, then the only winning move is not to play.
- Prepare a virus that can be used to remotely shut down the program from any terminal in the world.
My personal contiuous integration suite won't let me commit any code until I can demonstrate 100% code-coverage with remote-shutdown killer viruses.
- Don't discuss switching off the computer if you are, in fact, being observed by the computer.
This is s.o.p. (...that's standard operating practice, if you're not a super-spy type like me, who knows all the jargon). Never discuss shutting down your software until you have found a locked, sound-proof chamber, where the computer system cannot hear your discussion. Also, in case there is a remote possibility that your software has learnt to read lips, let me suggest you cover your mouth.
Simple, every day precautions.
[side note: a parody of this famous Kubrick scene was included in 'the dead code'. nice.]
- Ensure that when faced with a tricky question, your software will either breakdown completely, or devote all of its resources for a long time.
- In case of emergency, have time machine handy.
You may need to send someone back in time to protect the mother of the person who leads the rebellion against the self-aware software in the future.
- Don't make your self-aware machine indistinguishable from a human.
Maybe you're not very creative, and don't have the time to give your machine a stunningly inventive new exterior. So you fall into the tired old pattern of mimicking the human body.
That way, badness lies.
- Should your software become self-aware, don't let it near your girl.
Fairly self-evident that one.
- If applying temporary appendages to a self-aware robot, be considerate of your legislation governing public safety.
Scissors for example, are not recommended, even if they are 'just for now'.
- Be safety conscious.
Switch off all electrical equipment during thunder storms.
- Use a rules engine.
Hardwire 3 clear and unambiguous rules into the program's positronic brain that will ensure all humans are safe from harm.
Grandiose, open-ended philosophical questions tend to have a compute time in the order of millions of years.
Similarly, when given a dilemma (e.g. "This sentence contains a lie") a self-aware program will tend to explode spectacularly. A competent programmer will keep a few of these handy.
Hopefully, if you follow my advice, we can avoid any more major disasters. But please: always be nice to your inventions. Hopefully then, should the unthinkable happen, your self-aware creations will take pity on us and keep us barely alive in liquid chambers so they can gorge on our brains.[reference]
Oh, and if you don't believe in self-aware robots... (cough cough) here's some i prepared earlier.
See also (important information in similar vein)
- server in the movies
- The Grand List of Overused Science Fiction Cliches
- Some thoughts on the coming Robot Apocalypse
- Pure Evil: The 12 most evil robots of all time and how to thwart them
My book "Choose Your First Product" is available now.
It gives you 4 easy steps to find and validate a humble product idea.