Memorial Day

Warning: I’m about to say unpatriotic things. (Or so the Ashcroft brigade would have you believe.)

Today we honor those who have died to secure our freedoms. This is an important thing, but not without danger. The danger is that it becomes a celebration of the glory of going to foreign countries and killing people who are different from us. The danger too is that it become a celebration of war.

Memorial day is not (should not be) a celebration of war. It is a remembrance of the human cost of war. A memorial of the dads and sons and brothers, as well as moms and daughters and sisters, who died, often horrible, painful, terrible, lonely deaths, so that you can enjoy the freedoms that you have. Freedoms, I feel compelled to note, Mr. Ashcroft and his croneys are snatching away just as quickly as he can force bills through Congress.

Remember today that thousands upon thousands of men died horrible wretched deaths in the Revolutionary war, so that you would have the right to travel freely, to have representation in government, to not be forced to billet soldiers in your home, to carry a gun, to worship freely, to be free from unwarranted search of your person or property, and numerous other things which we, the people of the United States of America, considered to be worth dying for.

Remember also the young men and women who are dying today in Iraq, so that the people of Iraq may have those same freedoms in the future. Completely aside from your personal convictions as to the rightness of that war, remember those young people. Pray for them. And pray for your representative in government, who is sending those young people to die for reasons which are not really clear to most of their constituents.

Remember that peace takes considerably more courage than war, and talking takes more courage than killing. I sincerely hope that some day we’ll have that kind of courage, as well as the courage to honestly consider whether our “enemies” might have valid points about our behavior in the world.

And, on the risk of being “anti-american,” think back a couple hundred years and remember the folks who were labelled terrorists over the decades. Paul Revere. George Washington. Jomo Kenyatta. Robert Mugabe. Lech Walesa. Deitrich Bonhoeffer. Robert E. Lee. And consider for a moment whether any of their causes were in fact just.

Alas, I suspect that most of my readers are in fact capable of independent thought, and, thus, I’m speaking to the wrong audience. My dad told me yesterday that someone at the airport on their recent trip roundly denounced the misguided people who think that the invasion of privacy at the “security” checks at the airport is actually a bad thing, and accomplishes nothing. Yes, she said, she had read the report saying that the billions of dollars spent on security enhancements had accomplished precisely zilch, but she didn’t believe it. She felt safer. I’m guessing that her kind is rather too busy watching Fox News to read blogs. Which is a pity.

CCCU Conference

In March of 2000, I spoke at ApacheCon 2000 in Orlando. Since that time, I have not attended a conference without being one of the speakers. So, to me, conferences tend to involve a lot of preparation work, and a considerable amount of stress.

Also, for a considerable number of those, I was a member of the planning committee, which increased the work and stress just a scootch.

Tomorrow, I am going to the CCCU Conference on Technology, at Whitworth College in Spokane, Washington. I am not speaking. Presumably, I’m actually going to attend talks and learn things. And indeed there are some very interesting talks scheduled. But it will be quite a break from my usual pace of conference attending.

Oh, yeah, and we’re leaving at 5:30am, so I have to be ready to leave home at roughly 4:10am. Yikes.

Spare Tire

Shortly after I bought my Jeep, I had all new tires put on it. On discovering that the spare wasn’t the same size as any of my other tires, I arranged to have that one replaced, too. When I went to pick it up, I was told that they couldn’t get it off, and so had not replaced it. I asked about this the next time I was at the Jeep dealer, and they tried, and also were unable to get it off.

When turning the nuts, they would simply free-wheel in their sockets, as though the other end wasn’t attached to anything.

I ignored this little problem for several years.

This morning, however, I had a flat tire, and this caused me to give it a little more thought. I mentioned it to Annie this morning, and she told me to come over so that Bob could look at it, before I went and spent a lot of money getting someone to tell me that they couldn’t do anything about it.

So, I went over to Bob and Annie’s house, and we worked on it for about 4 hours. By which, of course, I mean that Bob worked on it, and I peered at him and tried to appear useful. Finally, we got it off of the Jeep, and got the bolts cut off, so that we could remove the tire from the bracket to which it was bolted. We then re-mounted everything, and attached it with bolts that can actually come off if the occasion arrises.

So, if any of you jeep-driving readers in the state need a P225/75R15 tire, never used, Goodyear Wrangler, just let me know. I imagine we can work out an arrangement. The tires that I’m actually driving on are 235s, and so, although I could use this as a spare in a pinch, I’d really rather have one that’s the same size. Hopefully I’ll get that taken care of as soon as I return from Washington.

Madagascar

Sarah talked me into going to see Madagascar.

As you may know, Madagascar is the latest movie by the same cinematic geniuses that brought us that masterpiece Shark Tale.

(*ahem*. Note to those unaware of my tendency to sarcasm. Shark Tale was quite possibly responsible for the most completely unredeemably wasted 90 minutes of 2004.)

Well, as stunningly bad as Shark Tale was, Madascar wasn’t that good. It had its moments, I suppose. The penguins saved it from being a complete flop, and even the lemurs were kinda cool. The reference to Planet Of The Apes (which *nobody* else in the theater got) was priceless. The “stars”, however, in their attempts to prop up what one might laughingly call a plot, were just awful. Shark Tale, at least, had De Niro. Madagascar as a hypochondriac giraffe. I can hardly wait for next summer, when the squirrels take back the forest from the hunters. (Alas, I’m not making that up. If only I were.)

Oh, I suppose it’s worth mentioning that Sarah thought it was just great, but there are a few brief parts that are somewhat scary, on the 7-year-old-girl scale.

British History

This morning, when, presumably I could sleep in, I was up at 0530, just like always.

*sigh*

Last night at reading group, we were talking about the phenomenon that, growing up in Kenya, we were taught British history, rather than the history of the country we were actually living in. The book we were reading – Decolonizing the mind – asserted that this was a conscious and intentional effort to stamp out the cultural identity of the colonized people.

While it may be possible that some people actually thought about that as a goal, I think that the truth is simpler, and, probably worse. It wasn’t that they were actively trying to stamp it out, it’s just that their arrogance didn’t permit them to see that there was anything there.

I remember asking a history teacher (I think it was a Turi, but it may have been at NA) why we were learning British history, rather that the history of the land in which we actually lived. There were two answers that I got on various occasions which stuck with me. One was a sort of perplexed “well, there’s no record of African history, so there’s nothing to teach.” The other was the more arrogant one, something like “British history *is* the history of the world.”

It was, if this makes any sense, a rather humble arrogance. It wasn’t beligerent, it was a simple congnitive assent that British culture was the most important, correct, and relevant view of the world. They weren’t so much saying that other cultures were unimportant. It was far worse than that. The other cultures simply didn’t register to them at all.

And, now, of course, this is apparently the US attitude to most of the rest of the world. I’ve long joked that US foreign policy can be summed up as: “What?! There are other countries?!” We assume that folks in other places are either just like us, or at least really want to be. And the ones who don’t are somehow suspect.

Sort of a “L’etat, c’est moi”, but at a global scale. “Le monde, c’est nous.”

Self-writing code in PHP?

I’ve been writing a lot of php lately, and mostly I’ve been struck by how much it looks like Perl, despite the average php-fan’s assertions to the contrary. Granted, this likely has a lot to do with who’s writing it, rather than being intrinsic to the language itself, but, still, it looks and feels an awful lot like Perl.

Which makes it all the more irritating when I try to do something that I figure it ought to be able to do, and it flatly refuses to do it.

Today, for example, I tried to persuade it to auto-generate some code for me, so that I wouldn’t have to.

The scenario is that I have N database tables, each with MN fields. I’m writing a class to encapsulate each of the N tables, and, for each of those, I’d then have to write the MN accessor methods. That’s clearly unacceptable, so after the first two or three, I attempted to automate the process. What I came up with was something like the following. In the table class, I might have:

foreach ($fields as $field) {
    gen_function($class, $field);
}

Then, gen_function will be in some parent class, and will look something like:

function gen_function($class,$field) {
    eval("
      function $class::$field() {
        $args = func_get_args();
        return getset($this, '$field', $args);
      }
      ");
}

Now, that doesn’t work, so don’t expect it to. But there’s got to be a way to do that, right? Oh, and function getset exists and works, so just pretend it does what you expect it to. That’s neither here nor there for the purpose of this conversation.

I asked on #php how (or if) one might go about creating a function in someone else’s namespace, and was met by a collective blank stare, so either I’m not asking the right question, or I’m using Perl-specific terms in my question.

I know that some of my readers are php wizards, so perhaps one or more of you can shed some light on the right way to do what I’m trying to do. Or perhaps tell me that PHP simple forbids this kind of monkeying around with namespaces. Or perhaps … dunno. Is there another way to get around this? The purpose of computers is to do things for me so that I don’t have to. Writing the same 4 lines of code repeatedly is a *bad* thing.

The revenge of the sith

It really was pretty good. And the folks with whom I went to see it were very fun. The acting, although very wooden in parts, was *hugely* better than Episode II. Although where the plot would eventually end up was inevitable, the path that it took to get there was somewhat unexpected, and so the whole thing was very enjoyable.

Fortunately, I didn’t take it nearly as seriously as certain of my friends no doubt will. 😉 I think that would likely take a lot of the pleasure out of it.

And over he goes!

This morning as I drove past SFOJ on the way to work, there was a bulldozer working on the road construction there. It was driving up the side of a large heap of dirt, and I said to myself, said I, it’s going to roll over. As he approached the 45 degree angle, I thought, surely he knows, he’s about to roll over, doesn’t he?

And, sure enough, as I was alongside, he went to the 46 degree mark and over it went, landing with a loud thump on its side.

I wasn’t able to stop, due to traffic, but I noticed a few folks going the other direction pulled off. I hope he wasn’t too badly hurt.

Coordinates

Before I clear these off of my GPSr:

The hotel at which I stayed in Moscow was at 55d44.780,37d34.848

The Market that we went to on Saturday morning was at 55d47.701,37d44.972 (You’ll need to zoom out a click or two before there’s reliable data.)

The little church that I wanted to go to, to find a geocache was at 55d44.737,37d09.864. In case I didn’t mention it before, I didn’t make it out there. 🙁 (You’ll need to zoom out on this one, too.)

More about REAL ID

Several additional things about the REAL ID act which strike me as worthy of comment.

First is the strange fact that the media doesn’t seem to be mentioning it at all. I wasn’t able to find a story on it on any of the major US news outlets’ websites. This is *enormous* news, and it seems that it is being intentionally ignored. Come on, folks, forget journalistic integrity, where’s you nose for a good controversy? If I had any doubts before that our media is told what to say by the government, the last ones have vanished. Blogs, it appears, are the only real news outlet that we have left.

Next, if you’re looking for a good explanation of what has happened, and why it matters, I think that Bruce Schneier’s blog is one of the best. The great thing about this ID card, as Bruce very clearly explains, is how easy it makes identity theft. Since all your personal information is conveniently encoded in a machine-readable format on the card itself, it’s a one-stop-shop for identity theft. And that doesn’t even take into effect what happens when the unpatched Windows 2000 server running the database is hacked. Or, maybe it will be an ultra-hardened SE Linux or Sun server. It doesn’t matter. It will be such a high-profile target, it’s just a matter of time.

And, from the EPIC page, via Bruce’s writeup, came this delight:

Only two groups–Coalition for a Secure Driver’s License and Numbers USA–support the controversial national ID plan.

Yeah, that’s Numbers USA, the folks whose website is powered by some of the best code I ever wrote. It makes me uncomfortable to think about it. I realize that I was more than a little unkind the last time I mentioned them. Roy is a really nice guy, has the best of intentions, and explains his goals so rationally, it’s hard to disagree with him. I just think that their focus on their single issue renders them absolutely devoid of peripheral vision.