<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-09-02T13:48:26Z</updated>
  <generator>https://nostr.now</generator>

  <title>Nostr notes by Todd Sundsted</title>
  <author>
    <name>Todd Sundsted</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.now/npub1eada4ttpsv7k33wwhdscdmrw2xw7n5kevnvj20lufxw4dgux5dzqv505wn.rss" />
  <link href="https://nostr.now/npub1eada4ttpsv7k33wwhdscdmrw2xw7n5kevnvj20lufxw4dgux5dzqv505wn" />
  <id>https://nostr.now/npub1eada4ttpsv7k33wwhdscdmrw2xw7n5kevnvj20lufxw4dgux5dzqv505wn</id>
  <icon>https://epiktistes.com/uploads/4f51214b/60c6/4193/1.png</icon>
  <logo>https://epiktistes.com/uploads/4f51214b/60c6/4193/1.png</logo>




  <entry>
    <id>https://nostr.now/nevent1qqsw7vkavy5a6t4mqz768yvepxkzpwmp8aqnxp4x9uyw75eyxfy4csqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g9u60tq</id>
    
      <title type="html">v3.14.0 (&amp;#34;question authority&amp;#34;) is the end of a long road. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw7vkavy5a6t4mqz768yvepxkzpwmp8aqnxp4x9uyw75eyxfy4csqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g9u60tq" />
    <content type="html">
      v3.14.0 (&amp;#34;question authority&amp;#34;) is the end of a long road.&lt;br/&gt;&lt;br/&gt;The goal was pluggable, algorithmic feeds. &amp;#34;Pluggable&amp;#34; because I want to drop a script into a directory to add a new algorithm—not recompile the server. &amp;#34;Algorithmic&amp;#34; because I want predictable, fine-grained control over what I see and how it&amp;#39;s organized.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve been working on this feature, across releases, for almost four months. A recent thread gave me the motivation to just get it done!&lt;br/&gt;&lt;br/&gt;The discussion in that thread also shaped the result: algorithmic feeds ships with four example algorithms (called &amp;#34;judges&amp;#34;) that demonstrate what&amp;#39;s possible:&lt;br/&gt;&lt;br/&gt;quiet_posters shows posts from the people you follow whose posting frequency is in the bottom 25%&lt;br/&gt;long_reads groups posts over 500 characters&lt;br/&gt;community groups posts from threadiverse servers (Lemmy, PieFed, etc.)&lt;br/&gt;polls puts all polls in one feed&lt;br/&gt;&lt;br/&gt;One interesting implementation decision: the exchange format between server and judge is an SQLite database holding the batch of posts to be judged. Rather than rolling a custom data exchange format, you get a well-tested file format that brings schema support, serialization/deserialization, and a query language nearly for free.&lt;br/&gt;&lt;br/&gt;Here is the full set of changes in this release:&lt;br/&gt;&lt;br/&gt;Added&lt;br/&gt;&lt;br/&gt;Algorithmic feeds, judged by executables in etc/judges.&lt;br/&gt;Accept community-relayed votes authorized by the object&amp;#39;s audience.&lt;br/&gt;Include the linked SQLite3 version and its features in NodeInfo.&lt;br/&gt;&lt;br/&gt;Fixed&lt;br/&gt;&lt;br/&gt;Pick up a remote actor&amp;#39;s rotated public key.&lt;br/&gt;Don&amp;#39;t save actors embedded in community-relayed activities.&lt;br/&gt;Ignore community-relayed and directly delivered activities attributed to a local actor.&lt;br/&gt;Reload an actor&amp;#39;s page only when that actor&amp;#39;s Refresh button is pressed.&lt;br/&gt;Hide the Refresh button on a local actor&amp;#39;s panel.&lt;br/&gt;Fall back to the default avatar when a refreshed icon fails to load.&lt;br/&gt;Enable icon repair on actor panels and actor cards.&lt;br/&gt;Keep the no-replies timeline queries on the timeline index.&lt;br/&gt;&lt;br/&gt;Changed&lt;br/&gt;&lt;br/&gt;Judge feed posts in the background instead of in the request.&lt;br/&gt;Reconcile each key once when an actor is blocked or unblocked.&lt;br/&gt;&lt;br/&gt;#ktistec #crystallang #activitypub #fediverse
    </content>
    <updated>2026-10-27T11:41:47Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9l5fsnnxywl72ge0l2rfqmxf2dggtwcqnqutt8sms8kx5swdhh3gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gzxxguf</id>
    
      <title type="html">@scottjenson is &amp;#34;users are dumb&amp;#34; a response we&amp;#39;re ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9l5fsnnxywl72ge0l2rfqmxf2dggtwcqnqutt8sms8kx5swdhh3gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gzxxguf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw6l9g08fazraxh5h6wks3a0t8ux0quw43uns9yaeqgdmjt2mdm0cpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qcegr7k&#39;&gt;nevent1q…gr7k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@scottjenson is &amp;#34;users are dumb&amp;#34; a response we&amp;#39;re hearing from open source developers here on the fediverse?
    </content>
    <updated>2026-07-14T14:28:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsd3985nfccy43jn5djua0dtrpyq8372yxg0ynulp79kaeszg4e25szyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g9ns3sp</id>
    
      <title type="html">&amp;#34;We put the exploit in a picture. The AI code reviewer never ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsd3985nfccy43jn5djua0dtrpyq8372yxg0ynulp79kaeszg4e25szyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g9ns3sp" />
    <content type="html">
      &amp;#34;We put the exploit in a picture. The AI code reviewer never opened it.&amp;#34;&lt;br/&gt;&lt;br/&gt;This line from the article:CodeRabbit ships with a default configuration that excludes image files from review outright (!**/*.png).&lt;br/&gt;&lt;br/&gt;#ai #infosec
    </content>
    <updated>2026-07-11T23:10:26Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9q77znl2n449mtaml6ndc7huaakw8wwp8s5gw6dpdd65nl8mrwvqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gmvsmy4</id>
    
      <title type="html">@willhbr i keep trying, but every time i pick up jj my brain ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9q77znl2n449mtaml6ndc7huaakw8wwp8s5gw6dpdd65nl8mrwvqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gmvsmy4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy4t39a0v85qgxp8kwtxffwrp0k8g0xw2xdxa9hn09238xaklwraspz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qjjya84&#39;&gt;nevent1q…ya84&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@willhbr i keep trying, but every time i pick up jj my brain breaks. i think i have so many bad git practices that no amount of jj can make sense of them.
    </content>
    <updated>2026-05-29T00:39:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvxu37zf7lz8zvfyakusycg7kxu4m7jtzeznrrqq3akldknzq3hrczyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g29mjcr</id>
    
      <title type="html">how widely adopted/supported/implemented is FEP-8a8e? is that a ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvxu37zf7lz8zvfyakusycg7kxu4m7jtzeznrrqq3akldknzq3hrczyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g29mjcr" />
    <content type="html">
      how widely adopted/supported/implemented is FEP-8a8e? is that a safe direction to converge for federated events?
    </content>
    <updated>2026-05-16T20:13:11Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspna3gwgav2rvaa92yxd27hywm7g6fphqwnwu36hrhyjpt8cyt6egzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gnhtlaj</id>
    
      <title type="html">I’m working on handling OAuth token expiry as part of #ktistec ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspna3gwgav2rvaa92yxd27hywm7g6fphqwnwu36hrhyjpt8cyt6egzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gnhtlaj" />
    <content type="html">
      I’m working on handling OAuth token expiry as part of #ktistec Mastodon API support. Is my understanding that Mastodon issues OAuth tokens with no expiration correct?!?
    </content>
    <updated>2026-04-26T19:59:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvlncwe2wy28ws969uedgnfarkwefqnfljfxjtuw6ha747ajzm64gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g77a7du</id>
    
      <title type="html">does anyone use GNU Cash? any free (software) alternatives anyone ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvlncwe2wy28ws969uedgnfarkwefqnfljfxjtuw6ha747ajzm64gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g77a7du" />
    <content type="html">
      does anyone use GNU Cash? any free (software) alternatives anyone recommends?
    </content>
    <updated>2026-04-25T11:14:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8qza9f8y0ast6egg08h2f42t09cl6g9stxjy94amegp5fu5fa8xgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g8zwu3c</id>
    
      <title type="html">@scottjenson you are absolutely not the problem here.</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8qza9f8y0ast6egg08h2f42t09cl6g9stxjy94amegp5fu5fa8xgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g8zwu3c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0nvz2cuytmjdzsdcutpcvpyjqp9tp7jg9y8d3caa43rrtmrxtspcpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qrskyns&#39;&gt;nevent1q…kyns&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@scottjenson you are absolutely not the problem here.
    </content>
    <updated>2026-04-06T14:54:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsdec2wn48m3s9axhwcyqg0dufactsu9pq4ea76tf8lhsd876ts74szyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gk687kn</id>
    
      <title type="html">@silverpill thanks! yes, as a developer. i&amp;#39;d love to see this ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsdec2wn48m3s9axhwcyqg0dufactsu9pq4ea76tf8lhsd876ts74szyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gk687kn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp3g5elh8kxckmepgh7hexsts9vztu8l4d0a7ngez8ls7ae8pcejgpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qundl98&#39;&gt;nevent1q…dl98&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@silverpill thanks! yes, as a developer. i&amp;#39;d love to see this in action.
    </content>
    <updated>2026-03-29T22:05:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9cqk9e2wmvazwv3uyznqxekmapp7t4f8er63c0xac6rzz7r2459qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g3jfa3m</id>
    
      <title type="html">@silverpill what&amp;#39;s the entry point for trying this out? ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9cqk9e2wmvazwv3uyznqxekmapp7t4f8er63c0xac6rzz7r2459qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g3jfa3m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfmg35feggllq4hvw4upj0sx03cnw5726eap0knas85q7ewxnl4qqpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qpxrj2s&#39;&gt;nevent1q…rj2s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@silverpill what&amp;#39;s the entry point for trying this out? consuming portable objects?
    </content>
    <updated>2026-03-29T20:10:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9rwnv2js83gjlfx6zwx209pfqm7hresw4zwt43sdu390afuvj9wczyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gezuch4</id>
    
      <title type="html">@liaizon based on your posts, you seem to be caring and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9rwnv2js83gjlfx6zwx209pfqm7hresw4zwt43sdu390afuvj9wczyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gezuch4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswyqyhgp0q6l5q755d70r4rsp9gf40f3xhu2za6w9eq7eznpnaduqpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43q84h8kz&#39;&gt;nevent1q…h8kz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@liaizon based on your posts, you seem to be caring and thoughtful, but a boatload of the fediverse imo is not right now. just look at this thread. i desperately want mozilla to focus on building a better browser. but the thread devolved into a hate-fest, and that is 1) not going to bring mozilla around, 2) not going to bring the undecided over to the cause, 3) going to run off the newcomers who stumble into that, 4) turns my space here into a much more negative and unhealthy place. i predict that a list focused on tracking vibe-coded fediverse servers will quickly turn into targeting tool for the people i&amp;#39;m talking about here. we don&amp;#39;t need that.&lt;br/&gt;&lt;br/&gt;cc @mkljczk 
    </content>
    <updated>2026-03-26T12:42:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyzsm86npzna9zhvejz0z0nd8surlh6pmj39zzzu4esy3vqqy8v8szyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gxue05k</id>
    
      <title type="html">@liaizon I think these are good concerns but I am concerned about ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyzsm86npzna9zhvejz0z0nd8surlh6pmj39zzzu4esy3vqqy8v8szyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gxue05k" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw6vvax9m23q5vajkq5nyemye624xd3s45d5enca5lnn4clkejyvgpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qfqrxkc&#39;&gt;nevent1q…rxkc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@liaizon I think these are good concerns but I am concerned about the idea of “tracking”. right now my perception of the fediverse is that it has become by far the most overtly hostile social network I’ve been on with wrath regularly directed at “those who don’t conform” even if they diverge in trivial ways. and I am not the only one with a stake in this saying this! more of that made easier to direct is not going to benefit the fediverse in the long term.
    </content>
    <updated>2026-03-26T12:00:50Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspgcjgmuu3fl5ndy4sp63yjp73gav5sdjfqfje9a9ldj79lasde2gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gxy0lcz</id>
    
      <title type="html">@kris https://github.com/toddsundsted/ktistec it&amp;#39;s an ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspgcjgmuu3fl5ndy4sp63yjp73gav5sdjfqfje9a9ldj79lasde2gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gxy0lcz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqzatdw8yhl3ac6jvh72u69c79k6fkkyuumxqq6h558dxyytup24qpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qd002cn&#39;&gt;nevent1q…02cn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@kris &lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/toddsundsted/ktistec&#34;&gt;https://github.com/toddsundsted/ktistec&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;it&amp;#39;s an activity pub server designed for individuals (multiple users are supported but there&amp;#39;s nothing like open registration).
    </content>
    <updated>2026-02-22T22:06:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfh7zj7nucuuw8wqm2dc4dd8t6fkfvmcgnhlp4ck4wtdd0cl2xr8qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gdtuw4l</id>
    
      <title type="html">nodeinfo fixed in 3b56d2a6 FEDERATION.md added in cb3ef061</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfh7zj7nucuuw8wqm2dc4dd8t6fkfvmcgnhlp4ck4wtdd0cl2xr8qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gdtuw4l" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;nodeinfo fixed in 3b56d2a6&lt;br/&gt;FEDERATION.md added in cb3ef061
    </content>
    <updated>2026-02-22T15:37:19Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvyue5t865kypvp3jpzhpe8dkrl43zqqsjnekhemt2w9dy8hz34hqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g5fd3lx</id>
    
      <title type="html">Before creating and publishing FEDERATION.md for #ktistec I ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvyue5t865kypvp3jpzhpe8dkrl43zqqsjnekhemt2w9dy8hz34hqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g5fd3lx" />
    <content type="html">
      Before creating and publishing FEDERATION.md for #ktistec I wanted to understand what existing practice looked like across the Fediverse.&lt;br/&gt;&lt;br/&gt; FEP-67ff describes the requirements of the FEDERATION.md file in loose terms and provides a non-normative template. I scraped the URLs of FEDERATION.md files from FEP-67ff itself and confirmed I could fetch them. The FEP listed 30 accessible projects (31 total, but one project—FIRM—does not appear to exist).&lt;br/&gt;&lt;br/&gt;If a file had a section with the heading &amp;#34;Supported FEPs&amp;#34; per the non-normative template, I only looked there for supported FEPs. Otherwise I scanned the entire document.&lt;br/&gt;&lt;br/&gt;Implemented FEPs, ranked by the number of implementations that attest support, are:FEP   Name                                                        #&lt;br/&gt;----  ---------------------------------------------------------  --&lt;br/&gt;67ff  FEDERATION.md                                              18&lt;br/&gt;f1d5  NodeInfo in Fediverse Software                             16&lt;br/&gt;8b32  Object Integrity Proofs                                     7&lt;br/&gt;044f  Consent-respecting quote posts                              7&lt;br/&gt;2677  Identifying the Application Actor                           7&lt;br/&gt;e232  Object Links                                                6&lt;br/&gt;1b12  Group federation                                            6&lt;br/&gt;3b86  Activity Intents                                            6&lt;br/&gt;521a  Representing actor&amp;#39;s public keys                            5&lt;br/&gt;2c59  Discovery of a Webfinger address from an ActivityPub actor  5&lt;br/&gt;7888  Demystifying the context property                           5&lt;br/&gt;5feb  Search indexing consent for actors                          5&lt;br/&gt;4adb  Dereferencing identifiers with webfinger                    4&lt;br/&gt;d556  Server-Level Actor Discovery Using WebFinger                4&lt;br/&gt;fb2a  Actor metadata                                              4&lt;br/&gt;ef61  Portable Objects                                            4&lt;br/&gt;8fcf  Followers collection synchronization across servers         4&lt;br/&gt;844e  Capability discovery                                        4&lt;br/&gt;7628  Move actor                                                  3&lt;br/&gt;61cf  The OpenWebAuth Protocol                                    3&lt;br/&gt;c390  Identity Proofs                                             3&lt;br/&gt;400e  Publicly-appendable ActivityPub collections                 3&lt;br/&gt;c0e0  Emoji reactions                                             3&lt;br/&gt;0151  NodeInfo in Fediverse Software (2025 edition)               3&lt;br/&gt;fffd  Proxy Objects                                               2&lt;br/&gt;f228  Backfilling conversations                                   2&lt;br/&gt;fe34  Origin-based security model                                 2&lt;br/&gt;eb48  Hashtags                                                    2&lt;br/&gt;171b  Conversation Containers                                     2&lt;br/&gt;a5c5  Web Syndication Methods                                     2&lt;br/&gt;&lt;br/&gt;There are obvious flaws in the methodology. Or maybe in the data. Only 18 out of the 30 projects I could access had a FEDERATION.md that attested FEDERATION.md support. Only 19 mentioned &amp;#34;FEDERATION.md&amp;#34;. Only 21 mentioned &amp;#34;67ff&amp;#34;. The remaining projects clearly did support FEP-67ff—the file itself was evidence. (FEDERATION.md is not meant to be machine readable—there&amp;#39;s an issue about that).&lt;br/&gt;&lt;br/&gt;It was more difficult to rank implemented federation protocols. I extracted keywords from documents with a  &amp;#34;Supported federation protocols and standards&amp;#34; section and created a dictionary of terms. If a file had a section with the heading &amp;#34;Supported federation protocols and standards&amp;#34;, I only looked there. Otherwise I scanned the entire document.Feature            #&lt;br/&gt;----------------  --&lt;br/&gt;activitypub       26&lt;br/&gt;webfinger         24&lt;br/&gt;http_signatures   21&lt;br/&gt;nodeinfo          19&lt;br/&gt;json_ld            2&lt;br/&gt;ld_signatures      2&lt;br/&gt;ostatus            2&lt;br/&gt;authorized_fetch   1&lt;br/&gt;atproto            1&lt;br/&gt;&lt;br/&gt;If time allows, I&amp;#39;m going to try to rank these documents by &amp;#34;utility&amp;#34;, though I haven&amp;#39;t yet determined the exact metric. These documents clearly provide valuable information, but their lack of standardization makes them harder to analyze systematically.&lt;br/&gt;&lt;br/&gt;#ActivityPub #Fediverse #Fep67ff #fep
    </content>
    <updated>2026-02-22T13:30:57Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs88ldnzwpnh7sleyazu2yj3zuwvm26qr2f362u9t0tlmh0ckaa8mgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gtw9zvm</id>
    
      <title type="html">i just released an experimental version of this feature. i ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs88ldnzwpnh7sleyazu2yj3zuwvm26qr2f362u9t0tlmh0ckaa8mgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gtw9zvm" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;i just released an experimental version of this feature. i don&amp;#39;t love how it looks but i do love reading this way. i&amp;#39;m going back through my timeline looking for chains of posts that i didn&amp;#39;t read before that i can (more easily) read now!&lt;br/&gt;&lt;br/&gt;#ktistec
    </content>
    <updated>2026-02-20T10:53:57Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqswcmqz27hy9ad4682wn0umeznrk0ynv32evpj0hw6yk8dr775uanszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gj3zq9c</id>
    
      <title type="html">@liaizon &amp;gt; The fediverse is anarchist praxis. joke (but also ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqswcmqz27hy9ad4682wn0umeznrk0ynv32evpj0hw6yk8dr775uanszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gj3zq9c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyhn077xuaz8y0z2d4s8akdywa8vr8c0s37049xjflnsqgrakddcspz4mhxue69uhhyetvv9ujuerfw36x7tnsw43q09wj6j&#39;&gt;nevent1q…wj6j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@liaizon&lt;br/&gt;&lt;br/&gt;&amp;gt; The fediverse is anarchist praxis.&lt;br/&gt;&lt;br/&gt;joke (but also not joke) and in reply to your post here, this is also why we struggle to conform to anyone else&amp;#39;s opinion of what the standards should be 😂
    </content>
    <updated>2026-02-19T10:46:50Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsw5gl6lf2z58nkm5j5gpfugfn06fvtmz87qaykn6ht5l683rryysszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g9egcj6</id>
    
      <title type="html">I’m wondering if there are any common or standard approaches to ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw5gl6lf2z58nkm5j5gpfugfn06fvtmz87qaykn6ht5l683rryysszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g9egcj6" />
    <content type="html">
      I’m wondering if there are any common or standard approaches to modeling RSS feeds as ActivityPub objects?&lt;br/&gt;&lt;br/&gt;I’m thinking of an RSSFeed actor and RSSPost or something for the items but I’d love to follow established patterns.&lt;br/&gt;&lt;br/&gt;Friendica supports RSS feeds. Maybe that’s a good place to start?&lt;br/&gt;&lt;br/&gt;#ActivityPub
    </content>
    <updated>2026-01-10T21:21:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8pmnp86zvf2ll99h49q4l8c668kqakkhy0kj7p49uxvkw0983h2gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gh80vah</id>
    
      <title type="html">sometimes i wish #activitypub and servers/clients supported both ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8pmnp86zvf2ll99h49q4l8c668kqakkhy0kj7p49uxvkw0983h2gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gh80vah" />
    <content type="html">
      sometimes i wish #activitypub and servers/clients supported both Like and Love activities, for when liking something  isn&amp;#39;t strong enough...!
    </content>
    <updated>2026-01-02T12:01:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstyw69alegk0rve5hfeuvl9m3n2vvppqce5y39e6smvzf5ylnq29gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635ghwdm8m</id>
    
      <title type="html">I wonder if you could use/abuse Mastodon polls (FEP-9967) to ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstyw69alegk0rve5hfeuvl9m3n2vvppqce5y39e6smvzf5ylnq29gzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635ghwdm8m" />
    <content type="html">
      I wonder if you could use/abuse Mastodon polls (FEP-9967) to distribute posts that provide near-real-time status updates (I&amp;#39;m thinking about severe weather alerts but I&amp;#39;m sure there are other use cases)?&lt;br/&gt;&lt;br/&gt;Create a poll with an expiry far in the future and a token set of options (ideally just one—&amp;#34;Do you opt in?&amp;#34;—but poll implementations seem to require at least two).&lt;br/&gt;&lt;br/&gt;Nothing seems to prevent the content of a poll from changing—and this is the key insight. The FEP says, &amp;#34;The type of a poll (single choice / multiple choices) and its options might be changed at any time. In that case the author of the poll MUST reset the vote counts.&amp;#34; So broadcast updates via the content.&lt;br/&gt;&lt;br/&gt;It would be a lightweight way to follow a single item without following the actor, built on top of implementations that already exist. &lt;br/&gt;&lt;br/&gt;#ActivityPub #Fep9967
    </content>
    <updated>2025-12-20T23:44:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsw3u9m989zxjqqdre6rqmjda363u336slslu8a0q2pq32u4s86qfszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g0y8ku3</id>
    
      <title type="html">Release v3.2.3 of Ktistec includes two big features: FEP-1b12 ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsw3u9m989zxjqqdre6rqmjda363u336slslu8a0q2pq32u4s86qfszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g0y8ku3" />
    <content type="html">
      Release v3.2.3 of Ktistec includes two big features:&lt;br/&gt;&lt;br/&gt;FEP-1b12 Group federation&lt;br/&gt;Improved federation with Lemmy and other forum-type servers. Ktistec supports community and thread follow/unfollow, as well as up-vote/like (down-vote/dislike is supported but there is no visual affordance for that yet).&lt;br/&gt;FEP-9098 Custom emojis&lt;br/&gt;Support for viewing custom emoji in posts and on actor profiles. Ktistec does not yet support custom emoji creation and management.&lt;br/&gt;&lt;br/&gt;The full changelog:&lt;br/&gt;&lt;br/&gt;Added&lt;br/&gt;&lt;br/&gt;Support for viewing custom emoji in posts and on actor profiles.&lt;br/&gt;Actor type (Person, Group, etc.) overlay badges on actor panels.&lt;br/&gt;Colored fallback avatars for actors without icons.&lt;br/&gt;Support for robots.txt.&lt;br/&gt;&lt;br/&gt;Fixed&lt;br/&gt;&lt;br/&gt;Federation with Lemmy and other servers that support FEP-1b12.&lt;br/&gt;Shared inbox support for local actors.&lt;br/&gt;Serialization of Undo includes the undone activity.&lt;br/&gt;Serialization of Like and Dislike does not.&lt;br/&gt;Notify only once for an object&amp;#39;s first received activity.&lt;br/&gt;&lt;br/&gt;Changed&lt;br/&gt;&lt;br/&gt;Accumulate metrics by hour for finer granularity.&lt;br/&gt;Clean up presentation of public followers/following pages.&lt;br/&gt;&lt;br/&gt;The next release will include support for Mastodon polls (FEP-9967).&lt;br/&gt;&lt;br/&gt;#ktistec #crystallang #activitypub #fediverse
    </content>
    <updated>2025-12-10T12:55:47Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgna3vt5kews06akazeu5kn9d85qgxkuwgwhqfwer2e35wpdvgysgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g6sscw4</id>
    
      <title type="html">I&amp;#39;ve improved federation support for Lemmy and other servers ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgna3vt5kews06akazeu5kn9d85qgxkuwgwhqfwer2e35wpdvgysgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g6sscw4" />
    <content type="html">
      I&amp;#39;ve improved federation support for Lemmy and other servers that support FEP-1b12 Group Federation.&lt;br/&gt;&lt;br/&gt;I had to increase the number of available file descriptors on my personal server 4x because of the resultant inbound volume of ActivityPub activities! I liked a federated post and DOSed my server.&lt;br/&gt;&lt;br/&gt;#ktistec #activitypub #fediverse
    </content>
    <updated>2025-12-07T12:20:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsq8ley6kycr2hqm9ad9qs9zd0cp94wz8h34ujw8auulcmgg6gf7cqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g8x3qya</id>
    
      <title type="html">I&amp;#39;ve streamlined theme development in Ktistec. The theming ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsq8ley6kycr2hqm9ad9qs9zd0cp94wz8h34ujw8auulcmgg6gf7cqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g8x3qya" />
    <content type="html">
      I&amp;#39;ve streamlined theme development in Ktistec. The theming system uses a hierarchy of CSS custom properties and fallbacks. Theme authors can customize a theme at multiple levels:&lt;br/&gt;&lt;br/&gt;Base Colors Only&lt;br/&gt;&lt;br/&gt;Define only base colors like --text-primary, --bg-primary, --bg-input, --semantic-primary, etc. Derived colors will auto-generate using color-mix formulas. For example::root { --semantic-primary: #ffa500; }&lt;br/&gt;&lt;br/&gt;From this one line, theme-appropriate colors like --bg-accent-code, --anchor-color, etc. auto-generate.&lt;br/&gt;&lt;br/&gt;Base Colors Plus Derived Colors&lt;br/&gt;&lt;br/&gt;Define base colors and derived colors. Derived colors use custom values when defined. Undefined derived colors auto-generate. For example::root {&lt;br/&gt;    --text-primary: #333;&lt;br/&gt;    --text-primary-2: #ff0000;  /* red for this specific shade */&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;Given this theme, derived shades like --text-primary-1, --text-primary-3, and --text-primary-4 auto-generate. --text-primary-2 is red.&lt;br/&gt;&lt;br/&gt;The simplest possible interesting theme redefines the primary semantic color. The single line above (in Base Colors Only) would result in the following, with button color, link color, disabled, selected, and hover states all derived automatically:screenshot of the setting page with the primary semantic color defined&lt;br/&gt;&lt;br/&gt;These changes will be in the upcoming release. Existing themes will continue to work, as is.&lt;br/&gt;&lt;br/&gt;#ktistec #crystallang #activitypub #fediverse&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://epiktistes.com/uploads/609c445a/e379/4e24/1.png&#34;&gt; 
    </content>
    <updated>2025-11-30T17:15:15Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0dwjcx9p8yl3czjn9mwf9d6xcl463sxz66q68d6n5697n4ax3t3qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gexsqur</id>
    
      <title type="html">emacs comes with dunnet. i&amp;#39;ve never played it. today i am ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0dwjcx9p8yl3czjn9mwf9d6xcl463sxz66q68d6n5697n4ax3t3qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gexsqur" />
    <content type="html">
      emacs comes with dunnet. i&amp;#39;ve never played it. today i am going to play it.&lt;br/&gt;&lt;br/&gt;#emacs #interactivefiction
    </content>
    <updated>2025-11-21T14:57:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstuaneldezld0he9jmk2lyx0ug6d94h0d7j0hau0z5l80lsmm5ruszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gywdkam</id>
    
      <title type="html">Vacations are wonderful. It is a privilege to be able to travel ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstuaneldezld0he9jmk2lyx0ug6d94h0d7j0hau0z5l80lsmm5ruszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gywdkam" />
    <content type="html">
      Vacations are wonderful. It is a privilege to be able to travel without worry. It&amp;#39;s also wonderful to be home, and to have the time to work on projects I care about. With those thoughts in mind, I present release v3.1.1 of Ktistec, an ActivityPub server written in the Crystal programming language!&lt;br/&gt;&lt;br/&gt;This release is a mixed bag of small features and improvements:&lt;br/&gt;&lt;br/&gt;Added&lt;br/&gt;&lt;br/&gt;Auto-link URLs in posts. (fixes #24)&lt;br/&gt;Support searching by actor username. (fixes #102)&lt;br/&gt;Support hourly granularity in metrics charts.&lt;br/&gt;&lt;br/&gt;Fixed&lt;br/&gt;&lt;br/&gt;Mark actor as down if refresh fails.&lt;br/&gt;Remove draft posts from the everything collection.&lt;br/&gt;Ignore charts with no points in the date range.&lt;br/&gt;Ensure HTTP::Client instances are closed.&lt;br/&gt;&lt;br/&gt;I added support for multiple users at the beginning of the month. I&amp;#39;m very interested in feedback on how that&amp;#39;s working out for anyone using it.&lt;br/&gt;&lt;br/&gt;#ktistec #fediverse #activitypub #crystallang
    </content>
    <updated>2025-10-23T13:11:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsdy70ktjkjp7wnpxftrvzzcutmwdwgdc7n8hks2x257aewt5y89lgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g7e605r</id>
    
      <title type="html">wondering what’s the easiest thing around that can quickly take ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsdy70ktjkjp7wnpxftrvzzcutmwdwgdc7n8hks2x257aewt5y89lgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g7e605r" />
    <content type="html">
      wondering what’s the easiest thing around that can quickly take a video and transcribe the audio? ideally in a way that I could add a “transcribe” button to #ktistec. i appreciate the benefits of video but it’s not the format i’m looking to consume most of the time.
    </content>
    <updated>2025-10-07T16:20:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstc07js03ywp3s8lpn7xp00nny4z58xlqjjjzua6m8vaeqnxz4hgszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g292r9r</id>
    
      <title type="html">@jrollans it&amp;#39;s a loyalty test. demand something arbitrary and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstc07js03ywp3s8lpn7xp00nny4z58xlqjjjzua6m8vaeqnxz4hgszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g292r9r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw3vpghqxdxp4s5mxyjnrrrxf4klneqlzp6pd43kj2p3tq3j6p3xcpz4mhxue69uhhyetvv9ujumt0wd68ytnsw43qjuwh4y&#39;&gt;nevent1q…wh4y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@jrollans it&amp;#39;s a loyalty test. demand something arbitrary and see who complies.
    </content>
    <updated>2025-01-29T19:35:53Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsdsnchz7wl60mrdpwu6hz67dhm3p6tp5vf6x6hj6ldv79xanal3ygzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g23nvc3</id>
    
      <title type="html">A new release of ktistec that improves database performance is ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsdsnchz7wl60mrdpwu6hz67dhm3p6tp5vf6x6hj6ldv79xanal3ygzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g23nvc3" />
    <content type="html">
      A new release of ktistec that improves database performance is imminent. In the past, database optimization usually meant &amp;#34;fixing a bunch of poorly constructed queries&amp;#34;, and I&amp;#39;m sure there&amp;#39;s more of that to do—I&amp;#39;m not an expert. But this time, I found most of the queries were as good as they were going to get on my watch (I&amp;#39;m not an expert). If you have a million records and you need to filter and count them, that&amp;#39;s just going to take some time...&lt;br/&gt;&lt;br/&gt;So this time, I focused on caching the results of queries like that (which really means I focused on cache invalidation, right). A case in point is commit d544b1af. Previously, the nodeinfo endpoint filtered and counted posts on every request, and it took &#43;80msec to do that. Worse, the filtering pushed everything else out of the sqlite page cache, which made the next, unrelated database query slow!&lt;br/&gt;&lt;br/&gt;Caching this value, and only recounting when I post something, not only dropped the service time for the request to ~1msec but actually improved database performance, generally!&lt;br/&gt;&lt;br/&gt;More to come...&lt;br/&gt;&lt;br/&gt;#ktistec #fediverse #activitypub #crystallang
    </content>
    <updated>2025-01-29T13:48:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsd4ydntfzxdaseyzjrue8yxd2ut7s4z0xu2e9rmfgyc2wpnrhwddszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gtp822s</id>
    
      <title type="html">@jrollans in my case (single-user mastodon → ktistec) the only ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsd4ydntfzxdaseyzjrue8yxd2ut7s4z0xu2e9rmfgyc2wpnrhwddszyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gtp822s" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9aq4eanjwr2a2k5exv9k3jg3dqm7p87alhqajzqx3cyp6ma3nlyspz4mhxue69uhhyetvv9ujumt0wd68ytnsw43qnfshzs&#39;&gt;nevent1q…shzs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@jrollans in my case (single-user mastodon → ktistec) the only side-effect was a lot of traffic to the new application that it didn&amp;#39;t know how to handle (ktistec doesn&amp;#39;t support polls, for example, and i got rid of a few extra accounts). but other than the noise in the logs, posts, shares, etc. worked once i re-followed.
    </content>
    <updated>2025-01-26T23:29:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszt8m44hy4tjyhzmscetzxm26ln8p9d0qfemyf5970naerz50v36qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gxqhu4v</id>
    
      <title type="html">Ktistec release v2.4.5 rolls out the build time and executable ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszt8m44hy4tjyhzmscetzxm26ln8p9d0qfemyf5970naerz50v36qzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635gxqhu4v" />
    <content type="html">
      Ktistec release v2.4.5 rolls out the build time and executable size optimizations I&amp;#39;ve been blogging about here. It also fixes a few small bugs.&lt;br/&gt;&lt;br/&gt;Fixed&lt;br/&gt;&lt;br/&gt;Handle @-mentions with hosts in new posts.&lt;br/&gt;Handle HEAD requests for pages with pretty URLs.&lt;br/&gt;Destroy session after running scripts.&lt;br/&gt;&lt;br/&gt;Changed&lt;br/&gt;&lt;br/&gt;Delete old authenticated sessions.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve started a branch full of query optimizations. My general rule—as highlighted in the server logs—is if a query takes longer than 50msec, it takes too long. It&amp;#39;s time to address some problems...&lt;br/&gt;&lt;br/&gt;#ktistec #fediverse #activitypub #crystallang
    </content>
    <updated>2025-01-19T14:57:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsztwt03va7jlukaju36e3fqmz6gnas2yas7zyh5k4y5mc4rx8uveqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g5jvqh6</id>
    
      <title type="html">@liaizon there&amp;#39;s a brief changelog in the description of the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsztwt03va7jlukaju36e3fqmz6gnas2yas7zyh5k4y5mc4rx8uveqzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g5jvqh6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2gwmq3jqxflz7k8ck7vg35vrj4mhmxcydm9utj3qar9f4yvuuadqpz4mhxue69uhhyetvv9ujumt0wd68ytnsw43qqfjesc&#39;&gt;nevent1q…jesc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;@liaizon there&amp;#39;s a brief changelog in the description of the release. and a more detailed commit by commit history. the main user-facing feature was content translation support, but it took quite a lot of backend work to support it.
    </content>
    <updated>2024-12-29T15:57:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrzn0a9hqsaee8kpz0hltszflf0mzvexkwfrtg05vta7k04h03ncczyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g78z4wp</id>
    
      <title type="html">@jayvii i just tagged a new release. it looks like the docker ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrzn0a9hqsaee8kpz0hltszflf0mzvexkwfrtg05vta7k04h03ncczyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635g78z4wp" />
    <content type="html">
      @jayvii i just tagged a new release. it looks like the docker build built the release successfully. congratulations and thanks!
    </content>
    <updated>2024-12-29T15:18:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs95l457lej5gzcfmh2kw0m9veukx3e3v4s2zeeeqfxgjjswjxnemgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635ghky3zr</id>
    
      <title type="html">it think i&amp;#39;ve just been made a fan of the oxford comma ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs95l457lej5gzcfmh2kw0m9veukx3e3v4s2zeeeqfxgjjswjxnemgzyr84hk4dvxpn66x9e6akrphvdegem6wjm9jdjffll3ye644rs635ghky3zr" />
    <content type="html">
      it think i&amp;#39;ve just been made a fan of the oxford comma&lt;br/&gt;&lt;br/&gt;#grammar
    </content>
    <updated>2024-04-22T15:04:59Z</updated>
  </entry>

</feed>