Workshop and performance
Performa Institute - November 2013
Paradise Interrupted is an opera in development that presents a world activated by a lone voice in search of an unattainable ideal. For Performa this opera was presented as a workshop in which Jennifer Wen Ma created a large-scale three-dimensional wall garden in paper, had a public workshop of the opera in progress and concluded with a couple of performances by Qian Yi set within the paper garden and interactive projections on the garden.
I mainly explored the interaction between Qian Yi's voice and some abstract visuals that were rendered as a placeholder for the actual visuals that will be used.
The images were produced by analyzing tone and volume. Volume determined the size of the images, tone determined the complexity of the images and tone change determined the movement (direction and speed) of the images.
I was the Creative Technology Director for this project. The whole team:
Jennifer Wen Ma, concept and visual direction
Qian Yi, Kunqu performer
Huang Ruo, composer
Xiao Lihe, lighting designer
Matthew Hilyard, stage design
Xing-Zhen Chung-Hilyard, costume design
Melissa Kirgan, costume design
Marianna Peragallo, coordination and production
Paradise Interrupted Workshop is co-presented with Witte de With Center for Contemporary Art, and supported by the Asian Cultural Council.
This is a great project i worked on by Jennifer Wen Ma ( I did the creative technology direction )
We are controlling the individual "bubbles" surrounding the structure. Each day has it's own different animation based on the I-ching, modified by the mood of the day on Weibo, the Chinese twitter.
The Water Cube is now the Beijing National Aquatics Center. It was originally constructed for the 2008 Summer Olympics in Beijing and later converted into a water park.
The structure is a metal space frame holding up a special plastic film (IETF)shaped into bubbles. Each bubble is illuminated from the inside with rows of addressable RGB LED lamps.
Since each bubble is addressable we can use the water cube as a gigantic low-resolution screen.
So each day a program calculates what animation the day brings based on the I-ching and modifies the animation according to the total mood of the day on weibo. For example the day's animation might be thunder. The mood can make the lightning flashes more frequent, more intense and brighter (or the opposite)
This makes each animation a unique combination of the nature of the calendar day plus the experience of the people that lived that day.
How we do it:
Zhao Fei in the foreground was part of the original water cube deployment team during the Olympics and is in charge of the final step of converting the renderings to the specially designed control interface. He is also in charge of the hardware. Zhao Liang , behind him, is in charge of fine tuning the software that generates the daily renderings. In the back Jennifer provides Zhao with guidance. To the right is one of the indefatigable video crew documentarians that followed us around close to 24 X 7
I setup a framework that would read the data from Weibo and the Calendar as an XML file, generate the animations and output them into the Water Cube format. This was all done in a great real time video synthesis toolkit called vvvv (check them out vvvv.org )
So we have the I-Ching telling us what the nature of each day is, say Thunder, or Fire, Water ... We also have the day's emotional content in China. The day's emotion is read by scraping emoji (emoticons) posted on Weibo
The emotional content affects the day's nature. For example if today is Heaven (which is symbolized by a white circle) and the day is sad, the circle will grow very little and very slowly. If instead China had a great day, the circle grows quickly to a very large one.
Programming this was a trip. We normally render animations in High Definition, but here we were working with a kind of very low def as each side is 72 giant bubbles long. And while the bubbles themselves have dozens of lamps in a row along the bottom of each bubble, and each lamp is individually addressable, the effect is that the bubble lights up with one color, or a very gentle gradient. To complicate things further the bubbles do not line up so straight lines are squiggly! On the other hand, basic geometric shapes displayed on the water cube as wonderful abstract images.
For example: Fire starts like this in vvvv:
and ends up like this:
Needless to say I'm very happy with the way this project happened, and I loved working with Jennifer and all of the Beijing team. I can't wait to get back to Beijing to spend some fun times with them.
ps. featured on CNN! Fareed Zakaria's The last word
04/2009 - present
Reproduction Is Prohibited, 2007
Software, cameras, sensors, screen, and wooden furniture
This piece is contemplative, and at times reveals just how hard the machine is trying to see, to truly understand what is going on.
When the viewer approaches the piece he first sees a mirror, a projection showing the room he is in. But as he gets closer the mirror refuses to show the viewer's face, showing his back instead.
The installation talks to Magritte's painting, but while Magritte was talking about the gaze of the collector and what is behind the painting, this one adds the gaze of the painting itself, while keeping up the conversation about the human condition and the substance of art.
I do lots of little VB coding to automate tasks at work. Work is primarily a windows environment.
I was asked to make a standard signature for everyone in the office.
I thought I could do it at the exchange server.
But you can't.
I though you could do it via a Group Policy
I then thought I'd find where it is stored in the Registry.
No dice, the registry key changes with different outlook versions.
Outlook signatures are stored locally somewhere in the current user's hard drive. Which explains why they lose the signature when changing computers.
We have Active Directory going on, so most of the data that is needed is stored on the active directory / LDAP
So I wrote the following and have it run each time at logon (good ol' logon script):
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
This just takes advantage of the fact that the logged in user is known. So we connect to LDAP as that user.
strName = objUser.FullName
strTitle = objUser.Title
strDepartment = objUser.Department
strEmail = objUser.mail
strPhone = objUser.telephoneNumber
strFax = objUser.facsimileTelephoneNumber
strMobile = objUser.mobile
strst = objUser.st
strSreetAddress = objUser.StreetAddress
Get all the data you need from the LDAP
BTW I found a great site with more LDAP to outlook info than you can shake a stick at:
Set objWord = CreateObject("Word.Application")
Here is the tricky part. Yes word. Use word to make and set the outlook signature. Not outlook. You'll go crazy trying to figure out why it doesn't stick. But it won't. You code it so it makes the signature in outlook, it looks good, next time you log in it is changed.
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries
Before we go on: We have the extension instead of the phone number (we all have the same number in this company, unless we are in the second office, which all has the same number as well)
Formatting is optional, but here is how you format word in VB:
objSelection.Font.Name = "Arial"
objSelection.Font.Color = wdColorGray50
objSelection.Font.Size = 8
objSelection.Font.AllCaps = True
We have 2 offices, some people want the fax number on it, some want a different fax number, some want their mobile number.
So you do lots of conditionals.. Big deal (I used the state as an indicator of which office the person is at)
objSelection.TypeText strName & " | Company Name | "
objSelection.TypeText strSreetAddress & " " & strl & " " & strst & " " &strPostalCode &" | "
objSelection.Font.Bold = True
If strst = "NY" then
objSelection.TypeText "P: Phone number 1 X "
objSelection.TypeText "P: Phone number 2 X "
objSelection.TypeText strPhone & " | "
objSelection.Font.Bold = False
If strFax <> "" Then objSelection.TypeText "F: " & strFax & " | " End If
If strMobile <> "" then objSelection.TypeText "M: " & strMobile & " | " End If
IF strst ="NY" Then
objSelection.TypeText "Los Angeles: Other phone number 1"
objSelection.TypeText "New York: Other phone number 2"
Set objSelection = objDoc.Range()
objSignatureEntries.Add "AD Signature", objSelection
objSignatureObject.NewMessageSignature = "AD Signature"
objSignatureObject.ReplyMessageSignature = "AD Signature"
objDoc.Saved = True
Thanks scripting guys for most of the code