We're lazy programmers, and we spend too much time on IRC and writing documentation and not enough coding. So much time wasted with all this thinking -- so we wrote a program to do it for us.
What it does
Using Markov chains, the ` key (right above tab) will autocomplete the current text wherever you are, whether it be vim, WeeChat, or your Python REPL. You can also use rlwrap to add Markov completion to virtually any program.
Use Shift+Ctrl+` to enter a normal `, and type Ctrl-O to cycle through Markov suggestions.
How we built it
We implemented a Markov chain system in C++ and hooked into it from a variety of platforms, patching several different high-profile projects to integrate with our system.
Challenges we ran into
readline is a mess. I pity the souls who have to maintain this piece of software.
Accomplishments that we're proud of
What we learned
Never, ever, ever, open the source code for GNU readline. Ever.
What's next for markov-complete.
Automatically train it on previous text, of course! Meta-markov!