Posts from March 2005


Published 19 years, 2 months past

Just a quick update to say that work on both S5 and Gatekeeper has come to a screeching, if temporary, halt.  On the last night of SXSW, my PowerBook started suffering frequent kernel panics with no apparent source—they happened after an hour of trouble-free operation, thirty seconds after logging in, ten seconds into the reboot process, etc., etc.  Occasionally, they’d happen in such a way that the computer could neither be shut down nor booted up with the power key.  I had to pop out the battery and start again.

And why didn’t I boot off the OS X install DVD that came with it in an attempt to fix the problem?  Because the DVD drive stopped working a few weeks ago.  For all I know, some short in its circuitry got bad enough to start panicking the kernel.  I hadn’t gotten it fixed because with all of the conferences and other work, I couldn’t afford to be without the machine for two days, let alone a week.  I’m just thankful that the system held out until after SXSW, when I have some time to spare.

So for the next several days, I’ll be working off of my trusty old G4/500, running OS 9.1.  Since it doesn’t have a local copy of Apache running (it being Classic OS and all), I can’t do live testing of Gatekeeper, so it’s on pause.  The laptop is also where I have Virtual PC running, so any further coding work on S5 will have to wait.

All this has me wondering, though—is it reasonable to run OS X on a G4/500 with 384MB of RAM and an ATI 8MB VRAM card?  I don’t have the hard drive space to do so right now, although I’m about to fix that.  I’m just wondering if it would be worth it to try to run OS X on this guy.  Anyone have any experiences along those lines?


Published 19 years, 2 months past

So late this morning—that would make it the fifth and final day of the conference—I was doing what everyone else in the freakin’ conference was doing, and taking pictures of attendees while standing in the hallway.  As I held up the camera to get a high-angle shot of a group of friends, one of the badge checkers was suddenly leaning around me to look at something.  “You don’t have a press tag on the camera,” she said.

“No, I don’t; it’s a personal camera,” I told her.

“You still have get a tag,” she said.

“You’re kidding,” I said.  But she wasn’t.  I offered to put the camera away, but she wasn’t really satisfied with that.  “You’ll just pull it back out again, won’t you?”

She was right, of course, but that just didn’t seem like a problem to me.  She said, “All right, I’ll tell you what.  When you get a chance, go down to the press booth and get a tag.  All right?”

Now, most people would have agreed just to get her to go away and ignored the request.  But me, I’m a little different.  My sense of the totally absurd had been engaged, and I decided to do just as she had suggested and obtain a press tag.  Porter Glendinning, having heard the story and possessing a similar sense of the absurd, came along to pick up one of his own.

So yes, along with Porter, I am now duly authorized and my camera tagged with badge #331 to indicate that I am an official SXSW Videographer/Photographer, and as such am permitted to take pictures of people standing around in hallways talking.  Also, I have official authorization to take pictures of people taking pictures with their own personal non-tagged cameras.  That’s fun too.

A picture of the press-tagged camera.

A Clarification

Published 19 years, 2 months past

So at the end of “Where Are the Women of Web Design”, someone made a comment to the effect that the conference seemed very sexist, and that there was too much sexual content—that the conference isn’t a boys’ club, so we should knock off the dirty jokes.  I asked a question of that person in response, but rather grievously misspoke in doing so.  Here’s what I actually said:

Are those same people offended by all the sexism in mainstream advertising?

What I meant to say was:

Are those same people offended by all the sex in mainstream advertising?

My sincere apologies for any confusion or misunderstanding my mistake may have caused.

Emergent Semantics

Published 19 years, 2 months past

Just a quick link to my slide deck (when did that term gain currency, and why didn’t I get a memo?) for “Emergent Semantics“.  I was honestly surprised by the number of attendees, and there were some great questions and ideas from audience members.  Throughout the rest of the day, I had some great conversations with people about their own microformat ideas.  Another measure of the level of interest in microformats and the semantic web was attendance at Tantek’s “The Elements of Meaningful XHTML“, which was so heavy that after the seats and floor space in his room filled up, a knot of people stood outside the door, turning their heads slightly and standing on tiptoe in an attempt to hear what he was saying.

On a very related note, I’ve updated my blogroll with some new met values.  I’ve met a ton of people I’d never met before, and hope to meet still more—so if I do assemble a metroll, it’ll have to wait until I get home.

Deep Linking, Shallow Thinking

Published 19 years, 2 months past

So a few weeks ago you might have noticed a bit of brouhaha that surrounded the new Terms and Conditions for, set to go into effect today.  For anyone who missed or forgot about it, a refresher:  in Section 6, you find this wonderful bit of total cluelessness:

We reserve the right to require you to remove links to the Site, in our sole discretion.

Linking to any page of the Site other than to the homepage is strictly prohibited in the absence of a separate linking agreement with Orbitz.

So under their Terms and Conditions, it would be forbidden for me to point to a press release that announces Orbitz suing some former employees; or to their mangled-markup list of press releases; or, for that matter, to a medium-resolution JPEG of the Orbitz logo (which is rather ominously referred to in the Terms and Conditions as a “Mark of Orbitz”, which sounds like something that might have been mentioned in the first draft of the Book of Revelation).

It should be noted, however, that Section 4 of the old Terms and Conditions contains this amazing little gem:

You agree not to create a link from any Web site, including any site controlled by you, to our site.

Because nothing could be worse than increasing traffic to your site.

So yes, this post is in complete violation of the both the old and new Terms and Conditions for  And if I had ever been, or ever planned to be, a customer of Orbitz—thus agreeing to said Terms and Conditions—that might actually bother me for a second or two.  But, as they say:

If you do not accept all of these terms, then please do not use these websites.

Boys, you got yourselves a deal.

Social Protocols

Published 19 years, 2 months past

Seems like half the Web is already at SXSW, and I’ll be there myself soon.  For those of you who love to build networks out of your social contacts at such events, Tantek’s recently shared the secret of metrolling, which is a great way to get into XFN if you haven’t already.  I’m already planning to add metrolling to my presentation on Sunday as an example of ground-up semantics.  (And I really wish I could be at the Semantic Web panel on Monday, but it’s at the same time as “Women of Web Design”… oh well.)

It’s interesting to see how interest in evolutionary semantics is itself evolving.  A recent example of this is David Berlind‘s ZDNet article “Will social networks give way to social protocols?“.  I firmly believe the answer to be “yes”, even though there are a lot of skeptics (some of them on conference review committees, as it turns out).  Berlind clearly understands the advantage of social protocols.

You might then wonder, “Then what’s up with you writing a whole document about how to set up XFN ‘me’ values in a bunch of services?”  At this stage of social networking, that sort of thing is necessary.  Without interim steps, the information sitting in those services will stay scattered and isolated.  Thanks to the me value, XFN offers a very simple, lightweight solution to the problem of identity consolidation.  As I recently wrote in a poster proposal:

As the Web has evolved, a number of personal-information sites have arisen.  Some of these sites exist to help create and increase professional contacts; others are intended to help bring together one’s friends or even find potential mates.  In every case, however, the user must create a new profile for each site.  Each of these profiles constitutes a small island of identity.  Over time, a person can end up with a fairly extensive identity archipelago.

Unfortunately, there has… been no easily created machine-discoverable way to bridge the gaps between the islands.  An author might publish a page containing links to all his profiles, but to an indexing engine, these links are no more or less notable than his links to the latest amusing Flash animations.

With XFN, it becomes very easy for an author to annotate a link to indicate that its destination is one of the islands in his identity archipelago.  This kind of link is referred to as a “me” link throughout the rest of this paper.  By creating symmetric links between the islands, the author can make it possible to consolidate the various pieces of his online identity into a more cohesive whole.

The same is true for a person’s links to other people.  By pulling them all into one place, or at least by marking them all with XFN and then using “me” links to tie together all the bits of his identity archipelago, real social networking start to emerge.

Now, one of the things that people like to carp about is the limits of XFN.  The first of the two most common complaints are that it’s impossible to capture the full range of human relationships in fifteen words.  We agree.  The other complaint is that we only picked “positive” terms; that is, we have friend but not enemy.  We did that on purpose, as we explained; besides, it’s called XHTML Friends Network, which should be kind of a clue.  Apparently this choice makes us arrogant, or clueless, or some combination thereof.  Maybe that’s so.  What I find interesting is that the people who complain that we didn’t include their preferred relationship terms never do anything about it.  They just complain.  What’s so interesting to me is that the guys who decided to focus on the positive went out and did something; those who want to mix in the negative seem to have nothing to offer except complaints.  That says something, I think.

Because XFN is not, nor was it ever meant or represented to be, the final word on social protocols.  We fully expect it to either be improved, or else superseded.  Suppose one of the critics actually did something to address his concerns, and published an “XHTML Relationships Network”.  This could include all the XFN values, plus their negative counterparts, plus whatever else is thought to be useful by the author(s) of this new XRN.  At that point, you have competing protocols.  The more useful one will win.  The loser will be eventually discarded, although some of its memetic genes may live on.  This isn’t a problem: it’s a strength.

It’s also in many ways the entire point of XHTML Meta Data Profiles.  See a need to fill?  Fill it!  At the end of his column, Berlind says in an update:

Looking at the XFN profile, it suddenly dawned on me that perhaps there should be an XBN/XB2BN that’s strictly for the relationships between businesspeople/businesses. Thoughts?

Here are my thoughts: go for it!  He’s almost certainly right that there’s utility in such a protocol.  All it takes now is for someone to look at the problem and write up an XMDP-based protocol that solves the problem.  The microformat approach makes this so simple, pretty much anyone could do it.  What’s needed is someone who actually will do it.

At some point down the road, it’s possible that the protocols that define personal and professional relationships would merge.  Again, that’s completely in keeping with the vision we have.  The whole point of this kind of ad-hoc semantic enrichment is that it’s evolutionary.  New players will enter the field, and will either prosper or wither.  Anyone can join in.  There is no star chamber of lofty experts to say whether your idea passes some sort of ideological muster.  It’s a great big landscape, and there a million conceptual niches to be filled.

As those niches are filled, the ways in which different protocols interact can trigger truly astounding results… but for thoughts on that aspect of the whole subject, you’ll have to come see my talk.

Gatekeeper 1.5 RC2

Published 19 years, 2 months past

Thanks to the good offices of Server Logistics (providers of the Complete MySQL package) and Jonas Luster (who gave me the database import command I actually needed) I brought my local copy of WordPress back up to speed last night and was able to test the Gatekeeper update script.  Thus, WP-Gatekeeper RC2 makes its debut.

Here’s what changed:

  • Added “reset to default” links for the challenges and the markup template on the management page.  Remember that if you say “OK” to the pop-up dialog box, the data will be reset to install default and there’s no going back.
  • Fixed a bug where logged-in users still had to answer the Gatekeeper challenge.  Now there should be no challenge for logged-in users.  This assumes that your install allows people to register and log in, of course.  (Thanks, ColdForged!)
  • Tweaked the scanning routines to be more cross-platform friendly, the form scanning to be kinder to 1.5 themes that were ported from 1.2 installs, and fixed (I think) a slash-insertion bug that could affect the markup template.  (Thanks, Scott!)
  • Added theme-root support.  (Thanks, Terrence!)
  • Changed the gatekeeper_default_template option to be called gatekeeper_markup instead.

That last change was the original motivation to create the update script, since the plugin would break without updating the option name.  While I was at it, I decided to throw in routines to let users of the 1.0b1 version migrate their challenges over to version 1.5 and then delete the old tables.

So if you’ve run any previous version of WP-Gatekeeper, you’ll need to download and run the update script.  It’s called wp-gk-rc2-update.php.  To run it, uncompress the archive and drop the PHP file into your main WordPress directory, then load it up in a Web browser.  From there, the script should walk you through the update procedure.  If you’ve only ever used  GK 1.5 RC1, then it will be two steps and painless.  If you were running 1.0b1, then it’ll be three or so steps and still painless.  (Unless of course I have bugs, in which case there may be pain.)

Basically, you’ll need to run the updater either immediately before you install the RC2 plugin, or immediately after.  In the interval between the two, there will be trouble.  I’m sorry, but I don’t know of a way toclose that window.  My recommendation is to run the update script and then drop the plugin into your plugins directory as soon as the updater finishes.  However many seconds passes between the two will be the window of possible breakage.

So there you have it.  Assuming no problems are encountered, the plugin will reach 1.5 final within the next week.  Let me know if you hit any roadblocks or see ways in which the code can be improved.

Update: problems have been encountered.  The automatic-placement routines seem to have failed, so no challenge will appear unless you use the gatekeeper_pose_challenge() call in your comment form template.  This means nobody will be able to post unless they’re logged in (and maybe not even then).  I’ll post an update as soon as I figure out what’s failing and how to fix it.  Sorry for any inconvenience!


Published 19 years, 2 months past

I have two coding projects going, and both are for the moment stalled.  Maybe you can help.

The more recent of the two is WP-Gatekeeper, which is almost ready to go from RC1 to RC2 except for one tiny little problem: I upgraded my local copy of MySQL, and it blew away my WordPress database.  So I mysqldumped the database from, copied it down to my hard drive, and tried to mysqlimport it.  And tried, and tried, and tried, until eventually my eyes started bleeding.  No dice.  Therefore, no possible chance of my testing the update script, which is necessary because it actually deletes tables from the 1.0b1 version of Gatekeeper.  I don’t want to put it out into the wild without making sure that it deletes the right tables, and no others.

Obviously, without a successful import of the dump file, I can’t test the script.  I’ve read the MySQL documentation, and done everything it says to do.  It fails.  I tried logical variants, in case there was something the documentation was leaving out.  No dice.  Then I tried illogical variants, including some SQL statements that included words I wouldn’t ordinarily type, let alone say out loud.  The error message is basically always the same, and it never helps.  It goes something like this:

~/mw > mysqlimport -u root meyerweb meyerweb20050309.sql.dump 
mysqlimport: Error: Table 'meyerweb.meyerweb20050309' doesn't exist,
 when using table: meyerweb20050309

Well, no kidding, geniuses; there is no table called that, because it’s the name of the dump file, not anything in the database.  And yes, when I dumped the DB from meyerweb, I did it so that it contained the CREATE and USE directives at the top of the dump file.  They don’t seem to make any difference at all.

Plus all that was after I reinstalled MySQL about seventeen times because it refused to start up even though the installation was supposed to be point-and-click.  Eventually I switched to a different, third-party install package, and it went like a charm.  Serves me right, I suppose, for assuming that the folks could put together an install package that actually works.  At this point, as far as I’m concerned, MySQL is the rotted corpses of the maggots that once infested the corn inside a pile of moose droppings.

Not that I’m bitter that this wasted four hours of my life or anything.

The other project is, of course, S5.  It’s currently stuck at 1.1b5, because there’s this problem in Firefox for Windows that I simply cannot figure out.  I commented on it a little over a month ago; the basic problem is that when viewing the testbed slide show in Firefox for Windows, it seems to “jiggle”, apparently from constant re-scaling of the fonts.  I can’t figure out how to stop it.

So any ideas, anyone?  At this stage, that’s pretty much the last major problem before going final.  Safari still blocks use of Page Up and Page Down when in the outline view, but that’s something I can live with.  The nervous-twitch display in Firefox for Windows isn’t acceptable in a non-beta version.

I’ll still be using S5 1.1b5 for my SXSW presentations, but that’s okay because I’ll be using Firefox for Macintosh, which doesn’t appear to suffer from the same problem.  If it does start having problems, I’ll just switch to Safari.  No big deal.

Anyway, that’s where things stand on those two projects.  Hopefully I’ll get over the roadblocks soon, and be able to get them moving again.

Browse the Archive

Earlier Entries

Later Entries