7 2
Contact Author Sign in to rate

(Legacy) DeFuzz: Quick Effective Trimming

<10kB. Updated 2020-04-09.
The author has shared 12 other item(s).


About: This is a fringe addon, useless to most users. Please do not hoard addons you do not use. It trims or removes the "fuzz" in Anki's scheduling.
After you select an ease button, Anki also applies a small amount of random “fuzz” to prevent cards that were introduced at the same time and given the same ratings from sticking together and always coming up for review on the same day. This fuzz does not appear on the interval buttons, so if you’re noticing a slight discrepancy between what you select and the intervals your cards actually get, this is probably the cause.
https://apps.ankiweb.net/docs/manual.html#what-spaced-repetition-algorithm-does-anki-use License: This addon is a labor of love and licensed under the GPL. If you find it useful, consider paying something forward by supporting some charitable endeavors. Suggestions: https://iccf-holland.org/ https://www.vim.org/sponsor/index.php Derivative works or forks published with no added values should also include the above statement. .


As add-ons are programs downloaded from the internet, they are potentially malicious. You should only download add-ons you trust.

Supported Anki versions:

To download this add-on, please copy and paste the following code into Anki 2.1:


If you were linked to this page from the internet, please open Anki on your computer, go to the Tools menu and then Add-ons>Browse & Install to paste in the code.

This add-on previously supported Anki 2.0. You can download the last version supporting 2.0 here. As Anki 2.0 has been discontinued, no support is available for this version.

All Anki 2.1.x Add-Ons Contact Author


on 1614067888
I rate this as bad because of the bad attitude of the developer. He has done an amazing job, but he spoils it completely by his harsh unpolite behaviour towards the users of his addon.
And the user Alek is completely right. The addon lacks clarification and explanation. The author has done the big effort and fails in the easy task. And (nearly) insulting his users doesn't change the fact that the documentation of the addon is very defective. So he has done an addon to be used only by 1% of people or less. Did he do it on purpose, following some elitist thinking, or is it just a way to try to autojustify the fact that the addon is lacking just some minimum documentation to make it accesible to most users?
You make something for the community and offer it GPL, but then you mistreat and (nearly) insult most of that community, does it make any sense?
And Janus was a Roman god, not Greek. And you can't even argue that you used his Roman name by confusion, because this Roman god had no Greek equivalent, exceptionally. That's an anecdote, but it shows the risk of calling someone (technologically) ignorant, and then show that in other fields you can be ignorant as well.
You can be the best developer on Earth, but politeness is free. You spoil all your effort that way! Pity!

I would be happy to provide my feedback, but the last thing I want is to distract you, so I will comply with your request: "I don't need your distraction".

Dude, you really have a problem! Timestamp? WTF?

My name is not Alek, dude!
Alek is the first user you misbehaved with previously, not me.
Comment from author before post was edited
These addons are not advertised and the users who find them were referred to them when they have a problem specific to fuzz. So most of them already understood what the addon does. The mass majority of users do not need them. It's not for the 1%, it's for the 0.001%.

The previous reviewer clearly does not have a legit use for this addon and fails to describe his use case for such a tool. While it is nice to see more interest in these algorithms, the vast majority of these users have never read the Anki manual and are hopeful that some magical addon will save them from review overload. That's too much noise. I guess that guy caught me on a bad day? (And it's always the same group of users.)

How about you? What is the reason you're using this addon? Or do you think this is a forum to start a discussion? I like to understand how people are tweaking these settings, but I'm at a good point where I'm happy with my own workflow and don't need your distraction. Sometimes it's hard to EL5 certain things, and I do have the Wiki enabled for others to help out with documentation. These feedbacks are a terrible way to file bug reports or to startup a conversation.

P.S. My Greek/Roman cards needed an update. I found out after I posted the previous message. It would be silly to trigger an email alert to the user just to update the post. Which is why most of us hate starting a discussion on ankiweb because of all these restrictions and associated problems. https://i.imgur.com/mCo8sPn.png

Nice try Aleks. Has it occur to you that "Janus" and "distraction" might be keywords inserted to bait and identify you in cases of multiple accounts? And that thumbup below is also you trolling for help because the timestamp is too close for such a low traffic addon.

What happened to ending your arguments with "Pity!"?
You're breaking character Alek...

Anyways, this addon will stop working with the coming changes. So writing the manual is not necessary. I'm also racking my brain trying to simplifying these abstract ideas in ways others could understand it. And that's hard without someone who's also interested in the algo giving me live-feedback on which section needs clarification. My attention and interest are on other projects now. The extra pressure is uncalled for given that this is open source and unpaid work.

For the above reasons, as this addon breaks, I will no longer support it. There are around 15-25 users using this, please drop me a line on github if anyone's interested in taking over maintenance.
on 1613913102
Where's the reviewer? i have done as the instructions but it says to run it on reviewer.


Edit: Thanks. And i'm not that guy above loll, take care man.
Comment from author
That would be the place where you grade your cards... You need to run the tests during review as it uses the card data to generate samples.

re2edit: I know ;-)
on 1586678169
This addon looks like it would work and has had a lot of time put into it, but it is very, very hard to figure out how to use it. The only description on how to use your addon is in the 3 annotated screenshots you provide, but they contain mostly useless red circles.

To be clear, my issue isn't with your "the anki interval pipeline" section, that part is fine. It's with the lack of description in the actual usage of your mod.

Here are a few examples of where your screenshots fall short:
+ What does "IVL" stand for? I think it means "interval", but I'm unsure. It is also not obvious what the "at least" column and the other column does.
+The first screen shot has a circle around "4 days, 5%" saying "10%, 8 days". This makes no intuitive sense, seeing how there is no 8 or 10 in the circle, nor can you get 8 or 10 from any arithmetic of 4 and 5.
+ The second screenshot. What does "sticky" mean?
+ The third screenshot is a complete mystery. What is slackermemo-19? (I know what supermemo-18 is, is that what you meant?). The first line seems to change the interval 1 to the an interval between 6-8, which doesn't make any sense.
+ It took me a few moments before I realized what the parameters for mw.defuzz_test() meant. A simple sentence stating it's the range of ivls to print would go a long way.

The author's comment has cleared up a bit of confusion, but let me explain further what the fields mean in the options menu.

For all rows expect IVL=1 and IVL=2, the right column is the +-percentage applied to a given interval. Eg, if the interval of interest is 15, and the IVL<21 row has 25% in the right column, the fuzz range would be 15*0.85 to 15*1.15, or 13 to 17 days (rounded)

For all rows expect IVL=1 and IVL=2, the left column is a guaranteed minimum range. The left column takes priority over the right column if adding/subtracting the left's value would result in a bigger range (expect if right column is 0, in which case the range is always 0). Eg, if the left column of the IVL<21 row had 4 in it, an interval of 15 would result in a range of 11 to 19 days (ie ±4). If the right column had 25%, the range 11 to 19 would still occur since 11 to 19 is bigger than 13 to 17

For the rows IVL=1 and IVL=2, the two columns are simply the range. A left column of 2 and right column of 4 would result in the range of 2 to 4.
Comment from author
I wouldn't worry too much about these. Normal users wouldn't have a use for such an addon. What works for one person doesn't work for everyone. What is apparent to me may not be true for you. Good UI design takes time, but no amount of tweaking or addon hoarding will solve your issue if you don't focus on your reviews.

And try to read the anki manual. Not knowing some of these key terminologies indicate you have not read or ankify the anki manual. So here comes the choo choo train:
IVL is short for card.ivl, it is the attribute used by Anki for intervals thoughout the Anki source code and the anki manual.

Fuzz is doubled, like Janus (the greek god), it checks backward and forwards. 4 days is in a range of 8 days. 5% is in a range of 10%.

Sticky or sticky cards, when two or more cards you've reviewed today, graded as good, and then reviewed again and again with the same exact review pattern.

Slackermemo-19 are some of the algorithms I was testing at the time I took the screenshots. Pun intended.

Reply to your edit:
Your explanation was just as confusing. And you failed to explain why someone in your condition would need such an addon. Most users are perfectly fine with anki's defaults. One should take medicine only when there is a valid reason for it. Addon hoarding will only result in addon conflicts. Only 1% of advanced anki users would need this.

And stop requesting changes if you don't actually plan to use the addons, Alek!!! I rather spend my free weekends with my family. Go fix up IRE and VSA if you're bored.
on 1583333967
on 1580119519
Excelente !!!
on 1567303352
on 1565988489
very good
on 1549954563
How can we check our intervals (i.e. perform the console test as in the description)?
Comment from author
Console test is only for debugging. You can use it to test your interval range to make sure it is capped. To use the Anki debugger, pressing CTRL+SHIFT+: (Colon). Then type in the code mw.defuzz_test(1,20) same as in the screenshots. Follow by CTRL+ENTER. Instruction for using the anki debugger is in the Anki manuals which everyone should read at least three time.
on 1546701727
thank you lovac42.