Comment on
Ukraine managed to gain ground in Ukraine as Russia faced off against Russia in Russia
Ukrainians rush Russians while Russians rush in to Russia to rush other Russians.
Comment on
Ukraine managed to gain ground in Ukraine as Russia faced off against Russia in Russia
Ukrainians rush Russians while Russians rush in to Russia to rush other Russians.
Comment on
How do the different federated software interact with each other?
Every user, post, community, etc. on each of these services is represented as an ActivityPub object. Let's take the example of following your Lemmy user from Mastodon. I can search for @[email protected] in Mastodon and in the background my Mastodon instance will issue the following WebFinger request to lemmy.ml: https://lemmy.ml/.well-known/webfinger?resource=acct:[email protected]. This will return the following JSON: -
{
"subject": "acct:[email protected]",
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://lemmy.ml/u/Gohos"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://lemmy.ml/u/Gohos",
"properties": {
"https://www.w3.org/ns/activitystreams#type": "Person"
}
}
]
}
From here I can request the application/activity+json URL at https://lemmy.ml/u/Gohos and if I request JSON I get: -
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"lemmy": "https://join-lemmy.org/ns#",
"litepub": "http://litepub.social/ns#",
"pt": "https://joinpeertube.org/ns#",
"sc": "http://schema.org/",
"ChatMessage": "litepub:ChatMessage",
"commentsEnabled": "pt:commentsEnabled",
"sensitive": "as:sensitive",
"matrixUserId": "lemmy:matrixUserId",
"postingRestrictedToMods": "lemmy:postingRestrictedToMods",
"removeData": "lemmy:removeData",
"stickied": "lemmy:stickied",
"moderators": {
"@type": "@id",
"@id": "lemmy:moderators"
},
"expires": "as:endTime",
"distinguished": "lemmy:distinguished",
"language": "sc:inLanguage",
"identifier": "sc:identifier"
}
],
"type": "Person",
"id": "https://lemmy.ml/u/Gohos",
"preferredUsername": "Gohos",
"inbox": "https://lemmy.ml/u/Gohos/inbox",
"outbox": "https://lemmy.ml/u/Gohos/outbox",
"publicKey": {
"id": "https://lemmy.ml/u/Gohos#main-key",
"owner": "https://lemmy.ml/u/Gohos",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwDc9TbmcvR/eRx0zuXl5\nqUu8vwcU3K1/70BqLdae/HtbjqXoHbVUI3exSVOTLVmPQ4oHjf6Lq5axyRRwihTh\nbDgWYSBCqZ07L6VrgXVg2APCkFpX32XlbFbbMQDXf+kodj6YrzwelXEJ03eTDKaa\nuFkFt0Uelu1k0AZVydGYT3U2iZ0jNGvpUMWQycTJ/k0r8n61JLuEMkvkVlH4ZDGb\nGTjwjLRds/zawe8FAK/Grn+AW/UTmW/1kBLcqhkeRYzWhyrVy+/f9jf03s0rW92w\n8PWM02AAE9edIpnK2XgElfkVWJenQzw7WDp045XPHMlUh5iizAJGcPAzdeEVNLq8\nGQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"endpoints": {
"sharedInbox": "https://lemmy.ml/inbox"
},
"published": "2023-06-03T17:30:16.990908+00:00"
}
This includes two important properties: inbox and outbox. Using ActivityPub I now know I can send you a message by POSTing a request to your inbox and I can fetch posts, comments, etc. you've made via your outbox.
Your public key is also included. This is how, if you sent me a message, I can verify that the message actually came from you.
That's a very brief overview but I hope that helps!
Comment on
Firefox 115 can silently remotely disable my extension on any site
I was also a little concerned when I saw this in the release notes earlier today. Why not make this opt-in (with a warning explaining the reasoning behind it) rather than opt-out via about:config?!
Comment on
How to *upload* videos to Lemmy
I think the most spiritually correct solution would be to use PeerTube considering that it's also a federated system and therefore can interact nicely with Lemmy.
Comment on
How do the different federated software interact with each other?
Reply in thread
If you implement IP over smoke signals then perhaps :)
Comment on
What the fuck is going on with Iran and what will happen next?
Trump seizes control of the oil production in Venezuela, then attacks Iran causing them to block the strait of Hormuz and oil prices to skyrocket. Profit.
Comment on
Common Lisp, ASDF, and Quicklisp: packaging explained
Nice write up, thanks!