# Speedcubing "Utility"



## FoxWolf (Feb 10, 2012)

Hey everyone!

So, I have recently started a project for a piece of software, which right now is available for a -beta- release. I am looking for feedback on it, and I plan on keeping this up to date as progress has been made.

*Updates below completed 3:08 PM Friday, Feb. 10th (2012) ATL*


> Functioning timer, and detailed averages
> Clearable average, and personal-best data
> List of times, viewable as all items, or current session
> Numerous puzzle choices
> ...


*Future implementation*


> Penalties, Pop, DNF, will remain visible in full details list (view all solves) <!!>
> Algorithms tab to be completed, consisting of useful algorithms.
> Allow the user to insert his own algorithms, for any cube choice, along with an image.
> Allow for timing of these algorithms by selecting an algorithm and hitting 'time'
> ...



*Known bugs*



> Can generate scrambles close to... X Y X' Y' X Y X' Y' (Where X and Y are inaffected by each other) For example... R L R' L' R L R' L' *FIXED*



Things marked with !! are the next intended update. [Estimated time of completion: Feb. 17th]

(There may be intermediate updates, but I'll make sure to say there has been )

Please note, this is a non-exhaustive list of implementations, these are the main ideas at this given time, and all, or none of these may be implemented depending on the difficulty of the task, and other resources.

I have every intention of completing this program, but sometimes life gets in the way.

If there are any items users here think would be beneficial (and required) for a program like this, please message me privately.

If you wish to use the current release of the program you can download it here:

http://gleg.biz/files/speedcube utility.zip

The source code is not yet available. As the program becomes more complete (and better structured) source will be available. The program is written in C#, WFA. You must have a windows computer to run the setup.exe file  [in case you didn't know that]

Virus Scan:



Program Image:


----------



## PandaCuber (Feb 10, 2012)

Very very nice. 

One thing that I would like to see in a timer. Multiple method training. 
On your #7 on future, you put F2L, OLL etc training. Could you make on for Roux? For Petrus?


----------



## FoxWolf (Feb 10, 2012)

PandaCuber said:


> Very very nice.
> 
> One thing that I would like to see in a timer. Multiple method training.
> On your #7 on future, you put F2L, OLL etc training. Could you make on for Roux? For Petrus?


 
I have every intention of allowing the user to select his/her own training session. But yes, Roux, Petrus, K4, etc. would all be implemented by default.


----------



## asportking (Feb 10, 2012)

Not bad! I haven't used it much, but it looks like it works great. I like the nice, simple design. If you could do even half of you plan on doing with it, you could have a REALLY useful timer, especially with that algorithm section.


----------



## PandaCuber (Feb 10, 2012)

FoxWolf said:


> I have every intention of allowing the user to select his/her own training session. But yes, Roux, Petrus, K4, etc. would all be implemented by default.


 
YAY. <3

I downloaded your Timer. 
It doesnt have scrambles. How is that going to work?


----------



## FoxWolf (Feb 10, 2012)

PandaCuber said:


> YAY. <3
> 
> I downloaded your Timer.
> It doesnt have scrambles. How is that going to work?


 
As stated in the future implementations, they are coming. It is one of the next things on my list


----------



## PandaCuber (Feb 10, 2012)

FoxWolf said:


> As stated in the future implementations, they are coming. It is one of the next things on my list


 
ok, just checking.
Well overall. Amazing timer. Keep it up.


----------



## Escher (Feb 10, 2012)

This looks great, I hope you get round to implementing all these features (and more) - an overarching utility for speedcubing is a big project to aim for but there's definitely a market for it. The WCA integration seems a pretty original and useful feature.

I'm sure you could outsource some work to other members of the community if you felt the need, there are plenty of awesome and generous programmers around. It might be a good idea to send a beta test to some specific members of the community to get targeted, helpful feedback, or suggestions.


----------



## FoxWolf (Feb 10, 2012)

Escher said:


> This looks great, I hope you get round to implementing all these features (and more) - an overarching utility for speedcubing is a big project to aim for but there's definitely a market for it. The WCA integration seems a pretty original and useful feature.
> 
> I'm sure you could outsource some work to other members of the community if you felt the need, there are plenty of awesome and generous programmers around. It might be a good idea to send a beta test to some specific members of the community to get targeted, helpful feedback, or suggestions.


 
This is something I am definitely considering, as things become more complex with the program and I actually restructure my code (probably tonight), I will look for some people that may be interested in doing some parts of the project.


----------



## DaKrazedKyubizt (Feb 10, 2012)

Is there a Mac version?

I really hate my MacBook sometimes...


----------



## jla (Feb 10, 2012)

DaKrazedKyubizt said:


> Is there a Mac version?
> 
> I really hate my MacBook sometimes...


 


Spoiler











There's always a solution


----------



## FoxWolf (Feb 10, 2012)

DaKrazedKyubizt said:


> Is there a Mac version?
> 
> I really hate my MacBook sometimes...


 
Possibly, I'll be checking into this. I know I can develop with MonoDevelop and, I may be able to set out a Mac Release. If I can I certainly will.

If not, this should run if you have the .NET framework installed on your mac, using wine (the mac variation) as shown in the post above me.


----------



## FoxWolf (Feb 13, 2012)

*BIG Update*

So, I wanted to note that there is going to be a big update tonight/tomorrow, probably closer to the latter.

This update involves an entire overhaul of the program, data structures have been restructured, sloppy code re-implemented, etc.

Along with this, the source code will be made available for those who *request* it (in private message).

Many new classes, and new data layout for files, made to better handle the program.

Things appear faster at this stage, however some functionality has been temporarily lost. When the new update is out, you *must* completely delete the folder that contains the program in it, including the "Solves" folder which contains all the previous session data.

Important things added to this release:

If you populate all times, view all times after reopening the program, or switch to separate cubes, you can now see which times received penalties or indicators (+2), (POP), (DNF).

Averaging data will be more-precise... taking into account penalties and DNF's, and should properly give correct values... (Only gives incorrect numbers if there are penalties to account for).

if time is DNF, only displays "(DNF)".

More averaging structures: [3 of 5] DNF, DNF, DNF, 20.00, 20.00 == DNF

etc.

----------

- Lobie


----------



## PandaCuber (Feb 13, 2012)

Cant wait!


----------



## FoxWolf (Feb 13, 2012)

PandaCuber said:


> Cant wait!


 
Updated!

-------------------------------------------------------------


Please post any bugs found while using the program so I can log them and fix them:

http://gleg.biz/files/speedcubing program.zip

(Fixed a quick bug)


----------



## PandaCuber (Feb 13, 2012)

i downloaded it. but on different computer. wont let me install.
"Missing required files"


----------



## FoxWolf (Feb 13, 2012)

PandaCuber said:


> i downloaded it. but on different computer. wont let me install.
> "Missing required files"


 
I'll look into it, and re-upload it tonight.

Problem is fixed, re-uploading now. .. same link

uploaded


----------



## ketchuphater999 (Feb 14, 2012)

Hey... if you like I could make a mac version-I know how to program on a mac so you don't have to use wine or that type of things
If you want me to please give me the full detail so I can make it as close as I can to the normal one.


----------



## PandaCuber (Feb 14, 2012)

Very nice. 
Quick thought.
Maybe you could make the 'Scramble' box smaller? Cause its a huge box, bigger than the actual timer box, so maybe make timer a tad bigger and scramble box a tad smaller . 

Remember, just a thought. And the pic is big.
EX:


Spoiler


----------



## FoxWolf (Feb 14, 2012)

PandaCuber said:


> Very nice.
> Quick thought.
> Maybe you could make the 'Scramble' box smaller? Cause its a huge box, bigger than the actual timer box, so maybe make timer a tad bigger and scramble box a tad smaller .
> 
> ...


 
Thanks for the picture! Also shows me another problem with the program that I didn't notice on my end!

In response to the size of the box, it is that size due to the length of some scrambles, even only considering 7x7x7 which nearly fills the box... 11x11x11 fills the box entirely.

I may however scrap some scrambles, or implement the scramble in a different way once I think about possible ideas.

This is certainly something I am considering...

In addition to that, I should note that the timer text can't really get larger, since it nearly fills up the left and right boundaries as it is. I may be able to make it a little bit larger, I'll try and implement these changes for Friday =)


----------



## Felix1996 (Feb 14, 2012)

I need Megaminx scrambles...  Pyraminx and Sq1 scrambles would be nice too


----------



## FoxWolf (Feb 15, 2012)

Felix1996 said:


> I need Megaminx scrambles...  Pyraminx and Sq1 scrambles would be nice too


 
I plan on having scrambles for every puzzle that I can possibly generate a scramble for  [in the friday update I will have all the common puzzles for sure ]

8x8x8-11x11x11 may be removed due to space requirements though.


----------



## AbstractAlg (Feb 15, 2012)

Do only edges, and only corners scrambles. That's the most useful thing for BLD.

Btw, is that C#? 
Database filled with OldDB?

Also, listBox, when selecting time from the right one, why isn't the instant selection on the left? It's just item index?

When checked "Blindfold" checkBox, do not allow inspection.

Don't use setup.exe type of export, just zip .exe i necessary app data, or provide fully functional installer (there are some avaliable for free download).

For the nice look you may use HTMLayout (but that comes for the final-touches), because C# is not very very good with graphics, and if you tend to provide 3D scramble image like Puzzle Timer or so, than it would become very tricky.

Final note: nice program. keep with good work, I expect further improvements with excitement.


----------



## tim (Feb 16, 2012)

AbstractAlg said:


> because C# is not very very good with graphics



C# is neither good nor bad "with graphics". It's just a language. You probably mix it up with the .NET framework and its gui stuff.


----------



## AbstractAlg (Feb 16, 2012)

I experienced certain problems when doing with graphics in C#. There are some style implementations that allow high-quality pictures, animations and stuff, but...


----------



## PandaCuber (Feb 17, 2012)

Its fridayyyyyyyy! Update today?


----------



## FoxWolf (Feb 17, 2012)

PandaCuber said:


> Its fridayyyyyyyy! Update today?


 
I think some 'new' code is up there now, this update is gonna have to be delayed since, university courses trump this 

I have some new scrambles in the testing code, so hopefully it will all be up soon.

I'll upload what I have tonight as well... Source code is in the zip, but password-locked. pm me for the password.


----------



## Felix Jen (Feb 22, 2012)

I love your timer!!
its quite useful other 
but can your possibly set the 3x3 as the default cube in the cube column
i hate having a rlly great time but then realize its in the wrong column!


----------



## jaywong88 (Feb 24, 2012)

nice application...
still need more updating..can't wait till the time come


----------



## FoxWolf (Feb 27, 2012)

Felix Jen said:


> I love your timer!!
> its quite useful other
> but can your possibly set the 3x3 as the default cube in the cube column
> i hate having a rlly great time but then realize its in the wrong column!


 
This will be in a properties menu (hopefully in the next update), but this requires a little bit of overhaul in how the code currently functions.

------------

Hey everyone! Sorry for the absence of output. Had to finish up some more university work!

I have a few more assignments and what-not to go, then my focus will be on this program.

I deem the actual timer, directly completed. Minus adding a few more scrambles. More scrambles may become available for time, but I feel minx, SQ1, and NxNxN cubes are all that is important at this time. But, I do plan on adding some scrambles for other puzzles (as I said earlier) where it is reasonably possible.

-----------------------------------

Algorithms will be my next big project, since this will take a large amount of time to add (most) algorithms, with images. For the first set, I hope to do the following:

F2L, OLL (2-step, and 1-step), PLL(2-step and 1-step), ELL, CLL

Plus, I have come to an interest in actually adding guides to the other methods. (I'm not sure why I wish to do this, but I'll think about it in future updates). Putting it here now so I don't forget.

Obviously in a lot of cases not all 'algorithms' can be covered, such as commutators, and things similar to this. Where there is a limited, but very large amount of 'algorithms' that can be performed to provicde many tasks. Likewise, these are better to fully understand then be given standard algorithms for.

In the same sense there could be guides on some of these methods (X-Cross, Commutators, ...?)

----------

So, now is a time I can release what you guys can help me with!



> * Scrambles!, C# code must return a String of the scramble such as "R U D F' U2 ..." [Megaminx, Gigaminx, ...?]
> * If you wish to help with the algorithms, please contact me in PM with which set you could do. I'll give you a format I require so that I can quickly parse them into the program.
> * More coming soon


----------



## FoxWolf (Apr 28, 2012)

Update!

Hey everyone! I'm sorry for such the delay. But you know, university, work, and all that NONSENSE! Real life stuff always gets into the way.

The project has begun again, and although there is no *gigantic* update to the program, some new ideas have been partially implemented!

These are ~ Cube-specific "Goals" [i.e: Aiming for sub-15 on 3x3x3? Then set your goal for 15 seconds.] - Dialog is implemented, but the actual goal difference is not yet implemented.
and ~ image properties has been added, I think all the properties are there, however, there are no actual functioning code in here. Just blank, dead, buttons...
and also ~ Algorithms tab has been started, just some testing for me in here at this time. No actual functions.
and finally ~ Graphs/Comparisons tab has been added (nothing here yet).

Also fixed:



> Can generate scrambles close to... X Y X' Y' X Y X' Y' (Where X and Y are inaffected by each other) For example... R L R' L' R L R' L' *FIXED*




Now I have a few questions for whoever is interested, and I'll get you a link in a few minutes in this same post! which will be right

>>>> http://gleg.biz/files/speedcube utility.zip <<<< (CHANGES MADE: April 28th 6:20PM EST)

Also, for anyone interested, the below version comes with a 3D Rubik's Cube simulator I made with Open GL and numerous fun alterations  There are a lot of controls for it, but I bet you smart people can figure them out... Here are some interesting ones:

C (Culling On/Off)
_ (Wire frame On/Off)
Q, W, E, R alter the size of the cubies, stickers, distances, etc.)
A, S, D (Choose layer)
F (Rotate [Only one direction]
T (Increase nxnxn) t (decrease nxnxn)
Y (change rotation speed)
" " (SPACE) (Change from cube rotation to lighting rotation)

--- There are unlikely to ever be any updates to the 3D cube program, I was just bored and made it =)

>>>>> http://gleg.biz/files/speedcube utility with 3D cube.zip <<<<<
So, question: in the "Algorithms" tab, would you like to see "Cube patterns" (Snake, Python, Anaconda, Checkerboard, Flower, Chickens Feet, cube in a cube...) for every cube type? So that other people can keep track of their patterns?

Something else that I have thought about here is allowing for a user to upload a "algorithms" folder (zip) that can be given to the program and will install all the algorithms (and possibly new images, etc.) whatever is needed. I am *TRYING* to make this part of the program as CUSTOMIZABLE as I can imagine. So, each set of algorithms for let's say (T OLL) can have not only numerous different algorithms associated with it, but numerous photos as well. This will allow the user to alter the prefferred image (by some nice dialog), as well as the preferred algorithm (once again by a nice dialog). In addition to that, I would like to allow for some way to select a set of these (Let's say allow the user to select 20 OLLs they are practicing, and click "Practice") which will take them back to the Timer, but instead of the "Scramble" the preferred OLL image appears, and the person has to solve it and stop the timer. Then there will be some intermission, and the thing will go again.

Secondly, about the goal. Now if lets say you aren't at your goal yet I'm questioning how I should display this.

* Red Text "+(amount to goal)"
* Red Text "-(amount to goal)"

and if you past your goal

* Green Text "-(amount to goal)"
* Green Text "+(amount to goal)"

I'm leaning more on + when above, and - when below! But if anyone has any complaints about that feel free to comment.

In addition to that the "goal" will allow the user to what part they wish to achieve it with "Overall average, average 10 of 12, 12, 3 of 5, 5, etc."

--- Sorry this has been such a long post!
--- Sorry that it has taken so long as well!
--- Sorry for some of the silly grammatical errors, I'm not entirely sober 

anyway, I am back on it until more life-wild things come up! But I have 4 months of summer =)

Edit:

Bug found right off the bat!

* Buttons not resetting focus (Set Goal, etc.) *FIXED* 6:20 PM EST

Once used just click on the times for now before running the timer... This will be fixed tonight =)


----------



## PandaCuber (Apr 28, 2012)

Everytime I press space to stop timer, a popup comes up and the timer doesnt stop. ):


----------



## FoxWolf (Apr 28, 2012)

PandaCuber said:


> Everytime I press space to stop timer, a popup comes up and the timer doesnt stop. ):


 
This bug was just noted and fixed! It should not be happening anymore, I'm sorry about that.


----------



## ThomasJE (May 19, 2012)

This seems like a nice timer; the only problem is that I can't download the .NET framework. If you could make a version without the framework, that would be really good.


----------



## cubingawsumness (May 19, 2012)

I've downloaded this timer, and it's definitely very nice. However, could you add scrambles for pyraminx, megaminx, and square-1? That'd be great! I can't wait until some algorithms are added.


----------



## FoxWolf (May 21, 2012)

ThomasJE said:


> This seems like a nice timer; the only problem is that I can't download the .NET framework. If you could make a version without the framework, that would be really good.



I might do this in the future. However, I want to get the full functioning code before I make it without the framework, as this will require an overhaul of most of the code and the GUI.



cubingawsumness said:


> I've downloaded this timer, and it's definitely very nice. However, could you add scrambles for pyraminx, megaminx, and square-1? That'd be great! I can't wait until some algorithms are added.


 
Yeah! They will be there.

Right now I'm working (painfully) on the Algorithms system, it's partially functioning at this time but there are some serious issues with it. Plus it's quite a large directory of input, and building all these files may become slow. I want to better complete, test, and change this code so that it works better for the users.

To give a small insight, the main problems right now are adding new algorithm images, algorithms, and even changing them. This is becoming a main problem in recognizing what algorithms the user prefers while still allowing the user to select and choose different algorithms if he chooses.

Furthermore a mass addition function is needed to make the code much quicker since, lets say for adding OLL, no one wants to hand add 52 images and numerous algorithms per image. Although to have the mass-add function, someone will need to do this. But the mass add will make it easier for other people by allowing the user to send a zip (or some other formatted file) and allowing the program to receive that directory and set it all up.

- Lobie


----------



## ThomasJE (May 21, 2012)

FoxWolf said:


> Furthermore a mass addition function is needed to make the code much quicker since, lets say for adding OLL, no one wants to hand add 52 images and numerous algorithms per image. Although to have the mass-add function, someone will need to do this. But the mass add will make it easier for other people by allowing the user to send a zip (or some other formatted file) and allowing the program to receive that directory and set it all up.



Couldn't you allow the user to upload their own images/algorithms?


----------



## FoxWolf (May 28, 2012)

ThomasJE said:


> Couldn't you allow the user to upload their own images/algorithms?


 
this is being added as well , but I figure adding a "large" collection may be easier for some more lazy users


----------

