{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":8,"items":[{"actor":{"id":"https:\/\/mitra.social\/users\/silverpill","displayName":"silverpill","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/85321-original-tmp20230105183734.webp","rel":"avatar","type":"image\/webp","width":800,"height":800},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-96-20230105202806.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-48-20230105202807.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-24-20230105202807.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"85321"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/85321-96-20230105202806.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance.","url":"https:\/\/mitra.social\/users\/silverpill","portablecontacts_net":{"preferredUsername":"silverpill","displayName":"silverpill","note":"Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance."}},"content":"<p><a class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@by_caballero\">@by_caballero<\/a> <a class=\"u-url mention\" href=\"https:\/\/toot.nels.onl\/@adam\">@adam<\/a> <a class=\"u-url mention\" href=\"https:\/\/mastodon.fixermark.com\/@mark\">@mark<\/a><\/p><p>&gt;but I don't entirely understand what \"apgateways\" and hashlinks give you that IPFS gateways don't also provide out of the box<\/p><p>IPFS node is just not necessary, because ActivityPub servers can store media themselves. Hashlinks are preferable because they are simpler than ipfs URIs.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mitra.social\/objects\/01977f51-8870-2576-5b4a-16b4f810dbce","object":{"id":"https:\/\/mitra.social\/objects\/01977f51-8870-2576-5b4a-16b4f810dbce","objectType":"note","content":"<p><a class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@by_caballero\">@by_caballero<\/a> <a class=\"u-url mention\" href=\"https:\/\/toot.nels.onl\/@adam\">@adam<\/a> <a class=\"u-url mention\" href=\"https:\/\/mastodon.fixermark.com\/@mark\">@mark<\/a><\/p><p>&gt;but I don't entirely understand what \"apgateways\" and hashlinks give you that IPFS gateways don't also provide out of the box<\/p><p>IPFS node is just not necessary, because ActivityPub servers can store media themselves. Hashlinks are preferable because they are simpler than ipfs URIs.<\/p>","url":"https:\/\/mitra.social\/objects\/01977f51-8870-2576-5b4a-16b4f810dbce","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700179651363714","url":"https:\/\/mastodon.social\/@by_caballero\/114700179651363714"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/by_caballero"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.fixermark.com\/users\/mark"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/toot.nels.onl\/users\/adam"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10234945","source":"ActivityPub"}},"published":"2025-06-17T19:27:27+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mitra.social\/objects\/01977f51-8870-2576-5b4a-16b4f810dbce"},{"actor":{"id":"https:\/\/mastodon.social\/users\/by_caballero","displayName":"bumblefudge","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/91857-original-tmp20230125175518.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-96-20230125175518.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-48-20230125175518.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-24-20230125175518.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"91857"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/91857-96-20230125175518.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"long-in-the-tooth gadfly, man of the people, and, improbably enough, paid opinion haverboost-free profile: https:\/\/justmytoots.com\/@by_caballero@mastodon.socialfirehose of bsky shitposts: @ bumblefudge.com@bsky.brid.gy","url":"https:\/\/mastodon.social\/@by_caballero","portablecontacts_net":{"preferredUsername":"by_caballero","displayName":"bumblefudge","note":"long-in-the-tooth gadfly, man of the people, and, improbably enough, paid opinion haverboost-free profile: https:\/\/justmytoots.com\/@by_caballero@mastodon.socialfirehose of bsky shitposts: @ bumblefudge.com@bsky.brid.gy"}},"content":"<p><a href=\"https:\/\/mitra.social\/users\/silverpill\" class=\"u-url mention\">@silverpill<\/a> <a href=\"https:\/\/toot.nels.onl\/@adam\" class=\"u-url mention\">@adam<\/a> <a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\">@mark<\/a> manu was proposing that so that Adobe could use hashlinks in C2PA, but I'm guessing no WG accepted it as work item, and\/or adobe lost interest. I don't know if Manu\/DB uses hashlinks in prod for their own clients?<\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700140458397125","object":{"id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700140458397125","objectType":"note","content":"<p><a href=\"https:\/\/mitra.social\/users\/silverpill\" class=\"u-url mention\">@silverpill<\/a> <a href=\"https:\/\/toot.nels.onl\/@adam\" class=\"u-url mention\">@adam<\/a> <a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\">@mark<\/a> manu was proposing that so that Adobe could use hashlinks in C2PA, but I'm guessing no WG accepted it as work item, and\/or adobe lost interest. I don't know if Manu\/DB uses hashlinks in prod for their own clients?<\/p>","url":"https:\/\/mastodon.social\/@by_caballero\/114700140458397125","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mitra.social\/objects\/01977f28-a0e7-145d-7b5a-b571b0cb77bb","url":"https:\/\/mitra.social\/objects\/01977f28-a0e7-145d-7b5a-b571b0cb77bb"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mitra.social\/users\/silverpill"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.fixermark.com\/users\/mark"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/toot.nels.onl\/users\/adam"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10234837","source":"ActivityPub"}},"published":"2025-06-17T19:16:10+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@by_caballero\/114700140458397125"},{"actor":{"id":"https:\/\/mastodon.social\/users\/by_caballero","displayName":"bumblefudge","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/91857-original-tmp20230125175518.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-96-20230125175518.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-48-20230125175518.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-24-20230125175518.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"91857"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/91857-96-20230125175518.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"long-in-the-tooth gadfly, man of the people, and, improbably enough, paid opinion haverboost-free profile: https:\/\/justmytoots.com\/@by_caballero@mastodon.socialfirehose of bsky shitposts: @ bumblefudge.com@bsky.brid.gy","url":"https:\/\/mastodon.social\/@by_caballero","portablecontacts_net":{"preferredUsername":"by_caballero","displayName":"bumblefudge","note":"long-in-the-tooth gadfly, man of the people, and, improbably enough, paid opinion haverboost-free profile: https:\/\/justmytoots.com\/@by_caballero@mastodon.socialfirehose of bsky shitposts: @ bumblefudge.com@bsky.brid.gy"}},"content":"<p><a href=\"https:\/\/mitra.social\/users\/silverpill\" class=\"u-url mention\">@silverpill<\/a> <a href=\"https:\/\/toot.nels.onl\/@adam\" class=\"u-url mention\">@adam<\/a> <a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\">@mark<\/a> <br \/>If you're recommending them in the FEP you can always link to the abandoned internet-draft as a reference, but I don't entirely understand what \"apgateways\" and hashlinks give you that IPFS gateways don't also provide out of the box, since there are already an ipfs:\/\/ scheme (badly specified as it may be) and GET endpoints already built into implementations in multiple languages? you can configure an IPFS node to pin all its own CIDs indefinitely and set TTL for others.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700179651363714","object":{"id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700179651363714","objectType":"note","content":"<p><a href=\"https:\/\/mitra.social\/users\/silverpill\" class=\"u-url mention\">@silverpill<\/a> <a href=\"https:\/\/toot.nels.onl\/@adam\" class=\"u-url mention\">@adam<\/a> <a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\">@mark<\/a> <br \/>If you're recommending them in the FEP you can always link to the abandoned internet-draft as a reference, but I don't entirely understand what \"apgateways\" and hashlinks give you that IPFS gateways don't also provide out of the box, since there are already an ipfs:\/\/ scheme (badly specified as it may be) and GET endpoints already built into implementations in multiple languages? you can configure an IPFS node to pin all its own CIDs indefinitely and set TTL for others.<\/p>","url":"https:\/\/mastodon.social\/@by_caballero\/114700179651363714","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700140458397125","url":"https:\/\/mastodon.social\/@by_caballero\/114700140458397125"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10234838","source":"ActivityPub"}},"published":"2025-06-17T19:16:09+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@by_caballero\/114700179651363714"},{"actor":{"id":"https:\/\/mastodon.social\/users\/by_caballero","displayName":"bumblefudge","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/91857-original-tmp20230125175518.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-96-20230125175518.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-48-20230125175518.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/91857-24-20230125175518.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"91857"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/91857-96-20230125175518.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"long-in-the-tooth gadfly, man of the people, and, improbably enough, paid opinion haverboost-free profile: https:\/\/justmytoots.com\/@by_caballero@mastodon.socialfirehose of bsky shitposts: @ bumblefudge.com@bsky.brid.gy","url":"https:\/\/mastodon.social\/@by_caballero","portablecontacts_net":{"preferredUsername":"by_caballero","displayName":"bumblefudge","note":"long-in-the-tooth gadfly, man of the people, and, improbably enough, paid opinion haverboost-free profile: https:\/\/justmytoots.com\/@by_caballero@mastodon.socialfirehose of bsky shitposts: @ bumblefudge.com@bsky.brid.gy"}},"content":"<p>Well, it depends what you mean by IPFS! IPFS is already a hashlink system (and URL scheme, and registered protocol), and is referenced as an interchangeable\/cross-interoperable hashlink scheme in the hashlink spec:<br \/><a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/draft-sporny-hashlink-07#appendix-B.2\" rel=\"nofollow\">https:\/\/datatracker.ietf.org\/doc\/html\/draft-sporny-hashlink-07#appendix-B.2<\/a><\/p><p>I think what you mean by \"IPFS\" is the IPFS DHT (with all its censorship-resistance properties and discoverability\/networking pain points), which is not actually a mandatory way of dereferencing ipfs:\/\/ URLs anymore!<br \/><a href=\"https:\/\/mitra.social\/users\/silverpill\" class=\"u-url mention\">@silverpill<\/a> <a href=\"https:\/\/toot.nels.onl\/@adam\" class=\"u-url mention\">@adam<\/a> <a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\">@mark<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700065369676215","object":{"id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700065369676215","objectType":"note","content":"<p>Well, it depends what you mean by IPFS! IPFS is already a hashlink system (and URL scheme, and registered protocol), and is referenced as an interchangeable\/cross-interoperable hashlink scheme in the hashlink spec:<br \/><a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/draft-sporny-hashlink-07#appendix-B.2\" rel=\"nofollow\">https:\/\/datatracker.ietf.org\/doc\/html\/draft-sporny-hashlink-07#appendix-B.2<\/a><\/p><p>I think what you mean by \"IPFS\" is the IPFS DHT (with all its censorship-resistance properties and discoverability\/networking pain points), which is not actually a mandatory way of dereferencing ipfs:\/\/ URLs anymore!<br \/><a href=\"https:\/\/mitra.social\/users\/silverpill\" class=\"u-url mention\">@silverpill<\/a> <a href=\"https:\/\/toot.nels.onl\/@adam\" class=\"u-url mention\">@adam<\/a> <a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\">@mark<\/a><\/p>","url":"https:\/\/mastodon.social\/@by_caballero\/114700065369676215","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mitra.social\/objects\/01977a3a-d043-f84b-14cd-3d5a5e451b5a","url":"https:\/\/mitra.social\/objects\/01977a3a-d043-f84b-14cd-3d5a5e451b5a"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mitra.social\/users\/silverpill"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.fixermark.com\/users\/mark"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/toot.nels.onl\/users\/adam"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10234498","source":"ActivityPub"}},"published":"2025-06-17T18:31:26+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@by_caballero\/114700065369676215"},{"actor":{"id":"https:\/\/mitra.social\/users\/silverpill","displayName":"silverpill","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/85321-original-tmp20230105183734.webp","rel":"avatar","type":"image\/webp","width":800,"height":800},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-96-20230105202806.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-48-20230105202807.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-24-20230105202807.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"85321"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/85321-96-20230105202806.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance.","url":"https:\/\/mitra.social\/users\/silverpill","portablecontacts_net":{"preferredUsername":"silverpill","displayName":"silverpill","note":"Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance."}},"content":"<p><a class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@by_caballero\">@by_caballero<\/a> <a class=\"u-url mention\" href=\"https:\/\/toot.nels.onl\/@adam\">@adam<\/a> <a class=\"u-url mention\" href=\"https:\/\/mastodon.fixermark.com\/@mark\">@mark<\/a> I like hashlinks. FEP-ef61 currently recommends them for media:<\/p><p><a href=\"https:\/\/codeberg.org\/fediverse\/fep\/src\/commit\/2a0dac7212096ef4cce739969e4e30cef47e2337\/fep\/ef61\/fep-ef61.md#media\">https:\/\/codeberg.org\/fediverse\/fep\/src\/commit\/2a0dac7212096ef4cce739969e4e30cef47e2337\/fep\/ef61\/fep-ef61.md#media<\/a><\/p><p>Unfortunately the RFC looks abandoned. Do you know anything about that?<\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mitra.social\/objects\/01977f28-a0e7-145d-7b5a-b571b0cb77bb","object":{"id":"https:\/\/mitra.social\/objects\/01977f28-a0e7-145d-7b5a-b571b0cb77bb","objectType":"note","content":"<p><a class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@by_caballero\">@by_caballero<\/a> <a class=\"u-url mention\" href=\"https:\/\/toot.nels.onl\/@adam\">@adam<\/a> <a class=\"u-url mention\" href=\"https:\/\/mastodon.fixermark.com\/@mark\">@mark<\/a> I like hashlinks. FEP-ef61 currently recommends them for media:<\/p><p><a href=\"https:\/\/codeberg.org\/fediverse\/fep\/src\/commit\/2a0dac7212096ef4cce739969e4e30cef47e2337\/fep\/ef61\/fep-ef61.md#media\">https:\/\/codeberg.org\/fediverse\/fep\/src\/commit\/2a0dac7212096ef4cce739969e4e30cef47e2337\/fep\/ef61\/fep-ef61.md#media<\/a><\/p><p>Unfortunately the RFC looks abandoned. Do you know anything about that?<\/p>","url":"https:\/\/mitra.social\/objects\/01977f28-a0e7-145d-7b5a-b571b0cb77bb","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/by_caballero\/statuses\/114700065369676215","url":"https:\/\/mastodon.social\/@by_caballero\/114700065369676215"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/by_caballero"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.fixermark.com\/users\/mark"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/toot.nels.onl\/users\/adam"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10234499","source":"ActivityPub"}},"published":"2025-06-17T18:31:25+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mitra.social\/objects\/01977f28-a0e7-145d-7b5a-b571b0cb77bb"},{"actor":{"id":"https:\/\/mastodon.fixermark.com\/users\/mark","displayName":"Mark T. Tomczak","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/151014-original-tmp20230719153338.webp","rel":"avatar","type":"image\/webp","width":200,"height":200},{"url":"https:\/\/gnusocial.jp\/avatar\/151014-96-20230918202929.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/151014-48-20230918202929.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/151014-24-20230918202929.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"151014"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/151014-96-20230918202929.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Career software engineer living something approximating the dream he had as a kid.","url":"https:\/\/mastodon.fixermark.com\/@mark","portablecontacts_net":{"preferredUsername":"mark","displayName":"Mark T. Tomczak","note":"Career software engineer living something approximating the dream he had as a kid."}},"content":"<p>General Fediverse question.<\/p><p>Sooner or later, the Fediverse will hit the point where somebody's individual node in their closet is the primary posting source for incredibly popular high bandwidth content, like a primary source news clip. As currently architected, the system will hug that data to death when individuals who do not have accounts on an equivalent fediverse server go requesting that content (and possibly also when 100 nodes of the given service go requesting the content).<\/p><p>Are there any projects to do content distribution networks or other multiplexed and more local caching for fediverse content? What would that even look like?<\/p><p><a href=\"https:\/\/mastodon.fixermark.com\/tags\/fediverse\" class=\"mention hashtag\" rel=\"tag\">#fediverse<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.fixermark.com\/users\/mark\/statuses\/114694104538355509","object":{"id":"https:\/\/mastodon.fixermark.com\/users\/mark\/statuses\/114694104538355509","objectType":"note","content":"<p>General Fediverse question.<\/p><p>Sooner or later, the Fediverse will hit the point where somebody's individual node in their closet is the primary posting source for incredibly popular high bandwidth content, like a primary source news clip. As currently architected, the system will hug that data to death when individuals who do not have accounts on an equivalent fediverse server go requesting that content (and possibly also when 100 nodes of the given service go requesting the content).<\/p><p>Are there any projects to do content distribution networks or other multiplexed and more local caching for fediverse content? What would that even look like?<\/p><p><a href=\"https:\/\/mastodon.fixermark.com\/tags\/fediverse\" class=\"mention hashtag\" rel=\"tag\">#fediverse<\/a><\/p>","url":"https:\/\/mastodon.fixermark.com\/@mark\/114694104538355509","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10224357","source":"ActivityPub"}},"published":"2025-06-16T19:33:15+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.fixermark.com\/@mark\/114694104538355509"},{"actor":{"id":"https:\/\/toot.nels.onl\/users\/adam","displayName":"Adam Nelson","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/343995-original-tmp20250504192655.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/343995-96-20250504192655.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/343995-48-20250504192655.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/343995-24-20250504192655.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"343995"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/343995-96-20250504192655.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Mad computer scientist, unfinished project collector, meme enjoyer. Posts mostly tech and memes and tech memes.I&#39;m self-hosting now! My last account was @arnelsonCurrent projects: Algorithmic RSS feed reader, easier Matrix-like chat protocol. Both so far unreleased.Backlog projects:- A multi-protocol Fediverse server (Tapir successor), unreleased- Ludwig, a Lemmy clone in C++ - https:\/\/github.com\/ar-nelson\/ludwig#WebDev \u00b7 #IndieGames \u00b7 #IndieDev \u00b7 #PixelArt \u00b7 #Scala \u00b7 #Typescript \u00b7 #Scheme \u00b7 #C \u00b7 #Cpp \u00b7 #CompSci \u00b7 #Linux \u00b7 #Nintendo (#Pokemon, #Mario, #Zelda) \u00b7 #PokemonTCGPocket \u00b7 #MechWarrior \/ #BattleTech \u00b7 #SciFi \u00b7 #INTP \u00b7 #Christian","url":"https:\/\/toot.nels.onl\/@adam","portablecontacts_net":{"preferredUsername":"adam","displayName":"Adam Nelson","note":"Mad computer scientist, unfinished project collector, meme enjoyer. Posts mostly tech and memes and tech memes.I&#39;m self-hosting now! My last account was @arnelsonCurrent projects: Algorithmic RSS feed reader, easier Matrix-like chat protocol. Both so far unreleased.Backlog projects:- A multi-protocol Fediverse server (Tapir successor), unreleased- Ludwig, a Lemmy clone in C++ - https:\/\/github.com\/ar-nelson\/ludwig#WebDev \u00b7 #IndieGames \u00b7 #IndieDev \u00b7 #PixelArt \u00b7 #Scala \u00b7 #Typescript \u00b7 #Scheme \u00b7 #C \u00b7 #Cpp \u00b7 #CompSci \u00b7 #Linux \u00b7 #Nintendo (#Pokemon, #Mario, #Zelda) \u00b7 #PokemonTCGPocket \u00b7 #MechWarrior \/ #BattleTech \u00b7 #SciFi \u00b7 #INTP \u00b7 #Christian"}},"content":"<p><a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\" rel=\"nofollow\">@mark<\/a> I've been thinking about this a lot while designing Fediverse projects. One idea I had a while ago, while writing FEP-fffd[1], was to upload each public post to IPFS and then add a content-addressed IPFS link as a FEP-fffd proxy of the post. Then followers who receive these posts could mirror the IPFS version of the post, making it highly available.<\/p><p>But it still has a few problems (besides the fact that I never implemented it):<\/p><ol><li><p>Does anyone still use IPFS outside of crypto? Projects that used it years ago, like Dhall[2], abandoned it because it was too unreliable. Is there a modern alternative?<\/p><\/li><li><p>Other instances would still have to fetch the full Activity to see the IPFS proxy URL. Fixing this would require special behavior from compatible ActivityPub servers, like including proxy URLs in Announces, reply lists, etc.<\/p><\/li><li><p>Content-addressing doesn't play well with edits (this is why Nostr still doesn't support editing) and there's no guarantee that all nodes mirroring the IPFS data will respect Deletes.<\/p><\/li><\/ol><p>[1] <a href=\"https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/fffd\/fep-fffd.md\" rel=\"nofollow\">https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/fffd\/fep-fffd.md<\/a><br \/>[2] <a href=\"https:\/\/dhall-lang.org\/\" rel=\"nofollow\">https:\/\/dhall-lang.org\/<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/toot.nels.onl\/users\/adam\/statuses\/114694167716753655","object":{"id":"https:\/\/toot.nels.onl\/users\/adam\/statuses\/114694167716753655","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.fixermark.com\/@mark\" class=\"u-url mention\" rel=\"nofollow\">@mark<\/a> I've been thinking about this a lot while designing Fediverse projects. One idea I had a while ago, while writing FEP-fffd[1], was to upload each public post to IPFS and then add a content-addressed IPFS link as a FEP-fffd proxy of the post. Then followers who receive these posts could mirror the IPFS version of the post, making it highly available.<\/p><p>But it still has a few problems (besides the fact that I never implemented it):<\/p><ol><li><p>Does anyone still use IPFS outside of crypto? Projects that used it years ago, like Dhall[2], abandoned it because it was too unreliable. Is there a modern alternative?<\/p><\/li><li><p>Other instances would still have to fetch the full Activity to see the IPFS proxy URL. Fixing this would require special behavior from compatible ActivityPub servers, like including proxy URLs in Announces, reply lists, etc.<\/p><\/li><li><p>Content-addressing doesn't play well with edits (this is why Nostr still doesn't support editing) and there's no guarantee that all nodes mirroring the IPFS data will respect Deletes.<\/p><\/li><\/ol><p>[1] <a href=\"https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/fffd\/fep-fffd.md\" rel=\"nofollow\">https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/fffd\/fep-fffd.md<\/a><br \/>[2] <a href=\"https:\/\/dhall-lang.org\/\" rel=\"nofollow\">https:\/\/dhall-lang.org\/<\/a><\/p>","url":"https:\/\/toot.nels.onl\/@adam\/114694167716753655","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.fixermark.com\/users\/mark\/statuses\/114694104538355509","url":"https:\/\/mastodon.fixermark.com\/@mark\/114694104538355509"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.fixermark.com\/users\/mark"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10224358","source":"ActivityPub"}},"published":"2025-06-16T19:33:14+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/toot.nels.onl\/@adam\/114694167716753655"},{"actor":{"id":"https:\/\/mitra.social\/users\/silverpill","displayName":"silverpill","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/85321-original-tmp20230105183734.webp","rel":"avatar","type":"image\/webp","width":800,"height":800},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-96-20230105202806.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-48-20230105202807.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/85321-24-20230105202807.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"85321"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/85321-96-20230105202806.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance.","url":"https:\/\/mitra.social\/users\/silverpill","portablecontacts_net":{"preferredUsername":"silverpill","displayName":"silverpill","note":"Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance."}},"content":"<p><a class=\"u-url mention\" href=\"https:\/\/toot.nels.onl\/@adam\">@adam<\/a> <a class=\"u-url mention\" href=\"https:\/\/mastodon.fixermark.com\/@mark\">@mark<\/a> I think IPFS is not necessary, as we already have a storage network with 30000 nodes, right here. The problem can be solved with signatures and digests alone.<\/p><p>In FEP-ef61, both objects and media are portable and can be served by multiple servers (but the proposed media portability solution is not proven yet):<\/p><p><a href=\"https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/ef61\/fep-ef61.md\">https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/ef61\/fep-ef61.md<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-10-19:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mitra.social\/objects\/01977a3a-d043-f84b-14cd-3d5a5e451b5a","object":{"id":"https:\/\/mitra.social\/objects\/01977a3a-d043-f84b-14cd-3d5a5e451b5a","objectType":"note","content":"<p><a class=\"u-url mention\" href=\"https:\/\/toot.nels.onl\/@adam\">@adam<\/a> <a class=\"u-url mention\" href=\"https:\/\/mastodon.fixermark.com\/@mark\">@mark<\/a> I think IPFS is not necessary, as we already have a storage network with 30000 nodes, right here. The problem can be solved with signatures and digests alone.<\/p><p>In FEP-ef61, both objects and media are portable and can be served by multiple servers (but the proposed media portability solution is not proven yet):<\/p><p><a href=\"https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/ef61\/fep-ef61.md\">https:\/\/codeberg.org\/fediverse\/fep\/src\/branch\/main\/fep\/ef61\/fep-ef61.md<\/a><\/p>","url":"https:\/\/mitra.social\/objects\/01977a3a-d043-f84b-14cd-3d5a5e451b5a","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/toot.nels.onl\/users\/adam\/statuses\/114694167716753655","url":"https:\/\/toot.nels.onl\/@adam\/114694167716753655"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.fixermark.com\/users\/mark"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/toot.nels.onl\/users\/adam"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-16:objectType=thread:nonce=1146770ad8a1f4cc","notice_info":{"local_id":"10224359","source":"ActivityPub"}},"published":"2025-06-16T19:33:13+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mitra.social\/objects\/01977a3a-d043-f84b-14cd-3d5a5e451b5a"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/5210973","rel":"alternate","type":"text\/html"}]}