On naming and knowing

December 18, 2009 by Mason Lee

I guess I’ll start over here at setting up some keys for the new year:

tag:masonlee.org,2010:
tag:telephonographic.net,2010:
tag:borange.com,2010:
tag:textie.me,2010:

This is RFC4151, The “tag” URI Scheme”

RssCloud Atom Extension

September 11, 2009 by Mason Lee

Status of this Document

Version: 0.92 DRAFT
Editor: Mason Lee <http://masonlee.org>
Updated: 2009-09-23

Change log:

0.92 – 2009-09-23. Updated link to RSS spec.
0.91 – 2009-09-16. Changed namespace proposal to rssboard.org and updated editor’s notes.
0.9 – 2009-09-11. Original proposal and request for comments.

Abstract

This document defines the XML schema for an rssCloud declaration usable in XML formats other than RSS, with specific attention to Atom.

1. Overview

RSS 2.0 specifies an optional <cloud> element that can be used to indicate the rssCloud ping hub for a channel. Because RSS 2.0 has no XML namespace, however, direct reuse of its elements can often be difficult and sometimes impossible. To allow alternative XML publishing formats such as Atom to more easily make use of RssCloud’s ping hub architecture, this document declares an equivalent <rss:cloud> element definition rooted in a URI namespace.

The specification here adopts without modification the original RSS 2.0 <cloud> element base name, attribute names, element structure, and semantics. The rssCloud protocol is not modified here except perhaps indirectly by the implication that rssCloud hubs may forward update pings for resources other than RSS.

1.1. References

“RSS 2.0″ is defined at http://cyber.law.harvard.edu/rss/rss.html.

The “rssCloud” protocol is described at http://rsscloud.org/walkthrough.html. EDITOR’S NOTE: What’s the best link for this?

“Atom” is defined at http://atompub.org/rfc4287.html.

2. Technical Specification

2.1. Namespace

The XML namespace URI for the XML data described in this specification is:

http://rssboard.org/2009/xsd/rss2.0

EDITOR’S NOTE: **This is not an approved URL- do not use.**. Rssboard.org has been discussing the creation of a namespace for RSS. Above is my suggestion. Waiting on feedback from them as to what and when an official namespace might be.

2.2. Namespaced rssCloud XML Publisher’s Schema


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://rssboard.org/2009/xsd/rss2.0"
 elementFormDefault="qualified"
 attributeFormDefault="unqualified"
 version="0.9">

 <xs:element name="cloud">
  <xs:complexType>

   <xs:annotation>
    <xs:documentation>Specifies a web service that supports the rssCloud interface which can be implemented in HTTP-POST, XML-RPC or SOAP 1.1. Its purpose is to allow processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for XML resources.</xs:documentation>
   </xs:annotation>
   <xs:attribute name="domain" type="xs:string" use="required"/>
   <xs:attribute name="port" type="xs:positiveInteger" use="required"/>
   <xs:attribute name="path" type="xs:string" use="required"/>
   <xs:attribute name="registerProcedure" type="xs:string"
use="required"/>

   <xs:attribute name="protocol" use="required"/>

    <xs:simpleType>
     <xs:restriction base="xs:string">
      <xs:enumeration value="xml-rpc"/>
      <xs:enumeration value="http-post"/>
      <xs:enumeration value="soap"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:attribute>
  </xs:complexType>
 </xs:element>
</xs:schema>

2.3. Use in Atom

Implementer MAY use one or more of the above namespaced <cloud> elements directly inside the <atom:feed> element.

2.4. Use in RSS

Implementer SHOULD use the existing non-namespaced RSS <cloud> element in RSS rather than this extension.

3. Examples

3.1. Atom Example

<feed xmlns="http://www.w3.org/2005/Atom"
 xmlns:rss="http://rssboard.org/2009/xsd/rss2.0">
  <rss:cloud domain="example.com" port="80"
   path="/?rsscloud=notify" registerProcedure=""
   protocol="http-post"/>

  <title>Example Feed</title>
  <link href="http://example.org/feed/" rel="self" />
  <link href="http://example.org/" />
  <id>urn:uuid:8f8f8f8f-adad-face-090909090909</id>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
    <name>John Doe</name>
    <email>johndoe@example.com</email>
  </author>
  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <link href="http://example.org/2003/12/13/atom03" />
    <id>urn:uuid:1225c695-cfb8-4ebb-80da344efa6a</id>
    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
  </entry>

</feed>

EDITOR’S NOTE: Comments most welcome! –Mason

Is the web sticky enough?

August 21, 2009 by Mason Lee

Domain names are, by policy, transferrable

We’re using the internet for a world-wide-conversation, and lately we’ve been wrapping a lot of communications in atoms of information we sometimes call “posts”. People pass around links to posts and sometimes copies of posts, and we have feeds full of posts, tweets and things included. It’s all good. Hopefully the posts have unique IDs so we don’t confuse them with one another and they can be cross-referenced. But what is that ID? How do we choose them? Usually today we use URLs. URLs are rooted in DNS names. Full rights to DNS names are reassignable according to the policy of ICANN. There’s currently no policy to say the future owners of a domain can’t reuse URLs for most anything they want. Whoops?
Illustration

If we want our decentralized world-wide-conversation to work for a very long time, we need to consider strategies for keeping our post IDs unique. If we use URLs, do we care that a malicious future owner may in some ways “overwrite” our posts in history by issuing their own posts with the same ID? For that matter, are some gTLDs more stable roots than others for long-term ownership?

Would we be better off working with an ID namespace for posts that had an explicit policy for the persistence of identity uniqueness at least written down, if not enforceable by contract law? A new gTLD?

Post archives

Here’s one idea that might get around all that. What if there was a giant P2P historical web that could be queried with a date and a URL (or any URI) and it did its best to return whatever post or resource was issued there at that time. Peers could make sure that posts they felt were important stayed in the archive by mirroring them, all regardless of where on the web the information was originally posted. A distributed file system of sorts.

Atomism and Holism

Of course, where we stop writing atomic posts and start communicating in high definition streams, it seems the persistence of ideas gets a lot harder, as one of the inspirations [scripting.com] for this #blogpostfriday post starts to get at.

What would Heraclitus say?

Further reading

Drummond Reed. “The Persistence of Persistence” [www.equalsdrummond.name]

Bob Wyman. “The Persistence of Identity” [www.wyman.us]