December 2002 Archives

December 30, 2002

Using Live Chat to run a meeting

Boing Boing Blog points to a very useful article by Clay Shirky about using live chat as a method of running a two-day meeting. It's a very interesting piece, with a couple of things I found particular interesting:

  • Use of Chat to keep the interruptions during the meeting to a minimum
  • A large display that showed the current chat to all
  • Use of a "Red Card/Green Card" system to show the speaker if they agree or disagree with what's being said. (Shades of the kind of analysis done during presidential debates.
Particularly valuable is Clay's straight-forward discussion of what worked and didn't work. Too many articles of this type focus only on the imagined benefits, not on what really happened.

However, Clay's article also reinforces a nasty suspicion I've had for a long time about collaborative technologies: if the people them want to use them, or can't get their job done without them, almost any technology will work. If the people don't need the technology, almost nothing works.

In this case, the members of the group were bound to be willing to try the technology, and give it a fair shot.

December 28, 2002

Emulating a load balancer with Apache

I spent the past week trying to emulate certain aspects of a hardware load balancer using Apache. It wasn't actually load balancing I was interested in, but the ability of load balancers to pick URLs apart, and redirect the client to different servers depending on the contents of the URL.

At Georgia Tech, we're working with a large Java-based dynamic web application (Campus Pipeline's Luminis portal software). From our point of view, one problem with this application is that it's monolithic: we can't scale it except by buying larger boxes; that single server is also a single point of failure. To alleviate this problem, We'd like to be able to front the Java server with static web servers, which could handle the bits that don't have to be generated dynamically. We're doing this without the cooperation of the central application, so the easiest way to do this is by URL inspection by a device sitting between the client and that server. URLs that indicate dynamic requests get passed on to the Java-backed web server, while URLs that can be served statically are redirected to static web servers. It's something hardware load balancers do very well, but I'm working at a state-funded university, and state budgets aren't too good now. Perhaps we'll get what we need in the new year, but right now, I needed to prototype something that would show that the application would even work under these circumstances.

In any case, I was able to doing the URL redirection tricks I needed using Apache's mod_rewrite package. (I'll write that up another time.) But I had another problem: the central application serves some things via HTTPS/SSL. Since those a are a small percentage of the bits served by the application, I didn't need to pick those apart, but I did need to be able to redirect those on to the Java-based server.

I had a devil of a time figuring out how redirect HTTPS/SSL connections. The mod_rewrite approach doesn't work, because mod_rewrite works by examining each HTTP request and changing it or forwarding it. Once an HTTPS connection is set up, you can't examine the requests: they're encrypted inside an SSL connection, which is the whole point of HTTPS.

In the end, what I needed was a port-forwarder. A port-forwarder takes requests on a TCP port on one machine, and passes them off to a TCP port on another machine. In this case, I needed to forward all packets coming into port 443 on my pseudo load balancer, and pass them on to the same port on the application server.

I was building this all under Linux, and Linux has very strong facilities for routing and forwarding TCP/IP, so I thought that would be the way to go. I spent many hours chasing that mirage. In the end, I was convinced that it would be easier to get a Ph.D in physics than it would be to figure out all the details of Linux routing.

For a time, I was convinced that I could forward HTTPS connection using Apache's proxying facilities. I found an intriguing note that suggested it should be possible. It's possible that might work, but I wasn't able to figure it out.

In the end, I settled on an open source package called portfwd. It works on Linux, and claims to work on Solaris as well. portfwd does exactly what says it does: given a simple config file, it forwards all packets arriving at one port on to another port, much like a wormhole out of a Star Trek show.

With portfwd in place, my SSL connections were quickly sped on to the appplication server, and all was well.

In the end, through a lot of dead ends, I was able to get what I wanted done. I have a feeling that it would have been a lot easier with a piece of hardware. If we can't get a new hardware load balancer in the budget, perhaps we'll take up a collection and get one on eBay.

December 26, 2002

The Theme this Christmas: Movies

Every Christmas must have a theme, and this year's was clearly Movies.

We got and gave movie passes to three different people, and Jen (my spouse) got me a copy of David Thomson's Biographical Dictionary of Film. It's a wonderfully opinionated work, with no pretension to completeness or objectivity.  Jen found it after a recent Fresh Air interview.

I've also enjoyed William Goldman's  Adventures in the Screen Trade and  Which Lie Did I Tell?: More Adventures in the Screen Trade  Goldman wrote the screenplay for The Princess Bride. Reading Goldman gave me a new appreciation for the role of the screenplay; it's quite enlightening to help understand the difference between a movie and any other medium.  It's quite interesting to consider the problem of adaptation when you consider Peter Jackson's Lord of the Rings films.

In other medium, I enormously enjoy the Inside the Actor's Studio series on Bravo.  James Lipton, the host of the series, is certainly a person who is easy to caricature.  But what I truly enjoy about his show is the way he gets artists to talk about their craft.  Listening to Spielberg or Lawrence Fishburn, Robert De Niro, Ian McKellen, or even Hugh Grant is wonderful.

And finally, back on the movies theme, the extended 4-disk version of The Fellowship of the Ring is perhaps the best DVD I've found yet.  Others have noted that these extended DVD versions are like mini-film schools; this one is that to the Nth degree.  Well worth the $26.

December 24, 2002

My favorite Christmas music

We have Christmas album by the Kingston Trio - On The Last Month of the Year. It's one of my wife's favorite albums; her parents were here today, and they said it reminded them of their college years. In any case, the album has a version of "We Wish You a Merry Christmas" with an extra chorus:

Why can't we have Christmas the whole year around?
Why can't we have Christmas the whole year around ..

Clearly this is a a song sung by people who never had kids. By December 24th, a parent of children could be forgiven for throttling anyone who suggests a year-round yule.

It's Christmas Eve in Atlanta, half-way between the 4:30-6:30 children's pageant, and getting on towards the 10:30 carols and midnight service. And strangely, it's the most relaxed I've been this holiday season.

The presents are wrapped. The cookies are baked. The clothes are even laid out for going back to church.

I've never been in a choir, and have no desire to be in one. But this time of year, it's choral settings of music that do most to bring me some peace and calm. Some favorites:

Klezmer Nutcracker is just silly, but fun. I've always been fond of The Nutcracker; here's a version by the Shirim Klezmer Orchestra.

I've always been a sucker for Vince Guaraldi's 1966 recording for A Charlie Brown Christmas. I was born in 1960; watching A Charlie Brown Christmas on CBS was an event I looked forward to every year.

O Come All Ye Faithful: Christmas Carols at King's College, Cambridge is my favorite recording of Christmas carols. It's not strictly acapella - but the only accompaniment is the Chapel's organ. Three of my favorite carols grace this CD - Once in Royal David's City, Ding Dong! Merrily on High, and Holly and the Ivy.

Perhaps my favorite Christmas album is a bit of an odd one: On Yoolis Night by Anonymous 4. It's a setting of medieval works--plainchants, carols, songs, and motets. It's acapella, of course, and the effect is almost hypnotic. I remember being home one Christmas night when the kids were young; the rest of the family was out to the midnight service, and I was home, listening as Christmas crept in.