Friday, July 24, 2015

My tweets on Snowden

Ed Snowden had a videochat Q&A this week with the IETF after a showing of  the Citizen Four movie.  For some background, see Mark's blog posting.  I ended up live-tweeting the session.  This blog just collects all the tweets into one convenient place.

  • Holy s--t! Video Q&A with Eric Snowden at IETF 93
  • Snowden: we need to divorce identity from persona in a lasting way.
  • Snowden: Most dangerous part is the network path. Simplest path is safest.
  • Snowden:who is the Internet for, who does it server, who is the IETF's ultimate customer? (His view: the users; not govt or biz)
  • Snowden: the user at scale has a greater claim to privacy and safety than the enterprise does on DLP, etc.
  • Snowden: credit cards on the internet are dangerous for human rights because they make real-world identity the norm.
  • Before, I was impressed by the courage and what Snowden did. Hearing his thoughtful detailed Q&A, I am overwhelmed his intelligence.
  • Snowden: SPUD makes UDP a new channel for leaking metadata about users' intents
  • Snowden: we need to reduce the amount of metadata leakage, not increase it.
  • Snowden: Ossificiation isn't the IETF's fault, it's those who deployed systems and didn't update them, failing to help tend our garden.
  • Snowden: wireless is a difficult important problem. Globally unique hardware identifiers aren't the best system. How do we fix that?
  • Snowden: Can we allow MAC address conflicts addressed in software to keep user privacy?
If you care to follow me, I'm@RichSalz on Twitter.

Also this: http://www.internetsociety.org/blog/tech-matters/2015/07/edward-snowden-highlights-identity-and-privacy-ietf-93

Friday, July 3, 2015

A simple XML syntax for RDF


Dave Winer just tweeted a link to a Tim Bray blog post about RDF: https://twitter.com/davewiner/status/617027803737944064. I think one RDF's biggest problems is that it is too damn verbose.

Here's my idea for a simple, terse syntax.  In XML.  It's derived from Tim's RPV thoughts.
  <resource target='...uri this triplet is about...'
           propertyuribase='base URI for properties, optional'>
    <value property='uri of the property'>
      text or a nested <resource> element
    </value>
    ... multiple value elements ...
  </resource>

I think properties will often be grouped in "clumps" from the same general URI space.  So I defined a "property base" attribute; any relative property URI's are taken to be relative to the nearest containing base.

Using the example from Tim's post, I get
  <resource target='http://www.w3.org/TR/rdf-syntax-grammar'
            propertyuribase='http://www.example.com/terms/'>
    <value prop='fullName'>Dave Backett</value>
    <value prop='homePage'>http://purl.org/net/dajobe/</value>
  </resource>
  <resource target='http://purl.org/net/dajobe/'>
    <value prop='http://purl.org/dc/elements/1.1/title'>
      RDF/XML Syntax Specification (Revised)
    </value>
  </resource>

That's still a bit verbose, so let's use Tim's really short names:

  <r t='http://www.w3.org/TR/rdf-syntax-grammar'
       pb='http://www.example.com/terms/'>
    <v p='fullName'>Dave Backett</v>
    <v p='homePage'>http://purl.org/net/dajobe/</v>
  </r>
  <r target='http://purl.org/net/dajobe/'>
    <v prop='http://purl.org/dc/elements/1.1/title'>
      RDF/XML Syntax Specification (Revised)
    </v>
  </r>

We need a container, and it might be nice to be able to change the URI prefix.  So we can say a nested 'r' element defaults to the 'pb' and 't' of it's nearest containing element. It's an error for a 'v' to appear without a 't' in-scope, just like it's an error for a relative 'p' attribute to appear without a 'base' in scope.

I've managed to foget most of knowledge about XML Schema languages, including XSD and Schematron, so I have no idea if the recursive "r" element stuff can be properly defined.  But I do know that this seems to translate trivially into JSON, which is what all the cool kids are using these days.

What, again?

I work at Akamai Technologies and have written a couple of entries for that blog, and will now be posting there under my own name.  I am a member of the OpenSSL Development Team and have written some blog entries there, as well.

So why yet another blog?  It appears that sometimes I'll have something to say that isn't quite related to those organizations, and don't fit into the twitter limit (I'm @RichSalz there), I spun this up.