00:23:34  * pfrazejoined
00:58:45  * vweeversquit (Ping timeout: 268 seconds)
01:53:38  * contrahaxquit (Quit: Sleeping)
02:31:32  * contrahaxjoined
02:35:35  * domanicjoined
03:01:00  <domanic>mafintosh, hey, I've been thinking about a more efficient EC replication protocol for largish objects
03:01:30  <domanic>say, to build something like meatspace, where each message is a animated gif, with a size, say, 1 mb
03:01:48  <domanic>using a naive approach like secure-scuttlebutt currently does
03:02:01  <domanic>you can easily end up sending the same message multilpe times
03:02:27  <domanic>so, you can reduce the number of connections, but then the network gets weaker.
03:03:26  <domanic>so, had an idea, instead of sending the whole msg, just send a "have" message which only contains an id for that message ({feed,seq})
03:03:55  <domanic>then if you are the first peer to mention that msg, you'll get asked for the whole thing
03:04:13  <domanic>when someone asks for the whole thing, send it, and subsequent messages in that feed
03:04:31  <domanic>but if two peers send you the same entire message, tell the second one that you already have it
03:04:59  <domanic>then, they'll just send you HAVE messages instead,
03:06:06  <domanic>so if a have message is say, 100 bytes, but the message it self is larger (say, 20k for a second worth of mp3, or 1mb for second worth of gif)
03:06:19  <domanic>then you have very cheap realtime replication
03:07:05  <domanic>and, when there is a failure, the network heals very quickly: you'll get a HAVE message before that MSG, so you just ask them for that ms.
03:07:06  <domanic>msg
03:07:28  <domanic>basically, you start with a gossip protocol, and it builds a tree overlay on top of it.
03:07:32  <domanic>...
03:07:36  <domanic>BUT THE BEST BIT
03:07:50  <domanic>I found a paper which already describes the idea! http://www.gsd.inesc-id.pt/~jleitao/pdf/srds07-leitao.pdf
03:08:39  <domanic>(when used in Optimal Latency mode, as described on page 12)
03:09:25  * johnny__joined
03:13:18  <mafintosh>domanic: great idea. our hypercore protocol already supports push mode and i'm adding EC signed feeds. would be a fun prototype to implement on top
03:14:47  <domanic>mafintosh, this would mainly make sense for live, realtime feeds
03:15:28  <mafintosh>domanic: yea agreed
03:15:32  <domanic>mafintosh, how does hypercore push mode work?
03:16:14  <mafintosh>domanic: i meant that the wire protocol supports pushing out chunks the other side didn't ask for
03:16:23  <domanic>ah, got it
03:16:43  <mafintosh>domanic: so i'd need this on top
03:17:06  <mafintosh>domanic: but we already advertise what you have using HAVE messages
03:19:29  <domanic>mafintosh, yeah cool. I also want to use this for a on-the-side-of-ssb chat protocol
03:19:39  <domanic>that isn't persisted in the logs the same way
03:19:51  <domanic>so it can have better privacy properties
03:19:59  <mafintosh>nice
03:20:15  <domanic>BUT, if it's efficient for large objects you could do voice chat or gifs or video too
03:20:27  <domanic>especially I want more reliable voice
03:20:57  <domanic>thinking something like a walky talky - where you push a button to transmit, except it's a reliable transmission
03:21:26  <domanic>cos otherwise the users end up implementing reliability informally (sorry, i missed that)
03:21:51  <domanic>also, it needs built in emoticons, so you can "aha" and <nods>
03:22:02  <domanic>etc
03:26:43  <mafintosh>domanic: using this for voice would be great
03:28:16  * pfrazequit (Remote host closed the connection)
03:38:16  * pfrazejoined
04:08:27  * phatedjoined
04:08:54  * yoshuawuytsjoined
04:10:14  * phated_joined
04:13:16  * phatedquit (Ping timeout: 252 seconds)
04:23:07  * phated_quit
05:13:40  * domanicquit (Read error: Connection reset by peer)
05:27:03  * johnny__quit (Ping timeout: 240 seconds)
05:28:47  * johnnyjoined
05:29:11  * johnnychanged nick to Guest78719
06:21:33  * Guest78719quit (Ping timeout: 240 seconds)
06:33:01  * yoshuawuytsquit (Quit: Connection closed for inactivity)
07:07:38  * lachenmayer_joined
07:08:17  * timoxley_joined
07:15:29  * timoxleyquit (*.net *.split)
07:15:29  * pspi_quit (*.net *.split)
07:15:29  * rf_quit (*.net *.split)
07:15:29  * lachenmayerquit (*.net *.split)
07:15:29  * mint_xianquit (*.net *.split)
07:15:29  * mawequit (*.net *.split)
07:15:29  * guybrushquit (*.net *.split)
07:16:11  * pspi_joined
07:16:11  * rf_joined
07:16:11  * mint_xianjoined
07:16:11  * mawejoined
07:16:11  * guybrushjoined
08:19:51  * pfrazequit (Remote host closed the connection)
08:54:46  * vweeversjoined
09:11:41  * vweeversquit (Quit: vweevers)
09:11:58  * vweeversjoined
09:12:13  * contrahaxquit (Quit: Sleeping)
09:12:49  * drptbljoined
09:50:17  * contrahaxjoined
09:54:17  * peutetrejoined
10:02:25  * peutetrequit (Quit: ...)
10:07:24  * peutetrejoined
10:08:01  * drptblquit (Quit: My MAC has gone to sleep. zZz..)
10:15:59  * peutetrequit (Quit: ...)
10:21:46  * drptbljoined
10:24:42  * peutetrejoined
10:44:04  * vweeversquit (Quit: vweevers)
10:44:21  * vweeversjoined
11:04:51  * vweeversquit (Ping timeout: 244 seconds)
11:05:21  * peutetrequit (Quit: ...)
11:28:17  * contrahaxquit (Quit: Sleeping)
11:34:46  * contrahaxjoined
12:18:07  * contrahaxquit (Quit: Sleeping)
12:38:20  * peutetrejoined
13:07:31  * vweeversjoined
14:01:21  * pfrazejoined
14:03:00  * pfrazequit (Remote host closed the connection)
14:37:50  * pfallenopquit (Ping timeout: 248 seconds)
14:47:44  * pfrazejoined
15:24:55  * pfrazequit (Remote host closed the connection)
15:26:55  * pfrazejoined
15:31:29  * pfrazequit (Ping timeout: 260 seconds)
15:32:30  * pspi_quit (Ping timeout: 244 seconds)
15:34:48  * pspijoined
15:43:21  * pspiquit (Ping timeout: 244 seconds)
15:45:30  * pfrazejoined
16:11:01  * peutetrequit (Quit: ...)
16:18:31  * peutetrejoined
16:44:18  * pfallenopjoined
16:49:05  * peutetrequit (Quit: ...)
16:57:04  * shamajoined
17:12:50  * pfallenopquit (Remote host closed the connection)
17:13:09  * pfallenopjoined
17:13:10  * pfallenopquit (Changing host)
17:13:10  * pfallenopjoined
17:42:36  * vweeversquit (Quit: vweevers)
17:42:57  * vweeversjoined
17:50:29  * johnny_joined
18:07:04  * johnny_quit (Ping timeout: 240 seconds)
18:51:07  * jjjohnnyjoined
19:12:27  * phatedjoined
20:10:57  * contrahaxjoined
21:11:31  * farnsworthquit (Ping timeout: 248 seconds)
21:18:25  * farnsworthjoined
22:01:10  * ekristenjoined
22:56:42  * pfrazequit (Remote host closed the connection)
23:18:02  * vweeversquit (Ping timeout: 244 seconds)
23:22:46  * vweeversjoined
23:40:38  * pfrazejoined
23:42:37  * pfrazequit (Remote host closed the connection)
23:42:52  * pfrazejoined