There has been egregious misuse of the term deterministic in this shitty /g/ infiltrated thread, I'm going to leave a definition here to clarify for posterity.
Deterministic algorithms can be defined in terms of a state machine, if the machine is deterministic, its current state determines what its next state will be; its course through the set of states is predetermined.
Sufficient for non-determinism: Never Terminates: NO (States are still correctly determined)
Potentially interruptable: NO (The signal is considered input to the state machine)
Accepts user input: NO (as above)
Invokes undefined behavior: YES (Machine may draw numbers out of a hat to determine next state)
Invokes unspecified behavior: YES (The same machine may produce different output on identical runs)
Invokes implementation defined behavior: YES (In terms of the abstract machine, conforming implementations may produce different results on the same input)