16-Feb-2001 (Fri)

Those doors. After days of screaming, they finally showed up. ``They'll be installed tomorrow.'' Then, the next day: ``Oh, there are some parts missing. They're going to send them to us, uh, soon.''

Now, I don't even care that it takes so long to get the damned doors. I don't know what the door industry is like. If someone had told me, ``it takes eight weeks to get doors,'' I would have said, ``wow, that's strange,'' and accepted it. But what really yanks my chain is when someone promises me that they'll be here in two weeks, and then they don't show up for eight! And every day, instead of telling me, ``we're really sorry, there was a delay and it will be another six weeks,'' which would have been bad enough, they spend those intervening weeks telling me ``oh, they should be here tomorrow. Or the next day.''

Other than that, a lot got done this week. The cage around the upstairs front bar is done. The upstairs bathroom walls are mostly tiled. Now that the downstairs bathroom floors are in, the plumbers are back and have been installing the toilets, urinals, and sinks. The company we're buying the bathroom stall partitions from have been out to take final measurements, so that they can start constructing the partition walls (they wanted to wait until there were toilets in place, so that they could measure reality instead of less trustable blueprints.) There has also been a lot more drywall work: most of the walls and ceilings have been closed up.

Steve has been experimenting with various concentrations of acid on the railings, to encourage them to rust in interesting ways. They look different every day: with this acid to encourage it, steel will turn from dark black to bright orange over night! (The orange part is the first layer of rust, you get more ``rusty'' colors as it works its way in deeper.) After decaying the metal a bit, we'll clear-coat the parts that people come in contact with, so it won't get you filthy. That will also make it a good deal darker.

Here's a before and after:

Do you have any idea how expensive cash registers are? Oh, wow! I'd seen them in office supply stores for like $200, so that set my expectations. But apparently those kinds of registers are really slow and generally crappy. Registers that you'd actually want to use are over a thousand dollars. Oh, but if you want them to network together (so that you can change prices from one register without having to go and touch all of them, and so that only the night manager has access to the end-of-night totals, which I'm told is a good way to circumvent one of the main ways that bartenders steal from their employers) then they're like $2,200 each!

Each. We need nine.

So I started looking around for Linux-based point-of-sale systems. There are quite a few out there, but most of them seem incredibly flaky, or like they're just nowhere near being completed. The most promising one was LinuxPOS, whose main feature is that it's the only one I got to actually open a window. But, its interface seems to be geared toward stores with huge inventories, where you'd either be typing in a product number, or scanning it off a barcode. In particular, it doesn't seem to have a way to put up a grid of products, like you'd want in a bar or fast-food restaurant, where there are less than a dozen products total and you want to just be able to smack the button labelled ``hamburger'' or ``beer, imported.''

So now I'm playing around with writing my own from scratch. The software side of it seems pretty simple, since it doesn't really have to do very much (e.g., we don't need it to scale to hundreds of tellers.) I think that if I do it this way, I can keep the hardware unit cost per register down around $600, but that depends on how cheaply I can get touchscreens and computer-controlled cash drawers and so on. (Suggestions on such hardware that is known to work with Linux would be greatly appreciated!)

Speaking of hacking, I've finally gotten around to putting up the scripts I've written to keep the webcasts running. You can see it on the Source Code page.

Even though the watchword of the last few weeks has been ``triage,'' I got talked into buying some more used lights. We got a good deal on them, and they're really cool. They're Emulators, which do laser-like things (sheets of light, drawing letters, etc.) using tightly-focussed white light.

You know how you should never go grocery shopping when you're hungry? Well, you should also never let someone talk you into buying lights when you're out at a club watching a light show.

The most interesting thing that happened this week was the tuning of the sound system. The sound guys kept describing the first step as ``making noise,'' since apparently when a new system is first fired up, you usually can't even tell what song is playing, it sounds so terrible. But when they fired our system up, it sounded amazing to me: if they had told me they were done, I would have believed it... They were surprised too, apparently they haven't heard one sound this good without tweaking before.

And there was a lot of tweaking to be done! The first step was to make sure that all the speakers had the right polarity (meaning, the positive and negative wires were not transposed anywhere in the system, so that none of the sound waves are out of phase with each other.) They used a magic garage-door-opener to check: they played a loud SNAP, SNAP, SNAP through the speakers again and again, and held this device up to each cone in turn. A green light came on if the cone was in phase, and a red light if not. I don't really understand how that works, but apparently the little box can hear the difference between the magnet pushing the cone out-then-in, versus pulling it in-then-out.

Check out this picture of Greg hanging from the truss from his legs to hold this device up against the cones in the center cluster...

After the polarity was adjusted, the next step was to set the delays and equalization curves for each of the speakers. He did this by pointing a microphone into each of the speaker cones, playing white noise through them, and seeing what happened to it during its journey through the sound system and back again. Then he sat there and tweaked the equalization curve on his laptop until it was flat.

I guess we might as well have an interlude here to explain how big sound systems work... Or, ``what is all that junk in the rack, anyway?''

Well first, each speaker cabinet has several different cones in it which are meant for different frequencies. (Oh, and sound guys seem to call speaker cones ``drivers.'' I don't know if ``cone'' means something different to them. But whatever.) So with a home stereo, you generally just send the same signal to all of them, but with a PA, you send different signals to the high, medium, low, and subs; the signal that goes to a driver will emphasize the frequencies for which that driver is designed. The device that does this (dividing the signal up by frequencies) is called a ``crossover.''

Next, each type of driver is going to have slightly different characteristics: they aren't going to have a linear response over the ranges you're interested in, so you need to boost some frequencies and squash others. That's what an equalizer does. A parametric EQ is one where, instead of having, say, 16 sliders that divide up the spectrum, you set control points and it does bezier-spline-like things to get a smooth curve, given the control points you've picked. (To adjust this part, you need a good ear for this sort of thing. From watching these guys work, it's clear that they can hear things I can't. I can hear ``loud,'' ``not loud,'' and usually ``good'' and ``bad,'' but they seem to be able to pay attention to particular frequencies in a way I have a really hard time doing. For me it gets... uh... lost in the noise.)

Next, you need to delay some drivers, because they're not in the same physical space. Sound waves take time to propagate, and this is actually perceptible. You sometimes have to introduce a slight delay between one set of speakers and another, or else it will sound like there's an echo.

Next, the room itself affects the sound, because of its shape, how hard or soft the walls are, and a zillion other things. That sort of thing also needs to be taken in to account with equalization in order for the music to sound right.

Then there are compressors: these are kind of like what ``auto-gain control'' does on your VCR: normalize the volume of a signal to prevent it from getting too loud (or too quiet.) What these are used for is protecting your equipment: if there's a compressor in the loop, you can set it so that it's not possible for an idiot dj or sound engineer to blow out your amps by overdriving them: they can keep turning up the volume all they like, and after a certain point, instead of getting louder, it'll just get kind of muddy instead. This is a very important thing to have when you have djs and band coming through who are not your employees and don't really care what happens to your gear...

And finally, you need a whole bunch of amps, not just because you need to push a lot of electrons around to make all that noise, but because any speakers that are not getting exactly the same signal can't share an amplifier (since equalization happens to the signal before it hits the amp, not after.)

So that's a lot of stuff. But in answer to the lead-in question above, all that junk in the rack is... amplifiers. We don't actually have any physical equalizers, crossovers, or limiters: instead we have one tiny box called Soundweb. This box contains a computer and a bunch of signal-processing hardware, and it simulates crossovers and limiters and all that good stuff. Your mixers plug into one side of the box, and all of your amplifiers and speakers plug into the other side. Then you attach a laptop and run their controller program, and draw a flowchart of where you want the sound to go, and what devices you want where in the signal stream. And it does the whole thing digitally.

In addition to simplifying matters, and taking up less rack space, this also gives you the ability to reconfigure the sound system on the fly. Most clubs that have both DJ acts and live acts have two completely disjoint sound systems, since it's too much of a hassle to reconfigure things. With Soundweb, we only need one, and we flip a switch to go between the two (or more) modes.