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

Anders Rundgren <anders.rundgren.net@gmail.com> Sat, 27 May 2023 03:47 UTC

Return-Path: <anders.rundgren.net@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 A9D7DC15198C for <cbor@ietfa.amsl.com>; Fri, 26 May 2023 20:47:29 -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, NICE_REPLY_A=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 (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 rIL929xjlkoI for <cbor@ietfa.amsl.com>; Fri, 26 May 2023 20:47:25 -0700 (PDT)
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) (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 5D732C151060 for <cbor@ietf.org>; Fri, 26 May 2023 20:47:25 -0700 (PDT)
Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-3f60dfc6028so14349345e9.1 for <cbor@ietf.org>; Fri, 26 May 2023 20:47:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685159244; x=1687751244; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=aJAn/voMzJHn//DVt7tP3UHyrV4GLIGPuY63PtqIb1c=; b=XEMaPs9dnKDFEUrg6BiPJlVPgS6vGf0Mum4/srT5TL5ncpO71p6VVIoCUshgwTCwjf /eZ4VSRMmekp/pvQIT4r32IC4aTdL5zgS/zduqePwrOeLwplNdPyne6I8puEcR8VaD65 /GpNJVULR9zcDFhMEDbSGjXt+iCXiKjFwK4Ka1YN4Mf5vGDKNIrdCK0uYCwdWgBLdjp/ R4Qd7CRw3mMtBgH2NW3Le/EpN1SI7OnJ4qakPZFOlHpMT5zpi5xCSblIgfUsumjQSwPl Npp0kAlRDTsH1sSYldFaCZumKUyES3gaaFlwFQ+1iysc6vnyR9gSQaxt8x3envwlnGRg 4YBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685159244; x=1687751244; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=aJAn/voMzJHn//DVt7tP3UHyrV4GLIGPuY63PtqIb1c=; b=Uv9ATLXk6bwwoiPEAnQ6wz0JSmE+ezGF1rr6C63/vj9adUILlHmRleyXy6QMywIkBS 7h/NCX1tNnqEwgeSINVdOUrGhxG/QN+bJ/x2IPgmclD4OH0ar63CHfmVE6k21XRonOTu XweGUBPJhOe+YBr+6RZ1kBlPQ8rdQSV17J1EBh/nk2m5hS8wkTnE+WKfC9H0LGre6e+Z J4PPDEeYDp5isyA4YmohmpZ8WC3SaNPyByQ+66RQVSwD+7YovLgih1dMr06YWr+sTefH TKq15LG8rpIOLNl/SdqT5Ko3ucVLf8uZuRuG+UBIyv4PVTQ2CvXmOVhv7o01it4xK/nL X1Uw==
X-Gm-Message-State: AC+VfDy/QN2IKQKEa2uzn1o1tCB+3ag6xjPr/MiQpyu6mySEw8tFjhn5 mv7zISRNIHzCTm/U34ZWydw8NZh39F0=
X-Google-Smtp-Source: ACHHUZ6v8L1HXjVorniFiEMSoTzxQYvyrGutF/3BXypQk9z6v7he87RMCkv7AbcgslciR63mKJ6+eA==
X-Received: by 2002:a7b:cd8c:0:b0:3f6:459:eba3 with SMTP id y12-20020a7bcd8c000000b003f60459eba3mr3205937wmj.0.1685159243517; Fri, 26 May 2023 20:47:23 -0700 (PDT)
Received: from ?IPV6:2a01:e34:ec4e:5670:d164:cd96:7340:68d6? ([2a01:e34:ec4e:5670:d164:cd96:7340:68d6]) by smtp.googlemail.com with ESMTPSA id c22-20020a7bc016000000b003f4285629casm6859785wmb.42.2023.05.26.20.47.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 26 May 2023 20:47:22 -0700 (PDT)
Message-ID: <6aa6c6f6-632a-c621-5906-a8d8ab6c9fd9@gmail.com>
Date: Sat, 27 May 2023 05:47:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
To: Emile Cormier <emile.cormier.jr@gmail.com>
Cc: cbor@ietf.org
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> <CAM70yxCJSF=9aDcpSOTQvZuT3rTUxVZZ5nJao-ANbDZ4U6Y-HQ@mail.gmail.com>
Content-Language: en-US
From: Anders Rundgren <anders.rundgren.net@gmail.com>
In-Reply-To: <CAM70yxCJSF=9aDcpSOTQvZuT3rTUxVZZ5nJao-ANbDZ4U6Y-HQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/zrCRoSdUs9Gj9-9D3pxVtfKjuWQ>
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: Sat, 27 May 2023 03:47:29 -0000

Thanx Emile,
I have also come up with similar wishes. However, that would not be CBOR.
"CBOR everywhere" is only about establishing (through some kind of standards document), what I consider industry best practices regarding serialization.

Deterministic encoding + bidirectional diagnostic notation make CBOR a serious contender for most enterprise applications as well as for more specific applications like Gordian Envelopes and digital wallets.  The latter is BTW now mandated by the EU.

My hands-on experience with deterministic encoding (using Java, C++, and JavaScript), indicates that it comes practically free of cost.   It only gets slightly more complex if provided as an option.

Regarding C/C++: https://mailarchive.ietf.org/arch/msg/cbor/1CQvLGqkvpkBvj2uYxnrZvLN96k/

Cheers,
Anders


On 2023-05-26 23:38, Emile Cormier wrote:
> On Fri, May 26, 2023 at 1:35 AM Anders Rundgren <anders.rundgren.net@gmail.com <mailto: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