I am outputting ActivityPub/ActivityStreams content for the listing of what is in a directory.
Think of it as the AP/AS version of output from the `ls` command
AP/AS has a whole bunch of stuff that can be used to represents files. Even sub-types of files […]
So, an interesting issue came up in the #Fedify repo that I've been thinking about: #629.
You know how every #fediverse server uses `schema:PropertyValue` in actor `attachment` for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict #AS2 validators like browser.pub […]
5/
Continuing to look for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —
Maybe a call specific custom top-level attribute would be useful.
Maybe something like:
"call": [
{
"rel":"callpub",
"href":"https://videocalls […]
6/
Continuing to look for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —
Maybe a custom top-level attribute would be useful.
Maybe something like:
"service": [
{
"rel":"callpub",
"href":"https://videocalls […]
5/
Continuing to look for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —
I think "endpoints" would also be a poor choice, too. Again, the semantics are wrong, or at least lacking.
So —
#ActivityPub #ActivityStreams […]
4/
Looking for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —
I think using "alsoKnownAs" and "sameAs" would be a poor choice. And, the semantics are wrong.
For example: a Service actor might represent my mobile phone […]
3/
But, what about the non- fall-back situation where software could properly support this (when an Actor specifies a list of Service actors associated with it)‽
I think some might say, put the associated Service actors in "attachment". And, semantically I think that would work with […]
2/
Because most people wouldn't be able to add custom attributes or custom values to most Fediverse software (including Mastodon) —
Most supporting software would probably want to support a "PropertyValue" link in "attachment" field as a fall back
For example:
"attachment": [
{
"type" […]
1/
AFAIK, there isn't a way for an ActivityPub Actor (such as a Person actor) to specify a list of Service actors associated with it.
...
For example, imagine that there is a Service actor that represents a way to make a video call to me.
And, for example, I have my Mastodon Person actor […]
I used to not like JSON-LD. And then I got exposed to CBOR. And, since then, I ended up liking JSON-LD more than I did before.
https://j12t.social/@j12t/114581086678041245
...
I was looking for performant ways of storing JSON-LD data, so that it can be looked up, queried, etc.
CBOR might […]
RE: https://w3c.social/@w3c/116216070362563670
FWIW, I have been storing Linked Data (including ActivityPub) in an INI like format — because I find INI-like formats more human-friendly (to both read and write) than JSON.
YAML is probably better than JSON, too, in that respects. But I think […]
With ActivityPub / ActivityStreams...
To me, it feels like there should have been something that is a common parent of both 'Object' and 'Link'.
That just had the "name", "nameMap", and "preview" fields (along with "id" and "type, of course) — since that is what 'Object' and 'Link' share in […]
RE: https://mastodon.social/@reiver/112133984854710390
"A guide to implement ActivityPub in a static site (or any website)" by @mapache
maho.dev/2024/02/a-guide-to-imple...
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse
2.6 RDF Blank Nodes RDF blank nodes in Turtle are expressed as _: followed by a blank node label which is a series of name characters. The characters in the label are built upon PN_CHARS_BASE, liberalized as follows: • The characters _ and digits may appear anywhere in a blank node label. • The character . may appear anywhere except the first or last character. • The characters -, U+00B7, U+0300 to U+036F and U+203F to U+2040 are permitted anywhere except the first character.
I suspect that there is an error in the Turtle specification, in the section shown in the screen-shot.
(It relates to JSON-LD, which ActivityPub / ActivityStreams is built on.)
I suspect that "PN_CHARS_BASE" is an error.
Because other parts of other […]
[Original post on mastodon.social]
There is a larger discussion about fixed-point numbers versus floating-point numbers.
And that, ALL programming-languages should have fixed-point numbers built into them.
And that, programmers should be warned against using floating-point numbers in all but a set of very specialized situations […]
This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754 binary64 (double precision) numbers [IEEE754] is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision. A JSON number such as 1E400 or 3.141592653589793238462643383279 may indicate potential interoperability problems, since it suggests that the software that created it expects receiving software to have greater capabilities for numeric magnitude and precision than is widely available.
[JSON vs IETF JSON]
This is likely (directly or indirectly) the fault of a single paragraph in IETF RFC-7159 / RFC-8259 (shown in the attached screen-shot).
(And note that, there is a difference between JSON and IETF JSON. JSON did not have this. IETF JSON […]
[Original post on mastodon.social]
number In the JSON serialization, a number is similar to that used in most programming languages, except that the octal and hexadecimal formats are not used and that leading zeros are not allowed. In the internal representation, a number is equivalent to either a long or double, depending on if the number has a non-zero fractional part (see [WEBIDL]).
This is from the JSON-LD spec.
ActivityPub / ActivityStream are based on JSON-LD.
I think it was a very bad idea for JSON-LD to define "number" this way!
It makes it so numbers with fractional values are inexact & lossy.
This include values that are […]
[Original post on mastodon.social]
In the old blogging software I created back in the 1990s, I had a handful of posts types.
There was a type rich-text oriented post that had a title. (Article)
And, there way another type of rich-text oriented post that did not have a title. (Note)
(There were also other types of posts, but […]
I've seen an ongoing debate between "Note" versus "Article" in ActivityPub / ActivityStreams.
When is something a "Note"‽
When is something an "Article"‽
Personally — I would probably have made the distinction this way.
An "Article" has a title.
A "Note" doesn't have a title.
(In ActivityPub […]
5/
[Fediverse BackUp]
But — for an Activity File to be a "good" format for a BackUp, there would need to be a way to get the Fediverse software to embed the (non-text) media (such as images, audio, video, etc) into an Activity File.
Also —
...
#ActivityPub #ActivityStreams #BackUp #BackUps […]
1/
[Fediverse BackUp]
Could an ActivityPub / ActivityStreams file be a "good" format for backing up a post?
(I.e., what I can an "Activity File" — which has a media-type of "application/activity+json".)
...
#ActivityPub #ActivityStreams #BackUp #BackUps #FediBackUp #FediDev #FediDevs #Fediverse
@hereus.net can only process #ActivityStreams when user is online, because everything is #encrypted, and the only key is the user.
Yet, it still
- Works perfect with #fediverse and
- Keeps #responsiveness even user never uses the app again.
(2/3)
I wish there was a facility (native or in any app, ideally as part of the #ActivityStreams objects) where I could make #notes on #toots, like we can make notes about particular accounts.
I have a bunch of stuff #bookmarked; I have a tool that exports and sorts my bookmarks.. but by the time I […]
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Quotation": "as:Quotation",
"citation": "as:citation",
"quotation": "as:quotation"
},
],
#ActivityPub #ActivityStreams #FediDev #Fediverse #JSONLD #ObjectTypeQuotation
4/
Apparently, Bookwyrm stores quotations with:
type="Quotation"
And if one Bookwyrm server talks to another Bookwyrm server, then — the ActivityPub / ActivityStreams representation of the quotation will have:
type="Quotation"
...
BUT — if a non-Bookwyrm server talks to a Bookwyrm server […]
3/
Apparently the Bookwyrm developer had the exact same idea!
(Which isn't too surprising.)
...
#ActivityPub #ActivityStreams #FediDev #Fediverse #ObjectTypeNote #ObjectTypeQuotation
2/
How could you represent a quotation in ActivityPub‽
...
I suppose there are 2 major approaches.
Either use an existing Object Type. Maybe:
type="Note"
Or create a new Object Type:
type="Quotation"
...
Here is the interesting thing though —
#ActivityPub #ActivityStreams #FediDev […]
Quotations & the Fediverse / ActivityPub
1/
One thing I used to do a lot on social-media is — post quotations.
Sometimes I was reading a book. And, I would quote things from the book and post it on social-media.
Or I was reading a scholarly paper, or […]
[Original post on mastodon.social]