<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>Terracrypt</title><id>https://www.terracrypt.net/feeds/tags/activitypub.xml</id><subtitle>Tag: activitypub</subtitle><updated>2026-05-17T13:27:32Z</updated><link href="https://www.terracrypt.net/feeds/tags/activitypub.xml" rel="self" /><link href="https://www.terracrypt.net" /><entry><title>March December Adventure Wrap-Up</title><id>https://www.terracrypt.net/posts/march-da-2026-final.html</id><author><name>Jonathan Frederickson</name><email>jonathan@terracrypt.net</email></author><updated>2026-03-24T08:41:00Z</updated><link href="https://www.terracrypt.net/posts/march-da-2026-final.html" rel="alternate" /><content type="html">&lt;p&gt;Well, I didn't get as much done this week as I'd hoped, but here's where things ended up.&lt;/p&gt;&lt;p&gt;I spent most of the (somewhat limited) spare time I had to work on projects in the last week on understanding both the architecture of the mandy prototype and ActivityPub itself. I like to write tests to check my understanding of how things work, so I got started on adding &lt;a href=&quot;https://codeberg.org/jfred/mandy/commit/35ac57f9b230671f028bc8d73a1bbd2e96c33132&quot;&gt;a test for the unmarshaller&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;That's as far as I got this week, though. I got tripped up for a bit by the fact that SRFI-64 test output displays strings in a &lt;code&gt;test-equal&lt;/code&gt; form without their enclosing quotes. I figured that the alist values were strings, but I didn't realize initially that the alist keys were as well. So there was a bit of &amp;quot;those look equal, so why is my test still failing?&amp;quot; going on.&lt;/p&gt;&lt;p&gt;But I plan on continuing to poke at the codebase, and this challenge was a good motivator to get started doing so. I'd consider that a success. :)&lt;/p&gt;</content></entry><entry><title>Mandy hacking (March December Adventure day 1/2)</title><id>https://www.terracrypt.net/posts/march-da-2026-1.html</id><author><name>Jonathan Frederickson</name><email>jonathan@terracrypt.net</email></author><updated>2026-03-16T20:50:00Z</updated><link href="https://www.terracrypt.net/posts/march-da-2026-1.html" rel="alternate" /><content type="html">&lt;p&gt;It's the first day of &lt;a href=&quot;https://eli.li/december-adventure-march-2026&quot;&gt;March December Adventure&lt;/a&gt; (really the second day, but I was busy yesterday), and my goal for this week is to learn more about how Jessica Tallon's &lt;a href=&quot;https://spritely.institute/news/mandy-activitypub-on-goblins.html&quot;&gt;Mandy&lt;/a&gt; prototype works so that &lt;a href=&quot;https://community.spritely.institute/t/continuing-mandy-most-valuable-next-steps/806&quot;&gt;hopefully I can start contributing to it&lt;/a&gt;. This blog series is probably going to be a bit of a rambly stream-of-consciousness as a result as I try to reason about it. (Sorry not sorry.)&lt;/p&gt;&lt;p&gt;There's a TODO in the code around &lt;a href=&quot;https://codeberg.org/spritely/mandy/src/commit/20e665216be6ccae9410ea246c5cb4bf3fdfaf43/mandy/activitypub/objects.scm#L76&quot;&gt;actually supporting all the AS2 attributes&lt;/a&gt; since the prototype didn't, so I think that's what I'll start with since it seems like low-hanging fruit. I'm admittedly largely learning ActivityPub and ActivityStreams as I do this, but it looks at first glance like most of what I need to start adding the rest is already here. Some of the properties that still need to be added (e.g. &lt;code&gt;replies&lt;/code&gt; on &lt;a href=&quot;https://www.w3.org/TR/activitystreams-vocabulary/#dfn-object&quot;&gt;Objects&lt;/a&gt;) are &lt;code&gt;Collection&lt;/code&gt;s (unlike the currently supported params which are all strings), but there's already some support for collections that gets used when you spawn AP actors directly as Goblins actors so this seems like it should be doable. But I guess I'll really find out when I give it a try soon. :)&lt;/p&gt;&lt;p&gt;(EDIT 3/17: I've since realized that I was misunderstanding how the marshalling/unmarshalling worked a little bit... more to dig into, haha :P)&lt;/p&gt;&lt;p&gt;I'm always impressed by how concise Goblins code can be for what it does. Granted it's a prototype, but there's still a lot going on in a small space.&lt;/p&gt;</content></entry><entry><title>Migrated the website for ActivityPub support</title><id>https://www.terracrypt.net/posts/ap-migration.html</id><author><name>Jonathan Frederickson</name><email>jonathan@terracrypt.net</email></author><updated>2024-12-10T21:55:00Z</updated><link href="https://www.terracrypt.net/posts/ap-migration.html" rel="alternate" /><content type="html">&lt;p&gt;Migrated the website back to a server I control so I can set the Content-Type header properly on ActivityPub objects. And it looks like that was enough for Mastodon to be able to pull up my profile!&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;/images/website-profile.png&quot; alt=&quot;This website showing up as a profile in the Mastodon UI&quot; /&gt;&lt;/p&gt;&lt;p&gt;So that's a nice start. I guess past this point it's a matter of:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Adding some of the missing metadata to make the profile look nice, and...&lt;/li&gt;&lt;li&gt;Building a separate daemon to actually handle ActivityPub follows and broadcasts. I assume I can have that daemon just periodically check my outbox for new posts and broadcast them to followers.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;But the static site part of this has all been pretty straightforward so far, which has been nice!&lt;/p&gt;</content></entry></feed>