This is using an n-gram model to predict your next move. You may find yourself being more predictable then you believed possible. Source code on GitHub.