Exploit Programming: From Buffer Overflows to "Weird Machines" and Theory of Computation