sunrise choir - 27/09/2018
attendees
- mikey
- piet
- aljoscha
agenda
- checkin
- sunrise-choir / ssbrs
- alj: like clear distinctions between specs and rust code
- what aljoscha will start on this week?
- how do we add new things and get @dominic's approval?
- neon / n-api
- async monads
- reachability in the database
- plugins
aljoscha start
- define the logical data model of ssb messages
- define rust traits / abstract apis for dealing with them
- serde
- specify and implement legcay json encoding
- transitional codec for transport between servers
- subset of cbor
- should this be used for signing?
- yay: json codec is ugly
- nay: if we introduce a temporary format and use it to sign / hash messages, it will be around forever
- start an official ssb spec
- a hard spec, less fluffy than protocol guide
- able to drill into any part of the protocol and dive deep
- not a linear document from start to end
how many hours in a work day
- mikey: high trust hand-wave
how to get approval
- recent plugin convo: %UyEnqEk...
- mik: dominic is worried about us being all specs no code
- maybe trying to nip a divergent spec in the bud
- a perception where we create more work and not do the work
- even if our perception disagrees
- mik: dominic likes negotiation
- choose our battles
- be clear about what is high priority
- be willing to let go of what is not priority
- pie: how to explore the problem space without starting an argument
- maybe make it explicit
- mik: swallow bits of javascript with native rust
- mik: good to build momentum and trust
- pie: get on a call with interested parties and make a case
- alj: high-bandwidth conversations are not accessible
- pie: still has value
- pie: prioritize notes
- alj: try to do as much as possible in text, not calls
- alj: high-bandwidth conversations are not accessible
neon / n-api
neon looks stale
n-api looks promising
async monads
context: %HjMfx1M...
- alj: rust has good generic interfaces
- can test against the interfaces directly
- macros for property-based testing of reader / writer
- alj: now rust supports afl fuzzer
reachability
context: %uJX/grT...
- alj
- is one thing older than another?
- messages are nodes, cypherlinks are edges
- is one node reachable by another node?
- mik
- realized value of timestamps: "only fetch content from last month of messages"
- keen for the best of both worlds
- timestamps are human
- but time is actually causation