This is just a silly little project to count all the occurrences of rude words in all the available Private Eye crossword puzzle clues and then make a word cloud out of the data.
I am reusing some serverless functions that I created for a different purpose. To prepare the word cloud data, I do the following:
- I grab a list of all the available puzzles using list-puzzles
- I then parse each puzzle using parse-puzzle
- I store each parsed puzzle in a MongoDB database
- I then search all the clues in all the puzzles for occurrences of words in badwords
- Finally, I save the list of words & counts in a JSON file
I then have a little React app that renders the word cloud using @visx/wordcloud.
Why is it called eye-say
? It's a play on the expression, "I say!", but following the Private Eye
pattern of naming things Eye
+ Something
e.g. EyePlayer
and then converted to follow normal package name conventions:
The "name" field contains your package's name, and must be lowercase and one word, and may contain hyphens and underscores.
If you like this sort of silliness, you might also enjoy the following: