Re: [Json] Using a non-whitespace separator (Re: Working Group Last Call on draft-ietf-json-text-sequence)

Phillip Hallam-Baker <ietf@hallambaker.com> Wed, 04 June 2014 18:01 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BA4871A0254 for <json@ietfa.amsl.com>; Wed, 4 Jun 2014 11:01:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Level:
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yqu2AAP19X8X for <json@ietfa.amsl.com>; Wed, 4 Jun 2014 11:01:35 -0700 (PDT)
Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D05C91A024F for <json@ietf.org>; Wed, 4 Jun 2014 11:01:34 -0700 (PDT)
Received: by mail-wg0-f41.google.com with SMTP id z12so8928635wgg.12 for <json@ietf.org>; Wed, 04 Jun 2014 11:01:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=WNd+fhdZGgpaU0MVUmw2ln0XPRBelKzIaYTXUsdZq8s=; b=zwxjVI01c9W8xD/bypMp81TBh9CZpB/RUQy840o2xP/v2Dg6j8J0OVtcQ5vhxRuFnE 6infagrEBbYz8+mFMhNkSJbesEX1ydk0RyCGo+LVWxEYEuEB4rICN7H42B/apRa+oS+p aFbj59nONdFYvnxh4gvxkLNwpiDb/6HveCMJ1lF2keJ61PNoog7n1Ag6i1f8N3y8JSZp Ia+uhapul/yhba1ayW+NSytN8Naf5Lamztz2YSaK3IKOX9XeR1LhNOxnO0ws50gRzmp/ Adw/coyMcd9aTCOm1alGSUS9r0ZoeQZ+/9gVAVcbt1IIh+dPrpWLuwRDtnwOB/h58c9R bJBg==
MIME-Version: 1.0
X-Received: by 10.194.62.176 with SMTP id z16mr7381551wjr.76.1401904887448; Wed, 04 Jun 2014 11:01:27 -0700 (PDT)
Sender: hallam@gmail.com
Received: by 10.194.79.136 with HTTP; Wed, 4 Jun 2014 11:01:27 -0700 (PDT)
In-Reply-To: <CAHBU6itEph5GzB-P8bUUvUMopRNxcCE-16qys7ofhdmsDvpN4w@mail.gmail.com>
References: <CAK3OfOidgk13ShPzpF-cxBHeg34s99CHs=bpY1rW-yBwnpPC-g@mail.gmail.com> <CAHBU6itr=ogxP4uoj57goEUSOCpsRx1AXVnW1NQwSTPxbbttkw@mail.gmail.com> <CAK3OfOhft+XJeMrg5rdY9E6fxAkJ2qsT3UHwu7zt=NEz2Q3XOQ@mail.gmail.com> <CAK3OfOhy-N0zjCVxtOMB8SqZEKceVvBz9Y6i0fo2W8i+gHKm4Q@mail.gmail.com> <CAK3OfOiQnLq29cv+kas3B8it-+82VmXvL3Rq1C5_767FDhBjRg@mail.gmail.com> <03CFAB3E-F4C6-4AE8-A501-8525376C4AA7@vpnc.org> <CAK3OfOja-17V391tTK91R98X8XQzd0iPnur2=oo4ii+MCOt+Rg@mail.gmail.com> <CFB42410.4EDDC%jhildebr@cisco.com> <CAMm+Lwime-=UQPu3t2ty05CZLb7xUMi9KGi31Xi2B7RNF5S3Og@mail.gmail.com> <CAK3OfOg_k4Ngq+z1pn4b+XRf0M1Hqx8qZ9BtW0sa8QQ+bjKJyA@mail.gmail.com> <084664DB-A55D-465E-8888-97BA0BB59637@vpnc.org> <CAHBU6itEph5GzB-P8bUUvUMopRNxcCE-16qys7ofhdmsDvpN4w@mail.gmail.com>
Date: Wed, 04 Jun 2014 14:01:27 -0400
X-Google-Sender-Auth: dk24oMK6x8ub4E4t1emHGl9BEb0
Message-ID: <CAMm+LwjoeC1R4O2iCPo+RfUFn4Qca4zyytqa817ayH60mNaWLg@mail.gmail.com>
From: Phillip Hallam-Baker <ietf@hallambaker.com>
To: Tim Bray <tbray@textuality.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/json/jcahQW6IhAZ8TrGPTDhrWoK4oAs
Cc: Nico Williams <nico@cryptonector.com>, Paul Hoffman <paul.hoffman@vpnc.org>, Joe Hildebrand Hildebrand <jhildebr@cisco.com>, IETF JSON WG <json@ietf.org>
Subject: Re: [Json] Using a non-whitespace separator (Re: Working Group Last Call on draft-ietf-json-text-sequence)
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Jun 2014 18:01:36 -0000

+1

I prefer the 'strict writer, lose reader' approach here. And that is
not my usual stance.

The reason that I think readers need to be tolerant is that they
should be able to read log files after they have been 'damaged' by
tools that strip out the RS characters.

For example, lets say that I have some program that records every
transaction to a logfile and it is discovered that one of the
transactions was wrong and is corrupting the database. The simplest
solution is usually to take the log file, find the broken transaction,
edit it out and rebuild the data base.

Given the quality of editing tools available on many machines, I don't
trust them to preserve non printing ASCII characters. Heck, the editor
on ubuntu can't even start in a root account without writing garbage
to the terminal.

So readers should be tolerant.



On Wed, Jun 4, 2014 at 1:54 PM, Tim Bray <tbray@textuality.com> wrote:
> Hah, I hadn’t realized that RS (U+001E, INFORMATION SEPARATOR TWO) was
> excluded.   OK, so the abnf for JSON-sequence becomes one of these two:
>
> JSON-sequence = JSON-text *( %1e JSON-text )
> JSON-sequence = *( ws %1e JSON-text )
>
> Depending on whether you see the RS as an initiator or a separator.  I think
> I very slightly prefer the second.
>
>
> On Wed, Jun 4, 2014 at 10:43 AM, Paul Hoffman <paul.hoffman@vpnc.org> wrote:
>>
>> <no hat>
>>
>> On Jun 4, 2014, at 9:12 AM, Nico Williams <nico@cryptonector.com> wrote:
>>
>> > Alright.  Two proposals:
>> >
>> > 1) Writers MUST precede texts with RS, and SHOULD follow texts with LF.
>> >
>> > (RS must precede at least so as to make any complete text parseable
>> > even if the preceding one was written incompletely.  LF is needed so
>> > as to make line-oriented tooling happy.)
>> >
>> > 2) Writers of logfiles (or any case where incomplete writes are a
>> > problem) MUST do the same as in (1).  Other writers need only emit
>> > (MUST emit) an LF after each text.  Symmetrically, parsers MUST be
>> > able to parse either form.
>>
>> (1) seems much cleaner than (2).
>>
>> --Paul Hoffman
>>
>> _______________________________________________
>> json mailing list
>> json@ietf.org
>> https://www.ietf.org/mailman/listinfo/json
>
>
>
>
> --
> - Tim Bray (If you’d like to send me a private message, see
> https://keybase.io/timbray)