Tuesday, 4 July 2006

Eighty Minutes Of Terror

Yesterday I was the featured speaker at the monthly meeting of the Auckland Linux Users Group. I gave a demo of some new features in SLED 10 and Firefox, and talked about Linux and Firefox development. It went well. However, it came very very close to being a complete disaster.

I was working on textframes most of the day. At 5:45pm I got to a good stopping point and turned my attention to preparing for the talk at 7:30pm. (AKLUG meets in our office these days.) I figured that nearly two hours would be enough time to get my laptop set up with our projector, and decide what to show and say, with a dry run.

After futzing around with the projector for a few minutes I decided I should reboot my laptop with the VGA cable plugged in, which sometimes seems to be necessary to get it recognized. Then my troubles really began, because some time ago I had applied software updates --- including a new kernel --- and I hadn't rebooted since. (Part of my problems may have come from the fact that I had a mishmash of packages from various beta versions and updates, not a single clean install.) Linux started up OK but Xgl (a major part of what I wanted to demo, of course) wasn't running, because the installed ATI kernel module didn't match the kernel anymore. So I started fooling around trying to get a new ATI driver installed by various means. During this phase I managed to erase the installed ATI X driver so that I couldn't start any X server at all! At one stage I tried to use yast2 to set things up via Novell's driver update Web site, but for that you have to register on the site, and since Firefox couldn't run it popped me into w3m, a text-mode browser. By this time I was more than a little panicky and I just couldn't get w3m to work.

By 7:20pm people had started arriving, I still had no graphics at all and running screaming into the night was starting to look like my best option. It was painfully clear that it would not reflect well on Novell if I stood up and said "thanks for taking the time to show up, but I COULDN'T GET OUR ENTERPRISE-READY PRODUCT TO WORK. Goodbye!" Yet I had lost hope; getting things working in the last five minutes after you've been working on it for over an hour just doesn't happen in real life. I also knew that even if I could get it working, I had no chance to prepare a talk or figure out what I was going to demo. My prayer was "Lord, help me to get this working, and I'll handle, um no, YOU'll have to handle the talk as well!"

I was more distraught than I have been in years. In some high-pressure situations, like childbirth, you're in the hands of professionals who you simply have to assume will do the best possible job. In other situations, like a car crash, it may not be your fault, or by the time you apprehend the gravity of the situation, there's nothing you can do. Facing the slow approach of a disaster of your own making, which you may or may not be able to mitigate, is an experience I wish to avoid.

Well ... by the grace of God, Hollywood endings do happen. I realized I could speed things up a lot by logging into my laptop from my desktop and running X applications that way. I found instructions for downloading the ATI installer and building a driver package that would work on SLED10, and they worked. I installed the driver, ran SAX, and everything came up correctly, Xgl, compiz and all. Wow. Of course I still had to give the talk and demo absolutely cold --- including demoing features that I hadn't actually ever used before --- but the off-the-cuff presentation seemed to work well. I even tried to explain the basic architecture of Xgl+compiz in a non-technical way --- which I realized immediately was very risky without having worked out my metaphors in advance --- and I think I did a decent job. Phoah!

I felt decidedly odd for the rest of the evening, a cocktail of delayed panic, relief, and enthusiasm. I felt jumpy. I didn't really settle down until I got home and poured out the story to my wife.


8 comments:

  1. Colin Coghill4 July 2006 23:19

    As someone in the audience, I thought it was a good presentation. There was no sign of near disaster :)
    SLED looks like a nice product - I've seen most of the bits in other places (I'm a bleeding edge junkie) but in SLED they look well integrated and consistent.
    The future of Firefox looks good too, I wish I had enough brain time to get more involved with that kind of thing.
    - Colin

    ReplyDelete
  2. ha. Good story.
    You are right on asking if it went decently. When you're pumped up on adrenaline, you can't always be a good judge of your own performance.

    ReplyDelete
  3. Haha! Good story. Lessons learnt? Take two PCs, take all the install disks. Have a backup plan ;-)

    ReplyDelete
  4. ... and as I always tell people who take my trainings, "Do at least one test run as if it was the real thing, before standing in front of your audience."
    Heh, I've had close calls like this also, but nothing nearly as scary as what you went through. I believe this is the type of situation that make people "fear public speaking more than death"....
    L

    ReplyDelete
  5. This will always, always happen with Linux drivers that are not supported. What does "supported" mean? Part of the kernel source code.
    If you (for whatever value of "you") want your drivers to work with the kernel into the future and not embarrass and frustrate your users: get those drivers released under the GPL, get them in shape and get them in the kernel.

    ReplyDelete
  6. A nice warm up for your speech I think ;-) And it's great that everything goes well at last.

    ReplyDelete
  7. Awesome that you put God first in your life, Great man :)(cast your burdens onto him, for he cares for you)

    ReplyDelete
  8. Wow, you managed to squeeze two references to your imaginary friend in there. Go for three next time?

    ReplyDelete