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" } } ], "id": "https://mastodon.social/users/nateberkopec/outbox?max_id=113359423282977871&page=true", "type": "OrderedCollectionPage", "next": "https://mastodon.social/users/nateberkopec/outbox?max_id=113239763836174349&page=true", "prev": "https://mastodon.social/users/nateberkopec/outbox?min_id=113357094995299415&page=true", "partOf": "https://mastodon.social/users/nateberkopec/outbox", "orderedItems": [ { "id": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-23T14:00:01Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-23T14:00:01Z", "url": "https://mastodon.social/@nateberkopec/113357094995299415", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-23:objectId=829610722:objectType=Conversation", "content": "<p>&quot;ASAP&quot; or &quot;high&quot; is a bad queue name. Every job *feels* urgent. Is it? </p><p>In my &quot;SLO-based&quot; queue naming system (&quot;within_5_minutes&quot;, &quot;within_1_day&quot;), you can call this the &quot;within_0_seconds&quot; queue.</p><p>Make the decision concrete: does it need to be done &quot;within zero seconds&quot;? In practice, this queue&#39;s SLO is the same as a web request.</p>", "contentMap": { "en": "<p>&quot;ASAP&quot; or &quot;high&quot; is a bad queue name. Every job *feels* urgent. Is it? </p><p>In my &quot;SLO-based&quot; queue naming system (&quot;within_5_minutes&quot;, &quot;within_1_day&quot;), you can call this the &quot;within_0_seconds&quot; queue.</p><p>Make the decision concrete: does it need to be done &quot;within zero seconds&quot;? In practice, this queue&#39;s SLO is the same as a web request.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415/likes", "type": "Collection", "totalItems": 15 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113357094995299415/shares", "type": "Collection", "totalItems": 7 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-22T14:00:10Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-22T14:00:10Z", "url": "https://mastodon.social/@nateberkopec/113351433259600312", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-22:objectId=828777246:objectType=Conversation", "content": "<p>When using Minitest, I like that I can refactor tests using all the normal Ruby tools I know, rather than work in this weird DSL-land where none of the usual rules apply.</p>", "contentMap": { "en": "<p>When using Minitest, I like that I can refactor tests using all the normal Ruby tools I know, rather than work in this weird DSL-land where none of the usual rules apply.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312/likes", "type": "Collection", "totalItems": 11 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113351433259600312/shares", "type": "Collection", "totalItems": 4 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-21T14:00:09Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-21T14:00:09Z", "url": "https://mastodon.social/@nateberkopec/113345770924686086", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-21:objectId=827957121:objectType=Conversation", "content": "<p>QA is waste.</p><p>Shigeo Shingo and Toyota figured this out 50 years ago. QA may be _necessary_, given the current state of your process, but you should be trying to get rid of it. The perfect process is one that does not require QA at all. And why accept less than perfection?</p><p><a href=\"https://www.amazon.co.jp/Zero-Quality-Control-Inspection-Poka-Yoke/dp/0815353049\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">amazon.co.jp/Zero-Quality-Cont</span><span class=\"invisible\">rol-Inspection-Poka-Yoke/dp/0815353049</span></a></p>", "contentMap": { "en": "<p>QA is waste.</p><p>Shigeo Shingo and Toyota figured this out 50 years ago. QA may be _necessary_, given the current state of your process, but you should be trying to get rid of it. The perfect process is one that does not require QA at all. And why accept less than perfection?</p><p><a href=\"https://www.amazon.co.jp/Zero-Quality-Control-Inspection-Poka-Yoke/dp/0815353049\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">amazon.co.jp/Zero-Quality-Cont</span><span class=\"invisible\">rol-Inspection-Poka-Yoke/dp/0815353049</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086/likes", "type": "Collection", "totalItems": 6 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113345770924686086/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-18T14:00:09Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-18T14:00:09Z", "url": "https://mastodon.social/@nateberkopec/113328783954464630", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-18:objectId=825662111:objectType=Conversation", "content": "<p>Yikes, didn&#39;t even realize that Scout&#39;s max-objects-per-run counter could count this high πŸ’€</p>", "contentMap": { "en": "<p>Yikes, didn&#39;t even realize that Scout&#39;s max-objects-per-run counter could count this high πŸ’€</p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://files.mastodon.social/media_attachments/files/113/328/783/819/823/101/original/bfd4a6d29cd543df.png", "name": null, "blurhash": "UVRMi8t7fS%N0Ua#azWC9Oj]WCWBRDa#ayay", "width": 144, "height": 356 } ], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113328783954464630/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-17T14:00:16Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-17T14:00:16Z", "url": "https://mastodon.social/@nateberkopec/113323122104601953", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-17:objectId=824756628:objectType=Conversation", "content": "<p>Footgun? More like footFUN amirite?!?!</p>", "contentMap": { "en": "<p>Footgun? More like footFUN amirite?!?!</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953/likes", "type": "Collection", "totalItems": 3 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113323122104601953/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-16T14:00:08Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-16T14:00:08Z", "url": "https://mastodon.social/@nateberkopec/113317459277445457", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-16:objectId=823844466:objectType=Conversation", "content": "<p>I get so excited when I&#39;m on a sales call w/someone who&#39;s clearly thinking about performance long-term and strategically.</p><p>&quot;We want to make speed a part of the brand.&quot;<br />&quot;We&#39;re planning for the next 5 years.&quot;<br />&quot;No limit on our investment if we can show the benefits.&quot;</p><p>😍</p>", "contentMap": { "en": "<p>I get so excited when I&#39;m on a sales call w/someone who&#39;s clearly thinking about performance long-term and strategically.</p><p>&quot;We want to make speed a part of the brand.&quot;<br />&quot;We&#39;re planning for the next 5 years.&quot;<br />&quot;No limit on our investment if we can show the benefits.&quot;</p><p>😍</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457/likes", "type": "Collection", "totalItems": 6 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113317459277445457/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-16T11:01:34Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://ruby.social/users/getajobmike" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339", "type": "Note", "summary": null, "inReplyTo": "https://ruby.social/users/getajobmike/statuses/113313606515719049", "published": "2024-10-16T11:01:34Z", "url": "https://mastodon.social/@nateberkopec/113316757112974339", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://ruby.social/users/getajobmike" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339", "inReplyToAtomUri": "https://ruby.social/users/getajobmike/statuses/113313606515719049", "conversation": "tag:ruby.social,2024-10-15:objectId=56516297:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@getajobmike\" class=\"u-url mention\">@<span>getajobmike</span></a></span> to be fair to rails core, they&#39;ve done a very good job making upgrades easier and easier. it&#39;s reasonable to ask people to keep recent, in return.</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@getajobmike\" class=\"u-url mention\">@<span>getajobmike</span></a></span> to be fair to rails core, they&#39;ve done a very good job making upgrades easier and easier. it&#39;s reasonable to ask people to keep recent, in return.</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/getajobmike", "name": "@getajobmike@ruby.social" } ], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339/likes", "type": "Collection", "totalItems": 8 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113316757112974339/shares", "type": "Collection", "totalItems": 3 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-15T14:00:08Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-15T14:00:08Z", "url": "https://mastodon.social/@nateberkopec/113311797015457567", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-15:objectId=823022432:objectType=Conversation", "content": "<p>&quot;None of our top 50 controllers by throughput can have more than 5% of responses be &gt;500ms&quot;</p><p> This is an example of a well-defined performance goal. It scopes to the most important parts of the app, is set based on expectations of human users (users can feel &gt;500ms resp), and it&#39;s usually quite achievable.</p>", "contentMap": { "en": "<p>&quot;None of our top 50 controllers by throughput can have more than 5% of responses be &gt;500ms&quot;</p><p> This is an example of a well-defined performance goal. It scopes to the most important parts of the app, is set based on expectations of human users (users can feel &gt;500ms resp), and it&#39;s usually quite achievable.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567/likes", "type": "Collection", "totalItems": 16 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113311797015457567/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-14T14:00:06Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://mastodon.social/users/users" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-14T14:00:06Z", "url": "https://mastodon.social/@nateberkopec/113306134551618383", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://mastodon.social/users/users" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-14:objectId=822238721:objectType=Conversation", "content": "<p>Common cache use mistake in Rails views:<br />&lt;% @users.each do |user| %&gt;<br />&lt;% cache user do %&gt; </p><p>... results in @users.size number of cache calls.</p><p>&lt;%= render partial: &#39;user&#39;, collection: <span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@users\" class=\"u-url mention\">@<span>users</span></a></span>, cached: true %&gt; </p><p>...results in 1 cache call, via multi-fetch.</p>", "contentMap": { "en": "<p>Common cache use mistake in Rails views:<br />&lt;% @users.each do |user| %&gt;<br />&lt;% cache user do %&gt; </p><p>... results in @users.size number of cache calls.</p><p>&lt;%= render partial: &#39;user&#39;, collection: <span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@users\" class=\"u-url mention\">@<span>users</span></a></span>, cached: true %&gt; </p><p>...results in 1 cache call, via multi-fetch.</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://mastodon.social/users/users", "name": "@users" } ], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383/likes", "type": "Collection", "totalItems": 18 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113306134551618383/shares", "type": "Collection", "totalItems": 6 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-11T14:00:06Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-11T14:00:06Z", "url": "https://mastodon.social/@nateberkopec/113289147597920974", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-11:objectId=820057658:objectType=Conversation", "content": "<p>One of the ways I assess the &quot;performance savviness&quot; of a team is &quot;are they running rack-mini-profiler in all environments, including production?&quot;</p><p>RMP remains the flagship tool for any organization serious about performance. Running it in prod means that you can replicate almost any problem.</p>", "contentMap": { "en": "<p>One of the ways I assess the &quot;performance savviness&quot; of a team is &quot;are they running rack-mini-profiler in all environments, including production?&quot;</p><p>RMP remains the flagship tool for any organization serious about performance. Running it in prod means that you can replicate almost any problem.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974/likes", "type": "Collection", "totalItems": 7 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113289147597920974/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-10T14:00:08Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-10T14:00:08Z", "url": "https://mastodon.social/@nateberkopec/113283485460985567", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-10:objectId=819230750:objectType=Conversation", "content": "<p>When more than 4 DevOps engineers are in a room together, they will spontaneously start trying to build an internal PaaS on k8s. They can&#39;t help themselves.</p>", "contentMap": { "en": "<p>When more than 4 DevOps engineers are in a room together, they will spontaneously start trying to build an internal PaaS on k8s. They can&#39;t help themselves.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567/likes", "type": "Collection", "totalItems": 12 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113283485460985567/shares", "type": "Collection", "totalItems": 3 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-09T14:00:01Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-09T14:00:01Z", "url": "https://mastodon.social/@nateberkopec/113277822639930649", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-09:objectId=818392537:objectType=Conversation", "content": "<p>Apps get slow because:</p><p>1. No requirements for what &quot;performant&quot; is. What latency is OK, and what is failing?<br />2. W/o the requirement, no one works on slow pages. How does perf get into JIRA?<br />3. Perf skills atrophy, app deteriorates until customers complain</p>", "contentMap": { "en": "<p>Apps get slow because:</p><p>1. No requirements for what &quot;performant&quot; is. What latency is OK, and what is failing?<br />2. W/o the requirement, no one works on slow pages. How does perf get into JIRA?<br />3. Perf skills atrophy, app deteriorates until customers complain</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649/likes", "type": "Collection", "totalItems": 11 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113277822639930649/shares", "type": "Collection", "totalItems": 5 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-08T14:00:14Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-08T14:00:14Z", "url": "https://mastodon.social/@nateberkopec/113272161190516384", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-08:objectId=817558392:objectType=Conversation", "content": "<p>In 2024, there&#39;s no reason to store Redis.new directly in a global or constant anymore. You should be using connection pools everywhere, all the time. One less footgun.</p>", "contentMap": { "en": "<p>In 2024, there&#39;s no reason to store Redis.new directly in a global or constant anymore. You should be using connection pools everywhere, all the time. One less footgun.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384/likes", "type": "Collection", "totalItems": 13 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113272161190516384/shares", "type": "Collection", "totalItems": 4 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-07T14:00:20Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-07T14:00:20Z", "url": "https://mastodon.social/@nateberkopec/113266499280613645", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-07:objectId=816733544:objectType=Conversation", "content": "<p>How do you implement &quot;debounce&quot; behavior re: Sidekiq jobs? </p><p>IMO the best way is an idempotent check in the job itself (&quot;did I do this within the last 5 minutes? OK, exiting early) but I&#39;m wondering if there are other strategies.</p>", "contentMap": { "en": "<p>How do you implement &quot;debounce&quot; behavior re: Sidekiq jobs? </p><p>IMO the best way is an idempotent check in the job itself (&quot;did I do this within the last 5 minutes? OK, exiting early) but I&#39;m wondering if there are other strategies.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645/likes", "type": "Collection", "totalItems": 4 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113266499280613645/shares", "type": "Collection", "totalItems": 1 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-04T14:00:03Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-04T14:00:03Z", "url": "https://mastodon.social/@nateberkopec/113249511216084024", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-04:objectId=814514530:objectType=Conversation", "content": "<p>My most controversial Rails take is that you should never use methods which cause SQL queries (find/where/first/order etc) in _any_ instance methods in _any_ class in the models folder.</p>", "contentMap": { "en": "<p>My most controversial Rails take is that you should never use methods which cause SQL queries (find/where/first/order etc) in _any_ instance methods in _any_ class in the models folder.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024/likes", "type": "Collection", "totalItems": 6 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113249511216084024/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-04T10:54:05Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://configure.ac/users/shyouhei" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190", "type": "Note", "summary": null, "inReplyTo": "https://configure.ac/users/shyouhei/statuses/113240710174722143", "published": "2024-10-04T10:54:05Z", "url": "https://mastodon.social/@nateberkopec/113248780019998190", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://configure.ac/users/shyouhei" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190", "inReplyToAtomUri": "https://configure.ac/users/shyouhei/statuses/113240710174722143", "conversation": "tag:configure.ac,2024-10-03:objectId=123600:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://configure.ac/@shyouhei\" class=\"u-url mention\">@<span>shyouhei</span></a></span> θ‹±θͺžδΈŠζ‰‹γ§γ™γ‚ˆ</p>", "contentMap": { "ja": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://configure.ac/@shyouhei\" class=\"u-url mention\">@<span>shyouhei</span></a></span> θ‹±θͺžδΈŠζ‰‹γ§γ™γ‚ˆ</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://configure.ac/users/shyouhei", "name": "@shyouhei@configure.ac" } ], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113248780019998190/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-03T14:00:10Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-03T14:00:10Z", "url": "https://mastodon.social/@nateberkopec/113243849421971802", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-10-03:objectId=813697113:objectType=Conversation", "content": "<p>In the &quot;perfect&quot; transaction (job or controller action) you access each table only one time. It&#39;s impossible (often not even optimal), but it&#39;s a good guideline. When I&#39;m auditing a transaction for perf, I&#39;m always looking with a mind of &quot;how do I reduce how many times I look at each table?&quot;</p>", "contentMap": { "en": "<p>In the &quot;perfect&quot; transaction (job or controller action) you access each table only one time. It&#39;s impossible (often not even optimal), but it&#39;s a good guideline. When I&#39;m auditing a transaction for perf, I&#39;m always looking with a mind of &quot;how do I reduce how many times I look at each table?&quot;</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802/likes", "type": "Collection", "totalItems": 5 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113243849421971802/shares", "type": "Collection", "totalItems": 3 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-02T20:49:16Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://ruby.social/users/getajobmike" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668", "type": "Note", "summary": null, "inReplyTo": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503", "published": "2024-10-02T20:49:16Z", "url": "https://mastodon.social/@nateberkopec/113239795739529668", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://ruby.social/users/getajobmike" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668", "inReplyToAtomUri": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503", "conversation": "tag:ruby.social,2024-09-30:objectId=55373509:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@getajobmike\" class=\"u-url mention\">@<span>getajobmike</span></a></span> I wonder why they think this shouldn&#39;t be the default.</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@getajobmike\" class=\"u-url mention\">@<span>getajobmike</span></a></span> I wonder why they think this shouldn&#39;t be the default.</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/getajobmike", "name": "@getajobmike@ruby.social" } ], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239795739529668/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-02T20:49:00Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://ruby.social/users/getajobmike" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503", "type": "Note", "summary": null, "inReplyTo": "https://ruby.social/users/getajobmike/statuses/113239788884105952", "published": "2024-10-02T20:49:00Z", "url": "https://mastodon.social/@nateberkopec/113239794704514503", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers", "https://ruby.social/users/getajobmike" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503", "inReplyToAtomUri": "https://ruby.social/users/getajobmike/statuses/113239788884105952", "conversation": "tag:ruby.social,2024-09-30:objectId=55373509:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@getajobmike\" class=\"u-url mention\">@<span>getajobmike</span></a></span> Well at least there&#39;s a mitigation. Probably other services can&#39;t even flush mid-trace b/c there&#39;s no agent process to flush to.</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@getajobmike\" class=\"u-url mention\">@<span>getajobmike</span></a></span> Well at least there&#39;s a mitigation. Probably other services can&#39;t even flush mid-trace b/c there&#39;s no agent process to flush to.</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/getajobmike", "name": "@getajobmike@ruby.social" } ], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503/replies?min_id=113239795739529668&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503/replies", "items": [ "https://mastodon.social/users/nateberkopec/statuses/113239795739529668" ] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239794704514503/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349/activity", "type": "Create", "actor": "https://mastodon.social/users/nateberkopec", "published": "2024-10-02T20:41:09Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "object": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349", "type": "Note", "summary": null, "inReplyTo": "https://ruby.social/users/getajobmike/statuses/113227600392840200", "published": "2024-10-02T20:41:09Z", "url": "https://mastodon.social/@nateberkopec/113239763836174349", "attributedTo": "https://mastodon.social/users/nateberkopec", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/nateberkopec/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349", "inReplyToAtomUri": "https://ruby.social/users/getajobmike/statuses/113227600392840200", "conversation": "tag:ruby.social,2024-09-30:objectId=55373509:objectType=Conversation", "content": "<p>Datadog especially should have no excuse, as they should be constantly flushing to the agent. Have you seen DD have a problem specifically?</p>", "contentMap": { "en": "<p>Datadog especially should have no excuse, as they should be constantly flushing to the agent. Have you seen DD have a problem specifically?</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://mastodon.social/users/nateberkopec/statuses/113239763836174349/shares", "type": "Collection", "totalItems": 0 } } } ] }