10 Simple Rules To Follow In Case Your Software Becomes Self-Aware

happy face

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.)

    war games
  1. 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.


  2. 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.


  3. hal readin some lips
  4. 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.]


  5. deep thought deep in, well, thought
  6. Ensure that when faced with a tricky question, your software will either breakdown completely, or devote all of its resources for a long time.
  7. 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.

    [reference 1]

    [reference 2]

    angry bots
  8. 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.

  9. [reference]

    blade runner (do robots dream of electric sheep) -- pris
  10. 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.


  11. demon seed freaked me out when i saw it as a child
  12. Should your software become self-aware, don't let it near your girl.

    Fairly self-evident that one.

    [reference 1]

    [reference 2]

  13. scissor hands
  14. 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'.


  15. badly chosen picture best i could find
  16. Be safety conscious.

    Switch off all electrical equipment during thunder storms.


  17. 3 clear rules
  18. 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.


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)


My book "Choose Your First Product" is available now.

It gives you 4 easy steps to find and validate a humble product idea.

Learn more.

(By the way, I read every comment and often respond.)

Your comment, please?

Your Name
Your Url (optional)
Note: I may edit, reuse or delete your comment. Don't be mean.