This project has moved and is read-only. For the latest updates, please go here.

Simpler dictionary

Jun 10, 2013 at 10:18 PM
I like the idea of this plugin, but I really am not a big fan of the grammatically correct part. But you wrote the plugin to meet your needs not mine ;).

However; is there any chance you can add the non-grammar option to the keepass plugin.

In the meantime I am trying to modify the default dictionary, but I am having issues.
I modified the dictionary.xml file to remove all non-noun items (and all the plural versions of the nouns) items from the dictionary but that doesn't work. It says my custom dictionary is loaded, but when I run the preview I still get words the <article> elements (as well as numbers and other things.

My next thought was to use your dictionary but choose a custom strength and change it to noun noun noun noun, and then just change the probabilities of all items except CommonNoun to 0, but that throws an error that says "Either true or false weighting must be positive".

Any ideas to make one or the other option work.

All I want is a phrase consisting of x number of nouns.
Jun 12, 2013 at 12:26 PM
I admire your persistence, if nothing else! Well done trying different things.

No, I won't add the non-grammar option to the keepass plugin. It's not really the purpose of the plugin.

But, it shouldn't be too hard to get something working for you. My guess is there's a bug of some sort loading your custom dictionary, which isn't very surprising given how often I test it! I don't have time right now to track it down, but if you can trace through the code in a debugger, you might be able to figure out what's going on.

Custom strength should work, you'll just need to set some of the probabilities to one. The error you're getting is saying that there are probabilities with two options where they're both zero. Eg: if you set NoAdjective = 0 and Adjective = 0 it doesn't know what to choose between (there are no options available). So go through and set these to 1 to get your sequence of nouns: CommonNoun, Singularity, NoArticle, NoNumber, NoAdjective, NoPreposition.

Unfortunately, I've just looked through the code and realised that won't work anyway. The code which builds the phrase assumes there's at least one verb. Adding a verb with factors of 1 for these may fix it: Present, NoAdverb, NoInterrogative, IntransitiveByNoNounClause. Of course, you'll need to add a verb back to your dictionary (possibly a dummy one).

But, as you can tell, you're really using the wrong tool for the job. You'd be much better off using Diceware or some other word list. I have no idea how experienced you are with coding, but you could pretty easily make your own KeePass plugin with one of the previously mentioned wordlists. You'd be welcome to use my code and dictionary.

Let me know how you get on