IRC log of auto on 2022-01-11

Timestamps are in UTC.

19:06:05 [RRSAgent]
RRSAgent has joined #auto
19:06:05 [RRSAgent]
logging to https://www.w3.org/2022/01/11-auto-irc
19:06:07 [Zakim]
RRSAgent, make logs Public
19:06:08 [Zakim]
Meeting: Automotive Working Group Teleconference
19:06:46 [ted]
agenda+ Protobuf experiment
19:07:20 [ted]
Peter reports contact with Rivian went favorably and setting up next steps
19:07:57 [ted]
Present+ Peter, Ulf, MagnusG, Ted, Carine, Daniel, Erik, Gunnar
19:08:56 [ted]
Topic: PR
19:09:19 [ted]
Ulf: Wonsuk had not responded to review request but Erik made an excellent comment
19:09:32 [ted]
… I added his fix to a new PR
19:10:00 [ted]
… I propose we give Wonsuk another couple of days and proceed
19:10:12 [ted]
Present+ Adnan
19:10:19 [ted]
zakim, next agendum
19:10:19 [Zakim]
agendum 1 -- Protobuf experiment -- taken up [from ted]
19:14:22 [ted]
[Ulf shares screen, presentation on protobuf]
19:14:28 [ted]
@@slides
19:15:03 [ted]
Ulf: I implemented two levels of protobuf. first is all just strings which isn't very compressible
19:15:22 [ted]
… it was easier to implement and start understanding protobuf more
19:16:14 [ted]
… in level two paths are encoded into an int32 value and timestamps are expressing in Unix time so they too are an int32 for compression considerations
19:16:20 [ted]
scribenick: ted
19:16:24 [ted]
Chair: Peter, Ted
19:16:27 [ted]
Scribe: Ted
19:17:39 [ted]
… in the repo we have a .proto file (schema) with top level message types
19:18:50 [ted]
… I leveraged my previous compression experiment for providing int values instead of paths
19:19:21 [ted]
… you can use this map for translating full path to a short integer and back
19:20:15 [ted]
… I have a utility to convert protobuf into Go language and this file contains quite a few structs, several thousand lines worth
19:21:32 [ted]
… it also contains getter messages since the first thing you do is populate the struct with values, a form of serialization (marshall)
19:22:20 [ted]
… this makes it possible to go from struct to serialized byte array
19:22:53 [ted]
… [as it is cumbersome to act on protobuf within code] wanted the client application to be able to deconstruct back into JSON
19:24:14 [ted]
… I needed a client for experimenting with compression
19:26:08 [ted]
… right now there are only four requests supported in the client, you're welcome to experiment with it
19:26:33 [ted]
… it calculates the compression ratio as that is interesting
19:27:19 [ted]
[Ulf walks through code on github]
19:28:25 [ted]
Ulf reviews error response, optional aspects, filters...
19:28:43 [ted]
s/Ulf reviews error response, optional aspects, filters.../[Ulf reviews error response, optional aspects, filters...]/
19:28:56 [ted]
Ulf: all messages are contained in the top level message
19:32:46 [ted]
MagnusG: request messages are optional, does that mean it is possible to send a malformed request
19:32:54 [ted]
Ulf: yes if you want to misuse
19:33:08 [ted]
MagnusG: you can specify oneOf to require one
19:33:36 [ted]
Adnan affirms
19:33:59 [ted]
Ulf: I am new to protobuf and glad to hear some here have more experience, anyone is free to improve
19:40:35 [ted]
[Ulf opens terminal to run demo, starts with a build]
19:50:36 [ted]
[showing level 1 and 2 described before, different types of requests and compression rates on requests and responses]
19:56:42 [ted]
Ted: encourage those with additional protobuf experience give suggestions on any way things might be improved
19:56:42 [ted]
… a proprietary compression scheme may well be fine, the approach here reminds me some of EXI that Carine told this group about previously where the schema is known on both ends
19:57:10 [ted]
Ulf: some values not compressed at present
19:58:10 [ted]
Ted: as we are low on remaining time for this call, encourage people to use github issues to give feedback and we can maybe discuss more next week
19:59:20 [ted]
… a challenge would be accomodating private branches, the .proto would need to be known on all sides
19:59:37 [ted]
Ulf: file is generated each time so it could be handled indeed
20:01:09 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/11-auto-minutes.html ted
21:16:18 [ted]
s|@@slides|https://docs.google.com/presentation/d/1PB11dWyghW6MNR24vJfTGtwhIFDANdKZVDNfj93Qe78/edit#slide=id.gdb284aa95f_0_61|
21:16:20 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/11-auto-minutes.html ted