A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"votersCount": "toot:votersCount",
"blurhash": "toot:blurhash",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
},
"Hashtag": "as:Hashtag"
}
],
"id": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2022-11-09T19:04:54Z",
"url": "https://fosstodon.org/@simonpcouch/109315404232341187",
"attributedTo": "https://fosstodon.org/users/simonpcouch",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://fosstodon.org/users/simonpcouch/followers"
],
"sensitive": false,
"atomUri": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187",
"inReplyToAtomUri": null,
"conversation": "tag:fosstodon.org,2022-11-09:objectId=57464789:objectType=Conversation",
"content": "<p>I saw another "for loops in <a href=\"https://fosstodon.org/tags/rstats\" class=\"mention hashtag\" rel=\"tag\">#<span>rstats</span></a> are bad" take on the bird site this afternoon.</p><p>Just pre-allocate your vectors, folks! All is well!</p>",
"contentMap": {
"en": "<p>I saw another "for loops in <a href=\"https://fosstodon.org/tags/rstats\" class=\"mention hashtag\" rel=\"tag\">#<span>rstats</span></a> are bad" take on the bird site this afternoon.</p><p>Just pre-allocate your vectors, folks! All is well!</p>"
},
"attachment": [
{
"type": "Document",
"mediaType": "image/png",
"url": "https://cdn.fosstodon.org/media_attachments/files/109/315/401/320/929/981/original/8e769110b67b70fa.png",
"name": "A Carbon screenshot, showing two approaches to solving the same iterative problem in R. In one, I initialize a 0-length vector, and then, in a for loop, iteratively concatenate that vector with a new value 100,000 times. In the other, I initialize a vector with length 100,000, and then assign into it in each iteration. The first approach takes over 10 seconds, while the second takes less than a tenth of a second.\n\nThe screenshotted code is pasted below:\n\nsystem.time({\nvec1 <- numeric()\nfor (i in 1:1e5) {\n vec1 <- c(vec1, i)\n}\n})\n\nsystem.time({\n vec2 <- numeric(1e5)\n for (i in 1:1e5) {\n vec2[i] <- i\n }\n})\n\nall(vec1 == vec2)",
"blurhash": "UJBW#xof_4afxufQayj[?vf6V@j[tRjtaxfQ",
"focalPoint": [
0,
0
],
"width": 1194,
"height": 1302
}
],
"tag": [
{
"type": "Hashtag",
"href": "https://fosstodon.org/tags/rstats",
"name": "#rstats"
}
],
"replies": {
"id": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187/replies?only_other_accounts=true&page=true",
"partOf": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187/replies",
"items": []
}
},
"likes": {
"id": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187/likes",
"type": "Collection",
"totalItems": 78
},
"shares": {
"id": "https://fosstodon.org/users/simonpcouch/statuses/109315404232341187/shares",
"type": "Collection",
"totalItems": 47
}
}