All posts by rbowen

Related quotes

Several important quotes related to Distillery Calendar Log: Learning to Face Problems.

One day Alice came to a fork in the road and saw a Cheshire cat in a tree.
“Which road do I take?” she asked.
“Where do you want to go?” was his response.
“I don’t know,” Alice answered.
“Then,” said the cat, “it doesn’t matter.”
~ Lewis Carroll, Alice in Wonderland

It’s hard, this far into the revolution, to remember what you’re fighting for.
Bill Hall, Jr. (Jan 31, 2000)

And, I’m also reminded of my job. I frequently — no, usually — go into tech support situations utterly unprepared, because the problem that I am supposed to fix is so poorly articulated.

And then there’s the perennial problem in Open Source, where so many software projects are a solution eagerly searching for a problem.

Empty email messages?

I’m trying to get SpamAssassin, or Mail::Audit, to drop inbound email with headers but no body. There seems to have been a lot of this lately.

I also noticed last week that this can confuse Outlook Express. No, I don’t use Outlook, Express or otherwise, but I had to troublshoot a customer who was unable to download her email. Turned out that it was choking on these messages, and the only way around it was to manually delete these files from the mbox on the mail server.

Anyways, any pointers appreciated. And I’ll post updates here when I find the solution.

==============================

Looks like I can ask Mail::Audit

if scalar ( @{ $msg->body } ) == 0

Pine 4.58

I just upgraded to Pine 4.58. Yes, I still use Pine for email. It’s comfortable, and does everything I need for it to do.

The irritation I was having with the previous version (I actually don’t know what version I was running) was that email subjects with “foreign” characters would simply display as blank. I had been putting up with this for a while, but a recent thread containing the word Détente in the subject line made me go out seeking a solution.

I can’t detect any other changes of note. Yet.

Inflatable whale

Meijer had really good prices on inflatable pool thingies today. We got a whale. It took aeons to blow up, causing me nearly to pass out. And then we couldn’t get it out the door, so we threw it off of the balcony. Getting it back indoors afterwards was … interesting. So now I have a killer whale sitting out on my balcony. It’s *huge*. Sarah loved it, and we played in the pool for quite a while with it. 🙂

Faster link

I heard a rumor that Alltel upgraded their dslam, and I could get QX to reprovision my DSL to a faster link. Then I forgot to do anything about it. But yesterday, I had them on the phone at work, and asked them about it. They did their magic, and, sure enough, it’s quite a bit faster now. But it only affected down, not up, so my websites aren’t any faster for you, gentle reader. Oh well.

More about documentation

My recent remarks about documentation, and, in particular, picking on Lucene, generated a range of comments, most of which were more insightful than the original article, as is usually the case. In particular, I’d like to thank Leo for his remarks, as they’ve made me think, which is usually a good thing.

What I’d really like to see is a page for each ASF project which says what it is. And, perhaps just as importantly, says what it is not, based on common misunderstandings. This page could further discuss, as Leo suggests, who the “target market” is for the product. And, finally, it should reference the prerequisite reading material, prerequisite technologies, and prerequisite knowledge, which would assist someone that wanted to understand and/or use the product.

Of course, it behooves me to do this for HTTPd before I suggest that other projects do the same, but if some projects want to go ahead and do this, it would be nice if we could agree on a convention for URLs of this document. Something like http://$PROJECT.apache.org/about.html, for example, so that folks know where to look. Those folks that Trust In Wiki might, possibly, be compelled/encouraged/persuaded to provide such a URL, even if it was just a redirect to the relevant Wiki page?

And thanks to Leo for pointing out that I, too, am guilty of the “well, everybody knows what that is” line of reasoning. Because, of course, everyone knows what a web server is, right? And exactly what I was complaining about earlier was the “everybody knows what J2EE compatibility is” attitude that leaves those who *don’t* know feeling that they have missed a memo somewhere.

And, lest people think I’m picking on only Lucene, allow me to point you at a number of other examples.

Here’s my favorite so far. Gump is a social experiment. Yep. That’s what it says. I gather, from further reading, that Gump might be some kind of project management thingy, but I’m not yet certain. And if it is, then I’m not sure how it’s different from Maven, how it’s similar, and how, if at all, they interact. There is a very interesting page about why Gump was written, but I lack the prerequisites to understand most of it.

So, we’re all guilty of this to some degree, and I include HTTPd in that, thanks to Leo’s remarks. Something to think about in my Copious Free Time.

Hide the fine silver, NYT announces IRC

Lock up the china, and let the guard dogs out, the New York Times has discovered IRC and the evil that lurks therin.

Every once in a while, the fine people of the press are blind-sided by technology. They encounter some technological wonder that they were not previously aware of, and the reaction that they must have is obvious: It is evil and must be stopped.

IRC, for example, is an online chat technology, which has been in full vigor for about 20 years. But, the fine investigative reporters at the New York Times have uncovered this “little known” technology, presumably at great risk to their own life and sanity. And what they have discovered is truly alarming.

IRC is a breeding ground for evil in its worst forms: file sharing and animal pornography. (In case you missed it, I’m mocking their ignorance and luddite tendencies. I know, I was being very subtle.)

Two comments deserve making.

Anyone who thinks that the WWW is a “pleasant, well-policed suburb” is NOT PAYING ATTENTION. Even less so if they say that the Internet, as a whole, is that. I could provide some links that demonstrate otherwise, but I’ll just direct you to google.com instead. Think of something that deeply, profoundly offends you, and search for it. If you find less than 1000 entries, I’ll offer you a personal apology.

Next, IRC is not evil. IRC allows people to communicate, and many people have evil tendencies, habits, and hobbies. Anything that you can say about IRC, you can equally say about Usenet, websites, and telephones. It is a communication format. Nothing more, nothing less. Folks that say otherwise are uninformed, and trying to meet their column deadline, and snag the Slashdot traffic to their column web site.

Also, I should note that I spend hours every week helping folks install, configure, and troublshoot the Apache Web Server. I do this on IRC. You’re welcome to come join us. We’re on #apache, on irc.freenode.net. And we have no naked dogs there, at least that I know about. And, yes, we share files. Usually they are web server configuration files.

500

This is posting #500. While I could have made number 500 be something significant, I decided instead to make it meaningless. Seems somehow appropriate.

Lucene and documentation

I have been wrestling with ht://dig for the last few days. Couldn’t get it working. That’s another story. But I thought it might be good to try Lucene, since I heard that it was a search engine, and it’s an Apache project. So, I went off to the Lucene web site, and tried to figure out what would be involved in installing it. Is it a thingy that I can put directly on my Apache web server? Do I need Tomcat, or one of those inscrutable Jakarta thingies? Is it stand-alone in some sense?

Tha “getting started guide” says that you have to have Tomcat or some other “container”, whatever a container is. It also talks about such things as Template Web Applications, and has the following delightful sentence:

One would hopefully use MVC architecture such as provided by Jakarta Struts and taglibs, or better yet XML with stylesheets.

Now, I’m perfectly confident that that makes perfect sense to a significant number of people, but I’m finding this to be utterly inscrutable. It looks like I’m going to have to go get Tomcat running, and possibly learn about MVC, Struts, and taglibs, whatever those are, before I can even start to install Lucene. And forget using it as an example in my Apache class.

So, then I went over to the wiki. A number of Apache projects have moved to Wikis for their documentation, because, we are repeatedly told, it is better in every way, allows people to edit the documentation easily, and contribute without barriers, and so, obviously, will produce better documentation.

I searched for “Installation” in the wiki. Apart from the irony of a web site about a search engine using a different search engine for indexing, I found the results intrigueing. All the pages that were returned by this search were about installing something called MoinMoin, which is apparently the Wiki software itself. None of the search results had anything to do with Lucene. I don’t know if this means that the documentation is terrible, or that the search feature of the Wiki is terrible, but neither one of thse was particularly comforting.

A couple months ago, someone on a mailing list I’m on criticized Apache (The ASF in general) for the terrible documentation that is the hallmark of our software. I took great offense, and went to some length to defend the Apache Web Server documentation, which is, in my opinion, among the best of any free software product, and better than most commercial products.

I might be compelled to retract my statements. The Apache Web Server does indeed have great documentation, but each time I look at some of the other products, I’m apalled by how little information is conveyed by the docs. Many of the projects, it’s almost impossible to even find out what the product does, let alone how to install or use it. The documentation, when there is any, is directed to the developers, not to the users. The developers don’t need to be told basic things like what the product does, where to get the dozens of prerequisites, and what all the jargon means. But I don’t really think that documentation *should* be directed at the developers. The folks that want to use the product are utterly in the dark, and, as often as not, throw their hands up in disgust and go look for something else. Something a product that’s not as good, but which is easier to figure out.

People don’t like feeling stupid. Documentation that makes people feel stupid leads to people choosing a different product. Documentation that uses words like “simple”, “basic”, “easy” and so forth makes people feel stupid when it’s not easy for them. Documentation that assumes vast bodies of existing knowledge without even a nod towards somewhere to go to learn more about it, or even suggesting that you might need some existing knowledge, makes people feel even more stupid.

I’m reminded of the Geronimo demo at ApacheCon, where there wasn’t even a mention of what they were demonstrating – we were all supposed to know. This made me feel uninformed, and, yes, stupid. This is how the Lucene docs make me feel. There’s an underling feeling that I’m missing most of what is being said because of a great gap in my knowledge, but there’s no suggestion as to where I can go to fill that gap.

For the record, Zope makes me feel the same way.