An R package for generating pseudonyms that are delightful and easy to remember. It creates adorable anonymous animals like the Likeable Leech and the Proud Chikadee.
Instead of the default (adjective animal) there should be an option to supply your own name parts when the ark is created. This would also allow tests that run more quickly.
If the user wants the ark to be reproducible without storing it somewhere, it should be enough to use a random seed.
It's possible for the user to do this themselves, but adding it as a function argument .random_seed = NULL might still be more convenient.
currently the only way to make alliterations is to create an ark with Ark$new(alliterate = TRUE). Then all pseudonyms from that Ark will be alliterations. It would be better to be able to temporarily request only alliterations from an existing Ark.
Alliterations are more fun and may be easier to remember. The pseudonymize() function should have an option to return only pseudonyms with alliterations.
Some of the adjectives or animals could be perceived as offensive or irritating when used in a more serious context. It would be nice to have a way to customize the word lists.
Perhaps a "family-friendly" word list should be provided?
Perhaps, the data should be made external (user-accessible), so that it can be modified (filtered) easily by the user?
It seems like every real package needs a hex sticker nowadays. How about a boat with some happy animals on it? SOmething friendly and silly. Abyss free font maybe?
Currently the Ark throws an error when more unique pseudonyms than possible are requested. The Error message is relatively generic. It should instead provide some guidance on why the problem occured and how to solve it.
Currently the shuffled index is stored as a a:n numerical vector, wasting a lot of space. One could use a combination of FIsher-Yates random sampling and run length encoding to save memory
Currently only 2-part names are possible because of how index is converted to parts in index_to_pseudonym()
For more flexibility and more possible pseudonyms, more name parts should be allowed.
Currently, the pseudonym name parts are shuffled using index_shuffled, which is integer vector, containing a permutation of the index (from 1 to max_length). This permutation is stored with the Ark object.
This is feasible as long as max_length isn't too large (i.e., the number of name parts is small). However, as max_length increases, the memory use will increase. Many of the stored indices may never be used.
A more efficient way to store the permutation could be a generator-like function, that yields a new (unique) random value from the range 1:max_length whenever one is requested.