permacomputing

Source repository for the main permacomputing wiki site
git clone http://git.permacomputing.net/repos/permacomputing.git # read-only access
Log | Files | Refs

cable.mdwn (2083B)


      1 **Cable** is a protocol for peer-to-peer group chat. It operates differently
      2 from the traditional server-client model, wherein the server is a centralized
      3 authority. Instead, in Cable, every node in the network is equal to each other.
      4 Nodes of a cabal (i.e. a particular group chat) share data with each other in
      5 order to build a view of the state of that cabal.
      6 
      7 
      8 Relevance to permacomputing
      9 ---------------------------
     10 
     11 Cable is designed to be:
     12 
     13 - fairly simple to implement in any language, with minimal dependencies
     14 - general enough to be used across different network transports
     15 - useful, even if written as a partial implementation
     16 - efficient in its use of network resources, by syncing only the relevant
     17 subsets of the full dataset, and being compact over the wire
     18 - not specific to any particular kind of database backend
     19 
     20 As a protocol, Cable emphasizes efficient use of resources and bytes. Similarly
     21 to [[Gemini]] and [[Uxn]], it has been developed to be implementable across
     22 many different scales, levels of fidelity, and is designed to
     23 agnostic/adaptable to many systems. 
     24 
     25 As a project it is built around values and goals that overlap significantly
     26 with permacomputing. It prioritises collaboration within a scrappy community of
     27 likeminded people over arbitrary technical contributions.
     28 
     29 
     30 Limits and challenges
     31 ---------------------
     32 
     33 Cable makes use of modern cryptographic primitives as part of the protocol
     34 design. While these have been chosen carefully to enable widespread
     35 implementation in modern ([[C]] and onward) programming language ecosystems,
     36 the choices still likely limits protocol implementation on
     37 retrocomputing-adjacent hardware and languages. Similarly, at time of writing,
     38 and while this is not a limitation of the protocol per say, the available
     39 clients do not reflect the potential diversity of implementation and platforms
     40 on which it could be implemented and used.
     41 
     42 
     43 Links
     44 -----
     45 
     46 - <https://github.com/cabal-club/cable>
     47 - <https://codeberg.org/cabal/cable>
     48 - <https://cabal.chat>
     49 - <https://github.com/cabal-club/commons/blob/master/values.md>
     50