• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 30,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

csTimer released

Joined
May 28, 2008
Messages
148
Likes
51
Location
China
WCA
2008CHEN27
Thread starter #1
csTimer (translation needed)

cstimer: https://cstimer.net/
cstimer upcoming version: https://cstimer.net/new/

If you are a developer, you may find the source code of cstimer at: https://github.com/cs0x7f/cstimer


==========
update Dec. 10th, 2017
Key Features:
1. customizable statistical indicators
2. scramble image for all WCA events
3. inverted time list and optimized ui for mobile devices
4. performance optimization, especially for large sessions, e.g. >100,000 values
5. multi-phase timing settings are saved in sessions by default. Hence, it will be automatically adjusted when switching sessions.

Since I use a different storage (IndexedDB) to store the session data, I'm not sure whether all of your data will be successfully move to the latest version. You may find the previous version at https://cstimer.net/old3/

Notice: https://cstimer.net/new/ will always be the latest version of cstimer and synchronized with the source code, while https://cstimer.net/ is considered as the main version of cstimer.


Here are all updates in detail:
Function updates and bug fixes
  1. Customizable statistical indicators. Now you are able to statistical indicators calculated, which is mo3, ao5, ao12, ao100 by default. You can set it to any values you like, e.g. mo5, ao25, ao30, ao42, mo100, ao10000000, etc. See "Options -> Statistics -> Statistical indicators."
  2. Add Redi cube scramble. Since I do not have plenty of time to write a random-state scrambler for Redi cube, it only generates random-move scrambles.
  3. Add scramble image for clock and megaminx. Then, scramble images of all wca events are available now.
  4. Add M moves in virtual rubik's cube mode, which is binded to key '5' and '6.'
  5. Fix multi blindfold scrambles and clock scrambles.

User interface optimization
  1. The time list is inverted, e.g. the average label is displayed at first, with the latest time next to it, and then the second latest time.
  2. Only 50 values are displayed by default. Even though, when you scroll down to the end of time list, the next 50 values will automatically loaded and displayed. In this way, cstimer will not get frozen due to time list loading during conventional solvings.
  3. We optimize the mobile user interface of cstimer. The statistics area and time list area are displayed in the same row, then they won't cover the current time displayed behind them.
  4. The "option" and "about" dialog are optimized.
  5. We add huge amounts of color schemes at "ABOUT -> Color Schemes", totally 99 different color schemes. Most of them are collected from Internet and the uploaded data.

Performance optimization
  1. The calculation duration of 3x3x3 scramble and SQ1 scramble are optimized.
  2. We add a simple scramble cache. In previous versions, cstimer will generate scrambles immediately when you finish timing, which might cause a tiny UI freezing. While in the latest version, cstimer will cache one scramble, and when you finish timing, the cached scramble will be displayed, and the generation of the next scramble will be executed a moment later.
  3. The calculations of the statistics are optimized. If you only append values to the time list, the whole update of all statistics data are extremely fast even when you have huge amounts of values. According to my test, even you have 100,000 values in your time list, the calculation duration is less than 0.05 seconds. However, if you did some modification on the time list, the calculations are much slower, e.g about 1 seconds in a session with 50,000 values.
  4. We decide to use IndexedDB as the storage of the session of cstimer due to the limit of localStorage. According to the documentation, the storage quota of localStorage is only 5MB, which only supports about less than 50,000 values. Instead, the storage quota of IndexedDB is dependent on your disk size, which can be considered unlimited.

Language support
  1. We add Danish and Croatian. Thanks to the translation works by Alexander Mortensen and Dominik Vidaković


==========
update - Dec 12th 2015

I've just committed an update. There isn't any functional changes in this update. The only difference is some details of the interface, especially the adaption for mobile devices. Detailly, if you open cstimer on a screen whose width-to-height ratio less than 5/6, cstimer will switch to mobile version automatically.
Furthermore, the size of the timer will automatically adjust according to the resolution of your screen. Hence, cstimer almost looks the same no matter you are using a 1366x768 screen or 3840x2160 screen. As cstimer is designed for 1366x768 screens before, you will find that the statistics bar, the scramble bar and the font size is much larger than previous versions on a 1920x1080 screen. If you wanna have smaller or larger statistics bar, scramble bar and font size, you may adjust "Options -> display -> Zoom" according to your habit.

I noticed that most of users will enable the statistics tools. So I add the statistics tools to the statistics area and displayed by default. Previous statistics tools will still work, but I recommend you close the statistics tools as it might cover the timer or the ao5/ao12 label. Here's a snapshot of the new statistics tool in the statistics area before the time list:
If you don't like it, you can disable it via "Option->Statistics->show summary before time list"

==========
update - Sep 18th 2015
A simple synchronization function is supported.
As shown in the image, when you click "Export to server" and input your account (without any password or authentication), all your data will be uploaded to the server of cstimer. And when you click "Import from server" at some other devices with your account, all uploaded data will be downloaded and imported.

Notice:
1. The account id is the ONLY identification, anyone else can upload/download/edit your data if he gets your account id.
2. All data transmitted have not been encrypted, which means your data might be captured by third party.

==========
update - Sep 5th 2015
Some optimization for the case of huge amounts (e.g. 1000+) of values.
First, if the number of values is larger than 100, only last 100 values will be displayed while the others are omitted. Of course you can click the "..." tag to view them:
Then, the statistic tool is about 100x faster. Once it spent several seconds for calculation if you have 1000+ values, but now, several milliseconds.

==========
update - Sep 3rd 2015
Now you can delete multiple values immediately. When you click the "X" button of some values, cstimer will ask you the number of deleted value. And then, these values started from current index will be deleted.
As shown in the picture, if you input "1"(of course the default value), only the value "3.14" will be removed. And if you input 2, "3.14" and "0.36" will be removed. And if you input a number no less than 5, all values will be removed.

==========
update - Aug 5th 2015
csTimer mobile version released!
The mobile version is in beta version, and can be found at cstimer.net/mobile.php
Here's a snapshot of the timer:
It works well on most of the modern browsers, e.g. iOS Safari, Opera Mini/Mobile, Android browser, Blackberry browser, Chrome/Firefox for mobile, etc.

==========
update - Aug 4th 2015
The session function is enhanced.
Firstly, you are able to create, delete and rename sessions, which means that the number of sessions is unlimited now.
Then, when you switch between sessions, scramble type will also be switched automatically (enabled by default), vice versa (automatically create a new session when you switch scramble type, which is disabled by default)


==========
update - Aug 3rd 2015
All data, include all sessions and all settings, can be exported now. The exported data which will be saved as a single txt file. And you can import the data from the exported txt file of course.
Notice: Once you import the data from exported txt file successfully, all of the settings and sessions will be covered by the imported data, and then the page will be reloaded.

==========
update - May 25th 2015
Now you are able to rename your session names by clicking the "Session" string.
==========
update - Aug 31st 2014
Use smaller font after the decimal point. If you don't like this, you can disable it at "Option" -> "display" -> use small font after decimal point.
==========
update - Aug 30th 2014
Add scramble generator. Now you can generate several scrambles at once.
==========
update - Aug 29th 2014
Add color settings. The color scheme of cstimer can be customized like qqtimer now.
Here's a snapshot:

==========
update - Apr 4th 2014
We're going to translate cstimer into several languages (such as Japanese, French, Spanish, etc.)
If you are willing to help translating cstimer into your native language, please contact me (email: [email protected] .)


==========
update - Jan 25th 2014

- add skewb random-state scrambler
- add 2x2x2 EG Training scramble
- add ZBLS(zb last slot) Training scramble(last F2L slot with all edges oriented)
- add a label to display average near the timer
==========
August 9th 2012

- add share-button
- add official blog
- support stackmat II and stackmat pro(it might not work quite well.) ARGS -> timer -> entering in times with "stackmat"
- integrated with twisty.js(virtual rubik's cube like hi-games.net), and all 3x3x3 scrambles are also available, which means that you may practise last-layer scramble with it. ARGS -> timer -> entering in times with "virtual"
- add statistics tools and time-distribution tools
- connect to insertion finder(http://mf.qiyuuu.com/cube/if.cube)
- add another 2 digital fonts
- fix several bugs, and it now works well on iphone or ipad

time-distribution tools:
statistics tools:

==========
July 9th 2012
new url: http://www.cstimer.net/

==========
June 23rd 2012
new feature:

1. You may input scramble from weekly competition, etc. see the demo:
[youku]XNDE4Mzk0MjI4[/youku]
2. Speeding up initialization of 3x3x3 random-state scrambler/solver. On my laptop, cstimer spends 200ms on initialization while qqtimer spends 500ms.
3. You might use keyboard shortcut to switch scramble types, session, also to remove all session or the latest time in the session, etc. see "ABOUT" document.
4. Fix many bugs.

The function of cstimer is quite like qqtimer, but actually, most part of it is different from qqtimer except statistics details and scramble. As you see it almost impossible to rewrite such scrambler as qqwref although I did do many modifies indeed, for example not all scrambler initialized at its launching thus saves memory, initialization time.

I think there still billions of bugs :p. So, any bug report, suggestion, complaint, encouragement is welcomed ;)

==========
update:
a) cmll, lse, zbll, cll, ell scramble is available now.
b) if the 3x3-random-state solver finds solution in 50ms, it'll continue finding shorter solution(s) until time over (50 ms). This makes 3x3 subset scramble(such as last layer, zbll, etc.) much shorter.
c) fast sq1-random-state solver released.
 

Attachments

Last edited:

ThomasJE

Premium Member
Joined
Dec 31, 2011
Messages
1,792
Likes
5
Location
England
YouTube
ThomasJECubing
#3
I really like the cross solve; that would be a very good function for those who are looking to get their cross near-optimal. The speciality scrambles are very slow; otherwise I might give this scrambler a chance to generate scrambles for my LL comp. If you can speed it up, that would be good. The layout is better than qq, but the speed of the scrambles being generated would make me sway towards qq. Maybe it would be worth releasing this as a downloadable timer, to speed it up. This timer definitely has potential, though.
 
Joined
Apr 23, 2011
Messages
424
Likes
1
Location
Maine, USA
#11
Wow, I love that you can have up to 10 stages; that could be really useful. :)

But, I had refresh the page a few times before it loaded. It was just a blank page. I am using Firefox.
 
Joined
Jan 16, 2012
Messages
458
Likes
2
Location
California
WCA
2012CHIE01
#13
But, I had refresh the page a few times before it loaded. It was just a blank page. I am using Firefox.
yup me too. and i'm using firefox too. But now it's working great!
I love how this timer looks and how you can click the times to see the scrambles, and click the number to delete. Overall, I love the interface and I'm definitely gonna use this timer from now on. Great job!
 
Joined
May 28, 2008
Messages
148
Likes
51
Location
China
WCA
2008CHEN27
Thread starter #14
Bug #1: I'm getting server error when I attempt to load the page.
0.0 The connect is randomly, frequently, unpredictably reset by GFW(the great firewall) of China. Just fresh and fresh~(You may check the source code of it. If you get nothing, you know what happened)

I really like the cross solve; that would be a very good function for those who are looking to get their cross near-optimal. The speciality scrambles are very slow; otherwise I might give this scrambler a chance to generate scrambles for my LL comp. If you can speed it up, that would be good. The layout is better than qq, but the speed of the scrambles being generated would make me sway towards qq. Maybe it would be worth releasing this as a downloadable timer, to speed it up. This timer definitely has potential, though.
The cstimer's 3x3x3 solver is the same as qqtimer's. The only difference is I compressed it with closure(google's javascript tool) to reduce code size or speedup downloading. I'll check whether it does run much slower or just because of the bad network environment.
 
Joined
May 28, 2008
Messages
148
Likes
51
Location
China
WCA
2008CHEN27
Thread starter #16
I love this timer but I have one question. Is there an average of 100 function?
Of course yes. Just Click the last row which shows "avg: XXX", you'll get such details like:
Generated By csTimer
number of times: 101/101

best time: 0.01
worst time: 51.67

current mo3: 0.09 (σ = 0.02)
best mo3: 0.05 (σ = 0.04)

current avg5: 0.10 (σ = 0.01)
best avg5: 0.06 (σ = 0.01)

current avg12: 0.09 (σ = 0.01)
best avg12: 0.08 (σ = 0.01)

current avg50: 0.11 (σ = 0.05)
best avg50: 0.11 (σ = 0.05)

current avg100: 0.54 (σ = 3.64)
best avg100: 0.54 (σ = 3.64)

session avg: 0.55 (σ = 3.66)
session mean: 3.19

Time List:
41.16, 34.64, 42.42, 51.67, 39.78, 49.08, 48.99, 0.19, 0.21, 0.05, 0.19, 0.18, 0.20, 0.22, 0.05, 0.09, 0.23, 0.07, 0.05, 0.05, 0.27, 0.28, 0.33, 0.23, 0.30, 0.27, 0.35, 0.37, 0.29, 0.24, 0.51, 0.04, 0.10, 0.10, 0.27, 0.11, 0.09, 0.10, 0.11, 0.13, 0.12, 0.33, 0.14, 0.32, 0.35, 0.11, 0.12, 0.14, 0.13, 0.12, 0.30, 0.06, 0.18, 0.04, 0.06, 0.07, 0.19, 0.05, 0.10, 0.10, 0.23, 0.05, 0.25, 0.01, 0.10, 0.06, 0.26, 0.09, 0.10, 0.12, 0.09, 0.10, 0.14, 0.26, 0.30, 0.12, 0.17, 0.15, 0.12, 0.05, 0.11, 0.53, 0.22, 0.10, 0.10, 0.10, 0.09, 0.08, 0.07, 0.06, 0.07, 0.10, 0.06, 0.09, 0.09, 0.10, 0.11, 0.10, 0.08, 0.11, 0.09
 
Last edited:
Joined
May 28, 2008
Messages
148
Likes
51
Location
China
WCA
2008CHEN27
Thread starter #18
Fixed its bug on IE7, IE9 which I hadn't found before. Thanks to Carson's image at #5. Now it works on chrome, firefox, safari, opera, IE9+ and seemingly on IE7 and IE8 (some functions such as 3x3 random-state scramble still don't work quite well on IE7 and 8 for some reasons)
 
Top