1. In order to express how arbitrary birthdays (and all their western connotations) are to me, I will from now on refer to them as “one-olderness days”.

  2. I’m noticing a pattern emerge whilst writing the simplified auth code: multiple event listeners which don’t know about each other working on the same object, augmenting and changing it.

    E.G. RememberMeListener looks for an encrypted cookie with a URL (my user ID of choice) in — if it finds one it makes an ActivityStream person object and puts it in request.attributes.user.

    Then, in the same event chain but at a lower priority level, the Contacts module looks in request.attributes.user for a URL. It looks up the URL in my people DB and, if there is anyone, augments request.attributes.user with all the extra info (full name, roles, photo URL, rel value, etc.)

    Then, another listener could run, looking for request.attributes.user with only URL — and look the URL up on identengine.com, caching the response.

    Other example is @-name autolinking, working on a similar basis of: basic transformation (raw data => common data format), then progressive augmentation adding URLs, names and rel values.

    I think this a very powerful and flexible pattern and something I will make a founding principle of Taproot.

  3. The problem with all mapping software ever:

    “Hm, that placename is a bit small to read” (zooms in) “TEXT, WHY U GET SMALLER AGAIN”

  4. Finally decided that symfony Security component is way too complicated for my little , so ditching it — but I’ve learnt a lot from digging through it and my further efforts will try to provide some of the amazing flexibility it gives whilst being more performant and easier to understand #php

  5. I really can't stress just how brilliant the identengine.com API is. Solves so many problems, implements so many standards, but more importantly: it is truly, truly webby. Forming a graph of a persons profiles by following rel links, then accumulating all that info is a vital building block. Great work Glenn Jones!

  6. Made some updates to my note autolinking flow — instead of lots of unstable regexes, only one runs now (courtesy of cassis) and the rest manipulate the XML–compatible HTML which results. Much more robust, much more extendable

  7. Aral Balkan: So http : // twitter . com / Aral Balkan (sans spaces, of course) is a valid URL. If clients used it as a mention we’d have fully-qualified names.

    Aral Balkan current rough consensus is to use URLs as nouns, pingback (or webmention) as notification infrastructure.

    Personally I am doing some rather more complex stuff where I author notes using @-names, which get parsed by @cassisjs into .h-x-username twitter.com-linked anchors, then I transform those into .h-card’s with data either from my contacts DB (at the mo mirrored from my personal CardDAV share) or from the identengine.com API for people I don’t know. Then all the links in a note get sent pingbacks.

    Fat chance of twitter implementing that though ;)