This site is good for showcasing Processing projects, but is really rough around the corners- it lacks almost every feature of sites for sharing photos or art or anything except for leaving comments, and tagging. The 'viewed nn times' increments when the page is reloaded, which is like a hit counter straight out of 1997. There's no real good way for good graphs to float to the top and be seen more except for an unknown process by which editors select certain submissions for exhibition. There are a lot of applets that don't work but aren't hidden or demoted from view.

It's not like there are no other options for hosting java applets for free- google code works pretty good, and by putting google analytics javascript into the html page it's easy to track the traffic to the page.

But there do seem to be a number of people that visit the site and look at my submissions, but I think I have more unique views from using the exhibition rollup on the official processing.org site.


thingamajiggr, and 2 new Processing effects

I'm beginning to incorporate more processing effects into my sets, so I developed two for thingamajiggr. They are less friendly to live alteration than gephex graphs, but if the bulk of the effect is done it's easy to live-code simple keyboard controls or change parameters.

I need a way to get video or screen captures into Processing, on Linux this is not easy- if it doesn't already exist I'm thinking of sending image data from gephex to Processing through an internal loopback path.

Audio input used to work for me but now it doesn't.

First effect: multicolored perlin lines. When shown live the colors dovetailed with led lighting of an artwork in the main theater room:

(click on the image to see the java applet)

The second effect is a standard gas/fluid simulation that uses springs. I spent a lot of time trying to get more complicated flow fields working, but I ended up moderately simple:

(click on the picture to see and play with the java applet)

Things that went wrong or I need to fix:

Holding my laptop on my lap is not very ideal when my laptop has an rgb output without locking screw holes. The connector fell out a few times. The other lesson is to always have good surface so the laptop can be left still.

Not being able to eliminate window manager titles and borders around processing output. I should find a more minimalist window manager.


Optical Flow in Processing

The standard Lucas-Kanade method as described in the wiki page entry on it here. One key thing not mentioned there (at least until I edit the page) is to use the Sobel operator to get partial derivatives in the x and y direction.

link to applet

Glancing at the OpenCV implementation I notice there is a check for certain kinds of matrices that aren't invertible by the primary method, I may need to be doing that for more robust operation.


Hosting java with google code

I used the export function of Processing to create a jar of an a-star search/a* search demonstration, and added the files into my google code subversion repository. Then it's necessary to set the proper mime-types:

svn propset svn:mime-type application/java-archive astar.jar
svn propset svn:mime-type text/html index.html

Here's an example:

I don't think I can embed the jar directly here, I get this error:

load: class astar.class not found.
java.lang.ClassNotFoundException: astar.class
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:168)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:119)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:599)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:721)
at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1781)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:650)
at sun.applet.AppletPanel.run(AppletPanel.java:324)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: open HTTP connection failed.
at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:271)
at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:44)
at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:158)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)
... 9 more

It seems like certain colormodes don't work when exporting from processing (135)- use the integer 0-255 colormode.

For a jnlp (like created with the gwt kit):