<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-08-27T09:27:13Z</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by evan</title>
  <author>
    <name>evan</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub10c0ahywnza6y4pytk58fwvmzn64q2lskqcxswreqww7vc96dclgs45yacy.rss" />
  <link href="https://nostr.ae/npub10c0ahywnza6y4pytk58fwvmzn64q2lskqcxswreqww7vc96dclgs45yacy" />
  <id>https://nostr.ae/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.ae/nevent1qqsyxyp2qa5acvd0yezdw9h3k6t0clpeeqr2rygv0fxzzs8k6zu353szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazecl3kh</id>
    
      <title type="html">One of the big pain points for ActivityPub developers is ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqs0mzg9d6x3ha2jy70v39gf56efwcch0hjnc0ewhnaz0t3hnykxluqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazv7wcn9</id>
    
      <title type="html">I wrote up some recommendations about implementing paginated ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqs84rze68f44n445nmc4q3gypdge09sp635ueuyfmpkg2c07drg2dczyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazwshhsw</id>
    
      <title type="html">This is a discussion thread for an open issue on GitHub: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqs0k3uau37zad8cl743jq6fc7l8hf2ggftnncr37uklrp6939qj55szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhraz7kp5jt</id>
    
      <title type="html">We had a meeting of the E2EE Task Force. One participant asked ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqs8wz9elynptudelt3gd7qyyaxesf28vv0q56hyv5ss56mvt6uh5agzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazk30enq</id>
    
      <title type="html">So, a few good things about this format (rather than embedded ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqsde5s33f3uq8jvsa7ql09yf40h5f8drzxl6d4jyjmhv4z57w45wgczyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazq072fu</id>
    
      <title type="html">For the [ActivityPub API Task ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqszndpz733qek98tgm95wemlewyxa5pfej4k8klrumkd7ae5qv8x5szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazu4r99a</id>
    
      <title>Nostr event nevent1qqszndpz733qek98tgm95wemlewyxa5pfej4k8klrumkd7ae5qv8x5szyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazu4r99a</title>
    
    <link rel="alternate" href="https://nostr.ae/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.ae/nevent1qqsydw6s7dwqlg6caysx8vjptcw2yknffn7g76rl320qm9ykgszk4gqzyplplku36vthgj5y3w6sa9env2025pt7zcrq6pc0ypemenqhfhrazx0nd84</id>
    
      <title type="html">https://checkin.swf.pub/ is an example ActivityPub API client ...</title>
    
    <link rel="alternate" href="https://nostr.ae/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>