-
Notifications
You must be signed in to change notification settings - Fork 89
A brief history
Ruby processing was developed by Jeremy Ashkenas (jashkenas), in the original versions both jruby-complete and processing needed to be doctored for use in ruby-processing. At that time java was available on all platforms, and java processing applets could be easily be exported to run in web-browsers. You could even export ruby-processing applets to run in web-browsers, but it wasn't too practical since jruby-complete needed to be included in the Applets (11 Mb). The original version of processing was not too demanding of a computers graphics card, with software based P2D and P3D. Support for OPENGL was an optional extra, but even that was supported by quite cheap graphics cards. Guillaume Pierronnet (moumar) also did a fair bit of work toward the last rubygem releases of ruby-processing (processing-1.5.1) see CHANGELOG, by this time ruby-processing was using un-modified jruby-complete and processing jars (so they did not need to be included in the github repository). I am pretty sure it was moumar that developed the autobuild/test scripts, however since ruby-processing was still hosted at rubygems this was not important to the average user.
Starting in November 2012, Martin Prout (monkstone) began work on updating ruby-processing to work with processing-2.0 ( when it was still at the beta stage, processing-2.0.0 was eventually released June 2013 ) and jruby-1.7.0. It was in June 2013 that monkstone started commiting code to ruby-processing master at github, with the mistaken assumption that the revised gem would be hosted at rubygems. For that reason initial changes were quite conservative, just doing what was necessary get ruby-processing to work with processing. Once it became apparent that following a policy change at rubygems the current rubygem was too big to be hosted there, more drastic changes were considered. These included "clobbering" the git archive to remove uneeded binary files (mainly legacy versions of jruby-complete), this drastically reduced the size of the github repository (and it was hoped this may pave the way for vanilla processing to do the same, their repository is insane at over 1.3 Gb, consisting of mainly unused/unusable binary blobs). A major change for processing-2.0, is that the previous P2D and P3D are now implemented using OPENGL, and require a half decent graphics card/driver combination (NVIDIA has always been most compliant).
To facilitate the use of rubygems with ruby-processing, the default setting was changed to using an external (system installed jruby). The fisica library also requires an external jruby. However certain sketches, notably shader and image manipulation sketches seem to require the vendored jruby to run (using the --nojruby flag). To make the ruby-processing gem smaller (with a view to returning to rubygems.org hosting) the "processing" and "jruby-complete" jars were removed from the gem. Processing jars to be provided by an installed version of vanilla processing, and the jruby-complete jar is now downloaded and installed as a post-install operation. Ruby-processing returned as a rubygem release on 22 December 2013. the change to using processing-2.1 is also very significant since default version of java is now java 7, does not seem to play well on the Mac (which is why we are recommending processing-2.0.3 on the Mac also it has become dangerous to assume that java is pre-installed eg MacOSX Mavericks).
More performance improvements are expected from jruby-9000 and jdk8 both due to be released in 2014. Get the development version of ruby-processing here.