<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-10-24T20:02:30Z</updated>
  <generator>https://nostr.now</generator>

  <title>Nostr notes by evan</title>
  <author>
    <name>evan</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.now/npub10c0ahywnza6y4pytk58fwvmzn64q2lskqcxswreqww7vc96dclgs45yacy.rss" />
  <link href="https://nostr.now/npub10c0ahywnza6y4pytk58fwvmzn64q2lskqcxswreqww7vc96dclgs45yacy" />
  <id>https://nostr.now/npub10c0ahywnza6y4pytk58fwvmzn64q2lskqcxswreqww7vc96dclgs45yacy</id>
  <icon>https://activitypub.space/assets/uploads/profile/uid-2/2-profileavatar-1756263131492.jpeg</icon>
  <logo>https://activitypub.space/assets/uploads/profile/uid-2/2-profileavatar-1756263131492.jpeg</logo>




  <entry>
    <id>https://nostr.now/nevent1qqsx4maacfhrphdnk0glxwwhe64mngwk0kjsxhk7wa6q4u78fg3uk2czyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazr57ncy</id>
    
      <title type="html">seekItem is a new spec for finding objects by id inside ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsx4maacfhrphdnk0glxwwhe64mngwk0kjsxhk7wa6q4u78fg3uk2czyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazr57ncy" />
    <content type="html">
      seekItem is a new spec for finding objects by id inside collections:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://swicg.github.io/activitypub-api/seekitem&#34;&gt;https://swicg.github.io/activitypub-api/seekitem&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It can help with catching up on a collection, or with determining membership in a collection. &lt;br/&gt;&lt;br/&gt;In our ActivityPub API Task Force meeting today, we decided to move this spec forward to CG-DRAFT status. That means that we intend to make it a CG-FINAL report, and we&amp;#39;re soliciting implementations and comments. &lt;br/&gt;&lt;br/&gt;I&amp;#39;ve implemented it twice on the server side, in activitypub-bot and onepage.pub. It was easy, since I already had internal functions for seeking items inside a collection with indexed lookup, so O(log N) complexity.&lt;br/&gt;&lt;br/&gt;I am working on using it on the client side; for example, confirming that if A follows B the B is in A&amp;#39;s following collection and A is in B&amp;#39;s followers collection. It&amp;#39;s a hassle with serial access, but I think it can be quite quick with seekItem.
    </content>
    <updated>2026-10-22T03:55:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyt7hycsgtf603g6xt4u5mcqyengvdxymzkyynypnfdk7a58ds37czyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhraz05ysqe</id>
    
      <title type="html">I added a FEP today: https://codeberg.org/fediverse/fep/pulls/945</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyt7hycsgtf603g6xt4u5mcqyengvdxymzkyynypnfdk7a58ds37czyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhraz05ysqe" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvrr3ps2l9qxcczvdj2xxavhfz9r7scn3gk6sdttdfrcpa2tdnw4cnudznu&#39;&gt;nevent1q…dznu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I added a FEP today: &lt;a href=&#34;https://codeberg.org/fediverse/fep/pulls/945&#34;&gt;https://codeberg.org/fediverse/fep/pulls/945&lt;/a&gt;
    </content>
    <updated>2026-10-04T17:05:23Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvrr3ps2l9qxcczvdj2xxavhfz9r7scn3gk6sdttdfrcpa2tdnw4czyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazzq7jl7</id>
    
      <title type="html">Would it be helpful to add an (optional) logical clock mechanism ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvrr3ps2l9qxcczvdj2xxavhfz9r7scn3gk6sdttdfrcpa2tdnw4czyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazzq7jl7" />
    <content type="html">
      Would it be helpful to add an (optional) logical clock mechanism to ActivityPub? &lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Logical_clock&#34;&gt;https://en.wikipedia.org/wiki/Logical_clock&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;For example, to handle Delete before Create or Undo before the activity being undone?
    </content>
    <updated>2026-09-03T22:55:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyxyp2qa5acvd0yezdw9h3k6t0clpeeqr2rygv0fxzzs8k6zu353szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazecl3kh</id>
    
      <title type="html">One of the big pain points for ActivityPub developers is ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyxyp2qa5acvd0yezdw9h3k6t0clpeeqr2rygv0fxzzs8k6zu353szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazecl3kh" />
    <content type="html">
      One of the big pain points for ActivityPub developers is supporting HTTP Signature in their servers. The Fediverse uses an out-dated draft standard, [draft cavage 12](&lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12&#34;&gt;https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12&lt;/a&gt;). There&amp;#39;s a helpful [ActivityPub and HTTP Signatures](&lt;a href=&#34;https://swicg.github.io/activitypub-http-signature/&#34;&gt;https://swicg.github.io/activitypub-http-signature/&lt;/a&gt;) report from the SocialCG, but it&amp;#39;s still kind of a slog.&lt;br/&gt;&lt;br/&gt;Some server software has begun the pivot to the release version using [double-knocking](&lt;a href=&#34;https://swicg.github.io/activitypub-http-signature/#how-to-upgrade-supported-versions&#34;&gt;https://swicg.github.io/activitypub-http-signature/#how-to-upgrade-supported-versions&lt;/a&gt;), [capability discovery](&lt;a href=&#34;https://codeberg.org/fediverse/fep/src/branch/main/fep/844e/fep-844e.md&#34;&gt;https://codeberg.org/fediverse/fep/src/branch/main/fep/844e/fep-844e.md&lt;/a&gt;), or something else.&lt;br/&gt;&lt;br/&gt;To track support for RFC 9421, I added an [adoption matrix](&lt;a href=&#34;https://swicg.github.io/activitypub-http-signature/RFC9421&#34;&gt;https://swicg.github.io/activitypub-http-signature/RFC9421&lt;/a&gt;) to the ActivityPub HTTP Signature repo. I grabbed all the [software listed on FediDB](&lt;a href=&#34;https://fedidb.com/software/&#34;&gt;https://fedidb.com/software/&lt;/a&gt;), and laid out a matrix of whether it accepts RFC 9421 signatures for GET and POST or sends RFC 9421 for GET and POST. I also included a way to find relevant bug-tracker issues.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://swicg.github.io/activitypub-http-signature/RFC9421&#34;&gt;https://swicg.github.io/activitypub-http-signature/RFC9421&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It would be a huge help to get some more eyes and data on this adoption matrix. If you know about a Fediverse server package&amp;#39;s support for RFC 9421, including your own, please make a PR against the RFC9421.md file in the [swicg/activitypub-http-signature](&lt;a href=&#34;https://github.com/swicg/activitypub-http-signature&#34;&gt;https://github.com/swicg/activitypub-http-signature&lt;/a&gt;) repo.&lt;br/&gt;&lt;br/&gt;Thanks!
    </content>
    <updated>2026-08-16T18:11:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0mzg9d6x3ha2jy70v39gf56efwcch0hjnc0ewhnaz0t3hnykxluqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazv7wcn9</id>
    
      <title type="html">I wrote up some recommendations about implementing paginated ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0mzg9d6x3ha2jy70v39gf56efwcch0hjnc0ewhnaz0t3hnykxluqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazv7wcn9" />
    <content type="html">
      I wrote up some recommendations about implementing paginated collections.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://ghost.evanp.me/implementing-pagination-for-activitypub-collections/&#34;&gt;https://ghost.evanp.me/implementing-pagination-for-activitypub-collections/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;tl;dr (read the full article for the whys):&lt;br/&gt;&lt;br/&gt;* Have big pages – 128 or 256 items per page.&lt;br/&gt;* Inline the items for small collections.&lt;br/&gt;* If you&amp;#39;re already using offset pagination, change to cursor pagination ASAP.&lt;br/&gt;* If you&amp;#39;re implementing from scratch, consider using bucket pagination.
    </content>
    <updated>2026-08-15T22:10:44Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs84rze68f44n445nmc4q3gypdge09sp635ueuyfmpkg2c07drg2dczyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazwshhsw</id>
    
      <title type="html">This is a discussion thread for an open issue on GitHub: ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs84rze68f44n445nmc4q3gypdge09sp635ueuyfmpkg2c07drg2dczyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazwshhsw" />
    <content type="html">
      This is a discussion thread for an open issue on GitHub:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/swicg/activitypub-e2ee/issues/83&#34;&gt;https://github.com/swicg/activitypub-e2ee/issues/83&lt;/a&gt;
    </content>
    <updated>2026-07-28T21:12:27Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0k3uau37zad8cl743jq6fc7l8hf2ggftnncr37uklrp6939qj55szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhraz7kp5jt</id>
    
      <title type="html">We had a meeting of the E2EE Task Force. One participant asked ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0k3uau37zad8cl743jq6fc7l8hf2ggftnncr37uklrp6939qj55szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhraz7kp5jt" />
    <content type="html">
      We had a meeting of the E2EE Task Force. One participant asked for a way to participate in discussions without using GitHub. I think having a topic here on activitypub.space would be a great way to do that, and the task force agreed (notes here: &lt;a href=&#34;https://pad.w3.org/p/ActivityPub_E2EE_Task_Force_28_Jul_2026&#34;&gt;https://pad.w3.org/p/ActivityPub_E2EE_Task_Force_28_Jul_2026&lt;/a&gt;).&lt;br/&gt;&lt;br/&gt;How do we add a space for it, like the other task force spaces?&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1mlkrpm79rjl0lsz9hhjx3j0n6s7ylqykfwm5q3kcjn4y8ky4j3hqk2nu5a&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;julian&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1mlk…nu5a&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; ?
    </content>
    <updated>2026-07-28T16:34:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8wz9elynptudelt3gd7qyyaxesf28vv0q56hyv5ss56mvt6uh5agzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazk30enq</id>
    
      <title type="html">So, a few good things about this format (rather than embedded ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8wz9elynptudelt3gd7qyyaxesf28vv0q56hyv5ss56mvt6uh5agzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazk30enq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd9m5jkhaq5ndxmwtg55vszqgvk43rc7txg2nc0zwautdefz0thrq72v4nj&#39;&gt;nevent1q…v4nj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;So, a few good things about this format (rather than embedded objects):&lt;br/&gt;&lt;br/&gt;1) The page is much more cache-friendly. The only thing you have to keep track of for `Last-Modified` headers is the state of the page -- not the state of every single object in the page.&lt;br/&gt;2) It can handle a lot more items in a single page. If an URL is about 256 bytes on average, you can have about 100 or even 200 items in a single page and still have a well-performing payload in the low 10s of kiB ranges.&lt;br/&gt;3) The activities can be cached, too. You might not need to load all of them.&lt;br/&gt;&lt;br/&gt;I lean towards big pages with URLs now. See &lt;a href=&#34;https://tags.pub/user/linux/outbox/5&#34;&gt;https://tags.pub/user/linux/outbox/5&lt;/a&gt; for an example.
    </content>
    <updated>2026-05-14T20:25:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsdd4zcrtzgqym9uy0469x4yxxajahl0nv5rr7gvvdyhxdqs6a4mlqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazuk4zf6</id>
    
      <title type="html">So, one part of the popular imagination about ActivityPub ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsdd4zcrtzgqym9uy0469x4yxxajahl0nv5rr7gvvdyhxdqs6a4mlqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazuk4zf6" />
    <content type="html">
      So, one part of the popular imagination about ActivityPub I&amp;#39;ve seen is the idea of *server federation*.&lt;br/&gt;&lt;br/&gt;I think the idea is that if two servers have interacted in some way, all (?) public (?) content from one server will be sent to the other server, and vice versa. &lt;br/&gt;&lt;br/&gt;This comes up a lot with new servers; people ask to have a post shared broadly so that their server rubs shoulders with others, getting the federated feed flow going.&lt;br/&gt;&lt;br/&gt;ActivityPub does in fact have a [mechanism](&lt;a href=&#34;https://www.w3.org/TR/activitypub/#shared-inbox-delivery&#34;&gt;https://www.w3.org/TR/activitypub/#shared-inbox-delivery&lt;/a&gt;) defined for this:&lt;br/&gt;&lt;br/&gt;&amp;amp;gt; Additionally, if an object is addressed to the Public special collection, a server MAY deliver that object to all known sharedInbox endpoints on the network.&lt;br/&gt;&lt;br/&gt;As far as I&amp;#39;ve seen, most (?) servers don&amp;#39;t implement this; it would overwhelm small servers pretty quickly.&lt;br/&gt;&lt;br/&gt;However, some (?) servers do implement it for some (?) activities, especially profile update and delete activities.&lt;br/&gt;&lt;br/&gt;Is this the origin of the idea that new servers need to have their content shared around? Are people misunderstanding the way that relays work? Is it just a trick to get your content shared?
    </content>
    <updated>2026-05-07T18:51:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsde5s33f3uq8jvsa7ql09yf40h5f8drzxl6d4jyjmhv4z57w45wgczyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazq072fu</id>
    
      <title type="html">For the [ActivityPub API Task ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsde5s33f3uq8jvsa7ql09yf40h5f8drzxl6d4jyjmhv4z57w45wgczyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazq072fu" />
    <content type="html">
      For the [ActivityPub API Task Force](&lt;a href=&#34;https://github.com/swicg/activitypub-api&#34;&gt;https://github.com/swicg/activitypub-api&lt;/a&gt;), I started an issue to discuss [OAuth client reputation systems](&lt;a href=&#34;https://github.com/swicg/activitypub-api/issues/44&#34;&gt;https://github.com/swicg/activitypub-api/issues/44&lt;/a&gt;).&lt;br/&gt;&lt;br/&gt;A reputation system tracks which OAuth clients are known good, known bad, or unknown. Servers could use this information to limit what clients can do. For example, a server could prevent users from logging in with a known bad client.&lt;br/&gt;&lt;br/&gt;The reputation could be based on human curation and review, or on automated collection of evidence from historical behaviour of the client.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m trying to find examples in the OAuth ecosystem of this kind of reputation systems -- either local or distributed.&lt;br/&gt;&lt;br/&gt;App store approval (and user reviews) are a good example for native apps. [OpenBanking](&lt;a href=&#34;https://www.openbanking.org.uk/directory/&#34;&gt;https://www.openbanking.org.uk/directory/&lt;/a&gt;) keeps a client directory that needs human curation and review.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t have examples from OAuth -- especially with [dynamic registration](&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc7591&#34;&gt;https://datatracker.ietf.org/doc/html/rfc7591&lt;/a&gt;) or [CIMD](&lt;a href=&#34;https://cimd.dev/&#34;&gt;https://cimd.dev/&lt;/a&gt;).&lt;br/&gt;&lt;br/&gt;Any ideas?
    </content>
    <updated>2026-01-10T20:01:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszndpz733qek98tgm95wemlewyxa5pfej4k8klrumkd7ae5qv8x5szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazu4r99a</id>
    
      <title>Nostr event nevent1qqszndpz733qek98tgm95wemlewyxa5pfej4k8klrumkd7ae5qv8x5szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazu4r99a</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszndpz733qek98tgm95wemlewyxa5pfej4k8klrumkd7ae5qv8x5szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazu4r99a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8l4z4kmyfzh0ez8x7cg5l2kjh3q3yc7jqxkm3j4tjlj0gr5nmxdgzmjfrq&#39;&gt;nevent1q…jfrq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;[smallcircles@social.coop](&lt;a href=&#34;https://activitypub.space/user/smallcircles%40social.coop&#34;&gt;https://activitypub.space/user/smallcircles%40social.coop&lt;/a&gt;) you might be happy to see that there&amp;#39;s a new ActivityPub API task force:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/swicg/activitypub-api&#34;&gt;https://github.com/swicg/activitypub-api&lt;/a&gt;
    </content>
    <updated>2025-09-06T22:21:39Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsydw6s7dwqlg6caysx8vjptcw2yknffn7g76rl320qm9ykgszk4gqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazx0nd84</id>
    
      <title type="html">https://checkin.swf.pub/ is an example ActivityPub API client ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsydw6s7dwqlg6caysx8vjptcw2yknffn7g76rl320qm9ykgszk4gqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazx0nd84" />
    <content type="html">
      &lt;a href=&#34;https://checkin.swf.pub/&#34;&gt;https://checkin.swf.pub/&lt;/a&gt; is an example ActivityPub API client that implements the Geosocial schema for ActivityPub -- &lt;a href=&#34;https://github.com/swicg/geosocial&#34;&gt;https://github.com/swicg/geosocial&lt;/a&gt; for details.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve been testing it with &lt;a href=&#34;https://onepage.pub/&#34;&gt;https://onepage.pub/&lt;/a&gt; which has a pretty good implementation of the API. I&amp;#39;m interested in trying out some more servers, though; especially the OAuth 2.0 implementations.&lt;br/&gt;&lt;br/&gt;Right now, I know of Pleroma as an API implementation. Also, maybe Mitra, maybe Bonfire? Any other implementations of the API to recommend?
    </content>
    <updated>2025-08-27T02:48:56Z</updated>
  </entry>

</feed>