Markov chains are so much fun. They produce believable relevant text that ultimately makes no sense, which is basically a definition of comedy. And they're also super simple to understand and implement. I can have lots of fun without having to do any wild natural language processing.

I have to fully agree. The language-processing part is really simple (partly due to the really cool markovify library [1])

You may also like my older project [2] even though it is partly in German. I'm using Markov Chains for the titles and some custom regex-based language processing for the descriptions.

[1] https://github.com/jsvine/markovify/

[2] https://nonsense.lw1.at/