I mentioned Syphon in class, and folks seemed a little bit "WTF." That's normal.
It's one of those things that is so powerful in the abstract that it's tough at first to see why it's so amazing. Just imagine being able to use a live screen from pretty much any application as a video source in any other application.
Like let's say you write a simple live-drawing sketch in Processing. But you want to draw over a video loop. You's use Resolume to have the loop going, then you could use the Syphon functionality to have your Processing sketch show up in Resolume, mixed on top of the looping video as if it were just another video.