2009 light9 theater lighting software report

David and I brought light9 back to life again a few weeks ago to run lights and sound for an annual dance show.
Each year we put a little bit of time into the code and then design and run a show over a weekend. Then we don't think about the code for hundreds of days, which leads to time-capsule notes to ourselves for the next year. It's a little disturbing to think about the future of a code project when it has the property that each chunk of development takes 1% of your life to complete.
This year, the notes have a bunch of small technical fixes, but I wish we could make some big changes that really improve our productivity. The bottleneck occurs when the dancers are rehearsing a song and we're trying to design and test lighting effects at the same time. We only see each song a few times, so even half a second lost to 'using the software' is a concern. There need to be actions like "that looks cool, remember it", "that was right, but a bit too late-- put it on a list of things to review with music later", "make the light animation 10% busier", "give me a random, contrasting look right this instant so I can fade to it (and I'll fix up the exact look later)". These actions need to be run from either of our computers.
There are other actions that would be helpful to run remotely. Sometimes I'm up on a ladder and I need light b35 turned on and then the other two blue lights faded up and down so I can see how b35 fits in with them. Dave can do this pretty easily from the booth, but it would be a better use of his time if he was in the audience planning out the looks we're trying to acheve. Maybe I can manage to press buttons on my cell phone, or maybe we can get some voicerec working.
Like many other data-editing tools, the light9 software uses names for various entities. I don't mind typing the names for songs, for example, but it's pretty poor that I have to name the things that I want to fade up and down during a song. We end up with names like "slcross", "green", "cs1", "edge", "bpurpleall", "centercircle", etc. I'm typing those (and reading/decoding them) while a song is being rehearsed, which is the most sensitive time of all! I want to move toward images, either captured at the moment we make the look, or synthesized from photos of each individual theater light (which is easier than it sounds [my project] [Ian's project]).
I also have most of the data in RDF, which should open us up to better sharing and syncing between apps. Right now I still read .n3 files from the filesystem, so there's no improvement in functionality. I like Sesame, so I thought I'd put my data in there and use some messaging service to send pings between the apps when things change. But the Open Anzo RDF store may have figured out that notification stuff already, so I'm eager to look into it some more.
Atom feed of this blog
<class 'rdflib.syntax.parsers.n3p.n3proc.ParseError'> at /public/comments
Illegal literal character: u'\r'
Traceback (innermost first)
/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/n3p/n3proc.pyinunquote/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/n3p/n3proc.pyinliteral/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/n3p/n3proc.pyinliteralFinish/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/n3p/n3proc.pyinonFinish/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/n3p/n3p.pyinparse/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/n3p/n3proc.pyinparse/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/syntax/parsers/N3Parser.pyinparse/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/Graph.pyinparse/usr/local/lib/python2.6/dist-packages/rdflib-2.4.1-py2.6-linux-x86_64.egg/rdflib/Graph.pyinparse/my/site/blog/baby/commentServe.pyingetGraph/my/site/blog/baby/commentServe.pyinGET/usr/local/lib/python2.6/dist-packages/web.py-0.34-py2.6.egg/web/application.pyinhandle_class/usr/local/lib/python2.6/dist-packages/web.py-0.34-py2.6.egg/web/application.pyin_delegate/usr/local/lib/python2.6/dist-packages/web.py-0.34-py2.6.egg/web/application.pyinhandle/usr/local/lib/python2.6/dist-packages/web.py-0.34-py2.6.egg/web/application.pyinprocessRequest information
INPUT
COOKIES
No data.
META
ENVIRONMENT
You're seeing this error because you have
web.config.debugset toTrue. Set that toFalseif you don't to see this.