Re: [Cellar] Adam Roach's Discuss on draft-ietf-cellar-ebml-15: (with DISCUSS and COMMENT)

Dave Rice <dave@dericed.com> Tue, 17 December 2019 15:27 UTC

Return-Path: <dave@dericed.com>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F39A4120867; Tue, 17 Dec 2019 07:27:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.118
X-Spam-Level:
X-Spam-Status: No, score=-1.118 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=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 90Ws0aJFMElr; Tue, 17 Dec 2019 07:27:17 -0800 (PST)
Received: from server172-3.web-hosting.com (server172-3.web-hosting.com [68.65.122.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2439E12012C; Tue, 17 Dec 2019 07:27:17 -0800 (PST)
Received: from [146.96.19.240] (port=54137 helo=[10.10.201.20]) by server172.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from <dave@dericed.com>) id 1ihEkh-002bT6-4b; Tue, 17 Dec 2019 10:27:16 -0500
From: Dave Rice <dave@dericed.com>
Message-Id: <2D4A95A1-B570-47C7-B040-923EF3F24C9C@dericed.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_59ACD132-E5FA-4043-B57A-88E72D68B988"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\))
Date: Tue, 17 Dec 2019 10:27:09 -0500
In-Reply-To: <157656052355.24550.17056837047628625307.idtracker@ietfa.amsl.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-cellar-ebml@ietf.org, Steven Villereal <villereal@gmail.com>, cellar-chairs@ietf.org, cellar@ietf.org
To: Adam Roach <adam@nostrum.com>
References: <157656052355.24550.17056837047628625307.idtracker@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.8)
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server172.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - dericed.com
X-Get-Message-Sender-Via: server172.web-hosting.com: authenticated_id: dave@dericed.com
X-Authenticated-Sender: server172.web-hosting.com: dave@dericed.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/YCqEqDd-pCuxM7zyMNSmQ3UFWU4>
Subject: Re: [Cellar] Adam Roach's Discuss on draft-ietf-cellar-ebml-15: (with DISCUSS and COMMENT)
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Dec 2019 15:27:19 -0000

Hi Adam,
Comments are in-line below.
tl;dr Most comments are responded to within https://github.com/cellar-wg/ebml-specification/pull/313 <https://github.com/cellar-wg/ebml-specification/pull/313> and there’s a call for feedback of others in regards to your comment on §17.1.

> On Dec 17, 2019, at 12:28 AM, Adam Roach via Datatracker <noreply@ietf.org> wrote:
> 
> Adam Roach has entered the following ballot position for
> draft-ietf-cellar-ebml-15: Discuss
> 
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
> 
> 
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
> 
> 
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-cellar-ebml/
> 
> 
> 
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> Thanks to the authors and the participants of the CELLAR working group for
> the work that has gone into documenting the EBML format. I have a handful
> of comments that I believe need to be addressed prior to publication, and
> a handful of suggestions for improvement.
> 
> ---------------------------------------------------------------------------
> 
> Abstract:
> 
> I see that the Introduction has been revised to address Ben Campbell's AD
> review comment regarding the document positioning itself as a general-purpose
> data format rather than being scoped to its use in Matroska. The Abstract
> still claims the much broader scope -- please update it to match the reduced
> scope in the Introduction.
> 
> ---------------------------------------------------------------------------
> 
> §7.3:
> 
>> A Float Element stores a floating-point number as defined in
>> [IEEE.754.1985].
> 
> This is not sufficiently precise to interoperate, as IEEE-754 defines multiple
> floating-point representations at each bit length. To differentiate from,
> e.g., decimal representation and arithmetic format (neither of which are
> probably what you want), please specify the use of "binary interchange
> format" (unless some other format is intended).

I started a pull request at with proposed changes referenced below.
Here I changed the sentence to:

> A Float Element stores a floating-point number in binary interchange format as defined in [@!IEEE.754.1985].

> ---------------------------------------------------------------------------
> 
> §14.1.3:
> 
>> For String Elements and UTF-8 Elements the length of Element Data MAY
>> be reduced by adding Null Octets
> ...
>> Note that this method is NOT RECOMMENDED.
> 
> These two normative statements conflict with each other: when using RFC 2119
> language, MAY is a very different level than "NOT RECOMMENDED" (which is
> equivalent to "SHOULD NOT"). Please pick one, and eliminate the other.

I believe that “NOT RECOMMENDED” is preferred here, so changed the “MAY” to “could”.

> ---------------------------------------------------------------------------
> 
> §17.1:
> 
>> The VINT Data value of one-octet Element IDs MUST be between 0x01 and
>> 0x7E.  These items are valuable because they are short, and need to
>> be used for commonly repeated elements.  Values from 1 to 126 are to
>> be allocated according to the "RFC Required" policy [RFC8126].
> 
> This, combined with the values that are being registered, is extremely
> confusing, and I don't know how IANA is supposed to understand what's going on
> without reading and understanding the VINT bit encoding scheme (which is way
> too much to ask of them). This is because of the document-wide practice
> of speaking of IDs in their VINT-encoded values (e.g., 0xBF) instead of their
> data values (e.g., 63 or 0x3F), including in the initial registry in this section.
> 
> Please either revise the prose to speak in terms of VINT-encoded values
> (e.g., "MUST be between 0x81 and 0xFE"), or revise the registration
> tables to indicate the VINT data values (e.g., "0x3F" for CRC-32).

I understand the request and the reason for it and am interested in assessing rough consensus amongst the other authors before making this change. These elements have been long-associated with these particular vint expressions of the Element IDs, so I have some concerns that a global change of Element ID reference from VINT to the Element Data of that VINT would confuse readers.

> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> §5:
> 
>>             Table 3: Examples of valid and invalid VINTs
> 
> This label is a bit confusing, as all the shown VINTs are valid;
> they're just not valid for use as Element IDs.

Good catch. Changed to:
> Table 3: Examples of valid and invalid Element IDs

> ---------------------------------------------------------------------------
> 
> §6.3:
> 
>>                +--------------+----------------------+
>>                | Octet Length | Possible Value Range |
>>                +==============+======================+
>>                | 1            | 0 to 2^(7-2)         |
>>                +--------------+----------------------+
>>                | 2            | 0 to 2^(14-2)        |
>>                +--------------+----------------------+
>>                | 3            | 0 to 2^(21-2)        |
>>                +--------------+----------------------+
>>                | 4            | 0 to 2^(28-2)        |
>>                +--------------+----------------------+
>>                | 5            | 0 to 2^(35-2)        |
>>                +--------------+----------------------+
>>                | 6            | 0 to 2^(42-2)        |
>>                +--------------+----------------------+
>>                | 7            | 0 to 2^(49-2)        |
>>                +--------------+----------------------+
>>                | 8            | 0 to 2^(56-2)        |
>>                +--------------+----------------------+
> 
> I think the value ranges here are indicated incorrectly. If I understand the
> encoding scheme correctly, the range for one octet is 0 through 126,
> which is "0 to (2^7)-2" rather than "0 to 2^(7-2)" (which means 0 through 32).
> 
> The other lengths have identical errors.

In our markdown these are listed in `2^7-2` format and the translation to RFC adds in the parenthesis. Surrounding the minus sign with spaces appears to fix the issue and the resulting RFC text shows:

 0 to 2^7 - 2

> ---------------------------------------------------------------------------
> 
> 
> §8:
> 
>> An EBML Document is comprised of only two components, an EBML Header
> 
> Please change to either of the following:
> 
>   An EBML Document is composed of only two components...
> 
>   An EBML Document comprises only two components…

I chose the first suggestion.

> ---------------------------------------------------------------------------
> 
> §11.1.5.2:
> 
>> A path with a EBMLGlobalParent defines a
>> Section 11.3.
> 
> This doesn't parse. I think you mean:
> 
>  A path with a EBMLGlobalParent defines a Global Element; see Section 11.3.

Yes exactly. In the prior version of xml2rfc, the section cross-reference could be labelled, but we switched to rewriting these cross-references to be simply the section name, but missed that fix for this one. Thanks for catching it.

> ---------------------------------------------------------------------------
> 
> § 11.1.5.12:
> 
>> A boolean to express if an EBML Element is defined as an Identically
>> Recurring Element or not.
> 
> As the term "Identically Recurring Element" has not been defined prior to this
> section, A forward reference to 11.1.16 would be very useful here.

Added.

Thanks so much,
Dave Rice