libwww-perl

Updated depends and build-depends to include perl-5.8.1 as an alternative to libnet-perl, closed the two bugs that were opened regarding the issue.

It’s going to be a strained Christmas party…

…because if any of my conservative relatives bring up politics (I make, here and now, a solemn pledge to not so much as make jokes about Bush), I will have a hard time not spontaneously combusting.

Really, I never intended this to be a political blog at all.

Anyway, the latest funny is that, supposedly money intended for homeland security is being diverted to foot the bill for Iraq.

Don’t we all feel safer?

Why we know about the early history of the blues…

In the ’30s and ’40s, the Library of Congress sponsored John Lomax and his son Alan’s peregrinations around the South recording folk songs (rather broadly interpreted, I suppose), in the hopes of preserving the music of a culture that was on the cusp of enormous change.

I can’t help feel that it is unlikely that a corporation would undertake to do this–there is no obvious market incentive. And yet this collection of music (and there’s a lot of stuff, not just music, available at the Library of Congress’s American Memory collection) can reasonably be said to lead directly to rock and roll in some very easily traceable ways (these recordings mark the first appearance of Leadbelly and Son House, for instance, both influences on rock and roll bands to the present day).

This is why we need “big government”. Businesses rarely see beyond immediate markets and easily defined and quantified results, and I don’t think anyone could have made a business case for doing these recordings based on the incredibly forward-looking (some might suggest prescient) notion that a decade or more on, an industry would begin to grow as a result of these recordings that would eventually become fantastically lucrative.

In much the same way, where would the Internet be without the government; the telecommunications monopolies of the time didn’t even think packet-switching networks would function.

An organization that does not have such market constraints can take a longer view, or a more minute one, or a more far-out one; that’s why governments have traditionally been the largest sources of funding for “basic research”–research that serves only to advance the state of our knowledge, with no direct intent to create products or solve particular problems; one assumes that some day it will come in handy. Often it does.

It also seems to me that many of the most prominent sorts of people who complain about “big government” conveniently ignore the ways in which they benefit from “big government”.

There seem to be mushrooms-after-a-rain quantites of “self-made” business persons who went to public university, or even public schools–“big government” in action.

There’s the Steve Forbes of the world who would probably not be making as much money if he had to ship all his magazines via Federal Express instead of the USPS.

There’s the Rupert Murdochs who would have a hell of a time distributing his newspapers and magazines without highways, and probably wouldn’t have made quite as much money if the FCC didn’t regulate the airwaves, because competing against existing larger companies would have been impossible.

Etc., etc. Often these complaints seem accompanied by comments about how efficient businesses are compared to government, which seems to me to be another specious claim.

Mind you, I’m not for having the government waste my money–but the amount spent on stuff like the humanities or basic reasearch or even meals for children is a tiny fraction of the amount being spent on the military or simply servicing the national debt. It seems to me that if you really want to trim the fat in the government, you might consider starting with the places that are eating the most, especially since there is plenty of documentation of waste and even fraud; I mean, the Pentagon can’t even account for where it’s money goes.

Sorry I’ve been lax of late…

I’ve been working on some fairly detailed stuff for work, and when not doing that, well, I’d have to admit that I’ve been having fun with the Miata–enjoying the freedom to actually get out of the house pretty much whenever I want, etc.

10 years of abstinence was, perhaps, a little too much.

Doublethink in action

From his groveling at the U.N. (emphasis mine):

And because there were consequences, because a coalition of nations acted to defend the peace, and the credibility of the United Nations, Iraq is free, and today we are joined by representatives of a liberated country.

From just over a year ago:

The conduct of the Iraqi regime is a threat to the authority of the United Nations, and a threat to peace. Iraq has answered a decade of U.N. demands with a decade of defiance. All the world now faces a test, and the United Nations a difficult and defining moment. Are Security Council resolutions to be honored and enforced, or cast aside without consequence? Will the United Nations serve the purpose of its founding, or will it be irrelevant?

The clear implication being that if it doesn’t support Washington’s push for war, it will be irrelevant. I don’t usually consider things irrelevant but then worry about talking about their “credibility”.

And here’s another one, from last February:

And the inspectors have gone to Iraq, and it is clear that not only is Saddam Hussein deceiving, it is clear he’s not disarming. And so you’ll see us over the next short period of time, working with friends and allies and the United Nations to bring that body along. And it’s a moment of truth for the United Nations. The United Nations gets to decide, shortly, whether or not it is going to be relevant, in terms of keeping the peace, whether or not its words mean anything.

But one thing is certain, for the sake of peace and for the sake of security, the United States and our friends and allies, we will disarm Saddam Hussein if he will not disarm himself.

Again, the clear implication is that if the UN doesn’t take the US’s stance on things, it’s…

Wait, I just realized–by launching on this bit of imperial adventuring, Bush probably has reinforced the credibility of the UN…by showing it as a clear antidote to unilateral preemptive imperialist bullshit.

No real damage

Lots of limbs down, and I understand a lot of people are without power (half a million being the figure I heard), but we came out pretty much unscathed. There was one tree behind our house that didn’t really make it through.

Here’s a thought experiment.

If you want to have an idea what it’s like to have your house subjected to relatively high winds–such as we’re seeing right now–think of it this way:

How well would your house drive down the highway?

When you think about it that way, or, at least, when I think about it that way, it’s a little harder to be entirely sanguine.

From further down in that same post from Neil…

Dear Neil, other people who may or may not read this

I am a 23-year old soon to be school librarian and have been enjoying a lot of the random library banter that’s been on your blog lately. I thought I would send in some more info and thoughts becuase I am sure whatever in box this goes to isn’t clogged enough.

  1. “Where’s Waldo” has been challenged and banned so many times because one page features a beach scene on which the sharp eyed viewer may notice a sun bathing woman who has been startled and whose bikini has fallen off. This small illustrator reveals the shocking truth to our children that there are breasts in this world and that women have them. Thank God for all right thinking parents out there who have shielded the innocent lambs of the world from this menace.
  1. Libraries sometimes have to play games with where they put their books, because the librarians feel it’s more important to have the books in the library. Hence you find some graphic novels in more adult areas, while others may be in a YA section. Librarians want to buy the books that people want. My public library used to have the all of the Sandman graphic novels, until someone stole/lost. Library patrons, tell your librarians what you want. Library budgets are being cut like crazy, but if a couple of people say they want the same things, your librarians should try and find a way to help you out. Graphic Novels are The New Hot Topic of library science so strike now while the iron is hot. Frankly I can’t wait till I finish my MLIS in Dec. and get myself a high school library so I can start a graphic novel collection and get angry parent phone calls.

And in the event this gets posted for the wider world to see, do something really radical and subversive that will threaten the morals of society. Read a banned book, banned book week runs from Sept 20-27. If nothing else, pick up Harry Potter. Hundreds of parents swear it will cause you to lose all respect for authority and worship Satan.

I agree with Neil’s assessment:

Oh, I think you’re going to be an excellent librarian…

With John Ashcroft belittling those who worry about their privacy, and denigrating librarians for being alarmist and the running dogs of the ACLU, it’s great to see new librarians with that subversive spirit.

Support your local library.

So, I’m probably the last person to realize this…

but I guess I understand why so many thing that seem to be such dreck can end up being New York Times bestsellers. From Neil Gaiman’s weblog:

(The New York Times “tracks” the books it expects to see on the list. It sends out queries to reporting stores, asking how many they sold of the books in question. If you’re not on the list to be tracked, you won’t be on the final list.)

So whether you’re on the list isn’t necessarily a matter of you selling the most books, per se–which is, to my understanding, what it does mean to have an album on the Billboard lists or whatever–it’s a matter of whether someone decided to put you on the list, and then you ranked high enough to be mentioned.

Does this seem mendacious to anyone else? I mean, not that I give a flying fuck about whether something’s on the list, but they don’t exactly have a full-disclosure policy about what being on that list really means.

Why I may be a CarMax customer for life…

So, drove the car home last night, then drove it around a bit this afternoon, and finally realized that the reason my respiratory tract seemed to sieze up when I had the top up was because the car was suffused with old cigarette smoke.

You see, my nose is not the greatest for detecting subtle odors, or even certain types of unsubtle oders, but it’s whiz-bang at detecting substances that irritate it. If I sit in the car for a while, eventually I can actually make out the stale cigarette odor.

Luckily, this does not appear to be a problem.

You see, CarMax has a 5-day, no-questions-asked policy on returns. So I called them, and we drove out there, and I allowed as how the car was great except for this–and it is–so although I really didn’t want this one, perhaps we could look at pulling another similar car from somewhere else?

Turns out there’s one in Norcross, GA, same year, though, in fact, the slightly spiffier model (power windows, door-locks, tan leather, which is both a nicer color combination than green and black–in fact, I think tan interiors with dark green or burgundy are the only colors convertibles should come in–but, as Chet pointed out in AIM, it’s not nearly as hot in the summar) that is now wending its way here.

Unless there’s some gross defect, I suspect I’ll be taking that one, and although we will no doubt have to sign forty-leven more pieces of paper–makes me wish we’d just written a check off our home equity line of credit–this is about a zillion times easier than I expected.

I don’t know; on the one hand, going to CarMax seemed like something of an admission of defeat–I wasn’t having any success tracking down a car I wanted the hard way, and the one traditional dealership we went to wanting to seriously look at a car last weekend left us with a horrible loathing–and a betrayal of my usual desire to “buy local”. But at the same time, they seem deeply committed to customer satisfaction.

Obviously, it’s not over yet, but no doubt you’ll all hear how it goes, assuming we’re not wiped off the face of the earth tomorrow or the next day.

So I got a ’99 Miata…

As Chet set me up for in IM, “Miata” may as well be Japanese for “MGB but Reliable with Air Conditioning”.

It’s the low-end model, which, as far as I can tell, means a cheaper stereo–though it doesn’t sound bad, the head unit doesn’t play CD-Rs, which means it’s not long for this world–and you have to roll your windows up and down yourself. Oh, and no alarm, and no keyless entry.

I do not regard these things as significant problems. I wouldn’t have minded it being the high-end model, but hell, I’m still vaguely amazed at the idea of it having AC.

I haven’t exactly driven it all over; just home from CarMax and to the coffee shop and back this morning–a whopping 16 miles or so.

(I can already see that I’m going to need to get a new coffee travel mug because the cupholders are inside the center console, and frankly, they don’t hold cups worth a damn. So something with a wide base that will sit stably on the passenger’s seat is in order.)

Anyway, on the way to the coffee shop this morning, I realized an something–the first car I ever had that was “mine” (quotes because I had no real financial responsibility for it, so it was only mine because my father’s a great guy) was the MGB. This is the second (and probably deserves quotes just as much because Anne’s name is on the title just like mine).

Yeah, there was an 11 year gap, but that may just be indicative of a willingness to forego second best.

Note to any Alton Brown fans…

The fajita recipe–you know, the one that involves laying pieces of meat right on the hot coals–works brilliantly, though there is definitely a leap of faith involved the first time around. A word to the wise, though–flank steak is often somewhat thicker than the skirt steak that he recommends, so be prepared to adjust cooking time a bit.

Oh, and you probably only really want to consider this with real hardwood charcoal, not any of that processed, compressed stuff.

If you believe celebrity deaths come in threes…

Then it would seem that Johnny Cash and John Ritter round out the trio led off by Warren Zevon.

I don’t think Johnny Cash’s passing is all that much of a suprise; he’d been in ill-health for a while, and he seemed like the sort of person who was unlikely to outlast June anyway. Still, knowing it’s coming just gives you time to be prepared–it doesn’t lessen the loss any.

Unfortunately, John Ritter really only serves as a source for jokes about, “Three’s Company”.

Bun Bo Xao

Only one place in the Triangle makes this better than this recipe.

Noodle salad

  • 1C cucumber, julienned
  • 2C lettuce, preferably romaine, chopped
  • 1/3C mint, chopped
  • 2C bean sprouts
  • 1/3C basil, preferably thai basil, chopped
  • 1/2lb rice vermicelli
  • 2T peanuts, chopped

Wash and prepare all vegetables. Mix together, and then distribute evenly among the four bowls. Cook rice noodles for four or five minutes, rinse with cold water to cool. Divide evenly among the four bowls.

Vietnamese dipping sauce

  • 2 cloves of garlic, chopped fine
  • 1t chili paste
  • 1/4C fish sauce
  • 2/3C hot water
  • 2T lime juice, with pulp
  • 1/4C sugar
  • 2T carrot, julienned

Combine all ingredients, serve in small bowls alongside Bun Bo Xao.

Stir-fried beef

  • 1lb top sirlion, sliced thinly

Marinade

  • 2T lemongrass, chopped as finely as possible
  • 1T fish sauce
  • 1/2t sugar
  • 1t soy sauce
  • 2T vegetable oil
  • 3 cloves garlic, sliced thinly
  • 1/2 red onion, sliced thinly
  • 2T shallots, sliced thinly

Put the beef in the freezer for one to two hours, then remove and slice thinly. Mix remaining ingredients together, then coat sirloin with marinate. When everything else is ready, heat the oil in a wok, add the garlic onion and shallots, after 30 seconds, add the marinated beef. Cook until done. Place beef on top of salad.

State and Main

So it’s not new–I’m just getting around to seeing it anyway. It’s hardly immortal cinema, but it’s not a bad way to spend a Friday night.

Never underestimate Apache subrequests

So, our whole application is written in HTML::Mason, running under mod_perl, etc. Everyone seems quite happy; it’s performing really well–we’re handling nearly 2M hits/day (with about a 10:1 graphics to HTML ratio) on a dual PIII/1Ghz app server and a similar DB server–and it’s pretty easy to get it to do whatever you want it to.

However, for reporting purposes, we have to produce something in a reasonable printable form. The only really portable print-oriented format that gets you good display control is .PDF. We’ve gone down the using-HTML-to-generate-print rathole for one report, and it’s too horrific to contemplate doing more.

There’s no good–by which I guess I really mean high-level–free way to produce PDFs in perl that I have found, and boy, have I looked. And the commercial tools that do what we need all seem to want multi-thousand dollar licenses for “server versions”. This is unattractively expensive.

But we still need pdf, and until xmlroff is in better shape, and its libfo is hooked into a perl module (boy, I wish I had time and energy to help with it, because it’s a cool system), there really aren’t any options that don’t involve using external processes.

So, we’ve started retrieving our report data in XML form, using Matt Sergeant’s XML::Generator::DBI, and we’ve got some stylesheets that do our conversions to HTML and CSV, and we’ll eventually do some to get the data in a form to feed to Spreadsheet::WriteExcel::FromXML so that we can get XLS files.

And we can write stylesheets to go to fo, and then we can run FOP on them, and, here’s the beauty part, our HTML::Mason component that does this can then just make an Apache subrequest to FOP’s output file, and Apache will take care of sending the PDF back for us.

It’s a simple as:

system qq{/usr/bin/fop -q -fo $fo -pdf $pdf};
$m->auto_send_headers (0);
my $subrequest = $r->lookup_file ($pdf);
if ($subrequest->status == 200) {
    $subrequest->run (1) ;
} else {
    $m->abort (404);
}

We do similar things for doing access control on static graphics–we keep them absolutely outside of our document root, and then have a Mason dhandler that decides whether you’re allowed access, and if you are, let’s Apache take care of you.

I don’t think enough people use Apache subrequests.