« June 2005 | Main | August 2005 »

July 31, 2005

Oversized iPod

There’s a lot to post about this weekend, but I’m swamped here, so I’ll just go with the first one.

I managed to leave my iPod at work. Not uncommon, but frustrating when there’s a lot of driving ahead.

Then I remembered that I had my laptop with me, and since I rip music for the iPod there, it has all the same music.

So I drove up 91 in Vermont with my Powerbook next to me, wireless off and screen dimmed down to nearly nothing, and the headphone jack hooked up to the cassette adapter.

Big, expensive iPod

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

July 29, 2005

Real fast now

It’s time to depart on my barnstorming tour of the North. It’s as good a time as any to figure out if my passport has been revoked.

My brother has stopped short of promising a world record in the 100m fly*, but he’s definitely indicated that he expects to see one. I’ve seen world records at world championships before, and the first one—Michael Johnson for 400m in Seville ‘99—probably happened faster than this one (if it happens) is likely to.

I’ve only ever been to Canada for sports events.

* Eeugh: FINA does all their results in PDFs. The IAAF site is much, much better.

Now Playing: April Fool from Grave Dancers Union by Soul Asylum

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

Flowers are accepted

It’s that time of year again…

Now Playing: Watching You from Us And Us Only by The Charlatans

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

Advocacy != broadcast rights

Yesterday I had to spend some time on a few “intelligent design” advocacy websites. We’d heard they were offering free downloads of a video we distribute, and I was to check out whether that was really the case.

Sure enough, 12:55-running-time .ram files of a 14:30-running-time video. I don’t think that’s really covered under the license. I see cease-and-desist letters in their future.

Even more fun: two sites allowed the file to be saved to disk, rather than just streamed. Both files had the same md5 hash, indicating a phenomenally high probability that the files were identical: in other words, one had copied it from the other, or they’d both copied it from the same source.

Not that this company is inclined to spend too much time engaging their arguments, but c’mon, guys. Being on the wrong side of current copyright law doesn’t really make your point.

Now Playing: One Down from Ben Folds Live by Ben Folds

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

July 28, 2005


You know you’ve been domesticated when you realize that your favorite pizza joint is your own kitchen.

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

The free yard sale (second installment)

I’ve mentioned before that we’re giving away a lot of stuff before this move. It’s not any kind of austerity move (excepting perhaps on my bookshelves, which could use some austerity,) but rather a recognition of how much stuff we’ve accumulated that we no longer use; baggage which no longer carries its weight. We don’t have a venue for a proper yard sale, nor the inventory, so it’s been happening in pieces. When A had some runners over to go through her give-away stuff, I called it her “free tag sale.” Tonight is my installment.

I’ve been trimming small stuff on eBay and Amazon for a while, but the time is getting short (seventeen days until the movers come,) so I’m resigning myself to carrying some of what I didn’t get listed and sold in time, and moving on to the big items.

In the last week I’ve made a big push to offer largish items on Freecycle. One item went out on Monday. For some reason, four different items had pick-up arranged for tonight, so I expect the evening to be punctuated regularly by answering the doorbell and carrying things out.

I have to keep reminding myself that we will still end up moving things we don’t need, and that no matter how much we shed, there will still be quite a lot to haul.

Now Playing: Your Skies Are Mine from Songs From The Other Side by The Charlatans

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

Closed system

One of my co-workers sent an all-staff email to update the mailing address of one of our authors. It’s a town near the one I grew up in, so I guessed the college in question. Looking at the directory of the department in question, I found not only our author, but one of my high school classmates (I think) working as a lab assistant. I also saw an assistant professor who I interviewed a few years ago; he was instrumental in starting a running club I profiled for New England Runner. Out of curiosity, I checked which classes he taught, and noticed that in one of them, he uses another one of our textbooks (not written by the author who started the whole chain.) Within five minutes, I’d started at my day job and hopped back to high school (three jumps,) my freelance work (four jumps,) and back to my day job (five jumps.)

It may not be a small world, but the interconnections are quite dense.

Now Playing: Trumpet from Inarticulate Nature Boy by Josh Clayton-Felt

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


Now, there’s a lot that’s cool about this story, but the thing that had me laughing out loud in the car was the news that there really is a telescope in development with the official name “Overwhelmingly Large Telescope.”

Now Playing: Straw Hat And Old Dirty Hank from Rock Spectacle (Live) by Barenaked Ladies

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

July 27, 2005

Long time, no join

It has been quite a while (three years) since I took Database Management, and since then I’ve mostly just been doing CRUD for websites.

Now I’ve got a situation where I should probably use a join. A left join, specifically. To put this in non-technical terms, I can either get two batches of data (from two database tables) and correlate them myself in the application, or I can combine the tables temporarily and grab a single batch of data. I can go a long way around the mountain range on flat land, or start climbing and take a shortcut through the pass.

If only I could remember the proper syntax for joins, and exactly which one I wanted, without having to scan the manual.

Now Playing: Round Here from August & Everything After by Counting Crows

Posted by pjm at 3:35 PM | Comments (2)

They can tell when I don't have my camera

As I turned off route 116 onto route 9 yesterday, I nearly ran my car off the road when I saw the huge red-tailed hawk sitting placidly on the power cable, back to traffic, looking out toward the bike path.

Now Playing: Lullabye from Bloodletting by Concrete Blonde

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

July 26, 2005

Setting the bar low

There was another one today. A co-worker came by, saying her printer wasn’t working. Sure enough, the lights were blinking and the power button didn’t work. I unplugged it, counted five, then plugged it back in. The lights shuffled, and it spit out a page of garbage. Then I printed a test page from the printer properties page, and it came out fine. Problem solved.

“You can’t leave,” she said. But why not? It happens that I don’t much like printers, but this was not rocket science. Power down by whatever means, power back up, see if the problem remains. Anyone who can’t try that troubleshooting cycle shouldn’t be in my job.

Do we have such low expectations of tech support that this is considered a good job?

Now Playing: Lawrence, KS from Golden Age of Radio by Josh Ritter

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

July 25, 2005

It's a cheap plastic kite

…from the Winnegance Store. But it was good enough while it was in the air, and I didn’t miss it once it plunged into the riptide of the Morse’s River (no kidding) and all we got back was sandy string.


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

July 24, 2005

Deep in the brainstem

As my father pinned his number on his shirt, I could taste the race in my mouth like tea I had not yet set to my lips.

I could feel still muscles in my legs twitching with nervous energy on the starting line, electrical pulses racing up and down the nerves like messengers before a battle. I could feel the satisfying beginnings of deep, grinding exhaustion, charging into a hill shoulder-to-shoulder with a rival I hadn’t introduced myself to yet, both of us willing the other to be weaker. I felt the crackle of energy delivered through a tongue of connective tissue to the tip of my toes as I took flight, briefly, again. I remembered every finish-line emotional wash, from the second I knew him broken to the last step over the line. I remembered being broken.

I remembered the doctor, on Friday, telling me how he thought that tongue of connective tissue will never, ever, be the same; how my gait has stretched the inelastic fascia like a dried-up rubber band, changing everything from how my foot rolls at the start of each step to the energy I can deliver with each toe-off. That the best he and I can do is take the load off it and compensate. He thinks he can do it; new inserts, and I can run again. But not the same, he didn’t say. I am a different machine, now. The hardware does not work the same way. One strand of gristle goes Pop, said the fictional Olympian, and presto, you’re a pedestrian.

The nerves, however, are the same, and the memories are stored somewhere much simpler and more primal than where I remember my phone number or my cat’s face.

I could taste them.

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

Drinking salt water

Yesterday, my father and I kayaked beside my brother as he swam the (roughly) 2.4 miles from Peaks Island in Casco Bay to East End Beach in Portland.

En route

(Forgive me for that photo; it was taken with a cell-phone camera from a bobbing kayak.)

Unlike this morning, when A and my father ran a road race in East Boothbay (not far from this sign,) I did not feel any stirrings of inspiration to try a similar feat myself.

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

July 22, 2005


The column I mentioned Tuesday is online.

After I sent it, I thought of another behavior described by the quote: checking email. Hmmm… nope, nothing new.

Now Playing: Seagull from Live Light (France, 11/1994) by Ride

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

Better swimmers

The pool was crowded this morning. All the usual suspects were there, plus a few others. Fortunately, they had more lane-lines in the pool than usual; sometimes they’ll just put one row in and let the rest of us follow the block-line on the bottom. The lane lines damp everyone’s wake a bit (with no lines, the chop can get dramatic,) and allows two people to share one lane.

I was on the end, and you could say I was sharing my lane when I started out. There was a tiny little frog, no longer than my index finger, sitting on the gutter-shelf right at the waterline. His head stuck out, but the rest of him was submerged. I wondered if the chlorine bothered him.

As I warmed up, my wake gradually bumped him halfway down the gutter. Eventually he vanished; I don’t know if he went up on the deck, or under me and into the rest of the pool.

Now Playing: Merry Christmas, Mr. Jones from Bob On The Ceiling by The Nields

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

Easy way to recognize referrer spam

…when there’s a typo in the URL being spammed: htpp://www.spam-url.com

The e-mail anti-spammers have, for a long time, had a set of rules about spammers. It would appear that #3, at the very least, continues to apply to link spammers.

Now Playing: Heavens from Seven by James

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

July 21, 2005


I am spending today, and probably large sections of the next week, whipping together a site to support a book which is going to the printers “any week now.” It’s a final exam, of sorts; a chance to take the content management system I’ve shepherded through two previous sites and write a sharper, cleaner version using what I learned from those earlier ones.

Content management is a very basic level of database work, with just a few relationships and a lot of CRUD: the database acronym for Create, Read, Update, Delete.

If only things were so simple outside the database. There’s a lot of Update and Delete going on in non-work, but none of the operations are simple, and there seem to be a lot of them going on at once.

Now Playing: Television by Robyn Hitchcock

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

Internal email I won't send

…because I don’t need to share my internal bug-finding narrative with my co-workers.

Yeah, I don’t understand this [site feedback] either. “[object] icon”?

Wait… crud. There’s a bug. Only on the “list [objects] by subject” pages. Wow, that was obscure. It’s fixed, now.

Now Playing: Monster from ‘Mousse by The Nields

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

July 20, 2005

Different sockets

My first car—the one I learned to drive on, the first one registered in my name—needed extensive work before I took it to college. Since I couldn’t afford the work, I did it myself. This involved the replacement of all four doors, which were rusted, among other things. I borrowed a truck (one of the advantages of my usual summer job was the availability of flatbed trucks,) and drove a hard bargain with a scrap-yard owner in Chelsea, Maine to get four rust-free doors from two different wrecks in his yard. I drove them home, stripped most of the interior finish out of all eight doors and the car, then put it back together, complete with at least one working door lock. For at least two more years, I drove a tri-colored car: the original body was silver (though it developed large mangy primer-colored patches in its last days,) the front doors grey, and the back doors maroon. One of the back doors did not open; the other would open only if the corresponding front door was also open.

I mention this because, in the process of this reconstruction, I acquired an absurd volume of machine tools. The problem was that the car was a sort of early hybrid, an American make with a Japanese diesel engine. Half of the fasteners were metric, half inches, and the other half required Torx bits. I built a remarkably heterogenous toolbox.

I’ve done the same with my servers here. Some of the servers are (relatively) modern Linux flavors, running the 2.4 kernel with modern niceties like sudo, iptables, and various database utilities. But one of them is a bastard child like my first car. It has a 2.2 kernel and a lot of obsolete packages hooked closely in to its function. In order to run modern software, like SpamAssassin or Logwatch, I needed to install a second, newer version of Perl (think metric, not imperial, socket wrenches.) Now I’m getting database errors; I may need to upgrade the database as well, in order to get the most recent version of SpamAssassin installed.

And it does feel just like working on that car, or the Scopmobile chronicle. I try a few different tools, maybe find a new one, and in the end I wind up hammering on a piece with the socket handle trying to make it fit in place. One day, the current software just won’t work, and it will be time to power down the little old box and find a place to properly dispose of the remains.

I’m comforted by the idea that I won’t be here to see that day.

Now Playing: Daisy And Prudence from Distillation by Erin McKeown

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

July 19, 2005

Playing the lottery

I just sent in another column, which will probably run on Friday. I had it mostly written, but was dissatisfied with it. Finally I hit on a hook, and wound up rewriting the whole thing around the hook, which was a comparison based on my high-school pre-calc teacher having us figure the odds on the Megabucks and Cory Doctorow’s toss-off rant in Eastern Standard Tribe:

That’s the crack-cocaine part… If you put a rat in a cage with a lever that doesn’t give food pellets, he’ll push it once or twice and give up. Set the lever to always deliver food pellets and he’ll push it when he gets hungry. Set it to sometimes deliver food pellets and he’ll bang on it until he passes out!

Yeah, that’s me… bringing crack-addled lottery-playing lab rats to a fine running website near you.

Now Playing: Great Southern Land from Primitive Man by Icehouse

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

Down in the caves

I am taking my bold step forward. It is time for me to learn some new tricks. I am installing Ruby and Rails on my development server (also known as the Mac in my office.) If you want to follow along, I did the installation using this walk-through and now I am taking first steps following the OnLAMP introduction.

I feel like I am walking through a dark cavern with a dim flashlight. I can see the path a few steps in front of me, get a slight idea of what might be around me, and read my map. But I can’t really see where I’m going yet, or even how I’m getting there.

Now Playing: L.A. from Figure 8 by Elliott Smith

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

Cheaper than gas

I can’t claim that I’ve seen fewer cars on the road lately. I’m not sure I’d notice if I had.

But I have seen a lot more bikes. I’m not sure if Lance has reminded everyone that, yes, they own a bike, or if I’m seeing more bike commuters. For some reason, I think the latter; maybe it’s the saddlebags and backpacks we’re all carrying. Even when I’m driving, I’m seeing riders in the bike lanes (where they exist.) I even took advantage of a long local rail-trail to visit six geocaches on Saturday, between South Amherst and Northampton, without benefit of fossil fuel.

See, the more you drive, the more gas you need to buy. And you may have noticed that gas is expensive nowadays.

But the more you bike… well, your grocery bill probably won’t change that much.

Now Playing: Tremelo Song from Between 10th And 11th by The Charlatans

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

July 18, 2005

Used book update

I hinted last week that I was putting used books on Amazon. They make it relatively easy to sell your used books, but that doesn’t always mean it’s the right thing to do in all cases.

The catch is that Amazon charges a commission of $0.99 plus 15% of your sale price. So if you sell a book for $1.00, Amazon’s commission is $1.14, and you’re actually $0.14 in the hole. They do give you a shipping credit of $2.26, and that’s where the margin actually appears: mailing the average paperback book by the USPS’s “media mail” rate costs about $1.24. So there’s about dollar to play with there on most books. Half of that goes to packaging; I get padded envelopes from Hastings for $0.52, but I suspect many used-book sellers have more efficient (cheaper) packaging operations. Also, depending on what your level of urgency is, you might find it worthwhile to clear just a nickel on particular books in order to get rid of them. For me, if that’s as good as I’m going to do, I’d rather donate it.

So what I did was wade through the stack of books, putting in the ISBNs and seeing what the current lowest price was for each one. I set an arbitrary break point of $1.50. If the current lowest price was under that (and many were as low as $0.01), I put it back on the “give away” stack. If it was higher, I set a price between five and ten cents lower than the current low price, and listed it. I wound up listing somewhere around a quarter of the give-away stacks for both A and I, and if you saw my list at its height, you’d probably be a bit shocked right now at how many we’re giving away. (I’m keeping about five times even that number—unfortunately for moving days, I have a pretty big library.)

What has really surprised me is how quickly I’ve sold as many as I have. A textbook I listed didn’t stay 24 hours. For a sample, I bought ten envelopes on Sunday morning; on Sunday evening, I had nine of them packed for shipping. I currently have more orders to ship than I have envelopes. In the not-quite-week since I started, I’ve sold seventeen books to sixteen people, from Maine to Guam to Puerto Rico. Total value of the transactions is over $100; my margin is a little less than 60% from Amazon, and I think I’ve paid another 20% to 25% in shipping fees and packaging. So you’ll see that I’m not making a business out of this. Maybe it will buy me a textbook or two in the fall; maybe it will buy A dinner.

Even if I wanted to keep it up, the inventory is highly perishable; once I’m out of books, I can’t get more. Anyway, I can’t leave things on sale until they sell. In the week before the move I will close all the listings and move any remaining books back to the “donate” pile, and find them a home elsewhere.

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

July 17, 2005

In which I am unprofessional, as usual

I may not have mentioned that I am a technical editor for Julie’s book.

My biggest problem so far is my tendency to treat it like an extended blog post (or usenet posting) and insert smartass remarks, which aren’t really relevant to either my task or hers. For example, I inserted, then removed, a note about Blogger’s ability to “convert line breaks” in postings, using a double <br /><br /> tag:

…which is so far from the intent of HTML as a markup language that browsers should reject it as invalid code. But they don’t, so we will tolerate it until the Revolution comes.

This helps no one.

Now Playing: Come And Find Me from Golden Age of Radio by Josh Ritter

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

No "Heights" here

It doesn’t look like Heights is going to play here. A saw it in NYC, where it was playing on one screen in all of Manhattan. Mel and Julie saw it in San Francisco, and also offered positive reviews. But it just doesn’t seem to be in the lineup around here; just more summer-movie garbage. I couldn’t even motivate myself to see any of what is playing even for air conditioning on Friday night; that’s saying quite a lot, I’m afraid.

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

July 15, 2005

Tonight, I plan on sleeping

(I’d considered writing this since I saw yesterday’s newspaper, but I’m following through because I threatened to elsewhere.)

For pity’s sake, people. It’s only a book. It won’t disappear if you don’t have your copy at midnight (or, for that matter, first thing Saturday.) I honestly can’t imagine a book I wanted to read so much that I couldn’t wait a few hours. I can imagine losing sleep over a book I was already reading, but not one I hadn’t even started.

I think we’ve passed the level of, “It’s an entertaining read,” and have entered the level of hype.

(This post composed while waiting for Ruby and associated dependencies to install on my Mac…)

Now Playing: Fly Home from Sometime Anywhere by The Church

Posted by pjm at 3:21 PM | Comments (3)

The setback

Today is the one-week mark from my last run. I was feeling abnormally footsore after runs last week, and on Friday at the office I started getting the old feeling of tearing in my arch. By Friday night I was feeling symptoms of “classic PF” (as opposed to the bizarre PF-like issues I had last year) which included the sensation described by Ned as “like someone was driving a nail into my heel.”

So I stopped running. I went on a long ride in the Quabbin Sunday, carrying Gatorade for A’s run, and on Monday I paid my dues to use the town’s outdoor pools this summer. I’ve been in the pool three days now, and the other two days I’ve cranked to work on the bike. The pain in my heel is gone, but the arch is still sore. As long as it hurts, I’m not running.

Needless to say, this is frustrating; I thought I was on the way back, and I’d even run the annual July 4th road race in my hometown. Ten years earlier, I’d won it (mainly by running my competition literally into the ground on a hot day,) but this year I jogged it with a former high-school teammate who was short on training miles. I don’t think the race set me back; I don’t know what it was. And I still don’t know what’s wrong with the foot; everyone I ask tells me something different. I just know that it hurts, and running makes it worse.

On the up side, I’m encouraged by how easy it has been to get back into swimming. I thought I would have lost a lot of fitness, but I did 2,000y workouts both Wednesday and today. I’d do more, but the lap-swim time block is small, and I need to get there earlier to put in more yards. I’m hoping to work in some lifting, too.

This isn’t a long-term solution, though. The drawback to all these alternate exercise methods (swimming/lifting/biking) is that they require preparation and, in some cases, access to facilities. If I can run, all I need are my shoes and some time; I can do it any time in the day, from nearly anywhere. To swim, for example, I need to plan to be at the pool during lap swim hours (and, hopefully, not the “lap/open” block, which means dozens of kids who don’t understand lane etiquette.) I need to have suits, goggles, a towel, etc., much of which needs to be collected from various drying racks. And I need to drive to the pool.

And in August, when we move, any habits I can develop now will be disrupted.

Now Playing: Seasons Changed from My Friends and I by Patiokings

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

July 14, 2005


I’ve been contacted by email to remind everyone that Friday, July 29 (two weeks from tomorrow) will be System Administrator Appreciation Day. Mark your calendars. Heck, figure out who your sysadmin is. (Maybe it’s you?)

I am disappointed, however, that ThinkGeek is not running their Sysadmin Pageant again this year.

Now Playing: Some Girls Are Bigger Than Others from The Queen Is Dead by The Smiths

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

Offshoring transcription

It’s never clear to me when Ben Hammersley is telling the straight facts, or having fun with me. But if the third-to-last paragraph in this story is for real, I may consider a reduction in my own margin to get rid of my least favorite part of reporting.

Oh, here’s the link—he’s not kidding!

Now Playing: The Red Plains from The Way It Is by Bruce Hornsby and the Range

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

July 13, 2005

Unnecessary kindness

Clearly I didn’t get my point across terribly well in the last post. I’m not close to any financial edges. I know everyone means well, but the point of the post was to explain some small changes in the site, not to indicate any kind of privation.

Perhaps some background is in order. I am a flinty old New Englander, and one of the characteristics of that type (aside from general reticence, dry humor, and impatience with incompetence,) is strong independence, which translates into an allergy to debt. I’ve held paying full-time jobs, often with extra work on the side, since finishing college the first time. In that time I paid off a car and my college debt, both significantly ahead of schedule. With the debts paid off, I’ve been plowing money into savings. Between that good support from the University, I expect I will finish a Masters without debt. If I keep my belt tight and don’t waste any time, I might finish a Ph.D. without debt, but that’s a bridge I don’t even know if I’ll want to cross.

I’m not yet in a position where I need to cut things out. However, I have considered what to cut, should it become necessary. Yes, I can find a way to cheaper hosting; I’m already discussing an alternative back-channel. Yes, it may be possible that I may be able to host on University servers, or co-locate a cheap box of my own in their data center. I don’t know that, so I proceed with what I do know. Yes, I’ve considered shedding the car; however, that’s beyond the scope of this line-item. Yes, Julia, I’ll come for dinner, but because I enjoy your (plural) company, not because I can’t afford groceries.

This is a tiny little thing. I spent more money flying to California for a track meet last month than I do on this site. I earned more writing three stories in one day than I spend on this site. The difference is that the track meets pay for themselves, at the end of the year.

I don’t talk about things much, sometimes big things. This can lead to people interpreting small signals as signs of big icebergs. This one isn’t. I do appreciate your concern, though.

Now Playing: Wild Flowers from Gold by Ryan Adams

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

July 12, 2005

Trimming the bill

With a drastic reduction in income (and jump in expenses, as well) on my horizon, I’m working on two projects here on the site. The first, which I’ve alluded to before, involves getting rid of my junk. I’m doing stuff offline, giving boxes to Reader to Reader and putting some items on Freecycle, but I’m also selling a lot of unwanted items on eBay and Amazon. To that end, I’ve added links to lists of items I’m selling to the sidebar of the main page. (I should be showing that sidebar, or a subset of it, in individual pages as well. One day I will overhaul this site…)

The second project is more long-term. I’m thinking about ways to minimize the cost of this site. That’s not, “make money from my site,” because that seems like a pipe dream; I’d rather just bundle up a few trickles of income which balance out the bills. (To give you an idea of the scale I’m talking about: it’s very hard to pay less for cable TV, annually, than this site costs me, and I spend much more on a newspaper subscription.) I’ve known this time of tuition was coming for quite a while, and I’ve saved for a while in anticipation, so I’m not going to go hungry as a student. But it would be nice if the “nonessentials” paid for themselves, don’t you think?

This becomes a lengthy discussion, so I’ve continued it in an extended entry.

Now Playing: June from Forget Yourself by The Church

Continue reading "Trimming the bill"

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

Good excuse

The other week, I was notified that I had to turn up for jury duty in Northampton sometime in September.

This would be a problem considering that I will be living in Medford by then. I checked, and discovered that I’m ineligible: shortly before I started this weblog, I spent a few hours suffering in a jury waiting room in Hadley. That’s enough for the state until 2007. I filled out the card, and today got the notice that I was not required to report.

There was a pretty good series on jury reform on NPR last month. They cited some good things to change: requiring jurors to show up even when they won’t be empaneled, for example. But thinking about that Hadley waiting room, I think they missed something. The waiting would be about 30 times more pleasant if the TV was turned off (or if there was a place where it could be escaped.) I also think the jury would be two or three times more likely to come to an intelligent, reasoned verdict if they hadn’t been exposed to network television for a number of hours before the trial.

Now Playing: Lay It Down Clown from Tim by The Replacements

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

July 11, 2005

On track

It’s hard to read anything about web development without somewhere stumbling across some mention of Ruby on Rails. It’s much harder to figure out what these mentions are actually talking about.

Today I found a link (on Daring Fireball) to the Ruby on Rails Movie. I think I might have figured out what’s going on, but I’m not sure: my brain exploded about halfway through.

It seems likely that I will have to learn Ruby. The question is, when?

Now Playing: Song For A Family from Life by Inspiral Carpets

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

Getting in the mind-set

If I wasn’t already mentally prepared for grad school, I got a tuition bill from the Bursar today. My alleged assistantship hasn’t been applied yet, so the bill is for the full annual amount.

It kinda takes your breath away, seeing the figure there on the page. And this program is less expensive than many (for example, law school.)

Now Playing: Trumpet Clip from Eventually by Paul Westerberg

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

More photo use

When I saw another forum in my referrer logs, I was pretty sure it would be another Izzy photo. Turns out it’s not (scroll down, or see the original post.) Massive traffic, though. Fortunately, this image was already pretty small; as usual, I tacked on a copyright line with the URL. Maybe I should start replacing these with image text saying something like, “Linking images without permission is stealing!”

Of course, they could always download a copy to their own server, and I’d never notice. There’s something to be said for hosting my own images instead of stowing them all on Flickr; on Flickr, I’ll never know where they’re being linked from, but on this server, I can see the referrers.

Now Playing: Radio Free Europe (Original Hib-Tone Single) from Eponymous by R.E.M.

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

July 10, 2005


Interesting stuff happened today, some of which I’ll tell you about tomorrow. But the milestone was this: I archived my first cache. I’d planted it well over a year and a half ago, in the park across the street from the apartment building we used to live in. It survived much longer than I expected, but between finds in May and unsuccessful hunts in June, someone apparently thought it was litter, picked it up, and either threw it out or took it home. We checked on it this afternoon, and it was definitely Gone.

It’s timely, because I would have to be finding someone else to do “maintenance” (i.e. check out reports of problems) once I moved. Now I don’t, and the area is clear for someone else to think of a different hide. (By the rules, caches can’t be too close together, so this one was “blocking” other potential downtown Northampton hides.)

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

July 9, 2005

Looking forward

This morning we (re)visited the apartment which will be ours starting in mid-August. We spent a bit more than a half an hour scrawling rough floor plans, snapping photos and taking measurements. The idea is that we compare the vital figures with the dimensions of existing large objects (furniture) and think about where it all goes, what we have that we can get rid of, and what we don’t have that we need.

I’ve never been so deliberate about moving before; I’ve just thrown all my stuff in the new place and pushed it around until it appeared to fit. (By the same token, I’ve seldom bought furniture for a space before; I’ve picked up bits and pieces to fill needs as they came along.) I hope it actually works. I am glad we had the opportunity to see our landlord again; I definitely left with a positive feeling about him and the building, and looking forward to being there in the fall.

I also think having a sharper image of the space in our minds has already helped us grasp the reality of what we have to do. Once we returned to our current apartment, we set out on a list of chores. I purged my bookshelf again, this time clearing 10% to 15% of the shelf space and filling a box which will go to Reader to Reader early next week. If anyone wants some good Russian literature, please let me know; I have some reasonably good stuff going, and some of it is even in English translation. Also, I’d love to find a home for seven or eight track statistics books which I’ll probably have to recycle otherwise.

A. is producing bag after bag of clothes for distribution elsewhere (not all of hers will go to the SA, as mine do.) Yet it seems like for all we shed, there’s still just as much sticking around.

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

July 8, 2005

Fear and loathing in northern New England

It seems likely that my brother and I will be barnstorming up to Montreal for one day of the FINA World Championships. (I’ve been to two World Championships in Athletics, the IAAF’s track equivalent, but never a swim meet I couldn’t be competing in myself.)

Anyway, since I no longer have vacation days, the roughly 36-hour tentative plan goes like this:

  • Leave work at earliest reasonable hour.
  • Meet in Hanover, NH (or in the neighborhood) and park one car.
  • Drive until Montreal, probably arriving at some single-digit morning hour. Sleep until…
  • Morning sessions. Rounds of a few events. I bet the swimming 1500m is nothing like the running 1500m.
  • Explore what parts of the city we can reach before…
  • Evening session. Local-boy-makes-good Ian Crocker faces off against Ian Thorpe in some painful sprint event. I’d bring a Maine flag, but nobody could tell it from the flags of a few dozen other states.
  • Leave Montreal, probably sometime in the area of 9 PM.
  • Leave Hanover for home, arriving at some absurd single-digit morning hour.
  • Sleep all day Sunday.

I’m thinking I may need some of these. Or at least massive quantities of tea.

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

Spam for the cat

Subject line in this morning’s spam folder:

Re: Account balance catnip

I still junked it, but it might have sparked Iz’s attention.

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

July 7, 2005

Deja speech

I hate to admit that I’m still finishing up transcribing all my stuff from the USATF meet (oh, yeah: new column today,) but I am on the last one.

A few minutes ago, in my headphones, Khadevis Robinson launched into a soliloquy on taking risks in races, and I thought to myself, I’ve heard this somewhere before.

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

Failing gracefully

I’ve talked about degrading gracefully here, in regards to the appearance of web pages and offering cascading alternatives for browsers which don’t support certain features.

This morning, though, I’m concentrating on failing gracefully. I’m figuring out what to do with the dozen or so browsers each day which send requests for pages which no longer exist, or never existed. For a while, I harbored dreams of using mod_rewrite to somehow redirect all such requests to the proper new page, but I’m coming to see that it would require a pretty massive line-by-line mapping of old pages to new.

Instead, I’m trying to take the information I can find in the old URLs and query the new database for pages which might match. I’m not trying to be definitive; instead, I’m settling for helpful. Instead of, Oh, that old one’s not it, you want this one, I’m offering, We’re out of that, perhaps one of these would suit?

This sort of thinking is embedded in the structure of the internet. From the beginning, the network was designed to detect damage and route around it. A blank “no” is not the way of the internet; an alternate route is. I like that philosophy, and I enjoy applying and implementing it. And the nature of this particular bit of code is that it forces me to look very carefully at the question that was asked, determine how much information the server can easily extract from it, and see how far we can get with that data. It’s thinking a different way about the data structure that I’ve built, and it’s one of the more fascinating things I’ve done to this site in a few weeks.

Now Playing: 3 Strange Days from School Of Fish by School Of Fish

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

July 5, 2005

The first catch

In light of Iz’s demonstrated skill at bat-hunting, I thought I’d tell the story of his first hunt: the time he caught a mouse in our previous apartment. If you’re reading by a feed, click through to the extended entry where the story is.

Continue reading "The first catch"

Posted by pjm at 9:52 PM | Comments (4)

GPS and the Mac

I mentioned back in May how I’ve had trouble transferring geocaching waypoints from the batch files I download from the website on to my GPSr (a Magellan Meridian). The problem is that I use a Mac, which lacks a serial port, and a lot of GPS technology is closely tied to serial ports; the technology itself has not been designed to be USB-friendly.

This weekend, I finally hit on a workaround which doesn’t involve Windows software. It happens that my GPSr has a card slot which accepts the same size cards as my digital camera. So, the process works like this:

  • Get a batch of waypoints, either in .gpx format, or .loc format.
  • Put the smaller “spare” flash card in the camera and use the USB cable to plug the camera in to the Mac. As a result, the card turns up as a removable “drive” on the Mac desktop.
  • Use MacGPSBabel to convert the waypoint files into the Magellan flash card format, and save the output to the card.
  • Disconnect the camera, remove the card, and insert it into the GPSr.
  • Power up the GPSr, and issue a few menu commands to load the waypoints from the card. And we’re in business.

This actually ends up being the most efficient way to transfer waypoints to the GPSr that I’ve used yet, including the Windows-based workaround. I was pretty proud of myself for figuring it out, but naturally, nearly everyone else is unimpressed.

Now Playing: Friction from A Box Of Birds by The Church

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

Familiar voice(s)

I answered the phone Friday night and talked to a caller from our local food co-op, which both A and I became “member-owners” of a few years ago, before they ran in to some siting roadblocks and we wound up planning to move away. They have persevered and are now raising the remaining cash they need to build.

Through the conversation, I kept thinking, “This voice sounds familiar.” So before we hung up, I asked his name again. “Tom D——,” he said. That rang a bell, so I went to the web and confirmed it: Yes, that Tom. And, also, this Tom.

I reflected that I probably would’ve made his day by mentioning the first… and I might have sounded pretty creepy asking about the second.

Now Playing: In Between Days from Staring At The Sea: The Singles 1979-1985 by The Cure

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

July 1, 2005

The weblog survey

So, I took the weblog survey, since I’ve been seeing those buttons all over the place.

On at least one site, I reloaded the page once or twice to see if the button changed. Nope. Then when I finished the survey, I discovered that you choose from one of five buttons. Now, that could be boring. This should be randomized.

First, if you can embed a PHP block (say, if it’s going in a sidebar) you could just put in this code to select one of the buttons at random:

$options = array("statistic", "bell", "science", "cameron", "powerlaw");
echo '<a href="http://blogsurvey.media.mit.edu/request"><img src="http://blogsurvey.media.mit.edu/images/survey-', $options[rand(0,4)], '.gif" alt="Take the MIT Weblog Survey" style="border:none" /></a>';

(If your web host is using a version of PHP newer than 4.2, and they should be, you don’t need to seed the rand() function.)

But that doesn’t work well within a blog entry, so let’s try another route. You could create a file, like survey.php, and put this code in it:

$options = array("statistic", "bell", "science", "cameron", "powerlaw");
$image_url = "http://blogsurvey.media.mit.edu/images/survey-" . $options[rand(0,4)] . ".gif";
header("Location: $image_url");

…then, with that script on your site, call it from the src value of the img tag. Or, you could just take my word for it that it works, and use mine, by using this HTML:

<a href="http://blogsurvey.media.mit.edu/request">
<img src="http://www.flashesofpanic.com/survey.php" alt="Take the MIT Weblog Survey" style="border:none" />

…and it will look like this:

Take the MIT Weblog Survey

Now Playing: Alameda from Either/Or by Elliott Smith

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

Friday cat blogging, blood sport edition

I woke up last night when the whir of the box fan was joined by a high chittering noise. Again. I could hear Iz in hot pursuit, so this time I had a pretty good idea what was going on. As I closed the bedroom door, I picked up an empty recycling bin as a potential holding pen.

It took a few passes to locate Iz. Our apartment has a staircase down to the second floor, ending at a door about an inch and a half from the edge of the last step. Iz loses toys into the gap between the door and the stair-tread all the time. Following the curious mews, I found him down there, fishing in the gap. Cautiously, I opened the door, and found a bat, wings furled, huddled in the bottom corner of the door-frame. Mark up number two for the Iz; he might not have caught this one, but he certainly cornered it. (Continued…)

Continue reading "Friday cat blogging, blood sport edition"

Posted by pjm at 10:28 AM | Comments (3)

I thought things like this didn't happen twice

Izzy caught another bat. Fortunately (?), I was able to enforce catch-and-release. Again.

Back to sleep, now.

Posted by pjm at 4:26 AM | Comments (1)