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

Could you also have it graph averages of 100.

Hey I don't know if they has been suggested but I'd really like to see a best avg of 100 and/or session avg, # of solves, and a few times when I have pressed submit it has failed and the times all reset so I guess I'd like a way to submit times without resetting (to prevent accidental data loss). Thanks.

Thanks for the suggestions. Avg of 100 is probably our most requested feature and we have definitely considered it. The jury is still out, but we would rather not support it at this point due to database storage issues (also it would crowd the column view in the stats page). Same goes with session average unfortunately. We will keep this on the todo list however for possible implementation in the future.

We want to come up with a better solution to prevent accidental data loss. We will work on a fix. We also want to make sure that your times are submitted twice, that is why your times must reset after each submission to the database.
Have you considered putting a small warning message about navigating away from the page/refreshing so you don't lose your session?
 
Could you also have it graph averages of 100.

Hey I don't know if they has been suggested but I'd really like to see a best avg of 100 and/or session avg, # of solves, and a few times when I have pressed submit it has failed and the times all reset so I guess I'd like a way to submit times without resetting (to prevent accidental data loss). Thanks.

Thanks for the suggestions. Avg of 100 is probably our most requested feature and we have definitely considered it. The jury is still out, but we would rather not support it at this point due to database storage issues (also it would crowd the column view in the stats page). Same goes with session average unfortunately. We will keep this on the todo list however for possible implementation in the future.

We want to come up with a better solution to prevent accidental data loss. We will work on a fix. We also want to make sure that your times are submitted twice, that is why your times must reset after each submission to the database.
Have you considered putting a small warning message about navigating away from the page/refreshing so you don't lose your session?

Yes, that should be completed within a week (I had to take a break from development to deal with school stuff)
 
3x3x2 submission is broken.
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__
handler.get(*groups)
File "/base/data/home/apps/rubikland/1-4.343500039714941575/handlers/timer.py", line 224, in get
form2 = ArchiveForm(initial={'puzzle': puzzle, 'mode': mode,})
UnboundLocalError: local variable 'puzzle' referenced before assignment

Please fix this for all puzzles. This is the only one I'm aware of right now.
 
Sorry lilj, only official WCA puzzles are supported.

We just released an update of the timer with a lot of minor improvements, check it out!
 
Do you think you could make a feature to imput data manually? Sometimes I write down my times on a trip or something, that would be really cool, other than that this timer/grapher is awesome.
 
Last edited:
Do you think you could make a feature to imput data manually? Sometimes I write down my times on a trip or something, that would be really cool, other than that this timer/grapher is awesome.

Like, you want to type in your own times and not have to press the space bar to make it add a time?

Click the word "Show" (as in show timer options) then click "manually" (as in enter in times manually).
 
OK, I think/hope that I have this resolved.

I clicked on the link at the bottom of Google's warning page that says "If you are the owner of this web site, you can request a review of your site using Google Webmaster Tools" and from there I was able to see the exact pages on my domain that Google said had malware. The only two pages were

URL: http://kungfoomanchu.com/
Last checked: November 7, 2010

and

URL: http://www.kungfoomanchu.com/
Last checked: November 7, 2010

They did not say anything about http://gqtimer.kungfoomanchu.com/

Sure enough, when I went to http://kungfoomanchu.com/, my Java plugin started up... This shouldn't have happened, so I look at my FTP site and notice that 4 html files in my root directory had been updated on 11-7-2010, but I'm sure I wasn't the one who made the updates. New code had been added to each file..

I removed that code from each html file and now my Java plugin does not start up when I load http://www.kungfoomanchu.com or http://kungfoomanchu.com

Moral of the story
  • I believe that only http://kungfoomanchu.com and http://www.kungfoomanchu.com were hacked, Google Webmaster Tools agrees with this
  • The gqtimer application is hosted on a seperate webhost than the rest of my kungfoomanchu.com website, so even if kungfoomanchu.com got hacked, the subdomain gqtimer.kungfoomanchu.com should have been spared
  • New code was found on my index.html page that caused www.kungfoomanchu.com to load a Java plugin, this code has since been removed and the java plugin does not load.
  • Google rescaned my page and the malware warning has been lifted. They have recleared my site.

I truly apologize and thank those that pointed this out to me. I did not do any of this on purpose!

If anyone would like to point out security vulnerabilities in the scripting of my website I will give you a prize (please report them via private message of course).
 
Last edited:
The timer page is broken.

I would also appreciate if you could include session avg and avg of 100 into the saved data.
 
I'm not having any problems with it at all.

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.
 
Back
Top