« August 2004 | Main | October 2004 »

September 30, 2004


If you’ve been reading this for a while, you know I’m a (relatively) vocal advocate of the Mozilla Foundation and, in particular, its browsers Firefox and Camino.

You may also have noticed that I’m a booster of strong encryption, and the PGP/GPG model in particular. I haven’t made as much noise about it here, because while MacGPG and GPGMail make it very easy to use GPG with the Mail.app program on a Macintosh, I’ve had less luck finding easy-to-use encryption software for Windows without crippling license restrictions. (I was looking for an app to use at work, so the freeware PGP was out.) I didn’t want to nag everyone to use encryption and then have the Windows users hate me when the process was, well, less than simple.

Today I got a response to one of my grad-school networking messages which was encrypted with Enigmail, which turns out to be an extension for the email client of Netscape/Mozilla and for Mozilla’s excellent standalone mail client Thunderbird (the jargon is “MUA”, or Mail User Agent) which provides GPG functions.

By now you can guess where this is headed, right?


With that out of the way, though, I have to ask: when will we see a webmail service that supports encryption? Never is my bet, for two reasons; one is practical and one is paranoid. First practical: in order to support encryption directly, the service would need a copy of the user’s private key, and (unless they were using a secure connection) the message plaintext, the key passphrase, or both would be transmitted in the clear over the ‘net. Both of those are security risks. Second, the paranoid: isn’t one of the big selling points of GMail (aside from the peer pressure aspect) that it indexes your mail, both to provide a search service to you and to target their revenue-producing advertisements? Widespread use of strong encryption breaks that. I can’t imagine Google encouraging that.

Will we need to remind Google not to be evil?

(I should add, for those wondering: my public key is here.)

Now playing: Brooklyn from The Fine Art Of Self Destruction by Jesse Malin

Posted by pjm at 10:46 AM | Comments (5)


Since I could see cords in the sidewalls of my bike tires, last weekend I dropped it off at the Laughing Dog bike shop in town. The guy who runs the Laughing Dog shares my first name, and since there aren’t many of us, we try to stick together.

He replaced the knobbies which had been on (so far as anyone knows) since the bike was new a dozen years ago with a set of “slicks.” These are still mountain-bike fat tires, but instead of big chunky treads like those on running shoes, these only have knobs around the edges; the center of the tire has a very subtle tread, more like coarse sandpaper or tennis shoes.

I rode in on the new rubber for the first time this morning. The difference is remarkable. The thing that struck me the most was the noise, or actually the lack of it. Aside from the wind in my ears, all I could hear was the hiss of the chain in the front chain-ring. No hum from tread on pavement. The other thing was the lack of resistance. I rolled like a ball-bearing, and I was able to push bigger gears for most of the ride than I had before. (I have to admit, it’s possible that I simply had more air in the tires than I’d been able to keep in my old ones.)

I’ve probably spent more time on the bike this summer than I have for years, just trying to ride in at least once a week. I’m not sure how much gas I have or haven’t saved, but it hasn’t hurt me any.

Now playing: We’ll Inherit The Earth from Don’t Tell A Soul by The Replacements

Posted by pjm at 9:10 AM | Comments (0)

September 29, 2004

Hunter's end

It looks like we’ve lost Harry. Harry was actually a character here; a few months ago, he brought me a present. But he’s been missing for two nights now, going on three, and in today’s paper there was a note about a bobcat sighting in his neighborhood.


I think dead cat posts are far too frequent on this site.

Posted by pjm at 8:29 PM | Comments (2)

I'm all about raising the level of discourse

Email about today’s column:

First successful use ever of “heuristics” at runnersworld.com… or probably at any running web site. Way to go!

(I should add that it was an August post by Dorothea that had me thinking “heuristics.”)

I wonder if anyone noticed the “biting the hand that claims to be feeding me” angle? Or, if anyone who doesn’t already live in a world of syndicated feeds and portable data understood the second half of the thought?

Now playing: Polar Bear from Some Friendly by The Charlatans

Posted by pjm at 3:31 PM | Comments (0)

Making the connections

It turns out that there’s two kinds of “difficult” about this graduate school application thing. There’s “difficult,” as in, “this is going to take some time to sit down and plug away at.” And there’s “difficult,” as in, “I really don’t feel at all comfortable doing this.”

There seems to be a lot more of the second one than the first. It’s stuff I first heard from an acquaintance who is a CS professor at the College, and had underlined when I talked to the Career office there last week: with my unusual academic preparation, I’m going to need to contact people in the departments I want to study with, talking with them (face to face talking, not “talking” by email,) and find out if they think I’ve got a chance of staying afloat. Actually, I need to convince them that I will stay afloat if they give me a chance; I should also be using these discussions to get a feel for whether I’m likely to enjoy spending a few years in the department.

I also need to ask other people to spend a chunk of their time writing me letters of recommendation. I’ve asked three, two have agreed, one hasn’t responded. I have two others to ask.

I’m profoundly bad at this.

Not at talking to people; I talk just fine, once I get started. Sometimes I don’t stop when I should, actually. It’s making the contact, figuring out who at the department I should be talking with (and sometimes the department appears to be trying to avoid this sort of conversation,) then actually making the appointment and walking in their office. I will procrastinate all of these steps endlessly. I think I could even say I dread them. I don’t know why.

I don’t even particularly like talking to people on the phone, for some reason. I’d vastly prefer email, where I’m in control of my end of the conversation. When you come right down to it, look at this site: this whole thing is the appearance of sharing my life and thoughts while retaining full control over what I really tell you all. Some of you who’ve commented and whose weblogs I’ve read, I’d probably do all right with, but if someone reading this, who I don’t know in any other context, was to approach me “on the street” and initiate a conversation about the site, I would probably be profoundly uncomfortable for a few minutes. (Unless you got me wound up on one of my hot-button topics, in which case I’d forget that I didn’t know you while I unloaded my thoughts on the matter, and you glanced around uncomfortably looking for an escape route.)

I’m not at all crippled by this, of course; I talk to strange people on the phone every day when they call with software problems. I’m actually fairly good at it. I’ve learned that when the call comes, if I just reach over and punch the button and start talking, I’m fine. If I step off the pool deck and plunge right in, I’m ready to start swimming.

But these pseudo-interview contacts are excruciating because I can put them off.

I need to stop.

I need to make a real nag out of myself, in fact, because I can’t do this by myself, and the sooner it happens, the better. Deadlines are coming within a fairly small number of months. I should set a goal, like having at least two, possibly three arranged by the end of this week.

Update, Thursday 9/30: Got a third LOR agreement, a lead on who to talk to at one school, and an appointment (!!) at another. I still need another appointment!

Now playing: The Time Being from Somewhere Else by The Church

Posted by pjm at 1:04 PM | Comments (2)

September 28, 2004

It's been a long time

In today’s mail I found an application for yet another race I’m not in shape to run. It’s a relatively unremarkable small-town 5K which I chose to run two years ago (in my last good racing season) for two reasons: a friend teaches in the school district it benefits, and one of their schools has my name. And I happened to be looking for a race that weekend. (This weekend: it’s coming up on Saturday.)

They wanted to comp my entry last year, which is nice because usually I get comped entries because of who I work(ed) for, not how well I ran there before, but I had to turn it down because of my damned foot. I wasn’t offered the free entry this year, but I won’t be able to run anyway, for the same reason.

Perhaps out of morbid curiosity, I checked the website, which is pretty well done for a small-town race, and discovered that despite introducing prize money three places deep in 2003 ($100-$50-$25,) they ran slower last year than I had. Further checking revealed that I actually hold the course record.

For $100, I don’t think that mark will last past Saturday, so I’m taking a screen shot now. The last time I held a course record it was because I won the first running of the race (the “…and a bat” race) and I think that one only lasted two years, as well.

I’m a little disappointed that they weren’t offering that prize money the year I ran. But maybe I have the moral high ground; I can say, my motives were pure, I did it just for the faux-metal trophy.

Now playing: Ride from Dandys Rule OK by The Dandy Warhols

Posted by pjm at 5:04 PM | Comments (1)

Taking no credit

Julie put up a scorching post yesterday evening starting, “There are a lot of morons in the world, and inevitably my grade will be affected by it.”

The situation sounds familiar to me, and with reason: I’ve nearly throttled my partner(s) on more than one group project in my time taking continuing education courses.

There was the time, in the systems programming course, where we had a programming project to do. I understood pretty much how the program was supposed to work and how I would block it out—that is, I could write the pseudo-code. However, I’d never compiled a working C program before, and the project was to be done in C. My partner didn’t quite get the assignment, but claimed he’d taken a course where they had used C. Great, I thought, between us this should be easy. Well, maybe not. By the day before the due date, with the pseudo-code mapped out and the relevant system calls in place, it became clear that all the C my partner knew was the third letter of the alphabet. I spent a long evening with K&R making something that would compile, and submitted the project with the names of all the people who made actual contributions—that is, just mine.

That was the worst-case scenario. There was another project where I carefully avoided trying to do it myself (though I thought I’d do better on my own than I would with the group,) and we all ended up not really being able to pull it off—the whole didn’t even equal the sum of its parts, because nobody had the missing piece we needed. And I did manage a few group presentations for other classes where we did actually manage to split the work pretty evenly and do a good job.

There are two reasons I think I’ve had what trouble I’ve had. First, I’m a bit of an unusual student at night school. The bulk of night school students are people who, for whatever reason, never finished (or started) their first college degree, not people who are changing their academic field like I am. I’ve got a (relatively) successful academic record behind me, which makes me (ironically) a bit of a black sheep at night school, through no fault of mine or the other students.

Second, I don’t think I ever learned to work group projects properly in my earlier education experience, for various reasons (some of which I suspect I share with Julie here.) Maybe if I’d grown up in a, uh, more challenging school system, but by the time I even made it to high school I was already solidly in the “if you want it done right, do it yourself” camp.

In a way, I think I want to go to grad school to put myself in a position to work on projects I can’t handle myself, with other people working at my level. On the other hand, I fear that I may not be any better at working with a group than I ever was… and that, perhaps, next time I will be the dead weight in the group.

That’s probably enough paranoia for today.

Now playing: Cool In The Backseat from ‘Mousse by The Nields

Posted by pjm at 1:56 PM | Comments (2)

The latest assassin

How did it take me a week to notice the new SpamAssassin site?

It’s part of the Apache Project now (a good thing considering their excellent web server) and it would appear that I need to upgrade us, here, since they’ve released the 3.0 version.

Unfortunately, spam filtering is not unlike anti-bacterial soap: if you use the same stuff for too long, the nasties get the chance to adapt around it.

Now playing: In The Lost And Found (Honky Bach) from Figure 8 by Elliott Smith

Posted by pjm at 11:59 AM | Comments (0)

September 27, 2004

Hard restart

One of my long-term projects has been documenting my work, here at work. Today I’ve started working through all the minutia surrounding the administration of the web server. In my notes from the original setup, I was reminded of a troubleshooting sledgehammer at my disposal. I try to connect via HTTP to a particular numerical IP address, and after providing a login name and password, I have access to a web interface which controls the plug on the power supply our server is jacked in to. I can do a “hard” restart by, essentially, simulating a blackout.

One hopes that we never have to do that, and to date, we never have. Which might explain why I have the login name, but have lost the password. My notes say, “admin password,” suggesting I may have used a password I was currently using for another account, but like a good little geek I’ve changed all my passwords in the last year, and forgotten the old ones. I hope I can talk the data center administrators into resetting the password—but then, from a security point of view, maybe I hope I can’t.

Now playing: Comedown from Magician Among The Spirits by The Church

Posted by pjm at 5:04 PM | Comments (4)

September 26, 2004

Unexpected enthusiasm

I had a first yesterday: one of the Amherst high school cross-country runners recognized me and spoke to me on the street without A. around. (She’s the assistant coach, so I’m the utility chaperone and Allegedly Responsible Grown-Up.) She wanted to tell me how, on Friday’s run, they had stopped by one of my caches and done an impromptu geocache hunt. She gushed. “Now I’m going to need to get a GPS!” I explained about the guy out in Eastern MA who caches without a GPSr, using topo maps and aerial photos to get a good idea of where to look before going on-site and finding the caches with “the Force.” (More on that later.) Then I went in the post office and forgot to buy stamps.

The girls got interested in caching in August, when I was playing my utility-chaperone role at a weekend “camp” in the New Hampshire hills somewhere between Keene and Concord. They went for a run in Fox State Forest, and I went after Murphy’s Lookout. The previous afternoon, Sparky (not her real name, but that’s what the coach calls her) was inordinately interested in what I was planning to do, and made me explain it in detail.

I am, perhaps, overly sensitive to enthusiasm from high school kids; enthusiasm was something we made fun of when we were in school, and I’m cautious about displaying too much passion for something that might be used as a tool to mock me later. Still, it’s very hard to explain why I was planning on leveraging a few billion dollars worth of military satellite technology to locate a tupperware box full of plastic trinkets stashed under a rock without explaining that there’s a little emotional component in the satisfaction of hunting and finding. So when I found the box, I “traded” a pair of AA batteries for a bead necklace a bit too big for my wrist, and gave it to Sparky when we got back to the vans, figuring that would at least show I was in on the joke.

Apparently something about the idea stuck with them, because they talked A. into showing them the general area where I hid the Misty Bottom cache. They’ve never looked for one before, and from the sound of it they’re not yet tuned in to the sort of places a cache can be hidden (this is “the Force,” which I prefer to call “thinking like a cacher.” It amounts to asking, “If I was hiding a box around here, where would I put it?”) Still, yesterday, the one who stopped me outside the post office said they’re talking about putting it up as an activity for the high school outing club.

I am, needless to say, a bit surprised. Almost as much so as if they were professing a profound interest in, say, database normalization.

Now playing: Secret Agent from Sister (1998 Re-Release) by Letters To Cleo

Posted by pjm at 11:07 AM | Comments (2)

September 25, 2004

A few notes after a show

Once we worked out that we would be here this weekend (that happened on Thursday night) I scanned the IHEG schedule, and there was Catie Curtis at the Iron Horse tonight. So off we went.

This is the fourth time we’ve seen Catie, and the third time at the Horse; I think the first time might have been the first or second time I’d been to there. There’s been, I think, two albums and a daughter since then, and it feels like she’s shifted away from some of the songs about the world doin’ somebody wrong, and more towards some really soul-baring love songs. (The critics have been lagging a bit behind; at one of the other shows she introduced a song by explaining that she’d read a review describing one of her albums as “lesbian anthems,” so she decided she’d better write one.)

  • Catie grew up in Maine, though there’s a bit of lingering resentment there; one of her songs is called, “What’s The Matter,” and the line is, “This town was my biggest fan, until I was who I am.” Am I disappointed, yes; surprised, no.
  • There’s no doubt about your baseball allegiances when you grow up in Maine. We were getting updates on the Sox game throughout the show.
  • One of the best things about watching her shows is that she clearly enjoys performing. The songs are well-done, but there’s something about the way she performs them, and that irrepressible grin she just can’t shut off, that makes it worth going to the shows.
  • She joked (she jokes a lot) about an internet discussion of the “secret lesbian subtext” to her songs. I thought the obvious joke was that it wasn’t much of a secret, but that wasn’t mentioned. Then she mentioned the rumor that she’d been kidnapped and replaced by aliens, adding, “It may be true.”
  • She played a song by Mark Erelli—“If you like it, you’ll appreciate my taste in borrowing it from Mark; if you don’t like it, it’s his song, not mine,”—which was better than I’d expected of Mark (having seen him back in February) but not quite up to par for Catie.

That’s all I have now… and the Sox have shut down the Yankees, 12-5. MLB Gameday is pretty cool when you don’t like TV.

Now playing: What’s The Matter from A Crash Course in Roses by Catie Curtis

Posted by pjm at 10:42 PM | Comments (0)

September 24, 2004

A tale of two servers

It was the best of web apps, it was the worst of web apps…

No, never mind, I don’t have the mental RAM right now to do a complete Dickens spoof. Let’s just set the scene by saying that there was discussion with our co-publisher on our biggest title about doing an “e-book” version along the lines of this site. (In this case, “e-book” means “website with the same content;” we’re using it as shorthand for the more descriptive “interactive textbook.”)

Since this would be a significant site, relied upon by students across several time zones, minimizing downtime would be very important. So it was suggested that perhaps our co-publishers—being a New York publishing conglomerate with more than one employee in their IT department and, presumably, at least one of them within pager reach around the clock—should host the site.

Now, the demo site and the original “interactive textbook” are both running on our web server. Our web server is a bare-bones single-processor x86 box running Red Hat Linux, Apache, MySQL and PHP, the classic “LAMP” setup; our sole concession to high availability has been using software RAID to mirror two hard disks. Granted, the load on this box isn’t very high, but the server screams. It’s seriously fast. (And it’s been up for over a year.)

Their webserver, on the other hand, is some flavor of Windows, with IIS and MS-SQL. Every application on their webserver, bar none, is dog-slow. I could type authentication responses faster than their HTTP daemon. I don’t know why this is, since I presume they’ve got some hard-working geeks in there keeping it in tip-top shape, but that’s what it looks like.

I’m not a fan of deliberately putting a very interactive application on the slower of the available servers, but there’s more oversight on their boxes, so I diplomatically muted my suggestions that they learn LAMP and install a, uh, “high value” box like ours. And our developer was resigning himself to rewriting his PHP functions to work with MS-SQL rather than MySQL.

Earlier this week, they decided that perhaps it would be better if we hosted it. And they asked if we could do an “interactive textbook” for one of their other books, and if they could use our “e-commerce module” to sell it. I should point out here that our “e-commerce module” was largely developed in-house and involves at least one wetware step.

That’s not victory. That’s a rout. I did, however, refrain from dancing around my office chanting, “I told you so,” when I got the news.

Now playing: This Is It from Rock N Roll by Ryan Adams

Posted by pjm at 11:05 AM | Comments (1)

September 23, 2004

Standard prize

Version: GnuPG v1.2.4 (Darwin)


You might need this, and probably some variant of this.

Now playing: Feel Flows from Up To Our Hips by The Charlatans

Posted by pjm at 3:42 PM | Comments (0)

Name it well

I got mail today addressed to “Amhurst, MA,” which amused me. This, I thought to myself, is what comes of pronouncing the “h,” an affectation, I baselessly suspect, of those who fancy themselves “born to the broad A and flattened R” of Harvard, as Kenneth Roberts put it. (In fairness to that institution, the stereotype fit much better in Roberts’ day, ninety years ago, than it does now. And when my father and I get going in our native dialect, we broaden and flatten a heck of a lot more than As and Rs.)

On the other hand, it might just indicate an ignorance of the details of North American history. If you’d never heard of the man who had towns named after him in more than one northeastern colony (New York and New Hampshire as well,) it would be perfectly reasonable to assume we’re a “hurst” like all the others, albeit with a very short prefix.

Now playing: Free Will from Night Opens by Rich Price

Posted by pjm at 11:40 AM | Comments (0)

September 22, 2004

I'm a bad parent

[admin@raven admin]$ uptime
21:41:04 up 371 days, 3:13, 1 user, load average: 0.00, 0.00, 0.00

I missed my server’s birthday. I didn’t even make cupcakes.

Posted by pjm at 9:49 PM | Comments (0)

Foundation work

Two days later, I’m still working on that Mac OS 10.3 upgrade. Once I’d cleared the decks work-wise (and I’m a little surprised that that actually happened,) I discovered I had some work to do if I wanted to get this done “right.”

“Right,” in this case, means backing up my data and doing a clean install on a freshly-formatted disk. To make that easier, I had to clean out my working files and archive as much as possible to CD- and DVD-ROMs. After that, I had to address backup media: the external HDD I planned to use was stuffed with about 40 GB of working files from last year’s DVD. I pruned those, compressed them into two archives, and filled two more DVD-ROMs. Now the backup has begun. With any luck I will be able to start the system upgrade before I need to head home and feed the hungry tiger.

Now playing: Custer’s Blues from Too Close To Heaven • The Unreleased Fisherman’s Blues Sessions by The Waterboys

Posted by pjm at 3:52 PM | Comments (0)

September 21, 2004

Things I never thought I'd have to think about again

I’m looking in to the graduate school application process. It has just occurred to me that I haven’t applied for anything for three years, and nothing of this sort for twelve.

Fortunately for me, I live about two blocks from the career center of my former college, and they’re willing to make appointments for alumni. I suppose their image depends on our continuing success, not just whether we have jobs when we graduate. So they can help me with a few points. Such as…

Letters of recommendation. I’m used to providing references, but I’m not sure about letters of recommendation. I’m probing the two professors I’ve had at Westfield State, but what about the third? Do I go back to undergrad? Employers? Former supervisors? Who can speak for my aptitude for graduate study? (And, could they tell me?)

Résumé. That one needs a bit of tuning. I know how to pitch a résumé for a job; I’ve done that. How do I pitch a résumé for a graduate school? Lean hard on my educational background? I’m going to graduate school because I don’t have an educational background in this field. I guess I lean hard on work experience? And, uh, what format is my résumé in? Maybe I should learn some Quark? I wonder if I have time for TeX, for all that. Or if I should suck it up and just work on that Word format one?

Personal statement. This is the one where I’m completely at sea. “Elaborating on your reasons for wanting to pursue graduate study.” I know my reasons for pursuing graduate study; I just need to filter out the ones that sound good. I want to chase the interesting problems. I’m running out of problems I can attack on my own. I’m running out of bootstraps, I suppose. If I want to keep chewing on interesting problems, I need, essentially, to learn what the interesting problems are, instead of just making my own. I need to get on the same page as everyone else. And I guess now I need to articulate this in some kind of statement. How long? How eloquent? What’s my audience here? I can write, I’m relatively confident about that, but I feel like I need some clarification on the assignment.

Well, that’s a nice list of questions for my appointment.

Posted by pjm at 9:21 PM | Comments (2)

Frog across the pond

Nicole has made her first posts from France. If you weren’t already following the Frog Blog, now is when it gets interesting.

Now playing: Paris from This Town Is Wrong by Nerissa & Katryna Nields

I took myself to the cinema
and mostly closed my eyes
but every now and then I paid attention
and every now and then there was
a word I understood
I got the joke
and I wrote it down, and put it on a postcard
and sent it to you.

Posted by pjm at 10:08 AM | Comments (1)

September 20, 2004

Data point

I just spent fifteen minutes or so answering questions for these folks. Given how I’d prefer to spend my evenings, I want no grief from anyone if you don’t like the way the results come out.

Posted by pjm at 8:04 PM | Comments (0)

Cycles within cycles

It’s probably just a coincidence that, on either side of a weekend of deliberately upsetting my sleep cycles, I’m renaming figures from a chronobiology book. (Per the glossary: chronobiology: the study, at all levels of organization, of adaptations evolved by living organisms to cope with regularly occurring environmental cycles.)

We’ve done this for three years, now, but for the first two years I was in Van 1. This year I was driving Van 2. With a twelve-person team and six runners in each van, the vans have three on-off cycles in the course of the race. Van 1 is on-off-on-off-on-off; Van 2 is off-on-off-on-off-on.

We’ve always started within an hour of noon, and usually both vans have finished their first shift not long after dark. The second shifts are entirely in the dark, and usually the sun rises on the last leg of the second shift or the first leg of the third shift.

If you’re in Van 1, this means you run in the afternoon, then “stay up late” for your second shift (about 8 PM to 1 AM) and “get up early” (dawn) for your third shift. In Van 2, on the other hand, you run in the afternoon, try to get your night’s sleep early, run through your deepest sleep hours, and then wait all morning for your last run.

Psychologically, you’re also antsy much of the afternoon waiting to get started, where Van 1 starts when the race starts, and is “done” much sooner.

The trade-off, of course, is that Van 2 gets to run the last legs from Kingston down to Rye and Hampton. After wandering like damned souls through the back roads and hills in the darkness and rain, bombing along the beaches with the wind at your back is nothing short of exhilarating.

Now playing: Drive Away from Golden Age of Radio by Josh Ritter

Posted by pjm at 5:15 PM | Comments (0)

Sharper tools

There is a box on my desk which contains the CDs for Mac OS 10.3 (also known as “Panther.”) I would think this machine would be the last to upgrade (I’m already on 10.3 at home) but many of our machines in Production are still on 9.1.

So once I get my current batch of tasks cleared away, I’ll be doing a system upgrade. There’s a new version of Quark here, too. Since each newer version of the Mac OS since 10.1 has run faster on the same hardware, this should let me squeeze enough performance from this box to last until… well, until I leave, I suppose.

Sobering thought.

Now playing: Princely Ghetto from Cherry Marmalade by Kay Hanley

Posted by pjm at 4:05 PM | Comments (0)

September 19, 2004

The magnifying effect of silence

At around 10 PM on Friday night, I found myself walking slowly, in my socks, down a darkened corridor of the New Hampshire Technical College in Laconia. Both sides of the corridor were already lined with sleeping bodies—or sleeping bags, at least, and some of them were snoring—so I walked slowly and willed my eyes to get used to the faint light provided by the “exit” signs at either end of the corridor, praying I wouldn’t kick someone by accident.

My shoes were off because they were damp, and squeaked when I walked on the tile. In the snoring darkness I was as loud as an ambulance, so off they came. I undid my ground pad and unstuffed my sleeping bag hoping I wasn’t waking too many people. Then I tried to sleep.

Nearly immediately I discovered the crucial element I’d forgotten to pack: good earplugs. It was so quiet, I heard everything. Whispers. People who hadn’t been as considerate about their shoes, even though theirs weren’t as squeaky as mine. Every so often there would be a wave of whispers, zippers, swishing nylon, and sighing air pads as a team would assemble their members and set off for their next shift. I cursed them all in my mind, then reminded myself that if I really wanted sleep, I should be letting go of these things rather than letting them consume me.

I lay there for nearly two hours, and in hindsight I probably slept for most of that time; I only remember the times I woke up. (For most of that night, I was only aware of waking up, never sleeping.) When I finally gave in and gathered my own stuff, only two people remained in the corridor, and they were also packing up.

As we assembled our van again, I discovered that one of my teammates had never made it farther than the lounge where the Red Sox game was on. He hadn’t slept at all. And yet, though he said the crowd watching the game had been pretty raucous, there were people sleeping in there as well. Maybe I just needed to be more tired.

Posted by pjm at 5:15 PM | Comments (0)

September 18, 2004

Romping around New Hampshire

Wow. That was remarkably damp. Even more so than in 2002.

My sleep-deprived brain is currently seeing any roadside reflectors as the bobbing headlights of approaching runners. I drive my little Civic like a fifteen-passenger van (and I’m startled at how well it handles.)

I think the representative moment was the Girl Scout at the New Hampshire Technical College in Laconia who was simply wandering around the cafeteria room asking anyone and everyone if she could help. Since I never saw her actually helping anyone, I expect we all felt like I did: in the face of her open willingness to pitch in, what little things confused our clouded minds (finding water hot enough to make tea, for example) seemed too little to burden her with. We wanted to give her a worthy project, like world peace, or directing traffic in the parking lot.

Now, a real bed for the first time in a while.

Posted by pjm at 10:37 PM | Comments (0)

September 16, 2004

To keep you amused

…while I’m “romping around New Hampshire” this weekend (not my words), I’ll offer some participatory entertainment. Caption this photograph. Put your best ideas in the comments. Standard Flashes of Panic prize for the best one. Multiple entries welcome, void where prohibited, not liable for whatever, all rights reserved, do not bend, fold, spindle, or mutilate, etc. etc.

No prompts from me, but I will post the photographer’s original caption(s) when I get back.

Now playing: Road Buddy from End Of The Summer by Dar Williams

Posted by pjm at 3:58 PM | Comments (9)

Adventures in packaging

In case I doubted that our authors were heavily emotionally invested in their work, today we got a new master for one of our CD-ROM titles. Starting from the outside and working in, we had:

  • The FedEx envelope, containing…
  • …a padded envelope, within which was…
  • …two pieces of cardboard, taped in a sandwich around…
  • …an envelope of relatively rigid bubble wrap, which held…
  • …two pieces of flimsy bubble wrap, wrapped around…
  • …the CD case…

…which actually held the disk.

I can’t believe I’m just letting it sit on my desk.

Now playing: Butterflies from Fear by Toad The Wet Sprocket

Posted by pjm at 10:45 AM | Comments (0)

September 15, 2004

On the moon

I am piecing together everything I will need this weekend. Tomorrow, after work, it’s in to Boston to rendezvous with the team. Friday we drive up to Bretton Woods to start Reach the Beach; I expect I’ll be driving Van 2 through the night and well into Saturday. (If you’re going, look for Dead Man Running.) I don’t know why I think checking in here will help my distracted state. Maybe it won’t.

I’m never sure how to pack for this. It’s two days, essentially, but two very unusual days. We’re carrying our “house” with us in vans, but there will be eight of us in each van, so overpacking is not a good thing. Will I need the sleeping bag? I almost hope so. Maps? Book? Music? How much clothes?

I have little faith in the iPod’s battery over the length of the trip, and I’m not sure I’ll always have priority on the power jack, so I put in a CD player and a set of discs. Much as I love the music itself, as I get in to the lyrics of a song I find I like it more, so I sat down and read the lyrics to the Nields sisters’ latest (I owe you for them, Wendy) and came across the song Nerissa wrote for the third sister, Abigail’s, wedding. Without a “now playing,” it does very well.

You tell me we’re not there yet
But someday we might be
The closer that I let you get
The farther I can see

Don’t let me forget
Don’t let me assume
Promise what we haven’t done yet
Kiss me on the moon.

— from Nerissa Nields, “Kiss Me On The Moon”; more

Posted by pjm at 9:41 PM | Comments (0)

New every day

I’m not the only one here who is (sometimes) in a playground of strange and interesting things. Yesterday our photo researcher was in the conference room with a wineglass full of very diluted iced tea. It turns out he was taking a picture of a coaster from these folks.

I have to assume this is for some sort of pharmacology chapter, maybe in this book? (We have an older book with the wonderfully euphonic title, Neuropsychopharmacology.)

Ever since we got a digital camera which takes print-quality photos, we’ve had increasing numbers of in-house shots in the books. This saves money, but reduces the stock-photography serendipity, like the time I found a shot of a former college classmate distributing condoms in our sexuality text.

Now playing: Walking The Ghost from James by James

Posted by pjm at 3:25 PM | Comments (0)


Students are so much fun when they’re up too early in the morning. Take, for example, the one I found pacing outside the crew coach’s office when I went in to swim this morning.

Student: Do you have a pen?
pjm: (looking in swim bag) No, sorry.
Student: Are you a coach?
pjm: No…
Student: (increasingly confused) Are you a student?
pjm: Thanks, no, I graduated years ago.
Student: (gestures at coach’s office) Do you know…
pjm: No. (Putting two and two together, getting four) Are you making up a swim test?
Student: Yes, but…

At that point, the door I’d just come in through opened, and the crew coach arrived, on time for a 7:30 appointment… this student was about to write him a note asking where he’d been, I suppose. I wonder what she’d think of the track coach in my day, who was so routinely thirty minutes late that we spoke of “Banda Time.”

Five minutes later, though, as I came out of the locker room headed for the pool, she was standing outside the women’s locker room, again looking flustered.

Student: Do you know the combination?
Student realizes as the words leave her mouth that the whole point of a combination is that people like me don’t know it.
Student: …oh, of course not.
pjm: Nice try, though.

She passed her swim test, so all is not lost.

Now playing: Radio Free Europe from Murmur by R.E.M.

Posted by pjm at 10:51 AM | Comments (0)

September 14, 2004

Misconceptions misconception

Kasia wanted to clear some things up about geeks. In most cases I agree (Star Trek: I don’t get it; T-shirts: all mine are from races) but I would like to correct one of her misconceptions.

  • Geeks can fix things.

Hahahahahahahahahahahahahahaha — that’s all I’m going to say on the issue.

Well, yes. Geeks can fix things. Like just tonight, when A.’s WinXP Home machine wouldn’t go online. It does now, and it would not have happened without a geek, because Bog knows that was a troubling, obscure, and downright twisted fix.

Here’s what the non-geek would’ve had to figure out, once they’d cleared away all the dead wood (and after nearly three years, there’s plenty of that):

  • The network hardware was fine.
  • The network setup was fine.
  • However, the system wasn’t getting DHCP settings.
  • Because the DHCP Client service wasn’t launching.
  • Because it thought it had a dependency.

There’s the sticking point… so I googled the error, “Could not start the DHCP Client service on Local Computer”, and found a helpful page explaining that this sometimes happens when you uninstall Norton Anti-Virus (which I’d done, since the signatures hadn’t been updated in about two years, and replaced it with AVG.) A “quick” registry edit (as if any registry edit is ever “quick”, and why should there be such a godawful complicated train wreck as a “registry” that needs such a Rube Goldbergian editor?) and we’re online quite nicely, thanks.

I fix other things, too, when they’re enough of a problem that I care to.

Now playing: Shiver from Parachutes by Coldplay

Posted by pjm at 10:31 PM | Comments (4)

White flags

I flushed two deer beside the road this morning as I rode in to work. When I was running in on a similar route, I used to see large-scale wildlife (deer or turkeys, as opposed to the usual squirrels) nearly every run. I didn’t spot these deer until they started moving, which makes me wonder how much else I miss when I’m watching the road.

I refuse to believe that they were spooked by my heavy breathing as I approached the top of the biggest hill on my route (a few hundred meters from this vista.)

Now playing: Honeyed Out from Five Stories by Kris Delmhorst

Posted by pjm at 1:01 PM | Comments (0)

September 13, 2004

Small things not important enough for whole posts

(But nonetheless worth posting, of course.)

Tom has noticed that the Sox are on fire and have a good chance of being in the playoffs, and raises the obvious question. My answer: what with the current state of the world today (which I will charitably characterize as “tense,”) not to mention various climatological issues down in the South…I think if the Sox make the Series, we should all seriously consider stockpiling canned food. Isn’t that one of the warning signs?

If I die at a young age of food poisoning, it will be because of an ingrained habit of licking the beaters clean when I’m done with the mixer. Thanks, Mom. (And thanks for telling me which cookbook the good banana bread recipe is in.)

I’m not sure which worries me more: RFC 1149 (the “Carrier Pigeon Internet Protocol”, for those of you who won’t click on a link given only a TLA and a number) or the fact that it has been implemented.

Posted by pjm at 9:03 PM | Comments (0)

A few more things to be careful about

…but only for those of us with servers or other boxen that are running sshd.

Kasia has posted a good checklist for tightening up the ssh service in the face of the increasingly-common brute-force password scans (like the one we had a few weeks ago.) Read down into the comments, because they have some other ideas; in particular, there’s some discussion about whether password authentication should be enabled at all (with preference given to key authentication) or if it is a necessary evil.

I’m going through my servers this morning and making sure I can check all the boxes. I’ve taken many of these steps already, particularly on our webserver, which I am most paranoid about, but I’m not sure I’ve taken all the same steps on all the servers… time to do that now. If nothing else, I definitely have more to learn about ssh and its daemon.

Now playing: Fred Jones Part 2 from Ben Folds Live by Ben Folds

Posted by pjm at 11:25 AM | Comments (0)

September 12, 2004

Note to self: pay attention

The other day, I noticed a curious bruise on my shoulder. Not really a bruise, because it wasn’t sore, but discolored. I couldn’t figure out what it was from, but figured it might be related to my return to the weight room earlier in the week.

Yesterday it looked red, like I’d been scratching at it, but I knew I hadn’t been scratching. The plot thickens.

Today, in the pool, I realized that when I reach forward with my right arm at the beginning of a stroke, my shoulder brushes my chin. It seems like more regular shaving might be the only remedy required here.

Posted by pjm at 7:48 PM | Comments (0)

September 11, 2004

Foot update

I can’t get up right now without disturbing the cat who is napping (such a cliché) between my feet.

So I’ll bring those few interested in my plantar fasciitis progress up to date. For the beginning, I described the problem back in June; since then, I’ve been sent by a podiatrist to get an ultrasound, which was inconclusive, and to two months of physical therapy, which was helpful but not a solution.

While I’ve added some stuff to my list of what I’ve tried, I’ve also changed my list of what I haven’t tried. At yesterday’s physical therapy appointment, the PT admitted that there wasn’t much more they could do for me, and suggested I try both of the first two on the list.

  • New orthotics (yet another pair)
  • Acupuncture
  • ESWT
  • Release surgery
  • Amputation

It’s likely to take a while for me to get through the list, of course. I got the names of two different acupuncturists, one of which came highly recommended by one of our better local runners. I’ll call his office on Monday. My “primary care physician” is also a runner (though he emphasizes that he’s not as serious as I am—nowadays, I wonder.) He wanted to send me to a particular orthopod for orthotics quite a while ago; I need to call him, as well, and get the name and number.

Orthotics aren’t a solution for PF; they can mitigate the problem, but not solve it. I’m hoping the acupuncture will help with that, but I’ve also heard that acupuncture is most effective with PF at the onset of the problem, and perhaps not so good with as resistant a problem as mine. We’ll see. I’m also told that ESWT is not recommended except for really tough cases, and I’m now in this twilight area where I can (generally) walk without pain, but not run.

In the meantime, I’m still in the pool. Today there was a crowd of rowers taking turns swimming two lengths and treading water for some fixed time in order to practice on the water. I can’t say that shows great confidence in their skills on the part of the coach. On the other hand, if they were all novices, he must be doing something right. He probably had four eights there, maybe three after attrition. They look smaller than the rowers did in my day, but perhaps we did too. (The runners, on the other hand, look stronger than they did in my day.)

Posted by pjm at 10:21 PM | Comments (4)

My vote for "best cheer"

“Come on, Biscuit, let’s roll!”

(…heard today at the Amherst Invitational.)

Posted by pjm at 9:41 PM | Comments (0)

Good things about being a so-called adult

Second installment in an occasional series…

If you’re complaining about the price of the alcohol you just bought, either you’re drinking too much or your guests aren’t coming to your party for reasons you’d like, if you thought about it.

Posted by pjm at 9:30 PM | Comments (0)

September 10, 2004

Zombies, worms, viruses and you

USA Today ran a really good series this Wednesday and Thursday in the Tech section about how ordinary users’ systems are being cracked, compromised and exploited, and what they can (or can’t) do about it. Start with “Are hackers using your PC to spew spam and steal?” and follow the “related links” to the right for the rest of the series.

Two interesting points about this series: First, while the authors advocate buying (relatively) anti-virus software as usual, and remind users that they need to keep their definitions up to date, they admit there are free firewall and spyware-scanning packages. This seems to be rare in the tech press; there’s a subtext that “free == worthless” which is only gradually eroding. (If only they’d mentioned the free AVG anti-virus, they’d score a 10 here.)

Second, the second large part of the series, “Costs, conflicts, inconvenience confound counterattacks,” hits beyond users, suggesting that ISPs and software manufacturers need to step up to the plate as well. They note with approval AOL and Earthlink’s policies of denying access to users whose machines are determined to be malware sources; I certainly wish some ISPs would pay attention when I tell them how I’m regularly getting worms relayed by the same systems in their networks. The article also makes a point I’ve made here before, that subscriptions to virus definition files are a cash cow for anti-virus vendors even though a more effective approach would watch for suspicious behavior and block that instead of waiting for each virus to be specifically identified.

I want to see the costs of securing Windows drive the price up to where Windows boxen are at price parity with Macs, and see what happens to platform market share. That would be fun to watch. Monoculture leads to bad soil.

Now playing: Always Dancing, Never Getting Tired from Universal Hall by The Waterboys

Posted by pjm at 2:13 PM | Comments (0)

Yet another referrer-spam access file tweak

Are you sick of this yet?

If you don’t know what I’m doing here, rather than re-explain it all, I suggest you read where I started and yesterday’s changes. If anybody is finding this vaguely interesting or morbidly amusing, I could tie it all up in a nice summary someday when I’m otherwise unoccupied or want to postpone something tedious.

Suffice it to say that, for one, examination of my server logs suggested that mod_rewrite was not always playing well with my site (reaching the max number of redirects and timing out, which suggests a loop) and julie was still not able to post comments, despite her tenaciousness in the face of continuing rejection.

So, I rewrote Kasia’s comment-spam hack with mod_access (which, as it happens, makes liberal use of mod_setenvif as well.) Here’s what I wound up with:

# Comment spam rules
SetEnvIfNoCase Request_Method POST spam_com
SetEnvIfNoCase Request_URI ".mt-tb\.cgi" !spam_com
SetEnvIfNoCase Request_URI ".mt-xmlrpc\.cgi" !spam_com
SetEnvIfNoCase Referer ".*flashesofpanic\.com.*" !spam_com

# Referral spam blacklist
SetEnvIfNoCase Referer .*\.locators\.com.* spam_ref
SetEnvIfNoCase Referer .*\.popex\.com.* spam_ref

# Access section
Order Deny,Allow
Deny from env=spam_ref
Deny from env=spam_com

The first section assumes that all POST requests are attempts at comment spam, and sets the environment variable spam_com appropriately. We then make three exceptions: for mt-tb.cgi, which allows trackbacks, for mt-xmlrpc.cgi, which allows ecto, and for requests referred from this site, which should allow comments submitted through forms on the site (i.e. legitimate comments.) Each of those un-set the spam_com variable if they match.

The next section sets a similar variable, spam_ref, if the “Referer” (sic) header matches certain known referrer-spam domains. So far, we’ve only used mod_setenvif.

Then, the third section actually issues the mod_access directives: if either of these variables were set in the first two sections, the request is denied and a 403 “Forbidden” error is returned instead.

I have reason to believe this is working, but when I tested it last night, the comment submission timed out without sending anything back to the browser. The comment was accepted, though, and I’ve had one or two comments since then. If you’re (still) having trouble commenting, please let me know and I’ll try to suss it out. I haven’t taken the time to spoof a request that would trip the tests yet, so my basis for saying, “it’s working,” is just that comment spam and referrer spam are way down here lately.

A weakness to this approach is that it relies on a blacklist approach for the referrer spam blocking, and as this becomes more widespread, administering that blacklist is rapidly going to become impractical (consider, for example, having to blacklist everyone who spends fifty bucks on Reffy—or nothing for Reef.) The comment-spam block is a wholesale lockdown which then whitelists certain conditions; how can we build a similar algorithm for referer values?

Now playing: Too Close To Heaven from Too Close To Heaven • The Unreleased Fisherman’s Blues Sessions by The Waterboys

Posted by pjm at 1:02 PM | Comments (0)

September 9, 2004

Leaving home base

Yet another set of photos from last weekend’s cruise:

The dinghy, beached on Indiantown IslandOspreys in a day beacon

On the left is Whitecap’s dinghy, beached on Indiantown Island. (Yes, we then tied it to a tree; we’re not interested in being marooned by the tide. I could easily swim back to Whitecap, but the shore was pretty sludgy.) I snapped this shot on the way back from the geocache we did on the island. I like this dinghy; it has two sets of oarlocks, and unlike most of our dinghies, it is best rowed from the very frontmost seat (unless you’ve crammed three people in the boat.)

We normally name our dinghies; when we had Snowbird, the dinghy was Birdie, and Whitecap’s predecessor Second Wind had the dinghy Puffin. This dinghy hasn’t been named, but there’s always the name my younger niece wanted to give Whitecap: Red Ink. (She didn’t know why this was funny, but her grandparents were, naturally, captivated.)

On the right, a familiar sight: an osprey nest in a day beacon. Day beacons are practically an osprey habitat program; they serve as nest boxes on artificial trees, with a nearby fish buffet. I haven’t seen many day beacons without an osprey nest; most of the rest of the nests I’ve seen have been on telephone poles near the waterfront. This beacon was hosting (at least) two juveniles; they peeped at us as we went by. The parents, after feeding them to this size, were now following the usual tactic of clearing out until the kids get hungry enough to teach themselves to fly and fish. “You’re going to have to jump sometime,” I called back.

Now playing: The Day I Let Glory Steer from This Town Is Wrong by Nerissa & Katryna Nields

Posted by pjm at 8:20 PM | Comments (0)

Another referrer-spam strategy

Since julie (or should I say, “Franklin”) is having trouble posting comments, despite not being a comment-spammer, I figured it was time to try some other experiments with my comment-spam and referrer-spam control file.

Using mod_access instead of mod_rewrite, we can set a server environment variable when the referer matches one of our badly-behaved folks. Then we can deny access (returning a 403 “Forbidden” error, rather than our custom error page or even a 404 “Not Found” error) if that variable is set. To add more sites, we add more lines. We’d remove the last two lines from the file I posted before, and add this:

SetEnvIf Referer .*\.locators\.com.* spam_ref
SetEnvIf Referer .*\.popex\.com.* spam_ref
Order Deny,Allow
Deny from env=spam_ref

The first two lines define the environment variable “spam_ref” if the “Referer” value matches the specified pattern; in each line, that pattern is a site which has been a referer-spam problem site for me. The third line just specifies the order in which we’re going to control access (check for denials first, then allow access) and the final line denies access if the environment variable was set in the first two lines.

I’ve done something similar to control access to a website we manage where our partners manage authentication and access control on their servers; I accept referrals from their domain and internal referrals, and refuse all others.

I don’t know if this will work any better than the mod_rewrite strategy (heck, I don’t know if this will work,) but it never hurts to have More Than One Way To Do It.

Now playing: Clean Up Kid from Songs From The Other Side by The Charlatans

Posted by pjm at 3:43 PM | Comments (0)

Disregard of scheduling

I’ve really got a lousy track record of picking auto-body shops. The one I went to in March told me to bring it in for a week, and kept it for three(!). So I didn’t go back to them for this job; I found another. This one is now on its third day with a job which I (given the parts) could have done myself in an afternoon. It’s one piece of shaped plastic, for pity’s sake, and it’s held on with clips and sheet-metal screws. This is not neuroscience. “We need the adjustor to take another look at it,” they told me this morning. The insurance adjustor? What, did they smack it again?

Are they just exceptionally out of touch with how long the job is really going to take them? When I dropped it off, they thought they could have it done in a day, or maybe it would run into a second day if they had to mix paint to match. (Guess what: they had to mix paint.)

Or do they only work when I call them? (The shop in March, after having the car for a week, finally admitted that they’d only just had the parts in; the car had sat idle for a week in their lot.)

And, on that note, something else they have in common: neither shop will call me and tell me what’s going on, even when they’ve promised to (or, as this morning, “He’s on another line, I’ll have him call you back as soon as he’s free…”.) I have to call them, or it’s silence. (Before I die, body shops will have web feeds for each car’s record in their in-shop database.)

Note for next time: don’t just sign over the insurance check when you drop off the car. Pay the minimum deposit and don’t give the garage another cent until they’ve done the work. Right now they have both the car and the money, and other than nagging them (and/or reporting the lousy service to both the insurance company and the mechanics who recommended them; I did that with the March shop,) I don’t have much of a lever to move them with.

Now playing: Fix Me Now from Garbage by Garbage

Posted by pjm at 11:29 AM | Comments (0)

September 8, 2004

Gongs and envy

Even more pictures from last Saturday’s cruise. (I’ll keep going until I run out of good shots, or someone tells me to stop.)

A gongBoat envy: A yawl off Georgetown

Since I referred to Tuesday’s bell buoy as a “gong,” sparking a discussion of buoys in Scheherazade’s comments, I feel compelled to post this clarification: that photo was a “bell,” which rings one tone; this one is a “gong,” which rings in several tones. If you look closely, or at the larger version, you can see three gongs in a stack; each is struck by a different clapper, so as the waves swing the buoy around, it plays like wind chimes. While the bell was red, because a mariner bound for home should keep it on their right, this one is off Popham Beach in Phippsburg, and is green to warn sailors bound for the mouth of the Kennebec to keep it to their left. (I think it marks Jackknife Ledge, but I can’t remember, here in Western Massachusetts, if Jackknife Ledge has a bell-buoy or just a can. This might be the buoy that marks the mouth of the river.)

The photo on the right is nothing more than a pretty boat. I snapped the shot as it was going by, and then my father and I made appreciative noises. I can’t tell you much about it, other than that it was off Reid State Park in Georgetown, that it’s a yawl (because the second mast is to the stern of the cockpit; if it was before the cockpit, it would be a ketch,) and that it’s pretty. As I turned away from it, I was thinking that the owner probably did a heck of a lot of work in the spring to get it ready to sail, and on Saturday he was out enjoying the fruits of his labor—I suspect he got his work’s worth just in the minutes we saw him.

Now playing: The Work That We Do from This Town Is Wrong by Nerissa & Katryna Nields

Posted by pjm at 9:35 PM | Comments (1)

Little read

I had two articles on line last week: a column about Olympic distance races and what it took to get them there, and a book review of an obscure title, which I wrote in, uh, March. (I believe I am this site’s unofficial book review department.)

Just so nobody accuses me of hiding anything, you know.

Now playing: The Electric Co. from Boy by U2

Posted by pjm at 5:15 PM | Comments (0)

I never thought...

…I’d be filtering visitors to this site based on where they’re coming from.

The thing is, they’re not really visiting, nor are they coming from where they say they’re coming from; they’re just requesting a page with a bogus referrer (and probably just routing the response to /dev/null.) They’re hoping I’ve got some sort of page somewhere which lists referrers (either recent, or most active) and that they’ll be picked up by the Googlebot.

One in particular, “locators dot com” (I’m not linking them for obvious reasons) was making such bogus requests a few dozen times a day, with various bogus subdirectories on their site attempting to attract search terms. So I dropped them in the site .htaccess file, right below the comment spam hack (which has been remarkably effective, by the way.)

If you’ve got direct access to your file tree and your host is using Apache, you can upload a file named .htaccess to the root of your site. (Some hosts may not allow this.) Here’s what’s in mine:

RewriteEngine on
RewriteCond %{REQUEST_URI} !.mt-tb\.cgi*
RewriteCond %{REQUEST_URI} !.mt-xmlrpc\.cgi*
RewriteCond %{HTTP_REFERER} !.*flashesofpanic\.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^-$
RewriteRule (.*) /post_error.php [R,L]
RewriteCond %{HTTP_REFERER} locators\.com
RewriteRule (.*) /post_error.php [R,L]

The first line turns on mod_rewrite. The next six implement Kasia’s comment spam hack, with a modification to allow access for ecto and my domain name rather than hers (obviously.) The last two lines send the bogus referrers from the slimeballs to the same error page. (Notice that you’ll have to create an error page to direct the slimeballs to.) Obviously, you can duplicate the next-to-last line (with an [OR] flag) for other slimeballs’ domains, create a custom error page for them (how about Cannot Find Life?) or other creative ideas. Notice that you need to escape the dots in domain names, because . is a wildcard character in regular expressions, which is the pattern-matching engine mod_rewrite uses but is far too complicated for me to get started on here.

I also suspect I could just deliver 404s to the referrer spammers without using mod_rewrite at all—maybe mod_access. I haven’t looked in to that yet.

As usual, your mileage may vary. I’m not claiming that this file won’t lock down your site, crash your host’s server, DOS everyone in your bookmarks, or forward all your ex’s archived email to your mother; I’m just saying it works for me.

Now playing: Unsatisfied from Let It Be by The Replacements

Posted by pjm at 11:52 AM | Comments (0)

September 7, 2004


More pictures from last Saturday’s cruise:

Dinghy under tow

When I was younger, I was fascinated with watching the dinghy bumping along behind the boat, like a baby elephant latched on to a parent’s tail. Now that we’ve got a powerboat, it’s much more like a little trailer. We tried adjusting the length of the tow rope so the dinghy was always running down the wave behind us, but once we started hitting more significant seas, it was pretty much a hopeless case. We wound up having to heave-to and pull it in at one point to lash down the oars and secure one of the oarlocks due to the knocking about it was taking, and it needed bailing when we got to Indiantown Island.

Seguin Island

I mentioned Seguin in my initial post. I think I’ll always recognize the shape of this island, the way I recognize my grandfather’s driveway; it’s the first boat destination I can remember, in my father’s Boston Whaler while I was about the age my nieces are now. The name is pronounced se-GWIN, and the lighthouse has some kind of historic singularity in the Coast Guard (highest on the East Coast? Last manned light in Maine?) This is the west side of the island, taken from the northwest (we’re in by Jackknife Ledge, I think.) On the northeast side there’s a small cove with a some moorings; visitors can climb the long ramp built to drag supplies up to the lighthouse and walk around the islands. The cove is too small for an overnight; anyone desperate enough to look there for shelter might find it hard to get in, and when the Kennebec and Sheepscot were shipping centers there were plenty of wrecks in the area. (Hence the lighthouse.) There’s a small maze of ledges in the area, so when the river pilot meets Navy ships coming in to BIW they generally meet outside Seguin.

Posted by pjm at 9:36 PM | Comments (0)


Ben Hammersley continues to work on the real digital divide, pointing out how the discourse about computer security has shifted from “secure your machine to protect yourself” to “secure your machine to protect everyone else.”

We’ve done a decent job in reducing spyware scanning and anti-virus software to a relatively user-friendly level. The sticking point right now is firewalls, and there’s a lot of talk about them because of the starring role the firewall plays in XP SP2. Any system with a direct connection to the internet should be behind some sort of firewall, but millions are jacked directly in to cable modem or DSL connections by people who don’t know why a firewall is important.

The problem is that firewalls are complicated concepts, and in my mind, you really need to grasp a few non-trivial IP networking concepts (addressing, ports, and protocols) before you can get a good handle on what your firewall is doing. And knowing what the firewall is doing is (again, the way I see it) critical to configuring it well. You need to know what you want it to allow, and that’s not a one-size-fits-all answer; it varies slightly for every application and therefore for every host. You wouldn’t believe how long it took me to configure a working firewall on our gateway server.

Now, something about me wants to get across those core concepts first, so anything I wrote about firewalls would be about the length of a book chapter. But the average user doesn’t care. They just want it to work, and then forget about it; they don’t want all the warnings from ZoneAlarm when they fire up AIM. If they installed it to begin with, they disable it.

I wonder if a firewall can be created which can be used by someone who knows little or nothing about networks. Maybe it does a short interview at start-up time (“Do you use IM? How about file sharing?”) that is low jargon (one of the classic battles of the network admin is integrating a firewall with a VPN, which isn’t made any more clear if you know that VPN stands for Virtual Private Network.) Maybe this hypothetical firewall could secure your grandmother’s Windows box without either of you needing to know the difference between UDP and TCP. (Leaving us only with the question of why you would inflict Windows on your grandmother.) Maybe it would both protect her from port-scanning script-kiddies and protect the rest of us from the malware-spewing spyware she downloaded by accident. (Another catch: a firewall won’t protect you against something that comes in by “normal” channels, like a requested website, or an email message, and nothing will protect you from social engineering.)

There’s some literature and documentation out there; there’s even Firewalls for Dummies. I don’t know if it’s effective, since I went the hard way myself (man pages, and the like) but before even the Dummies titles can be useful, the user has to know they need a firewall and that they need to configure it well. They need to be convinced to spend some time on it. That’s a bit of evangelism I’m definitely not well equipped for.

I don’t know. I learned this stuff, now I know it, and I can’t un-know it in order to put myself in another’s shoes. Or at their keyboard.

Now playing: We Never Change from Parachutes by Coldplay

Posted by pjm at 3:01 PM | Comments (0)

September 6, 2004

Warnings and consequences

Two pictures from the cruise around Cape Small.

Wreck at Sebasco Gong off West Point

My parents refer to the wreck on the left (there’s a dragger under there) as “our other boat.” Apparently the owner owed the business (among others) some chunk of money they’ve got filed now under “bad debts.” This is at the north end of Sebasco, inside Bear Island and north of Malaga (which has some interesting history of its own.)

The right shot is a “bell buoy” (marked on charts as a “gong”) off West Point. You can see the gong itself in the lower part of the buoy, with the swinging clappers which produce a regular “clank” in any kind of sea. The idea is to give an audible, as well as visual, warning of the ledge nearby, because in a good fog you can hear the buoy a lot sooner than you can see it. Above the gong and clappers are flat panels intended to reflect radar—a sort of anti-stealth—and a red flasher under (I think) a small solar panel to power it.

It’s hard to give the scale of these things. It’s a pretty massive piece of equipment. The superstructure above the hull itself (gong, reflectors and flasher) is well over ten feet tall.

Update: It develops that this is, in fact, a bell, not a gong. I’ve got a picture of a gong later in the series, so I will point out the distinction later, now that I know better.

Posted by pjm at 10:35 PM | Comments (0)

Around the Cape, again

My parents, planning to spectate at next weekend’s Shipyard Cup, wanted to move Whitecap around from its usual mooring off Birch Point to the Robinhood Marine Center in Georgetown. This allows them to hop over to Boothbay by crossing the Sheepscot and going through Townsend’s Gut, rather than hauling around Cape Small and Newagen. Heading East from the New Meadows river can be quite a slog even in a powerboat, due to the rough water off the mouth of the Kennebec, where the mountainous island Seguin sits like a turtle Manitou Kinnibec can’t quite swallow.

My father, uncle, and I cast off from Birch Point about mid-morning Saturday on this task, stopping for geocaching-by-dinghy once in the Basin and again on the Boothbay side of the Sheepscot. I took a lot of pictures, got a good bit of sun, piloted the boat in from Reid State Park through Five Islands and over to Indiantown Island, set the anchor (or, as my father puts it, “dropped the hook”) and weighed the anchor (quite a chore considering how well it was set,) sat on the bow as we came through Goose Rock Passage to Robinhood and watched the Pink Lady pass inside the ledges on its way to Boothbay (“Local knowledge,” shrugs my father,) hooked the mooring at RMC and rowed the dinghy in to the dock.

I’ll see if I can post some pictures over the coming week. They describe it better than I am.

Posted by pjm at 10:03 PM | Comments (0)


I played golf yesterday, with my late grandfather’s clubs. He was a few inches taller than me, but our stances differed enough (he had much more practice) that I still tended to skull the ball and send it skittering down the fairway—a “worm-burner,” my father calls it. At least I have mostly corrected my tendency to “slice” (that is, hit the ball straight off the tee, only to watch it veer right in flight.) My brother still does it, but compensates by teeing up twisted so far to the left that he appears determined to drive the ball as far out of bounds as possible. Improbably, this works, and he wound up just one stroke behind our father over nine holes. I was some twenty more back, but I pointed out that I got half again as much golf for my money.

That might be the cause of my sore shoulders.

Or it might be spinning my nieces in circles in their back lawn on Saturday night until all three of us were collapsed on the grass watching the clouds spin around above us.

Maybe it was helping stow away in Maine what furniture didn’t fit up the stairs into a cousin’s new South Boston apartment.

Or it might be the immense amount of time I spent in the car in a three-day weekend that ran from Maine to New Haven.

Posted by pjm at 5:17 PM | Comments (1)

September 5, 2004

Something in the water

There is a particular taste to tea made at my parents’ house. I suppose it is the iron in the water, but the limestone that eventually killed our water-heater in Pennsylvania never gave my tea much flavor.

I find it odd that this matters more than the actual tea; I could be drinking “church tea” and it would still come through. (“Church tea” is the label attached to Red Rose, Salada and the like by a friend, because it was the sort of tea you’d find in fifty-count boxes next to a giant urn of coffee in a church basement.)

Posted by pjm at 8:32 AM | Comments (0)

September 4, 2004

Night drive

I remembered last night why, seven-plus years and 90,000 miles ago, I liked this then-new car so much.

I was whipping along 295 in Freeport with the windows closed and the sunroof open. The car was (relatively) quiet, and I could see the Big Dipper out my left window and put a free hand up and feel the cool air rushing by.

I’m sure I’ve spotted Orion out the sunroof sometime before (maybe when the car was new and I was doing this on the Northeast Extension of the Pennsylvania Turnpike,) but last night I needed to keep my eyes on the road.

If I can finish this hare-brained grad school escapade with a job, perhaps I’ll buy myself a new car as a graduation present. Somehow I have renewed faith that this one will make it through.

Posted by pjm at 7:55 AM | Comments (0)

September 3, 2004

Progress, or lack thereof

As I approach the end of my second month of physical therapy for this damned foot, I am still not running. Nor can I tell if I’m making any progress at all. I have good days where I feel flexible and strong. I have bad days where I feel like I have a stone in my shoe. Sometimes they’re the same day.

I don’t really know what to make of it. I’ve long since given up looking for miracles, but so far there’s not even a light at the end of this tunnel.

I think I’m a good patient; I do pretty much anything they tell me to do, cheerfully, and I don’t complain. But behind the jokes I make about amputation I can hear the petulant child lurking: “I’ve been dealing with this for thirteen months! I’ve been doing your exercises since July! Why isn’t it fixed?” Sometimes I wonder if being patient and stoic isn’t the wrong course to take; if perhaps a little impatience and frustration might not put me on a faster recovery track. Is it possible to be too patient? If I start down another course, don’t I have to start all over being patient with that?

Unfortunately, these aren’t just thought experiments. The doctor’s prescription for the PT runs only through next Friday; I’ll need another to continue. The insurance approval was for thirty visits; I’ve done twenty-four or twenty-five, if I’m counting correctly. And today’s therapist pointed out that I’ve had twenty iontophoresis treatments, when, she said, after about fifteen you’ve had all the good from it that you’re likely to get.

I feel like I’m spending a lot of time (and a fair amount of money—about a car payment, so far, if my car wasn’t paid for already) on progress so gradual I can’t tell if it’s even really progress.

Now playing: You Wreck Me from Wildflowers by Tom Petty

Posted by pjm at 4:55 PM | Comments (0)

Badly rasterized

One of the things I do as part of my job is take masses (literally, thousands) of EPS files from Illustrator, where they were used for the printing of textbooks, and produce JPEG files which will then be used in PowerPoint presentations or course websites or whatever.

EPS is a complex and powerful format (essentially, Encapsulated PostScript) which produces immense files and can’t be used by web browsers or presentation software. To make the EPS files into a more usable format, I need to “rasterize” them in Photoshop, a process which is not unlike printing a photo from a transparency, but is probably more like scanning a transparency. In order to handle the volume, I’ve created a series of “droplet” scripts in Photoshop and ImageReady which I shuffle the files through; otherwise I would spend months on these files, rather than a few days. I can do a small book in a day, something which was (apparently) once inconceivable. I don’t gripe about them, either; the load they place on my machine (if not on me) is a handy lever for justifying the purchase of shiny new hardware.

The perennial snag is fonts. In EPS, text is editable and carries font information for display. The font file needs to be present for the file to rasterize properly, and since they were created on another machine, there are always font issues. Today’s is particularly difficult; I’ve spent all afternoon on it so far, with no progress.

The good news is that once I solve the problem, it will fix approximately three-quarters of the files I was asked to re-do. If I solve it.

Now playing: The Blonde Waltz from Us And Us Only by The Charlatans

Posted by pjm at 4:21 PM | Comments (1)

It's been confirmed by outside observers

Ben Hammersley has me pegged:

…you’re a rare beast on the internet. Put it this way, if you know what SSH means, you’re technically a freak. On average. Sorry.

Actually, Ben’s larger point, about the ability to filter out signal from noise on the internet, echoes one made by Neal Stephenson about the separation of people into technical Morlocks and Eloi, but Ben goes one further and suggests that it’s the responsibility of us Morlocks to bring the Eloi up to speed, “lest they drag everyone back with them.”

It’s a generous sentiment, though difficult to put in play; as Stephenson points out, those who aren’t freaks don’t really want to learn. The only way to bring them up is to make filtering easier: make it easy to block pop-ups, stop the spread of viruses, and can spam.

To date, most efforts in that direction have been relatively ineffective; it’s easy to block pop-ups with Mozilla, for instance, but few enough people want to haul their bookmarks/passwords/cookies over to Firefox even though the IE they’re driving is unsafe at any speed. Filtering spam is still done gingerly for fear of incorrectly labeling good mail as spam. Spam filtering and virus protection is something that has to strive for 100% effectiveness. Like antibiotics, there is the danger of surviving microbes evolving into super-parasites.

So, essentially, we need to get it right, or not bother; and, excepting a few valiant souls, most people are in the “not bother” camp.

Now playing: Somebody To Shove from Grave Dancers Union by Soul Asylum

Posted by pjm at 10:41 AM | Comments (1)

September 2, 2004

Too much rope

It turns out that Kasia’s comment spam hack with mod_rewrite also blocks a desktop weblog client (like ecto) from posting. To make another exception, add this line:

RewriteCond %{REQUEST_URI} !.mt-xmlrpc.cgi*

I’d put this in a comment, but she’s turning off comments on older posts, something I should set up someday as well. Most of my spam seems to be targeted at old stuff. (On the other hand, just an hour ago I had a legitimate comment on a post from early July.)

Didn’t I say I could cause trouble for myself with this tool, though?

Now playing: King Of The Dollar from School Of Fish by School Of Fish

Posted by pjm at 4:00 PM | Comments (0)

Schedule shift

It occurred to me after last night’s swim that I won’t be in Puffer’s Pond too many more times this year. The water is still a comfortable temperature, but that won’t last more than another week or two. On the other end, starting next week, I should be able to get in the college pool on somewhat more reasonable hours. Relatively speaking, of course.

The ultimate schedule flexibility would be running again, but considering how good the PF was not feeling this morning, I’m a little way away from that, still. (Just for fun, today it’s both arches that are aching. Left foot, what did I do to deserve this?)

I had to double up on shirts today, riding in to work. It’s cooling off. I used to wonder why cyclists needed that bizarre article of clothing, the “arm warmer,” but I’m beginning to understand; my core is warm, because my heart is working (and because my core is usually warm,) and my legs are warm, because they’re working. But my arms, for the most part, are just along for the ride, and they’re freezing.

Now playing: Just Like Fred Astaire from Millionaires by James

Posted by pjm at 3:11 PM | Comments (0)

Sending you somewhere else

I’m dangerous today. I’ve started using mod_rewrite with some success, which means I now have enough rope to hang my web server. Or try Kasia’s comment spam hack.

(Oh, OK: mod_rewrite is a module for the Apache web server which allows the webmaster to rewrite URLs on the fly. So, for instance, if you were a professor who still had a lecture online linking the obsolete URL for one of our category pages, well… try it. And I didn’t have to create a whole hierarchy of pages containing redirects; it’s all in the server configuration file.)

I should really be serving 404s in most of these cases, but let’s face it, nobody checks to see if their links are bad nowadays.

Now playing: A Murder of One from August & Everything After by Counting Crows

Posted by pjm at 9:48 AM | Comments (1)

September 1, 2004


Other than an uptick in sidewalk traffic and a lot of out-of-state cars crammed to the rafters with dorm room gear, you might not notice that the students are back in town.

You can, however, spot the “first-year” subspecies by their characteristic behavior: they travel in herds, for security.

Now playing: Nietzche from Thirteen Tales From Urban Bohemia by The Dandy Warhols

Posted by pjm at 1:39 PM | Comments (1)


The reason I post so much about Firefox is that I assume that most people reading are among the 90% of the world that uses Windows, where Firefox is your best choice. But as I’ve mentioned, I’m primarily a Macintosh user (how about those sweet new iMacs, huh?), and in the browser market, for once, that means more options. Since I hopped to OS X I’ve moved from IE to Camino 0.7 to Safari as my primary browser. (Doing web development, I need to keep them all around for testing.)

Last week I switched to Firefox 0.9.3 as my primary browser, and it has been a rocky change. Page rendering is just fine; any speed differences are too small for me to notice. But there are still some usability pros and cons.


  • I can go directly to the Runner’s World website, which is still frustratingly difficult in Safari, even though I’ve been telling them about the problem since April.
  • Site icons work across the board; they’re patchy in Safari.
  • FF has a JavaScript console which makes debugging sketchy JS a lot easier.
  • I can choose my search engine from the search window in the toolbar.


  • Links from other applications open as new windows, not new tabs. Camino lets me open them in new tabs, as does Safari, and I vastly prefer this behavior; I open a lot of links from my aggregator or my email, so Firefox makes it hard for me to keep the number of open windows under control.
  • There doesn’t seem to be a keyboard shortcut for “go to home page” as there is in Camino and Safari.
  • There’s something weird about scrolling. If I page down, the whole thing flickers, and sometimes I see a horizontal section of page about an inch high repeated down the whole window before it snaps into focus.
  • There’s no go-away icon on the tabs, so I can’t click once on a tab to close it. (I know, I could use splat-W to close the current tab, but I’m pretty thoroughly trained to consider that “Close the window and all tabs in it.”)

These are pretty tame, all things considered. I could (and probably should) page through Bugzilla and figure out where to send this feedback directly to the project, but for the most part, Bugzilla is an intimidating maze to me.

In the meantime, I wonder if I should switch over (back?) to Camino (now 0.8) as my primary browser, since it shares none of these problems with Mozilla, and all of the features (except the JavaScript console.)

Update (9/3): Jeremy posted a similar list of annoyances.

Now playing: Alleluia from The Honesty Room by Dar Williams

Posted by pjm at 11:49 AM | Comments (4)