-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
basics #1
Comments
i had some ideas on the starting and joining of a cabal from an event-oriented perspective. the invite-only flow is easier to implement as a first stop, and the introducer flow might look different depending on how glitch works basic flowsinvite-only (no introducer)conspirator flow
uninitiated flow
introducerconspirator flow
uninitiated flow
|
This is all really great @cblgh - I'm going to work on visualizing this flow through some wireframes. Will also take a stab at some of the high level organization. I think we should dogfood as fast as possible! |
I've been looking at HyperDB and I don't really understand how I could go about and make a chat system with it. Is there a sort of proof-of-concept code somewhere around? |
@neauoire you can look at chatmesh, which i mentioned under prior art above. otherwise i'm going to write small examples in the same fashion as with cblgh/hypercore-examples but for hyperdb @callil i completely agree about dogfooding! i was talking with @louiscenter and he brought up the counterpoint that we could also just setup a nice bouncer for irc and have people join that regardless i think it would be nice to have infrastructure for people to easily setup a distributed slack alternative. it could optionally intertwine with the raspberry pi effort to ensure chat history availability / introducer peers |
some more prior art: https://github.com/mafintosh/hyperirc if I wonder if there are already bouncer like apps floating around on glitch that could be forked in taken in the direction that you're after? |
this is a really cool idea. something that chatmesh requires (which, as I understand it, is required by multi-writer hyperdb) is explicit authorization by whoever originates the hyperdb. this means that unless the an already-authorized writer to the hyperdb is available to authorize, peers can't authorize themselves to write to the hyperdb. this might not be a problem for some of the conspirator/uninitiated flows described here, but i'd be curious if there are ways to make hyperdb work more like IRC for certain use cases — e.g. allow any participant in a swarm for a specific public key or cabal (discovery key?) auto-authorize themselves for writing without needing to communicate with an already-authorized writer? |
Maybe a workaround for that would be a centralized server running somewhere that has write access to hyperdb and you would get access through that. |
@saranrapjs i dug into chatmesh today and i think as long as we have one (or many) bot/service peers running then we can get something more like IRC! (i.e. no explicit authorization needed) (i have a hard time seeing self auto-authorization working without some kind of peer being online, though) |
Extremely excited for this!!! 😍 Definitely check out @jimpick's demo on hyperdb! It's not a chat application but should show a good implementation of hyperdb: https://dat-multiwriter-web.glitch.me/. He should be writing up a blog post on it soon! Related, Jim has thought a lot about auto-authorization as well. Other random prior art (related to hyperirc): |
How would this be structured, by the way? One archive per channel ( Chatmesh uses the first structure which is a lot more simple to work with, but maybe the second one is better for UX. |
alright, i got the ball rolling! first out is a small introduction to hyperdb that i made to explore what i'll be needing for the backend check it out at cblgh/hyperdb-examples @kodedninja many channels per hyperdb! so following your example that would be |
Great! |
oh hey so i've been working on this here and there and have something really basic working i took a bit of a break to learn streams so that i could work with hyperdb's stream-based methods with minimal headscratching. right now this a terminal only app, but the structure is such that you can swap out the frontend (currently it's |
hey @cblgh , chatmesh doesn't have channels right now but I think it should include them. So you could think of a dat link as an equivalent to a 'server' in IRC or a team in Slack. |
i pushed up the code if anyone wants to have a look |
Having a look |
It's giving me a |
Once I add it to the package, it works I think?
Do you have a client? I seem to see some client-lookish files, but |
yeah sorry, usage is a bit rough still but to start do then in another window use the db key that's printed out chat with but ya, it's a rough! |
Ah! Okay :) Thanks, I'll try that. |
Trying out. Could you add at least some basic description of commands? It's pretty messy right now 😄 |
sure! the useful commands for testing it out are
i have a session running at |
@kodedninja and i were just chatting over cabal! 😀 |
Omg so excited to do this!
…On Sun, May 13, 2018 at 12:44 Alexander Cobleigh ***@***.***> wrote:
@kodedninja <https://github.com/kodedninja> and i were just chatting over
cabal! 😀
hit us up using
node index.js --db db1 --key
dd7e3803282ee50e70d8c6800c9df5601edeebadedbe1cbfa49ccad2a042ec9f --nick
<name>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABSuN5HIT3BQvgeVcnE26AtJkgEzs3jHks5tyGLggaJpZM4TjYAz>
.
|
@neauoire i know you're busy with voyage prep, but, would it be possible for you to create a tiny blessed client that implements the api in simple-screen.js? with a baseline blessed client i could continue development from there! |
hi there! Had tried joining the chat at the last listed key, and receive this:
Is there a way to clear previously-used dbs? |
@edouerd yeah, you just delete the old one! (e.g. |
on it :) I still have a week to complete projects and stuff. |
@neauoire ahh! that's great! |
for anyone following along: chatmesh and cabal have merged together to create cabal-club! come talk to us in the ui on cabal-desktop (built with electron) needs design & ui love, and the command line client would love new commands and functionality 🖤 |
see cabal-club for the most recent developments of this project
recently we've seen a deluge of interesting ideas, topics and conversations around the p2p domain. i've been feeling the need for an accessible irc alternative, one that isn't hosted by a for-profit company.
i think making the software to organize ourselves will create the opportunity for a lot of interesting collaborations and birthing of projects
here's what i've been thinking with regard to basic features
using hyperdb we can make use of multi-writing to easily connect many peers together into a cohesive whole.
this has the interesting property that any authorized peer can in turn authorize and add other peers i.e. a kind of viral propagation, anyone in the cabal can add others to the cabal
let's collab on this, and see where we can take it together 👋
prior art
automerge/hypermerge
substack/chatmesh
jimpick/dat-multiwriter-web
The text was updated successfully, but these errors were encountered: