Currently off topic names are used randomly, however randomness is pretty far from evenness. It would be nice to make use of names more evenly, to avoid recently used names being used multiple times.
One method would be to have a column tracking usage in the current iteration, a bool of True/False. used=False would be the default for new names. The pool of available names to pick from will be all tags with used=False. When a names it picked, it'll be given used=True. Once no names are returned for used=False, we just update the used column for all to be set to False again and start over again.
Currently off topic names are used randomly, however randomness is pretty far from evenness. It would be nice to make use of names more evenly, to avoid recently used names being used multiple times.
One method would be to have a column tracking usage in the current iteration, a bool of True/False.
used=Falsewould be the default for new names. The pool of available names to pick from will be all tags withused=False. When a names it picked, it'll be givenused=True. Once no names are returned forused=False, we just update the used column for all to be set to False again and start over again.