« July 2004 | Main | September 2004 »

August 31, 2004

Why I don't have a gmail address

I’ve been thinking about this since I had two nice people offer me Gmail invites several months ago. (It’s interesting, by the way, that we’re using the verb, invite, as a noun for these things. It’s as though they’re actual actions, not objects.) Julie’s recent review gives me a good hook to hang it on, especially now that the height of the frenzy appears to have passed.

The best reason why I don’t have a Gmail account is simply that I can’t figure out why I’d want one. The hosting plan for this site includes more inboxes than I need, on this and another domain; I have POP, IMAP and webmail access to them. With a POP or IMAP client of my choice, I can slice and dice those messages in any way the MUA (Mail User Agent, a TLA for a POP or IMAP client) can handle them, and I can have mailboxes up to the capacity of my hard disk drive, which is well in excess of Gmail’s vaunted gigabyte. My hosting company is a bit more conservative with their spam blocking than I would like, but that’s because they’re doing it for customers, not employees.

I’m not disturbed by the privacy thing. My mail is already filtered for spam, and webmail in any form (in fact, SMTP, period) is highly insecure to begin with; if I really wanted privacy, I’d insist on all my mail being encrypted. I do find it a bit unsettling that my outbound mail to Gmail users is being indexed, but the same encryption point stands. (Does Gmail support PGP, by the way? I’m wondering if a free webmail ever will.)

In short, I can’t see that Gmail has anything to offer me. But still, I’ve felt the pull.

Google’s marketing has been brilliant: when the fad was in full swing (May and June?) everybody wanted a Gmail account, because nobody had one. Having a Gmail account was the mark of the cool kids. (Try Googling gmail "cool kids"; you get a lot of hits.) The bottom fell out of the market eventually, of course, but for a few weeks there was almost a scary sense of haves and have-nots divided by an email domain, with the haves dispensing status in the form of an invitation email.

When it was in full swing, yes, I did want a gmail account. Not for any practical reason whatever, not even to stake out the username I’d already used with Hotmail and Yahoo. I wanted to be invited. Whether I used the account was irrelevant. I wanted to be one of the cool kids.

Once I figured that out, I saw it wouldn’t really be any use at all, for the practical reasons outlined above. So when people did ask me, I thanked them as politely as I possibly could, and declined, because the fact that they asked was enough.

I don’t want to imply that gmail users are childish style-chasers. I can think of dozens of practical reasons why someone who isn’t me (someone relying on hotmail or yahoo for non-work email, for example) would want a gmail account, and I think the social weirdness surrounding the gmail invites was the fault of Google, not of those with the invitations. (I actually considered getting an account just so I could spread invitations.) But wasn’t it a little primitive there, for a while?

Now playing: I Am Superman from Life’s Rich Pageant by R.E.M.

Posted by pjm at 3:54 PM | Comments (1)

No, not here

I turn out to be the second Google result for email address for mebrahtom keflezighi.

But you know, even if I did know it (I suspect I know people who do) I wouldn’t post it on a website where it could be Googled and spam-scraped.

Now playing: The Three Day Man from The Secret Life of… by The Waterboys

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

Life at These Speeds

The reason I wrote about re-reading last week was that on Thursday I picked up a book I hadn’t touched since I interviewed the author two years ago. Life at These Speeds by Jeremy Jackson was pretty startling the first time I read it, a running book that wasn’t about running, that wasn’t about what some runner wished their running had been like or what some non-runner thought running was like.

This reading, I am being reminded of something I noticed last time, which is how Jackson’s characters talk to each other. They all talk like intellectual college students, but it’s a front; they still act like high school kids, trying to be knowledgeable adults but hurting each other because they don’t really know what they’re doing. Kevin Schuler, the narrator, is like an uncomfortable dream, a spectator in his own body, watching himself as he does things that he knows, somewhere, are poor choices, fighting something in his own head that he doesn’t understand. Jackson absolutely nailed that aspect of adolescence; I didn’t like Kevin because I wanted to be him (though there were moments) but because I remember when I was him.

Minus the van crash that kills all my teammates, of course. And the state-record track times.

This time I focused more attention of Schuler’s “coach” (who seldom gives him much advice, or needs to,) Gregory Altrabashar. Despite his perpetually put-upon bearing, he appears to be the only one who understands just what’s going on from the start, as when he says to Kevin after nearly every race, “Kevin, did you do this for you?” Kevin seems to be deriving no joy from his racing, chasing something he can’t catch, yet when he is forced to stop racing for a year he becomes physically ill, insomniac and even more detached than he had been before.

A problem Jackson had to face was the primary difficulty of centering a novel around running. There must always be a climactic race, even in a biography, and there are really only two ways to conclude that race. It has to be well written to make it worthwhile. The closing race in Once a Runner is so real I once checked my pulse while reading it (120); Jackson found an entirely different way of handling the problem in Life at These Speeds which, unfortunately, I can’t share without ruining the story.

If nothing else, it’s worth skimming the book for the absolutely surreal names Jackson comes up with for his supporting characters, like Altrabashar (which I’m sure I’ve misspelled) or Kevin’s teammate, Boblink Crustacean (which sounds like a Googlewhack, but isn’t, partly due to the book.)

Now playing: Can’t Make a Sound from Figure 8 by Elliott Smith

Posted by pjm at 8:59 AM | Comments (5)

August 30, 2004


There was an article in the NYT over the weekend about how the next version of Windows, widely known by its code-name, “Longhorn,” is now projected for a 2006 release.

This is a big, fat softball gently lobbed over the plate, so let’s just pretend I smacked it over the right-field wall (I slice) to spare you the reading and me the writing.

The part that struck me as more interesting is what I really don’t know about Longhorn. It seems like, as an IT geek, I should be insatiably curious about what Microsoft is going to change in the next version of the world’s most widely used operating system. It’s big enough that Microsoft’s oscillations on deadlines and projected features make the New York Times, after all. Even professionally, I should probably acquaint myself with the bare outlines, since my current trajectory suggests I’ll be dropping this steer on someone else’s desk, and possibly even my own, within three years.

And yet I am largely disinterested. That might be because Windows is not my primary platform; I do know at least a few of the features Apple has planned for the next revision of their system and some of the feature differences between the last three point releases.

For one thing, I suspect I should take this as a sign that operating system research shouldn’t be a concentration of mine. But I also suspect that might be a misconception, and none of this has anything whatever to do with operating systems as a CS researcher understands them; more likely, it’s about user interfaces, marketing, and the sound and fury needed to maintain the illusion that an operating system is something worth spending money on.

I spent a great deal of the last weekend in the company of a small mob of high school girls. (This is like being struck by lightning more than once: are you blessed, or cursed?) While we were watching the marathon on TV, I overheard a conversation about advertising. I think they were discussing a women’s magazine, because I heard, “Notice how they’re all advertising the same thing? Lots of cars, lots of clothes, lots of makeup. They need to advertise them because they’re all the same.”

Does Windows fit that evaluation? I’m thinking about it now, and it looks pretty close.

Now playing: Starman by Dar Williams

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

August 29, 2004

Considered judgement

I didn’t have space (or a thematic hook) for this thought in the column I just sent in for Wednesday.

A few things Deena Kastor and Meb Keflezighi have in common:

  • The American Record at 10,000m. (Deena’s got the marathon AR as well, but since the men’s AR is in the 2:05 range, it’s a bit unfair to expect Meb to challenge it.)
  • A training base. (Mammoth, California.)
  • Winning the 10,000m at the Olympic Trials…
  • …but passing up the chance to run that race in Athens because they had “a better chance to medal” in the marathon.
  • Olympic medals in the marathon.

Something tells me this list is incomplete, though.

Now playing: Indian Summer from The Heat by Jesse Malin

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

August 27, 2004

Masochist wanted

Due to the continuing failure of my foot to reach a runnable state, I won’t be running at Reach the Beach this year. Since I’m one of the few who actually knows where to drive between various exchanges, I’ll still be there, but not running, and the team is short a runner. Today, the team captain (who proposed to his wife at the finish line last year) started hitting the mailing list we were all initially recruited from, and asked us all to pipe up with our experiences.

I got soaked to the bone. I ran until my quads felt like bricks and I had to walk backwards down stairs. I ran (twice!) a hilly eight-mile course with no streetlights, between Sandwich and Center Harbor, on a course I’ve never seen in daylight. I spent thirty hours in a van so humid the charger contacts on my cell phone corroded. I was so worn out I nearly fell asleep in a glass of beer. And [one of my teammates] gave me a derisive nickname.

You couldn’t pay me enough to miss it.

Convincing, no?

Now playing: Space from Pleased to Meet You by James

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

Paging back

I’m a compulsive reader. If you sit me with nothing to do for more than, say, a minute, I’m either going to start looking for something to read, or go to sleep. As an example, if I’m waiting in an examination room for a doctor’s appointment, I’m reading all the brochures in the rack (even if they don’t apply to me) and not a few medicine bottles.

Here’s the confession: I’m a re-reader. I’m not stuttering, I’m explaining: if I liked a book, and it’s been a year or three since I read it, I’m perfectly happy to pick it up and read it again. I’ve lost track of how many times I’ve read some of my favorite books. This isn’t to say that I don’t read new stuff; I have an aunt who is the sort who returns from the library book sale with two (paper) grocery sacks full, and she enjoys digging up new stuff for me to read nearly as much as I enjoy reading it. But every now and then I can’t face anything on the “new” stack, or I’ve got nothing but hardcovers and want to travel with a paperback, so I go back and tear through something older.

One of the consequences of this is that my book stockpile now occupies almost an entire wall of the apartment, and it can be a tad inconvenient when I move (seven times since graduation.) So I try to exercise some population control; I’ve taken boxes of books to two different libraries now. I tried Bookcrossing for a while, but none of my drop-offs has ever been picked up. And I frequently pick up a book I’m about to get rid of, skim it, then find myself rereading it. Maybe it’s really trash and I’m not concerned about seeing it go, but it makes thinning the herd a bit slow.

Usually I get something out of rereading. After a few years I’ve forgotten plot points, but it’s rare that I don’t completely re-imagine some scene I’d left hazy before. Sometimes I reconsider characters completely. I’m a different person and I react to them differently. I’ve found as I get older that I’m less tolerant of poor writing.

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

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

August 26, 2004

Shoveling manure

I’d really rather not discuss Microsoft, Windows, or the worm which occupied my entire working day as I cleared it off several different systems (roughly, one department.)

I’d rather discuss the worm author, and the fantasies I had about meeting him. But since they involved fingers, toes, a sledgehammer and a splitting maul, perhaps I’d best not share here.

Now playing: Tomorrow from Demolition by Ryan Adams

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

August 25, 2004


Last year, I was the Clerk of Course at the Amherst Invitational. (For some reason, I always want to tack, “of course, of course” on the end of that job title.) For two years I scored the meet manually (using large sheets of oaktag and a pocket calculator) near the finish line, a process so clumsy and error-prone that both years I ended the day lobbying for a computer.

We scored six races ranging from sixty to a hundred and sixty athletes, and while cross-country scoring is relatively simple on its face (you sum the places of the first five runners from each team to get team score, and low score wins; a “perfect” race, sweeping the top five spots, scores fifteen,) things get very complicated very fast when you put it in practice. For example, imagine a team without enough runners to score (fewer than five.) They should be removed from the finish order before scoring everyone else (but the athletes should be listed in the results, of course.) Likewise, while runners six and seven count as “displacement” (their places don’t contribute to the team score, but they can increase other teams’ scores by beating other scoring runners, and ties should properly be broken by the sixth runner’s place,) a JV race with more than seven runners per team can be a nightmare of non-scored runners when you’re scoring manually.

So last year, I got a promotion and a hardware upgrade. My position involved glomming together a web interface to allow coaches to enter their teams online, then dumping that data into a file which I could then import into the meet management software. Then, on race day, I ran the meet management software near a power socket inside the gym, rather than being outside watching the races like a good fan. I used one of our geriatric laptops from work, and we wound up doing quite well, all in all.

This year we’re skipping the web entry step (which required too much hand-holding for the other coaches last year,) and doing the data entry directly into the meet manager ourselves. The hitch this year is that I’ve got a prior commitment that weekend, so someone else will be doing the scoring this year.

Last night I got all the pieces together to walk the coach through the process tonight. He’s a Mac person, so he’s “borrowed” a Windows box from work to score the meet. I think he’s recruiting someone else to do the scoring, so I may have to do this again. This is a good thing; I don’t want to be the SPOF of meet scoring.

Meet scoring is essentially a database problem, and most of the many packages out there are just database applications bundled with the appropriate forms and reports. The data structures are interesting and mid-range complex, but nothing that couldn’t be done as a semester-end project in any database management course. (Before you think it’s “simple” based on what I’ve described above, consider a track meet, or even a swim meet.) In fact, sometimes I wonder why nobody has put together an open-source version.

(The reason, probably, is that this sort of application cries out for the sort of “small pieces loosely joined” system which is easily cobbled together from the utilities installed by default on a unix or Linux system, but needs something painfully monolithic on a Windows system, and most hackers would rather “roll their own” in *nix.)

(Another reason might be the kind of peripherals you need to support; there are plenty of data-entry gizmos like bar-code readers or finish-line cameras to plug in, plus touch pads for swimmers. We won’t even start with the Lynx folks, but don’t think I haven’t looked with interest at their job listings before.)

Still, I’m going to have an interesting time of it trying to explain this without getting in to the broader concepts of database entities, constraints, etc. I hope I can communicate more than just the step-by-step, “First you do this, then you do that, and don’t worry about why.”

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

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

Kicking comment spam where it hurts

Ian Hicks has been seeing “odd” spam coming in to technical discussion lists at the W3C (World Wide Web Consortium, for those not up on their TLAs.) The message is pretty curious; it’s actually almost on-topic for the list, but when you read it closely, it looks like something Eliza would generate from the message it replies to. And, then there’s the porn links spamvertized at the bottom of the message. Hmmm, Google gaming, perhaps? The publicly-archived-mailing-list version of comment spam? Almost certainly.

What’s interesting about Hixie noticing this is that he’s actually in a position to do something about it. Thinking in terms of page markup…

I’m thinking that HTML should have an element that basically says “content within this section may contain links from external sources; just because they are here does not mean we are endorsing them” which Google could then use to block Google rank whoring. I know a bunch of people being affected by Web log spam would jump at that chance to use this element if it was put into a spec.

It’s an interesting thought, and definitely a tag you’d see wrapping the comments section of nearly every weblog on earth. Still, when I start imagining the consequences, I’m not as excited. There’s plenty of disagreement within computer science about whether languages (programming, scripting, or markup) should be simple and restrictive (they shouldn’t let their users screw up) or powerful and dangerous (they can do wonderful things, but you’ve got plenty of rope to hang yourself.) This tag definitely falls under “powerful and dangerous.”

For one thing, it would need to be used to be effective, and look how many websites are still being laid out in tables rather than CSS. For another, it would really need to be used judiciously. I’ve drawn a lot of benefit from information posted to just the sort of web archive which might get wrapped in that tag. I suppose if the text of the messages is still indexed, they’d still be reachable, but it would make it notably more difficult to troubleshoot some problems. Really judicious use of the tag would be required.

On the other hand, if someone steps in immediately to “take the bullet” and make these comments and list archives an unattractive target for link spammers, perhaps they won’t get clogged with dross in the first place.

I suppose it’s the comment spammers mucking up web archives for us, just the way the email spammers are making our mail unusable, and the real problem are the unscrupulous gaming the system to the detriment of all. That’s a damn shame, of course. But I’d be really cautious about implementing a tool to hasten the same sort of damage the link spammers are steering us toward anyway.

Now playing: Don’t Bang The Drum from This Is The Sea by The Waterboys

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

August 24, 2004

My ears are ringing

Something’s wrong with our phone system. Usually incoming calls ring only at the front desk, and are then patched through. Today, every call is ringing on every phone. And it’s ringing quite frequently.

I had no idea we got this many calls. Nor did I realize how remarkably distracting and unnerving it is to have the phone ring so often.

Now playing: He’s Got An Answer from Wholesale Meats And Fish by Letters To Cleo

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

Browse happy

Julie points out a new site:

Browse Happy logo

I think this is a good thing. Up until now, most of the voices calling for wider support of browser standards and greater security were vindictive, shrill, or both, to some degree. Mine included, as I din on about what a frustrating piece of dry peat IE can be. This is much softer, more positive: “Here, look, the grass really is greener over here!” I like it. I notice that the betterbrowser.org site has taken a more positive approach as well.

I do have to laugh at this story, though, from a Microsoft presentation at a conference:

Anyway, the presenter was doing his pitch in a polished way and at one point he said he wanted to show us a “really cool” feature and he looked up into the audience and said “Show of hands…How many of you use Internet Explorer?” Probably 99 times out of 100 when he asks that question all the hands go up, right? Well first there was a pause and then a giggle and then a whoop of laughter as the audience looked around and realized that NO ONE had raised a hand. The presenter was thrown off his mark, but he recovered and said, “Wow! Okay how many of you wish we’d fix IE so you could use it?”

Still no hands….

Now playing: Last Call by Elliott Smith (live)

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

August 23, 2004

Warning label

When doing laundry, putting the laundry bag in with the rest of the wash is not necessarily a bad idea.

However, caution should be exercised in also running it through the dryer, since that might lead to difficulty getting the rest of the laundry into the newly-shrunk bag.

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

The risks we take

Sometime in the course of applying bug repellent a few weekends ago, some was sprayed on my wristwatch. Now the button looks like it has mange—I can’t tell if it’s lint attracted to sticky bug dope on the button, or if there’s simply a layer of plastic decaying away.

Either way, though: I sprayed that on my skin? I can’t tell if I should be disgusted, or proud that I haven’t corroded.

(Then we could consider the possible consequences of some of the insect bites I could pick up out there, and try to figure out which is the lesser evil.)

Now playing: Getting Away With It (All Messed Up) from Pleased to Meet You by James

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

Steve Nearman is off-base

From Sunday’s Washington Times, we get this column about Alan Webb:

What is particularly mind-boggling is how America’s Great Mile Hope ran such a genius of a race at the U.S. Olympic trials 33 days ago and then ran what he called “a stupid race” in the Olympic 1,500 heats Friday and failed to qualify.

…What he should have been doing all summer was getting in more tight races in Europe instead of basking in the glory of races like Home Depot and Prefontaine, where his biggest challenge was making sure the rabbit didn’t trip him.

Steve, where were you for these results?

3:50.73   mile    7/30   London    (4th)    
3:32.73   1500m   6/8    Ostrava   (4th)    
3:33.70   1500m   5/31   Hengelo   (1st)    
1:46.09   800m    8/2    Malmo     (3rd)    

Notice that only one of those was a win. Yet the mile and 1500m times are the fastest and two fastest, respectively, run by an American this year, and the 800m is twelfth-fastest (and ranks Webb 5th among Americans so far this year.) So I’d say those were fast races.

Should he be wasting all his energy trying to argue his way into the Golden League meets in Rome and Lausanne, where he can get immediately smoked by twelve Kenyans and run the rest of the race by himself—in the back? No. The only environment I can think of as rough as the Olympic heats is the World Championships heats—or perhaps something like the European championships, which he can’t run anyway.

Webb ran as best he could. Bernard Lagat, the defending bronze medalist, is giving him credit for that. Why can’t Nearman?

(Never mind, I know the answer: because sportswriters are as good at tearing down those short of godlike as political reporters are at tearing down those short of sainthood.)

Now playing: Everybody Knows from Laid by James

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

August 22, 2004


I haven’t even had the car back for six months, and I got smacked from behind this evening leaving a parking lot. Not entirely his fault, I suppose; I started, then saw an oncoming car and stopped again. And got tapped. Fortunately for him, not enough to trip his airbags. Either way, as the insurance companies see it, it’s not my fault.

(It’s very hard to be at fault when you’re hit from behind, even when you get whacked like my brother did and get driven in to the car in front of you.)

Unfortunately, this won’t further my goal to replace every major body panel; all I’ll need replaced (unless the frame is munged, which I doubt) is the plastic piece around the rear bumper, which is scratched, cracked and detached in such a way that it will not pass inspection.

I am becoming a poor bet for my insurance company, though this one probably won’t result in them actually cutting a check.

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

Unusually slow

It’s nearly an hour after Deena Drossin Kastor won America’s first Olympic marathon medal in twenty years, and I have yet to see a press release from USATF in my inbox.

I have to assume the delay is from them wiping tears from their eyes.

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

August 21, 2004

The show

I didn’t get the results at work. They were running late in Athens and there were ominous clouds and rumblings out my window, so I got on the bike and started cranking for home.

I stopped briefly at the top of the East Plumtree hill to look west towards Whately, but you couldn’t see it. It looked like the looming clouds had touched down near the river, obscuring everything beyond Sunderland and North Hadley. Definitely not a rainstorm I wanted to be riding a bike in, so I started sprinting down towards Amherst.

I made it to North Amherst before it started sprinkling, but the wind was pretty fierce. The cars on the road were slowing down as we passed Cowls sawmill, because the whirling dust blown off the mill yard looked like a small tornado. By the time I reached the light I had seen two branches blown down on the road in front of me, and I was pretty thoroughly drenched. Coming away from the light, I caught a tailwind and was up in the top gear before I was expecting to be. By the time I reached UMass it was barely sprinkling. Downtown, everything looked dry, and it didn’t rain all evening.

I woke up around 2:30 this morning to the sound of a downpour, and regular thunder. The lightning and thunder were coming so close together that you couldn’t match flashes to rumbles; it just flickered and banged, more or less constantly. I think I can safely say I’ve never seen so many flashes so close together for so long.

The rain has been tapering off, then picking up in squalls, ever since then, but whatever massive electric potentials got built up last night appear to have been discharged.

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

August 20, 2004

Ten thousand clarifications

It looks like everyone now agrees that the 10,000m final begins at 10:35 PM Athens local time, 3:35 PM EDT. I have heard rumors that NBC’s broadcast block will extend to 4:30 PM EDT, which would allow them to show the finish of the race; however, I can’t verify that rumor. No telling if they’ll show the last lap or not; if they sign off at 4:00 even a world-record time won’t be enough to make it on live TV.

When I was at RW we used to call the TV Schedule the “VCR Alert” because nobody ever broadcast running at a time when normal people could watch it live. A. is trying to tape this, but I plan to stay at work until I can see the results online; then I’ll start my ride home.

Now playing: Dead Air from Dead Air by Heatmiser

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

Vacation message considered harmful

…and I don’t mean in its jealousy-inspiring aspects.

One of our managers is going to be away next week. Being the forward-thinking type, he set up and started his vacation message last night. (A “vacation message,” if you’re not familiar with it, is an automatic reply sent to any incoming email which says something like, “I’m going to be away from my email having fun for a while, and that’s more important than whatever you’re writing about. If you need immediate action, it isn’t coming from me; try someone else.”) If the program is smart, it will only send one of these responses to any email address in any span of time (say, a week) to avoid “ringing mail” (infinite loops) or simply annoying someone to death.

This morning he opened his inbox to a blizzard of “Undeliverable message” notifications.

To figure out why, think about the makeup of your incoming mail nowadays. It’s a fair guess that for many people on our system between 50% and 90% of incoming email messages are spam. Spammers are not known for putting correct return addresses on their email messages, but that’s what his vacation message program was using to direct its little missives. What spammers tend to do is either invent email addresses which look valid (like sender@invalid.net) or spoof real addresses which belong to someone else.

Since this particular manager has relatively common first and last names (not quite “Bob Smith,” but close) he gets a pretty significant spam load. And for every message, his vacation reply was either blitzing a reply out to someone who hadn’t sent him mail, or trying to send to a non-existent address, generating an undeliverable in his mailbox.

Beyond that, in the hypothetical case of a spammer actually supplying a valid return address, he’s just confirmed that his address is functioning and has a real person (eventually) reading it, thereby inviting still more spam.

He and I discussed this briefly this morning, and he decided that there just wasn’t any benefit to it anymore. The spammers have wrecked whatever positive aspects the function once had.

Still, thousands of office drones still think it’s a pretty cool thing. You don’t have to be on a list-serve discussion list for long before someone goes on vacation and their program starts replying to every post on the list. You can’t get mad at the robot for being too dim to recognize a listserv (OK, you can, but it won’t do any good,) but you can build up a decent head of steam at the person who didn’t think about all their incoming mail before telling a program to reply to it.

An aside about the title: “Considered harmful” is geek-speak for “It might have seemed like a good idea at the time, but quit already, you idiots!” It started with a 1968 paper from the great computer scientist Edsger W. Dijkstra, which sparked so much controversy with its boldly assertive title that it spawned thousands of imitators. (Google “considered harmful” for more.) In fact, now they’re even saying that the phrase itself is considered harmful.

Now playing: Even Here We Are from 14 Songs by Paul Westerberg

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

August 19, 2004

People unclear on the concept

Since Monday, it seems that MT-Blacklist has been refusing to allow one particular IP address (, if you’re curious) to comment. It has refused it two hundred nine times, all for the same rule. (For what it’s worth, it has invoked that rule 214 times in this period.)

This raises all kinds of questions. Whose machine is that bored? How long will it take them to figure out that they need to change the comment to get around the rule? Are they even paying attention? How many other sites are they hitting?

Judging from my IP research, this is one of those cases when blocking the IP is probably appropriate, but I’m a little bit curious to see how long they can keep it up before they get a clue.

Now playing: Commercial Rain from Life by Inspiral Carpets

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

First leg of the five and dime

Things get interesting at the Olympics tomorrow. NBC (Never Bought a Clue) claims they will be broadcasting the men’s 10,000m final live. The event is scheduled to start at 10:50 PM local time in Athens, which is… what, here on the east coast? 2:50 PM? 3:50 PM? The difference is crucial; either we see the whole event, or we see the first ten minutes before rushing to the web.

I wouldn’t put it past NBC to only show us the first ten minutes; after all, they missed the boat on the Sydney 2000 final, which has been called one of the most exciting 10,000m finals ever. Damn near sleepless at that point from following things live from Pennsylvania, I caught a bus to New York and joined a small party of co-workers and like-minded fanatics at a sports bar in Manhattan at 6:00 AM to watch the CBC broadcast live. I still can’t figure out how CBC could do it and NBC couldn’t.

Still, I’ve actually heard TV critics (say, on NPR) arguing that this time they’re showing too much event and not enough explanation of what’s going on—that they heard all the criticism and went too far in the other direction. I’m not sure about that; I haven’t seen any of it yet.

I won’t be seeing the 10,000m this year; I’ll be At Work along with most people. It could be an interesting race, but odds are it will be a blow-out. Kenenisa Bekele of Ethiopia set world records in both the 5,000m and 10,000m earlier this year, and even though his countryman and two-time defending champion Haile Gebrselassie is running (obligatory photo of me with famous runner) Bekele is nearly unbeatable. The first half of his world-championship 10,000m last year in Paris was faster than the American Record for the 5,000m, and he still had a closing kick. He’s won the short-course/long-course double at the World Cross-Country championships three times in a row.

There are three Americans in the field, and that’s an achievement in itself. Let’s see, one of them has a stress fracture, one is doubling back to run the marathon on the 29th, so let’s pin our hopes on the third. But he’s not even our best at the distance; the Trials winner and AR holder opted for the marathon. Which makes sense, in a way; marathons are hugely unpredictable events in which nearly anything can go wrong for anyone. In the marathon, an American with 2:10 speed can reasonably hope for lightning to strike. Luck happens in the marathon, if you’re ready for it.

Bekele happens in the 10,000m, and there’s not much you can do but try not to be too humiliated.

There are twenty-five people on the start list for the 10,000m, which will be busy but not intolerable. Seventeen of them are African born: Four Ethiopians (one of whom will not start,) three Kenyans, two Ugandans, two Eritreans and two Tanzanians, plus one each from Rwanda and Morocco and a Somalian-born American; the French entry, Ismail Sghyr, is almost certainly North African. Two Mexicans, one Japanese, and five “Europeans,” those being two Americans, a Dutchman, a Kiwi and a Spaniard. Any questions about genetic and/or cultural predisposition to long-distance running?

Update: JM points out The World Time Server, which confirms my fears: NBC will only show the first ten minutes of the 10,000m. That should give the message boards something to froth about.

Update: The Athens 2004 page has been updated to show a start time of 10:35 PM—as Samo notes, just enough time for us to miss the last lap and a half (or so) of the race. They’ve also trimmed the extra Ethiopian to give twenty-four starters.

Now playing: The Bell And The Butterfly from Wonderland by The Charlatans

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

August 18, 2004


I have not been chattering as much as usual lately.

I am not apologetic about this, but I will offer a little justification. First, it’s been busy around here. Second, I think I’ve been getting a little more selective about which thoughts make it to “published” posts. There’s a growing bin of unfinished drafts accumulating in ecto, and while I recycle some of the ideas, most of them will probably never be finished.

I’d like to think that’s a symptom of maturity, but I suspect it’s just that I’m too lazy to do the work required to make them interesting.

Now playing: Burning Photographs from Rock N Roll by Ryan Adams

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

In case of emergency, break glass

Sometime after the sad server incident, one of my co-workers said something like, “What would we have done if you hadn’t been here?”

Leaving aside the obvious answer (“Well, you would have hired someone competent,”) I started thinking about what might have happened if I’d been on vacation, or hit by a PVTA bus while running, or run off to graduate school. And it occurred to me that I should probably do a better job of documenting all this stuff, because even if they did hire someone competent, I’d still need to explain everything I’d done, and (in some cases) why, so they could take care of it.

But documenting is something geeks are really pretty bad at. We like solving problems; explaining the solution is somewhat boring once the solution has been applied. So I’ve been trying to find fun ways to document stuff.

I ended up installing UseModWiki on our intranet server, because then I could be entertained somewhat by the process. And, in the process, I could allow others in the company to not only read the documentation, but highlight bits that were unclear or make changes if they needed to.

Next I need to make sure that all the information about troubleshooting the intranet server is available somewhere else, because what if the problem was that you couldn’t reach the documentation?

Now playing: Boxing from Ben Folds Five by Ben Folds Five

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

August 17, 2004

Valley wildlife

Continue reading "Valley wildlife"

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

I don't think it means what you think it means

There are two terms which I’ve heard a lot since coming to a biology publishing company which use simple words for complex concepts.

A “fate map” is not what you might think it is.

And “life history” means something utterly different in biology. (Apparently they’re things that evolve.)

Now playing: Way Up There from Over Rising by The Charlatans

Posted by pjm at 8:00 AM | Comments (2)

August 16, 2004

Geek in the wild

I’m still working on finding all the caches within ten miles of the apartment. I’m down to four; one I tried and failed to find on Saturday, one is “temporarily disabled” until the owners have a chance to maintain it, and a third is a “webcam cache” where the webcam isn’t currently working.

I tagged another one yesterday because I felt like a real challenge. It was a “multi-cache” which involves finding a few micro-caches, each of which contain the coordinates to the next stage. This was a three-parter, but there was a hitch: the coordinates were encoded in a bar code. To get the coordinates for the next step, a cacher had to either have their own bar-code reader (a Cue Cat would do for anyone who still has/had one of those) or take the codes over to the nearby Leverett Village Co-op and have them scanned there. (The cache owner, in this case, works at the co-op, which is how he knew this would work.)

I took the third route: I did some web research on bar codes, figured out how to decode this particular format (and a few others along the way,) and did them by hand, on the fly. (Yeah, let’s get it over with now: “What a geek.” Moving on…) First, I knew the format of the codes; I didn’t have to check for all thirty-six possible characters which can be encoded in this format, just N, W, X, ., and ten digits. Also, since I knew the spread between the stages wasn’t going to be that great (maybe four square miles of area) once I’d decoded the first one, I really only needed to look at four characters of each subsequent one: the unit arc-minutes and the three decimal places. That simplified things tremendously.

Of course, all you need to do is goof once, and you’re a few hundred feet away in the wrong direction, and I goofed more than once. Fortunately, I was able to recognize when I’d screwed up, and recover.

And, in the end, it was pretty cool to be standing up near the top of Brushy Mountain, having walked hiked more than a mile from where I could reasonably leave the car, looking at a cellar hole with the owner’s name still on the sign in front. Judging from the size of the trees growing in the basement, the house had been gone forty or fifty years.

Curiously, I had more wildlife encounters on Saturday. I’ll post the pics if I have time.

Now playing: Little Wings from Five Stories by Kris Delmhorst

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

August 15, 2004

Worth the effort

This is why I wrote this.

(Really staggering numbers of references, in fact. Nearly a quarter of Friday’s traffic.)

Now playing: The Dandy Warhols’ TV Theme Song from Dandys Rule OK by The Dandy Warhols

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

August 14, 2004


Mount Holyoke does not discriminate based on age, race, national origin, or species…

Sign for dog guardians and dogs on Mt. Holyoke College trail

This gave me a laugh on my way to the South Hadley Cache before lunch today.

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

Between the hurricanes

When it’s this humid, you can hang your towels out as long as you want—they’re not going to dry. Might even get wetter.

I think I will bathe in Deet and wander around Mt. Tom for a little while…

Now playing: Wish You Were Here from Rock N Roll by Ryan Adams

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

August 13, 2004

Best dorms

Christina commented asking about the best dorms at Amherst College, because she’s been assigned to Pratt and found me through a web search (which found, I assume, my post about dorm construction at the College.) She didn’t leave an email address, and this is too long for another comment.

The obvious answer should be, “The best dorm is the one you’re in,” of course.

When I was a first-year (over a decate ago, thanks, so most of my information is dated) my girlfriend lived in a triple in Pratt. (Note: Apparently the dorm I know as “Pratt” is “Morris Pratt,” and there’s a “Charles Pratt” dorm due to be created from the building which used to be the Geology building, and was the gym before that.) Back then, Pratt was a mixed-class dorm, and singles went to very lucky juniors, or seniors who got the shaft in Room Draw. (Aside from the Prince Albert suite, which went to the ranking RC.) But with James and Stearns leveled this summer, I believe Pratt will be entirely first-years. I suspect the majority of your class will be in Pratt, so it won’t be quite a fractured a world as it was when I was there. Leave your door open in the single, and you won’t have any trouble at all.

In my day, first-years were assigned either to one of the three first-year dorms (James, Stearns and Valentine had over half my class) or one of the four mixed-class dorms (North, South, Pratt and Morrow.) I think they’ve done away with mixed-class housing, which is a good thing in my view; I recommended exactly that after being an RC in South for a year.

So, probably half your class will be in the newly-renovated North and South, which could be pretty cool. I lived two years in South, and it was a long way from my favorite dorm, but since the renovation they should be much better. I’m not sure if they’re putting first-years in Appleton and Williston yet, but they will eventually. The rest of you will be in Pratt, maybe Morrow, and probably Valentine. Morrow is the mystery dorm: lots of singles, great central location, no soul. Despite being in the middle of everything, the people who lived in Morrow were those who wanted quiet.

Pratt is due for renovation once the new James and Stearns are completed, and I suspect unless they’ve done some significant work in the last ten years it has some significant, uh, funkiness. (Don’t leave food anywhere that’s not ant-proof.) It can be a bit of a warren (the floor plan is very complex) but the singles are usually on the north/south ends of the building, and you’ll have triples right outside your door. Plenty of friends.

I think Pratt’s in a very good location on campus—close to the dining hall, close to the library, close to some of the classrooms, close to Converse and the five-college bus. It could be a PITA as far as the gym, Merrill, and the ACC in SMudd, but if I can walk to the gym from my apartment, undergraduates can walk to the gym from Pratt without sympathy from me, even in January.

Personally, I think Moore is the best dorm, possibly exceeded by Garman (though an argument could be made for Chapman) but as far as I know it’s still only for upperclassmen. We were the second group in room-draw going in to my senior year, and half of us picked Moore. Of course, it was the first dorm to have every room wired for ethernet…

Let me know how it works out.

(There are pictures of most of these buildings at the Campus virtual tour, but the photo which claims to be of Moore is actually Converse, so I’m not sure how much to trust it.)

Now playing: Answering Machine from Let It Be by The Replacements

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

If I had to do it again...

Not that I don’t like the name of this site, but every so often I trip over a name that would work pretty well if I wasn’t using this one.

For instance:

“If you meet the Buddha on the road, kill him.”

I’ll leave the interpretation for others, but I notice that while killthebuddha.com is registered, killthebuddha.net is not.

Now playing: Junk Bond Trader from Figure 8 by Elliott Smith

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

August 12, 2004

Consumer research

Anyone here ever set up a wiki? How did you pick the software? It looks like there are dozens of packages.

Now playing: Corporal Brown from Pale by Toad The Wet Sprocket

Posted by pjm at 2:59 PM | Comments (4)


There was a dog at Puffer’s Pond the other day. This isn’t strange. The dog’s person was standing on shore, pitching a ball out into the water, and the dog would swim out after it.

Again, not too memorable. What I remember was the way the dog looked like an old wooden powerboat, particularly with its tail sticking straight up out of the water behind it like a flagpole as it paddled out.

Now playing: Check It Out from Play by The Nields

Posted by pjm at 12:54 PM | Comments (0)

August 11, 2004


I started out thinking, “Wow, that was an amazingly silly piece of spam. Can you believe how surreal spam is getting nowadays?”

I thought about what a shame it would be if we never got any more spam, so we couldn’t get a regular laugh about how hapless internet marketers trying to make a quick buck go to criminal lengths to deliver entertaining crap to our inboxes several thousand times a day, and how absurd the stuff is.

Then I realized that I think that nearly once a day now, and even the silly and absurd ones don’t even get an audible laugh anymore. (Well, not from me, anyway.)

This process took about five seconds.

I think that means I’ve achieved post-spam thinking.

So why am I still getting spam, now that I’m post-spam? Besides that our filters aren’t perfect, I mean.

Now playing: Maya from Forget Yourself by The Church

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


After I swam yesterday, I took a chance and stepped on the scale—checking my course, I suppose. The news was not entirely bad, so I celebrated with jelly beans. Which may be counter-productive, but never mind.

Ever since I went to the pool last Thursday and found it too mobbed to get a lane, I’ve been in an exercise funk. I’m getting sick of swimming in the pond; I like being able to see my environment, and in Puffer’s I’m pretty lucky to see my hand pull under me. I also have to poke my head up every five strokes or so to make sure I’m not about to plow into someone’s inflatable raft, which inhibits flow. Yet the hours at the pool are tight enough to keep me from swimming there on days when I go for PT, which, as it happens, is three times a week.

So I missed a whole series of days, though I did walk a lot on Saturday. And I just can’t get wound up to get back in the pond. I bring my gear but at the end of the day I don’t want to thrash around the pond; I want to sit on the couch.

The PT Assistant this morning, aside from expressing accomplishment when she made my foot “crunch,” suggested I need to mix things up a bit. I think that’s what I was doing last winter, getting ready for the NEM-SCY meet; I also had a sense of purpose. But what else can I do now? Machines are on nearly the same limited schedule as the pool, because they’re at the College too. Besides, as I’ve noted elsewhere, I loathe exercise that doesn’t take me anywhere; I tolerate treadmills and can only run on the track when I have a specific workout to concentrate on.

The PTA suggested rowing, but it looks like I’ve missed the season on that one. (I laughed politely to myself when she said she wanted to try rowing; she does not have the long levers that pay off in that sport, even less so than myself.) I’d take out a kayak, but where would I keep it? I’d blow my savings account renting from EMS. (Assuming I’m correct that they’re renting some of the ‘yaks they’ve got down there.)

If the thunder I’m hearing keeps up, I’ve got a ready-made excuse to skip today’s swim.

Update: The sun came out. I didn’t quite have the pond to myself, but pretty close.

Now playing: Black Boys On Mopeds from Bob On The Ceiling by The Nields

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

Why I'm not a pro writer

I’ve alluded before to my spot in a sixteen-writer rotation contributing “Bell Lap” columns to the Runner’s World Daily News. Some of the contributers are big wheels in the sport (race directors of the NYC Marathon and the 1996 Olympic marathon, the IAAF’s press secretary) and others are professional writers with newsletters, books, and senior writer contracts. And there’s Don Kardong, who is all those things.

Then there’s me.

Yesterday, one of the book authors, Chris Lear, delivered one of those passages that makes me wonder why I’m still in the rotation:

Like most of us, [Tim Broe’s mother had] become accustomed to the sappy profiles that dominate our Olympic coverage. You know, the ones that begin, “Ever since she recovered from the agony of teething, Suzy Q. has been in training for this moment. She burst forth from her altitude-bubble a week ago, and her spirulina-wheat grass diet has her mineral levels perfectly optimized for this very minute…”

And then she thought of Tim, whose idea of cross-training during his convalescence consisted of golf, fishing, bowling, and plenty of twelve-ounce curls, whose weight in January coincided with his bowling average (about two bills), and whose idea of altitude training consisted of sleeping on the top bunk.

Update: Oh, hey, I’ve got a picture of me with Tim. It’s in the extended entry.

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

Continue reading "Why I'm not a pro writer"

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

August 10, 2004

Referer from webdevboard.com

Have you looked in your traffic logs and found a referring site called www.webdevboard.com in the statistics? Here’s why: they’re spidering the web (ignoring the web robots standards in the process) and essentially spamming your referrers logs in the process.

If you’re like me, you look at the referring site to see who’s linking to you. If you follow the link from www.webdevboard.com, you’ll be none the wiser; there’s no link to your site. It’s only when you grep the logs themselves, not your reports, that you find a link to a thread on their forums.

You need to register to read their forums, so I’m going to save you the trouble:

If you have been sent to this URL it is likely you found our bot crawling your site, but perhaps you are wondering why? …. Myself and M0nkey are currently working on a new project to help webmasters everywhere. This project is a broken links reporter. In the future we will be offering a service to webmasters, a helping hand if you like.

Our bot (who we are still trying to name) will eventually crawl thousands of website URL’s daily sourcing out broken links, and other HTML errors across your site. Upon finding all these errors, once a month it will email the administator of this domain to inform him of all the problem areas on their site and inform them how to fix it. This bot will continue to crawl these sites monthly and give reports out to all those sites that have link problems. Of course however, you will be also be able to remove your email from our list once this bot gets moving.

…we are currently in testing stages, and we are currently storing website information (URL’s, administator emails, etc) in order to release our bot in the near future to help you with your website. We have created this information page to let webmasters know why we are visiting them, and also give them a chance to give us some feedback on our new project. Thanks guys, and goodluck with your site/s!

This post is followed by a series of responses, about 90% pointing out the following serious flaws in this plan:

First, we already get enough spam. They’re spidering the web in search of email addresses, and sending unrequested mail to those addresses. Sounds like spam to me. Sure, we’ll be able to unsubscribe “once we get the first email” but oh, please, doesn’t every spam offer us the same option?

Second, the spider doesn’t follow robots.txt. Very, very poor form.

Third, instead of reporting itself in the “UserAgent” field, like responsible robots, you have to look in “referrers” instead to find out what it is. Why? Because they want their url showing up on all the sites which list recent referrers on their pages, which the Googlebot will then see. It’s called referrer spam, and it’s remarkably un-classy.

Fourth, once you do figure out where to look for information about this bot, you have to register for their forum to even see the explanation of what the bot is. Requiring the webmaster to jump hoops like this leaves a poor taste in my mouth; why not put the robot information on a page without restricted access? They tried to explain this, but the explanation doesn’t hold water.

Don’t register for these yahoos’ site. Don’t display their phony referrer information on your website. In fact, if you’ve got that control, you might want to consider blocking requests including that referrer, or requests coming from the IP

As one victim posted:

You wasted my time and harvested my email, I ban your IP

If you change it I will ban the new number.

A very bad start for a dubious service, I check my own links, thank you.

(By the way, I’m aware that “referer” is misspelled in the title of this post. This is a long-standing quirk in web statistics; sometime early in the dawn of the web, it was misspelled this way in the NCSA web server configuration, and the error has spread too widely to be successfully corrected. I used the single-‘r’ spelling here for the search engines.)

(Is this boring as all get-out for anyone who reads here regularly? Yes, and I’m sorry. But I’m writing for robots and I want this post found by anyone looking for these idiots in the search engines.)

Now playing: Nine to Five from Live @ Elboroom Chicago, IL, July 2002 by Patiokings

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

More study, no answers

Gina Kolata, a fairly well-respected science writer, has an article in today’s NYT which extensively quotes a particular scientist about why some people run easily and others, well, struggle. I’ll leave aside the bait in the article (the word “jogger” is so ’70s) and just discuss substance.

Discussing the Olympic marathon course (a bit less than two weeks until the women run it!):

Your everyday, normal sort of runner, like me, will be breathless just watching. But many of the Olympic runners will make it look easy.

I can run up that mountain only in my dreams, no matter how hard I work. The difference between me and them is so great that I find myself consumed with curiosity over exactly how much of running fast and far is innate, and how much can be attributed to training, motivation and technique.

Kolata goes on to tell about her son, who ran well in high school and college but recognized a difference between himself and the national-champion class. Then she brings in an exercise physiologist from Marquette who explains the various differences in stride between your average “adult-onset” runner (my phrase) and those of us who have been doing it since we got cut from the 8th grade soccer team:

“Most people don’t know these things just because they start to run,” he said “Somebody has to tell you. But most people at these road races are very inefficient. They never were taught at all.”

Actually, I think you can learn some of them simply by running so much your body is forced to become efficient, but I’m an experiment of one. Not a great sample size. Still, I agree with the basic premise. Really good runners generally come to the sport as kids. They have to learn to take their natural energy and speed and spread it evenly over the distance of a race. They have no trouble running fast, but they need to learn to run long.

Adults who are new to running come at it from the other direction. Their speed has atrophied from years at desks, and their bodies don’t remember that boundless energy. They train to cover the distance: “How much do I need to run to finish five kilometers?” They conquer longer and longer distances, but it seldom occurs to them to seek out that missing speed and see, once they’ve completed the distance, how quickly they can cover the distance. They never do any work that would develop their speed, and developing speed is how you develop form.

(The exception to this, I think, is the class of people who didn’t run because they were playing soccer, or ultimate, or a similar sport that requires you to haul around a big field. A good soccer midfielder will cover between seven and eleven miles in a game, quite a lot of it at a dead sprint; the Germans call midfielders “the lawnmower” because they cover the whole field in a game.)

The article continues by citing a few other well-known (to some) metrics of running ability: running economy, which is a rough measure of stride efficiency and can, I think, be changed to a limited degree, and max VO2, which I understand is fixed for each individual but varies between them.

The basic message, though, seems to be, “Don’t feel bad about not being an Olympian, you probably wouldn’t have been even if you’d tried.” And I’m not really a fan of that message. I’m not going to deny that there are things that will always separate me from Alan Culpepper, no matter how hard I work. His heart, his lungs, his experience, his wife. (Just kidding.) There are form quirks I will never shed, like the left-arm hook I share with my brother (don’t pass us on the inside,) or the long “miler’s” stride I got from running the lactate-junkie races in school, which doesn’t help me much in a marathon.

But there’s still a benefit to me going out as often as I can (when I’m uninjured, of course) and training as well as I can, to see what I can do with what I have. I’d need to drop forty-eight minutes from my marathon PR to even qualify to run the Olympic Trials, so I’m not going to delude myself about my potential, but I’ve had three coaches with (between them) seven Trials appearances, finishing as high as fourth, and they never acted like they were wasting their time with me.

I guess I don’t see any point in being disappointed in what I’ll never be, when I can still improve what I am.

Now playing: The Trade from ‘Mousse by The Nields

Posted by pjm at 9:16 AM | Comments (2)

August 9, 2004

Sharing the good stuff, too

I said recently, while whining about work, that my job often provided me with interesting, crunchy little problems to solve. This morning was a good example.

First reactant: our site catalog and purchase process is a home-grown affair, originally written by my predecessor but almost entirely rewritten by me over the past two years. Like any good server-based application, it was written up to spec and not beyond, and has changed with our needs; for instance, I added the ability to sell “bundles” of books under a single price. But, in general, if we want it to do something it hasn’t done before, I have to get under the hood and figure out how it’s going to happen.

Second reactant: as a Massachusetts-based company, we collect MA sales tax (5%) for sales to customers in the Commonwealth. (Why do I keep winding up in commonwealths?) Currently, that’s hard-wired in the function that figures the purchase total: $after_tax_cost = $cost * 1.05 or something like that. (Undoubtedly the variable names are different.)

Catalyst: Saturday is a sales tax holiday in Massachusetts.

See what I mean? Interesting, crunchy problems. I’ve got a plan, and I’m coding already. Maybe while I’ve got my head around this section of the site I’ll put in the custom discount function I’ve been thinking about for months.

Now playing: The Ocean from Mortal City by Dar Williams

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

Backup alarm

There are two wake-up alarms by my bed. The first is a clock radio, which can be set to play at any hour. The second, somewhat more complex alarm is striped, with claws and teeth, and starts trying to wake me up when (1) he’s hungry, and (2) there’s a hint of light in the sky.

While the first alarm is limited to what noises are available on the radio (I set it to NPR since radio “morning shows” tend to set my teeth on edge too early in the morning,) it does have a predictable “snooze” button.

The striped alarm has a wide range of stimulation modes, both audio (from meows to purrs) and tactile (licking my face, pouncing on my feet, gently biting anything sticking out from under the covers.) This morning I dreamed there were crickets in my room, but they were red, only slightly smaller than shoes, had claws like lobsters, and would nip my legs at the slightest provocation. Once I woke up I realized the “crickets” were a combination of birds chirping outside, the alarm pouncing on my legs with claws through the quilt, and… I don’t know what the visual was, and I’m not sure I want to.

The striped alarm’s “snooze” function has three modes. One is a “soft” snooze which involves removing the alarm from the bed. This snooze has a variable (and apparently random) duration from five seconds to half an hour, and ends with a resumption of alarm activity. The “hard” snooze, which is generally invoked if the alarm sounds particularly early in the morning or refuses to respond to the “soft” snooze, involves closing the alarm in its carrier. The alarm is then restricted to audio function. The “long-term” snooze involves feeding the alarm, and has a duration of several hours, though the alarm may provide audio function in the purring range afterward, depending on the timing of the clock radio alarm.

Now playing: Androgynous from Let It Be by The Replacements

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

August 8, 2004


Here’s an activity I never expected to find myself doing thanks to geocaching: book binding.

See, each cache has a log. That’s pretty much the definition of a cache: a hidden container with a published location (hidden so you won’t find it if you’re not looking for it) which contains a log; if you find it, you sign the log. You log online as well, of course, and since the online logs allow for including photos, etc. they can be more satisfying, particularly when the cache is a “micro cache” (sizes ranging from film canisters to Altoids tins) and the log that fits in it is small. Regular caches are generally gallon-sized or larger, tupperware or (best) ammunition canisters from Army-Navy stores; they’ve got “trade items” inside (take something, leave something, generally on the dollar-store value range.) You can throw in pretty much any notebook (though preferably something tough, because odds are good it will get wet) as a log.

Micros are like bacteria; they’re highly specialized to their location. One common micro container is a magnetic key container, like you’d use to attach a spare key to your car in some hidden location. So, there’s some art to making a log which will fit in a micro container. There’s a guy in our area who is very, very good at it, and I feel like [my one micro][2] (one of the round Altoids tins) should at least attempt his standard.

My original log was a stack of small-cut paper (two or three sheets cut down to several dozen smaller sections) with a staple driven through, and the staple end wrapped with duct tape. Unfortunately, it hasn’t held up; the last finder reported, “the log is a mess.” So this morning I’ve been making a replacement. Again, a few sheets of paper cut into raffle-ticket-sized strips and laid atop each other, this time to be folded to make a “signature.” This I actually sewed together with a needle and thread (wishing for a tougher needle, but it worked. Tougher thread wouldn’t be bad either.) I’ve smeared white glue on the binding threads, and I’m waiting for that to dry; once it’s done, I’ll put clear tape around the outside and a small strip of duct tape on the “spine.” Voila: a case-bound micro log. Hopefully it will last longer than the four or five months the first log did.

Actually, I just hope I can retrieve the container unobtrusively and replace it without being seen.

Now playing: About You from The Heat by Jesse Malin

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

August 7, 2004


Well, that was disturbing.

I headed up to Greenfield and Deerfield today and did seven geocaches, which is actually a pretty good count for one day; even better when I consider that before I left I visited one of my own caches to do some clean-up, since the last finder reported it was pretty wet. Eight in one day—a few weekends ago it took me all weekend to find eight. I found some interesting spots (I’d never been through Old Deerfield before, for instance) and some great views. I hung out downtown for a little while and dropped some cash at About Music. (For the curious, the haul was: Dandy WarholsDandys Rule OK; Ryan AdamsDemolition; Jesse MalinThe Heat.)

One of the stops was a drive-in park with a nice vista across Greenfield. You could clearly see, on the other side of the Green River valley (this ridge separates Greenfield from the Connecticut) the tower offering a three-state view (MA, NH and VT; over nearer to Billsville and Mt. Greylock you can get a four-state view.) The tower appeared to be lower than where we were… and they charge admission for that tower, I think.

There were a few men hanging around there and they were watching me a bit too much, so I didn’t look to closely for the micro. Instead I went off to find the full-size cache hidden about a quarter-mile in the woods.

One of them followed me.

I think he was surprised to see me sitting on a rock writing in a notebook. He tried to make conversation. This spooked me. I’ve been cruised before, when I was younger and didn’t understand what was happening; I couldn’t figure out why strange, sketchy-looking men were trying to make innocuous conversation with me. I tried to convey the message that the notebook was why I was here, and I’ll be leaving when I’m done with that, thanks, by myself. He walked over to a nearby view and stayed there. When I finished my log, I tried to head out without him noticing. I got a head-start, anyway.

Nobody at the tower this time, whew. But wait, the guy sitting on the bench nearby watched me walk by. He looked at me but I was resolutely ignoring him. Open shirt, pierced nipples, way, way too much muscle mass; he looked like a wanna-be pro wrestler. I snagged the micro quickly (phew) and saw he was headed for the tower. Funny that he would decide to check out the view just now, after I’d gone in the tower. I went to the top as quickly as I could without running, signed the log in a hurry (thankfully, micros also have micro logs) and as he arrived at the top, I was folding the log and heading for the top of the stairs. He couldn’t follow me immediately; that would definitely spook me, if I hadn’t already been spooked. I was thinking about whether I had a knife in my caching bag. (In hindsight, I’m probably better off with the bits of Tae Kwan Do I learned a few years ago—not enough for a belt, but enough to make someone very uncomfortable if they don’t anticipate me.)

When I got in the car, he was watching me from the top of the tower.

Isn’t there some kind of “don’t cruise me” sign I can hang out? (This one is probably overdoing it.) Aren’t I entitled to go to a park without being followed? It really put a damper on an otherwise good day, and I’m still trying to parse it all out.

Now playing: Tomorrow from Demolition by Ryan Adams

Posted by pjm at 7:09 PM | Comments (1)

August 6, 2004

Everybody's help desk

Well, I can troubleshoot professionally all day at work, but that doesn’t mean I won’t end up spending the evening on the phone troubleshooting my parents’ new cable modem and its integration with their wireless networking.

That’s got to be my real fall-back profession: rent-a-geek.

Now playing: the phone…

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

Weekend outlook

A. is, regrettably and abruptly, away for the weekend, so I’m left with an unplanned weekend, just me and the Iz.

This can only mean one thing:

Action movie weekend.

(OK, maybe a few other things.)

Now playing: Crash from Millionaires by James

Posted by pjm at 3:53 PM | Comments (1)


Most of the soul-crushingly dull project is done now, so I’m handing it on to the New York folks who will actually supply the crack PowerPoint presentations to the junkies instructors. Yesterday I cooked up fifty-eight little zip files, each of them far too large, even once compressed, for email, and put them on our anonymous FTP server for download. Sent the email off to New York telling them where they could pick ‘em up.

The response from New York was, do you have those on a CD? Downloading them all one by one would take too long.

Maybe I missed something here… don’t you, somewhere, have an FTP client that lets you highlight a whole slew of items and download them all? Saving us (both of our companies, thanks) a few bucks?

And even if you don’t, how is it faster for me to burn a disc and send it, even overnight? Oh, wait, I see—it’s faster for you to copy them off a CD, rather than click fifty-eight times. Even though you’ll actually have access to the files much later.

Honestly, sometimes I wonder why anyone developing infrastructure for the internet even bothers. When I was doing event coverage at out-of-office locations, we used to refer derisively to exchanging files via floppy disk as “sneaker-netting.”

I bet he has MS Outlook configured to check the server for new e-mail every thirty seconds, too.

Now playing: Falling Down from Pleased to Meet You by James

Posted by pjm at 12:53 PM | Comments (1)

August 5, 2004

Keystone Species

I’ve got a column by that title in today’s RW Daily. Unlike the last one, which was so mangled typographically by the time it ran that I didn’t want it associated with my name, this one came through clean. It’s not my worst writing, either.

There’s a link, also, to a story about Deena Kastor in the Boulder Daily Camera in which she nails down exactly why I don’t like marathons:

“It’s such a different event that you never feel like you’re aggressive in the race,” she says. “It seems like you’re always waiting and waiting and waiting and trying to run this pace, and then all of a sudden it hurts so badly, and you don’t understand where the hurt is coming from, because you never pushed to begin with.”

Now playing: Monday from Being There (Disc 1) by Wilco

Posted by pjm at 12:45 PM | Comments (2)

Alarming search string of the day

I’m pretty sure I haven’t written anything that would be of use to whoever searched this string:

unix search for string in files spy on password wife email mac os x read

…but they wound up here anyway.

Ребенка, in the unlikely event that you’re reading this, you need to consider making sure the only systems you share with your husband are at least level C2 in the Orange Book, maybe even B1 (unlikely as that is in a consumer-grade system.) No common email inbox, no administrator access for him on any system you share, and make sure your lawyer has a good grasp of network security as well.

Now might also be a good time to think about encryption.

(I don’t know why this came into my head, but someone should write a quick network-security guide in the style of Doc Bronner’s soap labels. Something like, “Encrypt! Encrypt! And firewall well! OK!”)

Now playing: I’ll Be You from Don’t Tell A Soul by The Replacements

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

August 4, 2004

We hates it, my precioussss...

I spent a quarter-hour on the phone this afternoon with a gentleman far enough around the world that there was a significant lag between speaking and hearing. He was having trouble with our problem child software package. I couldn’t help him because, well, I don’t understand what the stuff does. But then he gave me an earful about all the problems I’ve already laid out here, plus another: the Mac version runs in Classic mode, and any Mac users who haven’t seen the writing on the wall about Classic applications have their heads quite solidly in the sand.

In other words, not only is the company wasting a significant amount of my (presumably) valuable time supporting it, but its expiration date has been all but set—maybe Mac OS 10.4, maybe 10.5, but certainly by 2006 or so.

It’s time for me to put this data in a persuasive format and send it along to Senior Management. Maybe they’ll be able to put the arm on the programmer. Maybe. There’s a ledge right in front of him, and he needs to change course—or we need to get off the boat.

Meanwhile, I had another call (same package, of course; it accounts for 75% of our support calls.) I couldn’t help him, either—it seems to be a file-format issue, and if the problem’s not in his file format it’s in the software’s parsing of that file, in which case Bog help him—but for some reason I felt like he was notably younger than me. Not a common feeling, on my part; I tend to be talking to faculty, and this caller seemed like a grad student. It was… disconcerting, somehow.

I think I need to not be the youngest in the office at my next job. It’s about time I took that growing-up step.

Now playing: Trust Me from Doubt by Jesus Jones

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


There was no chance of feeling sorry for myself this morning at PT.

The receptionist was telling how she and her husband were getting custody of three of their grandchildren. Her son wasn’t even attempting custody; the mother was back in Massachusetts (after abandoning the children in the Carolinas, I think) saying the kids died in a fire.

Another patient was talking about how she had $40 for a month’s groceries after her husband died; she went to the welfare office with a friend, and while the friend “lied like a rug” and got an emergency $300 check, she told the truth and got $10.

The PT working on me was talking about how she’s getting no more financial aid for school after this year, due to the assumptions made by the aid office. The dream of a soccer scholarship which would have paid for a better school vanished with a high school ACL injury.

I don’t know why I was the audience for all these stories today. I suppose if not being able to run is the worst story I have to tell, I’m still doing pretty well.

Now playing: (You’re The Only One) Can Make Me Cry from Concrete Blonde by Concrete Blonde

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

August 3, 2004

Follow the Frog

A good friend of mine—the kind who won’t let me get away with not writing, even though we’re on opposite coasts—is leaving a decent but underwhelming job this fall, and spending a good chunk of the next year (October to April, I think) in Reims, France, teaching English. As a sort of bribe to make sure I get the full story, I offered to host a weblog for her trip as a subdomain here, with the model of From Russia With Blog in mind.

We set it up last week, and she’s made a few posts. She’s still getting her MT feet under her, but I’m confident enough to put the link in the Panic Reading list to the left, there: frogblog.flashesofpanic.com. I had some fun doing what the user-interface folks refer to as “localization”: even though she’s still in Oregon, I’ve set the local time on that installation to western Europe, for example. (The other examples should be pretty obvious when you go there.)

Now playing: Ain’t no lights from I’m on my way (EP) by Rich Price

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


They didn’t really explain the new box they hooked me up to at PT this morning. Just two contacts on my foot and wires to a box. “What am I supposed to be feeling?” I asked. “Tingling,” they replied.

Yeah, tingling. It felt like I’d stuck my foot in an electrical socket. It felt like my foot was twitching. Tingling, sure, the way your forehead would tingle if you rested it on a humming church bell. Like a vibrating pager had been implanted within my foot, in such a way that it made every bone resonate and amplify its buzz.

Ten seconds, and it switched off.

Ten seconds later, back on again. And so on, for twenty minutes.

A few years ago I had a minor muscle tear, which felt like a permanent knot in my leg. I went to a chiropractor up the hill from town (this was when I lived in Pennsylvania, where towns are in valleys; in Massachusetts, up the hill is town.) He wheeled in some machine which looks a lot like the ultrasound machines they’re using on me now, spun all the dials up to “high” like Eric Clapton getting ready to cut loose, and touched the contacts to my leg. It leapt like a frightened frog. He removed the contacts, and it relaxed. He kept doing this, gingerly, while the muscles in my leg danced like three live weasels in a one-weasel sack.

I came back for two follow-ups; by the last visit, I was running again with no knots.

This doesn’t look like the same thing; the physical therapists are much less likely to live on the edge the way this chiropractor was. But I sure hope it’s related.

Now playing: Area 51 from Tellin’ Stories by The Charlatans

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

Which of you are robots?

Every so often someone giving advice about writing will tell you to “know your audience,” and I use that excuse to justify regular looks at the traffic reports for this site. Sometimes it can be a brief thrill (162 distinct hosts served!) but on closer inspection, it’s beginning to get a bit creepy.

See, I don’t know how this reads, but I try to write like I’m actually talking to someone, telling a story. You know, a real person.

And, on a daily basis, the second-most-requested file on this domain is /robots.txt. In addition, search-engine hosts frequently occupy a large fraction of the traffic requests (by “search-engine hosts,” I mean things like msnbot8062.search.msn.com or crawler14.googlebot.com. There’s also crawler01.bloglines.com, but at least I can guess that’s because someone’s reading the site via RSS on Bloglines.) Today, for instance, of the top 20 hosts, six are clearly robots, and another six are just IP numbers which might be robots if I checked back on them. Two more are just me (work and home.)

The conclusion: the majority of my audience is software. I am writing for the amusement of a number of very, very large databases.

I actually know one article about writing for software (as distinct from just writing software) but do any of the two of you who are wetware have ideas?

Now playing: My Friends from End Of The Summer by Dar Williams

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

August 2, 2004

The best thing I did yesterday

I played good cop with my nieces.

They were tired and cranky and resisting being loaded in the car. I stuck my head in the back door and used a handy stuffed frog to introduce them to the age-old method of determining depth using frogs. (You know… knee-deep, knee-deep, or belly-deep, belly-deep, etc.) I had the frog catch a fly, elaborately. (thhhhhpttt—gulp “Sorry, did you want that one?”) I got smiles. I don’t think I’ve done such gratifying work in weeks.

It won’t be many more years that I’m able to lift them with a hug. I need to take these when I can get them.

Now playing: Kiss Me On The Moon from This Town Is Wrong by Nerissa & Katryna Nields

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

Waiting for the light

There’s an intersection on my bike route to work where I have to make a left turn. There’s a traffic light with a left-turn arrow.

Normally I’d be a good boy and wait for the arrow, but the early morning rides have revealed that me on my bike is not enough whatever to trigger the turn arrow. (It’s not clear exactly how the light is cued. Older lights use detectors embedded in the pavement, and you can spoof those with a bicycle by slowly weaving across the wires, but newer lights use motion detectors. Whatever this is detecting, it’s not seeing me.) If I’m going to be a good boy, I’m going to be sitting at the intersection until a car making a left turn pulls up behind me—pretty uncomfortable, since I’m not good enough to do a track stand.

Instead, I’ve taken to going when the opposing light (not really directly across, but never mind) gives that traffic a left arrow, or some other light configuration when I’m unlikely to wind up a hood ornament. It’s a morning puzzle: what’s the safest way to get across the intersection without waiting through four or five cycles of the light?

(The instructor of my systems course used traffic lights to illustrate state machines, which is probably why I sit at the intersection trying to figure out how to hack the lights instead of rolling down the hill to the town hall and simply asking.)

Of course, I wouldn’t be in this fix if I was truly a stickler for traffic rules, and didn’t ride a few hundred meters the wrong way on a one-way street to get out of my neighborhood.

Now playing: Just Wednesday from Devil Hopping by Inspiral Carpets

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

August 1, 2004

This space intentionally left blank

I realized, this weekend, that I was getting a bit obsessive about the little calendar down there on the left, and making sure there were links on every day. (There’s nothing like a calendar to make you stick to a running program, I should add. Particularly if you’ve got a whiff of compulsive about you.) So I decided that someday when I didn’t feel like I had anything important to say, I should just let it go, maybe even deliberately skip a day to avoid saddling myself with some kind of “days posted” streak.

So, it being relatively late and my having already filed a column for publication later this week, I figured I’d make today the day.

Oh, wait.


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