@steve@social.technoetic.com
@steve@social.technoetic.com avatar

steve

@steve@social.technoetic.com

American living in Southern France. I'm interested in #computers, #SoftwareDevelopment, #SemanticWeb, #osint, #DistributedComputing, #pkm, #HomeAutomation, #PhysicalComputing, #iot, #rpi, #esp32, #hiking, #traveling, learning #french and lots of other stuff.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

steve, to fediverse
@steve@social.technoetic.com avatar

If you're a working on an /Mastodon-compatible server, don't forget that the WebFinger JRD media type is "application/jrd+json" and not "application/json". The early @feditest test results show this is a common mistake.

steve, to fediverse
@steve@social.technoetic.com avatar

It seems like the Recommendation primarily focuses on behaviors related to received Activities, especially in an S2S federation context. Exceptions include inbox forwarding (7.1.2), shared inbox delivery (7.1.3), and broadcast of public messages to all known servers (7.1.3). However, for specific activities, like Delete, the behavior related to sending them is unspecified (e.g. which recipients should be included and so on). Am I missing something?

Edent, to fediverse
@Edent@mastodon.social avatar

🆕 blog! “The Fediverse of Things”

One of the most frustrating things in modern technology is the effort spent trying to artificially restrict abundance. Take, for example, this tale from museum-worker Aaron Cope: I was out with a friend who worked for Twitter and I asked them whether it would be possible for the museum to “create 200,000 Twitter accounts, one […]

👀 Read more: https://shkspr.mobi/blog/2024/04/the-fediverse-of-things/

steve,
@steve@social.technoetic.com avatar

Inspired by the article written by @Edent on the Fediverse of Things (, ), I experimented with using an LLM to interpret home automation requests that could be sent using and convert them to JSON device commands. I documented the results in the following blog article:
https://www.stevebate.net/fediverse-of-things-and-llms/

dansup, to fediverse
@dansup@mastodon.social avatar

Loops + c2s would be a perfect match, few activitypub implementations support the client to server model.

🤔

steve,
@steve@social.technoetic.com avatar

@benpate @dansup I believe the primary reason there are no widely-used C2S user-facing clients (vs testing tools) is that the standard C2S API is not sufficient for a decent UX. If you compare the Mastodon client API with the AP C2S API, there's a significant disparity in features.

steve,
@steve@social.technoetic.com avatar

@mariusor @benpate @dansup

https://social.technoetic.com/users/steve/statuses/111331622962509323

The list is longer than that, but it would need a long form post to cover all of what would be needed to have something similar to the Mastodon UX. This is easy to confirm if you compare the APIs.

It's possible to implement some of those features in a ad hoc way using AS2 data structures, but I believe many UI developers prefer an API that's standardized across server implementations.

steve,
@steve@social.technoetic.com avatar

@mariusor @benpate @dansup I claim you can't build a C2S UI that has feature and UX parity with Mastodon UIs using your FEP and only client-side inbox/outbox processing. It's easy to prove me wrong. Just build it. 😉 That said, I don't know the Loops requirements, so maybe it's sufficient for that.

steve,
@steve@social.technoetic.com avatar

@mariusor @jenniferplusplus @benpate I apologize that my response to your replies were hurtful. I actually felt like you were being a little dismissive about the larger issue of C2S deficiencies relative to the Mastodon API (and why C2S is not widely used) and that you were challenging me to defend my position on that issue. Showcasing experiments with C2S UIs would be a great topic for a different discussion thread. (I plan to dig into your implementation further when I have time.)

dadifroggie, to fediverse
@dadifroggie@infosec.town avatar

A rant about social protocols
Introduction
Recently, I read an article that talked about that someone, tried to do a new platform called “Content Nation”. This is a German platform that allows people to write content (to be honest, I don’t really know what it does.) and publish it. And recently, the creators tried to implement the ActivityPub protocol. They did so by using the official documentation provided by @w3c.
The problem was that the last time the official documentation was updated, was in 23 January 2018. So, this means that a lot of new standards that other platforms like Mastodon, Misskey, etc... use are not written in there. But this isn’t the fault of the service developers, this is the fault of the W3C that hasn’t been an update to the protocol officially to support the new standards in the industry such as Webfinger, SharedInbox, Privacy Scopes, and Opt-Out for Search…
The thing, is that this led to a lot of people thinking that this site was some kind of scraper and started making the crawler crash or, even worse, someone tried to load CP inside the platform.
BlueSky
Recently, BlueSky opened its AT protocol for everyone to use and federate, due to this, there has been a bit of a discussion inside these platforms. This made me think, why did BlueSky feel the necessity to make another protocol? If there is one already, why do we need another one that competes, wasn’t the objective of protocols to allow interoperability?
So, I did a bit of digging and I found two things. The first one is that they wanted so solve a few things that AP does not support officially (here are the main points, not all of them):

Account portability. A person’s online identity should not be owned by corporations with no accountability to their users. With the AT Protocol, you can move your account from one provider to another without losing any of your data or social graph.
Algorithmic choice. Algorithms dictate what we see and who we can reach. We must have control over our algorithms if we're going to trust in our online spaces. The AT Protocol includes an open algorithms mode so users have more control over their experience.

A lot of these problems are already present on ActivityPub for a long time. The account portability of ActivityPub let’s say it’s not intuitive. You have to do a lot of things and even then, there are some things like the posts that you make or the favourites that don’t transfer (in the case of favourites you need to transfer them manually, the same for blocks and mutes).
Also, right now 99% if not all software that uses ActivityPub, does not have an algorithm that orders content for you to see, but shows you everything in chronological order (I don’t know if its intentional or if it’s a limit of AP) and the only thing you have to discover topics is trough hashtags that maybe someone forgot to tag.
Furthermore, not to mention that on ActivityPub, you are at the mercy of the server moderators, so this means that if you know someone that is on an instance that is blocked by yours, you won’t be able to talk to them unless you change the instance, which in a way it’s not very decentralized.
The other protocols
By doing research, I realized that there are a lot of other protocols (for example Nostr) that have its own implementation of things maybe there are some that are bridged and other not.
Such protocols have different features, for example Nostr allows you to suggest content edit to other people’s posts, move your content easily, etc.
How can we solve this?
First, we have to know why all these other companies make their own. I must say, that most of them probably do because AP does not allow customization of posts or the adding of new features for everyone and the fact that it’s not been updated for 6 whole years makes matters worse.
What the developers want, is a protocol that lets them create wherever they want and add everything the want, for example the edit thing that I said the Nostr supports, the only way to add it to AP, would be or only on your software or find another software that is willing to implement that feature, the rest of the market is left behind as well as the users that depending on what it is, they don’t understand.
My solution to this problem would be to add some kind of per user plugin system directly to the AP that allows for devs to implement add-ons that do with the JSON strings that add buttons or scripts at least to send and receive data. As well as to add some kind of CSS support for the posts and profiles. Of course, the point of these is that if you make a platform, and you are the only one using these characteristics, well… but in case that everybody wants to use it and everybody makes their own plugins it would be chaos.
For this, the solution I proposed would be like something you add while the W3C updates the protocol to support a very popular feature.

steve,
@steve@social.technoetic.com avatar

@smallcircles @dadifroggie @w3c The W3C effectively owns ActivityPub. If one tries to make a grassroots change to the Recommendation, they will learn that immediately. My understanding is that even the W3C Social CG can’t make changes. A new W3C working group must be created or rechartered to do that.

steve,
@steve@social.technoetic.com avatar

@smallcircles @hrefna @dadifroggie @w3c I see almost no similarity between a document like the AP Rec and a mortgage contract (other than both being formalized written documents). I think the issue isn’t ownership per se, but what entity is authorized to perform maintenance of the document. For the AP/AS2 Recs, that entity is W3C and only W3C (enforced via copyright and trademark laws). No grassroots entity has that right.

steve,
@steve@social.technoetic.com avatar

@smallcircles @hrefna @dadifroggie @w3c For 1), the W3C is the only organization that can charter a working group (WG) to maintain AP/AS2 Recs (hopefully based on community input that has accumulated for 6 years). They have not done so despite many reports of issues in the documents. I disagree that the lack of maintenance is not their “fault”. The 1) legally can’t come from the grassroots*. See 2) for why.

  • (FEPs and spicy blog articles/toots are not spec improvements)
steve,
@steve@social.technoetic.com avatar

@smallcircles @hrefna @dadifroggie I like the substrate proposal, but it mistakenly puts responsibility for W3C Recommendation into the Social CG box. There should be a grayed-out Social WG box for that (since it has been inactive since 2018 and must be rechartered).

luceos, to fediverse
@luceos@fosstodon.org avatar

How does this work.. The FEP-f1d5 talks about a node info endpoint, but the FEP states no obligatory endpoint. References lead to an old library that recommends /.well-known/x-nodeinfo2 (for that v2 library). How did a FEP become final without this crucial piece of information or am I simply missing that information in the finalised FEP?

steve,
@steve@social.technoetic.com avatar

@luceos Like others have said, the FEP process is very loose. FEP-f1d5 looks to me to be an informational document about history and caveats of NodeInfo in “Fediverse” software. I believe it should not have a requirements section or the SHOULD statement (NodeInfo is not typically, if ever, required for AP-related federation). I also don’t see any rationale to support that position. That said, these are just my personal opinions and observations. YMMV.
/cc @smallcircles @silverpill

steve, to fediverse
@steve@social.technoetic.com avatar

I see discussions about an 2.0 version, but I feel like there has never even been a 1.0 version. It's subjective, but for me, a 1.0 version implies some degree of completeness and maturity in the product. The current Recommendation was released under time and political pressure with many compromises. It feels more like a 0.1 version and that’s fine. Except… it hasn’t evolved past that in the last 6 years.

steve, to fediverse
@steve@social.technoetic.com avatar

If you were measuring performance of servers (let’s say, delivery latency under load and active user scalability, to start) how would you propose doing it? What else would you measure? Are there any existing benchmarks?

steve,
@steve@social.technoetic.com avatar

@VolatileDream @nikclayton Yes, I think both incoming delivery latency (request to post being available to view) and outgoing delivery performance could be interesting. Outgoing delivery failure handling isn't exactly performance per se, but could be important. I think some Mastodon attacks have exploited the server's inability to handle (intentionally) misbehaving peers.

steve, to fediverse
@steve@social.technoetic.com avatar

The Activity Streams Question activity is puzzling. The word "question" can be used as a noun or a verb. As a noun, it can exist independently of posing the question to a subject. The AS2 spec classifies it as an IntransitiveActivity. However, the spec examples include no actor, which implies it's being used as a noun. It seems like there should be a (transitive) Activity like "Ask" with an object (Question) and a target (the thing being asked the question).

steve, to fediverse
@steve@social.technoetic.com avatar

Given it also applies to , can someone explain the following “ActivityStreams 2.0” requirements? (Section 2.2) “(1) when an IRI that is not also a URI is given for dereferencing, it must be mapped to a URI using the steps in Section 3.1 of [RFC3987] and (2) when an IRI is serving as an "id" value, it must not be so mapped.” Isn’t an IRI given for dereferencing always an IRI serving as an “id” value for some Object? Maybe some examples would help to clarify it?

steve,
@steve@social.technoetic.com avatar

@thisismissem Yes, that what it seems to be say, but that doesn’t make sense to me. I’m wondering if the intent is that the “id” IRI is not converted to a URI when the Object is serialized into JSON-LD for transport? Or maybe it means that any software doing the dereferencing must do the IRI to URI conversion before making the request (with the receiving server doing the inverse URI -> IRI conversion for lookup)? However, those are wild guesses on my part.

kubikpixel, to webdev German
@kubikpixel@chaos.social avatar

Am I the only who has never heard of ? 🤔

Of course I know and use for databases but I have never heard of SPARQL and that there are also solutions ⚙️

What do you think, should I learn and use it over in a project or do I understand it wrong? 🤷‍♂️

👉 https://en.wikipedia.org/wiki/SPARQL

steve,
@steve@social.technoetic.com avatar

@mariusor @immibis I can see arguments to support both perspectives. If Mastodon hadn't adopted ActivityPub prior to the Recommendation being finalized, AP would probably would not exist. The SocialWG had run out of time to develop the Recommendation and they were given an extension because of the interest from the Mastodon team.

stefan, to fediverse
@stefan@stefanbohacek.online avatar

Did anyone manage to figure out how this works?

Seems like there are some variables that ActivityPub servers search and replace?

Someone in the comments mentioned being able to do "something similar with images", but I couldn't find more details .

https://puckipedia.com/4th-wall--talki

steve,
@steve@social.technoetic.com avatar

@stefan I’d guess they are using the domain of the the HTTP Signature key ID or signing entity (and requiring authorized fetch). Given the server knows the requesting domain, it’s easy to generate server-specific content.

steve, to fediverse
@steve@social.technoetic.com avatar

According to Federated SNS history, first there was the "identiverse", then there was the "fediverse". And, of course, there's the "metaverse". Now there is the "agentverse"??? The latter reminds me of the actor(à la Carl Hewitt)/agent-oriented vision of I sometimes see discussed, only blockchain-based. 🤔
https://fetch.ai/docs/concepts/agent-services/agentverse-intro

steve, to fediverse
@steve@social.technoetic.com avatar

I’m beginning to wonder if the email mental model some people suggest for is a serious hindrance to understanding the concept of a federated, decentralized social graph.

bengo, to random
@bengo@mastodon.social avatar

new activitypub test: create-then-update-modifies-object-checked-by-get

https://bengo.is/blogging/new-activitypub-test-create-then-modify/

steve,
@steve@social.technoetic.com avatar

@bengo @naturzukunft Isn’t Section 6.3 describing C2S requirements (like partial update) rather than S2S behavior?

steve,
@steve@social.technoetic.com avatar

@bengo @naturzukunft Thanks
for the clarification. We need to better way to label C2S/Client vs C2S/Server requirements. In my experience most people mean the latter when they say “C2S”.

notroot, to fediverse

I wanna do an ActivityPub API that's really just that... a robust, general purpose backend capable of serving a variety of client apps.

Maybe v2 would have customizable API for compatibility with existing clients.

First things first though... I checked with Awesome ActivityPub to see if there were any active projects already doing something like this that I could just jump in on.

https://github.com/BasixKOR/awesome-activitypub

There used to be, but I can't find it now... so I've got a clear runway to start ANOTHER side project.

Heheheh.

steve,
@steve@social.technoetic.com avatar

@notroot @smallcircles Are you thinking of an AP Client-to-Server extension or a completely custom client API like Mastodon's (which supports many client implementations but is focused on microblogging)?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • ngwrru68w68
  • hgfsjryuu7
  • Youngstown
  • tacticalgear
  • slotface
  • rosin
  • InstantRegret
  • cubers
  • kavyap
  • osvaldo12
  • thenastyranch
  • DreamBathrooms
  • PowerRangers
  • tester
  • magazineikmin
  • khanakhh
  • GTA5RPClips
  • Durango
  • normalnudes
  • ethstaker
  • mdbf
  • everett
  • modclub
  • cisconetworking
  • Leos
  • vwfavf
  • provamag3
  • All magazines