November 12, 2012

What if?

I don’t remember when I started reading XKCD regularly, but their new “What If?” feature has me stifling inappropriate laughter on a regular basis.

An example: a recent piece on the probability of electoral ties compares the odds of nine swing states all producing equal vote totals for the top two candidates with the odds of some fairly unlikely events, including being struck by a bale of cocaine dropped from an airplane, a tornado, and a meteorite strike. (Along the way we learn that a typical location in Florida “…experiences an average 1.4 picotornados per second … a Florida resident suffers an average of 0.64 femtodeaths per second from meteorite impacts … the average person in Florida is struck by an average of 29 zeptobales of cocaine per second” and the average income of a typical acre of Florida land derived from falling bales of cocaine.)

So if you like the absurdum part of reductio ad absurdum, you’ll like What If?

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

March 24, 2011

Is there a limit to network-effect benefits?

In recent months I’ve been finding Stack Overflow and the related Stack Exchange network sites to be a tremendously valuable resource for resolving technology problems. It’s not that they can always answer my question, it’s that frequently someone else has had the same question before, and I can piggy-back on the answers they got. Searching Stack Overflow, in other words, is often more useful than asking Stack Overflow.

The value of Stack Overflow as a Q&A site is the huge number of people using it. For any given Ruby on Rails question, for example, there’s a pretty good bet someone among the thousands of users scanning those questions will have an answer. Things get a little thinner when you get to very new technologies like SproutCore (for a while I was among the top 20 answerers for SproutCore, which says more about the traffic in that tag than it does about me).

However, as Stack Overflow grows, the number of questions seems to be overwhelming the number of answers. I’ve posted two questions in the last two days, and as of this writing neither has been “viewed” by as many as ten Stack Overflow users. This isn’t because the questions are unanswerable, I think; it’s that there are so many other questions to answer, mine have been buried almost immediately.

We always say the value of a network grows with the size of the network. But Stack Overflow is suggesting to me that there might be a limit to that rule. If the network becomes big enough that messages get lost, the value of the network may begin to fall as it gets larger.

The Area 51 site where new Stack Exchange sites are suggested, debated, and spawned seems to aim at building a critical mass of users to make each new site valuable and useful. There isn’t an internal control for sites which get too big and therefore lose value; I wonder how that could be created? Is this a big enough problem to bother?

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

April 30, 2010

Why so many people are complaining about Facebook

Sometimes there’s an uproar in the web-centric media I read about certain things which doesn’t really make sense unless you’ve been following some slow-moving changes which, frankly, might still be a bit too obscure unless you’re really geeky about this stuff.

The most recent example is the recent Facebook features. (If you haven’t already done so, I strongly suggest you read through how to disable Instant Personalization because it’s on for you by default.)

Today I explained the thumbnail sketch to a few clients who are pretty savvy people, so it’s worth spending a few sentences on it here. It’s a pretty easy story to follow.

Since the rise of Google, “search”, and Google in particular, has been the primary source of traffic to nearly every site on the web. Particularly in the middle stages of the last year, everything was geared to maximizing a site’s potential in the results pages of web searches, and some people are so used to the Google box that they find sites like Facebook by going first to and typing “Facebook” in the box. (It’s called “navigational search.”) Most sites got, or still get, anywhere from 50% to 90% of their traffic from search engines.

This gave Google a tremendous amount of power, obviously. By becoming the traffic driver of the web, they pretty much determined who lived and who died in the English-speaking web space, all else being equal.

A slow-building movement from the mid-90s and the Web 2.0 trend has been away from search and into “discovery.”, the “social bookmarking” site, is an example of this; if you follow the bookmark streams of other people, and build a network of such streams to follow, you find your web traffic is no longer guided by what Google shows you. Facebook’s link-sharing feature works the same way. This is why every newspaper story on the web, (almost) every blog post or web page you visit has some kind of “share this!” widget and why websites talk about “viral marketing” again and about “the power of social media.” Now some sites are getting more than half their traffic from Facebook.

It’s also possible to use this link-sharing activity for discovery and ranking in traditional search as well; I always assumed that was why Yahoo! bought, although I’m not sure they ever leveraged that data.

Instant Personalization and “OpenLike” are Facebook’s bid to accelerate this trend. By becoming the place people go to start their web journey, they take over Google’s place at the top of the Web pile. It’s a bid for a huge amount of power:

“…it’s clear that Facebook is making a play to create, aggregate and own not only identity on the web, but everything that hangs off it. From Interests to Engagement – not just on their .com but across all sites. To do this they are giving publishers token value (analytics and traffic) to take over parts of the page with pieces of without giving them complete access to the user , their data or the user experience (all at the exclusion of any other player). In addition, they are building a semantic map of the Internet that will broker interests and data on a scale never before seen anywhere.”

That’s the politics of it in a nutshell. My tiny editorial comment is this: leery as I am of Google, I trust Facebook even less. Google at least seems to want to do the right thing; when they stumble it’s generally because they don’t understand the right and wrong of what’s going on. Facebook, on the other hand, has a history of doing whatever is likely to make them a buck. Given the choice, I’d pick Google.

Posted by pjm at 6:39 PM | Comments (0)

December 6, 2009

Bank of America: Browser Fail

When you get a new credit card (by which I mean “actual new plastic” whether or not it’s a new account) from Bank of America, they suggest you visit to confirm to them that you have the new card.

When I tried that just now, I was met with a page headed “Update your Web Browser,” complete with mangled formatting, assuring me that I needed an up to date browser to meet BofA’s security requirements. Amid the garbled text on the page was a list of supported browsers, including, for Macintosh, “Firefox 2 and higher.”

I am using Firefox 3.5. I have to say, if Bank of America doesn’t think 3.5 is higher than 2, I’m not surprised we have a financial crisis in this country.

(“Safari 1.0 and higher” is also on the list, and Safari 4.0.x worked just fine, so at least some parts of the number line appear to be in order.)

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

July 28, 2009

And then there was microblogging

Three things pushed me into microblogging.

Before I was pushed, my thinking was (and, to some degree, still is,) “OK, lots of people are using this, but I have a lot of distractions already, and I don’t see what I gain to balance that downside.” So I stayed out. (You’ll remember I did this once before.)

(Also notice that I’m using the phrase “microblogging” rather than “Twitter.” I’ll get there, I promise.)

The three things that pushed me over, roughly in chronological order, are these:

  • The “blog” that I’ve done for for three major events now is going to be more like a microblog this year; if some of the features they’ve discussed actually happen, I’ll be getting comments and questions directly through their CMS, and possibly also on a bridge to Twitter or another microblogging service like So I’m headed there anyway.

  • Our office network link went down, and my co-workers were tracking the scale of the outage and restoration of service using #verizonfail.

  • A said to me, “You know, you should try this…”

So, with reservations, I signed up.

To avoid this becoming too long, I have two more posts coming, which hopefully I will finish before Labor Day: what my reservations are (I still have them) and the technical system I’m in the process of setting up.

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

May 20, 2009

Preservation Nation

I read a (private) blog of a guy in New York who does theater reviews. He’s concocted a rating system he calls the “Yes System” which is most easily summarized as the beginning of any sentence in response to the production’s argument: “Yes, And…”, “Yes, Or…”, “Yes, If…” or “Yes, But…”. It’s not just a good-and-bad rating; it engages the project.

I feel that way about a link my mother sent me yesterday. The link was the Flickr feed for “Preservation Nation”, the National Trust for Historic Preservation.

The NTHP is using the photos for a photo mosaic project, and there are quite a few buildings and places which “matter” in the stream that are in my hometown, or the nearby small city. It’s pretty cool to be flicking through the list and see whole blocks of our downtown. It’s a great use of Flickr.

And here’s where I get to “Yes, If.” If you just see the Flickr stream, why hasn’t an effort been made to geo-tag these photos? It would’ve made a great connection to other parts of Flickr, bringing new people in to the photo stream who might not otherwise have found it. And those browsing the stream could have had more context for the other intriguing photos they found.

There’s a Google Maps chart of NTHP sites on the main site, but it’s not integrated with the Flickr stream. The NTHP is starting to use these tools to create an intriguing presentation of their projects and mission, but there’s another step to be taken. The next step would be tying those tools together to create a more seamless experience which can be entered from any of the components.

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

May 19, 2009


If you’re reading this, you should seriously consider reading the blog of my former colleague, Alisa Bowman. The target audience is married people, or people who think they might eventually be married, but if you’re not one of those you should consider it anyway, just so you can say you were reading it before it became a book.

(Because it wouldn’t be the first blog of a contemporary of mine which became a book… or a movie.)

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

April 1, 2009

It gets worse

After this afternoon, I have another thing to add to the discussion about IE6. And that is: if you think it’s hard trying to develop web pages for IE6, try developing HTML for Word. Because that’s the rendering engine Outlook 2007 uses, which means that’s how millions of emails every day get viewed.

It’s not quite 1998, but it’s pretty close.

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

December 31, 2008

Where I disappeared to

CMI has spent most of the later part of December working on the beta launch of HitFix.

And when I say, “most of the later part of December,” I mean, “I had three days off between the weekend after Thanksgiving and December 24th.”

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

October 7, 2008

Please stop using this phrase

Ever since I rejoined corporate America (albeit on my own terms) I’ve been hearing advertising and marketing people use the phrase “email blast.” Tonight I saw it in a market survey for customers.

Marketers, please stop using this phrase. I know it sounds cool, and I know it gets you all excited to think about your message exploding all over the internet, but you really, really need to look at this from the point of view of the recipients of your message. We’re people who spend an annoying amount of time removing spam from our inboxes, or filtering out the spam, and the idea of being on the receiving end of your “blast” is really unsettling. It’s a very one-way, very forceful word, and from this side it sounds like something I should be defending myself against.

It’s been nine years since the cluetrain manifesto and hearing this phrase repeated reminds me that a large, large number of companies still haven’t gotten on the train.

Now Playing: Happy from God Fodder by Ned’s Atomic Dustbin

Technorati Tags: , , , , ,

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

September 18, 2008

Facebook policy

I was reading Clive Thompson’s NY Times article about ambient awareness the other week (have I mentioned that I’ve been a Clive Thompson fan for years now?) and realized something. No, I’m not signing up for Twitter. But I need a policy for connections on online social networks.

The problem is that my network has several centers. Many/most college students, the audience Facebook was built for, have two principal social centers: their college, and their friends from high school. Adults who’ve been out of the bubble for a few years have a lot more. I’ve participated in several networks, face to face and online, from insular and closed to wide-open and public. Some of my friends overlap networks. And in some contexts, it’s not enough for me to connect to someone just because we’ve shared a context in the past; I may still hardly know you.

Also, different networks get different rules. Flickr, for example, realizes that not all connections are bi-directional, so there’s a lot more room to express nuance. Facebook, on the other hand, has stopped pushing people to explain the links in their network. And LinkedIn exists purely for the network. So, for those latter two, I need to think about whose links I accept or request.

On LinkedIn, for example, I’m going to ask myself: have I worked with this person? Have we been introduced and talked more than a minute or so? If I know them online, how? If we’re members of the same public forum, but haven’t necessarily interacted as individuals, do I know what they do, or even understand what they do? Would I “talk shop” with them, asking them questions or answering theirs? If so, sure, I’ll make that link.

On Facebook, it’s a little more constrained, because the size of the network is not the point of Facebook the way it is on LinkedIn. Some links (family, former teammates, etc.) are obvious. When they grey areas come up, though, in general, if I’ve run with a person, they’re in. If I’ve had one-on-one conversations with them, sure. If I’ve only met them online? Mutual membership in a larger group isn’t really enough here, I think; but if we could sit down on a park bench and play a game of Scrabble, or meet for a run, without significant awkwardness, that’s enough. (And when we ask questions like that, things get significantly simpler.)

Now Playing: I Wanna Be Ignored by Ezra Furman & The Harpoons

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

September 7, 2008

The search wars never ended

Earlier this year I wrote about how I had found Yahoo search producing better results than Google. The inbound link I created in that post seems to have awoken Google to the presence of the newer website, but after I encountered the situation once I’ve been seeing it all over.

It looks like I’m not the only one to notice this situation. Doc’s argument, if I understand it correctly, is this: Google only notices pages when there are recent inbound links to them. This means you’re only likely to find a page if someone else has found it and linked to it recently. (Or, more nefariously, if someone has created a whole bunch of links to something so you would find it.)

This argument gets detailed a little more in the comments:

If I have to do SEO tricks with the content I put online — tricks meant to “increase traffic” and otherwise game a search engine’s ranking algorithms — just to get that content indexed at all by a search engine — then I would say that search engine is corrupted by the external systems built to game it. Or worse, by its own advertising business model.


…if Google only catches up when one makes a new post pointing to old posts that Yahoo has seen all along, which is the better search engine?

My experiment using Yahoo as my browser’s search has gone pretty well, incidentally. The only time I’ve been disappointed in it at all has been when someone has told me to find a particular page by searching certain keywords.

Technorati Tags: , , ,

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

August 6, 2008

Blog that fix

I’ve spent some time in the last week searching the web for those precious documents that tell me HOW TO do stuff. How to fix my broken rmagick installation. How to make a series of one-page PDFs into one multi-page PDF. How to make TrueType fonts accessible to Ghostscript.

About that last one. Seems like the basic steps are, “Put the font file in the right directory. Then update the font map file with it.” OK, I get that. It’s that second one that’s the problem: every description of updating the font map file shows a format which is not at all like the one my version of Ghostscript has.

And this is where I passionately wish one of these how-to guides was a weblog post. If it was a weblog post, it would have a date on it. And then, even though the writer has (ugh) neglected to mention which version of Ghostscript they used in their how-to, I’d have a good idea of how old the article is, and whether I should consider it current information or not.

I’d rather have a sketchy description of how it works with a recent date than a step-by-step hand-holding guide to a too-old version of the software.

(I still haven’t solved the Ghostscript problem, but the trick seems to be finding the font map file in the first place. On my Mac, it turned out to be in /usr/local/share/ghostscript/8.54/lib/Fontmap.GS.)

Now Playing: Here & Now from Aurora Gory Alice by Letters To Cleo

Technorati Tags: , , ,

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

July 21, 2008

I do not think it means what you think it means

I’m in receipt of a Powerpoint document from an advertising network which will remain nameless. Leaving aside the question of whether Powerpoint is the appropriate medium for communicating the information it contains (I come down heavily on the side of “No”), let’s take a look at this question, apparently intended to find out something about our ability to handle a particular advertising campaign:

Does your web server have internet access? Can your web server view web pages?

If the web server doesn’t have internet access, our site will have serious difficulty reaching its audience. Whether or not the server software can be said to “view” pages is a complicated metaphysical question I’m not really prepared to consider at this point.

I think the sender meant to ask if the server could programmatically access resources located elsewhere on the internet, and the answer to that question is (I think) “Yes,” with trimmings. (I suppose I can imagine a scenario in which an overly-paranoid firewall prevented a server from accessing outside resources.)

But how would you answer that question if you were not at my level of technical experience? Guess?

Now Playing: Maps And Legends from Fables Of The Reconstruction by R.E.M.

Technorati Tags: , ,

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

June 18, 2008

A big step to Firefox 3.0

Along with a few zillion other people, I downloaded Firefox 3.0 last night, and installed it this morning. Much as I like Firefox, however, I have to admit a little bit of buyer’s remorse about the upgrade.

The primary driver of this, of course, has nothing to do with the Mozilla Foundation themselves, or at least, not directly. The problem is that I’ve become quite fond of a certain constellation of extensions (or “Add-ons” as the Firefox crew are now calling them), and the jump up to 3.0 has made some of them non-functional and others… wonky.

The “Wonky” includes ForecastFox, which is working fine but has odd white gaps between the icons with Firefox’s new shiny Mac chrome. (Oh, hey, the Mac-native Firefox now uses Mac-type buttons, after about three years of whining.) The outright non-functional include Dust-Me Selectors, a surprisingly useful tool which checks a site’s CSS and provides a list of style rules which are never actually used on the site, and Firebug.

It’s the busted Firebug which is really a deal-breaker for me. In the last year I’ve become so accustomed to figuring out and fixing layout and style issues on a page with Firebug that I’m actually a little disturbed to be going without it. Fortunately, I still have a 2.x Bon Echo build kicking around which I can run if a 3.x compatible Firebug isn’t released before I have need for it again. (They appear to be relatively close.)

Update: I’ve installed a beta of the next version of Firebug, which they had targeted for 3.x compatibility. Discussion on their end makes it sound like Firefox was a bit of a moving target for them.

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

May 13, 2008

Test pattern

Apparently something in the “changing passwords” part of this mess has thrown ecto for a loop, because I haven’t been able to get anything posted from there yet (and haven’t really had time to fight with it.)

I do have a few short ideas brewing. And bits are marvelously malleable.

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

May 5, 2008

It depends on your definition of "ethical"

Adam Gaffin at Universal Hub draws our attention to a new “service” in which you pay for “relevant” comments to be left on “high-page-rank blogs”, which helps your site “rank better in the SERPs.” (SERP = Search Engine Result Page.)

The part I find most amusing is their attempts at self-justification:

YES, Buying Blog Comments is 100% ethical and NOT spam!

…and yet they’re spending the rest of the page explaining how their technique leaves comments which won’t be deleted by the site moderator. Now why would a site moderator ever want to delete 100% ethical, not-spam comments?

(If there’s any confusion in your mind, buying blog comments is 100% unethical and is spam.)

No extra points for counting the spelling and grammatical errors. Note that I have used rel="nofollow" on the link to the sleazy ones.

Now Playing: Workin’ For A Livin’ from Picture This by Huey Lewis & The News

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

May 3, 2008

General excellence

I’m two days late on this, but I’ve had limited time and inclination for being online for the last 36 hours or so. Not only did my old workplace (and I mean seven years ago), Runners World, win a National Magazine Award on Thursday night—a huge deal in the industry—but they won it for their website.

The site’s been down and up and down again and up again since my day, and the site in my time bears no comparison with the site now (this particular category didn’t even exist at the NMAs), but I still feel a little connection. I know a lot of the people working on the site. And I did write a weblog there last year.

I’ll be making things happen in their Olympic Track Trials coverage this summer, so we’ll see how much worse they do in 2008.

Technorati Tags: ,

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

April 10, 2008

Google has a hand over our eye

I was looking at site traffic statistics this morning and discovered that at least one site I have a hand in gets more search traffic from Yahoo! than Google.

How did that happen?

This particular company launched a website in the late ’90s on an ISP account without their own domain. The site was tricky to maintain, and for various reasons it stagnated. More recently, we set up another site, with the same design and largely the same content but easier for a non-technical person to update, and on its own domain. This site includes a lot of more search-friendly features, including an XML site map (seems silly when you only have five pages, but there it is.)

The ISP, however, won’t close or redirect the old site, even though it hasn’t been paid for it for years. We can’t redirect it, and it still comes up first in Google searches, and it’s not going anywhere. The new site has slowly battled its way up to eighth. (N.B. Because the company name uses a deliberately archaic spelling, there’s not a whole lot of competition for the significant keywords.) On Yahoo!, the old site is also first—but the new site is third. In other words, in my opinion, Yahoo! is returning better results. But Google’s stranglehold over English-speaking search results makes our job a lot harder. And search drives a tremendous amount of web traffic; more than half, for most sites.

After thinking about this for a minute, I went up to the search box on Firefox and switched the search engine to Yahoo!. I feel like this is important not just because of our site, but for perspective.

Search results are a view of the Internet. It’s easy to convince yourself they’re the only view, the same way you can convince yourself that the view from your back door is the only way to see your yard. But clearly they’re not. And if everyone sees the same search results, it’s the same as if everyone reads the same newspaper… or if you tried looking at everything from one eye. You still see stuff, but you don’t see depth, and you can’t judge distance. (Try driving with a hand over one eye. On second thought, don’t.)

Using one search engine is like looking at the world with one eye. (And using one meta-search engine isn’t much better.) We should be changing those search settings periodically, like farmers rotating crops. There’s nothing wrong with Google—but it’s not always right, either, and if we never look anywhere else, we might forget that.

Now Playing: Released from Winter Pays For Summer by Glen Phillips

Technorati Tags: , , , ,

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

April 9, 2008

What I did with my day other than writing anything here

I merged a branch in and pushed a big revision to the La Cucina Italiana website. There are now recipes available—by which I mean, about 1% of all the recipes they have available, but that’s just the start, of course.

If you’re interested in reading me geek out for a few hundred words about asset hosts and revision control, that’s possible, too.

Now Playing: The Reasons from Reconstruction Site by The Weakerthans

Technorati Tags: , , , , , ,

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

April 5, 2008

Pricing as incentive (or, why I still pay some bills by mail)

The online parking ticket payment I just mentioned is a great idea in concept: I sit down at my computer and pay my ticket, sparing me an envelope, a stamp, and whatever time it would take to write a check and mail the envelope.

In practice, it’s not so simple. For one thing, the system just throws errors; I gave up after two attempts to start the process were met by un-helpful error messages indicating some kind of software problem. (Probably it requires me to use IE on Windows, but (a) it doesn’t say so, and (b) even if it does, I won’t.) For another, they’re adding a $3.50 service charge to a $10 ticket.

Given a choice between paying a $10 ticket by mail and a $13.50 ticket online, I’m paying by mail. I’m guessing hundreds of others are making the same decision, and Northampton is probably not seeing mass adoption of their online ticket-paying system. This is disappointing to them, because if we pay the tickets online, they get $10, but if we pay by check, they get $10 minus the cost of opening all the envelopes and making the bank deposits.

But if they want tickets paid online, they should be reducing that service charge. 35% is too high; maybe they should try 10% and see how that does. (I’m betting a $3.50 surcharge doesn’t bother someone paying a $250 traffic fine, though.)

I ran in to the same thing with my taxes. Why should I cough up an extra $11.95 to e-file, when by doing so I’m going to be saving the government a chunk of money? If they want to encourage people to e-file, they need to provide a price incentive to move us that way. Imagine it costs the IRS $5 to handle every paper return, and $1 for every e-file. If they give a $2 discount for e-filers, they still save $2 per return e-filed, and they probably get hundreds more of them. Instead, they charge (or, they provide the service only through contractors who charge) and fewer people e-file.

(It does look like there are free services available, but only for people with adjusted gross income under $54,000. So I could’ve spared myself the agony.)

For an example of companies doing this the right way, see nearly any utility company. Every major electricity, gas, or telecommunications utility I’ve dealt with in the last few years has offered online bill payment for no extra charge. I’ve signed up, we’ve both enjoyed increased convenience, they’ve saved some money, and at least I haven’t paid extra.

If you want people to use the service which saves you money, price it so it saves them money, too.

Update: I sent email to the webmaster to point out that their site was broken. I just got a response: “The problem has been corrected. Please try again.” Um, no.

Now Playing: Попробуй спеть вместе со мной from Группа Крови by Кино

Technorati Tags: , , , , , , ,

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

March 28, 2008

I like good grades

After I spent a chunk of yesterday figuring out how to make some work sites load significantly faster (think “twice as fast”) without a few little configuration changes, I thought I should apply the same process here. I ran YSlow on this site, and started with a grade of 68, a D. Unacceptable.

Unfortunately, since I don’t own the server this site runs on (yet) I don’t have total control over its configuration. For example, I can’t figure out how to ensure that the site stylesheet (all 2KB of it) get compressed before it’s sent to your browser. (This would be worth doing because the time it takes to Gzip a CSS file is more than reclaimed in the time saved downloading a notably smaller file.) However, I was able to add these three lines to the configuration:

FileETag none    

ExpiresActive On    
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 year"

This means that the two files you do download along with the front page (the stylesheet and the image) will stay in your browser cache as long as you let them, or one year, whichever is shorter, which means you won’t need to request them every time you visit this page. Not a big deal for one visit, but over time, it adds up. And you’re coming back, right?

What really got me was a number of little JavaScript inclusions I added years ago in the name of boosting traffic, such as a Technorati widget which, on closer examination, I discovered isn’t even current. Dropping those took a number of relatively slow-loading scripts off the download list for the front page.

The result of this is that, even though fewer people are coming here, the pages will load more quickly for those who still are. And, probably more important to me, my grade is now an A (94). Which we all know stands for Acceptable.

Now Playing: Merry-Go-Round from All Shook Down by The Replacements

Technorati Tags: , , , , ,

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

March 26, 2008

My life as a syndicated blogger

I think maybe I signed up with BlogBurst two years ago. Nothing came of it and the whole thing passed out of my mind. This is, after all, not exactly the sort of site that lends itself to easy syndication and republication; I’m far too erratic in my choice of topics.

This morning I saw an odd referral in my traffic stats from the Chicago Sun Times. Hmm. I pursued it and discovered that even as my search engine traffic has declined I’ve had a hundred or so post views from the Sun Times and Reuters. And, I might add, not exactly on the posts I would’ve expected to get picked up for republication.

Only the one click-through back to this site, though, and it’s pretty easy to see why when you look at how the pages show up; despite BlogBurst’s claim of helping new people discover your site, there aren’t many links back to the post source at all, and most of them are obfuscated by BlogBurst along the way.

I see that Rodale is on the list of BlogBurst publishers. It would be vastly amusing to me if one of my posts showed up there.

Now Playing: Daisy And Prudence from Distillation by Erin McKeown

Technorati Tags: , , , , , ,

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

March 21, 2008

My algorithmic good name

A few weeks ago I noticed that traffic for this site has been plunging. I used to average just over a hundred visits a day; recently (i.e. the past week or so, though the trend started three or more weeks ago)it’s been less than half that. It’s easy to see where the change is: when traffic was higher, I was getting slightly more than half my traffic from search engines, mostly Google. Now, search engine traffic is somewhat less than a third of the much-diminished total; that translates to about a quarter of the traffic it used to be.

In the grand scheme of things, this isn’t a big deal; I like being read, but the search engine traffic is not regular readership. I don’t have advertising on the site, so the reduced traffic isn’t hitting any revenue source. However, eventually this site’s position on search engines affects other sites I link to in which I do have some financial interest, specifically the various CMI projects. So this morning I tried to track down what was going on.

Google’s Webmaster Tools tell me that I’m still listed. However, when I look at the “Top 20 queries in which my site appeared”, I find some odd stuff. In the top 10, I find terms like “free ringtones” (#2; I’m the 206th result) or “wallpaper” (#3; I’m 902nd) or “free ringtone” (#5; I’m 108th). I maintain an attitude of puzzled bemusement towards the ring-tone economy (why would I want my phone to sound like anything other than a phone?) and I’ve certainly never written about it. Why on earth would this site come up in searches for these terms?

The answer seems to come from Technorati. They find a slew of sites linking to me; some the expected other weblogs, but a few unexpected ones (hello, California Library Association?) which appear to be nests of comment spam. And that comment spam is… linking to this site. Using terms like “free go phone ringtone”.

Because, of course, you can find that stuff here, right?

My best guess is that this is meta-comment spam, that the spammed comments etc. were meant to link to similar comment spam on this site. But, of course, I filter that stuff. (At considerable cost to my blood pressure, I might add. Such is the cost of being a good internet citizen and taking responsibility where others won’t.)

My hypothesis is that since I appear to be the “beneficiary” of this (these) spam run(s), I’m getting penalized in the search results. One more reason to love spam. Don’t you?

Now Playing: Cowards from Abigail by The Nields

Technorati Tags: , , ,

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

February 19, 2008

Sometimes higher pay comes with higher pain

I don’t serve ads on this site, and every now and then something comes along that makes me positively happy about that. There are ads on, a site I have no formal connection to other than sometimes writing articles or tweaking the templates when A doesn’t understand them, and I’m now on my second installment of “updating” the ad tags at the request of her ad network, which will remain nameless for now. (It pays better than Google for this site.)

The problem is that, for the second time, the tags they’ve sent are buggy. I’ve yet to install these tags and have them “just work” the way, for example, Google stuff (e.g. Analytics) does. Every time I make the template changes, save, load the page, and … blankness. This time I fired up Firebug and saw a slew of code in the head section of the page which simply does not belong in a page header. (Images? Hello?)

I don’t get paid enough to debug these folks’ code for them, so I reverted the pages to the “old” tags, and sent back a nice detailed email telling them which flavor of fail they had shipped and requesting troubleshooting. I wish I could’ve used the phrasing I had in mind, which was somewhat more terse and called their ability to write functioning code a bit more directly into question.

The other annoying part about this company is that when they get email from me, they tend to reply directly to me without copying A, even though I’ve copied her on every message I send, and her address is at this particular domain and mine is not. It’s as though they’ve decided that since I have a male name, obviously I must be the one who’s really in charge. Last time I specifically asked them to copy her on every message; let’s see if they are a snuggly enough bunch of pandas to remember.

Update, 20 Feb.: Cynicism wins again: they forgot.

Now Playing: Monster Ballads from The Animal Years by Josh Ritter

Technorati Tags: , , ,

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

February 14, 2008

More specifics about the good news

If you look at the domain at at the time I’m posting this, you’ll get redirected to a page on, the pages of Italy’s oldest and most successful cooking magazine. If you look at them sometime in the afternoon of Friday, February 15th (“tomorrow” as I’m writing this) you should see the first stage of the site we’re building for their U.S. edition at work. (This is the “big, new job” I mentioned a few weeks ago.)

Monday we’ll start in on Phase Two. Phase One would’ve been much easier if we hadn’t spent quite so much time building foundation for Phase Two, but Phase Two is where we go from “just above the minimum you’d expect from a magazine’s website” to “hey, this is pretty cool,” so there’s plenty to do before our next big deadline.

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

January 30, 2008

Nonspecific good news

We’ll make a more official (and specific) announcement in a few days on the company blog, but the victory of the day is that CMI has a big, new job. I’m once again working for someone I worked for (though not directly) in my first post-college job. And this job means paychecks will be reliable for a few months, maybe through the end of the year.

It’s a big job, and we’ll have to put in a lot of time and learn some new tricks. But oddly enough, I think we’re up to it. When people asked how I felt about starting the company, back in June, my stock answer was, “I’m excited and terrified.” It was almost my personal mantra. I’m a little less terrified, now, and a little more excited.

Now, about this job—that, I’m excited and terrified for.

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

January 2, 2008

Self-promotion, redux

A few months ago I wrote about how I’d seen a dizzying rise in the Alexa ranking of this site (it’s now around 440,000th, putting me in the top half-million sites on the internet) simply by installing the Alexa plug-in for Firefox and thereby reporting my own daily web browsing for Alexa’s statistics.

In our various explorations of site promotion tools (have I mentioned that I work on this website?) we discovered another website ranking company, Compete, which uses both self-reported traffic from browser plug-ins (a la Alexa) along with ISP logs and other data closer to the backbone to arrive at another ranking number. Naturally, we want to be ranked there as well (many reports average the two rankings), so we want to report our daily traffic to them.

To do this, rather than install the Compete plug-in right next to the Alexa one, I replaced the Alexa plug-in with one from This reports data to both Alexa and Compete, and also shows sites’ rankings on both services (plus their Google PageRank, an added extra.) Judging from what I read on, it will take a while for them to accumulate enough data to rank some sites (this one, for example, is still unranked) but the more people who visit with this plug-in or Compete’s own, the sooner (and higher) it will be ranked.

Technorati Tags: , , ,

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

December 13, 2007

Unanswerable questions

I’d love to know why I’m getting (on average) two visits a day to this site, over the last week, referred by the search string chain grease.

Sure, I’ve mentioned bike chain lubrication a few times (including alternate uses for the gunk, which seems to be when this all started) but why restrict the search to this site?

Now Playing: Saint Simon from Chutes Too Narrow by The Shins

Technorati Tags: ,

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

December 10, 2007

Tell us about your running shoes

At work, we’re getting close to a working state on our latest project. Simply put, we’re trying to recommend running shoes without having to ask a user a question they don’t know the answer to. Rather than asking things like “How much do you pronate?” or “How high or your arches?” the only thing we hope to ask is, “What shoes have you run in before? How did you like them?”

The hitch is that first, we need a bunch of people (I’m not sure how many, but probably a few hundred will make a good start) to tell us how they like their running shoes. If we can use that as “training data” for our system, we can start making some recommendations.

There’s a slightly more detailed explanation in my announcement and call for reviews on the company blog, if this piques your curiosity, but the short story is this: if you run, I’d love it if you’d drop by Common Running, sign up, and review your running shoes. You should be able to sign in and plug in a few reviews within five minutes. We may not have your shoes listed; I figure we probably have less than half the currently-available models in the system right now. In that case, we’d like to hear about that as well; it will help us find the models we’re missing.

If you have a running blog, I wouldn’t mind it if you asked your readers to drop by, either, of course!

Now Playing: Hotel Womb from Starfish by The Church

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

November 22, 2007

No more "beta"

We took the “beta” off the Common Kitchen logo this week, which is good, because it was annoying me. (Gmail has been “beta” for over three years now, which tells me that the label means nothing anymore… and I don’t like using meaningless labels.)

What it does mean is that we’re pretty close to where we’re going with the site—I’d say over halfway, but the other half is really behind-the-scenes and interface pieces to make the site more useful and more powerful, not big shiny features from the user’s end. Just in time for a big feast day, right?

So we posted a press release and sent an email yesterday, and now we’re working out our next steps. We have a long list of tickets to attack for CK, and some other projects in the pipeline to pursue.

If you’d like to give Common Kitchen a look, though, come on by; we’re ready for you. (You can add the Facebook application, too, if you’re into that.)

While I’m talking about work, I’ll add that we recently did some blog organization at CMI (shorthand for Common Media, Inc, our company.) We pulled all the tech-geeky stuff about development, etc. out into the CMI blog, so the Common Kitchen blog could be more focused on the sort of thing you’d expect to read there, i.e. the site itself, and food in general.

Technorati Tags: , , , , , , , ,

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

November 12, 2007

And another weblog

I have another blog now. We recently added tools to Common Kitchen to allow all our users to run blogs on the site, not unlike the journals of users. Because the site is set up to require sources for recipes, we needed a way for users to list recipes for which they didn’t know the source. The solution we settled on was to create weblogs which would, in essence, provide a source for every recipe posted in them.

I’m not a tenth the cook Audrey is, of course, but I had to post a few things—like the detailed pizza recipe from my pizza—just in the name of testing, of course. I’ll post more when it occurs to me. If you’re interested in sharing your kitchen experience, come on over. Trust me, I’ve set a pretty low bar.

Now Playing: Next to the Last Romantic from The Historical Conquests of Josh Ritter by Josh Ritter

Technorati Tags: , , ,

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

October 31, 2007

Popularity is unpredictable

I spent a few minutes this morning trying to figure out why this site has seen a surge in traffic over the past few days. It’s not as though I’ve been posting anything particularly interesting (at least, aside from the generic World Series post, which may have set some kind of all-time record; there’s a nice spike in the traffic graph around that posting.)

It turns out that I’m the top three Google Image Search results for cat face jack o lantern thanks to my original version around the time of the Sox’ last World Series victory. (Since then, I’ve been posting my images on Flickr, so the subsequent versions don’t direct traffic here.) (Anyway, this one is better.)

All of which goes to show how pointless it would be to try writing a personal weblog with the intention of attracting traffic. All my pages which are most-found by searches are ones I never would have predicted as high-traffic pages; the frequently-linked ones puzzle me as well. (There was a big spike last month when this page got cited in a comment—a comment, for pity’s sake—on Metafilter.) What’s more, they’re almost inevitably the older pages on the site.

If I considered traffic a measure of success (I don’t), and this site a success (I do, but by different measures), I’d be writing a book about “how to succeed in weblogging” which recommends throwing a lot of random stuff up and then waiting three years.

Now Playing: The Precience Of Dawn from Reconstruction Site by The Weakerthans

Technorati Tags: , ,

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

October 19, 2007

Unsolicited praise

While I am still at least a part-time resident of the Greater Boston Area, I need to say good things about Adam Gaffin and his site, Universal Hub. UH is a community blog which posts mostly brief summaries and links to news and blog stories from around the area; it doesn’t pretend to be an impersonal institution, but Adam also tries to keep it open for everyone’s contributions. He’s highlighted a few of my posts in the past, like my Olympic assignment last week, and I draw some traffic (and, in that case, nice comments) from that, which is cool. There’s often more discussion on the Hub as well, where the posts serve as the springboard for discussion; see this story from earlier this week, for example.

If you live near Boston—probably anything inside 495 counts, but inside 128/95 is definitely in range—it’s worth having Universal Hub in your feed reader. Adam does a great job highlighting what everyone else is doing, and it’s a good way to keep in touch with what everyone else is talking about, and get introduced to other reading outside your own list. (For example, UH led me to the motorized surfboard shot I linked earlier.)

Now Playing: Golden by Radio Nationals

Technorati Tags: ,

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

October 5, 2007

Pipes are cool

I’m late to the party on this one, I suppose, but I recently discovered the coolness which is Yahoo! Pipes, and I feel the deep, geeky need to share.

I’ve read about Pipes for months (I even hinted about building one here) but I really only came to find them—and see how easy they are to use—a week or so ago. I’d been putting together a bunch of feeds for Common Kitchen, and the nature of their creation meant I had a feed which had cookbook objects, a feed with recipe objects, etc., but it was very difficult to create a feed with different kinds of object. So, in order to put together a “unified feed” with everything that’s new on Common Kitchen—a concatenation of the existing feeds—I turned to Pipes.

Pipes let me take the five or six feeds of interest, slurp them all into one big blob, sort it by date, then truncate the result to a reasonable length. Presto: a unified feed.

Intrigued, I built a similar pipe which combines most of the feeds linked from this weblog: the main site feed, the comments feed, my Flickr photostream, and my bookmarks feed. One feed to rule them all, one feed to bind them…

But Pipes are good for more than just combining feeds. Say you’ve had enough of reading my ramblings on technology that’s so last month (or, what’s a feed, again?) or folk singers with horn sections, and you just want to read what I have to say about running. I wouldn’t endorse such monomania myself, but it would be pretty simple to create a pipe which filters out all but the “running” category.

Why “pipes”? Because in the Unix world, the “pipe” character—the vertical bar you get from shift-\ on your keyboard—tells the operating system to take the output of one command and “pipe” it into the input of the next. By chaining a series of simple commands with pipes, you can build complex and powerful operations. That’s what Pipes is doing: allowing several simple operations on data to be chained into a powerful system.

(Tell me again: what’s a feed and why should you care?)

Now Playing: Fighting In A Sack from Chutes Too Narrow by The Shins

Technorati Tags: , , ,

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

October 3, 2007

Literal self-promotion

When we were first writing the business plan, in January, I spent some time researching traffic numbers for various websites. These numbers generally aren’t widely available, so the next-best option is to work with Alexa, Amazon’s traffic-monitoring service.

In the course of this, I looked in to how Alexa measures traffic to various websites. The principal route seems to be by asking volunteers to install a browser toolbar or plug-in which then phones home to Alexa with your browsing data. Alexa then assumes that the users reporting their traffic are a representative sample of the whole population of internet users (which is, in the circumstances, one of the only reasonable approaches to take.)

This is effective enough when it comes to ranking the top 10,000 or so websites. However, once you get far enough down the scale, one user can have a disproportionately large effect on the overall ranking. This site, for example, was unranked for the first three years of its existence. Since I installed the Alexa plug-in, however, it has jumped to #547,291—an “improvement” of 750%.

Now Playing: From Time To Time from Live Light (France, 11/1994) by Ride

Technorati Tags: , ,

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

July 11, 2007

Firebug and page layouts

Since the holiday weekend, the only thing that’s really going on around here is work. Common Kitchen is evolving like a weed in its Subversion repository, with 236 revisions as of right now and well over 200 tickets in Trac. We’ve become obsessive about closing tickets, and since we implemented Trac’s milestones feature, watching the roadmap.

Our decentralized working pattern means we don’t spend a whole lot of time looking at one screen and talking about how things look, and there are a lot of tickets saying things like, “That green went away? What happened?” Last night I spent 45 minutes tracking down a CSS bug, and part of that time was finding the right tools to diagnose the problem.

Let me save you some time. The tool is Firebug. Firebug is a plugin for Firefox which opens a bottom-of-the-browser window allowing you to browse page source (in the same sort of collapsible-tree format as Firefox’s DOM inspector), highlight portions of it, and see which CSS rules apply to that chunk of code, in order from strongest to most distant inheritance. In other words, it lets you back-track up the cascade. Rules which are overridden are shown, but struck out, so you can pick them out as well.

By showing me that some rules simply weren’t being applied, I was able to go back to the CSS validator to figure out what was buggy about my stylesheet, and solve the problem. And now that I know how to attack the problem, I find myself popping open Firebug all the time to check out why things are doing what they’re doing. It’s a neat idea, and a very helpful one.

Now Playing: Paralysed from Nowhere by Ride

Technorati Tags: , , , ,

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

July 6, 2007

Help wanted

…but not (yet) at Common Media. One of my former colleagues pinged me with a job description for what my former job has now become. If you like running, grok the web to the point where you can “view source” on a web page and have a clue what you’re looking at, and believe that if something is worth doing it’s worth doing as well as possible, ping me and I’ll send along the link.

Now Playing: What Are You Waiting For? from Back to Me by Kathleen Edwards

Technorati Tags: , ,

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

June 16, 2007

Unintended consequences

I started this page as a sort of destination for the stories nobody I knew was interested in. (Nobody wants to hear about troubleshooting, for example. Nobody wants to hear my swimming stories except my brother, and he’s usually there when they happen. And so on.)

Now, though, enough people who know me read this that I’ve had the experience, more than once, of starting in on a story and having someone say, “Yeah, I read that on your blog.”

Now Playing: Got A Message by The Latebirds

Technorati Tags:

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

June 7, 2007

Work blog

I should add that, pursuant to my threat a few weeks ago, there is now a company weblog. If you’re interested in our development and progress but not willing to commit to the user-survey mailing list, drop by there and subscribe to the feed.

I haven’t gotten around to applying anything other than the default Kubrick skin to the WordPress installation, but that will come when there’s less Actual Coding (tm) to be done.

Now Playing: Hiroshima Mon Amour from A Box Of Birds by The Church

Technorati Tags: , , ,

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

May 31, 2007

Food bloggers?

Despite my sparse posting, I have not disappeared. Right now I’m waiting on a long file download.

  • I don’t flatter myself that I know much about (m)any of you who read this, so I’ll just toss this out: if you keep a weblog and write on a fairly regular basis (i.e. once a month or more) about cooking, restaurants, etc., please visit Common Kitchen and drop Audrey a line. Spasebo.

  • I don’t have time to implement this trick right now, but it amuses me: replace the “Frequently Searched Posts” with a list, updated monthly, of the top five or ten search terms which found this site in the previous month, linked to the post(s) they presumably found. Could get recursive. (Pool Running is my current #1.)

Now Playing: Turn the Lights On from Into the West by Pilot Speed

Technorati Tags: ,

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

May 24, 2007

Milgram was right

On an online community centered around (but not limited to) alumni of my college, I ran across the author of an interface library I’m attempting to use for this project. Finding him out of context was a little disconcerting, but the more I think of it, not too surprising given the level of interconnectedness we reach now.

Now Playing: Dying For More from Be A Girl by The Wannadies

Technorati Tags: , ,

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

May 16, 2007

New and improved

The City of Medford has dramatically improved their website since I last complained. It’s not perfect; I can find out how to recycle a television with only two clicks from the front page, but I need to make at least one good guess. First, I click “Recycling Information,” but then I need to try “Frequently Asked Questions” to find out that I need to buy a $20 recycling sticker and arrange pick-up of the stickered television. I discovered that only after trying “What can be recycled?”, “Ten Ways to be a ‘Trash Terminator’”, and “Household Hazardous Waste” unsuccessfully, plus a diversion into the Public Works Department’s “Trash Talk” page.

They’re definitely improving, and this new page is about fifty times more useful to me as a Medford resident than the old page. (I was able to print a schedule of recycling days, for example; I spent all of 2006 putting out the bins based on whether I’d done it last week and whether the neighbors did.) I’m still the number one search-engine hit for “medford parking sticker” and number two for “medford parking permit,” though, and that question still isn’t answered anywhere on the city site.

Now Playing: You’re Not Very Well from Some Friendly by The Charlatans

Technorati Tags: , , ,

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

May 14, 2007

You know you're a hopeless web geek when...

…you find one of those pages where an improperly-closed <strong> tag means two-thirds of the page is in boldface, and you can’t read it unless you download the source and fix the tag in your local copy.

Now Playing: Circus Envy from Monster by R.E.M.

Technorati Tags: , ,

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

April 3, 2007

You can fix things by whining about them online, Part 3

Sunday evening I posted a cranky evaluation of tax software and my misadventures with it this season. This afternoon, I got a nicely-worded email from an H&R Block project manager thanking me for the detailed feedback, “because that’s the best way to improve the product year over year.”

I have to imagine, because taxes are inherently frustrating and any related hitch doubly so, that they get a lot of irate feedback. Even if this is a form letter—I say that because of its length, not its tone—responding politely like that is classy. It’s good to see a big company adapting to change rather than fighting it.

(See part 1 and part 2.)

Now Playing: No Fear from Everything Changed by Abra Moore

Technorati Tags: ,

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

April 2, 2007


Professor Σ is away until Wednesday. This has been fairly common this semester, due to his long list of non-class responsibilities. In the class I TA, we had a visit from Career Services once, and a midterm review (which I ran) last time.

Tomorrow, I’m lecturing. Fortunately, not on our recent class topics (lambda calculus and denotational semantics) but on something a bit more practical: programming for the web.

I wrote up a brief outline, and now I’m hacking together slides in Keynote. I have to say, I’m hugely impressed with people who can lecture with slides twice a week. This is an incredible amount of work! I can only hope someone learns something.

Now Playing: Red Army * Blues (Song Of The Steppes / Red Army Blues) from A Pagan Place by The Waterboys

Technorati Tags: , , ,

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

March 27, 2007

More on the sushi

A few weeks ago I mentioned the candy sushi. There’s a longer, more detailed post about them online now, for that fraction of you who read French. (OK, there are also photos for the rest of us.)

Technorati Tags: ,

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

February 25, 2007

Your own personal monster

I was getting tired of the blue Gravatar icon coming up for the many of my commenters who never signed up with them. So I installed MonsterID, and made a few little hacks to my local copy of the Gravatar plugin so that if you don’t have a Gravatar, you’ll be assigned a monster.

To expand a little bit, MonsterID randomly constructs a monster from a set of eyes, arms, legs, bodies, and colors. However, the “random” generation has a seed value, and if you give the same seed, you get the same monster. Just like Gravatar, I’m using a hash of the email address provided with the comment, but instead of using it as the database key, I use it as the seed for MonsterID. This means that if you provide the same email address, you get the same monster, and odds are microscopically small that anyone else will get an identical one. (If you don’t leave an email address, it will be truly random, possibly even across multiple views of the same comment.)

I’m still tinkering with the sizes a bit, but for now, enjoy the wonders of whimsical combinatorics.

Now Playing: So Much Water from End Of Amnesia by M. Ward

Technorati Tags: , ,

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

February 7, 2007

Nobody's paying attention

After some minor wrangling, I managed to get my image-hotlinking prevention access rules (based on these instructions) working properly sometime last week.

I still see the dozens of requests referred from various profiles in my logs, but the percentage of total traffic by byte is way down relative to the number of requests. It’s obvious that nobody is paying attention to what happens when they try to include the images. I’m seeing profile after profile with broken images in the comment boxes where they’d hoped my images would be.

Ha. I win.

Now Playing: Mesmerise from Mesmerise by Chapterhouse

Technorati Tags: , ,

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

January 29, 2007

Another reason I wonder why eBay is still in business

It doesn’t take too much time spent on eBay to realize that the site is riddled with scams and fraudsters. Why else would they have so many links and “safeguards” in place to “protect” their users?

I’m not suggesting that eBay deliberately encourages scams, or that they don’t care about fraud. I am suggesting that eBay has accepted a certain degree of fraud as an unavoidable cost of doing business, and that they don’t really care about their users being defrauded.

For example:

  • Check out the feedback for the user whose account was supposedly “hijacked” to bid on our camera. Three positive feedback notes from small purchases, then a wave of negatives and neutrals for expensive electronics. I doubt, frankly, that the account was ever legit in the first place; I think someone started it, made some small purchases to establish a positive reputation, then launched a wave of attempted frauds before discarding the account. There has been no response from the “original” user.

  • We re-listed and sold the camera for some $50 less than the next-best legitimate bidder on the original auction bid. eBay refunded the “final value fee” for the fraudulent auction, but I had to pay for listing the camera twice. Total losses due to the scam, on the order of $60. eBay’s not coughing that up, I’m pretty sure.

  • eBay feedback to reports of incidents tends to be along the lines of this incident: send a form letter, make the defrauded party jump through hoops to get partial restitution, etc.

  • Here’s another story of a serial scammer who was still “in business” on eBay long after local law enforcement had started investigating him for numerous frauds. eBay makes it difficult to leave negative feedback, which keeps innocent users from being smeared, but also discourages victims from speaking up about being scammed, and its hands-off attitude tends to let the criminals off scot-free.

I increasingly think it’s a bad idea to do business with anyone who has less than 99.9% positive feedback, because if 1 in 1,000 users left negative feedback, there are probably ten to fifteen more who just ate their losses rather than jump eBay’s hoops.

I eBay 100% bad? No. Is it a scam magnet? Hell yes. Are most of their buyer protections security theater intended to provide the appearance of safety, rather than any actual protection against criminals? Undoubtedly. Will I avoid it for any transaction likely to go over $200? You bet.

Now Playing: Deacon Blues from A Decade of Steely Dan by Steely Dan

Technorati Tags: ,

Posted by pjm at 10:24 AM | Comments (2)

January 19, 2007

Around again

I’ve been too busy to wrap up the story of the errant camera.

eBay spotted the fraud not long after I did, and cancelled the bids administratively. Apparently the account belongs to a perfectly legitimate user, but it was “hijacked” (read: legitimate user’s password was compromised, possibly through phishing) and the winning bid was placed by someone else controlling the account. I’m betting that the intent was not to defraud me, but rather to convert the contents of an illicitly-accessed PayPal account into less-traceable merchandise as quickly as possible.

With that bid cancelled, I looked back down the bidding list. I checked out the second-highest bidder and found, after a long string of positive reviews, two recent negative reviews along the lines of, “Never paid for items AVOID AVOID AVOID.” So I sent a “second chance offer” to the third-highest bidder, some forty dollars down the scale from the original “winning” price. That was active for a day and wasn’t taken, so I’ve re-listed the camera.

I’ve registered a dispute for the original “sale,” since supposedly that’s what I need to do in order to get eBay to refund their charge on my account for the fraction of the sale they take as their cut. That, and the resale is really just tedious. Get this thing out of here, huh?

Now Playing: Sooner Or Later from Bang! by World Party

Technorati Tags: , ,

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

January 17, 2007

Export photography

I dusted off the eBay account last week to sell some accumulated stuff. The major item was A’s first professional digital camera, a Kodak DCS620 with no cards, no lenses, and just the one battery. The 620 was Kodak digital guts stuffed in the body of a Nikon F5, and therefore is a big, heavy monster of a camera, particularly next to the (relatively) sleek Nikon D series cameras A has been using since about 2003.

The price wasn’t bad, but things have started getting weird. The invoice address and the user’s shipping address don’t match, but they’re both relatively close to each other in the U.K. Then I got email from the email address listed with the buyer’s account, and it (a) uses a different name than the account does, and (b) asks me to ship to an address in Nigeria “for my son who is traveling in West Africa for a scholarship” and they’re in a hurry because they’re currently traveling in Portugal themselves.

By now the rat smells so bad you can probably smell it too. I’m now 95% certain this “buyer” is a scam, perhaps looting someone else’s PayPal account by converting it into expensive electronics. Here’s how I replied:

I can’t in good conscience send this camera for your son to travel with in West Africa. Did you read the listing carefully? This is one of the heaviest digital cameras ever made, and quite large even without the lens. There is no lens included in the sale, so I would have to assume you already own one. And West Africa, sadly, as you may know, has developed a reputation for fraudsters and scammers; a camera this large would be difficult for your son to protect. You should buy your son a smaller, less expensive camera where you are in Portugal, and send it to him yourself; as I’ve stated in my listing, I won’t be responsible for shipping overseas.

Let’s see how this plays out.

Now Playing: Departure from New Adventures In Hi-Fi by R.E.M.

Technorati Tags: ,

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

January 14, 2007

Hotlinking solved

I decided not to redirect hotlinks to my images to something obnoxious, though it would have been satisfying for a little while. (I was thinking of, “Image hotlinking suspended until News Corp. pays my bandwidth charges,” but I figure 90% of MySpace users wouldn’t get it anyway.)

Instead, I found this splendid technique which redirects outside requests for .*jpg|.*gif|.*png$ to a PHP script displaying the image with a text credit. Since this is served as text/html, it shows as a broken image if it’s embedded in another page; however, if you use a link to the image, you get the display page. This means you can link to the images, but not embed them in your pages.

Now Playing: Treatment Bound from Hootenanny by The Replacements

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

January 12, 2007

The power of search

And, within two days, I am the #1 hit on Google for “medford parking sticker”. (“Medford parking permit” gets a lot of noise from the University, which provides information about permits for parking on its Medford campus.)

Thanks to Google’s cache, I did find a page on the police department site which provides this information, but (a) it provides inaccurate information, saying the fee is $5 when it’s actually $10, and (b) to find it, you need to pick “Administration” (not “Traffic/Parking”) and then “Central Records,” neither of which are intuitive choices. (I sent an email to the site’s contact address noting both of these things, hopefully with a constructive tone.)

It’s tricky, as a site builder, to know how to steer people around your site. In this case, it’s probably worthwhile for the webmaster to consider five or six simple, common questions that people come to the site trying to answer. “How to get a parking permit” is one. “How to pay a parking ticket” (or traffic ticket) is another one I can’t figure out right away, and probably should be able to. (It turns out this happens on the city’s website, which is significantly worse than MPD’s.) There’s no point in making a site like this “sticky,” nor in pushing a lot of information most people aren’t interested in to the front page. And making the whole site easily indexable is key; I shouldn’t be able to grab the top spot in a search that easily.

Technorati Tags: , , ,

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

January 10, 2007

Someone needs to eat eBay's lunch

Someone with a lot of web experience and good venture backing needs to go in and steal eBay’s business.

I suppose I shouldn’t be saying this, since eBay’s founder is an alumnus of the University and has donated a big chunk of change over the last few years. But I spent an hour last night trying to post a simple item listing—with 45 minutes of that spent in a chat window with a customer service rep who never asked what browser I was using and spent most of the time trying to solve a problem which was, to me, secondary (and unnecessary) to the issue I was really having, to wit, the form validation was broken.

Let’s leave aside, just for a moment, the issue of eBay’s own design and layout. Let’s just think about the usability of the forms. If Web 2.0 has taught us anything, it’s that it’s possible to write easy to use forms which require the user to jump through a minimum of hoops to get things done. Also, we’ve learned that not all the internet is using IE 6.0 on Windows. So why am I facing a pseudo-Ajax form which insists that I need to enable PayPal for this listing when (a) it looks to me like PayPal is already enabled, and (b) if I assume it isn’t, there’s no clear way to enable it. (There’s no unclear way, either.)

And why am I faced with customer service which asks me to flush my cache and delete all my cookies before they consider that I may be on a Mac, and may be using Firefox? (Once they learned I was on a Mac, they actually suggested I try Safari instead, which was both amusing and horrifying—is eBay so much of a nightmare for Firefox on Windows as well that Safari does a better job?) I flushed the cache (can’t hurt much) but only deleted eBay and Paypal cookies—I’m not sure they trusted me to do that properly, but I don’t want to lose logged-in sessions on a lot of other sites just because eBay is broken.

So why can’t someone do this better? Well, there are significant barriers to entry, and one of them is brand recognition. Another is the massive ecosystem of small businesses living like barnacles on the eBay ship; how do you recreate them and all the business they send through the parent?

But oh, there must be an easier way to do this. (The same goes for buying airline tickets, while I’m at it.)

Update, 1/11: While I’m at it, can’t I get a feed of items I’m watching? How about items I’m selling? Why should I be bound to the My eBay page? How about better permalinks for auction items? Friendlier URLs, perhaps ones which don’t expose the underlying technology (what if eBay switched to Rails from the DLLs they’re using now? How about if they switch from Rails to something else? Do they break all the URLs?)

Now Playing: She’s So High from Leisure by Blur

Technorati Tags: , ,

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

January 5, 2007

Snappy comeback

I’m beginning to reach the point where I’m getting a little sick of seeing a quarter of my daily bandwidth go to images hotlinked from Myspace. It’s not like putting my URL on the images is drawing any new traffic, and Iz’s birthday-present photo is winding up on some pages which have to represent the bottom 10% of the non-pr0n web.

But more than anything else, I’m beginning to just resent Myspace. At the top level, the site is owned by News Corp. (i.e. a stinking rich media conglomerate) which sees it as a vehicle for aggregating and selling the attention of young people.

Which is fine by me; it’s certainly no worse than television in that regard. But when you put it that way, why am I being asked to contribute resources I pay for—even a small fraction of those resources—with no return? Let’s face it, Rupert Murdoch et al have a lot more spare change than I do. It’s high time I cut them off.

It’s pretty easy to redirect all image requests referred from to another image, and the methods are well-documented. But which image? I’m not feeling quite as vindictive as the guy who goatse’d Myspace (although that may rank as one of the widest-scale practical jokes I’ve ever heard about.) A few choice lines expressing my point of view would be sufficient. But which ones?

  • No taxation without representation?
  • It’s your space, but it’s my bandwidth?
  • Something else? Suggestions welcome.

Now Playing: Somebody That I Used To Know from Figure 8 by Elliott Smith

Technorati Tags: , ,

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

January 1, 2007

Looking back

I made very few tweaks to the wish list site this fall, but somewhere along the line my quick hack to add an affiliate code to any Amazon links actually started working. (I’m mystified as to how it works now but didn’t before, but I won’t question it.) Between mid-November and the end of December, affiliate fees from the Wish List rung up around $35, which is pretty close to paying my hosting fees for the past three Decembers. That’s pretty cool.

I’d particularly like to thank someone who put a massively expensive medical textbook on their Christmas list. (Unless there are other med students using this that I don’t know about…)

Now Playing: You Had Time from Out Of Range by Ani DiFranco

Posted by pjm at 10:30 AM | Comments (2)

Plans and decisions

I’ve been wishy-washy here for a year about what happens when I finish my MS at the end of the spring semester.

For the last month, it’s been increasingly clear that I’m not ready to move on to the Ph.D. For one thing, I haven’t lit on one area that sets me on fire, one thing I’m willing to devote three or four years of research to. Without that, I think going on is probably a bad idea for everyone. For another, the open doors have been closing; Professor β has decided I’m not such a great fit for her group (basically, my math skills are deficient, and I’d have to spend some time catching up,) and Professor Γ didn’t get the grant she wanted to fund me with. I could still try to work with Professor Σ, and I will be doing my MS work with him, but I’m starting way behind.

So it looks like I will take my paper in May and run. (Actually, I will be automatically rolled into the Ph.D. program, whereupon I will immediately go “on leave” for an indefinite period.) I’ve been talking with another student in the same situation, and he and I have been cooking ideas for a little website which we may try to turn into a going concern once we’re finished in May. I’ll post more as it becomes interesting. (Other than it being a website, it’s not an area I’ve worked in before, so let’s not get too excited yet. It’s the technology that interests me.) That will probably mean a lot of work, some of which is actually starting tomorrow.

But yes, of course this new project will have a weblog, too. Isn’t that the first thing after the business plan, nowadays?

Now Playing: Wings from Hello Starling by Josh Ritter

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

December 30, 2006

75 days of Facebook

Back in October, I signed up for Facebook. This experiment has led to some interesting results, some of which I anticipated, and others which I didn’t.

  • I expected I would wind up networked largely to “my” students, the CS undergraduates either in my classes or in the research group I’m a mentor for. Two of them have “friended” me, but the vast majority of my “friends” here at the University are from… the women’s cross-country team, through A.

  • For someone who spends as much time as I do writing letters (e.g. weblog posts) to people I’ve never met, I shouldn’t be surprised that I have six “friends” I’ve never met in real life.

  • I expected to see other adults-working-with-younger-people on my friends list (there are two coaches and an “academic advisor” there) but the rabbi was a bit of a surprise.

  • This was the second of three “social networking” sites I’ve joined which are explicitly about the networking. (Some others, like Flickr or, aren’t centered around the network; I don’t really count them.) The first I joined at the explicit request of someone doing research, and essentially let it sit (I log in perhaps once a year.) I turn out to be a bad network node, because I hate sending friend requests. What if this other person has different standards for what counts as a friend? What if they haven’t used the service in months and hate the emails? What if we have a different concept of our relationship? So I wait for my friends to telepathically sense that I’m on the service, and send me a friend request. Because I tend to be friends with people like me, you can imagine that this doesn’t scale very well. (This whole paragraph is a passive-aggressive invitation.)

Related to another project, I also joined LinkedIn, which I like simply because the whole point of the service is “grow your network.” I’ve managed to ping a whole bunch of college connections, one of whom has provided some useful advice already.

Now Playing: Girl In The War from The Animal Years by Josh Ritter

Technorati Tags: , , , ,

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

December 28, 2006

These aren't the pages you're looking for

In which I repeat a cheap and over-done joke because I still find it funny.

Search terms by which people have found this site (with answers):

  • how to get rid of saddlebagsUnclip them from your bike and put ‘em on Freecycle. Duh.
  • i ran until my muscles burned and my veins pumped battery acid once a runnerExcept that the quote is from Fight Club.
  • pdr swimming pride movie streamI’ve got nothing.
  • panic iconYou’re looking for this.

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

December 5, 2006

Stupid web tricks

Guess what? If you search either Google or Yahoo for “boloco medford hours”, this site is the top two links.

Obviously, the best place to find this information should be the actual Boloco site. Two big problems, though: one, it’s entirely in Flash, so Bog help any search engine trying to figure out what’s really on the site. The only plain text there is the title and the URL, which say nothing about hours.

And even if they did… the Medford location says only, “Opening in late November!”

Have I mentioned how much I love it when companies really get the web?!?

Update: They’re aware of the problem—see the comments.

Now Playing: The Whole of the Moon from This Is the Sea by The Waterboys

Technorati Tags: , , ,

Posted by pjm at 8:53 AM | Comments (3)

November 28, 2006

Short strokes

A few weeks ago—I forget the context—I used the phrase “short strokes” and then had to explain what I meant. (It’s a golf metaphor, apparently, and not in wide use; now I can’t figure out where I picked it up.) But now that’s the best way to describe the semester. There are two weeks to go, we’ve drawn up our checklists of what needs to be taught/programmed/completed/graded in that time, and we’re just trying to get to the end of it.

When a former roommate and I were toying with learning to play golf, we used to go to a local driving range once or twice a week. We never, to my recollection, ever actually played golf; we just went to the driving range. I don’t think he even owned a full set of clubs, just three big drivers. Putting is what’s fundamentally frustrating about golf; everything else is whaling the skin off a little white ball, which is satisfying if you don’t slice like I do. So we’d get a medium bucket of balls (each) and try to smack them out of sight until our shoulders were sore.

The presentation went off today, I was barely prepared and took my lumps for it. (The draft I handed in a week before has not yet come back; I expect to take some lumps there, too, but I’m hoping to at least have a final paper that stands on its own.) I have a slew of coding and lab-sheet-writing and re-experiment-running to do over the next two weeks; I have my checklist written, the list of due dates lined up like wood that needs splitting, but no map of when to split it. There is no driving left; it is all putting.

I’m not the only grad student scratching at putting together my data and making it work. Scott is gathering data for his research, too, and while you can’t help me gather data (unless you ran Boston last spring, in which case you already have, thanks,) you can help him, particularly if you have a weblog. Read, understand, and give him a hand; we can’t push the ball into the hole, but at least we can give him a good lie.

Now Playing: Little Wing from Still in Hollywood by Concrete Blonde

Technorati Tags: , ,

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

November 19, 2006

Bad user agent! No cookie!

Spotted this evening on

Bad user agent!

Funny, I thought Firefox was a good user agent…

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

October 29, 2006


I’ve long been annoyed by websites which insist on opening links outside the site in new windows. If I want to keep your page up, I fume to myself, I’ll open the link in a new tab.

But in the new Firefox (or at least the build I have) if a site attempts to open a link in a new window using the “target=’new’” strategy, the browser automatically opens it in a new tab instead. (New windows opened with Javascript are unaffected.) How ever-so-useful.

Now Playing: Blood Roses from Boys For Pele by Tori Amos

Technorati Tags: ,

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

October 26, 2006

The new Mac Firefox builds

For those who still find me when looking for opinions about Firefox on Mac OS X, I finally got around to updating the processor-specific build I’ve been using to the new 2.0 release. It’s no longer called Deer Park; now it’s Bon Echo.

Now Playing: Wild Flower from Electric by The Cult

Technorati Tags: , ,

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

October 15, 2006

Secret message to anyone tempted to include an automatically-playing audio clip in your web page

Don’t. Just don’t.

(In what contexts do you expect your audience to be viewing your page? In what contexts do you think your music, often blasting from their speakers at un-calibrated volume, will be appropriate? Odds are you’re going to tick them off more than entertain them.)

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

August 26, 2006

Open training data formats

While I’m shooting my mouth off about how other people ought to be doing things (and I’m incubating some more detailed and technical thoughts on that particular topic, incidentally,) I’ve had some cause to think about training logs, particularly online ones, in recent days.

I’m skating on pretty thin ice when I talk about online training logs. For one thing, I keep my logs on paper—six or eight of the John Jerome né Jim Fixx logs from Random House, a few more random notebooks, etc. This year’s log is an IAAF pocket appointment calendar, and has the dates of all the major international races in it.

Also, I was partly responsible for one of the uglier and less-functional running logs on the web, back in the day; I’ve blocked most of that experience out of my memory, but in a quick 20/20 hindsight evaluation, we tried to do too much fancy stuff without getting the basics right.

On the other hand, through that experience, I have thought a lot about training logs, and I’ve actually been paid to write a quick review of some PalmOS-based logs. (Remember?)

Here’s one problem with every computer-based log I’ve ever seen: every athlete tracks different data. There is no simple way of describing RDBMS tables to allow for every idiosyncratic log habit. You need to accommodate both the old-school runner whose log is simply a wall calendar where they check off days they ran (or, at most, note the time) and the new-school data hound who is uploading HRM data, has a library of regular routes, and is tracking mileage on three rotating pairs of shoes. (This is a puzzle in itself; you need an entire table for shoes.) I used to track not only weekly mileage but my mileage over a trailing four-week window. Different data is generated by different kinds of runs, ranging from a normal training run to track work to racing. And, if you’re not convinced yet, consider triathlon training.

The other problem is linked to the first: lock-in. Spend a few months using any log, and you have a few months of valuable training data locked up in that software without an easy way of getting it back out, even if the log isn’t doing what you want from it. Most web log developers see this lock-in as a feature, keeping users coming back week after week, but I think it’s a roadblock; users like me are reluctant to try new logs because we’re afraid we’ll be putting our training data in jail, like dropping money into a piggy bank that can’t be reopened. I’ve seen some logs nod to the idea of data export by producing flat pages of data which may be printed out. Printed out! On paper! Talk about regression.

And yet logging is a critical tool for runners of all levels. A log lets you step back from your day-in-day-out training and see what you’ve actually done; it shows your strengths and weaknesses, and it can show you where you screwed up and incurred injury or fatigue. A computer-based log offers the (as yet unrealized, as far as I know) potential to perform more intricate analysis, visualize data in clear and illuminating ways, and share both raw and summarized data with coaches and other advisors. It’s too useful a tool to be discarded simply because it’s difficult, and that’s why people are still trying.

So what we need is a flexible data model which allows a wide variety of data but mandates little, and applications which provide for import and export.

The thing is, I think it’s possible to create that now. Specifically, I think it’s possible to describe such a data model in an XML Schema or DTD. Any application implementation which could read and write XML data conforming to that schema/DTD would then be free to store the data however it chose (potentially competing on performance,) or even to simply leave the data in XML and compete on ease of use. What’s more, by divorcing the data model from the application, it would be hypothetically possible for athletes to maintain their own data store, adding training sessions using whatever application they chose (on whatever platform was convenient!) and viewing and analyzing the data using potentially different applications.

Developers would be freed from creating end-to-end solutions; because they would be working with a standard data model, they could create data input managers customized to specific athletes or training programs, analysis engines, or even coaching bots. They could stop trying to lock in the few early adopters, and compete on features for a potentially much larger market. Also, it would open the doors to apples-to-apples comparison of aggregate training data, which might give a lift to the creative training commons we discussed a few months ago.

This might count as wishful thinking, but I think it stands up. Creating the schema would take a lot of work, and getting developers to buy in would take even more. I think the rewards would be significant, though, and worth the trouble.

Now Playing: It’s All Too Much from A Box Of Birds by The Church

Technorati Tags: , ,

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

August 9, 2006

My bit for the Commons

Starting offI was a bit late in figuring it out, but it turns out I actually had a photo picked up for use on the web. LAist used one of my shots of a race on a beach in LA for this post around New Year’s.

Of course, I don’t get anything tangible from this, but it’s kind of amusing.

Now Playing: English Beefcake from Pleased to Meet You by James

Technorati Tags: , , ,

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

June 16, 2006

Finally, the Panic pays off

I just got another task for MPOW. Never mind that I heard about it at 6:30 PM on a Friday; I’m a grad student, I no longer have borders between work time and personal time.

This may be the first task in the ten months I’ve worked here where I’ve needed zero research to figure out what I need to do. They want me to install Movable Type. (Hmm, I’ve done that.)

But I guess they figured I needed some extra challenge, so this time, I get to do it on Windows.

Now Playing: Stripmining from Strip-Mine by James

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

May 29, 2006

A new star

For a long time, I could always count on one or two lines in my referrer log from people linking to the shot of Iz wrapping a present.

In the last few days, for reasons I really can’t understand, that one has been overtaken by the cat on the roof shot.

The internet works in mysterious ways.

Now Playing: Your Redneck Past from The Unauthorized Biography Of Reinhold Messner by Ben Folds Five

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

May 28, 2006

Posts I have mostly-written, or simply considered, but decided, for one reason or another, not to post, in the last few months

  • A run-down of my recent attempts at car repair.
  • Inordinately adorable photos of my nieces in their new Asian outfits
  • The apartment “cat detector”
  • Why buying a new pair of running shoes is best accomplished as part of a run
  • I’ve learned a lot about writing and compiling C
  • Complaining about the car alarms of people who don’t even live in this neighborhood
  • The utter lack of music stores in this end of Medford/Somerville/Cambridge
  • The things that spur Comp 11 students to take an interest in their grades
  • My differences of opinion with the IRS
  • Flying into Logan at night (vs. other “home” airports)
  • How a large fraction of this site’s traffic comes from searches finding stuff I’ve already written (and why, therefore, I needn’t write anything new)

Now Playing: No Thugs In Our House from English Settlement by XTC

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

May 26, 2006

Once more, with complications

I moved again this week. For various reasons to do with server software versions, the new web host wasn’t working, and A’s blogs needed to return to their original host, albeit with the new domain name.

One of the catches here was that in the previous move, we were going from one established (by which I mean, DNS pointing to the appropriate host) domain to another. This time, I was moving from an established domain to one which was not established. This isn’t difficult by itself; there are plenty of ways to move files, and I did spend a good chunk of time synchronizing files between the two hosts.

More problematic was shifting the database. To begin with, I could only access the database at the target host after I’d shifted the DNS. (I had to create a new database, rather than refreshing the old one, due to the domain name change.) This introduced a lag into the transition, which was troublesome but not a crisis; since the sending host was already effectively unusable, having the target host unusable as well wasn’t the end of the world.

The bigger issue was the upper limit on the size of import files to the new database. This host sets a 10MB limit on the size of files which can be imported into its databases; the export file from the database is on the order of twice that. I tried breaking it into smaller files, with little success; I got the table structure, but large numbers of entries and comments weren’t imported.

Finally, I tried running the export table by table, with one file for each table, and running the import in the same way. The mt_entries table, which holds the actual text of each blog entry, was still prohibitively large (12MB,) so I broke it into two pieces. It still took some time to import; I also spent a chunk of time combing through the files with grep to find links to the old domain and update them. (I didn’t change all of them, since the domain is still in use, but I changed quite a few.)

Once I was satisfied with the database import, I went through and “rebuilt” each blog, which is simple but tedious. I also discovered one thing I should’ve corrected in the database file: the absolute path of the weblog root and the archives is stowed in the database, and when you shift from one host to another, that changes. I’m manually changing it, blog by blog, before the rebuild.

During the course of this, my laptop again began to get significantly hot. This time, I went to the freezer and got out a bag of dried something (corn? peas?) used for icing balky joints, and put the laptop on it. So far, this has helped significantly.

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

Posted by pjm at 6:09 PM | Comments (3)

May 17, 2006

One guy and a hot laptop

There’s a moving company in Amherst that goes by the name, “Four Guys & A Big Truck.” They have more than one truck now, and I suspect more than four guys (though there’s always some daydreaming about a complicated scheduling scheme, like the Greek theater three-actors-on-stage rule, which prevents more than four guys working at once.) The point is, they specialize in household moving.

Tonight, I picked up A’s blogs and moved them from one domain and one web host to another domain on another host. It took a bit more than three hours, all around. Here’s how it played out:

  • We had the new domain already running on the new host. I installed Movable Type there this afternoon.

  • I did a “dump” of the MySQL database from the old host. The “dump file” is a lengthy string of SQL commands needed to recreate the database on another server; it weighed in at 38MB, but downloaded surprisingly quickly.

  • I then imported that dump file at the new host. If I was doing this on machines I’d set up myself, I’d be using the command line mysqldump and then using the dumpfile as stdin for a mysql run, but in this case I used the provided phpMySQL, which may have slowed things down a bit. At any rate, this process is slow: something on the order of half an hour.

  • Meanwhile, I slowed it down even more by going through the old directory tree via FTP and downloading all the files which wouldn’t be part of the database download: graphics files, generally, but occasional static HTML files as well. I created empty directories for each blog on the new server and started uploading these extra files into those directories.

About midway through this process, I realized it would be faster if I jacked an ethernet cable directly into the network rather than using the wireless, and sure enough, things picked up at that point. With two FTP processes running, plus the MySQL import, my machine was getting downright hot, not because it was doing a lot of computing, but because it was squeezing a lot of data through the network stack. Isn’t it Boyle’s law which explains how compressed data is warmer than uncompressed data?

  • Once the database and all the files were uploaded, we were able to log in to MT (with all user logins and passwords intact!) and simply issue a “rebuild site” command for each blog to regenerate the main pages, archives, etc. Some of these took longer than others, but once they were done, we had working weblogs on the new server.

  • At this point, I dropped an .htaccess file on the old server with a block of mod_rewrite directives which send any traffic headed for the old site to the correct new address. Result: no broken links.

  • Then I spent some time checking to make sure everything more-or-less worked, comments were going through, and I’d found most of the non-database pages.

I think that’s the fastest address change I’ve ever been involved in.

Update 5/18: Bonus: because the mod_rewrite block causes the old server to return a “301 Moved Permanently” error along with the new URL, NetNewsWire has automagically changed my subscriptions. I’m betting Bloglines does the same.

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

May 12, 2006

Deer Park vs. Safari

Back in January, I switched my default browser again. I’ve gone back and forth between Camino and Safari in the past, and sometimes flirted with Firefox. I’ve been intrigued by the architecture-specific builds of Firefox, the so-called “G4-optimized” versions, so I finally tracked down and installed Deer Park. Then the semester started, and I never went to the trouble of wrapping up the experiment and switching back; I’ve been using Deer Park for months now.

Deer Park is so called because it’s not an official QA’d build distributed by the Mozilla Foundation; it’s an exercise of open-source rights, the product of a few determined people downloading the Firefox source code and building it. (Why? Because MoFo, preaching the message of simplicity and evangelism, has to produce a single Firefox binary which works on all Macs. But there are G3s, G4s, and G5s out there, as well as a growing number of Intel Core Duos, and it’s potentially possible to make a lighter and faster browser by compiling binaries specifically for each architecture.) There’s some identity issues as a result; for example, the browser identifies itself as “Firefox” in my menu bar, but as Deer Park in the dock.

Last time I played with Firefox, I was left with three problems which kept me from making it my full-time browser:

  • No go-away button on the tabs. I like that in Safari and Camino.
  • No keyboard shortcut for “go to home page.”
  • Windows-like form widgets, not Mac OS Aqua widgets.

The Deer Park build I installed offered a choice of builds with Firefox widgets or Aqua widgets! I cheerfully grabbed the Aqua-widgets version and checked that item off the list. I’m not sure if it’s actually faster than the MoFo build (or, for that matter, Camino,) but it solves this problem, so it’s worth the custom build. Then, I found and installed the TabX extension and checked the “go-away button” problem off my list.

Keyboard commands remain an issue, and there’s a bug in Bugzilla for them. The problem, as I see it, is that on the Mac, splat-shift-H means “Home.” That’s the case in the Finder, Safari, Camino, and nearly any other application with the concept of a “home” state. In Firefox—and, importantly, on Firefox on Windows—that key combination opens the history. It turns out that many Firefox developers think it’s more important to be consistent between Mac and Windows within Firefox than to have Firefox be consistent with other Macintosh apps; I’m not sure I agree with the reasoning, but there it is. Another key combination that’s missing is one to allow users to cycle left or right through their tabs; in Safari, splat-[ and splat-] do this. This is still an annoyance to me, to have to go to the mouse or trackpad when I’m used to doing nearly everything with the keyboard. I’m slowly getting used to alt-Home as the “go to home page” key combination, but it’s even harder when I’m using the Powerbook keyboard (where “Home” is mapped to the left-arrow key) because I need to do fn-alt-left instead; I can’t train my fingers to both combinations.

I wound up discovering a few more annoyances along the way. For one thing, Safari allows you to designate a helper app for RSS URLs, and I liked being able to click the “RSS” or “ATOM” buttons and have them plopped right into NetNewsWire. Firefox, and consequently Deer Park, want to handle the feeds themselves. I haven’t figured out a way around that yet, so I’m back to click-copy-paste. I had a similar issue with integration; Cocoalicious would grab URLs directly from Safari, but not Deer Park. I worked around that in a way I hadn’t expected: I installed an extension which added that function to the contextual menu, so I can just right-click (ctrl-click) on a page and post; I don’t even need Cocoalicious anymore.

Which leads me to the last point, the one which may override all the other annoyances: Firefox extensions work just fine. Aside from the two I’ve already mentioned, I also put in the BugMeNot extension and ForecastFox, most notably. I skimmed Julie’s list for recommendations, and while they don’t always make up for the remaining annoyances, they’ll be hard to give up if I do go back to Safari.

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

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

May 1, 2006

Virtual community

I’ve half-written posts on this topic before. Can’t really express it well, but thinking about it more doesn’t seem to get me anywhere, either, so maybe you can see if this explains what I’m getting at?

Joan paid me a nice compliment a few days ago, including me in a very short list of daily reads. I’m more interested in the context, though, because it hits pretty close to a sort of personality split I’ve had over this site ever since I started it.

Like most bloggers, I have favorite sites I visit every day (…list…) which creates a feeling of community (in my mind only, perhaps… uh, that’s a little scary if you think about it—not unlike hearing “voices”).

I think this is the common theme: that we’re posting a few words on a regular basis in the hope of contributing to some kind of community. The weirdest part is that we probably don’t know to what degree we’re successful. I had no idea Joan checks in here, though it’s not surprising; I can probably name four or five people I’m pretty sure are reading a given post, but there are probably three times as many I don’t know—won’t ever know, in fact.

Now, we tie in two more ideas: Ralph’s comparison of weblogs (which he calls “Blogistan,”) with the old watering holes of Usenet. (If you don’t remember Usenet, don’t worry.) Grossly oversimplified, Ralph’s point is that weblogs are a lousy tool for building communities.

More recently, Sherry’s “Please check in” post. Stay of Execution is a contender, among my regular reads, for best community; Sherry has somehow attracted and retained a (relatively) large, positive audience, and also has a curious talent for speaking to us/them in a way that both allows us to feel like we’re part of this larger community, but also has a tone as though every post is written just for each individual. Late last week she asked, for reasons unknown, for us to stand up, raise a hand and introduce ourselves; last I looked, there were nearly 130 comments on that post. 130! That’s a bit larger than the little dinner party I was imagining in my head.

The reason I find this fascinating is that I’m perpetually curious about what kind of ripples are coming from this site—in Joan’s term, whose minds I’m speaking in. Yet I consciously avoid trying to measure it overtly. I don’t write like Sherry does, in a way that encourages response and interplay between readers; you can see that just by looking at the comment counts on my posts. This site is not a community in itself, and I think if it was I’d be so self-conscious I’d be perpetually blocked. Instead, as Joan describes, I’m more of a voice in a community you’re each putting together yourselves.

And the tradeoff is that I have no idea who [most of] you are, when you’re reading, how closely, why, etc., and I feel like there’s a sort of observer effect at work: if I ask, it will change things.

So you could say that this entire site—much like the one Joan cites in the body of her post—is a venture in getting comfortable with things I can’t know.

Now Playing: Underneath The Bunker from Life’s Rich Pageant by R.E.M.

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

March 28, 2006

Tim Berners-Lee and web hopes and fears

Tim Berners-Lee gave the Richard E. Snyder President’s Lecture this afternoon. I was tempted to sit in the front row and gaze admiringly on him—after all, his invention rendered me employable—but I thought better of it. Supposedly, a audio-video stream of the event exists somewhere, but it’s nearly impossible for me to find. Berners-Lee’s prepared notes are online, though they’re only the barest outline of what he said.

President Bacow did the introduction, and compared Berners-Lee to early colonists in America, around whose labors new communities were formed.

It was a weirdly scattered talk—in a way, he’s still chasing the same desire for easily-accessed, widely-interconnected information. It’s as though the web went awry somewhere, over to the Dark Side, and while he doesn’t mind what did come out, he still hasn’t reached the application he’s really looking for. Unfortunately, the result wasn’t really the sort of talk that inspires students to go out and change the world, I think.

In the extended entry, some notes from the talk, and from the brief questions-and-answers.

Continue reading "Tim Berners-Lee and web hopes and fears"

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

March 16, 2006

A creative training commons

Jeff referred me to a post by Bill, who has a really long weblog title, about “open source fitness.” Here’s the concept:

What I’d like to do, were I tech-savvy with a couple of weeks on my hand, would be to set up a flexible fitness correlary to Wikipedia, a place where we could list the various theories on weight loss or marathon training, for instance, and then tie them back to revelant real-world data. Answer questions like “What works for treating ITB syndrome?”, etc.

I know a little bit about ITBS, and some might say I’m “tech-savvy.” (There has been some dispute on this point in recent months, believe it or not.) But I only have a few minutes on my hand. And I have thought about this sort of thing before.

Here’s the problem: it’s not the tech-savvy that’s stopping anyone from doing this. It’s trivially simple (at least from my point of view) to download MediaWiki or some similar piece of open-source wiki-ware and make a site for this. The 500 people Bill cites for the “RBF” are certainly a broad base of users, which is a plus. Since they’re all already blog-writers, that probably means they’re self-selected from the end of the running population which at least practices descriptive writing on a regular basis.

Because one of the biggest hurdles for a site like that is editorial quality. To put it plainly, if I get a running injury, and Don Kardong gets a running injury, a reader is going to learn about ten times more from Don’s writing about it—and even that might be giving me more credit than I deserve.

Another dinger: on some topics (ITBS,) it’s easy to know what to do. But during the past three years, I saw six or seven different medical professionals about my plantar fasciitis, and not one of them agreed with any of the others. I’ll be damned if I know, to this day, what truly caused the problem; all I know is that I got new orthotics last August, and I haven’t had significant trouble since then. And I think even if you put together the 200 of your 500 running bloggers who’ve suffered with PF, you’re not going to be any closer to knowing what’s going on than if you just talked to me. It’s true that sometimes more data gets you closer to the truth, but not always; if there’s no pattern in the data, it doesn’t matter how much pattern-less data you have, it’s still just noise.

It may be that what I’m really saying is that I’m burned out on running websites, and I have been for quite a while. I’ve been there, done that, and I’ve seen them done well and done poorly. (Beyond that, I’ve seen good sites fail, and lousy ones flourish, so I’m unfortunately cynical about the available rewards for hard work.) I think that the state of the running-site art is still stuck around where it was in 2000, and that there’s a tremendous amount of space for someone to apply new tools and techniques to make something good—the only really new thing I’ve seen is the Google maps pedometer, but that’s really just one tool.

The software is out there. The startup and maintenance costs are pretty low. What it needs is for someone with a clear vision to invest the time, and I have neither.

Now Playing: King Electric from Still Burning by Mike Scott

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

February 14, 2006

Missing tools

Ever reached in your pocket looking for something and not found it?

I was in the finishing stages of this assignment requiring a number of XML/XSLT transformations. The page is produced, the links work, the parameters are handled properly. I’ve checked off all but one item: a drop-down menu that needs to work in both Firefox and IE/Win.

I’ve done this before. But the last time I did it, I was sitting at a desk with a G4 and a Dell on a KVM switch. That tool just isn’t there anymore.

I’ll need to finish this tomorrow in the lab.

Now Playing: Everytime from You Were Here by Sarah Harmer

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

January 29, 2006

Disposable bookmarks

If anyone is looking to add a really cool feature to a web browser, here’s something for their consideration. Let’s have bookmarks that work the way real bookmarks work.

The bookmark metaphor is a bit leaky. “Bookmarks” as they are implemented in normal web browsers are essentially saved URLs which allow you to once again find a website which you might otherwise forget. I actually have no such bookmarks, unless you count my bookmarks, which I don’t because they’re not built in to the browser. A “real” bookmark is something you stick in an actual book to keep your place in the book. You know which book you’re reading, and you probably know where it is (otherwise you have problems the bookmark can’t solve.) The bookmark lets you pick up where you stopped last time, and move on. You take it out of the book, read, then put it back in where you next stop.

Everyone I know who spends a lot of time on the web has only one way of marking a page which they’ve stopped reading, but intend to come back to: they leave it open, in its own window or in a new tab. We can have dozens of tabs or windows open at a time indicating these unfinished readings. I’ll skim through NetNewsWire clicking stories I want to read (or, if it’s a full-text feed, entries I want to comment on,) and wind up with a slew of open tabs. Then I go to the browser and work through the tabs. In other cases, I’m reading my way through [an entire site][], or a multi-page NYT or Ars Technica article, and want to keep track of where I left off. I don’t bookmark these pages because I don’t want to remember them for all time; I just want to be able to pick up reading where I stopped. Instead, I wind up keeping browser windows (or tabs) open for days (sometimes weeks) at a time, which is inconvenient when I want to do something like restart the computer.

What if I could place a “bookmark” at a page which would then disappear automatically (maybe with a confirmation prompt) when I returned to the page, in the same way that I remove a physical bookmark from a physical book? Then I could close a few dozen of these tabs. I bet I’d use it more often than the “real” bookmark menu, because I wouldn’t feel like I was cluttering up my collection of lasting bookmarks. It doesn’t seem like it would be terribly hard to do.

Now Playing: The Catfisherman from Kids in Philly by Marah

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

January 17, 2006

The town of Medford's website is broken

All I wanted to do was renew my parking permit. Based on last year’s experience, I remembered that I had to go to the police station, not the town hall. But this is local government, and I knew if I didn’t check ahead, I’d be making two trips: one to discover that I was visiting outside of office hours and/or didn’t have the right documentation, and another to actually get the permit.

I figured that the Medford town website would help me out. Maybe a link to the parking regulations, and something like, “To obtain a parking permit, go to the police station between 2 and 2:30 on alternate Wednesdays with your birth certificate, passport, and five forms of photo ID.” Nope. Try the “Government” link on the front page, and see if there’s anything on that page that looks remotely helpful for anything you’d actually want to know from your town government.

Remembering that the permits actually come from the police department, I thought maybe I’d find something on the police website. Nope, nothing doing. This site is a bit more 1999 rather than 1997, but is still far too fixated on what the publishers want to tell us rather than what the people want to know. There are too many links on the front page, and not enough of them give any indication of what information you’ll find if you click on them. I tried a few, hopefully looking for parking information, and all I found was instructions for how to pay a parking ticket… which might turn out to be very useful if I can’t figure out how to get my permit!

Of course, all these websites had contact email addresses and phone numbers, but anyone who has ever done phone and/or email support for software knows that the point of a website is minimize the need for customers to resort to email and/or phone calls, and the way to do that is to make sure the customers find what they need on the website. (And the way to do that… is to make an easy-to-use website!)

Finally, I put all the conceivable documentation for my car, short of the actual title, in my bag and biked up to the police station. I went to the window, where helpful signs explained that all I needed was my registration (got it) and a $10 check made out to the city. Well, that’s easy; why couldn’t I find this online? The posted hours were even reasonable. There was nobody in the office, but after a minute or so of patient waiting, a grumpy woman came up, took my registration and check, and eventually gave up a sticker and two guest permits. I use the word “grumpy,” because she made it quite plain to me that she had planned on being gone to lunch, and I was delaying that plan, and parking stickers took far too long to fill out forms for. (Why on earth, by the way, do all parking permits expire on New Year’s Eve? Has it not occurred to someone to stagger them, like auto inspections, so the entire town isn’t lined up at this counter in January to get their new stickers?)

So this ended up being a successful mission in that I got what I came for (a parking sticker), but the extra lessons were less than positive. I learned that the Town of Medford isn’t really interested in providing information its citizens are actually looking for on their websites. I learned that the Medford police department would rather be at lunch than providing me with a parking permit, and in fact they’d rather give me a parking ticket than a parking permit. Actually, what they’d really like is for me to stay home and not bother them with anything like doing their jobs, so clearly this is all my fault.

Now Playing: Horrible Qualities from Josh Ritter by Josh Ritter

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

January 16, 2006

Mixed media

It’s just a few days until the spring semester starts, and things get frantically busy around here again. I should really dedicate a day to cleaning up before we dive in, but I have been attempting to get work done for my GA before I’m swamped with classwork.

I got my TA assignment today; I will, again, be “rounding out” my aid by working a few hours a week on Comp 11. Hopefully, the hours will work the way they’re supposed to this time.

Meanwhile, I’ve been sadly neglecting this space, probably because I’ve been spending my days either scattered among dozens of little projects or utterly stupefied by the Blojsom/Sakai project. It’s increasingly obvious to me that I don’t have the skills to even get started on this project, which is quite frustrating. Anyway, to get me writing a bit more, I’ll post about some movies and books that have been flicking past lately.

Now Playing: Wake Up by Follow The Train

Posted by pjm at 6:40 PM | Comments (0)

January 9, 2006

The Time Being

Have you ever read something so audacious you went past speechlessness and into (to invent a word) laughterlessness?

Since it seems like it’s The Thing for musicians to have weblogs nowadays, I just happened on The Time Being, the ramblings of Steve Kilbey (of The Church and numerous other neopsychedelic projects.) It’s a very strong flavor. He gets all the bits of weblogs right (he talks about being beat up in high school, his daughters visiting, etc.) but the style. I can’t even begin to describe it, long columns of clipped lines like free verse but heavily freighted with half-Scots, half-Strine slang, deliberately affected misspellings (“olde,”) as though he was taking irreverance all the way to areverance.

In my opinion, the best part is where he nominates himself for the part of King Miraz in the next Narnia film. (He has a serious issue with the wolves having American accents.)

No feed, though. Someone should send the man a copy of Julie’s book.

Now Playing: High Lonesome from The Fine Art Of Self Destruction by Jesse Malin

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

January 3, 2006

Answers to questions

Barb asked about the picture over on the right. I explained the picture in a very, very early post here. I should link the photo to it.

Adam asked about the results of my iPod surgery. I guess I never posted the conclusion to my oldest iPod story. (I replaced the battery, but couldn’t get it to connect to my Powerbook and transfer songs, I presume due to an issue with the Firewire connector.) I ended up giving the little brick to my brother, who offered to take it in to the shop at his work where they had some precision soldering gear. He figured if he could re-solder the connectors, then he’d slap a glob of epoxy on to keep them there.

Unfortunately, he didn’t have any success getting the connectors re-soldered, so the old iPod is still pretty much non-functional. It will charge, but it won’t mount on a Mac, so you can’t change songs or playlists. For the most part, this doesn’t concern me enough that I’m ready to spend more time or money on it; my existing unit is just fine for what I want it to do. If there’s anything I regret, it’s that there are a dozen or two songs on there which I don’t have backed up elsewhere (I’ve learned my lesson on that.)

Now Playing: Half Life from Winter Pays For Summer by Glen Phillips

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

January 2, 2006

I should be doing real work

But instead, I’m taking advantage of having my head in the CSS-space and making this site look a little less like every other weblog launched with Movable Type in 2002-2003 (and a little more like something done by someone who claims to have been a web professional.) Let me know if anything significant breaks; there are still some little pieces I’m not finished with.

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

December 30, 2005

Broken at the endpoints

The other week, I was involved in a small email discussion regarding an article in the Technology Review titled, “The Internet Is Broken.” It’s the cover story of TR’s December/January issue, so I’m a little confused about why, so far, there are only six people who’ve bookmarked it in, two of them being myself and the person who originally sent me the link looking for an opinion.

It took me a little while to read through, but I finished unconvinced of the central premise of the article: “The Net’s basic flaws cost firms billions, impede innovation, and threaten national security. It’s time for a clean-slate approach.” The arguments presented in the article failed to support that idea. The argument seemed to be, “Now the internet has grown so large, there are all kinds of people abusing it with spam, spyware, phishing and pharming, and oh, by the way, DNS is vulnerable to cyber-terrorism.”

I agree with bits of it. The protocols we use for email are built in a way that makes it very difficult to prevent spam. DNS, the system we use to translate domain names into numerical addresses, depends on a small set of “root servers” which, if cracked, crashed, or DDOSed, could cripple large sections of the ‘net.

Where I disagree is that these are problems with the core protocols of the internet. Vint Cerf makes this point later in the article:

“I’m not happy with the current state of affairs. I’m not happy with spam; I’m not happy with the amount of vulnerability to various forms of attack,” says Vinton Cerf, one of the inventors of the Internet’s basic protocols, who recently joined Google with a job title created just for him: chief Internet evangelist. “I do want to distinguish that the primary vectors causing a lot of trouble are penetrating holes in operating systems. It’s more like the operating systems don’t protect themselves very well. An argument could be made, ‘Why does the network have to do that?’”

This is the issue: the internet is a low-level protocol. It doesn’t know what’s in the packets, and it works because it doesn’t know what’s in the packets. We undo the packets at the end-points, and that’s where the trouble begins. The problem is not with the internet so much as it is with us not realizing what we need to handle at the end-points. (Or, as one commenter on the original article suggested, the problem isn’t the internet; the problem is Windows. But that’s only about 75% true. OK, 90%.)

Put another way, the internet is a “stack” of protocols. Things like email, IM, and the Web are pretty high on the protocol stack; the only nodes on the ‘net which get that high are end-points. The intermediate nodes all work much lower on the stack. Changing that requires much smarter (and consequently slower) nodes out in the middle of the network.

This is, however, just the introduction to how I started thinking about this. More tomorrow.

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

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

December 18, 2005

I can't hold out against JSP any longer

In my first web-geek job, I had a really bad experience with Java on the web. Specifically, I wound up trying to run a site with a message board package which depended on what was, at the time, a profoundly awful Java web server. (It was gruesomely slow and crashed at an alarming rate.) I was left with the impression that Java was too slow, too unstable, and too complicated for the web. (Applets included, and I actually still hold that opinion.)

In my next job, I liked working with LAMP, which was powerful enough for what I needed to do, easy to install on my server, and thanks to a few lucky guesses when I built the server, pretty darn snappy. I got pretty comfortable with that. Meanwhile, the enterprise web application world, still infatuated with the “Java” buzzword, was playing around with a few packages I knew only by name: Tomcat, JSP, and Maven, just to name a few. Tomcat, as it happens, is the stable model for mediating between Java applications and the web. JSP… well, JSP goes “inside” Tomcat. Maven calls itself a “project management and comprehension tool,” which I find a bit whimsical.

And there are now some pretty powerful applications built on Tomcat and the associated Java technologies, particularly that Sakai package I’ve mentioned. I’ve reached the point where I really need to figure out what’s going on in here—not least because I need to learn more about what’s going on inside Sakai, whether we can improve it (MPOW is moderately interested in making contributions to the Sakai code-base, and significantly interested in being able to bend our own installation to our wishes,) and whether I can integrate other tools (specifically, blojsom, the only weblog engine I’ve found in Java. Which you’d think would tell you something about Java and the web, but never mind. It is, after all, shipping with OS X Server.)

I’m still not convinced that writing web apps in Java is a good idea in general, but the fact is, I need to know how it’s done. So I’ve spent some time installing Tomcat here on my Powerbook. Sakai and blojsom come next.

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

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

December 17, 2005

Long since expired

Everybody has something they check—the way someone holds a spoon, the rings on their fingers. I check online order forms. Specifically, I check the form where the customer is expected to fill in the expiration date of their credit card.

There, did you notice it too? The one which would let you fill in a date in 2003? Oops, someone hard-coded the years into the order form. This is not a forward-thinking webmonkey.

After once re-hard-coding an order form at my old job for a newer set of years, I changed our code such that it automatically provides the current year plus the next ten as options. It’s not hard:

<select name="year">
$this_year = date("Y");
for ($i=0; $i<10; $i++) {
echo "<option>";
echo $this_year + $i;
echo "</option>\r";

Go forth and write similar code in whatever other template system the Man is forcing you to use…

Now Playing: Forever from Us And Us Only by The Charlatans

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

December 16, 2005

Isn't there a rule about volunteering

Yesterday, someone from MPOW asked about weblogs. “Does anyone know anything about weblog software? Tell [another student].”

I spooled off a list of weblog packages and websites into an email, and sent it to this student and my supervisor. The response was something like, “Oh, [pjm], this is great! Why don’t you take this project!”

Now I’m installing blog software. Does anyone know anything about integrating blogs and Sakai? I’m thinking of starting with Wordpress and Textpattern.

Once I finish this last final, of course.

Now Playing: Minnesoter from Come Down by The Dandy Warhols

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

November 12, 2005

Not the help you were looking for

If you search Google for “help wrapping a present”, this entry is currently the second result.

If you search for “help wrapping a present -cat” (which is search-string-ese for “leave out the cats,”) it’s the first.

Now Playing: Frinck from Songs From The Other Side by The Charlatans

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

October 27, 2005

Further proof that buzz is stronger than common sense

Runner’s World, which less than a year ago couldn’t tell you what RSS was or why their updated-daily website might want a web feed, is doing a New York City Marathon podcast, press releases and all.

Meanwhile, their languishing Daily News, in which I occasionally have a column, like yesterday’s, has no feed. Why? Because “podcast” is a much sexier buzzword than “web feed,” and you get a lot more attention for jumping on the podcasting bandwagon than you do for implementing useful technologies that you’re two years behind on.

Now Playing: Good Times from The Lost Boys OST by INXS/Jimmy Barnes

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

September 27, 2005

You won't believe it unless you see it

Speaking of plunks…

First, you need to imagine a list of baseball players with the highest hit-by-pitch numbers for each initial. (Anderson, Biggio, Clarke, Dahlen, etc.)

Then you need to imagine this list in an alphabet rhyme, like an old New England Primer.

Then, you can stop imagining.

A is for the plunks of Brady Anderson
one hundred fifty four when he was done.

B is for Houston’s own Craig Biggio,
two hundred seventy three plunks as you know,

Now Playing: Invisible from El Momento Descuidado by The Church

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

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)

July 11, 2005

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 7, 2005

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

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=""><img src="', $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 = "" . $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="">
<img src="" 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)

June 15, 2005

The parting of the cattle

Nicole has left France and is touring in Ireland. Today she’s sharing one of those obscure bits of vital knowledge you may never use. Read, and be prepared.

Now Playing: Laughing from Murmur by R.E.M.

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

June 7, 2005

Secret Identity

Working to perfect the flow of energy. I think I’ll make that my personal mission statement.

Now Playing: Thankful by Glen Phillips

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

May 27, 2005

Ceci n'est pas un running blog

I am periodically amused whenever I look at the Bloglines subscriptions of people subscribed to my feed(s) who have their own subscriptions public. (Not that there are many of you.) The thing that amuses me is that when the feeds are organized in folders, this feed is nearly always in the “running” folder (if there is one) and not in the “geeky stuff” folder—even if the person in question has both kinds of folders. (Sometimes it’s just in the “people” folder, which is fine.) This is amusing to me because I write so little about running here, and when I do, it’s more likely to be about the sport in general rather than my own running (which has been rather sparse in the last two years.)

I thought about this as I realized how many feeds I read which belong to people I know through running, and thought about making my own little “running” folder. But in fact, I don’t read the feeds because they’re about running; I read them because they’re about people who I know through running. That sounds like a quibble, but it’s an important distinction to me.

I don’t read much about training theory, nutrition, or injury prevention, online or in print. I burned out on that stuff five years ago, and I no longer care very much. (This stuff is not an exception, but the resolution of that paradox is outside the scope of this post.) I have a few feeds which I have dropped into my “news” folder which are about the sport, not the activity. (I’ll unpack that distinction some other time, if anyone cares.) I’d rather read about people, and for the most part I write the sort of posts I’d like to read.

I imagine more people would read here if this was a Running Blog, or a Technology Blog, or even an Education Blog. But I’m not (just) any of those things, so neither is this site.

But if you wish to think of it with any of the above tags, feel free; apparently all the people who’ve bookmarked this site in have merely tagged it “blog.”

Now Playing: This Bouquet from Not A Pretty Girl by Ani DiFranco

Posted by pjm at 11:44 AM | Comments (3)

May 12, 2005

Debugging a moving target

It would be bad enough, honestly, if the problem was that the images turn up in the wrong place in IE/Win. (After all, then the correct answer would be, “IE/Win is evil, and doesn’t implement the CSS spec predictably or well; if the cover images aren’t right, you should be using a better browser anyway.” Then I’d figure out what’s wrong and write a special little CSS workaround for IE/Win.)

No, the real problem is that the images come up in one (wrong) place when you link in to the page, and then another (different, but equally wrong) place when the page is reloaded. I’ve actually sat on the problem page, clicking reload, and had the images migrate around the page in an apparently random pattern, flitting between three locations (one of which is actually the right one.)

Since the browser is allegedly using the same HTML and CSS both times, I’m pretty much helpless to debug the problem. The current solution I’m going with is, “sorry, IE/Win users. No pretty images for you.”

Now Playing: Half Magic by Matt the Electrician

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

May 2, 2005

Around the block

The places that Iz’s birthday picture shows up are getting weirder. This weekend’s appearance is marginally not work-safe. (In fact, Iz is only three, so I wonder if he should be allowed here.)

Now Playing: Landed by Ben Folds

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

April 26, 2005

Famous cat

The fame of Iz continues to spread. (As usual, you’ll need to scroll down after you follow that link.)

I replaced the original image with a more compressed one to be lighter on my bandwidth, and added a copyright string announcing the site the image came from, so maybe I’ll get a little benefit from posting a silly picture people like to post on message boards. Heck, maybe I should be selling birthday cards. Pity I didn’t clear the table more before I snapped that shot; there’s an identifiable Gazette front page with a photo showing people setting up for UMass graduation.

Now Playing: American Girls from Hard Candy by Counting Crows

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

April 19, 2005

The little things count

A few years ago I was dumbstruck to hear a fragment of music I knew on NPR—specifically, a song by The Church called “Eastern.” The thing that amused me was that it was being used as the outro to a piece about Iraq.

Then, a few weeks ago, I laughed out loud as the same show used the intro to Elliott Smith’s “Junk Bond Trader” after a piece on the bond market. No lyrics, just the intro; unless you knew the song, you wouldn’t get the joke.

Today I discovered that the person who is responsible for those little touches has a blog. It’s very interesting, very personal, and somehow fantastically uplifting to find someone who does spend time on the little details of media production.

I’ve got a short cord of other firewood to throw on, but other chores as well, and I wanted to share this.

Now Playing: The Luckiest from Rockin’ The Suburbs by Ben Folds

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

April 15, 2005

Clearing the cruft

You’ll remember that I have constructed, over some months, a dense and convoluted .htaccess file using mod_rewrite, mod_access, and mod_setenvif.

Today I took a step I’ve been meaning to take for a few weeks: I wiped out most of it in favor of a simpler file using mod_security which, because it can filter in a much more specific manner, allows the removal of many of the convoluted tactics from the old file. I followed this walk-through. I’ve actually cut the length of the file nearly in half, and one of the other benefits of mod_security’s flexibility is that the resulting file would work perfectly well, with no changes, on another site—it isn’t, for example, customized to account for my renamed comment scripts, and the rules are less likely to block where they shouldn’t.

The one drawback is that I haven’t found a way to make the Google exception properly. (Just wait until we’re getting search term spamming! Spoofed Google referrers with the spam in the query string?)

I’m leaving the old file intact (at this different URL) for those whose web hosts haven’t installed mod_security, but I will not continue updating it.

Now Playing: Spark from Starfish by The Church

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

March 29, 2005

A semester too early

I realize I’m giving away the current leader in the “who gets pjm as a grad student” sweepstakes, but this would’ve been a perfect pitch for me to hit out of the park.

Now Playing: 12 Bellevue from Failer by Kathleen Edwards

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

March 25, 2005

Think that name through

I saw a promo somewhere for a web search service—maybe they spidered this site. But their tagline was, “From chaos to order!” Implication being that they are bringing order to this wild, wild web by spidering it and presenting nicely packaged search results.

Secondary implication being that, by creating a site which requires spidering, searching, and presenting, et al., I am creating chaos which needs to be ordered by them, because of course my own presentation of said chaos isn’t good enough. Well, boys, you can take your pretty chaos-to-order conceit, and the horse you rode in on, and…

Well. Touchy, this morning. But I also created my own little Lloyd Dobler moment there… “Well, I don’t want to spider, search, or present anything for a living, spider anything searched or presented, search anything spidered or packaged, or package anything spidered or searched.”

Now Playing: Every Woman Alive from SXSW 2005 Showcasing Artist by Marion Loguidice Band

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

March 24, 2005

Doing my penance

I did, let me confess, my share of web coding in the late ’90s. I created pages thick with tables and sliced images which needed to be arranged “just so” on the page in order to butt together and make a design element.

It’s payback time, apparently.

One of our sites, designed before my time here, has a godawful javascript rollover-click-whatever navigation menu on the left. It’s an accessibility disaster, it’s a bandwidth monstrosity (a typical page of this site is 89 KB, of which less than 3 KB is actual content: the rest is the scripts and layout tables for this menu, and that’s not counting all the images,) and what’s more, it has stopped working in many if not most modern browsers. It’s a low-priority site for us, and there are other ways to get around, so we’ve let it fester for a while.

Today I started deconstructing the whole thing in an effort to, not redesign the site, but create a lightweight standards-compliant version which looks pretty much the same (ugly as it may be, it’s a design, and I’m poorly equipped for that,) but actually works.

As I pick through the old code, pulling stuff out to recreate in some sort of valid markup, I find myself wanting to call the original developer, maybe once every five minutes, and ask what on earth they were thinking when they did that. (The answer, I suspect, is that they weren’t thinking; they were letting Dreamweaver and/or ImageReady think for them, which is not always a good choice.) I am finding large graphics cut into four or more segments for no apparent reason (which then need to be re-joined), gratuitous image-maps, and multiple discontinuous design elements merged in a single block of graphic-file (which is then, of course, sliced into a number of smaller files for no apparent reason at random places.)

The only thing that keeps me parsing this stuff out is the idea of how much better it will be when I’m done. And the queasy recollection, like a hung-over morning, that I may have contributed to equally painful layouts.

Now Playing: Keep Happy from SXSW 2005 Showcasing Artist by Papa Mali

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

March 15, 2005


Phil Rignalda ran a trial obfuscating his posted email address with the same entity-encoding method I spelled out here, and discovered that spammers are lazy: apparently this quickie obfuscation method is remarkably effective.

Now Playing: Johnson’s Aeroplane from The Swing by INXS

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

March 12, 2005

Anti-comment-spam tip

I’ve mentioned this in passing once before, but it bears repeating and calling attention to. A few months ago I changed the name of my Movable Type comment script to foil comment spammers. Some of them have bots which can figure out the new script name, but it appears that many of those bots have a bug: they can’t distinguish mixed-case URLs. Since my new script name has both capitals and lowercase letters (my personal shorthand for this site is F.o.P.,) and URLs are case-sensitive, I am seeing a lot of not-found errors in my log where spammers try to access the comment script using an all-lower-case URL.

So, if you’re changing the name of the mt-comments.cgi and mt-tb.cgi, try using mixed-case names. It’s not utterly foolproof, but it turns out the comment spammers are only run-of-the-mill fools.

Posted by pjm at 4:06 PM | Comments (3)

March 9, 2005

This always happens when I am too busy

JM found annotated Google Maps complete with how to make them. The buzzword summary would be “GPS + DigiCam + XML = An Annotated World.”

And here I am with every hour booked from now until the middle of next week, and no time to play with it. And it’s so shiny. All I can do is tell everybody I know about it, and come up with ideas for using it. What would you map?

Now Playing: ‘87 from Foolisher Than Pride by Rosemary Caine

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

March 1, 2005

It's the subtle things

Barb asked, following up on my post about Firefox drawing even with IE in my site statistics, if there are reasons to switch to Firefox (or at least away from IE) that are easy for a non-technical person to understand.

Since I’m a Macintosh user, I’m not subjected to the Big Blue E on a daily basis, so I mostly see things from a developer’s standpoint. Since FF has better support for web standards, more people using FF mean less people using the ever-so-2001 IE, which means I can do more interesting things while worrying less about browser support. Tim Bray made this point way back in 2003. (And Longhorn is now due even later than Bray thought then.)

But the wonderful sites Browse Happy and Better Browser make the case for everyday users better than I can. A few points from them:

  • Tabbed browsing. Open a whole slew of web pages in one window (or a folder full of bookmarks at once, in separate tabs.)
  • Pop-up blocking. IE is getting there now (there were pop-up blockers for IE, but they were hacks which did nothing for the stability of your computer,) but alternative browsers have been there for two or three years now.
  • New web features. The new browsers offer support for things like PNG-format graphics, which allow images to fade into their background much more elegantly than was previously possible. Web pages designed for the standards supported by Firefox, Safari, Opera et al look better.
  • Stability. IE is built on a code base more than a decade old. As a result, it has become bloated and a hog of system resources. Modern browsers like Firefox use less memory and are more stable, which means they start faster, run faster, and crash less.
  • Security. Spyware, worms and viruses are pervasive nowadays, and most of them are built around ActiveX controls or Browser Helper Objects, which are two technologies unique to IE. Stop using IE, and you’ve instantly made yourself invulnerable to those routes of attack, and you’ve lost barely anything. (Malware developers outnumber legitimate applications of these technologies, nowadays.) The alternative browsers have their own security problems, but their record is far better than Microsoft’s.

That’s probably enough from me, since the two sites I’ve linked above make the case quite well. It’s actually impossible to uninstall IE from a Windows system, so it won’t go away; you’ve got nothing to lose by trying a different browser (and on Windows, that’s probably Firefox.)

Now Playing: Other Side from Golden Age of Radio Bonus Disk by Josh Ritter

Posted by pjm at 5:10 PM | Comments (6)

February 28, 2005


For the first time, on Sunday, Mozilla Firefox was even with MS Internet Explorer as the most-common user agent requesting pages on this site. FF had a few more requests than IE, and IE had a few more pages served. The two of them covered a bit more than half of my requests. If you add the Camino traffic (which is, admittedly, mostly me) the Gecko-based browsers come out ahead.

Now Playing: Railroad Steel from Georgia Satellites by The Georgia Satellites

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

February 22, 2005

Dubious anniversary

I didn’t note this at the time, but as of last Friday, I’ve been doing this for a year now.

I’d try to claim humility as the reason for not mentioning the date, but pride is more likely; it’s pretty clear from the archives that it took me a few weeks to hit my stride.

Assuming I have hit my stride, that is.

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

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

February 2, 2005

Getting it right

Whenever I’m asked about FTP software for the Macintosh (which is more often than you would think) I always recommend Panic Software’s Transmit. I started using Transmit because it supported SFTP when Fetch didn’t, but I kept using it because it was so easy to use. (I’d love to see it support key-based rather than password-based SFTP authentication, but one thing at a time, right?) The cute icon didn’t hurt.

Now I discover, reading Steve Frank’s weblog, that they’re selling the t-shirts they make for various expos. I’ve browsed the shop and didn’t find anything that had me jumping up and down, but anyone doing any kind of online shopping programming should really take a look at the interface to their store. It’s drag-and-drop. No Flash, no kidding. Drag an item into the “cart” bar at the bottom of the page (which shows everything you’ve selected so far.) Drag it out again to remove it. Easy.

Now consider how much work must have gone in to making that happen. See why I like this company?

Now Playing: The Only One I Know from Some Friendly by The Charlatans

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

January 26, 2005

Checking off the boxes

The Daring Fireball Linked List recently posted a link to a site called Ta-da List. It’s a pretty simple web application: for a free registration, you can keep to-do lists online. That’s not a big step considering the number of desktop applications which perform the same function; what’s useful are the next steps.

  1. You can share those lists, either publicly or with a limited selection of other members. List sharing is on a list-by-list basis; you can share a project list with your co-developers, or make your to-do list public, and still keep your gift-purchasing list private.
  2. You can get (an) RSS feed(s) of changes to those lists, either list-by-list or for all your lists. So you can use your aggregator to know when something you’ve delegated has been checked off a list.

I don’t have any need for truly mobile network access (PDA, Blackberry, etc.) but I imagine that accessing these lists is just as easy with a web-enabled Palm (or similar) as it is from my desk.

So part of me being quiet today is because I’m checking stuff off lists. Mail crash-priority official transcript requests, check. Fax unofficial transcripts, check. Round up copies of recommendation letters, check. Calm acceptance of application karma… we’re still working on that.

Now Playing: National Steel from Failer by Kathleen Edwards

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

January 25, 2005

Not using nofollow

I thought rel=nofollow was a relatively good idea when it was first discussed, but now that I’ve seen the drawbacks I’ve decided not to use it here.

Anyway, it seems that my efforts to block referer spam have done quite a lot to keep out the comment spammers, as well. Between that and MT-Blacklist, I haven’t had comment spam visible here for months. So why deny my few drops of Google Juice to my innocent commenters (both of them)? Even if “innocent commenters” is an oxymoron?

Now Playing: Monster from ‘Mousse by The Nields

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

January 20, 2005

On the block

I’ve got three eBay auctions under my belt now, with the third (and least successful, cash-wise,) a CD burner, just waiting for payment. It’s been interesting; I’m not really “making money” in the sense that I paid more for these things than I’m selling them for, but I am in the sense that I’m replacing objects which have little or no use to me with a more liquid asset.

I’m definitely not going to try making a living on eBay, nor do I intend to scrape deeper and deeper in my closets looking for sketchy stuff to sell. But in terms of moving out stuff which isn’t in use? It’s fantastic.

Today I helped someone in the office sort out a Java application issue. (Mac running OS 9.2, throwing NullObjectException errors if I remember correctly; we switched browsers from Netscape 7.0.1 to (shudder) IE, and it worked. Must have been a VM compatibility problem.) He was watching eBay Live auctions, with the intent of bidding on one later this afternoon, after work.

Have you ever watched one of those things? It can raise your pulse just looking. I watched one start at $50 and sell at $500 in the time it takes me to compose a sentence. I can’t think that fast, usually. And we saw one where someone spent about $4k in about forty seconds. It made my head spin. Now, there’s an area of auctioning I’m definitely not cut out for.

Now Playing: Perfect Blue Buildings from August & Everything After by Counting Crows

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

January 17, 2005

Spammers out of hand

Despite my best efforts, most of the leading referrers in my logs for the weekend are spammed. That’s really only an annoyance to me, because I don’t actually display my site stats anywhere; it’s just a waste of my time and the spammer’s processor cycles. (Not that they care; cycles are cheap, which is why they can waste my time with them.) Despite blocking the UA string Dorothea notes, it’s still the #3 UA string hitting my site. And…

I served more 403 Access Forbidden responses than real pages (200 OK) yesterday. 403 codes are now my top response code.

Remember the first time you got more spam email than real email in a day? I really hope this doesn’t go the same way, because the percentage of non-spam email at work right now is in the single digits.

I don’t have words for how pathetic this is.

Update: Tuesday, 18 January Monday’s logs were much better, though 403s again threatened to overtake 200s. I am also seeing 404s on the default MT comment and trackback script names, numbering in the hundreds; since I changed the names of those scripts, they’re just wasting cycles. I’m also getting some 404s on the true new names of the scripts—I capitalized some characters in the names, and the spammers are trying all lowercase. Silly spammers, URIs are always case-sensitive after the domain part!

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

January 16, 2005

Tool of choice

When I first started writing web pages (and yes, that would be over ten years ago, now) I tired pretty quickly of editing them with emacs on the college *nix box (Ultrix, I think, and that was in the days when Linus was still working out of his bedroom in Helsinki.) I hunted for cheap (read “free”) text editors that I could use on my Mac, and I came up with BBEdit Lite. What a nice little program that was. I got used to it.

Then, when I started working for companies that could pay for software, I introduced them to the not-Lite BBEdit. Even when I was working on websites with GoLive, then Dreamweaver, I kept BBEdit around to keep the code in line. Also, being lazy, I was discovering the power of multi-file find-and-replace functions, and regular expression matching in the find dialog, for site maintenance. I got really, really used to it, to the point where I don’t use a real word processor anymore; I even write for publication in BBEdit. (I know lots of people who can’t read Word files, but I don’t know anyone who can’t read a .txt file.)

Meanwhile, BBEdit has been getting bigger and bigger, making me wonder whether it can justify the name “Bare Bones” much longer. I think I started with version 2; they made it to 8 last year.

More recently, they’ve stopped development on BBEdit Lite in favor of a low-cost program called TextWrangler. And last week, around MacWorld, they released TextWrangler 2.0. Following this year’s MacWorld trend, they picked a low price point. Specifically, free.

I’ve been using it for a few days now. It’s an elegant little program. It does PHP and HTML syntax coloring. It has the new Documents drawer. It has the same ultra-powerful Search dialog I like from BBEdit, and it has Find Differences. There’s a checkbox to open “hidden” files (which makes it show files starting with a . in the open dialogs, useful for editing .htaccess files.) And did I mention that the price is right?

If you are using a Mac, it’s worth checking out. It’s certainly worth more than the price tag would indicate.

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

January 12, 2005

Degrading gracefully

I have a gift certificate to the swimming mail-order place where I get my suits. I couldn’t figure out how to use it on a web order, so tonight I called them and discovered I can’t use it over the phone, either; only with a postal order.

In web design, we use the term “degrading gracefully.” I like it a lot. It means that you accept that not everyone will see your site in all the glory you intended, but you arrange for fall-back positions. You may not look as good in IE5/Mac as you do in Firefox, but it’s not obvious what has broken. And if someone arrives at your site using Lynx, they can still read your page, and it makes sense. And they aren’t made to feel like they’re missing out. (For example, there’s a built in mechanism for frame-based sites to show something to browsers which don’t support frames, but usually developers just put in something ugly, like, “You should consider upgrading to a better browser.” That’s ungraceful degradation.)

In a wider context, degrading gracefully is about being aware of where your system might fail, and being ready for the failure. It means not showing error messages to the user, unless they also explain how to avoid the error—and it’s even better to fix the error transparently, so the user doesn’t know what’s happening. From a customer-service standpoint, this is really the only way to approach things: you give the customer the most convenient option, then the next most convenient, then the next most convenient. You don’t offer them a “convenience or stone age” decision.

My experience with the swim store made me think: there are probably still some people out there who think, despite all the levels and layers of encryption, that it’s not safe to order on the internet. And some of those people may not have our printed catalog. They might find our titles online and want to order. Where’s the fall-back?

I wonder if it might not be a very user-friendly and graceful degradation to offer an order-form bail-out option. It would present a printable page which includes all the information the customer had already filled in (shipping address, items and quantities, etc.) with only the payment information to be manually filled out by the customer. They could fill in the payment details and send it off, about fifteen steps easier and faster than the degradation the swim store offered (I had to request that they send me another catalog.)

At the very least, there should be a PDF of an order form for the hard-copy Luddite.

That’s degrading gracefully. Online order to form-driven printout to PDF order form, and only then if that fails do you have to request a catalog.

Actually, they should have accounted for gift certificates when they first set up the website ordering. That would be really handling things well.

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

January 6, 2005

Pay attention!

Have you ever wanted to scold a commenter on another weblog? I can think of at least three comments on different weblogs in the past month where I’ve wanted to shake the commenter and say, “Pay attention! If you’d been reading closely, you’d know what a silly thing that was to say!” (Not here, of course. Here, there are no stupid questions, even if there are some inquisitive idiots.)

Of course, it’s not my site, so I try to resist. I feel like a backseat moderator.

Now Playing: Welcome from Magician Among The Spirits by The Church

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

December 18, 2004

About those library books...

I find this somehow unsettling.

Maybe it’s the motorcycle.

Now Playing: The Shadowlands from Love Is Hell by Ryan Adams

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

December 15, 2004


It is relatively well known that any e-mail address which appears on a website is likely to attract spam. Spammers spider the web looking for strings that look like email addresses, and plug them in to the vile flow. I tested this by using multiple addresses on one of my domains; spam comes almost exclusively to the one I had on my website. Many message-board type websites mangle (or “munge”) the addresses of those who comment in order to keep the addresses from being machine-recognizable; that’s where you get spelled-out things like the addresses on comments at the PHP site, “user at domain dot tld” and the like.

On the other hand, it is considered good form to let people know how to reach you by e-mail, and it is user-friendly to have a clickable link with the mailto:address@domain.tld format, so visitors can just click the link to start a message.

There’s a balance, and it’s created by using spammers’ techniques against them. They frequently duck content filters by sending HTML content in an “encoded” format which is decoded by the mail reader but doesn’t have the magic trigger strings when the filter goes through the plain text. I’ve taken to doing the same thing with email addresses on websites.

I encode email addresses to entities. There are named entities for certain characters, like the ampersand (&amp;) or em-dash (&mdash;) but one can use ASCII numbers to encode any character in the standard ASCII set, including numbers and letters and @ symbols. So address@domain.tld becomes &#97;&#100;&#100;&#114;&#101;&#115;&#115;­&#64;­&#100;&#111;&#109;&#97;&#105;&#110;­&#46;­&#116;&#108;&#100;. This isn’t an email address to a spider combing the page for addresses; however, a browser will render it as though it was plainly typed.

This method only works as long as the spammers’ address-scrapers are relatively dumb. If they start decoding entities, we’re in trouble (again.)

I wrote a little Perl filter to encode these for me. If you’re using BBEdit (and if you’re not, why not?) put this in a file in your /Applications/BBEdit/BBEdit Support/Unix Support/Unix Filters/ folder. To encode a chunk of text, highlight what you want to encode, then go to the #! menu, look under “Unix Filters” and select whatever you named this file. I’m still using BBEdit 6.5, but I’m relatively certain it will still work with BBEdit 8. (Anyone care to send me a copy to test with?)

#!/usr/bin/perl -w

while (<>) {
    for ($i=0; $i < length($_); $i++) {
        $out = ord(substr($_, $i, 1));
        print "\&\#", $out, "\;";

As an added bonus, if you run the script from the command line (echo "address@domain.tld" | ./ it will display the entities on standard output (with a trailing carriage return entity, &#10;, unfortunately.)

I haven’t a clue how this would work in Windows, and I’m not sure I want one. But it’s Perl, after all; it should be workable somehow.

Now Playing: Capsized from You Were Here by Sarah Harmer

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

November 29, 2004


For one thing, I noticed last week that Google is now doing Froogle Gift Lists. I haven’t tried them out enough to see how it compares, feature-wise, with The Wish List Project, but I suspect they’ve at least got direct buy-it-now links, and probably a smarter access-control scheme (or utter lack of access control, which might also qualify as a smarter access-control scheme.) One of these days, there will be a commercial-grade gift registry with the features I want, and I won’t have to home-grow my own solutions.

I also discovered in today’s referrer logs that one can now search Google Mac in six fruity primary colors, to go with the penguiny goodness which has long been Google Linux. How does one find these specialized searches? (Apparently, one goes to the Special Google Searches page.)

Now Playing: Little Miss Can’t Be Wrong from Pocket Full of Kryptonite by Spin Doctors

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

November 18, 2004

Credit where it's due

Back in May, I delivered a lengthy rant about how my old site,, “failed absolutely” in the Safari browser, and how they appeared uninterested in fixing it. And, I should note, other than my regular column, I haven’t done any freelance work for them since. (Yeah, that’ll show ‘em!)

Since then, I’ve switched to Camino as my primary browser where I do my RW reading, which worked around the problem. So I failed to notice until a few days ago that the site now works in Safari. I’m not sure if RW made the change, or if Apple fixed something in Safari, but it now works. Whoever fixed it, thanks.

And yes, I’ll be sending in the NCAA cross-country preview tonight.

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

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

November 10, 2004

The increasing irrelevance of referrer statistics

I’ve noticed that amid the clouds of obviously spammed referrers in my site logs, I’m seeing a lot of Movable Type comment CGIs. It’s not easy to connect the fake referrers to the hundreds of comment-spam submissions smacking in to MT-Blacklist like birds into a plate-glass window, so it’s hard to know what they’re actually trying to do (it could be pointless referrer spam.)

But it really looks like an attempt to get around mod_rewrite hacks (or similar ones using mod_access) to spam comments. Interesting.

I think it’s fair to say that spammers have now ruined a useful and interesting tool: referrer data. It used to be interesting to see where people were finding links to your site. It used to be a way of finding references to what you’d written. (OK, practically nobody references anything I’ve written, but still.) Now, it’s just a silly list of whatever fertilizer is sprayed this way by the spammers—ruining yet another source of information in the uncompromising scramble for our attention.

Now Playing: Sunshine/Nowhere To Run from Tarantula by Ride

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

November 8, 2004

Guinea pigs

If you haven’t done so already, please read and consider this request for interview subjects.

Now Playing: Four Days from This Desert Life by Counting Crows

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

November 4, 2004

Weird comments

Two unusual comments were embedded in today’s batch auto-moderated by MT-Blacklist. (By the way, if you post to an entry which is more than fourteen days old, or which hasn’t had a post approved in the past day, I’ll need to “approve” it before it goes up. You wouldn’t believe the comment spam which I haven’t needed to erase from pages for that reason; I just delete it from the moderation queue.)

These posts read like the goofy short e-mail messages which have virus-laden .zip files attached: “Hi, how are you,” or, “I found your site through blogspot.” They have screamingly generic email addresses at big ISPs, and include URLs to sites which match the names, but don’t exist.

In other words, no commercial message whatever. Just quasi-random noise.

What’s the point?

Update, November 9th: Ben Hammersley’s noticed the same comments. Same names and domains, as well. I’ve had several more; I’m auto-moderating them now in MT-Blacklist.

Now Playing: Ripcord from Pablo Honey by Radiohead

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

October 13, 2004

You may be looking for...

It hasn’t happened lately, but due to the title of this site, I get a fair number of people finding it in searches for “panic” or various permutations. Obviously, this site isn’t a resource for panic disorder; it’s named from one of my favorite quotes, and deals pretty much exclusively with garden-variety, non-clinical panic.

If you wound up here by looking for something else, try these sites:

(I also see a fair number of people searching for “flashes” of various sorts; however, I don’t feel bad at all about misguiding them.)

Now Playing: Nightingale Song from Fear by Toad The Wet Sprocket

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

October 4, 2004

I can't be the first to notice this...

While looking for something else, today I stumbled across a “weblog” on Blogspot which appeared to be mechanically generated. (Let’s put it this way… I looked at the author’s “profile” and they’re averaging about 250 posts per week.) It appears to be generated from news-site feeds, apparently a search for a particular keyword, because each post is just a sentence or two plus a link. Every link is to the same place, and—surprise, surprise—that’s a .biz website.

After all, why comment-spam everyone else’s weblog when you can create your own and spam actual entries

Now playing: Hiroshima Mon Amour from A Box Of Birds by The Church

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

September 8, 2004

I never thought...

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

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

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

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

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

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

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

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

Now playing: Unsatisfied from Let It Be by The Replacements

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

September 2, 2004

Too much rope

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

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

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

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

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

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

Sending you somewhere else

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

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

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

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

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

September 1, 2004


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

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


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


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

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

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

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

Now playing: Alleluia from The Honesty Room by Dar Williams

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

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)

August 24, 2004

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 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 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 13, 2004

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 is registered, is not.

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

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

August 10, 2004

Referer from

Have you looked in your traffic logs and found a referring site called 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, 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)

August 5, 2004

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 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: 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)

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 or There’s also, 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 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)

July 23, 2004


I don’t think a non-geek would understand my glee at learning that I can install the W3C’s HTML validator on my Mac. Less time spent hammering on is more time spent debugging. Or something.

No word on whether the CSS validator will also be available.

Now playing: Antenna from Starfish by The Church

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

July 11, 2004

Context is everything

It has only now occurred to me that the people finding me with a search string of “Atkins doughnuts” are probably not looking for the cider doughnuts at Atkins Farms.

Maybe they should be.

Posted by pjm at 6:48 PM | Comments (1)

July 9, 2004


I found, amid the snowdrift of papers, cables and computer parts which is my desk, a second-pass page from one of our recent books with a footnote the editor thought I would find interesting.

Many individuals now consider posting data on the World Wide Web to be a means of permanently archiving data. This is illusory. First, it is simply a transfer of responsibility from you to the computer system manager (or other information technology professional.) By placing your electronic archival copy on the Web, you imply a belief that regular backups are made and maintained by the system manager. Every time a system is upgraded, the data have to be copied from the old server to the new one. Most laboratories or departments do not have their own systems managers, and the interests of college or university computing centers in archiving and maintaining Web pages and data files do not necessarily parallel those of individual investigators. Second, server hard disks fail regularly (and often spectacularly.) Last, the Web is neither permanent nor stable. GOPHER and LYNX have disappeared, FTP is being replaced by HTTP, and HTML, the current language of the web, is already being phased out in favor of (the not entirely compatible) XML. All of these changes to the functionality of the World Wide Web and the accessibility of files stored within it have occurred within 10 years. It often is easier to recover data from notebooks that were hand-written in the nineteenth century than it is to recover data from Web sites that were digitally “archived” in the 1990s!

Now playing: Speechless from School Of Fish by School Of Fish

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

June 30, 2004

Sticking to stereotypes

Great article in Wired News today about the lack of security at the major presidential websites. The summary is, both sites have structural weaknesses (potential SQL injection and cross-site scripting vulnerabilities); both sites have privacy policies which are essentially meaningless (and, in some places, contain bald-faced lies); both sites track visitors in ways they don’t tell you about, the Bush site particularly obviously. The Bush site also has significant network vulnerabilities.

The part I found most amusing, however, was the software roundup, which fits the liberal vs. conservative stereotypes pretty well:

[T]he Kerry site is housed on an Apache Web server running on a Red Hat Linux box. The Bush website is hosted on a Microsoft IIS 5.0 server and uses Microsoft’s

Now playing: When I’m Here from This Town Is Wrong by Nerissa & Katryna Nields

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

June 15, 2004

While it's hot

OK, I’m an early adopter. As I’ve mentioned before, I think you should be too, particularly if you’re using Internet Explorer:

If you were looking at this in any browser but Microsoft Internet Explorer, it would look and run better and faster.

If you want help moving to Firefox from Internet Explorer, let me know and I’ll try to help over email. Honestly, though, it can’t be that hard; nobody took me up on my previous offer (despite a high-profile link from Asa) and I’ve never had any significant trouble upgrading my users here. (And if you’re using a Mac—and you probably should be—it’s almost amazingly easy.)

Now playing: Laughing from Murmur by R.E.M.

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

Out of Time

Two bits from the Time article on weblogs, which (as usual) suffers from the oversimplification and utter lack of nuance unavoidable in sound-bite magazines.

One, the very first paragraph, which closes like this after introducing three well-known weblog people including Slashdot’s Rob “CmdrTaco” Malda:

Today they are some of the most influential media personalities in the world. You can be one too.

Oh, come on. Can’t we put that myth to rest? I’m not going to be even a moderately influential media personality from Flashes of Panic. First, I had much more “influence” (if you can call it that) when I was at RW, had about two orders of magnitude more readers (assuming as many as a dozen people are reading this,) and frankly, I’d rather drink too much cheap beer. Second, there will never be another Slashdot, assuming you can call Slashdot a weblog. (I won’t start that fight.) There will not be another Instapundit. Other than a very small number of full-time weblog authors, every widely-read weblog I’ve seen has been written by someone who is well known for some other reason. (Those of you who arrived here via my place in the twenty-author “Bell Lap” rotation on the RW site, raise your hands. Uh huh, I thought so.)

Starting a weblog in order to become a media personality is like learning an instrument in order to become a rock star. Fine, maybe you will; rock stars have to come from somewhere, after all. But if you don’t find you enjoy the instrument just for the sake of what it lets you say, no matter who’s listening… well, you’re wasting your time. (Yeah, big words from someone who’s barely been at it four months, but I was cynical before I started, too.)

Much better, later in the article:

Blogs can be a great way of communicating, but they can keep people apart too. If I read only those of my choice, precisely tuned to my political biases and you read only yours, we could end up a nation of political solipsists, vacuum sealed in our private feedback loops, never exposed to new arguments, never having to listen to a single word we disagree with.

I don’t think I could say that any better.

Now playing: A Pagan Place from A Pagan Place by The Waterboys

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

June 12, 2004

Titan Games

This was in a USATF press release yesterday. I’m not sure I agree with the accuracy of the tag line, but it’s a laugh anyway:

The Titan Games—It’s not all the Olympic Sports, Just the Most Painful Ones!”

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

June 6, 2004


Several years ago I was in Chicago for the famous “Cows on Parade” exhibit, where they had custom-designed cows installed up and down the streets. The next year it was duplicated in New York and now it apparently travels the world.

The idea was a great one, and as with most great ideas, it’s been ripped off far and wide, for better or worse. Yesterday, returning from Albany, we came through Pittsfield and saw the opening day of Sheeptacular. It must be seen to be believed, of course, but I think the name is really the crowning achievement.

Now playing: Top of The World from James by James

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

June 3, 2004

Why validation is worth a few minutes

That’s code validation, specifically the act of running your HTML through a specially-designed SGML parser to determine if it’s “valid.”

Sometime last month I linked to Dan Cederholm’s discussion of new window creation. There’s an extensive and interesting discussion in the comments (where, oddly enough, I couldn’t find anyone bringing up the “it confuses the user” point.) One comment reiterates something I sometimes need to be reminded of: all this jumping through hoops to make pages validate is worth something. It makes pages faster.

I can’t improve on the explanation given in Dan’s comments by Al Abut:

Modern browsers are actually several different browsers packaged and hidden under one skin—an old Quirks mode one that’s basically the ghost of NN4 on life support, and a blast from the future, a tiny, lean, super fast rendering engine in Strict mode. Tiny because valid xml files are structurally oh so simple—it’s the whole point of xml and xhtml! Oh, and just declaring it Strict doesn’t make it so, just like wearing pink pumps doesn’t make me a pretty girl. If you use the Strict doctype but don’t validate, throwing the browser an error, it bitch slaps you back to Quirks mode and starts rendering from the top again, just like you rightly deserve.

So, my point, again: if you want your users to drive in the fast lane, your code needs to meet the entrance standards. If it doesn’t validate (or, if it claims to be Strict but doesn’t actually validate) you’re back on the potholed side streets.

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

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

May 27, 2004

Speaking of new designs...

It’s done.

That’s been on my list for so long, and now it’s done. Next up for this site: polishing the interior to match. I should comb the whole thing, just for completeness, and check the error logs to see what people are trying to reach and failing so I can redirect them.

Now playing: Serpent Easy from Forget Yourself by The Church

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

A little more on the fallacy of numbers

Still thinking about the problems with prioritizing browser support by current traffic.

One big one, which I have bumped my head on just recently here, is just who those numbers represent. The design I’m almost finished with for our home page worked well on nearly every browser, except IE/Mac, on which it was a train wreck. I whined. “Why do we need to support that piece of garbage? Who uses it?”

Well, the answer to that last question turned out to be, “Our entire production department,” who are still running Mac OS 9.x and for whom IE/Mac is still, sadly, the best available browser. So I sucked it up, found a few nifty hacks, and made it work.

So, say you’re doing a big, advertising-supported site. All you need is one advertiser who can’t reach your site with Safari, and either you’ll get an earful and start fixing things… or you just won’t get the advertising and never know what you lost or why. I don’t think that’s a chance I’d choose to take.

Anyway, it’s not the percentage of total traffic—it’s that one tiny segment of your marketplace which turns out to be really important.

Now playing: Mr. Right Now from If You Lived Here You’d Be Home Now by The Nields

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

Safari, accessibility, and planning for the future

I probably shouldn’t be writing this before I’ve finished my cup of tea and let the caffeine soak down a little bit, but here I am. Undamped oscillation.

Backdrop: the site I used to run in a previous job, and still write for occasionally, launched another redesign three or four weeks ago, their second since I left. Any structural change in a site as large as that one is bound to have some issues, of course, and their first day with the new design was predictably rough. I know how they tend to work—in fact, I’m probably responsible for the way they work—and their priorities and motivations are different from the ones I work with now.

Which probably explains why I’m finding so many annoyances when I try to do anything on the damn site.

The first one I noticed is the one that has me so frustrated now. When you attempt to follow the link I provided above with Safari as your browser, you will be redirected to and your browser will be stuck in a loop, showing only a blue background. I mentioned this on the first day: “Hey, guys, I know it’s busy down there and you probably know this, but in case you don’t, here’s one for your list…” Then, a week or two later: “Just to let you know, I’m still seeing this problem…”

Yesterday I got email from someone else I know from a mailing list:

I’m sure you hate to be a pointman for people toward whom you no longer have any official responsibility, but in case you are in touch with the RW Online people, would you mind telling them that their new site configuration absolutely fails on Apple’s Safari browser.

So I forwarded that along, with a bit more pointed message this time, along the lines of, “Hey, are you actually paying attention to this?” OK, it was a lot more pointed. As my correspondent noted, I do hate being pointman for people toward whom I no longer have any official responsibility.

The response I got back was similarly pointed, and can be summarized as, “We’ll move it up the priority list when Safari users represent more than 1% of our traffic.”

That’s screwed up on so many levels.

First, there’s the obvious logical difficulty. If Safari users can’t enter the front page of your site, they’re not going to register on your traffic. They’re going to leave. If they’re determined and/or forgiving, like me, they’ll visit with another browser, like Firefox or Camino. (And they’ll see other quirks: for instance, a large chunk of the navigation bar is missing in Firefox, but visible in Camino. And the archives of the Daily News, which I normally would use extensively, are unreachable through any method provided.) The fact that Safari users actually show up can only be attributed to those following links in from other sources directly to pages inside the site. It’s as though they said, why should we try to reach an audience that isn’t buying our product? Well, because they aren’t buying your product, of course.

Second, a small number of disgruntled users can generate a big headache. There are message boards on this site; what if one or two frequent contributors “vanish,” and the remaining community asks, “Whatever happened to Skip?” And it turns out that Skip is unable to reach the boards. Come on over to, though, because everyone can reach that one. And poof, no more community. There is/was at least one message board on the web which exists primarily because I didn’t address a problem quickly enough. (Apparently, they’ve forgotten and/or forgiven, but they didn’t return.)

Finally, in a case like this, cross-browser compatibility isn’t about any one browser in use now. It’s about the Next Big Browser. If your site works well in all the browsers currently in wide use (say, IE/Firefox/Opera/Safari/Camino) it’s less likely to develop a fatal hiccup when IE 7 (for example) surprises everyone. It’s less likely to present problems for Marla Runyan’s screen reader (sorry, Marla’s less than 1% of your audience, right?) It’s more likely to behave predictably everywhere.

Needless to say, it doesn’t validate.

Anyway, they’re blowing me off, so if you can’t get at it, please don’t complain to me; they don’t listen to whiny crackpots.

Now playing: Trouble from Parachutes by Coldplay

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

May 26, 2004

Opening a new browser window confuses users

A few weeks ago, I complained about how so many links insist on opening a new window. Let me decide if I want to keep the original page, I griped; I’ll open the new link in a tab.

Today Adot linked to an article about Seven tricks that web users don’t know. There’s good stuff there (for instance, as many as two thirds of users don’t know that the company logo in the upper-left of a page is usually a link to the site home page,) but the stinger for me was number 7:

7. Second browser windows
I’ve saved this one for last because it’s especially hard to believe—some people can use Windows applications for years without understanding the concept of task switching. (When I point to the task bar and ask them what it’s for, they can’t tell me.) Thus, spawning second browser windows can completely throw users off track because it removes the one thing they are sure how to use: the “Back” button.

This is my ammunition. Next time I’m asked to “make this link open in a new window,” I’ll ask for a good argument, and present this article as my backup. It’s not just an annoyance to me: it’s confusing users!

Now playing: Gardening At Night (Different Vocal mix) from Eponymous by R.E.M.

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

Class online

Last night was the first (and only) physical meeting of the Computer Security course I’m taking over the first part of the summer. It’s an online course, something I’ve never done before. Yes, never. Geek that I am, I think I know myself, and I suspect I’d have trouble focusing on a course without regular class sections to hold my attention. We’ll see.

I’ve had three classes with this professor before (based on my transcript from WSC, you’d think they only had two professors in the CS department,) and this was a typical first meeting for him. The essential information was who he was, when his office hours were, and all the various ways to contact him; I was nearly ten minutes late, but he was still going on that when I arrived. In person, sometimes I feel like he teaches by repetition, presenting the same information three or four different ways just to make sure it sinks in, where I’d prefer to build on the information as soon as I’ve absorbed it.

We also did a rough run-through of the structure of the course. I recognize a lot of the topics on the syllabus, but only as topics; I’ve seen “Kerberos” before, for example, but other than knowing it has something to do with authentication, I couldn’t explain it. That’s good, there’s something for me to learn here.

And, finally, we walked through the software we’d be using to work through the syllabus. The course will be essentially self-paced, using WSC’s WebCT server. I’ve used WebCT in a limited manner for previous courses; this one relies on it. This is interesting to me on a professional level; WebCT is widely used and we’re sometimes asked at work to format ancillary material from our books for use with it. (I’m intrigued to notice that none of the “happy students” photos on WebCT’s home page actually show them gazing into a lit computer screen; in fact, I’m seeing some green chalkboards and pen-and-paper note-taking in there.)

Logging in to WebCT was a minor challenge; your login name is tied to your college ID number, and I was unclear on whether I even had such a number. It turns out that I do, but I use it so infrequently I was unable to even guess the slice of it incorporated in my WebCT login.

Once logged in, we’ve got a series of “lessons” already in WebCT. We attack them at our own pace, but there’s an exam on June 15 and it is strongly suggested that we have reached a certain point by then. The exams are self-scheduled (within a time frame) and taken online; other WebCT resources are a course message board and some Java-based chat “rooms.”

The lessons link to a fair amount of online reading; we’re also required to monitor a “security focused mailing list.” I already subscribe to two SANS lists, but I don’t think that’s quite what he had in mind, so for the time being I’m going to monitor Bugtraq as well.

I’ll be interested to see how this all works out. I’ve learned plenty in my previous WSC courses, but I’ve also felt like they’re pitched for a different kind of student. I’m trying to sponge up all the general principles and foundation I can, in hopes of building an advanced degree on that. Most of my classmates are just looking for a B.S., and either a job, or a raise at the job they’ve got. In many cases, this will be their first degree past high school. They almost make me feel guilty for being so… overqualified?

Perhaps now that class has started, I need an “education” category. (One day, I’ll remember to add categories to the template so you can see the classification I’m doing.)

Now playing: You Wreck Me from Wildflowers by Tom Petty

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

May 21, 2004

Browser discrimination

Well, after I got my whining out of the way, I found some nifty tricks for making our front page work for standards-impaired browsers without sacrificing anything on the nice ones.

It works like this: First, assume all the layout is handled by CSS, with the content in as-bare-as-possible XHTML. (This allows for easy design changes; one just tweaks the styles, rather than messing with markup integrated in the content.) Second, recognize that while most of the CSS works on most of the widely-used browsers, certain specific sections will break on certain specific browsers. So instead of embedding the styles on the page, they get split into two external files. One contains a full layout which works with the widest possible range of browsers. The second contains those sections which break; it is imported using a specific syntax which the “crippled” browsers don’t understand, and overrides the safer style rules.

It’s almost like the height lines at the gates of amusement park rides: if you’re not this tall, you can’t ride. If you don’t understand this syntax, you don’t get the good stuff. I’m sure this is old hat to the professional designers, but I just do this part time (just like I do sysadmin part time, and support, and network admin…) It’s fun for me because it’s something new. I like feeling as though I still have stuff to learn, like I’m still on an upward path.

There’s a great page with a matrix of tweaks like this. I love it. I’ve got most of the people who will be approving the site on modern browsers (actually, all three of them are using Mozilla primarily now) so they’ll see the good stuff. But it will degrade gracefully for the stubborn IE/Mac or Netscape 4 users. (It’ll look a bit plain for them, but it won’t be a godawful train wreck, and that’s worth something.)

Now playing: Moscow Song from Appetite by Kris Delmhorst

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

May 20, 2004

PHP is far too cool

I’ve learned PHP mainly from looking at other people’s code and consulting books and the online manual when I didn’t understand something I saw. I’ve been using it for a bit more than two years now, but there are still large, sometimes very useful sections of the language which I’m still learning. This will probably be true for years to come.

Take, for example, getimagesize(). For years, I learned that pages render faster when the width and height of the image are specified in the code; that step allows the browser to allow space for the image immediately and lay out the page before the image is received from the server. If the size isn’t set, the image has to be downloaded for the browser to determine its size and lay out the page around it.

On the other side of the coin, PHP led me in to dynamic pages that had to include images, frequently without knowing the size. (For example, catalog detail pages on our company site will include a cover image only if the image exists; if not, the image tag isn’t written. The cover images vary slightly in size, so hard-coding the dimensions in the templates is out.) So in the name of flexibility, I left out the image size and simply included the reference.

With getimagesize(), I can check the size on the server side (conveniently skipping the “is it really there” step, which is included,) and write a complete image tag. I can even use fewer steps to check if the file is JPEG or PNG. Excellent.

(Look, most of the people I know read this now and then are probably much less impressed than I am. But here in the office, I’ll just get blank looks, and I’m excited about this. So nod politely, I’ll get back to less geeky stuff someday.)

For example, given the book keyed in our database as 0914, I can write this in the template (assuming $last4 is the database key, and $title and $author have already been determined from the database):

if ($img_size = (getimagesize("images/$last4.png")) || (($img_size = getimagesize("images/$last4.jpg"))) {   
    list($width, $height, $type, $attr) = $img_size // Get individual variables from the array
    switch ($type) {
        case 1:
            $filestring = "images/" . $last4 . ".gif";
        case 2:
            $filestring = "images/" . $last4 . ".jpg";
        case 3:
            $filestring = "images/" . $last4 . ".png";
    echo "<img src=\"$filestring\" alt=\"$author: $title\" style=\"width: $width px; height: $height px; margin: 8px; float: left;\">\r";    

and get this HTML out:

<img src="images/0914.jpg" alt="Coyne and Orr: Speciation" style="width: 125 px; height: 165 px; margin: 8px; float: left;">

That’s the XHTML; for HTML 4.x, I could drop in the $attr variable instead of the CSS size definition; it’s wasted in XHTML. I think. Technically, I could even drop in a Shockwave animation, but I don’t really think we’re there yet.

I realize this is probably neat like digital watches, but it’s already made my day.

Edit: Damn, I can tighten that up even more and save a variable…

Now playing: Within Your Reach from Hootenanny by The Replacements

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

May 19, 2004

The sound of one browser clapping

I am, nearly constantly, stumbling across bits of writing on the web that I want to quote, or link, or something. Maybe in someone else’s weblog, like Kasia being sick of gas-price complaints; she’s a lot more direct than I was. (Of course, as near as I can tell, Kasia is more direct than I am.) Maybe a news article or opinion piece like a Bell Lap in Runner’s World (frustratingly, they’ve just redesigned and broken all my links back to my old articles, not to mention broken the entire site for Safari despite my complaints, and a whole bunch of little glitches—c’mon, guys, you’ve had over a week. Get on the stick.) Something someone says in one or another mailing list I’m on. Or even a bit of new software, like Camino 0.8, which is so slick it might even take me away from Safari.

I’m not sure what the point of it all would be, though. I think it’s an applause reflex: yes, I like that. It’s the same motivation I have for putting other weblogs in the link column; it’s not as though anyone’s looking to me for more reading. It’s more of a nod to the writer, polite clapping, encouragement. But, just as I learned to stifle the “me too” reflex on email lists, I’m trying to resist the urge to fill this space with applause.

Maybe it’s a downside to doing a lot of my weblog reading in NetNewsWire; when you read the feed, you have to make an effort to head over and read the comments (if any.) I forget that this isn’t the only place where I have a voice.

Now playing: Pearls from Mercurotones by The Buck Pets

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

May 18, 2004


It’s probably a little over-simplistic to imagine some great accounting of righteousness in our lives that levels the pinball table every time we try to tip it, but it certainly helps sometimes.

I’ve been something of a slacker at work lately. I enjoy what I do, and I love the middle stages of a project where the problems have been identified and I’m finding the tools, fitting them to the task, and really getting into the meat of it. My problem is that I loathe the final stages, the going back and sanding off the rough edges left by the tools, the interminable finding of little details which need fixing. As a company, the reaching for perfection we do in the final stages of a project is what makes us what we are; we do good work, and that’s why we’re successful. As an individual, I get itchy. Discovering that my big batch jobs converting EPS book art into JPEG files missed nearly every table in a twenty-eight-chapter book, for example, makes my skin crawl. Instead of the comfortable big batch job that runs in the background for a few hours, I will have to open each of the files, “fix” them slightly, and send them through the process in runs of one to five at a time. They will have to “catch up.”

Same thing with final checks on CD-ROMs. Inevitably they are hybrid CDs, with marginally different file structures for Macs and Windows systems, and the spell recited to make them come out properly is complex, but we will repeat it four, five, six times, fixing one or two spelling errors or bad links each time. Inevitably we’ll find the one we missed two or three weeks after it has gone for reproduction.

It’s tedious, it’s exacting, it makes me itch to be outside and moving instead of sitting here. But we’ve got two projects in final stages right now, two batches of tetchy little fixes requiring my attention. I feel like a small child resisting vegetables, but I need to do this stuff. First, because not fixing the problems just puts them off, and exposes the errors to customers, which is A Bad Thing. Second, because I’ve done an unacceptable amount of slacking in the past few months, and I should make up for it somewhere—even if I’m the only one who knows about both the slacking and the make-up. Karma, you see. It knows.

Now playing: I Miss You from Post by Bjork

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

May 14, 2004

What's the frequency?

When things are slow at work, I write more.

Things aren’t slow at work right now.

Now playing: Backwards World from Spirit Touches Ground by Josh Clayton-Felt

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

May 12, 2004

New season's line, continued

Well, the reduction is, at least tentatively, complete. (The covers are “artificially” reduced—scaled by your browser—because I don’t want to produce Yet Another Complete Set of Covers if they decide to change the size again.)

The part that really got to me was reducing the cheetah. (I almost said “downsizing,” but he’s still got a job.) Because, you know, cheetahs never win.

If this site looks a little skewed, I was playing with the CSS last night. I stopped when I decided I really need to start from the ground up instead of munging what’s already here.

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

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

May 7, 2004

Cats, bags, etc.

I was talking to my parents last night. (I do this, now and then.) We were discussing the topic of the Family Business website, and how one would find it. We share a name with one of those impossible-to-spell Maine counties with a Native American name. When I search Google using the name of the county (ending in “c”) I can’t find the business (which ends with a “ck,” the “correct spelling.”) So I had to pitch two unfamiliar ideas to my parents: first, people don’t find you through links, particularly links from Chamber of Commerce websites. They find you by searching the web. Second, people can’t spell, so it’s worthwhile to include a number of common misspellings of your name at least in the <meta> tags on your site. (Or you can go the Google route and register misspelled domain names. Come to think of it, we should do that here at work.)

At some point, my father said something about how the chamber of commerce site was getting “45 hits a day.” That number is probably wrong (not to mention vague: who talks about “hits” nowadays?) and he admitted that, but in my disbelief I coughed up something like, “45? I get more than that on!” (Because, you know, you’d think a minor city on the coast of Maine could pick up more traffic than me.) I knew this might be a tactical error when it was half out of my mouth, and sure enough, Dad followed up with, “Why would anyone go there?”

Anyway, Mom, Dad, nice to see you here.

Now playing: Every Picture Tells A Story from Georgia Satellites by The Georgia Satellites

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

A little more about browsers

In my Wednesday post about Use a Better Browser, I mentioned my frustration trying to develop websites for a browser with uneven standards support, like Internet Explorer. You wouldn’t think this would be an issue, would you? After all, HTML is HTML, right?

Here’s one problem: starting in the mid-90s, web developers learned they could pop open new browser windows, and commercial sites started using this technique extensively so they could link to outside sites without “losing” the customer to a link. I used to deliberately open new windows if I wanted to come back to the source page (right-click or command-click, open link in new window.) I’d wind up with a screenful of open browser windows. (My supervisor still lives in this world. Every CD or site I do, he comes back with a list of links that should, in his opinion, open in new windows.)

Then, along came tabbed browsing, first in Mozilla, then Chimera (now Camino), then Safari. Now everyone (except IE) has it. I open a single browser window with a slew of tabs. And I get annoyed when a link opens a new window: if I wanted a new window, I’d open one. Otherwise, let me open it in a tab. (Yes, I recognize that’s an issue on this site. Many of the links still use the Movable Type default behavior, and I haven’t made changing them enough of a priority that it’s actually happening.)

I thought about this when I was reading Dan Cederholm’s latest SimpleQuiz, which is about what you do when someone insists you open a new window with that link. One of the suggestions in the comments was a technique explained on, which deals with exactly the frustration I had. Still, reading the comments on Dan’s entry shows how complicated such a simple thing gets.

Meanwhile, on the “petulant web developer wishes the world would change to make his life easier” theme, one of the comments to the Wednesday post (which is threatening to set a Flashes of Panic record for comments by people I don’t actually know) led me to DASDUA, “Developers Against Standards Deficient User Agents.” Now, here’s a whiny organization. It reminds me of the point, somewhere in my age-group soccer time, when I thought to myself, “This game would be a lot easier if the other team wasn’t here.” Well, yeah…

Now playing: Bring A Gun from Seven by James

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

May 5, 2004

Browser upgrade

If you were looking at this in any browser but Microsoft Internet Explorer, it would look and run better and faster.

Dori called attention to the Use a Better Browser campaign yesterday, and I actually wound up staying up late reading some of the links, including the excellent article from Tim Bray explaining why we can’t (shouldn’t, won’t) be tied down by the browsing capabilities built in to Windows. (I like his illustrations, too.)

I’ve been frustrated many a time attempting to create a site design which is valid (X)HTML and CSS, but also works well across the spectrum of browsers. Inevitably, I wind up compromising part of the design because it is both really slick in “standards-compliant” browsers, and an awful train wreck in Explorer. (Concrete example: has a company logo floating under the navigation bars. That’s supposed to be anchored to the bottom of the browser window, but you can’t do that in IE; if you try, it works everywhere else, but in IE it winds up running over the chapter selection menu.)

Based on that paragraph, I wouldn’t bother posting this, because if the only message of “Use a Better Browser” was, “Get rid of the software you’re comfortable with and have a bookmark investment in so that I can have an easier time doing my job,” it wouldn’t be worth doing. There will always be people using IE, and as a site builder I will always have to allow for them, even if they’re less than 10% of visitors to a site. Evangelism won’t change that.

The message, which Bray makes clear, is that using a “modern” browser (such as Mozilla, Firefox, Opera, or Safari) actually provides a better Web experience. They render pages faster. Many designers are taking advantage of tweaks and quirks to hide features from IE (because they’re “broken” there) and display them in the newer browsers which can take advantage of them. And there are upcoming technologies, like SVG (Scalable Vector Graphics) which improve the online experience, and which IE will not support until Longhorn, which we’re now hearing might not arrive until 2006. Not convinced? All four of these browsers have pop-up ad blocking built in. (I haven’t checked Opera, but I’m sure it’s not missing there.) Microsoft is just now admitting that might not be a bad idea.

Looking backward, there’s the security issue. I think I download and install a Microsoft security patch for IE on a twice-monthly basis. Personally, it’s a mild annoyance. As someone also responsible for a small network and slew of desktop machines, it’s a colossal pain. It is much, much easier for me to advocate Mozilla in-house, and help my users switch over. Every one who has made the switch has remarked on the improvement.

So, just like the security CD, I’ll make this a standing offer. If you’re switching from IE to Mozilla or Firefox on a PC, and need help moving your bookmarks or switching the default web application in Windows, let me know. (In the unlikely event that I don’t already know you, please remind me that you saw this here.) I’ll provide email support (and faster, probably, than can, since I have lower volume.)

Posted by pjm at 10:36 AM | Comments (2)

April 28, 2004

Truth in advertising

I agree with Sherry that it can be entertaining to watch the search strings people use to find you. But I spotted one today which I just can’t let stand. If you’re coming to me looking for advice on “faster swim turns,” you need to move right along. The other week I nearly gave myself a black eye with my own knee while doing a flip turn; I think I need help as much, if not more, than you do.

Is there any way I can reduce where I come up in Google for some terms? This is why I haven’t mentioned a certain ex-WRSI personality with a show on Air America recently.

Now playing: City Full Of Ghosts from the album Bring ‘Em All In by Mike Scott

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

April 15, 2004


After a few weeks of cursory glances at (OK, obsessive combing of) the site traffic report, you get used to some standard spiders, like the googlebot. When you’re a low-traffic site like this one, there’s a little anticipatory glee: hey, more traffic from random Google searches for “drive not ready system halted” (try switching the ribbon cable plugs, dude) or “morning africa antelope” (just get the relative speeds right) or “panic girls” (sorry, can’t help you there.)

On the other hand, for the last day or so there’s been Tutorial Crawler 1.4.

Now, the discussion I found on Webmaster World was pretty mixed. The spider follows the robot exclusion protocol. It doesn’t hit your server hard. But, damn if it doesn’t index everything three or four times. For the last few days, it’s been the number one browser type on this site, outstripping both IE/Win (the most common web browser in the world—I’d say “most popular,” but not everyone who has to use it, likes it) and Safari, which is used by this site’s biggest visitor, me.

And there’s nothing even remotely resembling a tutorial on this site, which is what it claims to be indexing. Nor am I seeing return traffic from their search engine.

Friend or parasite? I can’t tell. At least I know if I close the door, they’ll stay out, unlike the spambots.

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

April 12, 2004


On the back of a recent, “classic” greeting card, I find the following (which can be loud, so check your speakers):

Oddly enough, that’s not the tune I had imagined for that particular song. And I do wish they hadn’t chosen to do the whole thing in Flash. It doesn’t seem to go, somehow, with someone known for two-color illustrations and simple line drawings.

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

April 8, 2004

Voice in context

I was looking at Bill McKibben’s Long Distance today and noticed a curious phrase in the description:

At the age of 37, bestselling author and journalist Bill McKibben stepped out of the ordinary routine of his life to spend a year in “real training” as a cross-country skier. With the help of a trainer-slash-guru, McKibben took on a regimen equivalent to that of an Olympic endurance athlete’s, running and skiing for hours every day in preparation for a series of grueling long-distance ski races.

Notice what I did? Yeah, that phrase “trainer-slash-guru” really sticks when it’s in print, doesn’t it. Why spell out the slash when it’s there, typographically, to be used? There’s a time when you can get away with that, and that’s when you’re representing people’s spoken words in print (which is not the case here.)

I wonder what happened there? Overzealous dictation from a writer who works best speaking out loud? Quirky style from an equally quirky editor? Either way, it jolted me out of the stream.

Still, the same thing happens daily when people try to represent the text strings of computer jargon in speech. Ever dictated an URL over the phone (or on the radio? How long before the NPR announcers figured out that they had to spell out “cref” in “”?) “Aitch-tea-tea-pea colon slash slash…”

So, poetry entry for the day, thanks to Calvin College (College, not Coolidge…)



Waka waka bang splat tick tick hash,
Caret at back-tick dollar dollar dash,
Bang splat tick dollar under-score,
Percent splat waka waka number four,
Ampersand right-paren dot dot slash,
Vertical-bar curly-bracket tilde tilde CRASH.

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

April 5, 2004

It can't be coincidence

Notice a pattern?

And those are just the ones I’ve noticed. I guess, if I should ever rename this weblog in order to be popular, I’ll need to register, or some such, just to maintain my own literary theme:

Oh many a peer of England brews
Livelier liquor than the Muse,
And malt does more than Milton can
To justify God’s ways to man.
Ale, man, ale’s the stuff to drink
For fellows whom it hurts to think:
Look into the pewter pot
To see the world as the world’s not.

Something tells me… yep, is already gone.

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

March 31, 2004

That high school back East

Not only did the Amherst Regional H.S. create an immense local argument (apparently a tradition for ARHS, which also drew significant fire for cancelling West Side Story as culturally insensitive) by staging The Vagina Monologues, but they’ve managed to embarass Autumn all the way out in Montana.

Despite rumors to the contrary, I hear there are some conservatives in Amherst. Can’t say that I’ve met any myself, but I’ve heard stories.

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

March 29, 2004

Going through the dead zone

I’m not planning on making a habit of short posts with links, no matter how Halley Suitt thinks I should be doing it, but this (which I found through Ralph at There Is No Cat) is too striking not to share.

Rides through the Chernobyl restricted zone. “…[a] town where one can ride with no stoplights, no police” and no danger of hitting a pedestrian.

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

March 26, 2004

Note to self: robots

I’m tightening up some things behind the scenes here. Spiders hitting this site aren’t an issue yet, but I should remember to reread this when they are.

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

March 23, 2004

Busted Crayons

These things seem to come in bursts. My posts, I mean.

Via Wendy, I find Busted Crayons. Genia was a classmate of ours through junior high. Like many of the people I knew then, I don’t think I’d even thought of her for, oh, a decade or so. (Out of sight, out of mind? Slava Bogu for the ones who refuse to stay out of sight.) Wow. Cool.

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

March 22, 2004

Front and Centre

That’s the name of Wendy’s new weblog. (Quick background: Wendy is Tom’s wife, which feels like a backwards way of introducing her; I met her in Junior High, and didn’t meet him until they were both in Pennsylvania getting ready to get married.) She hasn’t posted much yet, but we’ll see.

I like this name, because the faux-quaint spelling of “Centre” is not Wendy’s; it describes the location of the sidewalk clock pictured on the front page, which is at the corner of Front and Centre Streets in our hometown. I have a magnet depicting the same clock on the fridge. I would not have remembered that it is spelled that way, because locations “in town” are usually discussed verbally and seldom in print. (I have never actually lived in this city, but in a low-population outlying town which makes it easier to just say, I’m from this city.) Our downtown seemed to specialize in quaint spellings; the “Hobby Shoppe” confused me no end when I was too young to figure out what they were up to. Still, they’ve got nothing on the “Olde Hadleigh Grille” down here in Hadley, which isn’t even all that old, nor is it very near the “Olde” part of Hadley.

So, um, neat visual pun. And Hi to Wendy. (See, I did have a point.)

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

March 21, 2004

More tinkering

Oh, cool, I can embed PHP in the MT template. The new “Last five freelance articles” list in the left bar will update whenever I add an article to my clips database. (If only I could automate updates to that database, alas.) I wonder what else I can add. I thought about “last five races,” but that goes back about a year now. Maybe if I raced more often.

Right now, I might be better served clarifying the semantics of the template itself—too many places, in my opinion, where head levels and lists should be used instead of (for example) a series of links with line breaks. Hey, if it’s a list, code it as a list.

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

March 19, 2004

More Markdown

I’ve been using Markdown as a Movable Type plugin for a few days now, and I’m enjoying it, because it reduces the amount of coding I need to do within posts.

The author, John Gruber, just posted a very convincing argument for why it’s useful, not that I needed convincing, but in the process raised issues in XML/RSS/Atom that I wasn’t aware of. He also made a few good points about the utility of weblog software which I think I understood inherently, but not as clearly.

Simply put, weblog software isn’t software for producing HTML; it’s software for managing collections of posts. And, he extends, “posts” should not need to be snippets of HTML, but articles or arguments or letters—something which can be written, not coded.

This may be the thinking I need to make the last steps towards real usability in the homegrown CMA I’ve been evolving at work. (Version 0.1 is powering; Version 0.2 is running

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

March 18, 2004

Slightly smaller breakfast

Not that anyone is looking to me to figure out where Rachel Maddow went (though apparently someone found me via a Google search on that name), but since I’ve taken the Big Breakfast out of the links list, I figure I should offer at least the token update I’ve heard. (By the way… I wonder how many people using the “blogroll” phrase for the links list are familiar with the etymology of the term? I think more of you all than that.)

I took down the link because, while Bill Dwight is doing just fine with the radio bit, the weblogging bit has really gone downhill.

Meanwhile, the improbably named Tiger Beat confirmed what Maddow told us herself, that she’s going to New York to be part of the new Air America radio network (better known as the future host of Al Franken’s “The O’Franken Factor.”) The fun part which Steve pointed out is that the program listing is now up. Maddow is part of a nine-to-noon morning show, co-hosting with Chuck D.! No word on continuing weblogging.

Update: The Valley Advocate’s current cover story is titled, “Can Bill Dwight fill Rachel Maddow’s Shoes?

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

March 9, 2004


Height of geekdom: I should have a site icon. You know, for the address bar. You've seen them.

Suggestions welcome.

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

March 8, 2004

Not a guinea pig

ETS, the wonderful people who do the GRE (don't worry, I wrote that sentence looking for the absurdity) emailed me (and, undoubtedly, a few thousand others who took the GRE in the past year) asking if I would test new questions for them, and get paid for it. (As opposed to the usual GRE CAT, where we pay them to test questions on us.)

Apparently such testing can't be done with a Mac, though. Too bad. Not that I have the time for such frivolity, but I will miss taking their money.

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

March 3, 2004

Echo chamber

One problem I find with "so many" people writing weblogs is that I find, after I've posted something, that any number of other people have covered it much better than I did. Through Halley Suitt I found Jonathon Delacour's discussion of relationships and connections in the weblogging community, which includes more links to some good stuff, some of which I've read and some which I haven't. (I recommend the Stavros the Wonderchicken article, if you have time to read it, especially the part about writing whatever you want, however well you want to, whether or not you think anyone's reading.)

I am too new here to have a community, I think, but it's fun sometimes to look at the few links so far. For instance, somewhere I was found by Nancy McGough, who was responsible for my start(s) with mail filtering in college and again when I got here and became a mail admin through her procmail quick start. She's using a very interesting (from my point of view) software package, but as far as I can tell, Nancy has never been shy about finding potential in interesting new software packages. (Wikis spring to mind.) Anyway, it was a tickle to see that nice reference in my logs.

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

March 1, 2004

Must stop following links...

Found at Flutterby:

Mom: "Should I get one of those Pentiums I see advertised on TV all the time?"
Me: "Do you want me to help you with it if you have a problem?"
Mom: "Well, yes."
Me: "Then get a Mac."
Mom: "Oh. Okay."
Total number of technical support calls fielded by me regarding my mom's computer over the past five years: two or three.

I should point out that my mother was bright enough to get a Mac without my help.

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

Weblogs vs. reality

Blue Rabbit commented on my earlier "Apolitical (we)blogging" post, and raised a point I think is better not buried in the comments. Simply put, according to this report, people who have contributed to weblogs (and that's including every updated-sometimes and dead LiveJournal as well as the busy, happening "celebrity" webloggers) represent about one in every twenty internet users. And internet users are just about two thirds of the country? So, about one in every thirty Americans has, at some point, posted to a weblog. Ten percent of them (so, roughly one in every three hundred Americans) claim to post more frequently than once a week.

That may be a "community," but it's not a "population" and probably not even a "demographic." The idea that the other two hundred ninety-nine are listening carefully to the one, while not entirely absurd, seems a little bit optimistic to me.

What it reminds me of more than anything is the sort of attitude our area takes towards politics. The two towns I've lived in around here are painfully liberal, not enough that anyone has applied the clichè "People's Republic Of" to them, but enough that "contested election" means the Green Party put in a candidate, and the "W: Let's not elect him in 2004, either" stickers are dense in the parking lots. The general attitude towards the current presidential election is that of course the current administration has done so much damage that of course the righteous rage of the nation will sweep him from office in November. I feel like this is, at best, a head-in-the-sand attitude; after all, pretty much half the nation did vote for the current president in 2004, and just because he's managed to tick off a liberal college town in Massachusetts (as one of my hall residents put it nearly ten years ago, "this commie college in this commie state") doesn't mean he's going to lose enough electoral votes to lose the election.

In other words, just because all your neighbors agree with you, doesn't mean the whole country does.

The reason Halley Suitt is right about political weblogs being less interesting than the regular-people's-lives weblogs (at least, I think she's right) is that regular-people's-lives weblogs are interacting with the so-called "real world" (by which I mean, any community built around something other than the internet.) Political weblogs are arguing with the television and each other, and don't feel real any more. They're only talking to their ideological neighbors, and they think this means everyone sees the world the way they do.

Meanwhile, because I'm multitasking as usual, I need to figure out why Photoshop won't see this EPS the way I do. Do I need to open it in &$%# Classic Mode again?

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

Learning through puzzles

A weblog I really need to include on the links list is Dan Cederholm's SimpleBits, which I found through A List Apart. Dan is a web designer, and he has been running a series of "SimpleQuiz" features which raise issues of sound HTML design by posing puzzles. The most recent quiz, for instance, asks how one would code a string of text which requires emphasis, bold, and italics. Sounds simple, right? Not so, and the discussion is always interesting for someone like me who is trying to get more comfortable with "standards-based" layout.

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

February 26, 2004

Quotes and hyperlinks

"inside" or "outside"? I can't tell. It seems to matter mostly in the underlining. Opinions?

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

February 25, 2004

What a geek

(Undoubtedly the first in a series.)

I was just thinking, sure the current MT template I have might validate (I actually haven't checked yet, which might save me from irredeemable geekness), but is it semantically correct?

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

February 19, 2004

Well-designed Weblogs

Oh, cool. Via's links, I find Well Designed Weblogs. Just in time. I'll be spending some time with this while I puzzle out where Flashes of Panic is headed.

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