What is ShingleBot?

A pseudo-natural language generator.

Why ShingleBot?

Because n-grams of words are called shingles.

What does it do?

Creates random sentences. You can't ask questions to it (the answer would be random anyway) but it can help you finding things to do by using the "Ask ShingleBot" button.

Do I have the chance of discovering an unknown truth about the universe in one of the random sentences?

With enough clicks, most certainly.

How does it work?

By generating a pseudo-random number of words using rejection-sampling Monte Carlo on a Pareto-distributed frequency list of 5000 words from the 450-million word Corpus of Contemporary American English, with the addition of a few grammar rules.

You know that the JS's math.random is flawed as it is browser-dependent and it usually uses a LCG with a very small period?

The code is in Python CGI.

You still use CGI? What about mod_wsgi?

That can be arranged, with enough donations. Scroll at the bottom of the page.

Is this website useful at all?


Shall I visit it everyday and challenge myself and my friends to do whatever it tells me to do?


I have shingles and I'm confused

No problem.

Does the dictionary have the word shingle in it?


The grammar is not perfect.

I know.

I was insulted by the Bot.

I apologize. It can be rude sometimes.

Why not more words?

Because 5000 words cover 88.7% of the Corpus. But mainly because a bigger list of words costs money. Donations link towards the bottom of the page.

Why are you not using a Markov chain text generator?

Because that requires training and my laptop has been a bit out of shape lately.

Are you also the creator of the amazing Library of Words?


Take my money already.



Any more questions?