# Drilling algs with the GiiKER cube and briefcubing.com



## AshleyF (Dec 1, 2018)

Drilling algs is so much simpler with a GiiKER cube and this free site: briefcubing.com
No more setup. Instant feedback/gratification. Recognition and execution timing...
It currently has OLL, PLL & COLL for CFOP as well as CMLL and EO for Roux.






This has been a weekend project for a while. Any feedback, bugs, feature request welcome!


----------



## pjk (Dec 1, 2018)

Awesome stuff. On briefcubing.com it defaults to CMLL, but when you visit the page, it doesn't say it is on CMLL until you open the menu. Adding "CMLL" to the top center would be a small change so users know where they are starting. Otherwise it looks great, will play with it more later.


----------



## AshleyF (Dec 1, 2018)

pjk said:


> Awesome stuff. On briefcubing.com it defaults to CMLL, but when you visit the page, it doesn't say it is on CMLL until you open the menu. Adding "CMLL" to the top center would be a small change so users know where they are starting. Otherwise it looks great, will play with it more later.



Done


----------



## ortwin (Dec 13, 2018)

I want to use my Giiker mainly for FMC. Here https://www.speedsolving.com/forum/threads/giiker-cube-software.71487/ I wrote what expect from a software that I would love to use. Can you extend your site to do those things? Are you continueing to work on this project?


----------



## dbeyer (Dec 19, 2018)

Hey, I love the hint section. Would it be possible for individual users to create their own personal algorithm list?

I would say it would definitely be a use at your own risk feature. So, if an algorithm was not put in correct,the user could not blame you for not double-checking for errors.

Like for example, CmLL D2-D5 I have two algorithms per case to account for different AUF.

Perhaps individuals can be been publicly list their profile to share their algorithm list.

I really like to create a subset of 4-6 cases to flip through like flashcards.

What do you think about advanced Roux techniques like EOLR or non matching CmLL?


----------



## AshleyF (Dec 19, 2018)

These are great suggestions! I may work on this over the holidays...

I should point out that, although the "hint" shows *an* alg for a given case, you're free to use whatever alg you know. For example, for the simple CMLL H case with vertical "columns" it shows R U2 R' U' R U R' U' R U' R', but when the columns are horizontal I use R U R' U R U' R' U R U2' R' and avoid the AUF. The tool doesn't care. In fact, you're free to make mistakes and undo them during the alg. All that maters is that you arrive at a "solved" state (which in the case of CMLLs means oriented & permuted top corners [with first two Roux blocks maintained]).

On the other hand, you're right, being able to add your own algs would be excellent. I may do it in the form of some general community contribution mechanism and/or some locally stored personal custom set. I think, for now, I want to avoid profiles and logins and a central database, etc. Right now, all your preferences and selected algs are just in local storage.

Technically, it's not that difficult to allow custom algs. It's literally all driven by this single file. The catch is that baked into the code is knowledge of various scrambling strategies and the meaning of "solved" for each set (e.g. CMLL scrambles the M slice while COLL doesn't and "solved" means CO + either F2L or F2B maintained). Also the kind of diagrams to show (e.g. top face only or top/front as in EO and L4E sets... and I'll be adding a 3/4 view [top/front/right] for F2L/SB cases soon). So anyway, I'll need to make all of that driven by the data as well and provide a user-friendly way of submitting.

For a less user-friendly way, it *is* all open source: https://github.com/AshleyF/briefcubing

Have fun!


----------



## Cardboardninja (Jan 7, 2019)

Pretty much joined this forum to tell you how great a tool this has been for me as pretty much a total beginner and to thank you for the time you put into producing this. 

As a kid I had a cube never really got into it and went through my life seeing other people solve cubes and thinking that I should get around to learning that. Finally I picked up a cheap cube mid December and can't put it down. I found a good video for the beginner method and got that down in a couple of hours and immediately moved on to look at F2L and 2-Look OLL/PLL and was finding drilling the algs to be problematic. Waiting for them to show up during a solve meant I never really got to practice them very well more just copying them from a sheet and no real learning. Trying to drill them on a cube with no feedback meant you think you're learning the right moves but you can quite easily switch to a wrong turn and never really know it.

I bought a second cube so I could leave one on my desk at work and pretty much as soon as that arrived I discovered the Giiker ordered it and decided to check around for alternative software because I knew there would be something and then found this forum. It arrived over the weekend and I've been drilling algs on and off since then and have made great progress.

Now I'm neither a great cuber or coder but having done some basic coding in the past I can read code to a certain extent. So please forgive me if I've misinterpreted something in the following.

On one of the algs (all_edges3 oll I think) I always get an orange screen, looking at the code I assume this is actually a partial match but I'm not really sure why. Can you explain what is considered a partial match in such a situation?

I've copied an offline version onto my phone for an upcoming transatlantic flight and decided to play around with it a bit.
I managed to edit the algs.js and add my own 4LLL section comprising all the algs needed but I noticed that there is a kind parameter which I have left as pll or oll based on the alg this is different from every other section that looks to use the setname also as the kind. Looking at the code I assume the way I have done it is actually correct as ui.js looks to be using those to choose a pattern match for verification. Can you confirm?

Would it be an easy change to allow brackets in the alg to allow highlighting of triggers this is would really only be cosmetic for when the hint is displayed.

Also a toggle to show the hint on every drill could be helpful when initially learning cases. 

Could the timeout for failure be a settings value? Also if set to 0 (zero) possibly a repeated move of the top layer say 4U 4U' (Which I'm pretty sure should never happen normally) could be a 'I give up" signal to trigger the failure


----------



## stickfigure02 (Feb 5, 2019)

AshleyF said:


> Drilling algs is so much simpler with a GiiKER cube and this free site: briefcubing.com
> No more setup. Instant feedback/gratification. Recognition and execution timing...
> It currently has OLL, PLL & COLL for CFOP as well as CMLL and EO for Roux.
> 
> ...


This is so awesome!!! Thanks for making this. Any way to add in some sort of F2L training? Something like this https://speedsolvingtrainer.com/trainer-f2l ? 

Cross would be cool too but not sure how you would implement that. My biggest gain in time would be F2L which is why I would love to have something that would help me drill those over and over again....



stickfigure02 said:


> This is so awesome!!! Thanks for making this. Any way to add in some sort of F2L training? Something like this https://speedsolvingtrainer.com/trainer-f2l ?
> 
> Cross would be cool too but not sure how you would implement that. My biggest gain in time would be F2L which is why I would love to have something that would help me drill those over and over again....



Also if there would be a way to save progress in some sort of way. Like create some sort of login that would allow times of each case to be stored so you know what you need to work on the most.....So many ideas....hahaha


----------



## RobertBB (Feb 7, 2019)

Hello Ashley



AshleyF said:


> This has been a weekend project for a while. Any feedback, bugs, feature request welcome!



Is i3S version supported by your program? Or it is only for i3 version?
Are M-slices recognized by your program?
Also I would like to ask if you plan to update colors, so we can choose colors on left or right side of the cube?

Thanks
Robert


----------



## abunickabhi (Feb 7, 2019)

https://briefcubing.com/ is a cool app.

This piece of software will be useful to me to drill 5-style algorithms which are used blindsolving a 3x3.
Can I mail the alg sheet to you? It is without the picture of the cube since 5-style algs affects all the 12 edges of a 3x3 cube for edge comms, and just having a face put up on the screen might not be ideal for recognizing the case from the app.

Any GitHub links to this project, you can share?
Also is the issue of M move, S move and E inner slice recognition by the Giiker cube solved via software, or it may need an upgrade in its next version.


----------



## AshleyF (Feb 7, 2019)

RobertBB said:


> Hello Ashley
> 
> 
> 
> ...



The i3S version works. I have and test with both.

Yes, M-slices are recognized - indirectly. In that the program doesn't care at all about orientation (in fact, I removed all my stickers). It plays the moves you execute forward in all 24 orientations and if *any* result in a "solved" (e.g. corners oriented, or whatever the goal is for the alg set) then it's done. So when M-slices cause a "flip" of the up center that doesn't confuse the program at all. Under the covers, it's registered as L R' or L' R etc. but since this is never shown or used for comparison, it doesn't matter.

I'll add specifying side colors (probably expressed as up & front) in addition to up color to the TODO list. That *does* matter for EO & L4E... Thanks for the suggestion!



abunickabhi said:


> https://briefcubing.com/ is a cool app.
> 
> This piece of software will be useful to me to drill 5-style algorithms which are used blindsolving a 3x3.
> Can I mail the alg sheet to you? It is without the picture of the cube since 5-style algs affects all the 12 edges of a 3x3 cube for edge comms, and just having a face put up on the screen might not be ideal for recognizing the case from the app.
> ...



Certainly, feel free to mail [email protected]. I can look into adding it. Not sure how to present diagrams and the scale of the alg set may force me to improve perf (e.g. dynamically generating diagrams for all, etc.)

M/S/E slice should be no problem. The way solutions are recognized is playing moves forward in all 24 orientations and it's the state of the resulting cube that matters rather than the particular moves. The cube reports slice moves as pairs of outer moves, but this doesn't confuse anything.

It *is* in fact all up on github: https://github.com/AshleyF/briefcubing



abunickabhi said:


> https://briefcubing.com/ is a cool app.
> 
> This piece of software will be useful to me to drill 5-style algorithms which are used blindsolving a 3x3.
> Can I mail the alg sheet to you? It is without the picture of the cube since 5-style algs affects all the 12 edges of a 3x3 cube for edge comms, and just having a face put up on the screen might not be ideal for recognizing the case from the app.
> ...



Yikes! It's 5000+ algs?!

I've added them as an experimental/hidden feature for the time being. To enable, you have to use the flag ?enable-5-style. For example: http://briefcubing.com?enable-5-style
It takes some tens of seconds to load!

The menu is pretty unwieldy with so many algs as well!

For diagrams, I'm just showing the memo letters. Do you have a better idea there? Or is this what you'd want? Also, any better ideas around grouping or something to make the menu more manageable?

Anyway, have fun!


----------



## SolvingRubik (Feb 11, 2019)

This looks great. I'm curious what you used to generate the cube SVG images. It looks like visualcube.php images. I'm wondering because I spent some time making a javascript port of visualcube, but I didn't know if anythink like that was already done. I hope I didn't do a bunch of redundant work! ha. I see roofpig was included but didn't see anything rendered with roofpig.

Anyway, great job! I need to get a Giiker cube now that all these usefull tools have been popping up.


----------



## AshleyF (Feb 12, 2019)

SolvingRubik said:


> This looks great. I'm curious what you used to generate the cube SVG images. It looks like visualcube.php images. I'm wondering because I spent some time making a javascript port of visualcube, but I didn't know if anythink like that was already done. I hope I didn't do a bunch of redundant work! ha. I see roofpig was included but didn't see anything rendered with roofpig.
> 
> Anyway, great job! I need to get a Giiker cube now that all these usefull tools have been popping up.



Ah, very nice! I see that you recently ported visualcube. That's awesome!

The static/hard-coded SVGs at briefcubing.com _are_ tweaked versions of what comes out of visualcube and some from roofpig (should add credit!) From there, they're just static with only colors changing. Super-simple. All the alg parsing and such was already there.



AshleyF said:


> These are great suggestions! I may work on this over the holidays...
> 
> I should point out that, although the "hint" shows *an* alg for a given case, you're free to use whatever alg you know. For example, for the simple CMLL H case with vertical "columns" it shows R U2 R' U' R U R' U' R U' R', but when the columns are horizontal I use R U R' U R U' R' U R U2' R' and avoid the AUF. The tool doesn't care. In fact, you're free to make mistakes and undo them during the alg. All that maters is that you arrive at a "solved" state (which in the case of CMLLs means oriented & permuted top corners [with first two Roux blocks maintained]).
> 
> ...



3/4 view diagrams type and F2L and SB has been added.

Everything is now consolidated to the single alg.js file; scrambling strategies, meaning of "solved", diagram types, etc. One step closer to allowing custom user-supplied alg sets.



stickfigure02 said:


> Any way to add in some sort of F2L training? Something like this https://speedsolvingtrainer.com/trainer-f2l ?



F2L (and SB for Roux) has now been added


----------



## bardamatic (Feb 19, 2019)

This is fantastic! Thanks for creating this. Beyond my appreciation, of course I comment to ask for something...I have just started, a few weeks in only, but am definitely taken with roux. I see that you have Kian's roux algs up, which is great, but for now I am still working on the 2 look CMLL (2LCMLL?) using the "Quick start algorithms" of lubixcube.com CMLL and similar set (and equal in result) to those recommended by Waffle 2LCMLL. It is a small set of algs (7 Os + 2 Ps) most if not all of which are already contained in algs.js.

For example:
Lubixcube's Headlights (U): = "u_back_row", alg: "U' F R U R' U' F'"
Lubixcube's Bruno (Pi): = "pi_right_bar", alg: "F R U R' U' R U R' U' F'"
Lubixcube's Double headlights (H, & Double sune):= "h_rows", alg: "F R U R' U' R U R' U' R U R' U' F'"
Lubixcube's L case (Bow tie, Triple sune): = "l_pure", alg: "R U2 R' U' R U R' U' R U R' U' R U' R'"
Lubixcube's Anti-Sune: = "as_1", alg: "R' U' R U' R' U2 R"

I can edit the algs.js doc and send it to you if you like, but I am not sure how it works. I assume it would use the same 'case' parameters of cmll, but the problem would come in the consideration of the solve state. Once I completed the first look, I wouldn't be able to start the second look until the app caught up to the current state of the cube, only then would I know which perm to use. Personally this would be fine with me, but for those looking to quickly drill both sets it would slow them down. But then again if the point is to drill based on recognition, then it would still serve its purpose.

Again, thanks for the work!


----------



## AshleyF (Feb 20, 2019)

I'll look into adding these! Maybe I'll also add 4LLL algs for CFOP.

For the moment, you can select the below cases. Those are the "orientation only" or "permutation only" CMLLs. Despite what the "hint" in the app may say, you can solve them using the Lubixcube or Waffle's algs. For example, the second one there (middle top row) shows
r2 D r' U r D' R2 U' F' U' F but Y-perm (six extra moves though) from Lubixcube works too F R U' R' U' R U R' F' R U R' U' R' F R F'. The app will accept *any* alg that reaches a solution.

Also, BTW, when solving the normal CMLLs, if you orient the corners without permuting them the app will show a yellow "partial" solve and update the diagram to let you then permute them to complete. So you can actually practice 2-look that way as well.

Have fun!


----------



## thewagneroca (Feb 21, 2019)

Very nice website! It's very useful for learning algs.
One feature I find especially nice is the ability to use an U after finishing the alg to go to the next one.
One feature I'd like to see added is the possibility of seeing how much time you spend on each alg, like in a stat page that shows how much time you take to recognize and execute each alg.. That way you can know which algs you need to practice more. Also, maybe you could have a "hardcore" mode, where you have to recognize the alg from only two sides of the cube, like in https://www.cubeskills.com/tools/pll-recognition-trainer. Lastly, I'm having issues mainly with OLL, where I execute an alg but the site doesn't recognize the cube as solved. Maybe it needs an increased alg list?
These are just some suggestions.
Thanks!


----------



## AshleyF (Feb 21, 2019)

Alg stats is on the TODO list; maybe even next.
A "hardcore" mode would be easy to do. Good idea! Let me think about it a bit.

Not recognizing OLLs as solved sounds like a bug! It shouldn't (in theory) depend at all on the alg you use; anything that achieves a solved state should work. If you could possibly narrow it down to a particular case and alg that's not working that would be excellent.


----------



## bardamatic (Feb 22, 2019)

AshleyF said:


> I'll look into adding these! Maybe I'll also add 4LLL algs for CFOP.
> 
> For the moment, you can select the below cases. Those are the "orientation only" or "permutation only" CMLLs. Despite what the "hint" in the app may say, you can solve them using the Lubixcube or Waffle's algs. For example, the second one there (middle top row) shows
> r2 D r' U r D' R2 U' F' U' F but Y-perm (six extra moves though) from Lubixcube works too F R U' R' U' R U R' F' R U R' U' R' F R F'. The app will accept *any* alg that reaches a solution.
> ...


Thanks! Works perfect!


----------



## AshleyF (Feb 24, 2019)

Cardboardninja said:


> Pretty much joined this forum to tell you how great a tool this has been for me as pretty much a total beginner and to thank you for the time you put into producing this.
> 
> As a kid I had a cube never really got into it and went through my life seeing other people solve cubes and thinking that I should get around to learning that. Finally I picked up a cheap cube mid December and can't put it down. I found a good video for the beginner method and got that down in a couple of hours and immediately moved on to look at F2L and 2-Look OLL/PLL and was finding drilling the algs to be problematic. Waiting for them to show up during a solve meant I never really got to practice them very well more just copying them from a sheet and no real learning. Trying to drill them on a cube with no feedback meant you think you're learning the right moves but you can quite easily switch to a wrong turn and never really know it.
> 
> ...



Thanks for the ideas! I've implemented a few of them. Timeout is now adjustable with a settings slider from 0.5-10 seconds. Sliding past ten shows infinite/no timeout. U4/U4' are now supported as gestures equivalent to next/retry (when not complete/error, in which case single U/U' work). Parenthesis are now allowed in algs (used in the new F2L section for example). Also, alg.js has been consolidated to include all of the properties driving behavior.

BTW, I'm not able to repro the OLL bug where it always shows partial match (it may have been fixed in a recent cleanup pass). Let me know if you still experience it.



bardamatic said:


> ... 2 look CMLL (2LCMLL?) using the "Quick start algorithms" of lubixcube.com CMLL



A new section for two-look CMLLs (and for 2LOLL & 2LPLL) has been added. Have fun!


----------



## bardamatic (Feb 25, 2019)

AshleyF said:


> A new section for two-look CMLLs (and for 2LOLL & 2LPLL) has been added. Have fun!


Great! Works perfect. This is really helpful. Thanks for the work!


----------



## u Cube (Feb 27, 2019)

AshleyF said:


> Drilling algs is so much simpler with a GiiKER cube and this free site: briefcubing.com
> No more setup. Instant feedback/gratification. Recognition and execution timing...
> It currently has OLL, PLL & COLL for CFOP as well as CMLL and EO for Roux.
> 
> ...


This is brilliant. if only I had a giiker cube I could drill my cmlls


----------



## AshleyF (Jun 9, 2019)

Briefcubing.com now supports the GAN 356i, BTW


----------



## AshleyF (Jul 1, 2019)

Now supports the GoCube. Have fun!


----------



## efattah (Jul 2, 2019)

Thanks for building this utility! I actually competed against you on the 356i with the Gan app, I didn't know anything about you but I recall that you were using Roux and the only person I ever competed against who wasn't using either CFOP or beginner's method (I think you were averaging around 25 sec).
Unfortunately i don't use Roux or CFOP so I will need to wait for an upcoming release that allows custom algorithms...


----------



## AshleyF (Jul 3, 2019)

efattah said:


> Thanks for building this utility! I actually competed against you on the 356i with the Gan app, I didn't know anything about you but I recall that you were using Roux and the only person I ever competed against who wasn't using either CFOP or beginner's method (I think you were averaging around 25 sec).
> Unfortunately i don't use Roux or CFOP so I will need to wait for an upcoming release that allows custom algorithms...



Yep, that's me - Mr. Slow Rouxer 

I've looked at your LMCF method. Very interesting! If you have a set of stable algs, I'd be happy to add to the site. [email protected]

If, on the other hand, it's a repertoire you're still working on or want to keep private, there are options. It may honestly be a bit of time before I get to making it user-customizable. However, without having to "code", you can quite easily "Clone or download" the site (https://github.com/AshleyF/briefcubing). It works offline without any need to build; just open index.html in your browser. You can then edit the algs.js. Not particularly user-friendly, but everything is driven by this one file. Diagrams are generated, etc. You just enter the algs and a config sections describing how to scramble and recognize solutions. It may be that some coding is needed to add new scrambling and recognition settings. I'd be happy to work on that if you can give me some examples.


----------



## hikaruだよ (Aug 25, 2019)

Hey, this is great! great job man!
can you make a 3 style trainer for UFR corner? make a scramble for every cases(basically the scramble is the inverse of the alg, any alg is ok since it would make the same certain case) and make it correct when it solved(in that way, we can use any alg that we use for that case, as long as it solved). 
and if it possible, make a customizable letters for all the pieces, so if the case is UFR-UBL-RDF in speffz letter scheme it would be AP, but it would be perfect when we can custom it like what letter is UBL, what letter is RDF, and so on..


----------



## rotobld (Sep 7, 2019)

really good website for training algs!!!
when do you think you will add support for the gan 356i (US hardware)?
do you know what are the diffrences of the protocol between the two versions?


----------



## AshleyF (Sep 11, 2019)

hikaruだよ said:


> Hey, this is great! great job man!
> can you make a 3 style trainer for UFR corner? make a scramble for every cases(basically the scramble is the inverse of the alg, any alg is ok since it would make the same certain case) and make it correct when it solved(in that way, we can use any alg that we use for that case, as long as it solved).
> and if it possible, make a customizable letters for all the pieces, so if the case is UFR-UBL-RDF in speffz letter scheme it would be AP, but it would be perfect when we can custom it like what letter is UBL, what letter is RDF, and so on..



I would be up to adding these if you can provide or point me to an alg set. For example, there are 5-style algs already (https://github.com/AshleyF/briefcubing/blob/master/algs.js#L812-L7347 ). 3-style would be simple to add. We could start with names based on Speffz lettering for now and make that customizable later.



rotobld said:


> really good website for training algs!!!
> when do you think you will add support for the gan 356i (US hardware)?
> do you know what are the diffrences of the protocol between the two versions?



Thanks! Sadly, it seems the newer GAN 356i protocol is intentionally obfuscated/encrypted. It may take an indeterminate amount of time to crack...


----------



## rotobld (Sep 13, 2019)

Thanks! hope it will be cracked soon


----------



## bodhisoma (Oct 19, 2019)

Just got the Giiker i3S, just starting to learn PLL. 

LOVE your site/software. It'll go a long way toward helping me start with a few and add as I improve. Being able to learn PLL without setting up the cube is actually why I got the Giiker in the first place. So thank you!

Any chance of adding the canonical names (T, Ja, Jb, etc.) of the algs, maybe when hovering over the image?

Also, is this open source? If so, where can I find the repository? Thanks much in advance!

Edit: Scratch that, you posted a link to the files earlier in the thread.


----------



## AshleyF (Oct 19, 2019)

bodhisoma said:


> Just got the Giiker i3S, just starting to learn PLL.
> 
> LOVE your site/software. It'll go a long way toward helping me start with a few and add as I improve. Being able to learn PLL without setting up the cube is actually why I got the Giiker in the first place. So thank you!
> 
> ...



Hey, glad you like it! Adding alg names is a good idea. I’ll add it to the TODO list. If you want to get to it first, that’d certainly be welcome. It _is_ indeed open source: http://github.com/ashleyf/briefcubing Have fun!


----------



## hikaruだよ (Apr 27, 2020)

is Gan 356i Play work? since it cheaper than the normal 356i I probably would buy one if it works in briefcubing, tired of locky giiker

and I realize that you don't need the AUF on every cases, is there any setting to not ignore the AUF? I want the cube to be completly solved

also I appreciate the work! this is very helpful! thank you!


----------



## brododragon (Apr 27, 2020)

hikaruだよ said:


> is Gan 356i Play work? since it cheaper than the normal 356i I probably would buy one if it works in briefcubing, tired of locky giiker
> 
> and I realize that you don't need the AUF on every cases, is there any setting to not ignore the AUF? I want the cube to be completly solved
> 
> also I appreciate the work! this is very helpful! thank you!


He said the newer GAN I's were encrypted somehow and he would have to crack them. He might've cracked them, but he's a dead account.


----------



## hikaruだよ (Apr 27, 2020)

brododragon said:


> He said the newer GAN I's were encrypted somehow and he would have to crack them. He might've cracked them, but he's a dead account.


thank you I will try send him an email to confirm if GAN 356i Play really works here


----------

