Older blog entries for Rich (starting at number 19)

Farewell, Summer

I've written many times of my love of Ray Bradbury. He truly felt like an old friend. I've been reading his stories as long as I can remember reading, and his _Dandelion Wine_ is my favorite book, from any era. I read it almost every summer.

I've been very sad today, after hearing that Ray has died. I knew it would probably come soon - he was 91 - but that doesn't make it easy.

His stories were so honest, so simple, and at the same time so deep. _Something Wicked_ was about me, and about how my father is, and always will be, my hero. _Dandelion Wine_ was about me, and about discovering that I'm so very alive. _Martian Chronicles_ was about me and my desire to find myself in people different from myself. And so on.

I've been thinking all day about a chapter in _Dandelion Wine_ where Great Grandmother says goodbye to her whole family, and then tries to find the dream that was interrupted when she was born. I hope that Ray has found his dream.

Farewell, Summer.

Syndicated 2012-06-06 16:28:32 from Notes In The Margin

As part of my resolution to write something in a journal on a regular basis, I've installed Movable Type on my own server, and will continue this little experiment there. The software works better, and, besides, I'd rather run stuff on my own server. So, go there instead. http://www.drbacchus.com/journal/

Folks on #apache (irc.openprojects.net) have frequently asked a question that goes something like this:

I know how to make the url http://foo.com/~user go to the user's home directory, but how do I make that happen without the ~, which looks unprofessional?

There are two standard answers to this. One, you tell them that it can't be done without creating an Alias for every user, which is technically correct. The other answer is to tell them to write some sort of magic handler that knows what users are out there, and maps requests to the correct directory. Perhaps in mod_perl?

Well, over the last few weeks, I have been doing a number of the things that I have been telling folks on #apache to do, or things that I have long claimed were trivial, and I just had not gotten around to them yet. For example, I keep saying that you can write an Apache access control thingy that would restrict access based on the phase of the moon. So last week I wrote one.

So, anyways, here is the mod_perl thing that creates magic user alises for users so that http://foo.com/user/ goes to that user's home directory. It was depressingly easy.

<Perl>
# Folks you don't want to have this privelege
my %forbid = map { $_ => 1 } qw(root postgres bob);
opendir H, '/home/';
my @dir = readdir(H);
closedir H;
foreach my $u (@dir) {
    next if $u =~ m/^\./;
    next if $forbid{$u};
    warn "$u/public_html";
    if (-e "/home/$u/public_html") {
        push @Alias, "/$u/", "/home/$u/public_html/";
    }
}
</Perl>

Yeah, that's all there is to it.

Due to screwing up the training schedule (I scheduled a training class for the week containing Thanksgiving) I have a total of one person coming to training next week. Three people signed up for the Thanksgiving week training. I, being a moron, did not realize that it was Thanksgiving week. The gentlemen that signed up for the class, not being US citizens (or at least so I suspect, given their names, and, in one case, the fact that the return address was Canada) did not know that it was Thanksgiving week. They, at least, had an excuse.

So, after asking them to reschedule, I ended up with just one of them coming next week. At a discount. Because I'm an idiot.

With any luck, I won't ever do that again. It's about time to schedule another month or two of classes, so that the training schedule does not abruptly end at the end of January. Of course, not knowing for sure when ApacheCon Europe is going to be, it is a little hard to schedule March and April with any degree of certainty. I don't think I will end up going to YAPC this year (yes, I know, it is sad, but I've got to have my priorities) so that is not going to be an issue.

Please, folks, sign up for my training classes, so that I don't have to spend my days grinding out boring web applications. You know, every person that wants to put dynamic stuff on their web sites *thinks* that they are having a unique idea, but (sssshhhh, this will be our little secret) every one of them is *exactly the same thing* with different window dressing. And while it really is fun the first 18 times, after then it sort of goes downhill. Yes, code reuse and all that. And they are *just* enough different that you end up tinkering for days on the picky details.

OK, I'm done complaining. I have a good job, and I can pay the bills most months. I'd just like the 80/20 to be 80% training, rather than the other way around. Shameless self-promotion is ok here, right? http://www.coopermcgregor.com/training/ Come one, come all. OK, so it was tacky. Bah.

DAV is everything I hoped, and more. In addition to being really easy to install and enable, it is really really easy to use. I'm using the 'cadaver' client, which acts like a command-line ftp program, except that it launches $EDITOR when you 'edit foo.html'.

DreamWeaver, on the other hand, lets you edit files, and appears to keep some kind of local copy of the modified files, only putting them up when you are satisfied with them.

This will, it seems, let me ditch FTP once and for all. And it fixes all the annoying permission problems that I always have with multi-developer web sites. Using some form of http auth, rather than user logins, allows me to create "logins" very easily, withouth having to create system accounts and hand *those* out like candy.

So, I sent out a company-wide email telling folks that they need to experiment with this, and that we'll be moving off FTP RSN. Yay.

Having attended Greg Stein's tutorial on Dav, I came back determined to get FTP turned off on my servers for good, and replace it with DAV. Yes, I still have FTP enabled, although I suppose I should not tell you that in such a public forum. Why do I? Well, because I host web sites, and people like to create content in Dreamweaver, and then get it to the server somehow. And they are Windows and Mac users. And getting them to use ssh/scp has proved to be impossible. I've tried, for going on 3 years now, and just gotten nowhere.

But it seems to me that DAV will actually solve this problem. They can continue to use Dreamweaver, and then then can upload the content via DAV. I think that this will make me happy. I think that I will feel better about my servers, as well as the simple fact that I'll be using very cool technology.

So far I've gotten DAV running on a couple test servers, and I'm tinkering with cadaver as a client. This seems to be working remarkably well, and I should have this stuff happily in place before the end of the week.

OK, and I also wanted to mention something about the Apache Town Hall meeting. When I decided to go to it, it was really out of a sense of obligation. You see, I've been to a number of things that were called "Perl Town Hall Meeting" and they were, without exception, a chance for uninformed people to complain about things that they did not understand well enough to look up, let alone express opinions on. You'd get perhaps one useful remark in 10, if you were lucky, and the other 9 were people demanding strong typing in Perl, saying that Perl should support some kind of OO syntax, asking for some kind of respository of Perl modules ... that sort of thing.

So I was less then enthused by this event from the start.

Wow. Was I wrong.

Almost all of the people in attendance were Apache committers. Almost all of the current ASF members were there. And comments were all relevant, educated, eloquent, and informed. We talked about the structure of the ASF, the growing pains of an 8-member group becoming a several-hundred member foundation with thousands of participants. We talked mostly about why someone would want to become a member in the first place, what the benefits and responsibilities are, and how we have failed to adequately educate the committers about the benefits of membership, leading to a real disconnect between members and those that are not (yet) members, a feeling that there's a deal of elitism, and other harsh feelings.

The conversation was of such high quality, it was darned hard to believe that it was really going on under such a frequently-misused name.

Also important to note was that people were remarkably civil. Even when expressing rather unpleasant things, even personal remarks about individuals, when they had to be made, were kept civil and uninflamatory. It would be nice if people could carry this same attitude back to the mailing list.

26 Nov 2002 (updated 26 Nov 2002 at 19:03 UTC) »

No matter how many times I say that I'm going to write about these conferences as I'm attending them, I never do. I don't know why this is a hard thing for me to do. And then I always regret, after the fact, that I have not done it, and the insights that I gained in the experience are gone forever. This sucks. Perhaps this is a new years resolution or something.

So, I'm going to make an attempt to write some of the things that happened during ApacheCon (www.apachecon.com) so that I don't forget them. This will be very disjointed, because it is after the fact, but hopefully I'll capture some of the important moments.

Plus, I'm not real thrilled about how this particular mechanism works (advogato.org, that is) but until I get something else installed on my own server, I'll just deal with it.

OK, so here goes.

ApacheCon was in Las Vegas, Nov 17-21. Actually, the conference started on the 18th, but the the 17th and 18th were the Hackathon. The Hackathon is an event where ASF members get together in a big room and hack on code. It was much less organized than I had expected, with very little clear idea of what people were trying to accomplish. Or, stated more positively, different people had different ideas of what they wanted to accomplish.

Nathan Torkington was working on an article about the Hackathon, and asked me how many people were there, what the goals were, and if they had been met. I said that it was hard to judge how many people were there, because due to wireless networking, many folks were scattered around. And that the goals were somewhat unstated, so hard to quantify. So he could pretty much make up whatever he wanted, and I would back him up.

<gnat> "Between five and six hundred hackers joined in the ApacheCon Hackathon over the weekend. Projects ranging from AI ("Build a Better Giant Silver Robot to Do My Bidding") to pornography ("Build a Better Giant Silver Robot to Do My Bidding") kept hackers such as Bill Gates and Scott McNealy working through the night.

I love gnat.

Personally, I wanted to work on the virtual hosts documentation, which I did very little of, and I wanted to work on the mod_rewrite docs, which I did absolutely none of. And I wanted to backport some of the Apache 2.0 documentation enhancements to the 1.3 documentation. Which I did some of, but not so that anyone could really notice. I think that the event was a great success.

The highlight of this conference, as most of the other conferences that I attend, is the people that I got to meet. These included (I'm sure to miss someone out) Thom May, Mads Toftum, and David Welton, Cliff Wooley, and Thomas Wouters who I mention in particular because they are folks that hang out on the #apache IRC channel on openprojects.net. The ongoing conversations on #apache and #apachecon during the conference were an important part of the conference itself, imho. My IRC logs will certainly provide much amusing reading as I remember things that happened. I also talked with several other people who I had met before, but only get to see at these things. It's always a pleasure. And just as notably, I failed to meet Rob McCool, who was at the conference. I managed to miss his talk, as I was busy doing something else, and did not get to speak to him about the history of the NSCA/Apache/Netscape servers, as I had wanted to. That was very disappointing, and I hope I get a chance to meet him again some day.

Ok, here's another brief snapshot of the conference. One of the talks was about waka, which is, apparently, a protocol thingy. Roy Fielding talked about it, and I did not go to the talk. However, I was on IRC at the time, and participated in a very amusing discussion about why the heck it was called waka. Here's a (somewhat edited) snippet.

<proyal> you can run over to the waka presentation.. he's just getting onto waka itself now..
<jwoolley> "why 'waka': because it's one of the few four-letter words that could be used as a protocol name". i dunno, roy, i kind of like "content-ready authoring protocol". crap://www.foo.com/ etc
* fitz snickers
<quasi> lol
<proyal> hahaha
<DrBacchus> There are a number of 4-letter words that I have used to refer to protocols.
<proyal> or the 'fast underlying content karrier'
<DrBacchusi> Of course, Roy is responsible for the unpronounceable "http" as well, isn't he.
<jwoolley> yes
<DrBacchus> At least waka does not sound like you're choking on a hairball.
<DrBacchus> http aka Bill The Cat protocol.
<thom> i prefer "simple hypertext integration technique"
<jwoolley> dammit boys, i swear i'm gonna burst out laughing in the middle of roy's nap^H^H^Htalk
<fitz> "Hypertext Under Multiplexing Protocol"
<DrBacchus> Hypertext User Retrieval Lingo
<fitz> I will die laughing
<thom> if it goes faster, they'll be early adopters
<proyal> if it makes pr0n go faster, it'll get adopted
<DrBacchus> waka chika
<fitz> bop bop
<fitz> DrBacchus: shake it baby!
* jwoolley tries to gasp for breath without laughing his ass off
<fitz> XML slam bam!

If you can imagine it, it kinda degenerated from there.

Jars of Clay

As I attend these conferences, a single phrase keeps coming to mind. That phrase is "Jars of Clay." For those that did not grow up in a home where the Bible was part of your literature, I'll clarify the context of that phrase:

"We have this treasure in jars of clay to show that this all-surpassing power is from God and not from us." 2 Cor 4:7

In this context, here's what this thought tends to mean.

The entire time one is at one of these conferences, one is surrounded by brilliant men and women who have contributed many thousands of hours of their time to produce ideas that have put billions of dollars into the economy. Geniuses, really.

But as I look around, I am struck by the frailty and mortality of these geniuses. They are jars of clay, which will one day be broken. Last year, this was brought to mind by Guido being called away for a family medical emergency. This year, ironically, it was brought to mind by a picture titled "Schwern in 30 years." Several years ago, a well-known and highly respected member of the Perl community was involved in a terrible car accident, making many of us think about our priorities.

We are enormously fortunate to live in a time when we are surrounded by these folks. The things that they have accomplished have, simply stated, made the world a better place. But they are jars of clay. It is rather humbling.

OK, enough being depressing.

In that same vein, of course, there are new people entering the community all the time that are just as brilliant, and our future depends on how the old treat the young.

In my ongoing quest to find some way to pay the bills, now that training seems to be a slough of despond (please, go to http://www.coopermcgregor.com/training/ and prove me wrong!) I am entertaining the notion of actually doing something with BoxOfClue.com. Could be a fun mod_perl project, if nothing else. And I might actually get an order or two. Because there are a lot of really strange people out there. One might consider it an important untapped market.

10 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!