[Cbor] Re: I-D Action: draft-mcnally-deterministic-cbor-10.html
Joe Hildebrand <hildjj@cursive.net> Mon, 29 July 2024 13:50 UTC
Return-Path: <hildjj@cursive.net>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 31A13C14F5F4 for <cbor@ietfa.amsl.com>; Mon, 29 Jul 2024 06:50:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cursive.net
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id svT3N-327lsO for <cbor@ietfa.amsl.com>; Mon, 29 Jul 2024 06:50:09 -0700 (PDT)
Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8423EC151073 for <cbor@ietf.org>; Mon, 29 Jul 2024 06:50:09 -0700 (PDT)
Received: by mail-qt1-x834.google.com with SMTP id d75a77b69052e-45006bcb482so14536481cf.3 for <cbor@ietf.org>; Mon, 29 Jul 2024 06:50:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cursive.net; s=google; t=1722261008; x=1722865808; darn=ietf.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=WlqRTMwtGJdS8UPXWaSkaRfqRilSFPcKmhJ10VWUYSY=; b=GN0Hi9FgR86bQgA9iALeoAo6RNtnGrcr40bJhtV8ytmfHIhYkWjZDEP6x/jOKof/gz xTTY21k7qZpOyYHoZwtqK+HDapA29alEI5bHoDfWiIgyTJLLckyheYo1YrlAdFsfwHaI nyE+fFb4siAJgojVgg5pBdMrkAnCoFP81OFf8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722261008; x=1722865808; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WlqRTMwtGJdS8UPXWaSkaRfqRilSFPcKmhJ10VWUYSY=; b=IiZwwxiXO3p0nBsYmAwupKBbSIRUkxP+0aWHbIH/62Eskqj/H/5xSi7uE4vmZ48wZj brPs+pO0LWF+q9wOWKJYsxuf0pJrXZracCmp8jHBynDBWADaeHJm4c9n8Jo5vWTd8T2p w9Y6v9QoEsOhlfThGVRhBPdl5AkgoyjUb0gKKyeoylquTU5PCBbw4ZLBev4BQuoDEYG6 8oIDdVZJtX3nugyKxIWJ/Luuj/ry7rJBgqmPYNj2QiwoCA9TENU5z3LNdAiRmwNh3IXe N6lVsX7XijsGPjiSLizPoVJt572tVXi1LDg7hf7v2FY3+F4JUcJOtMm3KnAn4BzFBcTk ex3A==
X-Forwarded-Encrypted: i=1; AJvYcCVgbHmNcONYoAfeagz+Xe/9yHk9N9WzvJZtP6IvryctzG+IMy/9G1aTUqCLupukp2A/C3L0sJpReKwPzk4K
X-Gm-Message-State: AOJu0YydpiHIAARMbRhHg5jFhD2j+j0TD+omwgVOuJNTHB+wTDNZHW0/ 8dsGcNTrVnEHSkSxGqx7BXz7a5WJEjkS7l8DamNRh5G9y0K6jIkm0vTNTq6XYA==
X-Google-Smtp-Source: AGHT+IF9xJHAM6KMykIJfP5WMY3V6xQ1RQbnTwyLeNtbdVs292/JhScIyeZk8MmVAQtLFAwQ1M9grg==
X-Received: by 2002:a05:6214:21ea:b0:6af:69c0:e559 with SMTP id 6a1803df08f44-6bb55b32441mr78846146d6.50.1722261008107; Mon, 29 Jul 2024 06:50:08 -0700 (PDT)
Received: from smtpclient.apple (syn-074-219-233-003.biz.spectrum.com. [74.219.233.3]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6bb3fac47f7sm52432456d6.115.2024.07.29.06.50.07 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Jul 2024 06:50:07 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
From: Joe Hildebrand <hildjj@cursive.net>
In-Reply-To: <5a2b1212-200e-4c17-acdf-1278c4539531@gmail.com>
Date: Mon, 29 Jul 2024 09:49:56 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <2BFB6C9E-62C5-4DB9-B289-D870B546EC26@cursive.net>
References: <a962e326-ab3f-4857-a1ee-2042cf87f32a@gmail.com> <F3E4450A-EA4B-437E-9C58-5DB3972A152C@island-resort.com> <6601a16c-2b2e-45b2-b4e8-7bd4ba136401@gmail.com> <ea6a35e1-18a7-4bea-8ff8-5249e1f26b71@gmail.com> <CAEBC446-7730-4473-AC93-7908ADCB78B4@wolfmcnally.com> <5a2b1212-200e-4c17-acdf-1278c4539531@gmail.com>
To: Anders Rundgren <anders.rundgren.net@gmail.com>
X-Mailer: Apple Mail (2.3774.600.62)
Message-ID-Hash: ZBTTLE5LNAPCIYTCEJNFZYSAIHM6PSVA
X-Message-ID-Hash: ZBTTLE5LNAPCIYTCEJNFZYSAIHM6PSVA
X-MailFrom: hildjj@cursive.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cbor.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Wolf McNally <wolf@wolfmcnally.com>, CBOR <cbor@ietf.org>, Christopher Allen <christophera@lifewithalacrity.com>, Shannon Appelcline <shannon.appelcline@gmail.com>, Carsten Bormann <cabo@tzi.org>, Laurence Lundblade <lgl@island-resort.com>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Cbor] Re: I-D Action: draft-mcnally-deterministic-cbor-10.html
List-Id: "Concise Binary Object Representation (CBOR)" <cbor.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/SNw4mIW-pSwD_yPqBwyQL90bJZQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Owner: <mailto:cbor-owner@ietf.org>
List-Post: <mailto:cbor@ietf.org>
List-Subscribe: <mailto:cbor-join@ietf.org>
List-Unsubscribe: <mailto:cbor-leave@ietf.org>
I don't understand the message you linked to. - CBOR subset: this seems like same kind of "breaking change" you accuse dCBOR of - Encoding profile: I don't know your use case, but if you're not getting decoding errors from incorrectly-formatted CDE that is still valid CBOR, you're likely either going to have a security issue or not need determinism. - I'm still not sold on bidirectional diagnostic notation, and have not planned on writing a parser for it, but I'm still thinking about that. However, I don't see what it has to do with this discussion. - draft-rundgren-cotx doesn't bother me, aside from the usage of "URL" instead "URI" and no pointer to RFC 4151. Using URLs as identifiers is fine until people start dereferencing them at runtime, which they ALWAYS seem to do for some reason. Saying that everyone should do it your one true way seems... omniscient on your part. Tool develeopers by necessity think about application developers that are going to use their tools, or there won't be any application developers that use their tools. You're arguing that my tools are bad. Please file an issue on GitHub. I think I fixed the last one you filed. — Joe Hildebrand > On Jul 29, 2024, at 8:40 AM, Anders Rundgren <anders.rundgren.net@gmail.com> wrote: > > On 2024-07-29 10:08, Wolf McNally wrote: >> Anders, >> I don’t hear anyone here agreeing with you. > > Hi Wolf, > > You are 100% correct but it might have an another explanation than you think: the "WG" (You, Carsten, Laurence, Joe, ?), is focusing on *Tool* developers*. > > I obviously do not: https://mailarchive.ietf.org/arch/msg/cbor/PFZXSxyvQ7zG6Cj6QmzHd-_K52g/ > > However, targeting the bulk of *Application* developers, indeed makes interoperability the #1 concern. > > Anders > > > >> Not this time, or the last ten times you’ve repeated yourself. >> You might want to consider the reasons for that. >> (And I definitely call on anyone else here who does agree with you to speak up.) >> There are no “breaking changes” in dCBOR. >> dCBOR can be decoded with any CBOR (or CDE) decoder. >> dCBOR can be encoded with any CBOR (or CDE) encoder. >> It won’t be super easy, but you can do it. >> That means that dCBOR is interoperable *enough*. >> But interoperability is *not the point.* >> If CBOR were all about “interoperability” then you could use a CBOR decoder to read a JPEG. >> But you can’t do that. Does that mean CBOR is “broken”? >> No. >> Because the purpose of CBOR is not to be interoperable with everything, or indeed *anything* except CBOR. >> And it is not the purpose of dCBOR to be interoperable with anything except dCBOR. >> “All dCBOR is CBOR, but not all CBOR is dCBOR.” >> “All JPEGs are binary files, but not all binary files are JPEGs.” >> See the pattern? >> CBOR floating point '2.0' is *not* dCBOR and never will be. >> So if you encode CBOR '2.0' and send it to a dCBOR decoder, it *will* be rejected. >> That’s not a “breaking change”. >> And if you present ‘2.0’ to a dCBOR encoder, then it will be encoded as an integer '2'. >> You simply *can’t* encode '2.0' with a strict dCBOR encoder. >> But that is *also* not a “breaking change”. >> Not what you want? Don’t use dCBOR. >> Interoperability is great. But it's *not* the be-all-and-end-all of standards. >> dCBOR is not *about* interoperability. >> It’s about *takes deep breath*… >> …DETERMINISM. >> ~ Wolf >>> On Jul 28, 2024, at 10:47 PM, Anders Rundgren <anders.rundgren.net@gmail.com> wrote: >>> >>> Hello WG, >>> >>> You may think I'm repeating myself and to some extent I do. However, this posting is about INTEROPERABILITY which is one of the pillars of standards. >>> >>> >>> Since dCBOR introduces a BREAKING change [1] with respect to its parent profile (CDE), I felt inclined commenting a bit on the actual draft. >>> >>> IMO, a revised draft should be fitted with an *Interoperability Section*, giving potential application developers a "heads up" on what to expect: CDE and dCBOR are incompatible at the application level [2]. >>> >>> The primary source of the incompatibility is the reliance on numeric reduction. According to the draft the integer value 2 and the floating point value 2.0 are "semantically equivalent". This seems like a stretch since floating point numbers and integers have quite different characteristics with respect to math and value ranges, which also make them having pretty distinct use cases. In addition, the draft alludes that numeric reduction better matches the requirements for deterministic representation of numbers. >>> >>> Anders >>> >>> 1] Although the draft claims that dCBOR is not a "fork" since it maintains compatibility with CBOR [RFC 8949], the reality (the only thing that matters for application developers), is that the referenced decoder implementations [rightfully] reject 2.0 if encoded as CDE. In the other direction, CDE-compliant decoder implementations and associated applications like https://github.com/cyberphone/CBOR.js/blob/main/test/xyz-decoder.js#L20 would equally rightfully balk at 2.0 encoded according to dCBOR. >>> >
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… lgl island-resort.com
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… lgl island-resort.com
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Joe Hildebrand
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Carsten Bormann
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Carsten Bormann
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Christopher Allen
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… lgl island-resort.com
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Carsten Bormann
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Anders Rundgren
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Carsten Bormann
- [Cbor] Re: I-D Action: draft-mcnally-deterministi… Wolf McNally