hachyderm.io is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hachyderm is a safe space, LGBTQIA+ and BLM, primarily comprised of tech industry professionals world wide. Note that many non-user account types have restrictions - please see our About page.

Administered by:

Server stats:

8.9K
active users

Jeremy List

I started a new project: a plugin in for the cable chat protocol.

Most of my time on it so far has actually just been figuring out how to tell rust-bindgen how exactly NixOS is an unusual environment.

@cblgh

@jeremy_list yooo that is super exciting news!!!! 🤩

am i understanding it correctly that this would enable use of cable via e.g. pidgin? super keen to support you however i can!

@cblgh Yes I'll be primarily testing it with pidgin but it should be usable in other libpurple based clients.

At the moment my main question is about how peer discovery works in Cabal: the website makes it seem like the cabal URI was sufficient to find peers to connect to but the cable spec only seems to talk about peers that already have a TCP connection or equivalent.

Next time I'm at my computer I'll try running cabal-tui and having a proper look (electron is either painful or impossible to deal with on all the OSes I have on my hard disk)

@jeremy_list @cblgh sickkkkkkkkkkk and while were here, is there cable golang magic yet?

@decentral1se @jeremy_list d1: afaik currently only this partial implementation by @cryptix from 3 years ago—spec's moved up quite a bit since then tho! git.sr.ht/~cryptix/go-exp/tree

(he's also written a spec-compliant erlang impl :> git.sr.ht/~cryptix/caberl)

jeremy: you managed to single in on the trickiest part ahah! to cut to the chase, we don't have a blessed solution yet! one of the strongest contenders imo for peer discovery is to use iroh. it will work across & enable many different language implementations of cable to interoperate. since you're using rust you can actually play around with the latest of iroh's efforts in that avenue :)

iroh.computer/docs
lmk if you wanna try your hand at this i've got some notes on how to approach it for cable :)

@decentral1se @jeremy_list @cryptix as for cabal pre-cable, it uses the hyperswarm dht by holepunch. by performing lookups for basically hash(hash(cabal-key)) we can find other peers who know of a particular cabal and connect to them directly

@cblgh @decentral1se @cryptix I'm pretty sure I'll eventually want to do the Iroh thing unless you settle on a different blessed solution before then. It does seem like I'll need a bit more insight on how to implement it because Iroh seems pretty flexible.

@jeremy_list @decentral1se @cryptix i'll try to gather my current notes on how i think we could make use of iroh and post somewhere easily referenced! :]

btw d1: re golang cable i've been realllly keen on a version of it too :> :>

@jeremy_list @decentral1se @cryptix i've got a little writeup going now, will polish during the week and publish as a blogpost and link yas!