Triskaidekaphobia

Inspired by @TheBloggess, I have put together a simple WordPress plugin to fix dates for those with triskaidekaphobia.

Inspired by @TheBloggess, I have put together a simple WordPress plugin to fix dates for those with triskaidekaphobia. Right now it’s pretty trivial; as I refresh myself on WordPress development, I’ll add a few options, etc. In the meantime, all it does is replace the year “2013” with “The Library” (see In the Library) and the date “13” with “12+1”.

Download: triskaidekaphobia-0.1

Advertising Gone Mad

From http://www.tommyvallier.com/2009/07/23/digg-advertising-gone-mad/ –
The ads are therefore taking up 49.35% of the viewable space. Let me repeat that: fourty-nine point three five percent. For advertisements. That’s MASSIVE.

Tommy Vallier gives a breakdown of space use on Digg’s homepage, and it’s not flattering.

The ads are therefore taking up 49.35% of the viewable space. Let me repeat that: fourty-nine point three five percent. For advertisements. That’s MASSIVE.

~ Tommy Vallier

It gets even worse once the white-space is accounted for, with two thirds of the screen real-estate dedicated to advertising.

Kingston Weather – Twitter feed

Some time ago, I set up a Twitter account to relay the local weather report to my cellphone. The plan was to use TwitterFeed to relay the RSS from The Weather Network to the Twitter account, then follow it via SMS.

Lots of sabots in the works. First and foremost the RSS from The Weather Network is no good (incorrect/invalid/inconsistent date formats, some other brokenness). Twitterfeed offers two ways to detect a new posting – the GUID, or the pubDate. As mentioned, the pubDates used in the feed are just plain wrong, so no help there. The GUID for each post, also not helpful – it’s the static link to the current weather page; long-term forecast is indicated by ref=day1, ref=day2, etc in the URL – so that doesn’t change, even when the content does.

I have meant for a long time to fix it (before today, the last post form Twitterfeed was July 18), but aside from a few quick hacks, never completed it. Lately, the explosion in Kingstonians using Twitter has inspired me to fix it, especially the new followers @KingstonWeather has gained.

After some trial-and-error, I ended up building a php script to write an entirely new RSS feed, based on the one provided by The Weather Network – this one is valid, has proper (unique) IDs for the posts, and appears to work in Twitterfeed.

SimpleOpenID for php

The OpenID library I’m using for Rosebleed (and other projects, both major and minor) is SimpleOpenID from PHPClasses.org.

The original class did most of what I needed, but I made some minor changes. I’ve emailed the original contributor to offer my changes back, but until I hear back, I’ve posted my modified version here:

Comments/feedback always welcome.

OpenID on Rosebleed.net

I’ve finally finished up the OpenID signup for Rosebleed. The workflow is what you’d expect – OpenID box on the login form, if the given URL isn’t recognized then it redirects to the signup form and prepopulates it with the sreg fields.

I did notice a strange behaviour in OpenID; I’m not yet certain if I missed it in the spec or if it’s left to one’s judgement (note to self: read the spec again)… Anyway, here’s what happens:

– Say I sign up with “roosenmaallen.com”. This site delegates to my ClaimID page, so the openid.identity response is http://openid.claimid.com/silvermoon82, and this is what I actually use to identify the user.
To my thinking, I should be able to log in using “roosenmaallen.com” (since that delegates to my ClaimID), or claimid.com/silvermoon82, or openid.claimid.com/silvermoon82. These URLs all end up at the same identity, so they should be equivalent — and that’s how I implemented it on Rosebleed.

I’ve noticed other OpenID-enabled sites handle this differently. On the OpenID Directory for instance, I first signed up as “claimid.com/silvermoon82”. I’ve gotten in the habit of logging in using roosenmaallen.com; but when I try that at OpenID Directory, I get an error message that my email address is already registered to my ClaimID URL.

So, barring finding that the spec keeps “equivalent” OpenID URLs separate, I think I’m in the right here; always open to feedback though.

Update [2008-03-19]: I’ve checked the spec, and as it turns out, I’m actually in the wrong:

So, to use www.example.com as their Identifier, but have Consumers actually verify http://exampleuser.livejournal.com/ with the Identity Provider located at http://www.livejournal.com/openid/server.bml, they’d add the following tags to the HEAD section of the HTML document returned when fetching their Identifier URL.


Now, when a Consumer sees that, it’ll talk to http://www.livejournal.com/openid/server.bml and ask if the End User is exampleuser.livejournal.com, never mentioning www.example.com anywhere on the wire.

The main advantage of this is that an End User can keep their Identifier over many years, even as services come and go; they’ll just keep changing who they delegate to.

And the walls come down? Google and Facebook have joined Dataportability.org!

This is a huge step towards an open, interoperable social web; Google and Facebook are probably the two largest collectors and holders of data (social and otherwise) on the web, and they have been among the most reticient about sharing their data.

Yesterday, it was announced that representatives from Google, Facebook and Plaxo have joined the Dataportability.org workgroup.

This is a huge step towards an open, interoperable social web; Google and Facebook are probably the two largest collectors and holders of data (social and otherwise) on the web, and they have been among the most reticient about sharing their data.

Site update time, once again

Over the past few days, I’ve put some work into the site:

  • Updated to WordPress 2.3.2, which was entirely painless
  • Began work on a new theme, which you may have noticed. Over the next while, I’ll be putting more into it; currently it’s very minimalist, little more than an XHTML skeleton with a couple moving parts.

More to come.