This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # 100-days-of-code (1)
- # adventofcode (13)
- # aleph (1)
- # beginners (48)
- # boot (10)
- # calva (52)
- # cider (18)
- # cljsrn (23)
- # clojure (68)
- # clojure-uk (9)
- # clojurescript (5)
- # cursive (3)
- # datomic (4)
- # figwheel (7)
- # fulcro (14)
- # hoplon (2)
- # leiningen (5)
- # lumo (3)
- # off-topic (87)
- # overtone (5)
- # reitit (5)
- # rum (8)
- # shadow-cljs (7)
- # spacemacs (15)
any ideas/thoughts on facebook-like service being done as peer-to-peer system? This seems like not a bad idea. Totally scalable as more people join the system, user-feed is kinda trivial, just ask all peers you are connected to (friends) for the latest updates any problems with this approach?
especially since blockchains were popularized in the mainstream, there was a new wave of interest in p2p social networks. interestingly, almost none of them use blockchains 😄
Selected DHT Algorithms; Chord and Pastry (from my imminent reading list) https://www.cs.tut.fi/kurssit/ELT-53206/lecture03.pdf
@denisgrebennicov I was actually thinking about this quite a bit this weekend. The key constraint (I see it) is the economics of it. Somewhere there has to be a server and network connection that somebody’s paying for. You could make it a freeware ISP-friendly program like CPanel, to encourage big providers to offer it to their users, so they’ve got an incentive to promote it to drive sales.
The second constraint is going to be making it as easy to use as FB. With FB, you go to a web site, fill out a signup form, send a few friend requests, and you’re off and running. That’s the bar a competitor has to meet.
Which has me thinking: what if there were a central registry site you could go to and fill out a form, and it would the relay that request to a participating provider, which would run an automated process to set up the individual site. Providers could pay a tiny fee for referrals, providing funding for the registry site.
You might want to check https://github.com/maidsafe/safe_browser/releases/tag/0.11.0 sounds a bit like it, didn't read into it a lot yet.
> The key constraint (I see it) is the economics of it. Somewhere there has to be a server and network connection that somebody’s paying for. but this applies more towards client-server rather than peer-to-peer, right? In peer-to-peer system I can just contact any other node and get it’s data without paying for anything, or ain’t this true?
That’s true, a strictly peer-to-peer service would get around that. I was thinking more of a federated system of individual sites, to get around the problem of “Oh, their computer isn’t turned on because they went to bed, so I can’t see their content.”
Yeah, you could, but then you’ve got data proliferation, which could have a couple problems.
Which is not to say that those problems are insoluble, just that I was thinking in a different direction 🙂
But I would dearly love to see FB have some kind of decentralized competitor (with better privacy and anti-abuse controls)
i don’t think the storage problem is a real problem in the case of fb, since the data stored is relatively small several images is not the deal breaker, dunno
but maybe one could store only chunks of data and randomize it around peers. but then the building it up together would be inefficient
Right. If all my stuff is on a server I control, and I specify who I share it with, it’s more secure
Well, I’ll reserve judgment until I see how much accountability they’re actually held to.
Just saying that decentralization actually makes privacy and abuse problems even harder
What about “local centralization”? As in I keep my data on my site. I assign everything I post a rating specifying who I’m willing to share with, and when peer requests come in, I verify identities with certs or similar. If I don’t want my data to go out to the public, it doesn’t.
Once you share it with friends, of course, you have to trust that they’ll respect your wishes as far as distribution, but at least you get to make the initial call.
Part of the problem is that FB puts up a lot of stuff designed to stimulate user engagement (and extract personal data). Might be difficult to build a similar level of engagement without falling into the same shady practices.
And without engagement, the appeal of the platform diminishes, because it’s a social network.
Ultimately you're decentralizing the ability to do what Facebook is doing, selling your data
If you decentralize the platform, now many parties can participate in the information market
On the other hand, FB is selling your data because they want to make money off you. If you’re moving to a decentralized platform that you own and pay a few $$ a month for, you don’t need to monetize yourself.
Well, and of course that has the downside of excluding an entire population of people who aren’t going to be able to afford monthly fees for participation.
But look at what happened with that company that used Facebook data to help with the us election
Well, the value would be the social connections. You’d see your friends’s posts, and they’d see yours.
A decentralized architecture only makes keeping out those that want to harvest and sell it harder
That’s kind of a moot point if the single point of failure is incentivized and willing to compromise your privacy in return for profit.
but maybe you’re saying it would be better to clamp down on FB than to spread the problem around.
Maybe? I just think that the problem of privacy is not solved by decentralizing the problem
Well, it’s definitely not solved by decentralization alone. There might be solutions that involve decentralization that would be helpful even if they were imperfect.
Well, I have a few days off over the holidays, maybe I can launch http://cryptobook.com by new years.
@U080181PF made a pretty awesome go of a twitter/fb like thing in clj over I2P/bittorrent https://sekao.net/nightweb/ someone appears to be trying to pick it back up here https://github.com/mhatta/Nightweb
That's pretty cool, thanks for the links. A few years ago I designed a P2P network on Kademlia. Never finished the implementation -- maybe I should try again. The core analogy was that it's a P2P "gossip" network. The thing with gossip is that you cannot take back what you say (delete it), but some of it will be forgotten (the less interesting/juicy things, usually). It would be public and text-only (think twitter), immutable (each message is signed and the message's own crypto hash is used as storage key) but *not* durable (peers replicate only the messages they "star"/"heart", so naturally, as peers go offline, some get lost & forgotten). It was important for me to try to make it hard to censor/control by anyone -- and one thing I hadn't figured out was how to avoid someone with enough compute power from flooding the network with nodes they control and thus intentionally "forgetting" stuff.
Hmm, what if your “facebook” page was built into your browser, and every time you posted something it would email it to your friends list, and check your email for incoming posts… :thinking_face:
Which parsing algorithms give the MOST HELPFUL ERROR MSGS ? I'm building an Algol-like toy language, and I want really really helpful error msgs on syntax/p;arsing errors.
parsing algorithm have nothing to do with errors, or am I wrong? in order to have helpful error messages you need to implement them yourself but normally one uses LR parser generators, ones like BISON/FLEX or one write Recursive Descent Parser yourself by constructing LL(k) grammar
@manutter51 then one would receive many emails once the friends-list gets relatively big emails are never good, especially how people are getting bombarded with emails nowadays, imo
@lilactown @manu @denisgrebennicov Maybe you guys should take a look at Secure Scuttlebutt https://www.scuttlebutt.nz/ and the awesome Patchwork https://github.com/ssbc/patchwork desktop client, if you haven't. It's a very interesting and powerful take on decentralization and privacy 🙂