> You'll find a lot more in the ActivityPub specs, plus a lot of open implementations and helpful guides.
I've read that there's a problem with interacting with Mastodon if you only rely on the protocol specs, that they do things their own way and have different requirements than the official specs.
Is this still a problem? If it is, are Mastodon moving to be more closely aligned with the spec, or to doing more of their own thing?
From what I've seen, Mastodon sticks to the spec but a lot of clients and servers then stick to Mastodon's interpretation of the spec rather than the spec. e.g. for status IDs, the spec says "String (cast from an integer but not guaranteed to be a number)", Mastodon uses numerical IDs, some clients[1] see this as "Ah, IDs are numbers!" and break horribly when they're not numerically parseable (Akkoma, Pleroma, GotoSocial...)
(IIRC there was another thing where `created_at` is described as "The date when this status was created" but the type is given as "String (ISO 8601 Datetime)" which led some code to crash when Mastodon started outputting just dates instead of datetimes.)
[1] Including some from people who Really Should Know Better.
I like ActivityPub overall, but there are a lot of places where the spec is just too complex, and I suspect that contributed to a lot of the choices to implement whatever currently works with Mastodon instead of the spec.
I'm currently implementing parts of the spec, and there are parts (like fully handling context correctly) that feels like far more pain than it is worth vs. just handling occasional breakage.
It feels like a very ivory tower spec of the kind you wouldn't be likely to write if you built a complete reference implementation first.
But it's very on-brand as a W3C spec.
I'd love to see a revision that deprecates and simplifies a whole lot of things.
> I'd love to see a revision that deprecates and simplifies a whole lot of things.
The hidden complexities in AP have led to several efforts. In the past there has been LitePub [0]. A recent project is Versia [1]. And who knows there may be a FeatherPub [2] one day. If anyone knows of other attempts I'd like to hear.
Thanks. I remember looking at Litepub. Not aware of the other two. The FeatherPub document feels like by far the most useful.
But I also think just going through the spec with a red marker would be a useful exercise and maybe I will one day.
In the sense that there are a whole lot of features nobody does anything useful with.
E.g. "@context" in theory provides a whole lot of ways to type the rest of the data. I'd be willing to bet that you'd break a whole lot of software if you served up a "@context" for an actor that mapped common field-names in use by Mastodon to a different namespace and mapped the Mastodon features to different names...
In theory it's great. In practice, I suspect we have XML namespaces and people stupidly hardcoding prefixes all over again...
I ported his code to a macOS screen saver back in the day, but I see I haven't updated it since macOS 10.6… I guess the chance of it working on a Apple Silicon Mac isn't anywhere near 100% :P
TLAB WEST AB | Gothenburg, Sweden | Full time | Hybrid
We're looking for an embedded developer to work with us on our small- to medium sized embedded products. Our main area of work is in access control and alarm systems for large sites and high security requirements.
Experience in embedded C and/or embedded Linux required, but you'll also be exposed to C#, Python, etc.
> I encounter colleagues conversing in Hindi, Russian, Hungarian, Polish, Greek etc. Any of those conversations is one I'm locked out of, and unable to contribute to.
This is really rude of them, and it's something management should work very hard to fix. Because as you say, in addition to being rude it's terribly inefficient for the company. If they employ people from all over the world, they should probably mandate English as the only allowed language in just about any situation.
If you have speakers of different languages in a conversation or group, it's just common sense to use a language everyone can understand and use.
Yes, it's easier for Danes to speak Danish when four out of five in the group understand it, but standing around there being the fifth person who can't understand a word of what's being said is not a nice experience.
It’s not the same. Apple is entitled to have whatever rules they want on their store. The only reason it’s an issue is because they don’t allow any other store on the hardware.
Steam cannot stop people from installing other game stores, so they can have whatever rules they want.