Cool, let me know the best you get (and submit a PR with your parallel patch if you want).
You can tweak the range of the number of generated characters, the length of Markov chains, the minimum main body clauses, etc. With my original config it should give you a valid program every hour~few hours or so.
Modified it a bit to run in parallel. I guess I'll leave it on for couple hours and see if it gets anywhere.
current output: