Looks like the Great Firewall or something like it is preventing you from completely loading www.skritter.com because it is hosted on Google App Engine, which is periodically blocked. Try instead our mirror:
This might also be caused by an internet filter, such as SafeEyes. If you have such a filter installed, try adding appspot.com to the list of allowed domains.
This document describes what a client needs to know in order to calculate the proper new intervals when reviewing Items.
Before you can calculate the correct scheduling interval, you'll need to download the SRS Configuration objects. These will give you the starting values for the given User.
If the Item is new, the first interval is calculated this way:
If the item is not new, then the algorithm constructs a factor, and the new interval is the old interval times this factor. The base factors are:
There are four factors to choose from for the rightFactors and wrongFactors properties in the SRS Configuration. The factor is chosen from the list based on which range the old interval is in. The ranges are:
# given score and the reviewed Item, get the initial interval or factor config = getConfigForPart(item.part) # see SRS Config if not item.last: if score == 1: return config.initialWrongInterval interval = config.initialRightInterval if score == 2: interval /= 5 if score == 4: interval *= 4 return interval # the item is not new, so determine the factor if score == 2: return 0.9 if score == 4: return 3.5 # the factor is one of the variable ones in the SRS Config object. factors_list = config.wrongFactors if score == 1 else config.rightFactors divisions = [1200, 18000, 691200] # 20 minutes, 5 hours, 8 days index = len([d for d in divisions if item.interval > d]) return factors_list[index]
assert factor > 1 factor -= 1 factor *= actual_interval / scheduled_interval factor += 1This adjustment is so that, if you study something too early and get it right, the scheduling doesn't get pushed forward very much, since the likelihood you would have gotten it right was high. But if you study something late, and you got it right anyway, the interval gets a boost.
factor *= 1.5The SRS can't tell when a new Item has been encountered before by the User. But if the User gets the Item correct each and every time when it first appears, it's a pretty safe bet the User is familiar with the word or character. This adjustment pushes the item out that much faster so the User can focus on Items she doesn't know.
pct_right = successes / reviews factor *= pct_right ** 0.1If an item has been gotten wrong the majority of the time, then clearly it's not sticking. This adjustment gives such Items a boost in frequency so they can be focused on more.
new_interval = old_interval * factor
random_adjustment = 0.925 + (random.random() * 0.15) # between 1.075 and 0.925. interval *= random_adjustment
Make sure the interval is within bounds based on the score. For maximum:
For minimum:
interval = min(interval, 604800 if score == 1 else 315569260) interval = max(interval, 300 if score == 2 else 30)