External Compliments list limitations and randomness
I have an external file that is working but I have an issue. With a smaller compliments (70) list it works fine but does not seem to be that random, I will see the same ones repeated only a few compliments after they first appear. I checked the method of randomization and it seems to be based on random.math which claims to be random. When i try to use a larger list (125) it seems to break it so I am thinking there is a maximum size list i can have. Any ideas?
@RE_Magic_Mirror AFAIK, there is a bug in the handling of some categories of compliments. As a result, the list of possible compliments regulary gets extended by copies of the same compliment. For reference, see here.
So, the random number generator works fine, it just picks a random compliment from a list with multiple copies of some compliments and therefore the probability is not uniformly distributed anymore.
However, -as mentioned in the thread above- this problem is fixed in the develop branch. So, if you want it to work correctly, you can switch to the develop branch.
@Anhalter42 I read that thread but i thought it didn’t apply to me because i am using standard compliments morning, afternoon and evening. Nothing about weather. And not because i dont know, but because i want to check and make sure you know…
What does “You can switch to develop branch by git checkout develop in the MagicMirror directory.” mean to you?
Thank you for responding.
@RE_Magic_Mirror If you don’t use ‘anytime’ or any of the weather-based options, then this problem indeed doesn’t apply to you. However, it’s not much effort to make, so I suggest you test using the develop branch anyway.
The statement you quoted just means, that you can switch to the develop branch by navigating into the MagicMirror main directory and then using the command
git checkout develop(and
Have you applied statistical hypothesis tests? Human brains (=intuition) are bad at estimating probabilities, it might be just correct as it is?! I’ve used a file with around 15 compliments and for me it seems to work fine. I can’t think of a reason, why the probability distribution should change with numbers of entries…
@Anhalter42 I knew this guy and he was having a problem with git checkout develop because when he did that it said error: your local changes to compliments.js would be overwritten and then it said Aborting.
@RE_Magic_Mirror “this guy” probably made some changes to the compliments.js file. If you didn’t do any changes to the source code itself, then changing branches (like updating MM) should be a piece of cake. You don’t lose anything by trying. Either it doesn’t work and doesn’t change anything (“aborting”) or you can change back at anytime (
git checkout master,
Btw, what do you mean by “seems to break it” when talking about the larger list?
@Anhalter42 I think the only changes to the compliments.js would be the location of the remote file, I think there was just the issue because it automatically aborted git checkout master because of that error. But putting a stock compliments.js file in the directory and then git checkout master, get pull gave an already updated message.
What I meant is I when i used the full size list it would only display the stock compliments but reduced list in the remote file work.
I basically debugged the problem by adding compliments to the remote file in chunks until I was satisfied with the amount. It seems to be working now with about 115 compliments per morning, afternoon, evening. I think i am going to call that a victory and move on to the next project. PIR alexa and sound reactive led.
Thank you for your help.
@RE_Magic_Mirror maybe there was a comma missing somewhere in the large amount of lines (sometimes not easy to spot). Good to hear you got it to work properly.
One more note: you should never need to do changes to compliments.js (or any other source code file). Like for (nearly) every module, it should be sufficient to change the config file (and sometimes extra remote files like for example the compliments file). In particular, the location of the external compliments file should be defined in the config file.
@Anhalter42 one thing that has come up, now at the top center of the MM screen a notification stating that there is a magicmirror update and I am 12 comments behind on the develop branch. What do I need to do to either stay updated or should i just (git checkout master, git pull)?
@RE_Magic_Mirror Well…it depends.
- If switching to develop branch fixed your problem, then you want to stay at develop until the changes are merged into the master branch. Until then, you can either update (see https://github.com/MichMich/MagicMirror#updating-your-magicmirror) or decide to ignore updates. If you don’t want to see the notification, you have to disable the update notification module.
- If it did not help with your problem, then you are usually better off using the master branch, so I would suggest to switch back to master.