# ZBLL trainer



## Roman (Jan 14, 2017)

This tool will help you to practice ZBLL recognition and execution.

bestsiteever.ru/zbll

Select ZBLL cases you would like to practice
Scramble the cube without looking at it
Start the timer (spacebar)
Try to recognize and execute ZBLL as fast as possible
Figure out what cases you do slower and work on them.
Happy practising!



Spoiler: Hotkeys




Spacebar to control the timer;
Delete to delete last result;
Shift+delete to clear the session.




This method of selecting cases and the general workflow may not be perfect but it's the best I've came up so far. Feel free to share your opinion and make suggestions!

Edit: If you don't know what is zbll or have trouble with cases notation or recognition, reading first 4 pages of this document should be a great starting point: ZBLL Algorithms 3.0 by Simon Swanson

GitHub repository: click


----------



## Egide (Jan 16, 2017)

Thanks a lot for this Roman, it's very handy. Is it possible to show average of a session? and also have PLL in there so that all cases are covered?


----------



## Berd (Jan 16, 2017)

Love this!


----------



## obelisk477 (Jan 16, 2017)

I know it might take a while, but I would love to see a 'show suggested alg' feature that's hidden unless you click it, so that if there are cases we don't know or forgot, we can learn it there


----------



## FastCubeMaster (Jan 17, 2017)

Any way to start/stop the timer for ipad users? When I press space bar with my ipad keyboard the timer just goes green but does not start. Does this only work for computers?


----------



## pjk (Jan 17, 2017)

Looks and seems to work great, well done. My only suggestion would be to make it work and format responsively to devices of different screen sizes. The cube preview seems to overlay into the text on smaller screens.


----------



## OLLiver (Jan 17, 2017)

this is exactly what I've been looking for
E: this is the dream tool I've been searching for almost two years.


----------



## Anthony (Jan 17, 2017)

Awesome, Roman. Can you make it mobile-friendly?


----------



## xyzzy (Jan 17, 2017)

Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?

One possible way to do this could be to generate the ZBLL first, apply 10 or so random moves, then feed that into the solver.


----------



## Anthony (Jan 17, 2017)

xyzzy said:


> Is it possible to randomise the scramble for each case?



I haven't had a chance to try it out much so I hadn't noticed that yet, but I definitely second this.


----------



## Roman (Jan 17, 2017)

obelisk477 said:


> I know it might take a while, but I would love to see a 'show suggested alg' feature that's hidden unless you click it, so that if there are cases we don't know or forgot, we can learn it there


I initially thought adding this feature by default. Different people use different algs for one case, but the suggested alg can be the one from Swanson's algs list. There's one little issue though: besides the alg itself there should be an info about the starting position (because the preview picture shows the cube in random y-axis orientation). Can you think of a way to display it nicely?



Egide said:


> Is it possible to show average of a session? and also have PLL in there so that all cases are covered?


As for plls, I don't think adding them to zbll trainer is an appropriate thing to do.
I can add average though, but does it make sense to display a global average for the session? I was considering grouping times by OLL or COLL and display averages for the groups like I did with the PLL trainer. Any ideas?



FastCubeMaster said:


> Any way to start/stop the timer for ipad users? When I press space bar with my ipad keyboard the timer just goes green but does not start. Does this only work for computers?





Anthony said:


> Awesome, Roman. Can you make it mobile-friendly?


Yep, I will add the feature of starting the timer from touch devices when I have time (this Sunday I think).



pjk said:


> My only suggestion would be to make it work and format responsively to devices of different screen sizes. The cube preview seems to overlay into the text on smaller screens.


Sure, I will fix the layout also.


----------



## Egide (Jan 17, 2017)

l think the best way would be to have an average for the cases chosen, be it only T, U or all of them at once.


----------



## Roman (Jan 17, 2017)

xyzzy said:


> Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?



Right, I am awared of this problem. Fixing it is the next big think to do.
Thanks for pointing it out!



Spoiler: My plan is



For each zbll {
- pre-generate a lot( >100 ) of different minimal length solutions. (because generating algs on the fly using 2-stage will give nasty 20-move scrambles).
- Only leave those whose length is in fixed range - something like [13..16] should be appropriate.
- Eliminate similarly-looking algs using levenshtein distance. That is, out of all algorithms for every case find two most similar and get rid of one of them. Do this while the algs list size is > 20.
}.


----------



## Berd (Jan 17, 2017)

Is there any way to tell which ones are ZZLLs? 2 look recognition is very difficult.


----------



## obelisk477 (Jan 17, 2017)

Roman said:


> Right, I am awared of this problem. Fixing it is the next big think to do.
> Thanks for pointing it out!
> 
> 
> ...



Don't know how easy it would be, but Lars Petrus' site already has generated every algortihm that solves a LL case that is 17 moves or less. So maybe you could pull from there.

Also, why Swanson's list? Surely Jabari's (BindeDSA) is the most up to date


----------



## Ksh13 (Jan 20, 2017)

Just found out about this, instant bookmark. This is a fantastic ZBLL trainer that I will for sure use a lot when I try to pick up ZBLL again, great work Roman .


----------



## FJT97 (Jan 20, 2017)

OLLiver said:


> this is exactly what I've been looking for
> E: this is the dream tool I've been searching for almost two years.



This!!!!



xyzzy said:


> Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?
> 
> One possible way to do this could be to generate the ZBLL first, apply 10 or so random moves, then feed that into the solver.



And this.


This is the greatest tool ever made. I can't even. Thank you Roman!!


After using it for a few hours:

A delay would be nice, so that accidentally hitting the spacebar wouldn't end in a new timing.


Multiple sessions would be nice.

A column next to the cases, where i could put my alg(s) for the case, so that site would also work as my personal database. That would be really neat, cause tend to forget my algs  That way i would have all at one place

And you deserve a big hug for this site!


----------



## Roman (Jan 21, 2017)

Added an ability to start the timer from touch devices. Other features require some time which I unfortunately don't have lately 
Anyone want to maintain the project?


----------



## YTCuber (Jan 21, 2017)

You should consider sharing your code on github, as that makes it easy for coders to contribute.



xyzzy said:


> Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?
> [...]


This can be solved by rotating the case around y a random number of times. F R U R' U' F' would be L F U F' U' L' for example. Then you can also add an option for random AUF, enabled by default, which generates AUF before or after the algorithm. You can also write F R U R' U' F' as D F R U R' U' D'. All of these solutions don't require solvers. I will post the code here if this turns out to be a good idea.

A suggestion for selecting cases: You select the set by typing the first letter: H L P(i) S T U A(s). Select the next category with numbers 0-5 (or 1-6). Pressing space toggles all cases, or press 1234567890AB to toggle individual cases. As an example, selecting Pi FBFB C/A requires pressing P, 2 and 4.


----------



## xyzzy (Jan 22, 2017)

YTCuber said:


> This can be solved by rotating the case around y a random number of times. F R U R' U' F' would be L F U F' U' L' for example.



The problem here should be really obvious. If I see a B' U2 B U B' U B being generated, I don't even need to look at the cube to know that (i) it is a 2GLL case and (ii) it's a Sune from some angle. I might not immediately know what angle it is, but this takes away the hard part of the recognition instantly. No amount of AUFing will mask this.


----------



## YTCuber (Jan 22, 2017)

The other problem is that writing a solver which doesn't generate long solutions is difficult, and solving takes a long time. I don't want to solve the ZBLL sub1, wait 5 seconds for generating the scramble and then scramble 30 moves (30=10 random moves+20 optimal solution moves).


----------



## FJT97 (Mar 1, 2017)

The site does not save the selected cases, which is really bad, cause then you have to select the cases again and again...
If that could be fixed, that would be great. Cause otherwise i wouldn't use the site not that much anymore i guess. cause that gets really tedious.


----------



## Neel Gore (Mar 31, 2017)

This is awesome Roman! The only downside I see is how it sometimes gives 2gen scrambles. This ruins recognition practice for me, because I can already narrow the case down to 72. Is there a way you can fix this? Other that that problem, this is perfect!
Thanks so much!


----------



## Roman (Mar 31, 2017)

Thanks all for your feedback and feature requests! I will handle some of them this weekend and create a repository on GitHub.

TODO list:
- save selected cases in cookies
- remove 2gen scrambles
- fix lauout issues on small displays
- show suggested alg


----------



## Lazy Einstein (Mar 31, 2017)

Under "show suggested alg" could you also have "add your alg" ability.



Roman said:


> Thanks all for your feedback and feature requests! I will handle some of them this weekend and create a repository on GitHub.
> 
> TODO list:
> - save selected cases in cookies
> ...


----------



## Roman (Apr 1, 2017)

Created a git repo: *https://github.com/Roman-/zbll-trainer*


----------



## Roman (May 2, 2017)

Thanks to @AlphaSheep, selected cases are now persistent.


----------



## Pyjam (Jun 7, 2017)

Great tool. Many thanks.

I think there's a little problem with the Pi case RFFL O/C. The oblique bar on U is in the wrong direction.

A request: would you mind adding a way to change the colors? At least a second choice: black background + green letters.


----------



## Roman (Jun 7, 2017)

Thanks. I'll add color settings this weekend, for now you can use the dark reader - I have this turned on all the time.


Pyjam said:


> black background + green letters


Hey, another Matrix fan out there


----------



## Pyjam (Jun 7, 2017)

Nostalgia of my young ages when I used to play with my 8088 @ 8 MHz 

Thank you. More seriously, large white plages often hurt old eyes.


----------



## Roman (Jun 11, 2017)

Added color settings feature





@Pyjam


----------



## Pyjam (Jun 11, 2017)

Great!
Thank you, Roman.


----------



## FJT97 (Jun 11, 2017)

A function to quickly deselect the case that I just solved would be nice. So if there is a case that I know quite well I could just deselect it so that i slowly getting just cases which i still need to learn. And if I i don't have any cases selected I'm full zbll 

Is that possible?


----------



## Neel Gore (Jul 12, 2017)

Is it possible to save certain presets for case selection? For example, the user can make a preset that includes every case they know, and that will get saved. That way, if the user wants to only drill a set later on, their preset of all their algs doesn't get lost.

Also, when I stop the timer, sometimes it starts again. Is it possible to implement a hold to start so this doesn't happen?


----------



## deadcat (Sep 21, 2017)

This is very useful, thanks! I'm using it just for CMLL though, heh.


----------



## Sebastien (Oct 18, 2017)

FJT97 said:


> A function to quickly deselect the case that I just solved would be nice. So if there is a case that I know quite well I could just deselect it so that i slowly getting just cases which i still need to learn. And if I i don't have any cases selected I'm full zbll
> 
> Is that possible?



I was about to suggest the exact same feature.


----------



## Roman (Oct 18, 2017)

FJT97 said:


> A function to quickly deselect the case that I just solved would be nice. So if there is a case that I know quite well I could just deselect it so that i slowly getting just cases which i still need to learn. And if I i don't have any cases selected I'm full zbll





Sebastien said:


> I was about to suggest the exact same feature.



Done.





Just note that if you're training your COLL, removing the single case won't remove other ZBLL cases from this COLL group.


----------



## FastCubeMaster (Oct 18, 2017)

Roman said:


> Done.
> 
> 
> 
> ...



Hey Roman (kind of off topic), do you think it's possible in the future that you could make a 3style trainer? Where you select one target and then the 3rd is randomly generated? 
Love your work but this would make me love it even more.


----------



## Roman (Oct 18, 2017)

A few more updates:
The preview picture is now transparent and resizable;
Long touch on smartphones doesn't select the timer label.
Edit: you can download the offline version from the main page



FastCubeMaster said:


> Hey Roman (kind of off topic), do you think it's possible in the future that you could make a 3style trainer? Where you select one target and then the 3rd is randomly generated?
> Love your work but this would make me love it even more.


Thanks! Have you tried this tool by @Keroma12? I believe a few people made 3style trainers as well, you can check the Software Area subforum. I have mine too, but it's for linux and customized for my preferences


----------



## Hazel (Oct 21, 2017)

In the selection page, would it be possible to have an option or something so it shows three sides instead of two? Because I recognize many of my ZBLLs by looking at three so it takes a little while to figure out which case is which while I'm selecting them.
Great timer though, very helpful!!


----------



## FJT97 (Oct 21, 2017)

Aerma said:


> In the selection page, would it be possible to have an option or something so it shows three sides instead of two? Because I recognize many of my ZBLLs by looking at three so it takes a little while to figure out which case is which while I'm selecting them.
> Great timer though, very helpful!!


Or just a top view like it is on algdb. That would come in handy


----------



## Hazel (Oct 21, 2017)

FJT97 said:


> Or just a top view like it is on algdb. That would come in handy


Yes, I like this idea better.


----------



## Duncan Bannon (Nov 2, 2017)

Is there this sort of thing for CLL on 2x2?


----------



## Roman (Nov 2, 2017)

Duncan Bannon said:


> Is there this sort of thing for CLL on 2x2?


http://tobip.ch/clltrainer/ this one, but it doesn't show you scrambles, only the pictures


----------



## Duncan Bannon (Nov 2, 2017)

Thanks for the help, but I would like the scrambles. I had previously found that website. Please let know if you find another one! Thanks.


----------



## Roman (Nov 2, 2017)

Added statistics calc
(session average only removes one best and one words solve, just like in ao5 and ao12, IDK the full rules set)





@Egide @Anthony


----------



## Hazel (Dec 1, 2017)

I had a lil idea for an addition to this trainer, you can add it if you like: so if you're doing a case on the timer and you mess it up when timing it or forget it all together, I think it would be helpful for there to be a little box or something you could tick after you stop the timer, and it would mark that case or something so you know you need to work on it more. Even better, there could be a list of those marked cases that you need to work on the most (i.e. you've ticked the box many times for that case).


----------



## Pyjam (Dec 1, 2017)

What I would like, but I suppose it would require a lot of work, is the possibility to save many lists of cases.
Because sometimes I want to work on a specific set of cases, and later on some other cases, then I want to work back on the first set, then a 3rd set, then back to the 2nd set, and so on.

Anyway, as it is, it's an awesome tool.


----------



## Pyjam (Dec 11, 2017)

...or maybe a way to save to/load from my HD a file with the list of cases I want to practice.


----------



## Juqe (Jan 10, 2018)

Hey, i'm pretty new to this thread.

I think that this Trainer is very well made, but it is "just" for ZBLL ( and PLL ). I don't know much about programming ( so I don't know if that is even possible or worth the effort ) but how about adding a feature where people can add their own sets of algorithms, that they want to learn/practice ( they set up how the cube should be scrambled, create fitting pictures of it , etc.). 
I guess that would be really helpful because everyone can create what needed - even people that use other, unpopular subsets or methods ?

I hope you like the idea too, 
Greetings!


----------



## Hawmario (Jan 17, 2018)

Hello,

This trainer is an awesome tool!
I've noticed something though, some cases (L cases LFFB C/O, CxO, O/A, OxC, OxO, and maybe more) aren't oriented the same way as the other cases of the set.



Apart from that, that's an awesome job.


----------



## Reed Merrill (Feb 22, 2018)

I don't think the link in the first post works anymore.


----------



## AlphaSheep (Feb 23, 2018)

Reed Merrill said:


> I don't think the link in the first post works anymore.


All of the links work for me


----------



## Reed Merrill (Feb 23, 2018)

AlphaSheep said:


> All of the links work for me


Ya, my mistake, it works on my phone. I'll have to see why my laptop won't go.


----------



## Roman (Mar 23, 2018)

New feature: recap mode by default.
At first, you recap all the selected cases once; after that they start to appear randomly.






Related GitHub commit: click


----------



## Roman (Mar 23, 2018)

Saving custom presets




@FJT97 @Neel Gore @Anthony


----------



## PianoCube (May 4, 2018)

Two of the H sets (named BBFF and FBFB in the trainer) are only supposed to have 8 cases instead of 12, so there are some duplicates.

For example these 2-gen H cases are the same (I haven't looked through the other set):

O/C = CxO
C/A = A/O
A/C = O/A
C/O = OxC

I would also love to be able to see the illustrations from top (like AlgDb.net) instead of the side, as it would make recognition much easier.


----------



## Hazel (May 5, 2018)

PianoCube said:


> I would also love to be able to see the illustrations from top (like AlgDb.net) instead of the side, as it would make recognition much easier.


I second this!


----------



## FJT97 (Sep 5, 2018)

PianoCube said:


> I would also love to be able to see the illustrations from top (like AlgDb.net) instead of the side, as it would make recognition much easier.


+1

another thing i would like to see is that i could practise cases and put them directly into another of my 'sessions'. that way i could have a session for hard cases, one for easy cases and so on. would be nice then if i could choose whether the case should stay in the current session or not.


----------



## PapaSmurf (Feb 15, 2019)

I've used your trainer for a while now, but since today, I've had this warning message with firefox: An error occurred during a connection to bestsiteever.ru. The OCSP response does not include a status for the certificate being verified. Error code: MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING 

If there's a way for you to fix it, that would be great. Otherwise I'm gonna have to resort to something else.


----------



## Roman (Feb 16, 2019)

PapaSmurf said:


> I've used your trainer for a while now, but since today, I've had this warning message with firefox: An error occurred during a connection to bestsiteever.ru. The OCSP response does not include a status for the certificate being verified. Error code: MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING
> 
> If there's a way for you to fix it, that would be great. Otherwise I'm gonna have to resort to something else.



Hey. Thanks for the report! Can you check if it is fixed now?


----------



## PapaSmurf (Feb 16, 2019)

It is! Thanks! Now back to the L grind.


----------



## Roman (Jan 4, 2020)

Issue with short / 2gen / stupid scrambles is now fixed.

2-gen scrambles listed here were removed from scrambles list. They were replaced by a bunch of alternative algs found on birdflu website. Short (12- moves) scrambles were also replaced.
related git commit: click.

The scramble generator tends to give you less B moves now.
related git commit: click.

@Pyjam @Aerma @Neel Gore


----------



## Pyjam (Jan 4, 2020)

Very well. Thanks a lot for this improvement.


----------



## Hazel (Jan 4, 2020)

Awesome, thanks for doing this 
I'm still going to continue working on my own trainer, partially because there's a bunch of other features I plan on implementing, and partially because it's a bit too late now to turn back xD
Neither of us are earning any money from these so I wouldn't call it a "competitor" though haha.


----------



## WarriorCatCuber (Jan 4, 2020)

Duncan Bannon said:


> Thanks for the help, but I would like the scrambles. I had previously found that website. Please let know if you find another one! Thanks.


Have you tried jperm.net


----------



## PapaSmurf (Jan 5, 2020)

This or train yu are the best alg trainers. This specifically for ZBLL, OLL or PLL, otherwise train yu.


----------



## Duncan Bannon (Jan 5, 2020)

WarriorCatCuber said:


> Have you tried jperm.net


I have not, thanks for the resource! I don't really need it anymore, but thank you!


----------



## Nilsibert (Jan 7, 2020)

I'm a bit confused. In the bottom right window, the case and the scramble shown are always different from the main scramble above. Why is that?


----------



## Pyjam (Jan 7, 2020)

It's the previous case.


----------



## Nilsibert (Jan 8, 2020)

Pyjam said:


> It's the previous case.


Oh, silly me. That is actually quite useful now that I think about it.


----------



## Roman (Feb 25, 2020)

You can now switch between top view and 3D view during practising by clicking at the picture.







Switching between flat and 3D view in the selection layout is yet to come.


----------



## GenTheThief (Feb 27, 2020)

Roman said:


> You can now switch between top view and 3D view during practising by clicking at the picture.
> 
> 
> 
> ...


This has been my main gripe with your trainer so far; the other one you fixed in the earlier post.
Thank you so much for making a great trainer and now for making it even better!


----------



## Roman (Feb 29, 2020)

Flat view by default.

You can still switch between flat and 3D view in the timer by clicking on the picture.
related git commit: 42b7d49

PS If there are any misoriented pictures or if short/2gen scrambles still appear, please let me know.
If you don't tell me how to make ZBLL trainer better then how else would I know


----------



## xyzzy (Feb 29, 2020)

Roman said:


> short/2gen scrambles still appear,


For the 2GLL pi case with H perm edges, all of the algs are the same 11-move optimal alg.

The short RUL and RUF algs on Birdflu for this case are either Niklas combos or Sune combos, so please don't include those either.


----------



## Roman (Feb 29, 2020)

xyzzy said:


> For the 2GLL pi case with H perm edges, all of the algs are the same 11-move optimal alg.
> 
> The short RUL and RUF algs on Birdflu for this case are either Niklas combos or Sune combos, so please don't include those either.



Fair.
Now I have manually replaced this and a lot of scrambles sets so it should be a lot better on the scrambling side.


----------



## xyzzy (Mar 3, 2020)

Roman said:


> Fair.
> Now I have manually replaced this and a lot of scrambles sets so it should be a lot better on the scrambling side.


A few more:
"B' U2 F U' B U F' U B' U B",
"F U F' U B' U F U' B U2 F'",
F U' F2 U2 D' F U F' U D F2 U F'

(Probably the mirror/inverse cases are also affected but I haven't looked yet.)


----------



## Nilsibert (Mar 7, 2020)

I like the idea of the random mode, but it seems like when using it, some cases tend to show up significally less often than others. That is of course possible with true randomness. Is there a way to stay in recap mode, with only the order changing? Or better yet, I'd like it to have a sort of "semi random" mode, where cases can appear multiple times, but it would still guarantee that the number of times all the cases that come up is somewhat consistant, if you know what I mean.


----------



## Roman (Mar 7, 2020)

Nilsibert said:


> I like the idea of the random mode, but it seems like when using it, some cases tend to show up significally less often than others. That is of course possible with true randomness. Is there a way to stay in recap mode, with only the order changing? Or better yet, I'd like it to have a sort of "semi random" mode, where cases can appear multiple times, but it would still guarantee that the number of times all the cases that come up is somewhat consistant, if you know what I mean.



Yep, I will do this.
In the beginning each case will have equal probability, and when the case is shown, its probability is decreased 2 or 3 times.


----------



## Roman (May 8, 2020)

*ZBLL trainer now efficiently gives you scrambles to practise all cases evenly during the session.*

This feature is rather subtle, but those who practise with ZBLL a lot will feel the imporovement right off.



Spoiler: details



The downside of the recap mode is that after you've done with some cases, you don't expect them to appear anymore, which defeats the purpose. And with "true random" mode, some cases may not appear in the session at all, while others may appear 3,4, even 5 times!

With new probability feature introduced, both problems are mitigated.
When you select N cases to practise, a probability of (1/N) is assigned to each of them. When a certain scramble is given to you, its probability is decreased in half, making this case twice less likely to appear next time. Note that "twice less likely" does not mean "impossible". Right after that, all the probabilities are normalized so that their sum is equal to 1 (or 100%).

Example: you have selected 4 cases. Initial probabilities:
[25%, 25%, 25%, 25%]

Let's say the first one had been given to you, and it's probability is now 12.5%. After normalization, the probs become:
[14.28%, 28.57%, 28.57%, 28.57%].

The probability of first scramble appear again is only 14% — twice less than all others, but they all sum up to 100%.

As you practise, more and more cases get their probabilities cut in half, so at some point the first case will have about the same prob as all others and will likely to appear again. Nontheless, you can't predict when it appears exactly.

This can be interpreted as something between "recap mode" and "just random" mode.




Nilsibert said:


> I like the idea of the random mode, but it seems like when using it, some cases tend to show up significally less often than others. That is of course possible with true randomness. Is there a way to stay in recap mode, with only the order changing? Or better yet, I'd like it to have a sort of "semi random" mode, where cases can appear multiple times, but it would still guarantee that the number of times all the cases that come up is somewhat consistant, if you know what I mean.


This is solved now.



Related git commit: click


----------



## GenTheThief (May 9, 2020)

Roman said:


> If there are any misoriented pictures


These H cases are all a U2 away from the other cases in their sets.

RLFF: A/O, C/C, O/C
RFLF: C/A, OxC


----------



## Cuberstache (May 9, 2020)

Also, there are 12 cases each for the H sets BBFF and FBFB. There should only be 8 each; more are duplicates.


----------



## Roman (May 9, 2020)

CuberStache said:


> Also, there are 12 cases each for the H sets BBFF and FBFB. There should only be 8 each; more are duplicates.





GenTheThief said:


> These H cases are all a U2 away from the other cases in their sets.
> 
> RLFF: A/O, C/C, O/C
> RFLF: C/A, OxC



Yeah, thanks, I'll fix it on the next update


----------



## Roman (May 12, 2020)

Redundant cases eliminated, now there are only 40 algs for H set









Spoiler






PianoCube said:


> O/C = CxO
> C/A = A/O
> A/C = O/A
> C/O = OxC



This is now fixed, 2 years later. Quarantine works wonders.


----------



## Hazel (May 14, 2020)

I'm really happy to see this trainer is being developed again!
There are 3 things (that I can think of at the moment) that are missing that would make the trainer near perfect in my eyes. If these were added (or even just the first 2), I would have no further reason to continue development of my own ZBLL trainer.

1) An option to go to the next case by pressing the spacebar instead of having to time each case
2) An "indexing" system. This is the only reason I still prefer my own unfinished trainer. Whenever I have trouble with a case, I can click a button or press a key to save that case to a list, and then later I can load the cases in the list so I can practice only the cases I know I have trouble with.
3) A virtual cube via the Giiker i3S like the one in Tao's trainer, preferably one that would automatically go to the next case when the current one is solved.

I feel bad about making big requests for a free software... but there's no obligation of you to add these things, I suppose.

Thank you for all the hard work


----------



## Roman (May 14, 2020)

Aerma said:


> 1) An option to go to the next case by pressing the spacebar instead of having to time each case



Well, you can pretend it's already implemented and just press the spacebar twice  This trainer, unlike things like Anki, was meant to be a timer-like tool.



Aerma said:


> 2) An "indexing" system. This is the only reason I still prefer my own unfinished trainer. Whenever I have trouble with a case, I can click a button or press a key to save that case to a list, and then later I can load the cases in the list so I can practice only the cases I know I have trouble with.



Actually this is a nice idea and quite easy to make! "Bookmarked" cases can be saved to a default preset called "bookmarks". I'll add it later.



Aerma said:


> 3) A virtual cube via the Giiker i3S like the one in Tao's trainer, preferably one that would automatically go to the next case when the current one is solved.


Meh, tons of unnecessary work to save one button press. This won't drastically improve the efficiency of training ZBLL. I'm leaving it up to you 

Thanks for your suggestions! The trainer has quite a room for improvement, mainly the ability use it on touch devices as easy as from PC. I am adding new features every once in a while when I feel like doing it.


----------



## Hazel (May 14, 2020)

Roman said:


> Meh, tons of unnecessary work to save one button press. This won't drastically improve the efficiency of training ZBLL. I'm leaving it up to you



A virtual could save having to scramble the cube every time, practically doubling how fast you can train cases. I understand though


----------



## Roman (May 14, 2020)

Aerma said:


> A virtual could save having to scramble the cube every time, practically doubling how fast you can train cases. I understand though



Then I didn't understand what "virtual cube" mean. Do you mean (1) not using physical cube at all and control virtual cube with keyboard, or (2) controlling the virtual cube on the screen using Giiker, while Giiker state does not match the virtual cube state? Or none of that?

Note that in neither of these cases you practise real world ZBLL recognition


----------



## Hazel (May 14, 2020)

Roman said:


> Then I didn't understand what "virtual cube" mean. Do you mean (1) not using physical cube at all and control virtual cube with keyboard, or (2) controlling the virtual cube on the screen using Giiker, while Giiker state does not match the virtual cube state? Or none of that?
> 
> Note that in neither of these cases you practise real world ZBLL recognition


I mean the latter - there's a virtual cube that changes when you turn the Giiker, and you would recognize the case from the cube on-screen, and scrambles would be instantaneous to save tons of time.


----------



## Username: Username: (May 18, 2020)

Could you make an option so that if you don't know the alg, you can press a button near the case's image that can show the algorithm?
like, you request the alg from algdb for that particular case. if you can't add it, it's ok, I think that's a big request.


----------



## Roman (Jul 1, 2020)

Updates

1) No more "Not secure" warnings - images are loaded over https.
2) Added images caching - during practicing, you should see an image for previous case instantly, without blinking
3) Star/bookmarks system: you can mark cases with little "star" button during practicing; starred cases will appear in the "starred" preset @Aerma 



Spoiler: star screenshots






















Username: Username: said:


> Could you make an option so that if you don't know the alg, you can press a button near the case's image that can show the algorithm?
> like, you request the alg from algdb for that particular case. if you can't add it, it's ok, I think that's a big request.



Yep, but I will need some assistance for that. If anyone is ready to make a spreadsheet that will map algdb notation to Swanson notation, please PM me. This should take an hour of manual work, but then I can easily add all algs to zbll trainer.


----------



## ProStar (Jul 1, 2020)

Roman said:


> Yep, but I will need some assistance for that. If anyone is ready to make a spreadsheet that will map algdb notation to Swanson notation, please PM me. This should take an hour of manual work, but then I can easily add all algs to zbll trainer.



This would be a spreadsheet of AlgDB's top ZBLL algorithm for each case except with cases labeled with Swanson notation, correct?


----------



## xyzzy (Jul 2, 2020)

Roman said:


> Yep, but I will need some assistance for that. If anyone is ready to make a spreadsheet that will map algdb notation to Swanson notation, please PM me. This should take an hour of manual work, but then I can easily add all algs to zbll trainer.


It might be easier (and much less error prone) to directly scrape all the top algs from AlgDb; then for each alg, determine which case it solves, and find the alg within the trainer's database that solves the same case (you need to test all four AUFs).

The only problem is that AlgDb might itself have erroneous algs (iirc some of the G perms were wrong when I last checked), but what can you do…


----------



## Username: Username: (Jul 2, 2020)

xyzzy said:


> It might be easier (and much less error prone) to directly scrape all the top algs from AlgDb; then for each alg, determine which case it solves, and find the alg within the trainer's database that solves the same case (you need to test all four AUFs).
> 
> The only problem is that AlgDb might itself have erroneous algs (iirc some of the G perms were wrong when I last checked), but what can you do…


Can't you take the algs from JuJu's ZBLL doc and for the remaining algorithms, use alg.db's algs?


----------



## ProStar (Jul 2, 2020)

Username: Username: said:


> Can't you take the algs from JuJu's ZBLL doc and for the remaining algorithms, use alg.db's algs?



I may be wrong(because I don't know a lot about ZBLL), but doesn't JuJu's doc have outdated algs?


----------



## WarriorCatCuber (Jul 2, 2020)

ProStar said:


> I may be wrong(because I don't know a lot about ZBLL), but doesn't JuJu's doc have outdated algs?


Nope, it's the best doc rn.


----------



## Roman (Jul 2, 2020)

xyzzy said:


> It might be easier (and much less error prone) to directly scrape all the top algs from AlgDb; then for each alg, determine which case it solves, and find the alg within the trainer's database that solves the same case (you need to test all four AUFs).
> 
> The only problem is that AlgDb might itself have erroneous algs (iirc some of the G perms were wrong when I last checked), but what can you do…



Excellent idea, thanks! I have my solver (in C++) so I can do that. The only thing left is to find where to get all the good algs from. I have 3 sources:
1) algdb 
2) JuJu's doc
3) Swanson's list 

Do you think they'd be enough or are there any other good ones?
PS erroneous algs won't be a problem because the solver will indicate that no alg from the trainer algset can solve this erroneous alg.
PPS I have to actually test 16 times against each alg: first do one of four pre-AUF so that the alg starts from the right side, and then do AUF so that the cube state is solved.


----------



## ProStar (Jul 3, 2020)

Roman said:


> Excellent idea, thanks! I have my solver (in C++) so I can do that. The only thing left is to find where to get all the good algs from. I have 3 sources:
> 1) algdb
> 2) JuJu's doc
> 3) Swanson's list
> ...



From what I know those lists will work great(although I don't know a lot )


----------



## Hazel (Jul 3, 2020)

Roman said:


> Updates



Hey, this is really cool! Thank you for implementing my suggestion  and thanks for continuing to update this amazing tool after all this time


----------



## trangium (Aug 31, 2020)

Sometimes I can get some information about the ZBLL based on the scramble, even after you removed all of the 2gen and short scrambles. For example, one scramble I got was F U2 F' U' F U' F' L' U' L U' L' U2 L, a combo of two Sunes, which means I know it's a 2GLL. Instead of going through all the algs and systematically removing those that give too much information away, I have another idea: wide moves. For example, just by looking at the scramble, I would have no idea that l F2 R' F' l D l' F' R F' l' was just R U2 R' U' R U R' U' R U' R'. This wouldn't be the default, but it could be a setting for people like me that can deduce a lot about the ZBLL just by looking at the scramble.


----------



## Hazel (Aug 31, 2020)

trangium said:


> Sometimes I can get some information about the ZBLL based on the scramble, even after you removed all of the 2gen and short scrambles. For example, one scramble I got was F U2 F' U' F U' F' L' U' L U' L' U2 L, a combo of two Sunes, which means I know it's a 2GLL. Instead of going through all the algs and systematically removing those that give too much information away, I have another idea: wide moves. For example, just by looking at the scramble, I would have no idea that l F2 R' F' l D l' F' R F' l' was just R U2 R' U' R U R' U' R U' R'. This wouldn't be the default, but it could be a setting for people like me that can deduce a lot about the ZBLL just by looking at the scramble.


This is interesting—an option to have scrambles translated to incorporate wide/slice moves... it sounds like a lot of work though, it might be easier for Roman if the community just came up with a list of scrambles to remove from the trainer.


----------



## GenTheThief (Aug 31, 2020)

trangium said:


> Sometimes I can get some information about the ZBLL based on the scramble, even after you removed all of the 2gen and short scrambles. For example, one scramble I got was F U2 F' U' F U' F' L' U' L U' L' U2 L, a combo of two Sunes, which means I know it's a 2GLL. Instead of going through all the algs and systematically removing those that give too much information away, I have another idea: wide moves. For example, just by looking at the scramble, I would have no idea that l F2 R' F' l D l' F' R F' l' was just R U2 R' U' R U R' U' R U' R'. This wouldn't be the default, but it could be a setting for people like me that can deduce a lot about the ZBLL just by looking at the scramble.



I feel like this is just a rather inevitable thing. If I'm doing a small enough set of cases, like on CP case of 12, then I start to recognize some of the cases. Personally, I can tell that that new sequence is an H 2GLL by executing it. I definitely had no idea what it was just by looking at it, but by doing the moves themselves, it was pretty identifiable as a double sune. It also _sucked_ to execute. I don't think making the scrambles slightly harder to identify but harder to do is really worth it.

But, if that's something that a bunch of people want, then using the Manipulate function in Conrad Crider's algorithm translator could be a useful tool I'm sure.


----------



## Hazel (Aug 31, 2020)

GenTheThief said:


> I feel like this is just a rather inevitable thing. If I'm doing a small enough set of cases, like on CP case of 12, then I start to recognize some of the cases. Personally, I can tell that that new sequence is an H 2GLL by executing it. I definitely had no idea what it was just by looking at it, but by doing the moves themselves, it was pretty identifiable as a double sune. It also _sucked_ to execute. I don't think making the scrambles slightly harder to identify but harder to do is really worth it.
> 
> But, if that's something that a bunch of people want, then using the Manipulate function in Conrad Crider's algorithm translator could be a useful tool I'm sure.


I believe that in Roman's trainer, scrambles are randomly rotated around the y-axis. That's how I made it while I was developing HazelTrainer, and it wasn't too difficult to code.


----------



## Roman (Sep 2, 2020)

trangium said:


> Sometimes I can get some information about the ZBLL based on the scramble, even after you removed all of the 2gen and short scrambles. For example, one scramble I got was F U2 F' U' F U' F' L' U' L U' L' U2 L, a combo of two Sunes, which means I know it's a 2GLL. Instead of going through all the algs and systematically removing those that give too much information away, I have another idea: wide moves. For example, just by looking at the scramble, I would have no idea that l F2 R' F' l D l' F' R F' l' was just R U2 R' U' R U R' U' R U' R'. This wouldn't be the default, but it could be a setting for people like me that can deduce a lot about the ZBLL just by looking at the scramble.



That's an excellent idea! I will implement it when I get by.


----------

