Re: [vwrap] The <embed> tag... is the group still interested in LLSD or DSD?

Morgaine <morgaine.dinova@googlemail.com> Sun, 08 May 2011 02:22 UTC

Return-Path: <morgaine.dinova@googlemail.com>
X-Original-To: vwrap@ietfa.amsl.com
Delivered-To: vwrap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2D9E9E0680 for <vwrap@ietfa.amsl.com>; Sat, 7 May 2011 19:22:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.89
X-Spam-Level:
X-Spam-Status: No, score=-2.89 tagged_above=-999 required=5 tests=[AWL=0.086, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jyW4hfHKrv5F for <vwrap@ietfa.amsl.com>; Sat, 7 May 2011 19:22:33 -0700 (PDT)
Received: from mail-qw0-f44.google.com (mail-qw0-f44.google.com [209.85.216.44]) by ietfa.amsl.com (Postfix) with ESMTP id 44D7FE064B for <vwrap@ietf.org>; Sat, 7 May 2011 19:22:33 -0700 (PDT)
Received: by qwc23 with SMTP id 23so3180230qwc.31 for <vwrap@ietf.org>; Sat, 07 May 2011 19:22:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=Vmnb6JFn2/DXrbI8KS024jH1632E7pJnn4ZqZbh8d00=; b=uOd81+atBPxPylc8lHR9FhZcd7SCHEEcc/dDaKYfFLRGK/hlbeJ6W+wHlP0r0cab9N kTNJyoicI/V+D/HHshOSi4yONGzChS9PSC7wTUqF/hpZIu9CFhJUh9MU9KQ4kOjYPvc+ KM5+ew44qqIPCpnyBfKISnhaViiKFxfz+rIWw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=KwR6KdMxMNYYzvoYFTC10/EadkyhJduODEYT8lhIGcxjOdXUB86F/AEJzZIP9s/f/R RZ4I9q0mEdqHoOvPlVhGGbLv5b5jVkdiVPAVQoHwt95jVPWPeRJl1VOfWzLHWi6vv3/+ zqFad5GCHf5xmoLMvZmL3+IZ6GK5UgyM2Ju+c=
MIME-Version: 1.0
Received: by 10.229.44.141 with SMTP id a13mr3758891qcf.101.1304821352480; Sat, 07 May 2011 19:22:32 -0700 (PDT)
Received: by 10.229.66.212 with HTTP; Sat, 7 May 2011 19:22:32 -0700 (PDT)
In-Reply-To: <BANLkTi=AeC1oLNGFwUWs0Yp_JNEKcaSsag@mail.gmail.com>
References: <BANLkTi=g9T5q5bVgytpxRxuE=Oc9iG2F9w@mail.gmail.com> <BANLkTi=K8-6oL-JJoPCfz0JjDpaRBpeOyg@mail.gmail.com> <4DC15504.3090503@gmail.com> <BANLkTikay4xhQoZs2L0uRLSXgUMfCE9yfA@mail.gmail.com> <4DC160F0.1030201@gmail.com> <BANLkTikTYpLHM=GAeGAVfufqZ5XT0FSAzw@mail.gmail.com> <BANLkTi=kjBSuMjPcgfXTUvZ3iwmS1bN50Q@mail.gmail.com> <4DC17704.3020201@gmail.com> <BANLkTimpGpNrkE3WUdurduqrVumocDRwfQ@mail.gmail.com> <4DC1824B.6040609@gmail.com> <BANLkTi=hhsiDs=fdZRsthp_+5Hs+pR4L6A@mail.gmail.com> <4DC1956A.5020204@gmail.com> <BANLkTik8rnsKP4xq+Gj5G4dsG=UOVnkNSQ@mail.gmail.com> <4DC1A8C9.9090406@gmail.com> <BANLkTikkOS34CC+ML0JNJgHDoRqbs9rY9w@mail.gmail.com> <4DC1D165.7010705@gmail.com> <4DC1D5FC.6040608@gmail.com> <BANLkTik81Eht3NTdLXXmgqOWvjc2s_KBnw@mail.gmail.com> <BANLkTi=-heHa35w43te0ba8NufkT+MP+CQ@mail.gmail.com> <BANLkTin6ExR7+xpodbtoTAS_4WyhUXL92Q@mail.gmail.com> <BANLkTikjKib79_rLR_s2X=X-ss-+V_yw+w@mail.gmail.com> <BANLkTim4aY7oNALbOfZ2V-htivVmQJZDiA@mail.gmail.com> <BANLkTi=7MDUAfjJb697uRwrrxB-4v5fQ3A@mail.gmail.com> <BANLkTi=AeC1oLNGFwUWs0Yp_JNEKcaSsag@mail.gmail.com>
Date: Sun, 08 May 2011 03:22:32 +0100
Message-ID: <BANLkTinNtJiq4JH5qvf36kiKmFtAQArvAA@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: vwrap@ietf.org
Content-Type: multipart/alternative; boundary="001636831fa035bfbf04a2ba6541"
Subject: Re: [vwrap] The <embed> tag... is the group still interested in LLSD or DSD?
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group <vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/vwrap>, <mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 08 May 2011 02:22:35 -0000

On Sat, May 7, 2011 at 4:19 PM, Meadhbh Hamrick <ohmeadhbh@gmail.com> wrote:

>
> One of the reasons I'm not especially happy with LLSD is that it does
> not distinguish between the abstract type system and the transfer
> syntax.



I agree 100%.  If one has the worthy goal of defining a semantically
complete ADT system, then the last thing one should do is to couple it to
specific serializations, and even less to specific language bindings.  That
was a total mistake in LLSD in practical terms.

If you want to make a types system efficiently implementable, then stick to
the requirements of hardware architectures which evolve slowly over decades,
like x86.  Languages evolve to much shorter timescales, and a good ADT
system should be usable with whatever language comes along.

Furthermore, efficient serializations and languages are devised all the time
because efficiency is a much-sought engineering goal.  Unless you provide
your ADT system with all the normal primitive types for the common hardware
architectures, you are inherently discriminating against the most efficient
serializations and languages,

LLSD is guilty of this, which is what I'm trying to correct for VWRAP.  It's
not hard to achieve, but it needs the will for progress.


Morgaine.



================

On Sat, May 7, 2011 at 4:19 PM, Meadhbh Hamrick <ohmeadhbh@gmail.com> wrote:

> Hey Dahlia,
>
> Yes, the way the legacy protocol handles region handles is a hack (at
> best.) My suggestion has always been to, since we're creating a new
> protocol, use something other than a 64 bit integer for a region
> handle. IIRC, we were planning on revamping this bit of the protocol
> to use a URL as a region handle to avoid the problem of requiring a
> global region handle to host registry.
>
> But that's kind of off-topic, assuming the topic is bigints in LLSD.
>
> One of the reasons I'm not especially happy with LLSD is that it does
> not distinguish between the abstract type system and the transfer
> syntax. Changing the existing LLSD to support big integers would
> require a modification to the binary serialization. The JSON and XML
> serializations are fine, they don't add size restrictions to integer
> fields at the transfer syntax level.
>
> So you would likely have to add a new tag to the binary serialization
> for "multi precision integer" which was simply a string of 32 bit ints
> in network order. Or you would have to change the semantics of the
> existing integer encoding to support multi precision ints. Either way
> you have to change the existing LLSD binary serialization.
>
> As a historical note, there was a bit of debate on this topic inside
> the lab. One side wanted Radix 10 Floats and MP Ints and the other
> side suggesting that once you opened the doors to expansion, there was
> no telling where you would stop and pointing out that you can do MP
> Ints as long as you bury them in binary strings. Ultimately, those of
> us who supported Radix 10 floats and MP Ints were laid off before them
> what supported a minimal set of types.
>
> &c &c
> m
> --
> meadhbh hamrick * it's pronounced "maeve"
> @OhMeadhbh * http://meadhbh.org/ * OhMeadhbh@gmail.com
>
>
>
> On Sat, May 7, 2011 at 12:45 AM, Dahlia Trimble <dahliatrimble@gmail.com>
> wrote:
> > I believe python supports very large integers. Try this in your python
> > interpreter:
> >
> >>>> bigint = 2**(2**16)
> >>>> print bigint
> >
> > I first became aware of missing integer types in LLSD when I was coding
> the
> > event queue messages to support group chat in OpenSimulator. It seems
> that
> > "region handles" are 64 bit integers in the LL protocols but are encoded
> as
> > a base64 encoded binary blob in LLSD as LLSD has no support for integers
> > larger than 32 bits. I suspect that changing LLSD to have larger integer
> > types might create some compatibility issues with existing
> implementations
> > that expect to use the binary blob.
> >
> >
> > On Fri, May 6, 2011 at 9:18 AM, Joshua Bell <josh@lindenlab.com> wrote:
> >>
> >> On Thu, May 5, 2011 at 11:46 PM, Vaughn Deluca <vaughn.deluca@gmail.com
> >
> >> wrote:
> >>>
> >>> What were the reasons to allow onl a single integer type? There must
> have
> >>> been a good arguments for that?
> >>
> >> IIRC, some of the languages we wished to support (Python comes to mind)
> >> did not have support for integers larger than 32-bits. ECMAScript
> doesn't
> >> have integer number types at all only IEEE 754 64-bit floats; if you
> >> constrain the input and output to 32-bit integers it can represent those
> >> accurately, but not 64-bit integers.
> >> If you look at the history of LLSD, it started with 3 serialization
> >> formats that explicitly specified the type of values - XML, binary, and
> >> "notation" - a compact text serialization intermediate in size between
> >> binary and XML. The IETF drafts dropped notation and added JSON. The
> JSON
> >> serialization was "lossy" as LLSD describes types and values that don't
> >> exist in JSON (Integer, Date, UUID, NaN, Infinity, etc). By design,
> though,
> >> the type conversions described in the LLSD Draft accommodate e.g. by
> >> serializing a Date as an ISO 8601 string, which when interpreted as a
> date
> >> by the receiver results in the original Date by the string->date
> conversion
> >> rules. (I don't know if we had resolved every issue with JSON
> serialization;
> >> certainly, discussion about edge cases on this list never made it into a
> >> draft).
> >> As far as adding new types: I believe there was the belief that this
> could
> >> be accommodated by defining an "LLSD2" at some point in the future with
> a
> >> distinct MIME type for serializations (e.g. application/llsd2+xml);
> unlike
> >> the Web, content negotiation over HTTP was assumed to be functional
> within
> >> VWRAP interoperation. Therefore, there was no push to ensure LLSD "v1"
> was
> >> internally extensible or comprehensive for all imaginable
> scalar/structured
> >> types.
> >> Anyway... if contributors have implementation of abstract data type
> >> systems that share characteristics with LLSD and are thinking about
> adding
> >> additional scalar/structured types, they should look at the issues with
> both
> >> implementation languages and serialization formats.
> >> -- Josh
> >>
> >> _______________________________________________
> >> vwrap mailing list
> >> vwrap@ietf.org
> >> https://www.ietf.org/mailman/listinfo/vwrap
> >>
> >
> >
> > _______________________________________________
> > vwrap mailing list
> > vwrap@ietf.org
> > https://www.ietf.org/mailman/listinfo/vwrap
> >
> >
> _______________________________________________
> vwrap mailing list
> vwrap@ietf.org
> https://www.ietf.org/mailman/listinfo/vwrap
>