Skip to content
Martin Prout edited this page Nov 3, 2013 · 66 revisions

The past

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.

A period of transition

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 version 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 over 1.3 Gb consisting of mainly unused/unusable binary blobs).

Current

To facilitate the use of rubygems with ruby-processing, the default setting was changed to using an external (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). The change to using processing-2.1 (last previous was processing-2.0.3) is also very significant since default version of java is now java 7 (also it has become dangerous to assume that java is pre-installed).

Future

Return to rubygem hosting, by using vanilla processing jars in-situ to provide processing jars (via classpath) and installed jruby (offering jruby-complete as a post install option?). [CHANGELOG]:https://github.com/jashkenas/ruby-processing/blob/master/CHANGELOG [November 2012]:http://learning-ruby-processing.blogspot.co.uk/2012/12/testing-ruby-processing-with-processing.html

Clone this wiki locally