I’m curious as to why some drawing commands are nondeterministic across machines, even running the same software.
I surveyed some finger printing algorithms a few months ago and I learned that the fingerprinting algorithms gather information about your machine and browser capabilities: the OS, the screen resolution, the screen size, the font list, and machine specifications (3d extensions, graphics accelerations, etc.). WebGL would be especially rich for exposing this information. Drawing to a canvas could be a way to sniff some of these capabilities out even if they the browser is not letting 3rd party JS know about them. This is all conjecture but seems likely.
I was just trying to get a very similar tool up and running: rosetta (for racket scheme). http://web.ist.utl.pt/antonio.menezes.leitao/Rosetta/about/about.html
I haven’t had much success on Linux or Mac yet. I’ll give libfive studio a spin instead!
Their book “Programming for Architecture” http://web.ist.utl.pt/antonio.menezes.leitao/PA/book.html seems very interesting.