Re: [Cbor] Reminder and call for agenda: CBOR WG Virtual Meeting on 2023-05-31

Emile Cormier <emile.cormier.jr@gmail.com> Fri, 26 May 2023 21:39 UTC

Return-Path: <emile.cormier.jr@gmail.com>
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 AC426C1516E1 for <cbor@ietfa.amsl.com>; Fri, 26 May 2023 14:39:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 IbWqdOmNNz-j for <cbor@ietfa.amsl.com>; Fri, 26 May 2023 14:39:13 -0700 (PDT)
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DAFF1C14CEE3 for <cbor@ietf.org>; Fri, 26 May 2023 14:38:29 -0700 (PDT)
Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-30ad8f33f1aso691533f8f.0 for <cbor@ietf.org>; Fri, 26 May 2023 14:38:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685137108; x=1687729108; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XaGHqZN1hVaItrJZaOzodaPrtuBvWGNlKvUdJipdoUQ=; b=hg96jlEL4mx5PR2LC8fEdiYJic/fEbD+FDUBtUBDQRZDVT9CEQ8lVSlhFBu5A8MKGT N6KNHkM0JfwphRRMmylrWB+f0YjyWRzyuIl+RCypWrpeY36U0EJNG0XABq1CTZILXI/D H+ScGG4JtbtPj997SlpWuVkkeABErSZPM/lJaG1QxQfzYpZnUvR4SpsEvg/jOWjfgB+y OQ3EUlTkuLFRCNw1qfNZsNJ5PKX3wre6+jVRtDgwSkG9gH19d/0gzat/qvuZb4rFVm0u 5mbmMgpBDE/QjfL0RarCdu9G8DmY46WXRgSdwCUmQdI9EN1wJ0sV7R9g3Uvmq6nnN4Yn uXmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685137108; x=1687729108; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XaGHqZN1hVaItrJZaOzodaPrtuBvWGNlKvUdJipdoUQ=; b=VXQfCik+qaersBkOnV8QmT2IUgmEBPFpFpXiIYb6dcNrJjf4O/vEu9NqapXLbKXNnY zJtIjHMnT27rSBi3G1XJFPkGTApQ8k0Fu/X7NI1ycBVGq9sZCI1lpNNlwEY3UBqEQYwk WdYVbIQdrLstir+OvJp67yl+V0JhzJCkSmey7jDgnLKdT+6SWjV5myAj4UgThKLCLAJS ft7qkDUchveIwHrtbm7LpHnaK0eh2XELNhIED1Nl9OrZFyMzgrnPrh6HK2P/GBMj6VIS MfFEev3j0EoNIkLxnXYJx1MGp8HLHOJmo1HBYusmr0OOEGhEYav2QS9lFiOIjpU5a6vt Uq+g==
X-Gm-Message-State: AC+VfDwtoz5vqe+JR4+LCvhyzd5tsTpV55fJDz+xKE4/y0EroQuCweEH ofT/bpsOV1sJ1tuMPmggMQIEOS0O95UFzoPN3Qc=
X-Google-Smtp-Source: ACHHUZ7TXTpWUC802ZjUTSRiJj63dzLC2aDb464BKkrEgAiuxuIkFiSngbXl/lnpMBNuxCyeO5eB/iNx6Qbciyz4XD8=
X-Received: by 2002:adf:ec44:0:b0:2f4:9f46:6865 with SMTP id w4-20020adfec44000000b002f49f466865mr2633094wrn.30.1685137108122; Fri, 26 May 2023 14:38:28 -0700 (PDT)
MIME-Version: 1.0
References: <CALaySJJ8kwtR8y9us4Qi49KFAYwus0uBoRi49rMsEO4smwfKSA@mail.gmail.com> <CALaySJJqusJ=6X06Ee4UrhQp236h079Ng3MLbTgEzEd4=9EUhQ@mail.gmail.com> <CALaySJLGk9Ztg_kMmvk=PW+=2SLf1Bkb-kmQyPz=Dbs8=DuXMA@mail.gmail.com> <CALaySJLfJqcdy+GbpC0U44t1wi4p+zf7ObogAJFZuVheZ1UC0w@mail.gmail.com> <CALaySJ+eHZ5EeRM8wrO3o7b3UVzMwwAn+6Kuq_wMDLBxtOQmiw@mail.gmail.com> <CALaySJKOqZ0wp6ZBUTo=z6_pLKbQfekfZwJapOzRLWBvAjDiCA@mail.gmail.com> <CALaySJJR0ouauKKsy2uyYVtT2nsuawXGL_JKa0jLFNbxQCHLAw@mail.gmail.com> <118bed90-9c98-0da9-eefb-906e5b714369@gmail.com>
In-Reply-To: <118bed90-9c98-0da9-eefb-906e5b714369@gmail.com>
From: Emile Cormier <emile.cormier.jr@gmail.com>
Date: Fri, 26 May 2023 18:38:16 -0300
Message-ID: <CAM70yxCJSF=9aDcpSOTQvZuT3rTUxVZZ5nJao-ANbDZ4U6Y-HQ@mail.gmail.com>
To: Anders Rundgren <anders.rundgren.net@gmail.com>
Cc: cbor@ietf.org
Content-Type: multipart/alternative; boundary="000000000000ba40ba05fc9f8e7a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/Ajph7MUqTedINu1huTqIDx-xYx8>
Subject: Re: [Cbor] Reminder and call for agenda: CBOR WG Virtual Meeting on 2023-05-31
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>, <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>, <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 May 2023 21:39:17 -0000

On Fri, May 26, 2023 at 1:35 AM Anders Rundgren <
anders.rundgren.net@gmail.com> wrote:

> Based on recent postings on the mailing list, the CBOR WG seems to rather
> be drifting towards the opposite goal; creating sector- or/and
> application-specific encoding profiles like dCBOR, "fintech", or breaking
> away from the crippling past (C/C++). Since I have no interests in such
> ventures, I won't attend the meeting.
>

I'm curious to know how C/C++ has anything to do with CBOR and the
direction you think it's going. Except perhaps for a few example code
snippets, CBOR seems pretty language-agnostic to me.

While implementing C++ encoders for "important" CBOR tags, I found that
some of them were fighting against the C++ way of doing things. In
particular, the extended time tags want base 10 exponents that are
multiples of 3, whereas C++ std::chrono allows any arbitrary ratio for its
time unit. Another one is CBOR bignums that are not signed magnitude like
how most C++ bignum libraries are implemented.

I've come to accept that CBOR cannot please everyone. It has to contend
with competing pressures: encoding size vs ease of decoding, determinism vs
ease decoding, the ease in which competing programming languages can
generate/consume CBOR, etc.

As much as I've grown attached to CBOR, I would like to see a binary
serialization format that sits somewhere between CBOR and Protocol Buffers,
where bytes could be directly copied to the programming language variables
(as much as possible), yet there is no fixed schema requiring an IDL. This
would be my wish list for such a hypothetical format:

- Little endian!
- Two's complement signed integers instead of separate types for
positive/negative. Rules provided for determinism if an application
requires it (e.g. signed vs unsigned positive integers).
- Tags are purely for semantics and don't encode a portion of the data item
(I'm looking at you, positive/negative bignum!). It should be possible to
strip away the tag while transcoding to JSON, with the receiver being able
to reconstitute the item if they know what type to expect.
- Tags are only for items that have a general purpose and are not
application/protocol/vendor-specific

Cheers,
Emile Cormier