Posts
My article published in Technologies for Worship Magazine
Head over to Technologies for Worship Magazine and check out my recently-published article about backlighting. It’s my first publication in print (outside of technical journals). I’m looking forward to writing more articles for a general audience!
First impression: ETC Element Console Review
We recently got an ETC Element to replace an ETC Express 72/144 that had become unreliable due to a hardware problem. I’d like to point out that ETC equipment is generally very durable, but this particular console only lasted about 8 years due to abuse by the high-school students who use the console during the week. The Express was a great console. It had a hardware fader for each of the channels that we commonly used, and a bank of 20 submasters. Recording a submaster was as simple as creating a look onstage with the channel faders, then pressing “Record” and hitting the submaster bump button. It had one external LCD screen for output, which had a very simple character-based interface. Just about anyone could learn to use the Express. The Element is, in many ways, a much more sophisticated console. While the Express didn’t have any real capability to run moving lights, the Element has many features to facilitate the use of moving lights and programmable LED fixtures. It supports two external LCD screens with a full graphical interface, a keyboard, and a mouse. Unfortunately, the Element has lost all of the simplicity that made the Express so successful in its target market. Let’s start with the physical design. The greatest disadvantage of the Element, especially for untrained users, is that all of the forty faders (60 in some models) are multi-function. With the bank switch in position 1, the faders represent channels 1-40. Position 2 changes the fader function to channels 41-80, and Position 3 changes the faders to channels 81-120. Position 4 changes the fader function to submasters. While it’s nice to have 40 subs, it’s also extremely confusing to figure out which channel fader or submaster is currently controlling the output. Here’s an example. Let’ s say that you use faders 2, 17, and 31 to set a look on Bank 1. If you switch to Bank 2, faders 2, 17, and 31 are still up, but they are not controlling anything. Bring those faders down, and continue setting up the look on channels 41-80 using Bank 2. Now switch back to Bank 1 to tweak the look on channels 1-40…but the faders are no longer up! The LEDs on the bump buttons will flash to show which channel levels no longer match the fader positions. To take control of these channels, bring the fader up until it matches the current channel level. Then you can control the channel again. Are you confused yet? Did I mention that the faders have no numbers? I find this slows me down when creating a look, and makes it harder to edit a look “on the fly.” To top it off, the bank selector is a little plastic twist switch, and it’s hard to see which bank it’s pointing at. With many consoles, you can work around the limited number of faders by adding an expansion wing with additional controls. Unfortunately, the Element does not support expansions–you have to upgrade to the Ion to get that feature! I’m not thrilled with the layout of the keys on the Element keyboard, either. It’s difficult to guess where a key is going to be–they don’t seem to be grouped in any particular way. Compare to the Hog 1000, in which the keys are grouped as “verbs” and “nouns” for command-line programming. One final gripe about the hardware: it’s difficult to run my finger down the row of bump buttons to find a particular light–this was easy to do on the old Express. So, after all my complaining, I want to leave you with a great feature. I love the “Exclusive” submaster setting that prevents the output from a sub from being recorded in subsequent cues and submasters. I use this all the time to keep some lights up onstage or in the house without having them recorded into cues. I’m sure there are more little gems built into the Express. Here is my conclusion about the Element: it is NOT a replacement for the Express. Do not expect this console to be a “drop-in” replacement for any traditional theater console. The learning curve will be very steep for brand-new users, and slightly less steep for Express users. In the end, the Element will be far more capable than the Express–but that’s not the target market for the Express. If you are buying a console for a school, small church, or community theater where the users are generally inexperienced, there are probably better choices than the Element.
LDI 2009 Report
I attended LDI (Live Design International) last Friday in Orlando, FL. This was my second time at the show (read my report from 2007). Overall, I’d say this year’s show was scaled back from 2007, which is not surprising considering how the economic recession has affected the entertainment industry. There were fewer booths this year, and they weren’t as fancy. A few manufacturers, such as Chauvet and Coemar, brought pretty spectacular booths. Other companies brought large booths (such as ETC and Martin), but they were not as flashy. I’m not sure if Friday is normally a slow day for this conference, but there wasn’t much of a crowd. I didn’t have to wait in line to see anything. In 2007, I went to LDI to try out control consoles to replace our Hog 1000. That plan fell through when the economy tanked, so this year I was just looking around. Apparently a lot of people were, because the sales people were rather aggressive about jumping onto any apparent interest in their product. One girl tried to scan my badge as I walked by–I don’t even know what she was selling! Actually, that’s a common occurrence at LDI–it’s hard to tell what the actual product is in the booth. All the larger booths seemed to consist of truss, truss warmers, banners, drapes, moving lights, and video. I often had to stop and look for a minute to figure out which one was actually their product! I will post some photos when I get a chance.
Building and linking to a shared Fortran library
I’m using GNU Fortran (gfortran) to build several shared libraries, and then dynamically linking to them from a Fortran program. The process is a little different than what I’m used to for C libraries, so I thought I’d explain it. Unlike C, there is no need to #include header files when compiling code that relies on functions defined in an external library. Likewise, there is no need to use -l or -L linking flags to tell the linker about s hared libraries (at least when they’re in the same directory). In fact, the whole process requires a lot less command-line options than I had expected.
X.org configuration for a Gentoo guest on VMWare Fusion
Here is an xorg.conf for a Gentoo guest running in VMWare Fusion on MacOS 10.6 (Snow Leopard). It’s surprisingly simple to set up X when the hardware is fake ;) Gentoo runs great on a Macbook Pro 13". I was concerned at first about the lack of 3D acceleration, but I tried a few 3D applications and found the performance to be acceptable. Blender ran really smoothly with a simple model (once I found out that command-click is equivalent to middle click). Rotating a field of several hundred spheres in Paraview was a little slow, but still very acceptable. I also bought a Logitech wireless mouse, and found that the middle button works just as you’d expect (paste) in Gentoo running in Fusion. I didn’t have to install the Logitech drivers in OS X.
Kernel configuration for a Gentoo guest in VMWare Fusion
I recently installed Gentoo Linux (amd64) as a guest on my Mac (OS 10.6 Snow Leopard) using VMWare Fusion. I thought I’d post the kernel config that I am using, since I didn’t find any out there that I trusted. If you can use this as a starting point, then it should save you some time and trouble. It’s a pretty minimal configuration–I think I removed all the extra drivers and stuff. You could lean it out a little more by removing the audio and a few other extras that I thought I might use. Let me know if you have any trouble with it. Gentoo amd64 kernel config for VMWare Fusion So far I am very pleased with its performance. My only disappointment is that VMWare doesn’t support Linux graphics hardware acceleration.
f2py: binding Fortran and Python
I have recently started using f2py to call Fortran from Python. I have found this useful for two reasons: speeding up Python scripts by calling compiled Fortran code, and using Python as a unit testing framework for Fortran modules. Unfortunately, the documentation for f2py is rather sparse, and may not be completely up to date. In this note, I will hopefully prevent you from wasting a lot of time figuring out how to pass array arguments, and return array results.
Profiling memory usage of Python code
In a previous post, I explained how to use the Python profiler. The profile is great for finding out which parts of the code run the slowest, or are called most often. However, the profiler doesn’t give any information about how much RAM is being consumed, or where it’s being consumed. If your program needs so much memory that it starts swapping to disk, its speed can be reduced by orders of magnitude. On the positive side, your code may run much faster if it fits entirely in the processor cache. In this post, I will introduce two tools that can help you understand the RAM usage of your Python code.