April 30, 2003:

April ends today, and with it I think I'll stop
jabbering about spam so much. Jim Mischel and I are putting together a
plan for our own spam filter, but we won't have anything concrete for
awhile. I have to figure out how to use TurboPower's excellent FlashFilter
database engine, which is now free and open-ource from SourceForge.
We have some learning curve ascending to do, and the project will be boring
(at least to outsiders) for awhile.

I did see yet another spammer dodge yesterday: a URL with many of its
characters encoded with the HTML %xx hexadecimal character representation.
It looks like this:

http://31842:29575@%6db%72%76.s%72uh%6f%73t.com.%62%72/

I would guess most spam filters would gag on this, but it's not as peculiar
as it might seem. If you cook down all the %xx triplets into their equivalent
characters, you get this:

http://31842:29575@mbrv.sruhost.com.br/

It took me fifteen minutes to write a converter only because I'm so rusty.
Anyway, I'm still collecting odd spammer dodges to incorporate in our spam
filter, so if you have any favorites, please send them my way.

April 29, 2003:

Found something interesting in a new spam that
arrived this morning: The spammer liberally sprinkled the nonsense tag
</g> throughout the message to thwart naive text filters. There
is no </g> tag, and browser rendering engines simply ignore it.
This is one of the "robustness features" of HTML: It ignores
malformed tags rather than generates errors on encountering them. I actually
proposed using this feature in 1995, by inventing new HTML tags for Web
site subject/category tagging. The <META> tag was introduced with
HTML 4.0 and made this unnecessary, but the basic trick is still there:
Invent a new tag and the HTML rendering engine will ignore it.

New conclusion: We have to strip out all HTML tags before scanning
a message for spam triggers. This can be the last step in filtering, so
that if there is some HTML tags we want to filter on (like <IMG>)
we can do that before stripping all the tags out.

So it's back to the filter testbed, to figure out how to create a general
tag-stripping procedure. Shouldn't be too tough. I'll post it here once
I have it.

April 28, 2003:

I have a little Delphi testbed program now that
I'm using to tinker up various filters, which I apply to the horde of
spam .eml files I have stashed in a directory. I have a very simple filter
that pulls HTTP URLs out of message text. The problem with that is that
I want to cook down the URLs to the fundamental domains while stripping
everything else out. In other words, I want to take a URL like http://viagra.sellmorecrap2u.co.uk
and cook it down to sellmorecrap2u.co.uk rather than co.uk. You can't
just assume one period. It's easy enough if you only want to spot the
one-level domains we're most used to: .com, .net, .biz, etc. Making sure
you don't go too far is the trick: calling everything from co.uk spam
simply isn't true nor useful. I have to scout up a list of all the various
2-letter country codes, and then the prepended 2-letter codes used in
front of the country codes. There are actually 2-letter domain namesa
friend of mine registered gt.org so long ago that the domain's protons
have started to decayand that makes things even trickier.

There's also the possibility that code to do this has been published somewhere.
Doesn't matter what language it's in; I'm a Pascal bigot but I've written
productively in many languages. I'd be very curious to see how others have
solved this problem. If you've seen something like this, I'd appreciate
a pointer.

April 27, 2003:

I've been saving spam messages to disk and dissecting
them recently, looking for spammer dodges and new ways to filter. After
going crosseyed looking at about a hundred messages, I can make the following
generalizations:

Nearly all spam is HTML-based.

Not all is HTML-based, however. A growing spam category consists of
plain text and not much of it, with the usually gobbledegook random
letter sequences to throw off the "message identity" spam
killers, and, increasingly, "ordinary-looking" text to throw
off Bayesian filters.

Many messages are inserting garbage throughout their text inside HTML
comments.

The gobbledegook random letter sequences are now being broken up into
shorter chunks, with vowels at regular intervals. Somebody in the anti-spam
trenches must have begun checking for long strings of uninterrupted
consonants.

Popular product keywords are being spelled creatively. C@ral Calcium
is the latest I've seen. This is actually a good thing, but because
products come and go, filtering on "C@ral" weeds out certain
messages for awhile, then collapses when everybody filters on it and
the spammers stop using it. So the benefit is sharpno legitimate
email will use the word "C@ral"but short-lived.

A growing number of "unsubscribe" links are to unrelated
sites like Yahoo's main page.

What a way to spend an afternoon: Staring at spam, uggh. However, the
project led to a pretty potent observation: Spammers will disguise virtually
everything they can in a message to frustrate filters or make it look
like an "ordinary email." The one thing they cannot disguise,
however, is some way to reach the "seller." It's almost always
a Web URL. (Very rarely, it's a phone number.) And I was struck at how
often I was looking at the same damned domains.

The message is clear: We have to filter on a number of things, but most
especially we need to filter on URLs embedded in the message, either "naked"
or within <A> HTML anchor tags. Poco does not make this easy to do,
which is one reason I've been poking at a design for my own email proxy
spam filter. I may collaborate on this with Jim Mischel. More as it happens.

April 26, 2003:

I got a thought-provoking observation yesterday
from my college friend Steve Johnson, who was the reader both at our wedding
Mass in 1976 and our 25th anniversary Mass in 2001. His note speaks for
itself:

Reading some of your observations
about cynicism in Europe brought to mind some experiences that I had or
observed while chaperoning Greg's recent high-school German-language class
trip to Austria, Germany, and Switzerland in late March / early April.
(I had a wonderful time, by the way.) Everywhere I went, I tried to engage
shopkeepers, museum docents, etc. in conversation, and some eventually
turned to the topic of America's role in the world today.

In one instance, another parent
and I were on a tram to hear a concert at the Prince Archbishop's castle
high above Salzburg. We were approached by a small group of middle-aged
men, one of whom showed us his American flag lapel pin, and said that
being from the Netherlands, they were intensely appreciative of the U.S.'s
role in ridding Europe of the Nazis in the 40's, and believed that America
"had its heart in the right place."

In another instance, a street
artist said something very much the same once another parent's art purchase
transaction had been completed.

In the most interesting instance,
one of the teachers (fluent in German) stood in line to get into the anti-war
pavilion in the Munich central square (below the Glockenspiel) to see
what kinds of materials the anti-war protesters there were handing out.
He was standing behind a younger German woman, and in front of an older
German woman. When they got to the front of the line, the younger woman
signed the anti-war petition, and the older woman demanded to sign the
pro-war petition (they of course didn't have one). At that point, she
said, loudly, that if the Americans had done for Germany in the 30's what
they were doing for Iraq now, that the Nazis would never have come to
power, and that everyone there should recognize that fact.

We visited Vienna, Salzburg,
Munich, and Lucerne, and in each city (and points in between) I made it
a point to walk around the residential areas to get a feel for the degree
of anti-Americanism "on the ground," so to speak. In no instance was I
ever treated with anything but the warmest of hospitality. The number
of placards, peace flags, etc. was in every city lower than the corresponding
number on our street in Kalamazoo. The anti-Americanism was expressed,
if at all, in terms of anti-Bush, and then only in terms of the Bush administration's
isolationism and motives.

I guess my point is that the
American media is not portraying an accurate picture of the diversity
of opinion in Europe; the converse is also definitely true.

Our group visited Dachau as
well. The explanation of the historical context of the rise to power of
the Nazis was excellent, and chilling in its parallels to current events
(establishment of secret courts by emergency decree, the inability of
the democratic process to clearly indicate a winner in the election of
the chancellor, extraterritorial imprisonment of enemies of the state
to avoid civil rights entanglements, re-definition of what it meant to
be a "member of society"). Without sufficient information to truly know
what is going on, all I could, and can, do is offer prayers that our leaders
know what the hell they're doing.

Clearly, there's an "intellectual elite" in Europe too, and they
don't necessarily represent popular feelings there any more than the media
trash from Hollywood represent the views of people in the American heartland.
The problem with discerning the truth in anything is acute, and the way
our media is structured and operated doesn't help. No, I have no solutions.
But in his last paragraph Steve really fingered it. Whom do you trust? Good
luck with that one!

April 25, 2003:

On
one of the Old Catholic
listservs I monitor, one of the priests posted a link to a site in England,
run by a guy who created and rents an
inflatable church. For the trifling sum of £2000 per day (which
is more than Carol and I paid for our entire wedding, reception and all!)
you can be married inside a building that smells like a beach ball and
looks like something peeled out of a Nickelodeon cartoon.

This may seem appalling on the surface of it, especially in England, where
you can't spit without hitting a church (and find maybe five really old
people inside on a Sunday morning) but I guess it's better than getting
married at a drive-thru wedding chapel in Las Vegas. The artifact (what
else dare I call it?) is 47 feet long, 25 feet wide, and 47 feet high. He
doesn't say what it weighs, but if you filled it with helium, would it fly?

April 24, 2003:

I've been sent an interview to complete for
the Borland Web site, a flattering indication that I haven't yet been
forgotten by the Delphi community. One of the interview questions asked
me what I thought the future of Delphi should be, and I've been thinking
hard about that. One thought I had was that Borland should create a C#
compiler for the Delphi IDE...and in researching what non-Microsoft C#
compilers have appeared, I ran across Dr.
Bob's page on Sidewinder, the code name for Borland's upcoming C#
product. (Dr. Bob is the other Delphi Guy with a Hat.)

C# has me torn. I don't like to promote Microsoft's oligopoly, but C#
is a superb language, created by Turbo Pascal and Delphi author Anders
Heilsberg, the finest compiler author in history. Better still, C# is
really the next generation of Pascal, dressed up to look enough like C++
to sucker the C bigots into thinking it's a really cool thing, when in
fact it's the language they hate and fear the most and miss no opportunity
to slander. (See my entry for April 29, 2002.) If Delphi went away, I
would really have little choice but to adopt C# as my main language, and
I assumed Microsoft would brook no competing implementations.

I was wrong. C# achieved ISO standards status last fall (which I knew)
and now several non-Microsoft implementations of C# exist. There's even
an implementation from Ximian,
created to compile their open-ource Mono project, which is a free implementation
of Microsoft's .NET framework meant to run over Linux instead of Windows.
There's something wonderfully ironic about Borland implementing C#, but
it may help keep Borland aliveand provide me with a reason to get
the product and learn the language.

The question remainsand what I may bring up in my interviewis
whether Sidewinder will allow me to create native-code C# apps that do
not require or have any involvement with .NET. I may go after .NET at
some point, but I really prefer creating self-contained one-piece apps
that do not rely on bugfarm interfaces into separate code blocks. I will
walk a mile to avoid calling a DLL, which is really what .NET isok,
an Internet-enabled DLL. I'm not yet convinced that .NET is not a bugfarm.

I am convinced, however, that C# is worth learning. Now I know the way there.

April 23, 2003:

I've been taking notes on a design for a mail
proxy spam filter called Aardmail. Delphi has components for Windows Sockets
and the POP email protocol, so erecting a framework for a mail proxy shouldn't
be too hard once I study up on sockets and POP. Here's a condensation
of my notes for the beef inside the framework, which is a dedicated spam
filter, and not a completely flexible mail classifier, like POPFile.

Freemail is a table containing the domains of all known legitimate
free email providers.

Triggertext is a table containing text strings that trigger prepending
of the spam tag to the subject.

Blackarchive is an optional table containing all received but blacklisted
messages.

Whitearchive is an optional table containing all received whitelisted
messages.

Grayarchive is an optional table containing all messages received
that are neither whitelisted nor blacklisted.

The archive tables exist to allow me to track statistics about how well
the system works over time. Users may enable the use of these tables as
a sort of archival backup of messages outside of their mail client. Because
saving spam is mostly pointless, the archive tables may be enabled individually.

Here's the algorithm:

Whitelisting trumps everything else. Aardmail tests each mail header
on the POP server for whitelist first, and anything from a whitelisted
sender or domain comes down without further testing. Whitelisted messages
are optionally copied to Whitearchive.

After the whitelist test comes the blacklist test. Anything blacklisted
is optionally downloaded to Blackarchive and then deleted from the server.
If the user has blacklisted a domain present in the Freemail table,
a warning is put up when a message comes in from that domain, before
the message is deleted from the server. This is an optional feature
to protect clueless users from inadvertently blacklisting everything
from hotmail.com and its siblings, but it defaults to "on".

"Gray" messages (neither whitelisted nor blacklisted) are
downloaded from the server and optionally copied to Grayarchive.

Gray messages are next subjected to a suite of tests. Before the tests
are made, however, the message is copied to a buffer and HTML comments
are stripped out entirely.

The message is scanned for HTML <IMG> tags that download bitmaps
from remote servers. My experience is that 99.9% of messages containing
<IMG> tags are commercial email. Desired commercial email (newsletters
etc.) has to be whitelisted to avoid triggering this test.

The buffered message is scanned for text present in the Triggertext
table. Triggertext strings are stored either with surrounding spaces
or not. Triggertext with surrounding spaces are tested for leading and
trailing whitespace. Triggertext without surrounding spaces may be detected
embedded inside other text. Any match to the triggertext test prepends
the spam tag to the subject.

Note that this algorithm is very black-and-white. After much thought,
I've decided that "statistical" spam filters are more trouble
than they're worth. Ultimately, a message is either spam or it isn't.
POPFile drove me nuts handing me a message with a 53% likelihood of being
spam, and no way for me to tell how it came to that decision. Even Poco's
system of giving messages "points" for various included text
strings gave me trouble. It really is a black-and-white matter. I'm building
in machinery to tell me what message triggers what filter hitssomething
all filtering systems should do but none that I've tested ever have. Poco
can tell me if a message looks like spam in its opinion, but can't say
why, and why is crucial to tweaking the filters.

Maintaining the system will require some intelligence. If Aardmail has
any unique selling propostion, it will be the ease with which users can
add items to the Blacklist, Whitelist, and Triggertext tables. I'm still
working on that. But one thing that Aardmail will do that I haven't seen
other systems do is track and record how many times a given blacklisted
sender or triggertext item is hit during filteringand will migrate
frequently hit items to the tops of their tables. Items that are never
hit or not hit for sufficient time will drop off the bottom, to keep the
lists from clogging with abandoned spammer domains and triggertext terms.

I'm still a ways off from building this thing, but what you see above is
the result of my first hour or so of meditation. Comments always welcome.

April 22, 2003:

Twenty-odd years ago, I scoped out an alternate-history
SF novel called The Land of the Valkyries. In the novel, history
forked sharply during WWII: The Nazis developed nuclear weapons circa
1944 and laid waste to much of Europe and especially Russia, before the
American bomb, dropped on four German cities, ended the Nazi regime forever.
In consequence, the United States emerged from WWII as the sole superpower
on Earth, and the Cold War never happened. The US declared itself the
global cop (eerie how that resonates with recent history) and created
a fleet of supersonic bombers that would be sent to level any military
buildup mounted by any nation on Earth. These bombers were the B-70 Valkyries
that were developed in our own history but never deployed. (I have an
XB-70 model enshrined on my high bookshelf.)

As a subplot in the novel, the American space effort built on the X-15,
and didn't orbit humans until 1966. The Cold War space race didn't happen,
but more significantly, there were no ICBMs to use as simple boosters.
Without ICBM technology, there would have been no American space program
as we lived it; the Atlas booster was intended to lob nukes, not some
poor guy in a funnel-shaped tin can. In the novel, we created SSTO rocketplanes,
and by 1974 had a permanent space platform, with intentions to reach the
Moon by 1985, and Mars by 2000. My guess is that this was what we should
have done to begin with, though I understand why we did what we did.

In looking back from a vantage point 200 years from now, the NASA-driven
American space program may well be seen as a series of politically driven
stunts. We started out right, but got derailed by competiton with the
Soviets and John F. Kennedy's famous promise, which may well have gotten
us to the Moon 15 years early but destroyed workaday space travel after
that. The X-15 was definitely the right stuff in nascent form, and we
should have kept on with it.

So I am most
pleased to see (thanks to a pointer sent by reader Frank Glover) that
the formidable Burt Rutan has unveiled a
private manned space launch system called (most immodestly!) Space
Ship 1 (SS1). SS1 doesn't look a great deal like the X-15, but it's clearly
the X-15's lineal descendent. It's hauled to 50,000 feet by a beautifully
peculiar air-breathing jet platform called White Knight, then dropped,
to ignite its rocket engines and head for space.

Rutan has his eye on the $10M X-Prize, which goes to the first privately
funded space program that can take human beings to 100 klicks and back
again, and do it again with the same vehicle within a week. Rutan's company,
Scaled Composites,
probably knows more about pushing the envelope with airframes than anyone
outside NASA. They're not stuck in a fighter-jet-and-bomber rut like most
other aerospace firms. If anybody can do it, they can. Burt usually manages
to do what he says he's going to do.

So we get to space the right waytwenty years late, perhaps, but better
late than never. I suspect Burt Rutan will win the X-Prize. I'd almost lay
money on it. And maybe, just maybe, Carol and I will make it to the Sheraton
Deep Sky before we die. I'd mostly let go of that ancient dream, especially
once I saw Columbia come home the hard way. Funny how things change when
you least expect it, and funny how Hope kicks ass just after you give it
up entirely.

April 21, 2003:

My sister Gretchen sent me a pointer to a great
site about "psychedelic" and garage bands of the Sixties: Fuzz
Acid and Flowers, by Vernon Joynson. My friends know that in my formative
years I was a great backer of one-hit wonders like the Peppermint Trolley
Company, the Will-O-Bees, the Riddles, and the Capes of Good Hope. (The
Riddles, in fact, were no-hit wonders, and I only knew of them because
they played at the late Sixties "teen club" dances held in our
church basement in Chicago.) Now you and I and everybody can learn who
the band members were and what they recorded and when.

Garage rock flourished back then because radio stations were locally
owned and locally controlled. If you were a local band, you had more than
a vanishing chance of getting the local station to spin your 45's for
a few weeks, and if word got around for some reason, the record might
go national and you'd bubble up into the Billboard Top 100, and maybe
get as high as #62.

Not so these days. Rock has become product, produced at great (and probably
needless) expense by the big labels and shoved down the throats of listeners,
who have no choice because virtually all radio broadcasting in the country
is controlled by two or three national concerns. There are a multitude
of small and very small record companies out thereGretchen, in fact,
owns and operates one with her husband Bill, and they even make money!but
there's no way to get their songs played on the radio. So the discs are
sold at concerts and conventions of kindred spirits, and promoted by word
of mouth. It's an odd and almost unknown subterranean river of music,
and it would explode into a new renaissance of rock if we could somehow
make radio broadcasting a local phenomenon again. Little chance of that,
sigh.

Interestingly, I've received email from two garage-era artists that I've
mentioned in my Web site: Folker David Buskin and the female lead singer
of the Will-O-Bees, who I won't name because she's somewhat shy. Both still
sing, David professionally, and there's some compensation in knowing that.
You can make artists starve but you can't shut them up...and I still have
some hope that garage will rise again.

April 20, 2003:

Easter Sunday. Even if you accept that the Biblical
account of Christ's mission on Earth is authentic and divinely inspired,
there is still a great deal of really gnarly uncertainty inherent in the
task of interpreting the message. Jesus Christ diedand rose, let's
not forget about that!to save us from our brokenness, manifested
as our tendency to cheat and torment and off one another, often with a
brutality that no animal predator could match.

So far, I buy it completely. But after this, the details begin to trip
me up. Many interpretations of the sparse Biblical narrative have been
proposed down through the centuries. Anselm (1033-1109) taught that Jesus
died to persuade God the Father that we could in fact be forgiven for
our sinfulness, and rose to prove that He wasn't just a man, but God.
God the Father was of a mind to keep us shut out of Heaven forever, but
His Son took a liking to us down here on the rockpile and proposed the
Incarnation as a way of appeasing God the Father. This pitting of one
aspect of God ("person" in trinitarian theology originally meant
aspect, and not "another separate guy," a confusion over
which much blood has been spilled) bothers me tremendously. This already
dubious Anselmian theology was twisted even further into something called
(unfairly, some think) the "American heresy," which held that
Christ died to keep a furious God the Father from wiping us out entirely.

The great lynchpin disconnect in Christianity is probably the question
of what we have been saved from. On the conservative side, they
hold that we were saved from an eternity of torment in Hell, which we
deserved inherently for making the grim mistake of having been born. (This
is called "original guilt," and is the greatest curse that any
human being has ever let loose upon the world. I get in trouble when I
mention who let it loose, so look it up for yourself, heh.) On the liberal
side, they hold that we were saved from our own damfoolishness here on
Earth, and made suitable for ascent into Heaven.

So who's right? The whole matter of Hell haunts me and probably always
will: I watched my mother die of despair, certain that God would damn
her for reasons that were never entirely clear to anybody. She feared
the Medieval Hell of torment, which is incompatible with any vision of
God except for the corrupt and vicious godling the Gnostics called the
Demiurge. Even the modern Hell of separation from God is problematic for
many reasons, greatest of which is that losing any being for eternity
is a defeat for God, and God almost by definition doesn't lose. I have
more to say on this and will get to it in time.

But I'm tired, headachey, and borderline depressed tonight. A close friend's
nephew committed suicide on Good Friday in San Francisco, and having won
the technical war in Iraq, we face ten thousand ugly new questions, questions
that mostly cook down to this: Who and what can we Americans save?
Have we the right to fail if we try? Should we try at all? If a man seeks
to end his own life, do we have the right to restrain him? If a nation
insists on brutalizing its own people, have we the right to march in and
knock heads?

Easter is about saving. God saved us, but hell, (as it were) He's God.
How do we here on Earth discern who to save and how? What is the right path?
That's the really nasty question for all well-meaning people. To try to
do God's work without God's wisdom...yup, it's a scary, scary business.

April 19, 2003:

Finally!
I found my two thick cozy bathrobes. They were packed inside a suitcase
that was packed inside another suitcase. The robes were much missed this
week, during which we saw a lot of cold weather, strong winds, and (this
morning) new snow on the higher reaches of Cheyenne Mountain, which looms
large out our kitchen window. Anyway, this is a perfect instance of being
a little too clever at finding nooks and crannies to fit things while packing
up the house. The inner suitcase was a perfect size to fit two bulky robesso
clever that I clean forgot about it in the chaos of the ensuing several
weeks. I knew they were stashed somewhere clever, but just where became
a mystery that wasn't solved until we had looked into every other box that
wasn't clearly loaded with electronic test gear or books. The lesson: Don't
be so clever that you yourself aren't smart enough to recall how the trick
works!

April 18, 2003:

In trying to keep up with the relentless pace
of computer peripheral technology, I realized with a start this morning
that my entire collection of 2300+ MP3s (which represent all but a vanishing
handful of songs that I ever liked) would easily fit on a single DVD-ROM.
That's a lot of music to fit in the palm of your hand.

The music industry has focused on broadband networking as a subversive
technology, and they've been relatively successful mounting a terror campaign
against anyone and anything that tries to move music over a network. It's
unclear that they recognize how subversive high-density data storage can
be. Double-layer DVD-ROM now holds about 9 GB; DVD-R holds 4.7 GB. In
a couple of years those numbers will seem hopelessly quaint; I expect
cheap 18 GB single-sided DVD-R machinery by 2006 or sooner. 18 GB will
hold between five and six thousand pop songs of the usual length, and
that represents virtually anything that has hit the Billboard top 100
since 1955. A single 18 GB disc that can be duped in a couple of minutes
has an effective "bandwidth" far in excess of anything residential
broadband will see this side of our predictive horizon, and everyone on
Earth will be within a couple of email mesages of someone who has a copy.
A new sneakernet for music DVDs will doubtless emerge, with discs passed
hand-to-hand and through the mail, of all things, and yet another opportunity
to make money selling songs will slip through the industry's fingers.

Are these guys really that dumb? Or is it really all a matter of ego? What
I personally think is that it reflects too much power in too few hands,
and that what the business really needs is for the five big rock(head) labels
that comprise the music industry to be broken down into pea-gravel. About
four hundred small pieces is about right. When companies are too hungry
to throw money at lawyers, that's when all the real miracles happen. We'll
see.

April 17, 2003:

As I've indicated a time or two recently, I
have the itch to program again, and I'm trying to decide what project
to pursue. Aardmarks is problematic for reasons I will set down here in
the near future. Prototype 2 works well enough for me to use it daily
to gather and organize Web bookmarks, but there is a lot of uncertainty
in my mind over what the next version really needs to be, beyond cleaner
and slightly easier to use.

I have a notion of creating a database of Wi-Fi hotspots, a project which
doesn't require much cleverness on the programming sideit's just
a typical relational databasebut must be filled with data on hotspots,
data that has to come from some(whose knows?)where. I may do it anyway,
to get my Delphi legs back, as it's been over two years since I was last
bashing code on Aardmarks.

But the concept that intrigues me most is a mail proxy, structurally
like POPFile, but with more conventional text-based filtering inside it.
I've been unable to create a Poco Mail filter that will spot a message
that downloads bitmaps with an HTML IMG tag, nor one that can recognize
a domain inside a hyperlink. These are obvious, near-idiot-level filters
that any mail client should be able to do. Why Poco can't handle them
is unclearrumor has it that I'm a reasonably bright guy, and I've
tried lots of different things.

The text filtering is conventional object Pascal that I could do without
a great deal of trouble. What's stopping me is getting a handle on the infrastructure:
How you insert a proxy between a mail client and a POP server. I'm studying
the question right now, and hope to get to work on the project (which I
may call Aardmail) within the coming months. Certainly, if any of you have
seen a Delphi-based mail proxy out there with source, do send me a pointer.
In the meantime, there's Aardspot. Once I get a few more boxes emptied here,
I'll dig in and get to work on it. Can't wait!

April 16, 2003:

My
sister Gretchen and I inherited a pair of lamps from Aunt Kathleen (see
my entry for August 29, 2001 and my VDM Journal entry for July 9, 1999)
that have long occupied a marvelous and slightly off-kilter place in the
family mythos. She actually gave us the lamps many years ago, when she
left her house and bought a one-bedroom condo, and the lamps have followed
us faithfully around for many years. I pulled mine out of a box a few
days ago and stared at it for a bit, recalling its history and peculiarity.

It's a little hard to see clearly in this photo, but the design on the
painted porcelain base is a scene of Classical idleness, with several
(mostly) naked ladies sitting around amidst brightly-colored festoons.
Some of these festoons are bright orange-yellow and from a distance resemble
flames. That, and the two winged angels sitting guard over the whole thing,
caused us to joke that the scene on the lamp was one from purgatory, with
naked souls sitting hopefully amidst the flames, waiting for someone to
drop a carton of indulgences from On High. The lamps thus came to be called
Big Purgatory and Little Purgatory (mine is Big Purgatory) and are like
nothing else either of us has ever seen.

We don't know precisely how old they are, but we think they were purchased
by our grandparents immediately after World War II. They could be older,
of coursewe just don't know. It always tickled Aunt Kathleen that
we kept them and seemed to cherish them as much as we did, which (secretly)
was more for their goofiness than anything else. And I suspect that she,
in turn, gave them to us in part because she considered them ugly. It doesn't
matter; the Purgatory Lamp reminds us of Aunt Kathleen and we will always
keep it.

April 15, 2003:

Why does George Bush insist so fanatically that
a tax cut could mitigate or end our current recession? Most people miss
the obvious answer: It's the only thing he can do. Government spending
does stimulate economies, and a tax cut is a species of government spending,
in that it puts money into the hands of consumers that would otherwise
be retained by the governmentand spent elsewhere, like on wars.
Wars stimulate the economy toothat's how we ended the Great Depression,
in fact. So I have some question about how stimulative a tax cut might
be. The money is steered by the government, but not saved (ha!)
or destroyed by it, and theoretically it's always out there somewhere,
doing something. Even as we as a nation spend as never before, well, here
we sit, mired up to the eyebrows.

This particular recession is being stubborn, and I think I know why:
The problem this time isn't a lack of money, but a lack of...freedom.
What we need is not a tax cut, but a serious increase in the freedom to
create new jobs and thus new wealth. In the last thirty years or so, the
economy has been gradually tied to ground with a billion threads, rather
like Gulliver in the hands of the Lilliputians. These are the threads
of petty laws (like byzantine zoning codes and deed restrictions) and
non-legislated regulations in many fields. Some may have valid justifications,
most do not, and a great many could vanish entirely without our being
any worse off than we are.

There's a Gordian Knot effect here: Separately untying such threads could
take (literally) centuries, there being so many of them. Worse, each thread
has its fanatical protectors, who would have to be fought off, bought
off, or (with great courage and political risk) ignored. The only way
to increase the degree of freedom usefully would be to cut a great many
threads with a single stroke, which would enrage enough thread protectors
to become politically prohibitive in a democracy.

I suspect George Bush knows this, but he also knows he can't win in the
attempt. Interestingly, a dictator could end democracy forever by simply
forcing freedom on people, and yes, how clever, allowing the whiners to
whine and protesters protest, and not making any attempt to shackle or
silence opponents. As I've said elsewhere, Mussolini understood that as
long as the trains ran on time (and people could work and eat and live
their lives mostly unmolested) democracy is simply frosting, which people
will take for granted and say they like but not demand or heaven knows
revolt for. When only 25% or 30% of Americans bother to vote, conditions
will be ripe for the one type of government that I don't think has ever
been tried: the libertarian dictatorship, which is basically a cadre of
enforcers who say to one and all: "You're free. So is everybody else.
Live with it!"

Wild idea, huh? I need to write a novel about it.

April 14, 2003:

In response to the two people who asked (on
the phone) if I had found my pants yet, the answer is yes: I had used
several of them to pad a lamp, but neglected to write "pants"
on the box. I found the rest in a box marked "Jeff's shirts."
I had a system, but the system had some thin spotsjust like a lot
of my pants.

The real news today, of course, is that I have broadband again, courtesy
of Adelphia cable. We also have cable TV, for the first time since...ever.
(Had to think on that one for a secondTV has never been a priority
in our lives, and it's entirely possible that we had cable once and I'd
forgotten.) Nothing changes other than the fact that I can communicate
again. My email remains what it has been for five yearsbut I'm losing
the spam war and even Poco, as good as it is, doesn't allow the kind of
filtering I need to do to keep from drowning in emailed crap. I'm considering
retiring my easy-to-remember address for something resistant to dictionary
attacks, but the larger problem of well-meaning but clueless people posting
my email address on the Web for the spam robots to find won't go away
any time soon.

Carol and I will be sending out a change of address notice shortly, both
via email and through postal mail for the old folks.

Much of the house is now unpacked, but there's still a lot to do. My target
for "normalcy" (whatever that is, apart from having broadband
and knowing where your pants are) is one week from today: April 21. With
any luck at all that will become the first day of the rest of my life.

April 13, 2003:

Very little affects as viscerally as war, and
I've sensed that there's a kind of imprinting by the first war that each
generation faces. This imprinting carries through all the rest of our
lives, and colors the way we think about war, power, politics, and almost
everything else. As my sister Gretchen says, World War II never really
endedit continued to be fought in saloons all over Chicago, and
the bullets of memory continue to fly to this day, even though the warriors
of the Greatest GenerationI will grant them that!are fewer
all the time. To those of the Greatest Generation, every war is WWII.
To the Boomers, every war is Vietnam.

This is dangerous. Fighting the Vietnamese as though they were the Nazis
cost us dearly, and drove a good many of my own demographic cohort right
out of their trees. What I'm wondering now is how the last few warsIraq
I, Kosovo, Iraq 2will imprint the young people who have fought them.
Those who fought WWII may rightfully wonder if a 25-day conflict that
costs 100 American lives rather than half a million is really a war at
all. Those who fought Iraq II may come to think that any war that you
can't win in a month can't be won at all and shouldn't be attempted.

Contrary to what the idiot press has to say, there are other major powers
in the world. If China invades Taiwan, we will not be faced with
a one-month war. If North Korea invades the South, we will soon discover
how willing a minor power may be to use nuclear weapons. The wars of the
future will be nothing like the wars of the past, something we may assent
to in our heads but not our hearts, for our hearts will always be fightingor
protestingthe last war rather than the next.

April 12, 2003:

A stanza from an old Shaker hymn came to mind
this morning as we breakfasted:

When tyrants tremble, sick
with fear
To hear their death knells ringing;
When friends rejoice, both far and near,
How can I keep from singing?

Say what you like about the aftermath, but whatever any sane person would
call a war is pretty much over. I haven't followed it closelyI
like to sleep too muchbut my capsule impression is that it was a
success. Whether Saddam is alive or dead is less important than the simple
truth that he isn't running things or (more significantly) killing people
anymore, and with some luck that will continue to be true.

Nonetheless, there are dangers in prosecuting wars like this, which I hope
to get into tomorrow. Too much has to be done here in the next few hours
for me to work on it today.

April 11, 2003:

Having tried and failed to find a legitimate
Wi-Fi hotspot to connect through (so much for following my own book-length
advice!) I finally cadged a phone line from a neighbor so I could dial
up to check mail and update Contrapositive. My mailbox may have filled;
I just can't tell. So if you sent me anything in the last day or so, please
send it again just to be sure.

We got new cellphones late this afternoon. Having played around with
one for an hour or so, I will say that it represents an entirely new set
of UI conventions, a set I'm not entirely sure I care for...and I blush
to admit that that's what a lot of people said about Windows when it first
got popular.

We're oiling our bookcases and emptying boxes and generally persevering.
Sorry to be so dull, but it's not been possible to think deep thoughts when
I'm desperate simply to find my other pairs of pants.

April 9, 2003:

Unpacking furiously; little time for anything
else. Found my belts but my pants are still missing. Been in these jeans
for almost a week, sigh.

It occurred to me that a single filter mechanism could rid the world
of a great deal of spam: Something that identified any message that downloaded
an image from a remote server as part of an HTML-encoded mechanism. This
would not include URLs present in simple text, but URLs present as part
of an IMG tag. Such a filter should strip out HTML comments before engaging,
and it should also anticipate as many spammer dodges as possible.

Does anything like this already exist? I'm going to play around with things
in Poco as time allows, but if you Web freaks have any thoughts I'd love
to hear them.

April 8, 2003:

It all came off the truck today, everything
we own, in one frantic 8-hour marathon session. The system I worked out
for labeling the boxes functioned beautifully (see my entry for March
15, 2003) and everything went pretty much where it was supposed to go.
Now, this is a much smaller house than we had in Scottsdale, in
terms of conventional rooms. However, it has a cavernous basement, and
that's where most of our stuff went, including the overflow from the garage.
We intend to open only about a third of what we packed (we'll see in time
how true we are to that resolution) but that third is now sitting in huge
piles in the middle of every room but the room we will (hopefully) sleep
in (soon) and we're picking our way through a maze of twisty little passages
between boxes full of books, lampshades, shirts, Wi-Fi gear, and more
odd crapola than I would have admitted owning even as recently as a year
ago.

I'm exhausted, and all I did was basically check off box numbers on a
card table in the driveway as a crew of five burly guys trooped down the
ramp from the truck with our stuff on dollies. The work that is to come
is daunting, not the least of which is deciding what to do with the immense
quantity of newsprint I wadded up to make sure our lampshades (and a lot
of other things) survived the trip.

But that's a hassle for another morning. Alas, that morning is only twelve
scant hours off. Note to myself: Dream about sleeping if you can.

April 7, 2003:

If you're reading this, it's not in realtime,
let us say. After being heavily connected for a good many years, Carol
and I are now basically disconnected, to a degree we haven't seen in,
well, hmmm, never. No Internet. No landline phone. Our analog Verizon
cellphones are being deprecated (that means fewer towers are handling
the signals) and we've discovered that our new rental home in Colorado
Springs is in the middle of a quarter-mile dead spot. We have to drive
down the hill to the Safeway plaza to make a phone call.

It's all good fun to play caveman today, sitting on the floor in an empty
house eating Cheerios with our fingers, but I realize that these circumstances
could last for most of a week. The Adelphia cable man isn't coming to set
up broadband for me until next Monday, and we won't be able to shop for
a new cell plan until probably Thursday. As I related yesterday, I had planned
on making the trip up to the Sheraton lobby to use Boingo to download my
email every day, but for whatever reason the Boingo hotspot there won't
talk to my laptop, and I can almost feel the spam piling up at the rate
of about 400 messages per day. My mailbox will doubtless fill up, and I'm
not sure what happens then. You may get some bounces. Hang in thereMonday's
coming!

April 6, 2003:

If you're ever looking for a hotel in Colorado
Springs, let me suggest one to avoid: The Colorado Springs Sheraton on
South Circle Drive. The people here have been wonderfulthe facility
itself is falling apart. With our suitcases in hand we tiptoed around
buckets set in a hall, collecting drips from a leaky roof, plus the occasional
piece of falling plaster. The first room they put us in had a clobbered
heat pump that would not open the vent to the outside. When the compressor
kicked in, it howled like a tormented animal; clearly the compressor bearings
were on their last legs. We complained, and they moved us to another room,
which stunk of cigarettes but was all they had. (We were competing with
the spring Peel's Beauty Services Conventionbasically five hundred
women lined up to take courses in nail decaling.) We left our stuff in
the room until early evening, when we discovered that the door's deadbolt
was stuck and would not engage. By that time the beauticians had left,
for the most part, and we got the hotel to give us a nonsmoking room again.
This time everything worked, but someone had stolen the cord from the
phone on the desk.

In addition to all this, they only had 20 channels on the TV system.
(The prairie dog infested dive in Albuquerque had had over 60.) No Animal
Planet. No animals, none of the time. What kind of a hotel cocooning evening
is it without Animal Planet?

Finally (and this may not in fact be the hotel's problem) the Wayport
high-speed Internet system in the rooms turned out to be slower than my
dialup! It was so slow parceling out packets to my laptop that I couldn't
get all my email downloaded without repeated server timeout errors. I
finally went back to my dialup.

Oh, and yet one more: Boingo's online directory insists that there is
a Boingo hotspot here, but Boingo's connection utility can't find it and
the hotel staff have no idea what I'm talking about when I ask them if
they have Boingo. It probably sounds like a tropical disease.

We'd get another hotel, but that means stuffing all this crap back into
an already overstuffed 4Runner, and so far this room seems to be OK. Tomorrow
we get the keys to our rental house, and this end of our Adventure in Moving
begins with a vengeance.

April 5, 2003:

We rolled into Colorado Springs a few hours
ago, after a ride that clocked in at 846 miles. We took it slow and easy,
seeing as how we were starting out exhausted after one of the most demanding
several days either of us can remember. The trip was sunny, cool, and
uneventful. We stayed in a hotel in Albuquerque yesterday that had a prairie
dog town on on the outskirts of the property, right up against the I 40
embankment. The prairie dogs were running around, chattering and noshing
on French fries that somebody had dumped in the nearby parking lot. One
doesn't think of them as urban creatures, and here they were in the middle
of downtown Albuquerque.

Not much more to report, nor the energy to report it with. We're here. All
is well. Now I want a good night's sleep.

April 2, 2003:

Reprieve. I found I could leave broadband on
until the new owners of the house take it over, and while the Big Dell
is packed and on the Big Truck, I still have my laptop. So I have another
day (today) and perhaps tomorrow morning until I descend once again into
dialup hell.

They
swarmed like locusts yesterday, emptying out the second story (my office)
in about an hour and a half. Key motivation was the remarkable hydraulic
lift machine required to get anything out of here. The only access to
my upstairs office is through a tight spiral staircase, and everything
larger than a book box had to go over the edge of the outside deck. So
they wheeled in this huge cherry-picker thing with a platform on the business
end, and in an hour of frantic work, everything went out onto the deck
(some of it through my office window) and down to the truck on the lift.
They were quick because we had a fixed-price quote on the move and the
moving company was paying for the lift by the hour.

As
I write this (late morning) they're still emptying out my garage, and
much of the house is still on the back patio waiting to go on the shuttle
truck. (The real moving van had to park half a mile away, as it's not
rated for Arizona dirt roads.) The raw strength of some of these guys
is impressive; I doubt I could have hefted an entire drill press solo
even when I was their age, and the chap shown at right hauled it around
like it was a cardboard cutout.

The truck should be all packed by noon or soon thereafter, and we'll
have the afternoon to vacuum, replace various outlet plates, and generally
decompress. Oh...and empty out the years-old mustard jars and other crap
from the fridge. We still have an unopened carton of Godiva chocolate
ice cream in the freezer, and will incorporate it into our victory feast
of carry-out Chinese or pizza when it's all over.

At that point, we'll be officiallly homeless, at least until we pull up
to our new home in Colorado Springs. More as it happens.

April 1, 2003:

Hokay. The Lowden Road Internet Outpost here
is about to go dark after nine years of almost continuous service. (Alas,
most of it via dialup, but...we progress, we progress.) I will not have
broadband again until April 15, and that's assuming they show up and that
it works the first time. (Cable typically does.) In the meantime, unless
I can find an Internet cafe or something in the Springs, I'll be checking
email via dialup, but I may not be posting any entries here. If I can
I will. Won't know until I get there.

I'll miss this place. I've lived in this house longer than I've lived
in any house except for the house I grew up in, on old Clarence Avenue
in Chicago. I'll miss the roof deck and the wildlife. (Well, some
of the wildlife...) I won't miss the heat, the dust, and the traffic.

Hang in there, and don't get worried if I'm a week or so without posting.