ActivityPub Viewer

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.

Open in browser →
{ "@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 &quot;for loops in <a href=\"https://fosstodon.org/tags/rstats\" class=\"mention hashtag\" rel=\"tag\">#<span>rstats</span></a> are bad&quot; 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 &quot;for loops in <a href=\"https://fosstodon.org/tags/rstats\" class=\"mention hashtag\" rel=\"tag\">#<span>rstats</span></a> are bad&quot; 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 } }