Rubik's Cube Timer on the Command Line
Time your solves, without leaving the terminal.
Project page (for screenshots and explanation): cli-cube-timer
I was tired of having to go to a browser, and even more tired of not getting to clear my cookies now and then. And also, living with the fear of the cookies getting cleared accidentally, and hence, losing my whole solve history!
So, this is my way around that.
You need a GitHub account to store your solves on a Gist. (Create an account here).
Primary command line executable name.
This will begin a solving session. All session statistics will be stored locally for this session.
solve stats [--bucket n] [--min min] [--max max] [--before timestamp] [--after timestamp]
View your lifetime statistics
This will show you the mean, median, standard deviation and the distribution of your solve times.
The distribution is by default at a bucket size of 10 seconds. If you are an
advanced solver and need more resolution, just use the bucket option and use
solve stats --bucket 2 to show your solves with a bucket size of 2 seconds
If you would like to see just a subset of all your solves, you can use the
max options. For eg:
solve stats --min 10 --max 20 --bucket 2 will print
the distribution of your solve times between 10 and 20 seconds with a bucket
size of 2 seconds.
Starting with v1.2.0, cli-cube-timer stores the time at which a solve was
recorded. You can use the
--after options to filter out solves
within a given period of time. Internally, the string is converted to a
timestamp using moment.js, so you can use any supported ISO 8601 string to
specify the timestamps.
Push all your solves to a gist
Ever wanted to take a backup? Well, do this, and everything stays backed up!
Psst, You can always add more data to your gist, from any other place that you may
have recorded solves previously, and this app will automatically account for that when
calculating stats using
solve stats. Handy, huh?
One time GitHub authentication
This will make some API calls to GitHub's OAuth Authorizations API, and exchange your username and password for an OAuth token, that it will store locally, on your machine. So, you don't have to enter the username and password everytime you want to push, and the OAuth token stays safe. Psst, you can delete and create a new OAuth token using this command at any time, just in case you think there was a breach! (Everything will work exactly like before!)
solve --show gist
Print the URL where all your times are stored
This will print the URL to your gist, using your username and the gist ID that we have stored on your machine.
solve --show local
Print the local path to the file in which local times are stored (before pushing to gist)
Show the path to the files where solve history is stored locally
This will print the local path to the csv files where the solve history is stored. This is an advanced option and please do not open the file if you don't have something specific to do with it.
I would love to have your help on this! Do check out the issues dashboard of this repository, and submit a PR on any one of those issues, and I will be happy to merge! If there are no issues on the dashboard, please do feel free to create new ones!
Code licensed under MIT.
Copyright Siddharth Kannan 2015.