Nuke Reviews Command

xX-Lupa-Xx said...
Dusk252 said...Are people joking when they talk about restraining themselves from clicking the big red button? Since well, as much as it's nice to know this exists and all, I'd never actually consider using it.
 haha I'm joking. I can't speak for others but there was a moment... I was just like this is dangerous! I've been sitting at slightly over 2,000 reviews for a while and it was tempting for all of half a second but really who would it actually help? I'mma have to deal with those reviews eventually anyways. 
It's just rather fascinating that people are tinkering around under the hood and can come up with this kinda stuff! Like, super impressive. :)  
And plus... It's a big, shiny button.... How can we resist? :D
Gex said...
GreenWarrior said...


 This gif is adorable.
 
 A revolution is coming... And it's all Ethan's fault! ❤


Oh, I see. I was really just curious. I do find Ethan coming up with this stuff fun and fascinating but I couldn’t help but wonder if the reactions were fully genuine or not.

Some questions:

  1. Why is the [element type][element id][ []=0& ] part repeated?
  2. The progress request doesn’t differentiate between lesson and review elements, and is done for each set. Does that work on the basis that a element can only be in either the lesson OR review queue at any one time, so specification is unnecessary? (Or are the element IDs differentiated?)
  3. If you have a large queue, might this run into the GET URL character limit?
rosyatrandom said... Some questions:
  1. Why is the [element type][element id][ []=0& ] part repeated?
  2. The progress request doesn't differentiate between lesson and review elements, and is done for each set. Does that work on the basis that a element can only be in either the lesson OR review queue at any one time, so specification is unnecessary?
  3. If you have a large queue, might this run into the GET URL character limit?
1. the first one is the number of times you got the Meaning wrong, and the second is the number of times you got the Reading wrong, the double up doesn't seem to affect radicals, but I might change the script to make it a little more consistent.
a string like "/json/progress?k18[]=0&k18[]=2"  tells the server that you got the meaning for 工 right first time, but got the reading wrong twice.

2. it doesn't differentiate but but the code is asynchronous, the part that submits the answers only runs after it knows which answers to submit, from the /review/queue? and the /lesson/queue? responses, which probably won't both come back at the same time.
I would say yes, it will only be in one of those queues so sending the appropriate code will affect the item accordingly. I wouldn't be surprised if it was all just one queue server side and served to the client according to the status of each item, but now I'm speculating.

3. You make a good point about the Get character limit, like I said, I'm not letting this command anywhere near my 2600 reviews so I might just have to look into it an split it programatically. It would still be untested and purely academic.

This feels like reading “hey guys, I built an atomic weapon in my basement”

1 Like
Helix said... This feels like reading "hey guys, I built an atomic weapon in my basement"
 ...and here are the schematics.
1 Like
meneldal said... I'm not sure it was a good idea to make this in the first place. Giving such great power to people shouldn't be this easy.
 ![](upload://n1ZFEDAvuyWKySBQPx98fSmNQqc.gif)

Did you get the 2600 reviews while doing and testing this script?

what do u mean it wipes lessons? where do they go if you haven’t learned them

also is there a way to use it just for reviews because I want to use it since I work like 50/h weeks and I wouldn’t mind starting from 0 reviews again because im sitting on 1.5k and I can never get it down to carry on with WK

emin said... Did you get the 2600 reviews while doing and testing this script?
 Not this one. The self study script mostly. If I spent as much time on reviews as I did writing scripts, I'd have nothing to worry about.
Epicwhale said... what do u mean it wipes lessons? where do they go if you haven't learned them
 It marks everything as being learned/reviewed correctly on the first attempt.

also is there a way to use it just for reviews because I want to use it since I work like 50/h weeks and I wouldn't mind starting from 0 reviews again because im sitting on 1.5k and I can never get it down to carry on with WK
Easiest way to do that -- if you want to -- is to remove the '"lessons",' part from the array at the beginning. I'd definitely think twice before doing that, though.
rosyatrandom said...
Epicwhale said... what do u mean it wipes lessons? where do they go if you haven't learned them
 It marks everything as being learned/reviewed correctly on the first attempt.

also is there a way to use it just for reviews because I want to use it since I work like 50/h weeks and I wouldn't mind starting from 0 reviews again because im sitting on 1.5k and I can never get it down to carry on with WK
Easiest way to do that -- if you want to -- is to remove the '"lessons",' part from the array at the beginning. I'd definitely think twice before doing that, though.
 I've been thinking twice for a long time - it's been 60 days since I leveled up again and I just cant handle a queue this big so I can never actually make the queue smaller so I'm not learning anything
Epicwhale said... what do u mean it wipes lessons? where do they go if you haven't learned them

also is there a way to use it just for reviews because I want to use it since I work like 50/h weeks and I wouldn't mind starting from 0 reviews again because im sitting on 1.5k and I can never get it down to carry on with WK
It should work for both, but as has been brought to my attention , large reviews might not work because the request would be too long, they'll go back into your queue as if you got them all right (or all wrong if you change the zero to a 1)
Epicwhale said...
rosyatrandom said...
Epicwhale said... what do u mean it wipes lessons? where do they go if you haven't learned them
 It marks everything as being learned/reviewed correctly on the first attempt.

also is there a way to use it just for reviews because I want to use it since I work like 50/h weeks and I wouldn't mind starting from 0 reviews again because im sitting on 1.5k and I can never get it down to carry on with WK
Easiest way to do that -- if you want to -- is to remove the '"lessons",' part from the array at the beginning. I'd definitely think twice before doing that, though.
 I've been thinking twice for a long time - it's been 60 days since I leveled up again and I just cant handle a queue this big so I can never actually make the queue smaller so I'm not learning anything
Seriously though.
This certainly won't help you learn.
There's an important difference between levelling and learning.
even with 2600 reviews I find that I get the same ones a lot (it might be my imagination but they seem to come off the end of the list, I haven't dug into that part of the code).

You could of course use the review order script that got me into this 2600 review mess in the first place if that's what you want to do.

With this command, I’ll be level 50 in no time!!!






… And have learned nihil.

MetallicaDutch said...
....... And have learned nihil.
Let's apply Tennis expressions here.

Love:50

oh well it times out for me, guess ill be stuck in limbo forever

Epicwhale said... oh well it times out for me, guess ill be stuck in limbo forever
Thats the problem with developing something so destructive, you don't really know how it will work until someone tests it 

I've updated it now to submit queries of 2000 characters or less
If it still doesn't work try changing the number 1980 (2000 - the max length of a new item) to something smaller. 

(it also seems I didn't know how the lessons were served back to me, so that's been fixed too, and while I was at it, touched up on the radical submissions)

["lesson","review"].map(function(Q){$.getJSON("/"+Q+"/queue?",function(data){if(Q=="lesson")data=data.queue; var i=data.length,str="";while(i--){str+=((t=data[i].rad?"r":data[i].kan?"k":"v")+data[i].id+"[]=0&").repeat(t=="r"?1:2);if(str.length>=1980||!i)if(str)$.getJSON("/json/progress?"+str),str="";}})})