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",
"Emoji": "toot:Emoji"
}
],
"id": "https://ma.fellr.net/users/fell/statuses/111305954796132345",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2023-10-27T08:08:05Z",
"url": "https://ma.fellr.net/@fell/111305954796132345",
"attributedTo": "https://ma.fellr.net/users/fell",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://ma.fellr.net/users/fell/followers"
],
"sensitive": false,
"atomUri": "https://ma.fellr.net/users/fell/statuses/111305954796132345",
"inReplyToAtomUri": null,
"conversation": "tag:ma.fellr.net,2023-10-27:objectId=7396488:objectType=Conversation",
"content": "<p>Guys, it happened. :drgn_flat_sob: </p><p>Despite me being an absolute performance addict beyond reason, I have decided not to write my dice roller entirely in C++, for now. At least not until Godot 4.2 comes out, which brings hot-reloading to GDExtension.</p><p>GDScript is slow, and I really hate wasting people's CPU cycles, but prototyping the game logic is just so much quicker because it's right in the editor and changes are applied immediately.</p><p>I am also certain that I will be able to convert GDScript to GDExtension C++ fairly easily, because all I do is call engine functions, basically. It's just a matter of translating the syntax. </p><p>Last but not least, It would make a nice case study to directly compare the same implementations in GDScript and GDExtension C++.</p><p><a href=\"https://ma.fellr.net/tags/Godot\" class=\"mention hashtag\" rel=\"tag\">#<span>Godot</span></a> <a href=\"https://ma.fellr.net/tags/GodotEngine\" class=\"mention hashtag\" rel=\"tag\">#<span>GodotEngine</span></a> <a href=\"https://ma.fellr.net/tags/CPP\" class=\"mention hashtag\" rel=\"tag\">#<span>CPP</span></a> <a href=\"https://ma.fellr.net/tags/CPlusPlus\" class=\"mention hashtag\" rel=\"tag\">#<span>CPlusPlus</span></a> <a href=\"https://ma.fellr.net/tags/GDScript\" class=\"mention hashtag\" rel=\"tag\">#<span>GDScript</span></a> <a href=\"https://ma.fellr.net/tags/GDExtension\" class=\"mention hashtag\" rel=\"tag\">#<span>GDExtension</span></a> <a href=\"https://ma.fellr.net/tags/GameDevelopment\" class=\"mention hashtag\" rel=\"tag\">#<span>GameDevelopment</span></a> <a href=\"https://ma.fellr.net/tags/GameDev\" class=\"mention hashtag\" rel=\"tag\">#<span>GameDev</span></a> <a href=\"https://ma.fellr.net/tags/Prototyping\" class=\"mention hashtag\" rel=\"tag\">#<span>Prototyping</span></a> <a href=\"https://ma.fellr.net/tags/Programming\" class=\"mention hashtag\" rel=\"tag\">#<span>Programming</span></a> <a href=\"https://ma.fellr.net/tags/Performance\" class=\"mention hashtag\" rel=\"tag\">#<span>Performance</span></a> <a href=\"https://ma.fellr.net/tags/Gaming\" class=\"mention hashtag\" rel=\"tag\">#<span>Gaming</span></a> <a href=\"https://ma.fellr.net/tags/RPG\" class=\"mention hashtag\" rel=\"tag\">#<span>RPG</span></a> <a href=\"https://ma.fellr.net/tags/TTRPG\" class=\"mention hashtag\" rel=\"tag\">#<span>TTRPG</span></a> <a href=\"https://ma.fellr.net/tags/Tabletop\" class=\"mention hashtag\" rel=\"tag\">#<span>Tabletop</span></a> <a href=\"https://ma.fellr.net/tags/VirtualTabletop\" class=\"mention hashtag\" rel=\"tag\">#<span>VirtualTabletop</span></a></p>",
"contentMap": {
"en": "<p>Guys, it happened. :drgn_flat_sob: </p><p>Despite me being an absolute performance addict beyond reason, I have decided not to write my dice roller entirely in C++, for now. At least not until Godot 4.2 comes out, which brings hot-reloading to GDExtension.</p><p>GDScript is slow, and I really hate wasting people's CPU cycles, but prototyping the game logic is just so much quicker because it's right in the editor and changes are applied immediately.</p><p>I am also certain that I will be able to convert GDScript to GDExtension C++ fairly easily, because all I do is call engine functions, basically. It's just a matter of translating the syntax. </p><p>Last but not least, It would make a nice case study to directly compare the same implementations in GDScript and GDExtension C++.</p><p><a href=\"https://ma.fellr.net/tags/Godot\" class=\"mention hashtag\" rel=\"tag\">#<span>Godot</span></a> <a href=\"https://ma.fellr.net/tags/GodotEngine\" class=\"mention hashtag\" rel=\"tag\">#<span>GodotEngine</span></a> <a href=\"https://ma.fellr.net/tags/CPP\" class=\"mention hashtag\" rel=\"tag\">#<span>CPP</span></a> <a href=\"https://ma.fellr.net/tags/CPlusPlus\" class=\"mention hashtag\" rel=\"tag\">#<span>CPlusPlus</span></a> <a href=\"https://ma.fellr.net/tags/GDScript\" class=\"mention hashtag\" rel=\"tag\">#<span>GDScript</span></a> <a href=\"https://ma.fellr.net/tags/GDExtension\" class=\"mention hashtag\" rel=\"tag\">#<span>GDExtension</span></a> <a href=\"https://ma.fellr.net/tags/GameDevelopment\" class=\"mention hashtag\" rel=\"tag\">#<span>GameDevelopment</span></a> <a href=\"https://ma.fellr.net/tags/GameDev\" class=\"mention hashtag\" rel=\"tag\">#<span>GameDev</span></a> <a href=\"https://ma.fellr.net/tags/Prototyping\" class=\"mention hashtag\" rel=\"tag\">#<span>Prototyping</span></a> <a href=\"https://ma.fellr.net/tags/Programming\" class=\"mention hashtag\" rel=\"tag\">#<span>Programming</span></a> <a href=\"https://ma.fellr.net/tags/Performance\" class=\"mention hashtag\" rel=\"tag\">#<span>Performance</span></a> <a href=\"https://ma.fellr.net/tags/Gaming\" class=\"mention hashtag\" rel=\"tag\">#<span>Gaming</span></a> <a href=\"https://ma.fellr.net/tags/RPG\" class=\"mention hashtag\" rel=\"tag\">#<span>RPG</span></a> <a href=\"https://ma.fellr.net/tags/TTRPG\" class=\"mention hashtag\" rel=\"tag\">#<span>TTRPG</span></a> <a href=\"https://ma.fellr.net/tags/Tabletop\" class=\"mention hashtag\" rel=\"tag\">#<span>Tabletop</span></a> <a href=\"https://ma.fellr.net/tags/VirtualTabletop\" class=\"mention hashtag\" rel=\"tag\">#<span>VirtualTabletop</span></a></p>"
},
"attachment": [
{
"type": "Document",
"mediaType": "image/png",
"url": "https://ma.fellr.net/system/media_attachments/files/111/305/940/204/962/172/original/890170e8d4e807e4.png",
"name": "Screenshot of the Godot Engine editor with a blue, twenty sided die displayed in the 3D viewport in the center. There is a scene tree to the left and a properties panel to the right. At the bottom is a log window.",
"blurhash": "U47_1kn~56bb-=oJMxax0fX9=|of8^f+%NWB",
"width": 1920,
"height": 1016
}
],
"tag": [
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/godot",
"name": "#godot"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/godotengine",
"name": "#godotengine"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/cpp",
"name": "#cpp"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/cplusplus",
"name": "#cplusplus"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/gdscript",
"name": "#gdscript"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/gdextension",
"name": "#gdextension"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/gamedevelopment",
"name": "#gamedevelopment"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/gamedev",
"name": "#gamedev"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/prototyping",
"name": "#prototyping"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/programming",
"name": "#programming"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/performance",
"name": "#performance"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/gaming",
"name": "#gaming"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/rpg",
"name": "#rpg"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/ttrpg",
"name": "#ttrpg"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/tabletop",
"name": "#tabletop"
},
{
"type": "Hashtag",
"href": "https://ma.fellr.net/tags/virtualtabletop",
"name": "#virtualtabletop"
},
{
"id": "https://ma.fellr.net/emojis/42513",
"type": "Emoji",
"name": ":drgn_flat_sob:",
"updated": "2023-04-04T09:06:08Z",
"icon": {
"type": "Image",
"mediaType": "image/png",
"url": "https://ma.fellr.net/system/custom_emojis/images/000/042/513/original/drgn_flat_sob.png"
}
}
],
"replies": {
"id": "https://ma.fellr.net/users/fell/statuses/111305954796132345/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://ma.fellr.net/users/fell/statuses/111305954796132345/replies?min_id=111307223807497905&page=true",
"partOf": "https://ma.fellr.net/users/fell/statuses/111305954796132345/replies",
"items": [
"https://ma.fellr.net/users/fell/statuses/111307223807497905"
]
}
},
"likes": {
"id": "https://ma.fellr.net/users/fell/statuses/111305954796132345/likes",
"type": "Collection",
"totalItems": 26
},
"shares": {
"id": "https://ma.fellr.net/users/fell/statuses/111305954796132345/shares",
"type": "Collection",
"totalItems": 5
}
}