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