Ouija.cpp -

$ ./ouija.cpp Initializing spirit board... [DONE] Ask your question: > Who is watching me? | A | B | C | D | E | F | G | | H | I | J | K | L | M | N | | O | P | Q | R | S | T | U | | V | W | X | Y | Z | 1 | 2 | [ YES ] [ NO ] [ GOODBYE ]

There is a specific kind of chill that runs down your spine when a compiler throws an error you cannot explain. It is the feeling of touching something just beyond the edge of human logic.

-- [Your Name] Senior Exorcist / C++ Developer ouija.cpp

/* * WARNING: This software is for entertainment purposes only. * The author is not responsible for: * - Unexplained RAM usage * - Noises coming from your speakers at 3:00 AM * - Your roommate finding you whispering "std::vector" in your sleep * - Actual demonic possession (If you debug using printf, you're already possessed) */ You need g++ , ncurses (for the drifting cursor effect), and a strong constitution.

To mimic this, ouija.cpp reads your . If you consistently press [SPACE] 0.3 seconds after the cursor lands on a letter, the program assumes you are "helping" it. It punishes you by spelling gibberish backward. A Sample Session Here is what a user sees when they run ./ouija.out : It is the feeling of touching something just

User pressed SPACE. Constructing: "YOUR SHADOW."

Cursor drifting... [ > Y ] [ o ] [ u ] [ r ] [ > S ] [ h ] [ a ] [ d ] [ > o ] [ w ]. To mimic this, ouija

It also printed "The answer is 42" when I asked for the meaning of life, which tells me one of two things: either I have successfully created an AI with a sense of humor, or I have a very boring ghost who likes Douglas Adams.

ouija.cpp