What is this?

The inebriated project is a series of implementations of the same idea: a chatbot based on Markov chains. It works by splitting up input sentences into hunks of two words, storing connections between hunks in a database, and then traversing the database to generate a random nonsense sentence that usually has some comedic value.

See this StackOverflow post for a better explanation (or wikipedia).

Okay, so why did you do this?

Basically, it’s more interesting than writing “hello world” in order to get a feel for a new programming language. I initially wrote an implementation in Node.js, back when I did JavaScript and lurked a lot on IRC, and then decided to implement the same thing in C (which was buggy and broke a lot, because it was C), in C++ (which worked okay, but was no fun, because it was C++), and then in Rust (which convinced me to start doing stuff in Rust).

Source code