{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":18,"items":[{"actor":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth","displayName":"Bruce Elrick","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/113883-original-tmp20251221172838.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-48-20251221212913.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-24-20251221212913.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"113883"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;","url":"https:\/\/cosocial.ca\/@virtuous_sloth","portablecontacts_net":{"preferredUsername":"virtuous_sloth","displayName":"Bruce Elrick","note":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;"}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a> Obviously I hadn't done this yet. But I see you switched the instructions to use pipx and I also see that the name there is the full activitypub-cli so I guess you had to register something somewhere. Thanks!<\/p><p>So the install works and then I try my cosocial.ca account and, of course (in retrospect), it doesn't work because Mastodon doesn't implement the AP C2S API. I knew this but didn't have it in my brain in a form that would have made it obvious when looking at your code. LoL.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116211564432599340","object":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116211564432599340","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a> Obviously I hadn't done this yet. But I see you switched the instructions to use pipx and I also see that the name there is the full activitypub-cli so I guess you had to register something somewhere. Thanks!<\/p><p>So the install works and then I try my cosocial.ca account and, of course (in retrospect), it doesn't work because Mastodon doesn't implement the AP C2S API. I knew this but didn't have it in my brain in a form that would have made it obvious when looking at your code. LoL.<\/p>","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116211564432599340","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194754508808349","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194754508808349"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/evan"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12274874","source":"ActivityPub"}},"published":"2026-03-11T17:16:18+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116211564432599340"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@virtuous_sloth\" class=\"u-url mention\">@virtuous_sloth<\/a> I posted about this! I should have tagged you.<\/p><p><a href=\"https:\/\/socialwebfoundation.org\/2026\/03\/10\/ap-the-activitypub-api-command-line-client\/\" rel=\"nofollow\">https:\/\/socialwebfoundation.org\/2026\/03\/10\/ap-the-activitypub-api-command-line-client\/<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116211670215823075","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116211670215823075","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@virtuous_sloth\" class=\"u-url mention\">@virtuous_sloth<\/a> I posted about this! I should have tagged you.<\/p><p><a href=\"https:\/\/socialwebfoundation.org\/2026\/03\/10\/ap-the-activitypub-api-command-line-client\/\" rel=\"nofollow\">https:\/\/socialwebfoundation.org\/2026\/03\/10\/ap-the-activitypub-api-command-line-client\/<\/a><\/p>","url":"https:\/\/cosocial.ca\/@evan\/116211670215823075","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116211564432599340","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116211564432599340"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/virtuous_sloth"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12274875","source":"ActivityPub"}},"published":"2026-03-11T17:16:16+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116211670215823075"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth","displayName":"Bruce Elrick","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/113883-original-tmp20251221172838.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-48-20251221212913.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-24-20251221212913.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"113883"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;","url":"https:\/\/cosocial.ca\/@virtuous_sloth","portablecontacts_net":{"preferredUsername":"virtuous_sloth","displayName":"Bruce Elrick","note":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;"}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a> Will do.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194754508808349","object":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194754508808349","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a> Will do.<\/p>","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194754508808349","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194747964992098","url":"https:\/\/cosocial.ca\/@evan\/116194747964992098"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/evan"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257843","source":"ActivityPub"}},"published":"2026-03-08T17:35:09+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194754508808349"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth","displayName":"Bruce Elrick","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/113883-original-tmp20251221172838.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-48-20251221212913.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-24-20251221212913.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"113883"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;","url":"https:\/\/cosocial.ca\/@virtuous_sloth","portablecontacts_net":{"preferredUsername":"virtuous_sloth","displayName":"Bruce Elrick","note":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;"}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a><br \/>Hey Evan... seeing such a nice CLI for your 'ap' project in its README..md, I decided to try playing with it but the setup tries to open a file called Pipfile which does not exist:<\/p><p>```shell<br \/>$ rg Pipfile<br \/>setup.py<br \/>4:# Function to read dependencies from Pipfile<br \/>8:    pipfile_data = toml.load('Pipfile')<br \/>$ find . -name Pipfile<br \/>$<br \/>```<\/p><p>This was after hitting several errors where I had to figure out which OS python package to install, including python3-setuptools, python3-toml, and pipenv.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194717336488435","object":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194717336488435","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a><br \/>Hey Evan... seeing such a nice CLI for your 'ap' project in its README..md, I decided to try playing with it but the setup tries to open a file called Pipfile which does not exist:<\/p><p>```shell<br \/>$ rg Pipfile<br \/>setup.py<br \/>4:# Function to read dependencies from Pipfile<br \/>8:    pipfile_data = toml.load('Pipfile')<br \/>$ find . -name Pipfile<br \/>$<br \/>```<\/p><p>This was after hitting several errors where I had to figure out which OS python package to install, including python3-setuptools, python3-toml, and pipenv.<\/p>","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194717336488435","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194570191063953","url":"https:\/\/cosocial.ca\/@evan\/116194570191063953"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/evan"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257825","source":"ActivityPub"}},"published":"2026-03-08T17:33:08+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194717336488435"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth","displayName":"Bruce Elrick","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/113883-original-tmp20251221172838.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-48-20251221212913.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/113883-24-20251221212913.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"113883"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/113883-96-20251221212913.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;","url":"https:\/\/cosocial.ca\/@virtuous_sloth","portablecontacts_net":{"preferredUsername":"virtuous_sloth","displayName":"Bruce Elrick","note":"There are always alternatives, not &quot;there is no alternative&quot;. Believer in the Politics of Care.Married to a wonderful wife with with two adult sons, living in Calgary. I like getting out on my bike. I care about social justice.Unemployed or semi-retired? I would actually love to work (part time? consultation?) with purpose.Ph.D. in physics and nearly 28 year career in IT.&quot;Debts that cannot be paid will not be paid.&quot;&quot;The purpose of a system is what it does.&quot;"}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a> I'm not a developer but I am used to seeing a requirements.txt, creating a venv, and installing dependencies. Also seen that for standalone Python apps using pipx or uv, but don't know enough Python to figure out what the intent is in the setup or why it is expecting a Pipfile that isn't there or why it doesn't get generated if that's what's supposed to happen.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194733609408972","object":{"id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194733609408972","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\">@evan<\/a> I'm not a developer but I am used to seeing a requirements.txt, creating a venv, and installing dependencies. Also seen that for standalone Python apps using pipx or uv, but don't know enough Python to figure out what the intent is in the setup or why it is expecting a Pipfile that isn't there or why it doesn't get generated if that's what's supposed to happen.<\/p>","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194733609408972","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194717336488435","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194717336488435"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/evan"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257826","source":"ActivityPub"}},"published":"2026-03-08T17:33:07+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194733609408972"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@virtuous_sloth\" class=\"u-url mention\">@virtuous_sloth<\/a> yeah, I switched to a new system called Poetry, which fixes some of these. Want to add a bug report, and I will try to get to it this week? I have some other work to do on the code anyway.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194747964992098","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194747964992098","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@virtuous_sloth\" class=\"u-url mention\">@virtuous_sloth<\/a> yeah, I switched to a new system called Poetry, which fixes some of these. Want to add a bug report, and I will try to get to it this week? I have some other work to do on the code anyway.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194747964992098","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/virtuous_sloth\/statuses\/116194733609408972","url":"https:\/\/cosocial.ca\/@virtuous_sloth\/116194733609408972"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/virtuous_sloth"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257827","source":"ActivityPub"}},"published":"2026-03-08T17:33:06+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194747964992098"},{"actor":{"id":"https:\/\/infosec.exchange\/users\/JessTheUnstill","displayName":"Jess\ud83d\udc7e","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/67643-original-tmp20241221093425.webp","rel":"avatar","type":"image\/webp","width":336,"height":336},{"url":"https:\/\/gnusocial.jp\/avatar\/67643-96-20241221173951.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/67643-48-20241221111024.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/67643-24-20241221212052.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"67643"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/67643-96-20241221173951.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Queer \ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0fCybersecurityNerdNeurodiverseI am a woman, but I&#39;m CERTAINLY not a lady.I don&#39;t actually have zero followers, they&#39;re just intentionally hidden. (Note, it will still show as a non-zero number on some instances due to weird cache effects or software not acknowledging GlitchSoc saying it&#39;s -1)","url":"https:\/\/infosec.exchange\/@JessTheUnstill","portablecontacts_net":{"preferredUsername":"JessTheUnstill","displayName":"Jess\ud83d\udc7e","note":"Queer \ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0fCybersecurityNerdNeurodiverseI am a woman, but I&#39;m CERTAINLY not a lady.I don&#39;t actually have zero followers, they&#39;re just intentionally hidden. (Note, it will still show as a non-zero number on some instances due to weird cache effects or software not acknowledging GlitchSoc saying it&#39;s -1)"}},"content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\" rel=\"nofollow\">@evan<\/a> <a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\" rel=\"nofollow\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\" rel=\"nofollow\">@laurenshof<\/a> Though the Mastodon maintainers have been pretty resistant to outside PRs from what I've seen<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/infosec.exchange\/users\/JessTheUnstill\/statuses\/116194656793157734","object":{"id":"https:\/\/infosec.exchange\/users\/JessTheUnstill\/statuses\/116194656793157734","objectType":"note","content":"<p><a href=\"https:\/\/cosocial.ca\/@evan\" class=\"u-url mention\" rel=\"nofollow\">@evan<\/a> <a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\" rel=\"nofollow\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\" rel=\"nofollow\">@laurenshof<\/a> Though the Mastodon maintainers have been pretty resistant to outside PRs from what I've seen<\/p>","url":"https:\/\/infosec.exchange\/@JessTheUnstill\/116194656793157734","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194617302140156","url":"https:\/\/cosocial.ca\/@evan\/116194617302140156"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/cosocial.ca\/users\/evan"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257752","source":"ActivityPub"}},"published":"2026-03-08T17:20:47+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/infosec.exchange\/@JessTheUnstill\/116194656793157734"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/infosec.exchange\/@JessTheUnstill\" class=\"u-url mention\">@JessTheUnstill<\/a> <a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> I think they have really high standards for submissions, but they're not insuperable.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194700970431416","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194700970431416","objectType":"note","content":"<p><a href=\"https:\/\/infosec.exchange\/@JessTheUnstill\" class=\"u-url mention\">@JessTheUnstill<\/a> <a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> I think they have really high standards for submissions, but they're not insuperable.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194700970431416","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/infosec.exchange\/users\/JessTheUnstill\/statuses\/116194656793157734","url":"https:\/\/infosec.exchange\/@JessTheUnstill\/116194656793157734"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/infosec.exchange\/users\/JessTheUnstill"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257753","source":"ActivityPub"}},"published":"2026-03-08T17:20:46+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194700970431416"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> we could also implement a fa\u00e7ade API server.<\/p><p>It could provide the ActivityPub API as an interface to clients, and use the Mastodon API as an interface to the server. The fa\u00e7ade would just provide a thin translation layer between the two.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194628321171599","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194628321171599","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> we could also implement a fa\u00e7ade API server.<\/p><p>It could provide the ActivityPub API as an interface to clients, and use the Mastodon API as an interface to the server. The fa\u00e7ade would just provide a thin translation layer between the two.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194628321171599","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194617302140156","url":"https:\/\/cosocial.ca\/@evan\/116194617302140156"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257670","source":"ActivityPub"}},"published":"2026-03-08T17:02:16+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194628321171599"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> we also don't have to wait for the Mastodon team to implement the ActivityPub API to use it with Mastodon. It could be implemented by an external group and merged into Mastodon. It could live in a fork like Hometown.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194617302140156","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194617302140156","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> we also don't have to wait for the Mastodon team to implement the ActivityPub API to use it with Mastodon. It could be implemented by an external group and merged into Mastodon. It could live in a fork like Hometown.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194617302140156","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194597430495129","url":"https:\/\/cosocial.ca\/@evan\/116194597430495129"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257657","source":"ActivityPub"}},"published":"2026-03-08T16:59:54+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194617302140156"},{"actor":{"id":"https:\/\/social.coop\/users\/cwebber","displayName":"Christine Lemmer-Webber","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/295917-original-tmp20241114200524.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/295917-96-20241114200524.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/295917-48-20241114200524.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/295917-24-20241114200524.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"295917"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/295917-96-20241114200524.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Executive Director of @spritely (but this is a personal account). I&#39;m here to fix the Internet.ActivityPub co-author, co-host of @fossandcrafts@octodon.social. Lisp sourceress, decentralized network architect, occasional Blender artist. she\/her https:\/\/dustycloud.org\/Recently moved here from @cwebber@octodon.socialLovely banner sketch by @juliaro https:\/\/mastodon.art\/@juliaro\/114489465896761273","url":"https:\/\/social.coop\/@cwebber","portablecontacts_net":{"preferredUsername":"cwebber","displayName":"Christine Lemmer-Webber","note":"Executive Director of @spritely (but this is a personal account). I&#39;m here to fix the Internet.ActivityPub co-author, co-host of @fossandcrafts@octodon.social. Lisp sourceress, decentralized network architect, occasional Blender artist. she\/her https:\/\/dustycloud.org\/Recently moved here from @cwebber@octodon.socialLovely banner sketch by @juliaro https:\/\/mastodon.art\/@juliaro\/114489465896761273"}},"content":"RT @cwebber @cwebber @laurenshof There's also no reason whatsoever that any server needs to drop its support for the Mastodon API to implement the ActivityPub API. They're not mutually exclusive. Mastodon already implements almost all of the read-only part of the ActivityPub API; they really don't need to do a lot get the read-write portion working.","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/social.coop\/users\/cwebber\/statuses\/116194612782655671\/activity","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194583943110346","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a>  I don't think it's necessary to get feature parity with the Mastodon API to make this take-off happen.<\/p><p>The most interesting API clients won't be clones of Elk or Tusky; they'll be implementing games, new social interactions, IOT, events, and so on.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194583943110346","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,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257651","source":"ActivityPub","repeat_of":"12257610"}},"published":"2026-03-08T16:58:23+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"title":"cwebber repeated a notice by evan","verb":"share","url":"https:\/\/social.coop\/users\/cwebber\/statuses\/116194612782655671\/activity"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> There's also no reason whatsoever that any server needs to drop its support for the Mastodon API to implement the ActivityPub API. They're not mutually exclusive. Mastodon already implements almost all of the read-only part of the ActivityPub API; they really don't need to do a lot get the read-write portion working.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194597430495129","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194597430495129","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> There's also no reason whatsoever that any server needs to drop its support for the Mastodon API to implement the ActivityPub API. They're not mutually exclusive. Mastodon already implements almost all of the read-only part of the ActivityPub API; they really don't need to do a lot get the read-write portion working.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194597430495129","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194583943110346","url":"https:\/\/cosocial.ca\/@evan\/116194583943110346"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257631","source":"ActivityPub"}},"published":"2026-03-08T16:55:16+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194597430495129"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a>  I don't think it's necessary to get feature parity with the Mastodon API to make this take-off happen.<\/p><p>The most interesting API clients won't be clones of Elk or Tusky; they'll be implementing games, new social interactions, IOT, events, and so on.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194583943110346","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194583943110346","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a>  I don't think it's necessary to get feature parity with the Mastodon API to make this take-off happen.<\/p><p>The most interesting API clients won't be clones of Elk or Tusky; they'll be implementing games, new social interactions, IOT, events, and so on.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194583943110346","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194574457121863","url":"https:\/\/cosocial.ca\/@evan\/116194574457121863"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257610","source":"ActivityPub"}},"published":"2026-03-08T16:50:58+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194583943110346"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> availability on more servers will unlock more opportunities for clients, and so on.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194574457121863","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194574457121863","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> availability on more servers will unlock more opportunities for clients, and so on.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194574457121863","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194570191063953","url":"https:\/\/cosocial.ca\/@evan\/116194570191063953"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257594","source":"ActivityPub"}},"published":"2026-03-08T16:48:32+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194574457121863"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> <\/p><p>I also think adoption of the ActivityPub API will follow a ratchet pattern between servers and clients.<\/p><p>We're already seeing a number of server implementations appear.<\/p><p>This is making clients like <a href=\"https:\/\/checkin.swf.pub\/\" rel=\"nofollow\">https:\/\/checkin.swf.pub\/<\/a> or <a href=\"https:\/\/github.com\/evanp\/ap\" rel=\"nofollow\">https:\/\/github.com\/evanp\/ap<\/a> possible and interesting. <\/p><p>As these clients increase in functionality and popularity, we're going to see pressure by users on more \"mainstream\" servers like Mastodon to implement the ActivityPub API.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194570191063953","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194570191063953","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> <\/p><p>I also think adoption of the ActivityPub API will follow a ratchet pattern between servers and clients.<\/p><p>We're already seeing a number of server implementations appear.<\/p><p>This is making clients like <a href=\"https:\/\/checkin.swf.pub\/\" rel=\"nofollow\">https:\/\/checkin.swf.pub\/<\/a> or <a href=\"https:\/\/github.com\/evanp\/ap\" rel=\"nofollow\">https:\/\/github.com\/evanp\/ap<\/a> possible and interesting. <\/p><p>As these clients increase in functionality and popularity, we're going to see pressure by users on more \"mainstream\" servers like Mastodon to implement the ActivityPub API.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194570191063953","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194548221260948","url":"https:\/\/cosocial.ca\/@evan\/116194548221260948"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257589","source":"ActivityPub"}},"published":"2026-03-08T16:47:29+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194570191063953"},{"actor":{"id":"https:\/\/cosocial.ca\/users\/evan","displayName":"Evan Prodromou","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/77066-original-tmp20260418043002.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-48-20260418043032.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/77066-24-20260418043032.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"77066"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/77066-96-20260418043032.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais.","url":"https:\/\/cosocial.ca\/@evan","portablecontacts_net":{"preferredUsername":"evan","displayName":"Evan Prodromou","note":"He\/him. Board member at CoSocial.ca.Research Director, Social Web Foundation.Author of &quot;ActivityPub: Programming for the Social Web&quot; from O&#39;Reilly Media.Founder of Wikitravel, StatusNet, identi.ca, Fuzzy.ai.Creator of pump.io. Co-creator of GNU social.Former co-chair of the Social Web Working Group at W3C. Co-author of Activity Streams 2.0. Co-author of ActivityPub. Co-author of OStatus.Grad student in CS at Georgia Tech.Greek, Arab, Palestinian, American, Canadian, Montr\u00e9alais."}},"content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> I think one thing we'll have to do in the near term is dual-stack on the API client side. Targeted apps with narrow functionality, like a share button, could support both APIs. It's relatively easy to discover which API(s) a server supports.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194548221260948","object":{"id":"https:\/\/cosocial.ca\/users\/evan\/statuses\/116194548221260948","objectType":"note","content":"<p><a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> <a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> I think one thing we'll have to do in the near term is dual-stack on the API client side. Targeted apps with narrow functionality, like a share button, could support both APIs. It's relatively easy to discover which API(s) a server supports.<\/p>","url":"https:\/\/cosocial.ca\/@evan\/116194548221260948","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/social.coop\/users\/cwebber\/statuses\/116179532077265310","url":"https:\/\/social.coop\/@cwebber\/116179532077265310"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12257567","source":"ActivityPub"}},"published":"2026-03-08T16:41:53+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/cosocial.ca\/@evan\/116194548221260948"},{"actor":{"id":"https:\/\/social.coop\/users\/django","displayName":"django","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/9562-original-tmp20220910105927.webp","rel":"avatar","type":"image\/webp","width":267,"height":267},{"url":"https:\/\/gnusocial.jp\/avatar\/9562-96-20220910105927.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/9562-48-20220910105927.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/9562-24-20220910105927.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"9562"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/9562-96-20220910105927.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"developer, dadcooperatives, governance, anarchism, feminism, queer theory, anti-racism, music, languagesMontr\u00e9alais en exile \/ \u00c9ireannach\ud83d\udccd#Edmonton \/ Amiskwaciw\u00e2skahikan \/ \u140a\u14a5\u1422\u1472\u1427\u148b\u140b\u1427\u1422\u1472\u1426\u1403\u1472\u1423#nobot #nobots #noAI","url":"https:\/\/social.coop\/@django","portablecontacts_net":{"preferredUsername":"django","displayName":"django","note":"developer, dadcooperatives, governance, anarchism, feminism, queer theory, anti-racism, music, languagesMontr\u00e9alais en exile \/ \u00c9ireannach\ud83d\udccd#Edmonton \/ Amiskwaciw\u00e2skahikan \/ \u140a\u14a5\u1422\u1472\u1427\u148b\u140b\u1427\u1422\u1472\u1426\u1403\u1472\u1423#nobot #nobots #noAI"}},"content":"<p><a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> <a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> nice! <\/p><p>One push back I would give about Eugen\u2019s quote is about the number of api endpoints\u2026 <\/p><p>I haven\u2019t checked the exact number mastodon has added since 2019, but I\u2019m fairly certain it\u2019s more than those needed by C2S (inbox, outbox, proxy, uploadMedia)!<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/social.coop\/users\/django\/statuses\/116180023486764916","object":{"id":"https:\/\/social.coop\/users\/django\/statuses\/116180023486764916","objectType":"note","content":"<p><a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> <a href=\"https:\/\/social.coop\/@cwebber\" class=\"u-url mention\">@cwebber<\/a> nice! <\/p><p>One push back I would give about Eugen\u2019s quote is about the number of api endpoints\u2026 <\/p><p>I haven\u2019t checked the exact number mastodon has added since 2019, but I\u2019m fairly certain it\u2019s more than those needed by C2S (inbox, outbox, proxy, uploadMedia)!<\/p>","url":"https:\/\/social.coop\/@django\/116180023486764916","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/social.coop\/users\/cwebber\/statuses\/116179532077265310","url":"https:\/\/social.coop\/@cwebber\/116179532077265310"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/social.coop\/users\/cwebber"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12241715","source":"ActivityPub"}},"published":"2026-03-06T03:08:10+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/social.coop\/@django\/116180023486764916"},{"actor":{"id":"https:\/\/social.coop\/users\/cwebber","displayName":"Christine Lemmer-Webber","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/295917-original-tmp20241114200524.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/295917-96-20241114200524.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/295917-48-20241114200524.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/295917-24-20241114200524.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"295917"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/295917-96-20241114200524.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Executive Director of @spritely (but this is a personal account). I&#39;m here to fix the Internet.ActivityPub co-author, co-host of @fossandcrafts@octodon.social. Lisp sourceress, decentralized network architect, occasional Blender artist. she\/her https:\/\/dustycloud.org\/Recently moved here from @cwebber@octodon.socialLovely banner sketch by @juliaro https:\/\/mastodon.art\/@juliaro\/114489465896761273","url":"https:\/\/social.coop\/@cwebber","portablecontacts_net":{"preferredUsername":"cwebber","displayName":"Christine Lemmer-Webber","note":"Executive Director of @spritely (but this is a personal account). I&#39;m here to fix the Internet.ActivityPub co-author, co-host of @fossandcrafts@octodon.social. Lisp sourceress, decentralized network architect, occasional Blender artist. she\/her https:\/\/dustycloud.org\/Recently moved here from @cwebber@octodon.socialLovely banner sketch by @juliaro https:\/\/mastodon.art\/@juliaro\/114489465896761273"}},"content":"<p><a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> writes an interesting article about Mastodon's client API vs the ActivityPub C2S API <a href=\"https:\/\/connectedplaces.online\/reports\/fr156-share-where\/\" rel=\"nofollow\">https:\/\/connectedplaces.online\/reports\/fr156-share-where\/<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-13:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/social.coop\/users\/cwebber\/statuses\/116179532077265310","object":{"id":"https:\/\/social.coop\/users\/cwebber\/statuses\/116179532077265310","objectType":"note","content":"<p><a href=\"https:\/\/indieweb.social\/@laurenshof\" class=\"u-url mention\">@laurenshof<\/a> writes an interesting article about Mastodon's client API vs the ActivityPub C2S API <a href=\"https:\/\/connectedplaces.online\/reports\/fr156-share-where\/\" rel=\"nofollow\">https:\/\/connectedplaces.online\/reports\/fr156-share-where\/<\/a><\/p>","url":"https:\/\/social.coop\/@cwebber\/116179532077265310","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,2026-03-06:objectType=thread:nonce=92e99f72d955205c","notice_info":{"local_id":"12241204","source":"ActivityPub"}},"published":"2026-03-06T01:03:09+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/social.coop\/@cwebber\/116179532077265310"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/6211194","rel":"alternate","type":"text\/html"}]}