Andrew Que Sites list Photos
Projects Contact

January 30, 2007

XML, JavaScript and the Drama Club... an unlikely combination

The Lightbooth

The Lightbooth

    The drama club is putting on a series of one act plays in which Talon and I are running lights.  The play we work the most with has a fairly demanding light script.  A spotlight moves rapidly from one actor to the next and basically defines when actors are delivering dialog; the light dictating timing.  I asked Talon to help with the lights because I knew I'd need someone to help with cues as I couldn't both read the script and move the spot at a rapid enough pace.  Talon would give me a command to which actor needed light when it was time.  But this still wasn't quick enough for the rapid movement the script demanded.
    I decided it was time to put my programming skills to use.  Using some search and replace with regular expressions, I turned the play's script into an XML file.  It was broken into actor's lines and lighting instructions.  Then, I made an HTML page with JavaScript that loaded the XML file.  The script displayed on screen what actor currently was receiving light, what actor was getting light next and the actor's line.
    In the light booth, I setup my laptop with a second monitor so Talon and I are shown this information.  By hitting the space key, the script is advanced.  A simple color pattern on the screen shows me who the spot light in on and who's next.  Talon sets the pace by hitting space, thereby giving me the cue to move the light.  I positioned the laptop such that it's in my peripheral vision, so I can keep my eyes on the stage and know in advance where the light moves next.  Talon's monitor is in front of the light board, so he can follow the script as well as handle the lighting other then the spotlight.
    Last night and tonight we tried this system out, and it is excellent.  We are able to keep up with the play's quick pace and get light on the right actor on time.  We're even getting use to cutting off the actor's when the script calls it and making it look natural.
    I have to hand it to our actor/actresses: they really have it down.  Tonight I made a mistake and skipped an actor in the sequence, but they went right on with the dialog like no mistake had been made-- unless you were following the script, you wouldn't have known I messed up.  With a little more practice to polish up transitions, Talon and I will be ready for the production.
Click here to see an example

Use space to advance script

    Pictured is Talon at the light board.  Just to the left of center is the spotlight I run, and hidden behind it is my laptop.  Talon's laptop is in the foreground, but not a necessary part of our setup.  To the left of the spotlight is the soundboard.  It's only purpose for our production is to preamp the single microphone on stage we need to feed the speaker we use as a monitor.

1 comment has been made.

From Nick French (

Madison, WI

February 02, 2007 at 4:39 PM

You guys have been great. I know Gene Biby has been really impressed with you too.
It's snowing

It's snowing

    It snowed like mad this evening.  I do the trip to school several times a week and I know road quite well.  But tonight I was driving to play practice, and the snow was coming down so rapid, I couldn't tell if I was even on the road.  I don't think I've ever been in such a snowfall before-- crazy!
Que's basic bread

Que's basic bread

As I've noted in the past, I cook at least a loaf of bread each week.  My most common bread, the staple of my diet, is a multi-grain whole wheat bread I've been perfecting for some time.  Here's how it's made:
4 ½ teaspoons of yeast
2 cup of warm water
3 tablespoon + 1 teaspoon of sugar
2 cup of whole grain flower
1 ½ cup of white flower
½ cup of Flax seed
½ cup of oat flower
½ cup of Rye flower
4 teaspoons of wheat guten
1 teaspoon of salt (to inhibit yeast)
    The recipe can vary by 1/4 cup of flower depending on the humidity.  I use a mixer to kneed my dough, and keep it rather sticky.  For kneeding by hand, more flower might is necessary to keep it from just sticking to your hands.
    The process for mixing is as follows.  If using a metal mixing bowl, warm it by running hot water of it from 30 seconds.  Put the 2 cups of warm water into mixing bowl.  Water should be around 120 degrees F (48 C), but no warmer.  If you don't have a thermometer , use water at a temperature comfortable to wash your hands.  Add 1 teaspoon of sugar and yeast.  Mix well with beaters or a fork so yeast is uniformly distributed.  Set bowl off to the side to allow yeast to culture.
    In a large container with a top that seals, mix the remaining ingredients.  Put top on container and shake throughly to mix the ingredients.   If you don't have a container like this, just use a seperate bowl and mix with a wooden spoon. The time needed to finish measuring and mixing should have given the yeast plenty of time to grow.  When using a mixer to kneed, omit 1/2 cup of flower to be added during the kneeding process.
    Add dry ingredient mix to water and yeast.  With a mixer, just use the dough hook.  Otherwise, use a wooden spoon.  Note that whole wheat dough is thick and you will need to be some work into mixing and kneeding.  If you are using a mixer, be sure to consult the manual to make sure you are not exceeding it's capabilities or you could burn it out.  Add remaining flower as the dough takes it.  If your dough is too dry, flower will simply remain at the bottom and won't stick to the forming ball.  If the dough is too wet, it will stick to everything and not form a ball.  With a mixer, this stage is pretty easy because it doesn't take long to see how the dough is doing.  By hand it will take a while.
    Kneeding by hand takes about 10 minutes.  I found I need to keep adding flower during the kneeding process or the dough becomes too sticky.  By mixer, kneeding only takes a couple minutes.  By the time the flower is mixed in correctly and a good ball forms, kneeding is finished.  Since I keep my dough sticky, I lightly powder my hand in flower before removing the dough from the dough hook.  Once kneeding is finished, set the dough on aside on a powdered surface and wash out the mixing bowl.  Once clean, dry it and give it a spray of oil.  I found a nice olive oil spray that works great.  Other cooking sprays will likely work fine.  If you don't have any cooking spray, grease will work-- you won't need much at all. 
    Put the dough into the lubricated bowl and cover.  I usually cover the bowl with a rubber banded plastic bag to trap moisture and place a dry towel on the top.  You could place a damp cloth on the top too, but with plastic, you don't need to wash or dry anything afterwards.  Set the bowl in a warm place.  If you're oven has a "warm" setting, use it and set the bowl on top of oven.  If you don't, boil about 1/2 gallon of water.  Set the pan in the oven on the lower shelf and set the bowl of dough above it.  The heat rising from the water will warm the bowl.  Don't put the bowl into the oven if it's on, even on a low setting, as it will likely be too hot for the yeast.  The optimal temperature for rising is about 80 degrees F (26 C).  If the temperature rising above 120 F, it will kill the yeast, and dead yeast won't rise.
    Allow the dough to rise for about 30 to 45 minutes.  If your dough is sticky, rising takes less time.  If your dough is pretty stiff, it will take longer.  The dough should double in size.
    After the first rise, poor the dough into a lightly powdered or oiled surface.  Punch it down and kneed about 10 folds.  Oil/grease the bread pan.  Shape the dough such that it is evenly thick through out the length of the bread pan.  Put dough in pan, cover again and allow to rise.  This recipe is for a large loaf, and a 9x5" bread pan should be used.  Note that the dough will rise to almost twice the height of the pan.
    At this point, I typically set a timer for 20 minutes of 30 minute rise.  When the timer goes off, I start the preheat on the oven and allow the dough to continue it's rise.  The dough should be pretty large in pan.  Uncover and place pan in over at 350 degree F (177 C) and bake for 30 minutes.  After about 20 minutes, the kitchen should smell pretty good.
    After baking, remove bread pan from oven.  If properly oiled, the loaf of bread should fall out of the pan by simply turning the pan on it's side.  Most recipes say to allow the bread to cool on a wire rack, so moisture doesn't build up in any one area.  If you don't have a wire rack and have a gas stove, set the bread on a metal rack over a cold burner.  If you don't have any racks of any kind, don't worry about it-- just let the bread cool somewhere.
    I always cut off a slice of bread once it's right out of the oven.  Give it just a few seconds to cool and you can start eating it-- and there is nothing at the store that compares.  Use a bread knife to cut the bread.  If you don't have one, any serrated knife will work (like a stake knife).  Your normal knife won't work well at all as you need to basically saw the bread, not slice it.
    The bread is quite good for you, and I've made it a staple of my diet.
Nutrition facts:
    Each loaf is about 9x5x4 inches and I estimate about 10 slices.  Listed are the loaf in it's entirity, a 1" slice and a 1" slice with 1 tablespoon of strawberry jam (100% fruit jam).
Nutrition Facts
Loaf Slice Slice w/ Jam
Calories 2,128.3 212.83 252.83
Calories from fat 235.0g 23.5g 23.5g
Fat 29.0g 2.9g 2.9g
Saturated Fat 0.5g 0.05g 0.05g
Carbohydrates 401.5g 40.15g 50.15g
Fiber 68.8g 6.88g 6.88g
Sugars 27.0g 2.7g 10.7g
Protein 79.7g 7.97g 7.97g
Sodium 97.0% 9.7% 9.7%
Iron 86.0% 8.6% 8.6%
Vitamin C 44.2% 4.42% 5.89%

2 comments have been made.

From Talon the Loft Hermit

the Common Fuck of Virginia

September 25, 2013 at 12:13 AM

Notes for the not bakers: 1.)Adding the yeast and sugar to the hot water is called "proofing" if you have good yeast it should foam up. 2.)If you don't have the large container for mixing the flour a 1 gallon ziplock bag work well. This is the best daily bread i have ever had/made.

From Talon the Loft Hermit

the Common Fuck of Virginia

September 25, 2013 at 12:14 AM

Notes for the not bakers: 1.)Adding the yeast and sugar to the hot water is called "proofing" if you have good yeast it should foam up. 2.)If you don't have the large container for mixing the flour a 1 gallon ziplock bag work well. This is the best daily bread i have ever had/made.
    Talon (the other light person) and I rehearsed for the play this evening and discovered somethings of great help.  We use a spotlight that has a strong cooling fan that makes it impossible to hear the actors from the light booth.  To work with this, I brought in a microphone and place at in front of the stage.  Talon, who gives me queues, then wore headphones.  The problem was, I couldn't hear the actors.  But in playing in the sound booth, we came across two useful items.  First, we found a speaker in the ceiling.  A bit of searching and we found the cord with a 1/4" jack that could be plugged into the sound board.  Then, we found the glass for the windows to the sound booth.  This meant we could close the windows, turn up the volume on the speaker to overcome with spotlight fan and block the sound of both from the audience. 
    View of the light board and the stage in the background.


    Today I spent several hours in the U-Rock theater, moving around curtains and lights on the stage.  I walked into this project doing lights for the play with no knowledge at all about theater lighting, but everything is so intuitive, it has been easy to pick up.  The director of the play mentioned she wanted to move around curtains, and like that, I had a reason to play with the fly system.  I dropped down a batten and we attached curtain.  After establishing the general concept, I came in today to finish.  I moved several curtains in a rather process of trial and error, adjusting things so the wings were not visible from the audience.  I then moved around some of the lighting.  In doing so, I learned a good deal about the fly system, how to counter weight and some strategies for making the whole system work.  It's been a lot of fun.
Bad Battery

Bad Battery

    At the beginning of the month I ordered a graphing calculator, which arrived today.  Unfortunately, the batteries had ruptured and leaked into the case, and the calculator didn't power up.
    I had my first Spanish class this evening.  I have a 5 credit calculus and a computer programming class this semester, and Spanish is the one I'm most concerned about being able to pass.  Even after the first day, I don't feel terribly confident. But, there is a good deal of work to be done before I can make the class as to whether or not I can manage this class.
    After the Altered Reality meeting this noon, someone told me I was on the Dean's List.  I didn't know this or even have a clue what that list was until today.  Apparently, my GPA is high enough for honours.  That's a big change from having slept through 3 sophomore years in high school.

January 22, 2007

First day of Spring semester



    I just finished my Trig class, and I'm right back to school for the spring semester.  Admittedly I was pretty excited this morning-- today was my first calculus class.  The professor seems to be well versed in the subject and enthusiastic about math, and I like that.  I also had my first programming class, an entry level Java class.  Despite not having coded specifically in Java, I don't see any reason why I shouldn't get a perfect grade in this class.  Our first lab, a basic introduction to the compiler, went very quickly.