gqTimer – the Graphy qqTimer mod that Logs and Graphs your times

Ah, right. I think it's browser related: Google chrome 11 gives me (tried 2 pcs):

Code:
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 700, in __call__
    handler.get(*groups)
  File "/base/data/home/apps/rubikland/1-5.344469830792373394/handlers/timer.py", line 183, in get
    player = Player.get_by_key_name(user.federated_identity())
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1212, in get_by_key_name
    return get(keys[0], config=config)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1471, in get
    return get_async(keys, **kwargs).get_result()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 632, in get_result
    results = self.__rpcs[0].get_result()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result
    return self.__get_result_hook(self)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1153, in __get_hook
    entity = self.__adapter.pb_to_entity(group.entity())
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 242, in pb_to_entity
    return Entity._FromPb(pb)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 962, in _FromPb
    (prop.name(), traceback.format_exc()))
Error: Property user is corrupt in the datastore:
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 958, in _FromPb
    value = datastore_types.FromPropertyPb(prop)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore_types.py", line 1785, in FromPropertyPb
    _strict_mode=False)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/users.py", line 115, in __init__
    assert _auth_domain
AssertionError

But it works fine with FF.

Same thing happened with me. Try clearing your cookies. After I cleared them it let me back onto the timer.

But now I'm getting a different problem. I can't check my Stats or submit anything. All I get is a "Page Not Found or Forbidden" I've tried it on other browsers but I still get that. So for now I'm using a different timer.
 
Same thing happened with me. Try clearing your cookies. After I cleared them it let me back onto the timer.

But now I'm getting a different problem. I can't check my Stats or submit anything. All I get is a "Page Not Found or Forbidden" I've tried it on other browsers but I still get that. So for now I'm using a different timer.

Same here, also without cleaning cookies and with FF:

Code:
Page Not Found or Forbidden
 
I'm on Google Chrome "11.0.696.60", and it's working just fine for me.
...
It's also working fine on IE 9.
 
Last edited:
Also using Chrome 11.0.696.60, and it works just fine for me.

But it could an update with the latest scrambles like 2x2 sub-optimal and Pyraminx.

Also more options for saving results to the stats, feet is missing on 3x3 so I have to save under something else.
 
it is still not working on me

I also tried of FF and still it comes like this

Code:
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 700, in __call__
    handler.get(*groups)
  File "/base/data/home/apps/rubikland/1-5.344469830792373394/handlers/timer.py", line 183, in get
    player = Player.get_by_key_name(user.federated_identity())
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1212, in get_by_key_name
    return get(keys[0], config=config)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1471, in get
    return get_async(keys, **kwargs).get_result()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 632, in get_result
    results = self.__rpcs[0].get_result()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result
    return self.__get_result_hook(self)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1153, in __get_hook
    entity = self.__adapter.pb_to_entity(group.entity())
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 242, in pb_to_entity
    return Entity._FromPb(pb)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 962, in _FromPb
    (prop.name(), traceback.format_exc()))
Error: Property user is corrupt in the datastore:
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 958, in _FromPb
    value = datastore_types.FromPropertyPb(prop)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore_types.py", line 1785, in FromPropertyPb
    _strict_mode=False)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/users.py", line 115, in __init__
    assert _auth_domain
AssertionError
 
Last edited:
I just switched to this from Cubemania, I think. It's great thus far, just a few things missing.

It already shows best time, worst time, best averages of 5 and 12 and their SDs. What I really want to see is the session average, and be able to click the averages of 5/12 to see the times that made it up. Then it'll be perfect for me.
 
I was doing some solving on 2x2, and happened to get new PB', then a few solves later, a better PB, and then a few solves later, an even better PB. After I submitted the times, I looked at my stats, but only the best of those times were listed. It appears that only the best time of each session can appear on your "best 5" list, so it is not necessarily displaying the five best times.
 
I just switched to this from Cubemania, I think. It's great thus far, just a few things missing.

It already shows best time, worst time, best averages of 5 and 12 and their SDs. What I really want to see is the session average, and be able to click the averages of 5/12 to see the times that made it up. Then it'll be perfect for me.

Hey Thrawst, sorry for the late reply, but I'm quite happy you like gqtimer and was excited to see the cameo it made in your Dayan ZhanChi Unboxing and Review (http://youtu.be/J2j-dHbeOlU?t=3m46s). I agree that it would be nice to have a session average, but I actually excluded that feature on purpose in an effort to keep the times saved on my server limited to categories of the finite sort. Two session averages aren't necessarily comparable because one could be 1000 solves and another could be 14.

Good point on adding the option to see which specific times make up your best avg of 5 in a session of 12 or so. As it currently stands, you can click on the "details" link in the stats page and see the scrambles and solve times for all solves in that session, but you can't see which 5 solves made up your best avg of 5 or 12. I will add that to the list of potential improvements.

I was doing some solving on 2x2, and happened to get new PB', then a few solves later, a better PB, and then a few solves later, an even better PB. After I submitted the times, I looked at my stats, but only the best of those times were listed. It appears that only the best time of each session can appear on your "best 5" list, so it is not necessarily displaying the five best times.

Also a good point, I didn't realize this and will add that to the to do list. Until then, maybe you could manually add your best times in separate sessions?
 
When I go to submit my 3x3 times, I can say that I am solving it normally, with Roux, Petrus, Colour Neutral etc. I cannot, however, say that I am solving with feet! All that effort I put in to do 5 foot solves...and then I couldn't save them! (I ended up putting them in Petrus). Maybe this is a sign that I just shouldn't do solving with feet...but still. It would be great if you could add a foot solving option, or, even better, have the option to create your own sections (because we all want to have our "OH 3x3 while on a unicycle cooking beef curry" separate...).

Other than that, your timer is awesome!
 
When I go to submit my 3x3 times, I can say that I am solving it normally, with Roux, Petrus, Colour Neutral etc. I cannot, however, say that I am solving with feet! ..... It would be great if you could add a foot solving option, or, even better, have the option to create your own sections (because we all want to have our "OH 3x3 while on a unicycle cooking beef curry" separate...).

Other than that, your timer is awesome!

Ha ha, "OH 3x3 while on a unicycle cooking beef curry" would be hilarious! Sorry it doesn't have Foot solving in there, it makes sense to add it. I will put it on the to do list. Making your own category would be kinda problematic from the coding/database side and so I would prefer not to do that. You could, however, heavily use the comments feature for your times and save odd category solves in the "fewest moves" section. When looking at your times, you would know that times with whole numbers could be a fewest move solve and times with decimal points are "solves with a distractingly hot girl watching" or "solves while underwater".

Sub-optimal random state scrambles like they now have on qqTimer for 2x2 would be nice, so it isn't obvious when you get an easy scramble.

I love the timer though. I will probably use it from now on.

I am behind on getting the new scrambles that have been added to qqtimer into gqtimer and will get it done soon. I don't have a time table, but it is in the works.

Thanks for the love!
 
A feature I think would be nice to implement would be instead of having "the method you used to solve the cube" dropdown box with only a couple choices, there would be that but you could title the method or group name itself. I have all of my averages of 12 in "normal", and I put the averages of 5 in "petrus" because I had nowhere else to put it. I know I can mix them its just that it would be more organized.
 
Hey, thanks for the suggestion. Doing that would actually be rather difficult from my perspective because it would require a new database entry for each new customized name for solving method. I am actually planning on releasing an update, but it has taken me a lot longer than I was hoping because med school is a beast.
 
Back
Top