Who among us hasn’t wanted to play the Towers of Hanoi on the Github commit-history graph?

I made some changes to my Hanoi Jane gem:
I then built Gitpaint, which allows you paint whatever 52*7, 5-grayscale data you want onto the Github graph
And then I brought it all together with this, orchestrated by Rake. The default Rake task will:
Or spawn a new set if a save-file can’t be found
Which means:
To allow Github time to refresh
There’s some heavily cargo-culted Node which takes the screenshots using Chromium
To Twitter and Mastodon, using the Ternary values from Hanoi Jane as the text
Ready for the next run
This all requires quite a lot of configuration, as you might expect, which should go in config/config.yaml:
Needs:
username and email, so the commits will be credited and counted correctly (I’m doing this on a separate, dedicated Github account)repo to work with: this will be created locally at /tmp/#{repo} and remotely at https://github.com/#{github_user}/#{repo} (and it will be mercilessly deleted from both places between runs)repo privileges and, crucially, the separate delete repo privilegessh_key that can commit to the #{github_user} accountscale_factor, by which each commit count will be multipliedproject_url which will be added to the social media transmissionsNeeds:
save_path, for saving and loading the towers between runsdiscs value (between 2 and 7)Needs:
consumer_key, a consumer_secret, a token and a secret - see Twurl for help on setting these upNeeds:
tokenbase_url of your Mastodon instanceaccount_id (which you can get by clicking on your @name from some places in the Mastodon UI)(copy config/config-example.yaml to config/config.yaml and fill in as required)
It takes 2187 moves to solve the 7-disc Towers of Hanoi (3**7). EMF Camp 2020 is about 16600 hours away from now, 2018-10-06 (presuming it happens around the same time as this year’s), and I want this to finish right in the middle of EMF. 16600 / 2187 is about 7.5, so I’m cronning this for three times a day and I’ll review that schedule when the actual dates are announced