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://ruby.social/users/kaspth/outbox?page=true", "type": "OrderedCollectionPage", "next": "https://ruby.social/users/kaspth/outbox?max_id=113242715829096408&page=true", "prev": "https://ruby.social/users/kaspth/outbox?min_id=113494757200576176&page=true", "partOf": "https://ruby.social/users/kaspth/outbox", "orderedItems": [ { "id": "https://ruby.social/users/kaspth/statuses/113494757200576176/activity", "type": "Announce", "actor": "https://ruby.social/users/kaspth", "published": "2024-11-16T21:29:19Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/tcannonfodder", "https://ruby.social/users/kaspth/followers" ], "object": "https://ruby.social/users/tcannonfodder/statuses/113494599758477331" }, { "id": "https://ruby.social/users/kaspth/statuses/113442011378142704/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-11-07T13:55:22Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113442011378142704", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-11-07T13:55:22Z", "url": "https://ruby.social/@kaspth/113442011378142704", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113442011378142704", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-11-07:objectId=58346291:objectType=Conversation", "content": "<p>I&#39;ve been doing Office Hours with the team at Ombu Labs, and we&#39;ve just spun off the first blog post from it.</p><p>All credit to Francois for the note taking and writing 😄</p><p><a href=\"https://fastruby.io/blog/how-to-grok-an-exiting-rails-application-for-the-first-time.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">fastruby.io/blog/how-to-grok-a</span><span class=\"invisible\">n-exiting-rails-application-for-the-first-time.html</span></a></p>", "contentMap": { "en": "<p>I&#39;ve been doing Office Hours with the team at Ombu Labs, and we&#39;ve just spun off the first blog post from it.</p><p>All credit to Francois for the note taking and writing 😄</p><p><a href=\"https://fastruby.io/blog/how-to-grok-an-exiting-rails-application-for-the-first-time.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">fastruby.io/blog/how-to-grok-a</span><span class=\"invisible\">n-exiting-rails-application-for-the-first-time.html</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113442011378142704/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113442011378142704/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113442011378142704/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113442011378142704/likes", "type": "Collection", "totalItems": 5 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113442011378142704/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113397304600033345/activity", "type": "Announce", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-30T16:25:51Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/tcannonfodder", "https://ruby.social/users/kaspth/followers" ], "object": "https://ruby.social/users/tcannonfodder/statuses/113393108131434584" }, { "id": "https://ruby.social/users/kaspth/statuses/113392228268561055/activity", "type": "Announce", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-29T18:54:52Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/trevorturk", "https://ruby.social/users/kaspth/followers" ], "object": "https://ruby.social/users/trevorturk/statuses/113392226915873460" }, { "id": "https://ruby.social/users/kaspth/statuses/113387023687377527/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-28T20:51:16Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/Schneems", "https://ruby.social/users/trevorturk" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113387023687377527", "type": "Note", "summary": null, "inReplyTo": "https://ruby.social/users/Schneems/statuses/113386930807373919", "published": "2024-10-28T20:51:16Z", "url": "https://ruby.social/@kaspth/113387023687377527", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/Schneems", "https://ruby.social/users/trevorturk" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113387023687377527", "inReplyToAtomUri": "https://ruby.social/users/Schneems/statuses/113386930807373919", "conversation": "tag:ruby.social,2024-10-28:objectId=57511168:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@Schneems\" class=\"u-url mention\">@<span>Schneems</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@trevorturk\" class=\"u-url mention\">@<span>trevorturk</span></a></span> hell yeah, there&#39;s so many nice choices in the new app too!</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@Schneems\" class=\"u-url mention\">@<span>Schneems</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@trevorturk\" class=\"u-url mention\">@<span>trevorturk</span></a></span> hell yeah, there&#39;s so many nice choices in the new app too!</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/Schneems", "name": "@Schneems" }, { "type": "Mention", "href": "https://ruby.social/users/trevorturk", "name": "@trevorturk" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113387023687377527/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113387023687377527/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113387023687377527/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113387023687377527/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113387023687377527/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113386687895041900/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-28T19:25:53Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/trevorturk" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113386687895041900", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-28T19:25:53Z", "url": "https://ruby.social/@kaspth/113386687895041900", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/trevorturk" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113386687895041900", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-28:objectId=57511168:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@trevorturk\" class=\"u-url mention\">@<span>trevorturk</span></a></span> hey, will I see you at RubyConf?</p><p>I&#39;ve just subscribed to the Hello Weather newsletter, looking forward to the full release!</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@trevorturk\" class=\"u-url mention\">@<span>trevorturk</span></a></span> hey, will I see you at RubyConf?</p><p>I&#39;ve just subscribed to the Hello Weather newsletter, looking forward to the full release!</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/trevorturk", "name": "@trevorturk" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113386687895041900/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113386687895041900/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113386687895041900/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113386687895041900/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113386687895041900/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113382019972066347/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-27T23:38:46Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/pinzonjulian" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113382019972066347", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-27T23:38:46Z", "url": "https://ruby.social/@kaspth/113382019972066347", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/pinzonjulian" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113382019972066347", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-27:objectId=57447577:objectType=Conversation", "content": "<p>If you&#39;ve been curious about my take on mixing fixtures &amp; factories in Oaken, <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@pinzonjulian\" class=\"u-url mention\">@<span>pinzonjulian</span></a></span> has got your back in this talk! So cool 😄</p><p><a href=\"https://www.youtube.com/watch?v=bxOqXLL06Sg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">youtube.com/watch?v=bxOqXLL06S</span><span class=\"invisible\">g</span></a></p>", "contentMap": { "en": "<p>If you&#39;ve been curious about my take on mixing fixtures &amp; factories in Oaken, <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@pinzonjulian\" class=\"u-url mention\">@<span>pinzonjulian</span></a></span> has got your back in this talk! So cool 😄</p><p><a href=\"https://www.youtube.com/watch?v=bxOqXLL06Sg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">youtube.com/watch?v=bxOqXLL06S</span><span class=\"invisible\">g</span></a></p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/pinzonjulian", "name": "@pinzonjulian" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113382019972066347/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113382019972066347/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113382019972066347/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113382019972066347/likes", "type": "Collection", "totalItems": 6 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113382019972066347/shares", "type": "Collection", "totalItems": 4 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113363849106975720/activity", "type": "Announce", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-24T18:37:40Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/burgestrand", "https://ruby.social/users/kaspth/followers" ], "object": "https://ruby.social/users/burgestrand/statuses/113362666245256330" }, { "id": "https://ruby.social/users/kaspth/statuses/113340988526609404/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-20T17:43:56Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/lucian" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113340988526609404", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-20T17:43:56Z", "url": "https://ruby.social/@kaspth/113340988526609404", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/lucian" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113340988526609404", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-20:objectId=56888089:objectType=Conversation", "content": "<p>I just signed up for <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@lucian\" class=\"u-url mention\">@<span>lucian</span></a></span> &#39;s Good Enough Testing workshop! At 50$, it&#39;s a steal 😄</p><p><a href=\"https://lu.ma/hgs6eb3t?tk=1Bm5sH\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">lu.ma/hgs6eb3t?tk=1Bm5sH</span><span class=\"invisible\"></span></a></p>", "contentMap": { "en": "<p>I just signed up for <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@lucian\" class=\"u-url mention\">@<span>lucian</span></a></span> &#39;s Good Enough Testing workshop! At 50$, it&#39;s a steal 😄</p><p><a href=\"https://lu.ma/hgs6eb3t?tk=1Bm5sH\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">lu.ma/hgs6eb3t?tk=1Bm5sH</span><span class=\"invisible\"></span></a></p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/lucian", "name": "@lucian" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113340988526609404/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113340988526609404/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113340988526609404/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113340988526609404/likes", "type": "Collection", "totalItems": 3 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113340988526609404/shares", "type": "Collection", "totalItems": 1 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113336134331855338/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-19T21:09:26Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113336134331855338", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-19T21:09:26Z", "url": "https://ruby.social/@kaspth/113336134331855338", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113336134331855338", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-19:objectId=56834717:objectType=Conversation", "content": "<p>I did some code golfing this week and wrote up a lengthy post on my choices. Tons of tips in here.</p><p><a href=\"https://buttondown.com/kaspth/archive/code-golfing-review-making-composable-active-record-queries/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">buttondown.com/kaspth/archive/</span><span class=\"invisible\">code-golfing-review-making-composable-active-record-queries/</span></a></p>", "contentMap": { "en": "<p>I did some code golfing this week and wrote up a lengthy post on my choices. Tons of tips in here.</p><p><a href=\"https://buttondown.com/kaspth/archive/code-golfing-review-making-composable-active-record-queries/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">buttondown.com/kaspth/archive/</span><span class=\"invisible\">code-golfing-review-making-composable-active-record-queries/</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113336134331855338/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113336134331855338/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113336134331855338/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113336134331855338/likes", "type": "Collection", "totalItems": 8 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113336134331855338/shares", "type": "Collection", "totalItems": 3 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113323473152697129/activity", "type": "Announce", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-17T15:29:32Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/andycroll", "https://ruby.social/users/kaspth/followers" ], "object": "https://ruby.social/users/andycroll/statuses/113318507189437678" }, { "id": "https://ruby.social/users/kaspth/statuses/113314038641620927/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-15T23:30:13Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/timriley" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113314038641620927", "type": "Note", "summary": null, "inReplyTo": "https://ruby.social/users/timriley/statuses/113313980865691327", "published": "2024-10-15T23:30:13Z", "url": "https://ruby.social/@kaspth/113314038641620927", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/timriley" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113314038641620927", "inReplyToAtomUri": "https://ruby.social/users/timriley/statuses/113313980865691327", "conversation": "tag:ruby.social,2024-10-15:objectId=56508456:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@timriley\" class=\"u-url mention\">@<span>timriley</span></a></span> nice! Looking forward to chatting with you again, Tim 😊👋</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@timriley\" class=\"u-url mention\">@<span>timriley</span></a></span> nice! Looking forward to chatting with you again, Tim 😊👋</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/timriley", "name": "@timriley" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113314038641620927/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113314038641620927/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113314038641620927/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113314038641620927/likes", "type": "Collection", "totalItems": 1 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113314038641620927/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113313176301076933/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-15T19:50:55Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/rubyconf" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113313176301076933", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-15T19:50:55Z", "url": "https://ruby.social/@kaspth/113313176301076933", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/rubyconf" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113313176301076933", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-15:objectId=56508456:objectType=Conversation", "content": "<p>who will I see <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@rubyconf\" class=\"u-url mention\">@<span>rubyconf</span></a></span>? 👁️👄👁️</p>", "contentMap": { "en": "<p>who will I see <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@rubyconf\" class=\"u-url mention\">@<span>rubyconf</span></a></span>? 👁️👄👁️</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/rubyconf", "name": "@rubyconf" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113313176301076933/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113313176301076933/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113313176301076933/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113313176301076933/likes", "type": "Collection", "totalItems": 4 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113313176301076933/shares", "type": "Collection", "totalItems": 1 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113294992750395320/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-12T14:46:36Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113294992750395320", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-12T14:46:36Z", "url": "https://ruby.social/@kaspth/113294992750395320", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113294992750395320", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-12:objectId=56277106:objectType=Conversation", "content": "<p>It&#39;s fun to see the `as: :json` etc. test request encoding I added to Rails and turbo-rails be used more broadly</p><p><a href=\"https://github.com/stimulusreflex/cable_ready/pull/300\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/stimulusreflex/cabl</span><span class=\"invisible\">e_ready/pull/300</span></a></p>", "contentMap": { "en": "<p>It&#39;s fun to see the `as: :json` etc. test request encoding I added to Rails and turbo-rails be used more broadly</p><p><a href=\"https://github.com/stimulusreflex/cable_ready/pull/300\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/stimulusreflex/cabl</span><span class=\"invisible\">e_ready/pull/300</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113294992750395320/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113294992750395320/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113294992750395320/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113294992750395320/likes", "type": "Collection", "totalItems": 2 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113294992750395320/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113289745332441099/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-11T16:32:06Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113289745332441099", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-11T16:32:06Z", "url": "https://ruby.social/@kaspth/113289745332441099", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113289745332441099", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-11:objectId=56214045:objectType=Conversation", "content": "<p>We&#39;ve got a generator fix in the new Associated Object release 🎉</p><p><a href=\"https://github.com/kaspth/active_record-associated_object/releases/tag/v0.8.2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/kaspth/active_recor</span><span class=\"invisible\">d-associated_object/releases/tag/v0.8.2</span></a></p>", "contentMap": { "en": "<p>We&#39;ve got a generator fix in the new Associated Object release 🎉</p><p><a href=\"https://github.com/kaspth/active_record-associated_object/releases/tag/v0.8.2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/kaspth/active_recor</span><span class=\"invisible\">d-associated_object/releases/tag/v0.8.2</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113289745332441099/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113289745332441099/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113289745332441099/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113289745332441099/likes", "type": "Collection", "totalItems": 4 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113289745332441099/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113284387960662112/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-10T17:49:39Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113284387960662112", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-10T17:49:39Z", "url": "https://ruby.social/@kaspth/113284387960662112", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113284387960662112", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-10:objectId=56139989:objectType=Conversation", "content": "<p>I&#39;ve been enjoying Julian Rubisch&#39;s newsletter on Code Sculpture, but this hit particularly well for me</p>", "contentMap": { "en": "<p>I&#39;ve been enjoying Julian Rubisch&#39;s newsletter on Code Sculpture, but this hit particularly well for me</p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://cdn.masto.host/rubysocial/media_attachments/files/113/284/384/303/081/347/original/0f941b7dafd448fa.png", "name": "See, back in the day of the Beatles and others, sound engineers only had tape, level faders and some crude filters. What they had to do, thus, was recording just what they want to hear in the final mix, as their tools for post processing were limited.\n\nThis is a form of art that has become nearly forgotten, but it still tends to produce the best results, as any sound designer would agree. The call to action for software designers, thus, is clear:\n\nTime spent riffing on your domain model or application architecture is time well spent.", "blurhash": "U16a;m-;D%xu-;WBofRj_3RjWBt7?bM{WBt7", "width": 1296, "height": 354 } ], "tag": [], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113284387960662112/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113284387960662112/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113284387960662112/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113284387960662112/likes", "type": "Collection", "totalItems": 4 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113284387960662112/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113272357173072932/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-08T14:50:04Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/ingemar" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113272357173072932", "type": "Note", "summary": null, "inReplyTo": "https://ruby.social/users/ingemar/statuses/113272289051777457", "published": "2024-10-08T14:50:04Z", "url": "https://ruby.social/@kaspth/113272357173072932", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/ingemar" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113272357173072932", "inReplyToAtomUri": "https://ruby.social/users/ingemar/statuses/113272289051777457", "conversation": "tag:ruby.social,2023-10-04:objectId=30945863:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@ingemar\" class=\"u-url mention\">@<span>ingemar</span></a></span> thanks! I guess it&#39;s not super explicit, but it&#39;s in case someone preferred passing in a string for the method name, then String#to_s would return self and we&#39;d mutate that. Maybe there&#39;s another way around using dup, it&#39;s been a while since I&#39;ve looked at this code 😊</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@ingemar\" class=\"u-url mention\">@<span>ingemar</span></a></span> thanks! I guess it&#39;s not super explicit, but it&#39;s in case someone preferred passing in a string for the method name, then String#to_s would return self and we&#39;d mutate that. Maybe there&#39;s another way around using dup, it&#39;s been a while since I&#39;ve looked at this code 😊</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/ingemar", "name": "@ingemar" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113272357173072932/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113272357173072932/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113272357173072932/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113272357173072932/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113272357173072932/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113244717729486829/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-03T17:41:00Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://mastodon.social/users/matheusrich", "https://ruby.social/users/garrettdimon" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113244717729486829", "type": "Note", "summary": null, "inReplyTo": "https://mastodon.social/users/matheusrich/statuses/113244471898059938", "published": "2024-10-03T17:41:00Z", "url": "https://ruby.social/@kaspth/113244717729486829", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://mastodon.social/users/matheusrich", "https://ruby.social/users/garrettdimon" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113244717729486829", "inReplyToAtomUri": "https://mastodon.social/users/matheusrich/statuses/113244471898059938", "conversation": "tag:ruby.social,2024-10-03:objectId=55578921:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@matheusrich\" class=\"u-url mention\">@<span>matheusrich</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@garrettdimon\" class=\"u-url mention\">@<span>garrettdimon</span></a></span> I like aspects of this, but focusing on serialization as the default seems a little too much for me. Though I haven&#39;t read the PR in detail.</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@matheusrich\" class=\"u-url mention\">@<span>matheusrich</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@garrettdimon\" class=\"u-url mention\">@<span>garrettdimon</span></a></span> I like aspects of this, but focusing on serialization as the default seems a little too much for me. Though I haven&#39;t read the PR in detail.</p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://mastodon.social/users/matheusrich", "name": "@matheusrich@mastodon.social" }, { "type": "Mention", "href": "https://ruby.social/users/garrettdimon", "name": "@garrettdimon" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113244717729486829/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113244717729486829/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113244717729486829/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113244717729486829/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113244717729486829/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113244705792748893/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-03T17:37:58Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://mastodon.social/users/matheusrich", "https://ruby.social/users/garrettdimon" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113244705792748893", "type": "Note", "summary": null, "inReplyTo": "https://mastodon.social/users/matheusrich/statuses/113244372933457822", "published": "2024-10-03T17:37:58Z", "url": "https://ruby.social/@kaspth/113244705792748893", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://mastodon.social/users/matheusrich", "https://ruby.social/users/garrettdimon" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113244705792748893", "inReplyToAtomUri": "https://mastodon.social/users/matheusrich/statuses/113244372933457822", "conversation": "tag:ruby.social,2024-10-03:objectId=55578921:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@matheusrich\" class=\"u-url mention\">@<span>matheusrich</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@garrettdimon\" class=\"u-url mention\">@<span>garrettdimon</span></a></span> I&#39;m not really interested in contributing directly to Rails anymore.</p><p>Anyway, for me, the pitch as a more holistic gem is better. If we just optimize the reader method, via has_object, it won&#39;t reveal how to connect the dots.</p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@matheusrich\" class=\"u-url mention\">@<span>matheusrich</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@garrettdimon\" class=\"u-url mention\">@<span>garrettdimon</span></a></span> I&#39;m not really interested in contributing directly to Rails anymore.</p><p>Anyway, for me, the pitch as a more holistic gem is better. If we just optimize the reader method, via has_object, it won&#39;t reveal how to connect the dots.</p>" }, "updated": "2024-10-03T18:00:22Z", "attachment": [], "tag": [ { "type": "Mention", "href": "https://mastodon.social/users/matheusrich", "name": "@matheusrich@mastodon.social" }, { "type": "Mention", "href": "https://ruby.social/users/garrettdimon", "name": "@garrettdimon" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113244705792748893/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113244705792748893/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113244705792748893/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113244705792748893/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113244705792748893/shares", "type": "Collection", "totalItems": 0 } } }, { "id": "https://ruby.social/users/kaspth/statuses/113242715829096408/activity", "type": "Create", "actor": "https://ruby.social/users/kaspth", "published": "2024-10-03T09:11:53Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/garrettdimon" ], "object": { "id": "https://ruby.social/users/kaspth/statuses/113242715829096408", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-10-03T09:11:53Z", "url": "https://ruby.social/@kaspth/113242715829096408", "attributedTo": "https://ruby.social/users/kaspth", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://ruby.social/users/kaspth/followers", "https://ruby.social/users/garrettdimon" ], "sensitive": false, "atomUri": "https://ruby.social/users/kaspth/statuses/113242715829096408", "inReplyToAtomUri": null, "conversation": "tag:ruby.social,2024-10-03:objectId=55578921:objectType=Conversation", "content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@garrettdimon\" class=\"u-url mention\">@<span>garrettdimon</span></a></span> I put your blog posts in the Associated Objects readme 😊🎷 <a href=\"https://github.com/kaspth/active_record-associated_object?tab=readme-ov-file#see-associated-objects-in-action\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/kaspth/active_recor</span><span class=\"invisible\">d-associated_object?tab=readme-ov-file#see-associated-objects-in-action</span></a></p>", "contentMap": { "en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@garrettdimon\" class=\"u-url mention\">@<span>garrettdimon</span></a></span> I put your blog posts in the Associated Objects readme 😊🎷 <a href=\"https://github.com/kaspth/active_record-associated_object?tab=readme-ov-file#see-associated-objects-in-action\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/kaspth/active_recor</span><span class=\"invisible\">d-associated_object?tab=readme-ov-file#see-associated-objects-in-action</span></a></p>" }, "attachment": [], "tag": [ { "type": "Mention", "href": "https://ruby.social/users/garrettdimon", "name": "@garrettdimon" } ], "replies": { "id": "https://ruby.social/users/kaspth/statuses/113242715829096408/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://ruby.social/users/kaspth/statuses/113242715829096408/replies?only_other_accounts=true&page=true", "partOf": "https://ruby.social/users/kaspth/statuses/113242715829096408/replies", "items": [] } }, "likes": { "id": "https://ruby.social/users/kaspth/statuses/113242715829096408/likes", "type": "Collection", "totalItems": 1 }, "shares": { "id": "https://ruby.social/users/kaspth/statuses/113242715829096408/shares", "type": "Collection", "totalItems": 0 } } } ] }