inebriated
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).