zlacker

[parent] [thread] 16 comments
1. YtvwlD+(OP)[view] [source] 2023-05-04 19:33:38
Okay, yes, but this indicates that they didn't read the ActivityPub before developing their own new shiny protocol.
replies(3): >>stevek+j >>rchaud+m3 >>linuxd+rf1
2. stevek+j[view] [source] 2023-05-04 19:35:17
>>YtvwlD+(OP)
I don't personally believe that one mistake indicates ignorance of an entire topic.
replies(1): >>seba_d+A1
◧◩
3. seba_d+A1[view] [source] [discussion] 2023-05-04 19:40:32
>>stevek+j
In general - no, but this kind of fundamental mistake might.
replies(1): >>stevek+O2
◧◩◪
4. stevek+O2[view] [source] [discussion] 2023-05-04 19:46:49
>>seba_d+A1
I hope I never work on software you folks use. The grand claims about something that is not even hard to fix is just wild to me.
replies(3): >>gowld+F5 >>seba_d+ga >>accoun+BW1
5. rchaud+m3[view] [source] 2023-05-04 19:49:23
>>YtvwlD+(OP)
The pull of NIH is a strong one.
◧◩◪◨
6. gowld+F5[view] [source] [discussion] 2023-05-04 20:01:40
>>stevek+O2
What about the next 500 easy-to-fix bugs?

Is there a public test suite?

replies(1): >>stevek+i8
◧◩◪◨⬒
7. stevek+i8[view] [source] [discussion] 2023-05-04 20:14:04
>>gowld+F5
> Is there a public test suite?

The entire specification (which is admittedly incomplete) and implementation are open source.

I am not aware of a dedicated test suite for alternative implementations. It's too early, IMHO. I personally would much prefer the team to focus their time elsewhere for the time being.

replies(1): >>Shroud+nk
◧◩◪◨
8. seba_d+ga[view] [source] [discussion] 2023-05-04 20:24:31
>>stevek+O2
Being easy to fix is completely irrelevant. The thing is that it's easy to avoid. The only way to end up there is to not put any thought into the domain verification scheme before deploying it. Any kind of review would catch it. That's what makes it look really bad.
◧◩◪◨⬒⬓
9. Shroud+nk[view] [source] [discussion] 2023-05-04 21:17:04
>>stevek+i8
My instincts may be way off-base, but if I was developing a protocol at the core of my product vision, even if there was only one implementation, I would a want an authoritative test suite. I wouldn't trust myself not to integrate load-bearing idiosyncrasies (and bugs, honestly) otherwise.
replies(1): >>stevek+3n
◧◩◪◨⬒⬓⬔
10. stevek+3n[view] [source] [discussion] 2023-05-04 21:32:38
>>Shroud+nk
I mean, I don't think you're incorrect, but I do think that like, semantics matters here. There is a test suite, of their implementation. Just because they have not extracted it and made it easily re-usable for alternative doesn't mean that they don't have checks to ensure regressions don't appear, you know?

They already build off of many related specifications, which have independent implementations, and a lot of the core protocol is RPC style, with schemas that they do publish. So there's already a lot of rigidity here for alternative implementations to use in a way that is extremely likely to be compliant.

I guess another way of putting it is "I don't exactly disagree with you but doing that takes work, and we're at the stage of this stuff where that work is being done, so expecting it right now feels premature to me." The spec isn't "released" or "done," it's in development.

11. linuxd+rf1[view] [source] 2023-05-05 06:08:35
>>YtvwlD+(OP)
Paul has lots of experience designing protocols. He designed SSB. ActivityPub does a lot of things wrong from first principals.

The whole point was to start from scratch.

replies(1): >>marius+Qh1
◧◩
12. marius+Qh1[view] [source] [discussion] 2023-05-05 06:32:11
>>linuxd+rf1
> ActivityPub does a lot of things wrong from first principals

I'd be curious to learn about those.

replies(1): >>capabl+Y92
◧◩◪◨
13. accoun+BW1[view] [source] [discussion] 2023-05-05 12:33:42
>>stevek+O2
If your response to a fundamental design flaw of identy verification is "something that is not even hard to fix" then that hope is mutual.
◧◩◪
14. capabl+Y92[view] [source] [discussion] 2023-05-05 13:56:56
>>marius+Qh1
There is a lot more information here: https://twitter.com/bluesky/status/1511811083954102273?lang=...

From my own understanding, the biggest useful differences for me personally is: account portability, domains as usernames and content-addressable from the ground up.

- Account portability - Useful if/when you want to move between servers

- Domains as usernames - Ties into the same value as account portability. I've owned my own domain for decades, it never changes and probably won't, until years after I die

- Content-addressable - Caching and syncing becomes so much easier, which is a huge issue Mastodon currently suffers from.

replies(1): >>marius+mw2
◧◩◪◨
15. marius+mw2[view] [source] [discussion] 2023-05-05 15:36:55
>>capabl+Y92
Since you seem to default to sending me to RTFM :D, I'll give you a similarly short reply:

ActivityPub can identify users based on their domain too. Probably better than BlueSky does, because it uses better standardized mechanisms - the URI needs to dereference to a valid ActivityPub actor and the community has converged to using webfinger for discovery. The fact that web-finger is generally used for user discovery makes it easier to use the identical mechanism that BlueSky uses - where the identity (which in ActivityPub is a URL) is not tied directly to a domain. (Eg, if you do a webfinger query for marius.federated.id you will get a response where it tells you that one of the URLs for the ActivityPub identity associated with that is https://metalhead.club/@mariusor, you can check it out right now with curl https://marius.federated.id/.well-known/webfinger?resource=h...).

Account portability can exist in ActivityPub because the verbs for signaling to the network that an object/actor has moved to a different URL are in the vanilla vocabulary. The fact that nobody has implemented this so far does not make it impossible. (It's not like anyone so far needed to move from BlueSky to ... I don't know... BlueSky. So it being capable of moving identities is still equally theoretical in my view).

Regarding your last point (or the one made about it in the twitter thread), I don't really understand about how identifying content by its cryptographic signature is conducive to better caching and "syncing" (how in the world a hash would make it easier to sync content than a URL I don't know). HTTP clients, servers and proxies have very good caching and syncing mechanisms for anything that uses URLs to identify resources. Whatever BlueSky wants to do, must invent their own intermediary layers before anyone will be able to say "it's easier" with any certainty.

In my opinion nothing you mentioned can be called a "doing things wrong from first principals(sic)" - and I'm still hoping that linuxdude314 can make a better argument.

ActivityPub is fine for what it was designed to be: an exchange mechanism for "low impact" social activity. It's not meant to interact with cryptocurrencies, it's not meant to shelter dissidents from corrupt governments, it's not meant to help you interact with your drug dealer, nor whistle-blow on your employer. There are already options for those things. It is meant to allow your grandma to like your cat pictures in a more distributed manner than facebook offers. The people that imagine BlueSky will be doing something more than that, are - in my opinion - vastly overevaluating it.

(PS. Apparently this was not "similarly short", apologies.)

replies(1): >>capabl+fD2
◧◩◪◨⬒
16. capabl+fD2[view] [source] [discussion] 2023-05-05 15:59:43
>>marius+mw2
I don't work on the AT protocol, and don't have any deeper insights into it, I just started reading about it a week or two ago and still putting all the pieces together myself. I linked the twitter thread not as a "Go read this you fucker" but more like "there is no point in me repeating what has already been written elsewhere". I'm just trying to help understanding, not convince you of something, I have zero horses in this race :)

But something I can answer directly to as I have deeper expertise with it, is this:

> how in the world a hash would make it easier to sync content than a URL I don't know

URLs are pointing to a location while content-hashes point to specific pieces of content. Moving from URLs to hashes as URIs gives you the benefit of being able to fetch the content from anywhere, and cache it indefinitely.

Basically any large distributed system out there, no matter if it deals with caching or not is built on top of content-addressable blobs, as it reduces the complexity by magnitudes.

Suddenly, you can tell any of your peers "Give me content X" and you don't really care where it comes from, as long as it is verifiably X. Contrast that to URLs which point to a specific location somewhere, and someone has to server it. If the URL is unresponsive, you cannot really fetch the content anymore.

Content-addressing used in this manner is not new or invented by Bluesky, but a old concept that has been used for multiple use cases, caching is maybe the most common one, but definitely not the only one. Probably the first time I came across it was in Plan 9 (Venti) around ~2000 sometime. First time I actually used it in production was with Tahoe-LAFS, which must have been around ~2010 sometime I think.

replies(1): >>vidarh+RM4
◧◩◪◨⬒⬓
17. vidarh+RM4[view] [source] [discussion] 2023-05-06 08:24:48
>>capabl+fD2
You can treat a URL as a hash into a content-addressable store just fine. Mastodon does just that. Yet that URL also tells it where to retrieve the content if it's not available locally in a way that doesn't require tools to have any additional knowledge. If they do have additional knowledge, say of another caching layer or storage mechanism, they can use that just fine.

That is, I can just paste the URL for this article into my Mastodon instance, and if it has it, it'll fetch it from the local storage, if it doesn't it'll try to fetch it from the source, but there's nothing preventing a hierarchy of caches here, nor is there anything preventing peer to peer.

But while ActivityPub says that object id's "should" be https URL's for public objects, the basic requirement of ActivityStream is just that it's a unique URI, and there's nothing stopping an evolution of ActivityPub allowing URI's pointing to, say, IPFS or similar by content hash instead of a https URL.

[go to top]