<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-03-30T08:37:08&#43;02:00</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by YuurinBee</title>
  <author>
    <name>YuurinBee</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub12w73tzcqgpr2pcy4el5x60d2emeud4cyeeayynzqqg2fefzgytaqm4ktz3.rss" />
  <link href="https://nostr.ae/npub12w73tzcqgpr2pcy4el5x60d2emeud4cyeeayynzqqg2fefzgytaqm4ktz3" />
  <id>https://nostr.ae/npub12w73tzcqgpr2pcy4el5x60d2emeud4cyeeayynzqqg2fefzgytaqm4ktz3</id>
  <icon>https://blossom.primal.net/798332172930b04bffec9b82d0c411532ab2d299fe0554ead9e613c20a80fe97.png</icon>
  <logo>https://blossom.primal.net/798332172930b04bffec9b82d0c411532ab2d299fe0554ead9e613c20a80fe97.png</logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsgmvuuhg49xc9vnlfhfeuagagczvpwtcnx3s8mzlusfh4nqk4qjuczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305je73ge</id>
    
      <title type="html">Completely changes the way you look at discomfort.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgmvuuhg49xc9vnlfhfeuagagczvpwtcnx3s8mzlusfh4nqk4qjuczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305je73ge" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgwv6cg9vaawf8xp4x3mg45xwp7reyz7npfprk6z9mu8t8dkl6rjslsdgj9&#39;&gt;nevent1q…dgj9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Completely changes the way you look at discomfort.
    </content>
    <updated>2026-04-24T12:21:40&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9uetgyvaucrjdvq54u9459f33ln0nucdfsyk0ljkvxcejs5zrqlszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305gqnwnn</id>
    
      <title type="html">Orphan Design Looking For Home. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9uetgyvaucrjdvq54u9459f33ln0nucdfsyk0ljkvxcejs5zrqlszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305gqnwnn" />
    <content type="html">
      Orphan Design Looking For Home.&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/bc62efe7e0af08b3e8a0c66d5b765c8ad70ab10a64ed9749a4ba868dcdb02d26.jpg&#34;&gt;   &lt;img src=&#34;https://image.nostr.build/c5427a136306ea901f22dcd9772e4861763f97cb49818b60d99a9506760a3ba6.jpg&#34;&gt; &lt;br/&gt;&lt;br/&gt;*Can modify to fit any color palette. &lt;br/&gt;&lt;br/&gt;&amp;gt; Contact me if you&amp;#39;re interested.
    </content>
    <updated>2026-04-22T05:27:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswa403t4fu3nr8cfu76ms45v2wqcqwr434nwgms3rtlyzy29m2k2czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30583udyf</id>
    
      <title type="html">The only reason why you aren&amp;#39;t successful or achieving your ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswa403t4fu3nr8cfu76ms45v2wqcqwr434nwgms3rtlyzy29m2k2czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30583udyf" />
    <content type="html">
      The only reason why you aren&amp;#39;t successful or achieving your goals in life is because you aren&amp;#39;t sprinkling cinnamon in your coffee.
    </content>
    <updated>2026-04-20T23:50:44&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxf76eukzqpnu8xlr3l0z80k0z4xn2xqxglngt0h897gux5cetmtszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kkzmk4</id>
    
      <title type="html">Oh man, a lot to wrap my head around haha. Thank you, just ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxf76eukzqpnu8xlr3l0z80k0z4xn2xqxglngt0h897gux5cetmtszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kkzmk4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfl6938pxxs0z8vn7g69vhqg7k64lxmf4dl6myvy26l0rmskl2rmc9l4hv6&#39;&gt;nevent1q…4hv6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Oh man, a lot to wrap my head around haha. Thank you, just followed as well. The Apps section on the Menu takes you to nostrapps.io.
    </content>
    <updated>2026-04-16T18:35:30&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd8e25rjtwvdzg3as77mt28sa0z7hcujddx0qc8gxtr3w73080yfgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305uszcdd</id>
    
      <title type="html">Thanks, Derek! I think Fiatjaf runs nostr.com &amp;gt; nostrapps.com ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd8e25rjtwvdzg3as77mt28sa0z7hcujddx0qc8gxtr3w73080yfgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305uszcdd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswlc002rz77hfd6a449hyev5wlluwnz45w93ca945572edqf4yv0qw6kl08&#39;&gt;nevent1q…kl08&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thanks, Derek! I think Fiatjaf runs nostr.com &amp;gt; nostrapps.com if I&amp;#39;m not mistaken, but just gave a follow to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqswlf4t6zg59jhj8hahpmfmn025jppfq892vmmgvfv6rnz45jtsx6gelzf60&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;elidy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…zf60&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; never enough designers.
    </content>
    <updated>2026-04-16T18:18:37&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszccckgfuhv0fqgdh4a8dzxdk3gv9lmezlt2wn5qz6ktvt2xkex3gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kcwu7w</id>
    
      <title type="html">Ah, @nprofile…cy6q you manage nostr.com and the nostrapps.com ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszccckgfuhv0fqgdh4a8dzxdk3gv9lmezlt2wn5qz6ktvt2xkex3gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kcwu7w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqms69f3etrnhulevuhquzkvj8yr7h8ytcsyy88pq0ejaser4dhcszfv5pz&#39;&gt;nevent1q…v5pz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Ah, &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8g2lcy6q&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;fiatjaf&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…cy6q&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; you manage nostr.com and the nostrapps.com right? &lt;br/&gt;&lt;br/&gt;There&amp;#39;s a small backlog of PRs for projects to add to nostr.com and nostrapps.com like &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;White Noise&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1wht…r3ec&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; Ditto and some others.&lt;br/&gt;&lt;br/&gt;Let me know if there&amp;#39;s anything I can to do help assist. We have some people checking out Nostr and looking for apps on the website, but can&amp;#39;t find them. Thanks!  🙏&lt;br/&gt;&lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/66b2a5904d50610433c856847a31e2072a91aa3540e417215c03ac3b511d28f9.png&#34;&gt; 
    </content>
    <updated>2026-04-16T18:16:31&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy660zwnzapwzdsl0mku6qwfm52re2hh4k2mdq3c5vrz0vlz7lspgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305x74j52</id>
    
      <title>Nostr event nevent1qqsy660zwnzapwzdsl0mku6qwfm52re2hh4k2mdq3c5vrz0vlz7lspgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305x74j52</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy660zwnzapwzdsl0mku6qwfm52re2hh4k2mdq3c5vrz0vlz7lspgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305x74j52" />
    <content type="html">
      Does anyone know who created and maintains nostr.org?
    </content>
    <updated>2026-04-16T17:36:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszpj8qx6y0fcg2qse2tpj2rkqvg2ejq7739q5v7qzxu8d6p977p3czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305sxd52q</id>
    
      <title type="html">GM Zorbar! ☕</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszpj8qx6y0fcg2qse2tpj2rkqvg2ejq7739q5v7qzxu8d6p977p3czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305sxd52q" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgjzh92naesv89gyg0p89ck4t8e293qkeyrnfrpusw3p6ep46xlrsu572ph&#39;&gt;nevent1q…72ph&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;GM Zorbar!  ☕
    </content>
    <updated>2026-04-16T17:36:19&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstd06enh80x2pcej6z282fc5lsr952lmuxxpky4u072krpt9xs49gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305su0kym</id>
    
      <title type="html">have to love Japan!</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstd06enh80x2pcej6z282fc5lsr952lmuxxpky4u072krpt9xs49gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305su0kym" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsps8qnscqmzu99marar7aysq762ae4j7yej0jacfm3l9ccel4gs8ccedtem&#39;&gt;nevent1q…dtem&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;have to love Japan!
    </content>
    <updated>2026-04-16T15:17:09&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspquxa08swss3q29kzgc7c0d2tgzycqlwuvhmmf8f8e4j8rqn25pczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305lnlqhz</id>
    
      <title type="html">🙏 Want to see about making some more pixel assets this year ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspquxa08swss3q29kzgc7c0d2tgzycqlwuvhmmf8f8e4j8rqn25pczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305lnlqhz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspvqfhx8lwreljcspz827v28f8w8x5um5tkf8rgd60fx5pdukslysskc0nc&#39;&gt;nevent1q…c0nc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;🙏 Want to see about making some more pixel assets this year and possibly looking into some game development on Nostr with &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdzvlvkzvk8flh5uzm7fgryj3zdl9vhag7hfhskxuhm7xqjvu2fjqz2tsc6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tsc6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;
    </content>
    <updated>2026-04-16T15:11:23&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszxy4y9vnceq0y945jczpz5g8fm3qjsp4nuwq6vfrphylcwzfd6rczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3057lyyur</id>
    
      <title type="html">The worst part is, I have used the em dash — since I discovered ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszxy4y9vnceq0y945jczpz5g8fm3qjsp4nuwq6vfrphylcwzfd6rczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3057lyyur" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspyq0z6vwhxect8hrdsqnsgus7uvsw98yzaqg4x82uhgnavxlu4gswmhuw0&#39;&gt;nevent1q…huw0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The worst part is, I have used the em dash — since I discovered it like 8 years ago lol, didn&amp;#39;t know you could just completely merge 2 completely different trains of thought with one symbol and not breaking grammatical rules, now that is the tell tale sign for AI. Proper Grammar, Overused Emojis in Lists, and Em Dash usage lol.
    </content>
    <updated>2026-04-16T14:44:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd22nj9fc2rr8jp9tupq0d7rkj602f3ac8k5egcawqfzjtuvfu32czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3058h8qq6</id>
    
      <title>Nostr event nevent1qqsd22nj9fc2rr8jp9tupq0d7rkj602f3ac8k5egcawqfzjtuvfu32czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3058h8qq6</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd22nj9fc2rr8jp9tupq0d7rkj602f3ac8k5egcawqfzjtuvfu32czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3058h8qq6" />
    <content type="html">
        &lt;img src=&#34;https://image.nostr.build/b72cc6cb4723510fd0d0d63d88fa39bf8e5482662cb2a6a5ea0ebbe543968138.gif&#34;&gt; &lt;br/&gt;&lt;br/&gt;GM, Nostr fam.&lt;br/&gt;&lt;br/&gt;Playing around with a new banner today, a bit of an itch to do some more pixel art. This running animation is much harder than I expected lol, not perfected yet, but you gotta iterate. No, it&amp;#39;s not AI. Individual pixel pushing, which is quite suboptimal for a workflow compared to nicer apps like Aseprite, but I&amp;#39;m using Piskel (FOSS).&lt;br/&gt;&lt;br/&gt;- 24 Frames&lt;br/&gt;- 4 Layers&lt;br/&gt;- 6 Colors&lt;br/&gt;- 10 FPS&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Screenshot of Piskel:&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/f23dcc4866bb2c28ed23adfa87b9013b82ad40b5bc091a8c34c907cd3257867c.jpg&#34;&gt; 
    </content>
    <updated>2026-04-16T14:37:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrvpn64xwkwwwh46wcracnwrplxjj6jjms30xmy8q92etfah9q8cczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305zvz97c</id>
    
      <title type="html">GM, Derek. 🌱 Now that everyone has access to AI, I don&amp;#39;t ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrvpn64xwkwwwh46wcracnwrplxjj6jjms30xmy8q92etfah9q8cczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305zvz97c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvqft5hh88ff4xay9chypfa9lyc8zyaqzn4jfuf9qvz58t2syr2rqnw4chp&#39;&gt;nevent1q…4chp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;GM, Derek.  🌱&lt;br/&gt;&lt;br/&gt;Now that everyone has access to AI, I don&amp;#39;t think developers will ever handwrite logs and notes again. It should always be peer reviewed, but I just don&amp;#39;t see that ever happening now for an efficiency sake. Even for me, as someone who loves to write, I genuinely only write when I&amp;#39;m wanting to write from the heart, share something deeper, or naturally connect with the audience... but not so much for a technical analysis or report. Depends on how well your AI is trained as well, if it is able to write in your tone and style too, creepy to a degree, but we&amp;#39;ve already crossed that point now.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s come with a lot of pros/cons, that is for sure. I think it&amp;#39;s a matter of acceptance and creating a personal standard for what is acceptable and what isn&amp;#39;t (and respectable from an outwards pov). I don&amp;#39;t really have more respect for teams that use AI to write their reports, but I get it... even less respect for people/projects who lack any soul and human element to automate everything. You&amp;#39;ve got to really love and enjoy what you do, that itself is a dying art, but that&amp;#39;s a topic for another day.
    </content>
    <updated>2026-04-16T14:32:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9ej4cyxv24tx3cnkq5qfsfajlvfa8hjvw7d7ap89jlyse8yr6pggzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30562evns</id>
    
      <title type="html">This will forever go down as one of the dumbest things ever said. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9ej4cyxv24tx3cnkq5qfsfajlvfa8hjvw7d7ap89jlyse8yr6pggzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30562evns" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvqn0dssxsaytgdf6q3pk9fr0hrtkds665kqhrq5a8rapv3jez5pqphnekz&#39;&gt;nevent1q…nekz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;This will forever go down as one of the dumbest things ever said.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/8293a6e68a97f72bf1e84267b09424230b711d71ed0b18814ee9b3d7c36c80fd.jpg&#34;&gt; 
    </content>
    <updated>2026-04-15T18:16:02&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0htg76cvs5cr9a32nmqhvrqt7qshsr07y5237xqyzq6n9vvgj56gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3059v7sq5</id>
    
      <title type="html">Thanks @nprofile…c29f - I&amp;#39;ll check them out. Want to build ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0htg76cvs5cr9a32nmqhvrqt7qshsr07y5237xqyzq6n9vvgj56gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3059v7sq5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs285ph99u5h50r3uxf4tr5jagzjug4nlswnj8raaxvf7pj95x0ldgqstvc7&#39;&gt;nevent1q…tvc7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thanks &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsqqqqqq9g9uljgjfcyd6dm4fegk8em2yfz0c3qp3tc6mntkrrhawgffc29f&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Awiteb&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…c29f&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; - I&amp;#39;ll check them out. Want to build a nice feed here on Nostr.
    </content>
    <updated>2026-03-31T01:33:21&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9sqyujtgj69czz657clgt72xnqldvfmtuls75e6r2h8qwcwxrmzszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305segdst</id>
    
      <title type="html">Who should I be following on Nostr? Looking for an optimized feed ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9sqyujtgj69czz657clgt72xnqldvfmtuls75e6r2h8qwcwxrmzszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305segdst" />
    <content type="html">
      Who should I be following on Nostr? Looking for an optimized feed here.
    </content>
    <updated>2026-03-30T23:39:06&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqxge4ypr32td0ah89ycqdjrttm5527g3y8te8e2sy2kn097hu50szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305h52w9p</id>
    
      <title type="html">Massive overhaul, look at all those improvements, commits, and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqxge4ypr32td0ah89ycqdjrttm5527g3y8te8e2sy2kn097hu50szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305h52w9p" />
    <content type="html">
      Massive overhaul, look at all those improvements, commits, and contributors.  💪 White Noise is steady crankin&amp;#39; and leveling up.&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzqawhxlp5wfr3q2wyfpmtxvxj9ppg3fp80x6erghdfk4pcmq8a7hhqqfhw6rfw3jj6mn0d9ek2ttkxgcryd3nx5ca2858&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…2858&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;We shipped v0.3.0 one week ago and said nothing about it. Within hours of release we found bugs that caused messages to vanish from group chats to some users. Announcing a messenger that loses messages felt wrong, so we went quiet and fixed it instead. &lt;strong&gt;v2026.3.5 &lt;/strong&gt;is the result: everything new from v0.3.0, with the reliability problems solved.&lt;/p&gt;

&lt;p&gt;For anyone coming from an older version, this is a large update. New encryption under the hood, real-time message delivery, image sharing, group chats, Amber support, and a long list of improvements that make the app feel like a different product. Here is what changed and why:&lt;/p&gt;

&lt;h3 id=&#34;upgrading-2&#34;&gt;Upgrading&lt;/h3&gt;

&lt;p&gt;If you are coming from v0.3.0, the upgrade is simple. Your existing groups stay intact, but the encryption method for new group messages has changed. Group members who have not yet upgraded to &lt;strong&gt;v2026.3.5&lt;/strong&gt; will not be able to read new messages or receive images until they update. Once everyone in a group is on &lt;strong&gt;v2026.3.5&lt;/strong&gt;, everything works as expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you are coming from an older version (v0.2.x or earlier), this upgrade requires a one-time reset of all local data.&lt;/strong&gt; Messages, images, group memberships, and settings will be erased when you open the new version. The reason: the Marmot protocol changed how it manages encryption state for groups, and we moved the local database from unencrypted to fully encrypted storage. Least Authority&amp;#39;s security audit confirmed encrypted storage as a priority, since a messenger built on privacy should not store conversations in plaintext on disk. Because the database library has no way to migrate between formats, a clean break was the only option that would not risk silent corruption.\
\
&lt;strong&gt;Before upgrading from v0.2.x, back up your nsec (your private key) &lt;/strong&gt;if you have not already. After updating, log in with your existing keys or connect through Amber. Your profile information lives on Nostr relays, so it will sync back automatically when you sign in. Follow list persists on relays too. Groups from v0.2.x will need to be recreated, since the old encryption state cannot carry over.&lt;/p&gt;

&lt;p&gt;The database and protocol structures now support proper migrations, so future updates will preserve your data regardless of which version you are coming from.&lt;/p&gt;

&lt;h3 id=&#34;amber-and-external-signers-2&#34;&gt;Amber and External Signers&lt;/h3&gt;

&lt;p&gt;For users who manage their Nostr keys through a dedicated signing app like Amber, White Noise previously required you to paste your private key directly into the app. That meant trusting the app with your most sensitive credential. With this release, White Noise connects to Amber and other external signers directly, so your private key never leaves the signer. The app asks the signer to authorize each action, and the key stays where it belongs.&lt;/p&gt;

&lt;p&gt;QR code scanning accepts both private keys (nsec) and public keys (npub) without requiring you to know which format you are scanning. If you have been waiting for external signer support before trying White Noise, this is the release.&lt;/p&gt;

&lt;h3 id=&#34;messages-that-arrived-late-now-arrive-2&#34;&gt;Messages That Arrived Late Now Arrive&lt;/h3&gt;

&lt;p&gt;The most consequential fix in this release is invisible. In v0.3.0, messages sent during the brief window between receiving a Welcome and subscribing to the group relay would vanish. Late-arriving messages from previous MLS epochs were permanently marked as failed because &lt;code&gt;max_past_epochs&lt;/code&gt; was never wired into the OpenMLS configuration (it defaulted to zero).&lt;/p&gt;

&lt;p&gt;Both problems are fixed. The Rust backend now gates catch-up on subscription readiness instead of a fixed sleep timer, and &lt;code&gt;max_past_epochs&lt;/code&gt; defaults to 5. Messages that arrive slightly out of order or from a previous epoch now decrypt correctly. OpenMLS was bumped to 0.8.1, which includes a security fix for tag comparison (GHSA-8x3w-qj7j-gqhf).&lt;/p&gt;

&lt;h3 id=&#34;relay-handling-that-does-not-strand-users-2&#34;&gt;Relay Handling That Does Not Strand Users&lt;/h3&gt;

&lt;p&gt;v0.3.0 had a blind spot: if a user&amp;#39;s inbox relay list (kind 10050) was missing, giftwrap subscriptions would silently fail. The user could log in but never receive messages.&lt;/p&gt;

&lt;p&gt;This release falls back to NIP-65 relays when inbox relay lists are absent ([whitenoise-rs#518](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/518%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/518&amp;gt;)&lt;/a&gt;). Login now blocks when any of the required relay lists (kinds 10002, 10050, 10051) are missing, preventing users from entering a broken state. Relay filter validation and semantic event selection were hardened. The &lt;code&gt;NostrManager::with_signer&lt;/code&gt; path is now cancellation-safe. Subscriptions recover after external signer re-registration instead of going silent.&lt;/p&gt;

&lt;h3 id=&#34;message-delivery-status-2&#34;&gt;Message Delivery Status&lt;/h3&gt;

&lt;p&gt;Previous versions published messages with no feedback. The app fired events at relays and moved on. If relays rejected or never acknowledged the message, the sender had no way to know.&lt;/p&gt;

&lt;p&gt;Publishing is now tracked end-to-end. Messages appear immediately with a &lt;code&gt;Sending&lt;/code&gt; status, transition to &lt;code&gt;Sent(N relays)&lt;/code&gt; after relay acknowledgment, or &lt;code&gt;Failed(reason)&lt;/code&gt; after three automatic retries with exponential backoff (2s, 4s). The Rust backend streams status updates through flutter_rust_bridge, and the Flutter UI renders them as sending, sent or failed on each outgoing bubble ([whitenoise-rs#519](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/519%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/519&amp;gt;&lt;/a&gt;), [whitenoise#425](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/425%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/425&amp;gt;)&lt;/a&gt;). Tap a failed message to retry manually. Retried messages reposition to the end of the chat list.&lt;/p&gt;

&lt;p&gt;Delivery status persists across app restarts and survives relay echo reprocessing without regressing to stale state ([whitenoise-rs#559](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/559%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/559&amp;gt;&lt;/a&gt;), [whitenoise-rs#556](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/556%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/556&amp;gt;)&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;mip-04-encrypted-media-2&#34;&gt;MIP-04: Encrypted Media&lt;/h3&gt;

&lt;p&gt;MIP-04 defines how Marmot clients encrypt files for upload and decrypt them after download. The encryption key derives from the MLS group secret via HKDF-Expand, so only group members can access shared media. File metadata (MIME type, dimensions, blurhash) travels as an IMETA tag inside the encrypted MLS message.&lt;/p&gt;

&lt;p&gt;The MDK exposes MIP-04 through UniFFI bindings for Kotlin, Swift, Python, and Ruby ([mdk#215](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/215%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/215&amp;gt;)&lt;/a&gt;). The HKDF key derivation was corrected to use expand-only semantics with the exporter secret as PRK, matching the specification exactly ([mdk#217](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/217%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/217&amp;gt;)&lt;/a&gt;). The TypeScript SDK implements MIP-04 natively with a &lt;code&gt;GroupMediaStore&lt;/code&gt;, IMETA tag parsing, and event-driven media caching ([marmot-ts#55](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts/pull/55%3E%29&#34;&gt;https://github.com/marmot-protocol/marmot-ts/pull/55&amp;gt;)&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;replies-that-work-like-replies-2&#34;&gt;Replies That Work Like Replies&lt;/h3&gt;

&lt;p&gt;Swipe-to-reply, auto-focus on the input field, and author-colored quote previews make replies feel like a natural part of conversation instead of an afterthought ([whitenoise#389](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/389%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/389&amp;gt;)&lt;/a&gt;). Tapping a reply scrolls to the original message. The reply context preserves media attachments in the quote.&lt;/p&gt;

&lt;h3 id=&#34;media-previews-in-chat-list-2&#34;&gt;Media Previews in Chat List&lt;/h3&gt;

&lt;p&gt;Conversations with image-only messages no longer show empty previews. The chat list displays an attachment indicator so you can tell what happened without opening the conversation ([whitenoise#414](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/414%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/414&amp;gt;)&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;group-security-hardening-2&#34;&gt;Group Security Hardening&lt;/h3&gt;

&lt;p&gt;Key packages are now validated before adding members to a group. The backend checks kind, base64 payload, ciphersuite, required MLS extensions, and verifies the event pubkey matches the expected member ([whitenoise-rs#548](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/548%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/548&amp;gt;)&lt;/a&gt;). Admin-only mutations (add members, remove members, update group data) are enforced with fail-fast checks ([whitenoise-rs#547](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/547%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/547&amp;gt;)&lt;/a&gt;). Post-join self-update is temporarily disabled to prevent stale-state divergence risk ([whitenoise-rs#562](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/562%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/562&amp;gt;)&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;ui-polish-2&#34;&gt;UI Polish&lt;/h3&gt;

&lt;p&gt;Twenty-plus pull requests worth of visual fixes. The home screen layout was flattened with improved spacing for the hero image, slogan, and auth controls ([whitenoise#441](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/441%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/441&amp;gt;)&lt;/a&gt;). The signup bio field no longer gets cut off by the keyboard. The onboarding carousel text renders completely. The npub display uses block-based ellipsis instead of cutting mid-character. Relay input fields have a clear button. Error notices in the chat screen sit in the right position. Blurhash placeholders now match the dimensions of the loaded image instead of rendering at the wrong size. Disabled buttons are visible in both light and dark mode. The base design size matches the Figma source of truth.&lt;/p&gt;

&lt;h3 id=&#34;debug-view-2&#34;&gt;Debug View&lt;/h3&gt;

&lt;p&gt;A new debug screen surfaces logs from the Rust backend directly in the app ([whitenoise#417](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/417%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/417&amp;gt;)&lt;/a&gt;). For developers and testers, this eliminates the need to connect to ADB or read logcat output to diagnose issues.&lt;/p&gt;

&lt;h3 id=&#34;ci-pipeline-2&#34;&gt;CI Pipeline&lt;/h3&gt;

&lt;p&gt;Tests now shard four ways with Rust test coverage included ([whitenoise#419](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/419%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/419&amp;gt;)&lt;/a&gt;). A 10-minute timeout prevents stuck jobs from blocking the queue. APK builds run on every pull request. The release builder and Zapstore asset pipeline shipped alongside v0.3.0 and continue to work for this release.&lt;/p&gt;

&lt;h3 id=&#34;new-clients-and-tools-2&#34;&gt;New Clients and Tools&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;whitenoise-rs CLI.&lt;/strong&gt; A full CLI client and daemon that exposes the Rust backend directly from the command line ([whitenoise-rs#537](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/537%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/537&amp;gt;)&lt;/a&gt;). Commands cover identity management, accounts, groups, chats, messages, follows, users, profile, relays, settings, notifications, and streaming IPC. Includes end-to-end test suite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;wn-tui.&lt;/strong&gt; A terminal client for White Noise, written in Rust. Unicode-safe input, auto-growing composer, reactions, follows management, a status bar with display name and invite count, and a profile screen with bech32 npub conversion. For people who live in the terminal and prefer it that way. ([wn-tui](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/wn-tui%3E%29&#34;&gt;https://github.com/marmot-protocol/wn-tui&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;We tested interoperability (including encrypted media) between the new Marmot typescript library with MDK apps using the pre-alpha Marmots web chat (and it worked!) &amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts%3E&#34;&gt;https://github.com/marmot-protocol/marmot-ts&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dr. Marmot.&lt;/strong&gt; A diagnostic tool that audits your Nostr identity for Marmot compatibility. Checks relay unification across kinds 10002, 10050, and 10051. Detects orphaned key packages. Prescribes fixes. Works on mobile. Has a personality layer called &amp;#34;Jeff mode&amp;#34; for when you want your diagnostics delivered as corporate wellness advice. ([dr.marmot](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/dr.marmot%3E%29&#34;&gt;https://github.com/marmot-protocol/dr.marmot&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&#34;protocol-2&#34;&gt;Protocol&lt;/h3&gt;

&lt;p&gt;The Marmot specification updated three MIPs:&lt;/p&gt;

&lt;p&gt;- &lt;strong&gt;MIP-01&lt;/strong&gt;: Extension format v2 with QUIC varint encoding. Admin pubkeys changed from hex-encoded comma-separated strings to concatenated raw 32-byte x-only public keys.&lt;/p&gt;

&lt;p&gt;- &lt;strong&gt;MIP-02&lt;/strong&gt;: Clarified post-join self-update sequencing with a warning about stale-state divergence risk.&lt;/p&gt;

&lt;p&gt;- &lt;strong&gt;MIP-03&lt;/strong&gt;: NIP-44 replaced with ChaCha20-Poly1305 (described above). MIP-04 exporter label updated from &lt;code&gt;(&amp;#34;nostr&amp;#34;, &amp;#34;nostr&amp;#34;)&lt;/code&gt; to &lt;code&gt;(&amp;#34;marmot&amp;#34;, &amp;#34;encrypted-media&amp;#34;)&lt;/code&gt;.&lt;/p&gt;

&lt;h3 id=&#34;sdks-2&#34;&gt;SDKs&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The MDK shipped three releases in this cycle. v0.6.0 added &lt;code&gt;clear_pending_commit&lt;/code&gt; for recovering from publish failures, ratchet tree inspection with public keys, and proper &lt;code&gt;max_past_epochs&lt;/code&gt; wiring. v0.7.0 exposed MIP-04 encrypted media through UniFFI bindings with &lt;code&gt;encrypt_media_for_upload&lt;/code&gt;, &lt;code&gt;decrypt_media_from_download&lt;/code&gt;, &lt;code&gt;create_media_imeta_tag&lt;/code&gt;, and &lt;code&gt;parse_media_imeta_tag&lt;/code&gt; ([mdk#215](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/215%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/215&amp;gt;)&lt;/a&gt;). v0.7.1 fixed MIP-04 file key derivation to use HKDF-Expand with the exporter secret as PRK ([mdk#217](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/217%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/217&amp;gt;)&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;A CI workflow now checks UniFFI binding coverage against the mdk-core public API surface on every pull request, using nightly rustdoc JSON to compare bound vs. unbound methods. Current coverage: 30/37 bindable methods (81.1%) ([mdk#212](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/212%3E%29%29.&#34;&gt;https://github.com/marmot-protocol/mdk/pull/212&amp;gt;)).&lt;/a&gt;
\
All four language bindings (Python, Ruby, Kotlin, Swift) received automated updates tracking 14 core MDK releases in this period.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The TypeScript SDK added a &lt;code&gt;KeyPackageManager&lt;/code&gt; class with &lt;code&gt;watchKeyPackages&lt;/code&gt; and &lt;code&gt;markUsed()&lt;/code&gt; tracking, typed domain errors replacing generic throws, &lt;code&gt;decryptGroupMessage&lt;/code&gt; (renamed from &lt;code&gt;readGroupMessage&lt;/code&gt;), debug logging via the &lt;code&gt;debug&lt;/code&gt; package, and an anti-fork fix that prevents automatic self-update in &lt;code&gt;joinGroupFromWelcome&lt;/code&gt;. MIP-04 support includes a &lt;code&gt;GroupMediaStore&lt;/code&gt; with event-driven caching, IMETA tag helpers, and per-file encrypt/decrypt methods ([marmot-ts#55](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts/pull/55%3E%29&#34;&gt;https://github.com/marmot-protocol/marmot-ts/pull/55&amp;gt;)&lt;/a&gt;). The npm package was renamed from &lt;code&gt;@internet-privacy/marmots&lt;/code&gt; to &lt;code&gt;@internet-privacy/marmot-ts&lt;/code&gt; ([marmot-ts#59](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts/pull/59%3E%29&#34;&gt;https://github.com/marmot-protocol/marmot-ts/pull/59&amp;gt;)&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;added-2&#34;&gt;Added&lt;/h3&gt;

&lt;p&gt;- Message delivery status: sending, sent (with relay count), failed (with reason) ([whitenoise-rs#519](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/519%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/519&amp;gt;&lt;/a&gt;), [whitenoise#425](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/425%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/425&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Tap-to-retry for failed messages with automatic repositioning ([whitenoise#442](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/442%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/442&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- MIP-04 encrypted media in UniFFI bindings for Kotlin/Swift/Python/Ruby ([mdk#215](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/215%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/215&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- MIP-04 encrypted media in TypeScript SDK with GroupMediaStore ([marmot-ts#55](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts/pull/55%3E%29&#34;&gt;https://github.com/marmot-protocol/marmot-ts/pull/55&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Chat system messages showing inviter on invite screens ([whitenoise#408](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/408%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/408&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Per-message sender name and avatar in group chats ([whitenoise#442](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/442%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/442&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- CLI client and daemon for whitenoise-rs ([whitenoise-rs#537](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/537%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/537&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Key package compatibility validation before member adds ([whitenoise-rs#548](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/548%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/548&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Admin-only mutation enforcement for group operations ([whitenoise-rs#547](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/547%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/547&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- UniFFI bindings coverage CI checker ([mdk#212](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/212%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/212&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Swipe-to-reply with auto-focus and author-colored quotes ([#389](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/389%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/389&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Media-only chat summary in chat list ([#414](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/414%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/414&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Clear button on relay input fields ([#412](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/412%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/412&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Debug view with Rust backend logs ([#417](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/417%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/417&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- APK builds on every pull request ([#401](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/401%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/401&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Follows support in wn-tui ([wn-tui#1](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/wn-tui/pull/1%3E%29&#34;&gt;https://github.com/marmot-protocol/wn-tui/pull/1&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- README pixel art ([#436](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/436%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/436&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&#34;changed-2&#34;&gt;Changed&lt;/h3&gt;

&lt;p&gt;- MIP-03 encryption: NIP-44 replaced with ChaCha20-Poly1305 for kind:445&lt;/p&gt;

&lt;p&gt;- MIP-01 extension format v2 with QUIC varint encoding&lt;/p&gt;

&lt;p&gt;- MIP-04 exporter label updated; HKDF key derivation corrected to expand-only semantics ([mdk#217](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/217%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/217&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- MDK bumped to v0.7.1 with MIP-04 encrypted media support&lt;/p&gt;

&lt;p&gt;- TypeScript SDK npm package renamed from &lt;code&gt;@internet-privacy/marmots&lt;/code&gt; to &lt;code&gt;@internet-privacy/marmot-ts&lt;/code&gt; ([marmot-ts#59](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts/pull/59%3E%29&#34;&gt;https://github.com/marmot-protocol/marmot-ts/pull/59&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Message publishing replaced fire-and-forget with tracked delivery status and automatic retries ([whitenoise-rs#519](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/519%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/519&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Post-join self-update temporarily disabled to prevent stale-state divergence ([whitenoise-rs#562](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/562%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/562&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Home screen layout flattened with improved visual hierarchy ([whitenoise#441](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/441%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/441&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- OpenMLS bumped to 0.8.1&lt;/p&gt;

&lt;p&gt;- Base design size aligned to Figma ([#433](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/433%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/433&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- CI sharded 4-way with Rust tests and 10-min timeout ([#419](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/419%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/419&amp;gt;&lt;/a&gt;), [#431](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/431%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/431&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- &lt;code&gt;whitenoise-rs&lt;/code&gt;: groups and users split into focused submodules ([#541](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/541%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/541&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&#34;fixed-2&#34;&gt;Fixed&lt;/h3&gt;

&lt;p&gt;- iOS crash from duplicate tracing initialization ([#430](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/430%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/430&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Messages lost during Welcome-to-subscription gap ([whitenoise-rs#526](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/526%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/526&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Late-epoch messages permanently marked failed ([whitenoise-rs#525](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/525%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/525&amp;gt;&lt;/a&gt;), [mdk#207](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/207%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/207&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Giftwrap subscriptions failing when inbox relay list missing ([whitenoise-rs#518](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/518%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/518&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Welcome accepted without key-package e-tag ([whitenoise-rs#539](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/539%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/539&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Subscriptions lost after external signer re-registration ([whitenoise-rs#512](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/512%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/512&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Delivery status preserved on echoed outgoing messages ([whitenoise-rs#559](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/559%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/559&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Retry status updates streamed to subscribers immediately ([whitenoise-rs#556](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/556%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/556&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Relay error propagation from sync_relay_urls ([whitenoise-rs#545](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs/pull/545%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs/pull/545&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Media blurhash placeholder sizing to match loaded image dimensions ([whitenoise#442](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/442%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/442&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Message bubble padding and group chat sender info display ([whitenoise#442](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/442%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/442&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- MIP-04 HKDF key derivation corrected to expand-only with exporter secret as PRK ([mdk#217](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/217%3E%29&#34;&gt;https://github.com/marmot-protocol/mdk/pull/217&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Signup bio field cut by keyboard ([#435](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/435%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/435&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Onboarding carousel text cut off ([#404](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/404%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/404&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Media modal blurhash rendering ([#397](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/397%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/397&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Npub ellipsis display ([#388](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/388%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/388&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Chat screen error notice positioning ([#409](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/409%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/409&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Translation fixes including relay validation messages ([#396](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/396%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/396&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- Duplicate DM chats with same peer ([#371](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/pull/371%3E%29&#34;&gt;https://github.com/marmot-protocol/whitenoise/pull/371&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- TypeScript SDK event listener setup order in group subscribe ([marmot-ts#55](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts/pull/55%3E%29&#34;&gt;https://github.com/marmot-protocol/marmot-ts/pull/55&amp;gt;)&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&#34;contributors-2&#34;&gt;Contributors&lt;/h3&gt;

&lt;p&gt;JeffG (erskingardner), Pepi (josefinalliende), Danny M (dannym-arx), emir yorulmaz (untreu2), Javier G. Montoya S. (jgmontoya), hzrd149, gzuuus, Mubarak Auwal (mubarakcoded), JSKitty, Andrew (dechristopher).&lt;/p&gt;

&lt;h3 id=&#34;full-changelog-2&#34;&gt;Full Changelog&lt;/h3&gt;

&lt;p&gt;For the complete list of changes, see the changelogs in each repository:&lt;/p&gt;

&lt;p&gt;- [whitenoise](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise/blob/main/CHANGELOG.md%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise/blob/main/CHANGELOG.md&amp;gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- [whitenoise-rs](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-rs%3E&#34;&gt;https://github.com/marmot-protocol/whitenoise-rs&amp;gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- [mdk](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk%3E&#34;&gt;https://github.com/marmot-protocol/mdk&amp;gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- [marmot](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot%3E&#34;&gt;https://github.com/marmot-protocol/marmot&amp;gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;- [marmot-ts](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/marmot-ts%3E&#34;&gt;https://github.com/marmot-protocol/marmot-ts&amp;gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;---&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;: [github.com/marmot-protocol/whitenoise/releases](https://github.com/marmot-protocol/whitenoise/releases)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diagnose your setup&lt;/strong&gt;: [dr.marmot](&amp;amp;lt;&lt;a href=&#34;https://github.com/marmot-protocol/dr.marmot%3E&#34;&gt;https://github.com/marmot-protocol/dr.marmot&amp;gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Report issues&lt;/strong&gt;: [github.com/marmot-protocol/whitenoise/issues](https://github.com/marmot-protocol/whitenoise/issues)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community call&lt;/strong&gt;: First Tuesday of each month, 1700 UTC\
\
&lt;img src=&#34;https://blossom.primal.net/164d75a98eaf2e354a341fa746bad813fcce360b5315d9e9914c876f4e50cbe7.png&#34; alt=&#34;&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.whitenoise.chat&#34;&gt;DOWNLOAD WHITE NOISE&lt;/a&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-30T23:16:59&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdqmjp278une35pyqmqt0t3pyzyym00kaf4jpp4n0e2p02906mahszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050pjewa</id>
    
      <title type="html">Love this, kinda want to see more philosophical discussions ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdqmjp278une35pyqmqt0t3pyzyym00kaf4jpp4n0e2p02906mahszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050pjewa" />
    <content type="html">
      Love this, kinda want to see more philosophical discussions around privacy. It sometimes is a bit much to only argue over objective protocols and methodologies for better privacy and security. Let&amp;#39;s argue over the principles now  🤣 Just kidding, it really is about all angles... there is not really one without the other. Great piece &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsfvv7uhe7ld8ax7e7dlk8j590sxxtfl7yalmr0jqzf63ft4d8up9cn3e4xr&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;9633dcbe7d&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…e4xr&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt; &amp;#34;If you have an apple and I have an apple and we exchange these apples then you and I will still each have one apple.  But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.&amp;#34; &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpw8e9es7w829s6hxle5hpaea6r7m3yqsjky79aqhhm6ytwa6jtydqq24jnt4vsc9y3fdg9ehwj6r2cmn27zdv424yhfgw2a&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…gw2a&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; 
&lt;h2 id=&#34;philosophy-of-privacy-vector-privacy-interview-with-hans-koning-2&#34;&gt;Philosophy of Privacy — Vector Privacy Interview with Hans Koning&lt;/h2&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/4d3aebcd546f621fb0408b1252a039a65209e61aa4842f0b1d5a6b2b2877fced.jpg&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hans Koning is a privacy advocate, researcher, and decentralization enthusiast with a background in blockchain governance. He has been involved with community-driven projects and DAOs including DigiByte, PIVX, and MetaBrands. Hans ascribes to the philosophies of a  &amp;#34;solarpunk&amp;#34;, someone who sees technology as a positive force for collective good, though he admits this outlook sometimes borders on idealism.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Connect with Hans Koning &amp;gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1f40wa59jvv74atl89uwumgfrqc6nl4sgj4vptqhhw2ykpmplqk8qyw2mzs&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Hans Koning&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1f40…2mzs&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; or &lt;a href=&#34;https://x.com/hanskoning&#34;&gt;Follow on X&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;let-s-jump-right-in-2&#34;&gt;Let&amp;#39;s jump right in...&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;You&amp;#39;ve spent years researching governance in decentralized systems. In your view, what is the most dangerous misconception people have about privacy in the digital age?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;I fear that we as a society see privacy as a magic wand we can just wave around and then exercise privacy whenever and wherever we want. Privacy to me is a binary phenomenon. You either have it or you don’t. We often approach things in a carefree and relaxed manner, until we come to a point we feel we need to intervene. The war on terror for instance is a good example that demonstrates where we as a society showed a causal relationship with privacy all for the greater good. If you are one of us, you have nothing to hide….&lt;/p&gt;

&lt;p&gt;That in itself may be true, but that doesn’t mean it is acceptable. The old adage, the road to hell is paved with good intentions, is an adage for a reason. So, for me the most dangerous misconception is that someone is looking after privacy for us. No, there is not. This was already flagged in 1993 by Eric Hughes in the Cypherpunk’s Manifesto. He stated that privacy is not something that is granted by governments or corporations, but individuals must build their own systems in order to protect it, as privacy is a fundamental necessity for an open society in the digital world we live in. Could not have said it better.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Censorship is often framed as a tool to protect people from harmful content. Where do you draw the line between legitimate moderation and authoritarian censorship and who should get to draw that line?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;Freedom of expression is very much linked to censorship. Actually, in my view there cannot be freedom of expression if there is censorship. So, although we tend to focus on freedom of expression, censorship is often overlooked. Yet it is more important, a conditio sine qua non, an absolute necessity really, so I am really happy with this question.&lt;/p&gt;

&lt;p&gt;When it comes to drawing lines, by default things become arbitrary. What is an acceptable speed on a highway? Ask 10 people, get 10 different answers. So, let’s look at it from a more principled point of view. Is censorship acceptable? If so, when? That is the question really. For me personally it comes close to freedom of expression, and via that I can easier explain. The freedom of expression should be total. No matter how ridiculous, arbitrary or insulting things might be, you should have a right to say that. And you can only say something if you think, so banning freedom of expression equals banning free thought. The thought police? That’s a big no to me.&lt;/p&gt;

&lt;p&gt;I do see a shadow side to this. Namely some people might use language as a weapon. Is that an acceptable reason to apply censorship? For many countries it is. In blockchain censorship resistance is an almost holy principle, but is also acknowledged as a potential divisive phenomenon. To mitigate that the fork option was invented, and by that people are given a choice, you listen to it, or ignore it. And that brings me back to the original question, is censorship legitimate? In the blockchain that is solved via letting the community choose, and that follows another crucial phenomenon namely “self-sovereignty” I can and I will make my own choices, and you do not need to do that for me.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy used to be the default, you had to choose to be public. Now it&amp;#39;s the reverse. How did we get here, and is it possible to shift the default back?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;The sarcastic observation would be when we started to see value in data, and let data become not only big business, but the exclusive business model. And that is a very successful model. You give away a service for free, and receive data in return. Fair exchange? Can be, but don’t think it always is. South Park captured that brilliantly in the Humancentipad episode. We click on just anything really, only to get access to something we feel is important. Hidden in plain view, we simply scroll down and click accept. Convenience and TLDR…&lt;/p&gt;

&lt;p&gt;After the 2016 US presidential elections the Cambridge Analytica scandal revealed that data from Facebook users was used in order to influence elections. Although totally legal at the time, it did show that only a constituency of 24,000 voters was enough to swing the elections. That was only possible because all users (unknowingly) agreed to share their data.&lt;/p&gt;

&lt;p&gt;How do we come back from that? That will ironically not be easy. As Eric Hughes pointed out, individuals need to build their own systems in order to protect their data and privacy. Vector anyone? The key to solving this in my view is awareness, education, and lowkey tech.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decentralization promises to remove gatekeepers, but critics argue it creates new power dynamics &amp;gt; whales, early adopters, protocol developers. Is truly equal governance possible, or is hierarchy inevitable?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;If I may make an observation, I would argue that decentralization removes third parties, not necessarily being gatekeepers. I know, this can be splitting hairs, and that is the least I want to do. However, there are decentralized blockchains that work with what you could call gatekeepers, for instance in the PoS ecosystem, where stakers can decide on issues concerning that blockchain.&lt;/p&gt;

&lt;p&gt;That said, yes, disintermediation indeed creates a new power dynamic. A popular and often successful structure is called the DAO, the decentralized autonomous organization. DAOs have proven to be a workable alternative, although they are not without challenges. Alternatively there are foundation type structures, that can act as a guardian and representative.&lt;/p&gt;

&lt;p&gt;If you simply look at bitcoin you can easily argue governance works. There have been code changes and upgrades, massive debates in the community, and that is all resolved, and the chain is still continuing. So yes, 1,000s of people who do not know each other, spread out all over the world, with all different skill sets have proven that governance can work.&lt;/p&gt;

&lt;p&gt;Governance is more than a pet project to me—have been studying decentralized governance academically for a while now, and have done my own research into it. Although there is much to share on the topic, and I am sure I will do so at a later point in time. There are two key elements in decentralized governance, namely engagement and confidence. Engagement refers to people participating freely and openly, and contributing to the ecosystem. It ensures fairness in the system. Confidence refers to the reliability of the technology. Does the technology, and the code, only do what it is supposed to do? Aspects like trustless and open source underpin confidence.&lt;/p&gt;

&lt;p&gt;Most importantly however is that engagement and confidence work in harmony, like a check and balances system. The technology needs to be updatable by the community, and the user needs to be able to blindly rely on the technology because it is checked by the community. I call this the decentralized governance loop.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Many governments argue that encryption and private messaging are threats to public safety. How would you respond to a lawmaker who says, &amp;#34;If you have nothing to hide, you have nothing to fear&amp;#34;?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;That old chestnut… Ha!&lt;/p&gt;

&lt;p&gt;There are many arguments to use, but the core should be centered on the notion that this is not for the government to decide, but me and me alone.&lt;/p&gt;

&lt;p&gt;Broadly speaking there are three main reasons we should embrace encryption, namely it protects human rights, it is simply not logical, and the potential of abuse of power. To start with the first: the right to privacy is clearly stated in many laws around the world that individuals may have an expectation of privacy. This manifests itself for instance in an illegal search of your house or car. Only with a warrant or a clear and imminent threat this is allowed. Messaging in your phone or computer falls in that same category. Related to this is the expectation that individuals may have in not being monitored.&lt;/p&gt;

&lt;p&gt;Furthermore, there is the logic argument. Don’t think there is anyone who does not have something he or she prefers not to become public knowledge. That doesn’t have to be an illegal act. Why do we have doors in bathrooms, passwords on computers, and close the curtains when we are home? Edward Snowden once said “Arguing that you don&amp;#39;t care about privacy because you have nothing to hide is no different than saying you don&amp;#39;t care about free speech because you have nothing to say.&lt;/p&gt;

&lt;p&gt;Then there is the abuse argument. When a government has total access to all our information, it can easily use that against us by selectively applying new laws against it. This also applies to historical data. What is okay to say now, might be perceived differently 10 years from now. Can you imagine your own data is being weaponized against you?&lt;/p&gt;

&lt;p&gt;In short the issue of privacy isn’t about secrecy, but about self-sovereignty.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You&amp;#39;ve been involved with DAOs and community-driven projects. What has working with decentralized communities taught you about human nature, both the best and worst of it?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;Wow, that is a great question, and also one I need to answer carefully. Communities are like anything in life, diverse, very diverse. There is no cookie cutter image of a community. This is often related to the topic or idea behind the community, how long it’s been active, the predominant geography, financial relevance just to name a few. Just look at any crypto community.&lt;/p&gt;

&lt;p&gt;Intrinsically I have a positive outlook on humanity. Combine that with technology, I see tech as an opportunity and a means to enhance our lives and improve us as a society, and do so collectively. That would make me a solarpunk, a badge I’m proud to wear. That can be and sometimes is perilously close to being naive, perhaps better said an idiot. Still, that is how I see things: hope for the best, but don’t be gutted if it is the worst.&lt;/p&gt;

&lt;p&gt;In the diverse communities and sub-communities, I’ve been involved in I saw a wide representation of humans and their respective behaviors. From amazing, creative, stimulating, contributing people on one end of the spectrum, to idiots, selfish backstabbing bastards, liars, and cheats on the other, and of course anything in between.&lt;/p&gt;

&lt;p&gt;What that has taught me is that a decentralized community is just like in any city really, and funny enough, both are manageable and livable. So, for me ultimately a positive conclusion.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vector Privacy is built on the principle that private communication is a human right, not a feature. How important is messaging privacy specifically, compared to financial privacy or data privacy?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;You can indeed distinguish between all sorts of privacy, related to finance, political, work, social or private life just to name a few. At first glance, you could think they all require different levels of privacy. But do they?&lt;/p&gt;

&lt;p&gt;Let’s start with what privacy is. A broad and commonly used description is that it is the phenomenon where an individual sets and manages boundaries as to what data to share. The what where when and how of data so to say.&lt;/p&gt;

&lt;p&gt;Now, applying that to financial or data privacy, I think there is a massive disconnect between perceived and actual achieved privacy for the simple reason my financial information and my personal data is not always in my hands, and therefore by default not private. My information is collected, aggregated and internally distributed and shared when/where needed by say a bank or government. That is a far cry from what we earlier thought privacy should be.&lt;/p&gt;

&lt;p&gt;That also means they do act based on the privacy by principle, but more on the breach by principle.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Historically, privacy tools have been used by dissidents, journalists, and activists in authoritarian regimes. Do you think people in democratic countries underestimate how quickly their own freedoms can erode?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;That is a very accurate observation. I believe this also fuels the notion or, better said, the expectation that if you have nothing to hide you can share it. Although using it for the very right reasons, by that sheer fact privacy tools also became covered in secrecy.&lt;/p&gt;

&lt;p&gt;But, coming back to the question. Honestly, I think we as a society are gullible and naive when it comes to privacy. Often the things you take for granted tend to erode over time, with privacy definitely being one of them. Think a good example is how people perceive George Orwell’s novel 1984 today. It is now more seen as anecdotal rather than the cautionary tale it was and should be.&lt;/p&gt;

&lt;p&gt;And as a final comment... yes, I take the bait, do we actually live in a democracy? Is going to the polls every few years the best we can do? Asking ourselves and debating among ourselves these very questions is precisely what we should do in order to preserve what we feel is precious. But do we really, or have we lost that appetite? Similar to my comment on 1984, I do see a lesser degree of public debate and discourse now than in the 1980s.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The concept of &amp;#34;self-sovereignty&amp;#34;, owning your own identity, data, and keys is central to the decentralization movement. But most people don&amp;#39;t even use a password manager. How do we bridge that gap between idealism and usability?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;Most people if not all would agree with the notion of self-sovereignty. But unfortunately most people would also see themselves as self-sovereign. That is the actual problem in my view, namely most people would not see the problem we try to address and resolve. Have to “give credit” to the tech industry for letting us perceive it like that. Not an easy feat, but most likely became a mantra that stuck in people’s mind via repetition and in a way coordination by the industry as a whole.&lt;/p&gt;

&lt;p&gt;As to the solution, think I made a reference to that in an earlier question (#3), namely awareness, education and lowkey tech are crucial to getting people to understand the challenge and call them to action. Coming to that realization often happens when it is too late unfortunately. So, that means there’s work to be done. A lot!!&lt;/p&gt;

&lt;p&gt;Good thing the Vector team is not walking away from a challenge.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Social media platforms have become the new public square, but they&amp;#39;re owned by corporations with profit motives. What does a truly free, uncensorable public square look like and is it even desirable?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;A social media platform can only exist when two things occur, namely content and userbase. And both need to be present in big numbers. Without any of those, it is simply a data depository. The big tech has optimized that numbers game, and has been able to monetize that perfectly. And although we all know we are being used, consumer data is leaked, we threat with walking away, but ultimately we hardly do.&lt;/p&gt;

&lt;p&gt;That is also the challenge an uncensorable public square would face: getting the numbers. That is an insurmountable hurdle at the moment. I really wish it were other ways, but that is naive.&lt;/p&gt;

&lt;p&gt;How such a public square should look like? Well, think it is important a sense of belonging is offered, and a reason to be there (over and over again). In that sense Facebook’s Farmville was absolutely brilliant. Additionally, would expect it is important to stay away from walking the moral high ground. The “like to smell my own fart” approach will be ultimately detrimental. Simply relying on the principle is not going to cut it.&lt;/p&gt;

&lt;p&gt;Good thing is, we don’t need to address and solve all problems now and at the same time. One step at the time. The technology and the community need to be seen as ephemeral, that would be my main guiding principle in developing an uncensorable public square.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You&amp;#39;ve worked across DigiByte, PIVX, and MetaBrands — all community-driven projects and DAOs. What&amp;#39;s the single biggest lesson you&amp;#39;ve learned about sustaining a decentralized community long-term?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;The short and ironic answer is that trying to do something for the “greater good” is the hardest thing to do. Decentralization is easy to explain, but hard to see in a relevant context: the why? What is the use and point of decentralization? Or perhaps most bluntly put: what is in it for me?&lt;/p&gt;

&lt;p&gt;The harsh answer is nothing. There is really nothing in decentralization for you directly, but… there is everything in it for us as a society, and by that so much to gain for you personally. I appreciate that this is not easy to understand.&lt;/p&gt;

&lt;p&gt;This is partial because we do live in the era of “look at me”. On average people spent 4 hours a day looking at other people who posted stuff, putting a focus on individualization rather than communal. Additionally, we tend to be set in our ways, and are not necessarily open to new ideas, thoughts or developments. That makes it relatively easy to work with a kindred spirit type of community as with DigiByte and PIVX. Outside of that, it is often hard. Think there are a few reasons for that. First of all, I still think blockchain, crypto, technology is still too complicated. A significant number of people, sometimes me included, is just happy it does what it is supposed to do, and not think critically about it. That is something we see throughout our daily lives. Does anyone really understand how tap and go payments work and what by using it you really do? We simply opt for convenience. Secondly, and connected to the first point, there is also a belief that we cannot impact or influence technology, and just take what is there. I would like to see more a “pull” effect in tech innovation than the current “push” model. We underestimate our, as users, importance and relevance.&lt;/p&gt;

&lt;p&gt;So for me the two main factors you need to address in order to develop, grow and nurture a sustainable decentralized community is technology and engagement. We want to belong to something we can understand and contribute to.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you could send one message to someone who&amp;#39;s never thought about digital privacy before, someone who posts everything publicly and uses default settings on every app, what would you say to them?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#34;You always run the risk of sounding like a Karen if you point out something people do not want to hear. Of course arguments like leaving a digital footprint everywhere, compromising your own (online) safety, or allowing posts to impact you for instance via comments are all valid, but who am I to be judgmental? But, since you asked…&lt;/p&gt;

&lt;p&gt;For me personally, the gratification I get when sharing something with someone I know, directly, and not via a platform, really has no substitute. It really is like the Visa priceless campaign, it is quality over quantity that sparks joy.&amp;#34;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;Interview conducted by Sir Clodsworth III — Vector Privacy 2026&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-28T15:36:16&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdhn2d9qnhwjt770ejzsj22xnv3w4mjddc44khgslr3jd592nw76gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utffp4</id>
    
      <title>Nostr event nevent1qqsdhn2d9qnhwjt770ejzsj22xnv3w4mjddc44khgslr3jd592nw76gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utffp4</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdhn2d9qnhwjt770ejzsj22xnv3w4mjddc44khgslr3jd592nw76gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utffp4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszqk2y47kcmsr5qkhfn8tjlx6v7ps8498t5sl8ya47xer268sqf4shhkhfl&#39;&gt;nevent1q…khfl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/8b21f08570eac937541f226c2f262ecc12d82d94434495e6dad19e9c0760bf67.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Looks great, man! I&amp;#39;ll have to check it out in a moment deeper.
    </content>
    <updated>2026-03-25T19:01:34&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9qu5kfgk0ntwefgvr67hpf6emw9jms5724ta69gh50smks5r0vnszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305z4nulq</id>
    
      <title type="html">I couldn&amp;#39;t find them 😢 I only saw one badge on the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9qu5kfgk0ntwefgvr67hpf6emw9jms5724ta69gh50smks5r0vnszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305z4nulq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyw4l6fwkfyh9yftkg0lmrj3nz937xf5r4d57fxx2cr322w2vgx6cffkwf0&#39;&gt;nevent1q…kwf0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I couldn&amp;#39;t find them  😢 I only saw one badge on the `assets` folder on GitHub. Can you link me please?
    </content>
    <updated>2026-03-25T18:51:11&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg3zhsv7ghzukwsxvk65fz3s49jggqpxpdgrannv9gn50x85wzw6qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305em37mg</id>
    
      <title type="html">I kinda like it. A lot of nesting in the chat bubble, may be ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg3zhsv7ghzukwsxvk65fz3s49jggqpxpdgrannv9gn50x85wzw6qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305em37mg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf6uuurkz37z7jl29un0guh9wn6njsqtc09g0jwyaws2pg0wvav8gdm77ll&#39;&gt;nevent1q…77ll&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I kinda like it. A lot of nesting in the chat bubble, may be unavoidable, but still reads pretty clean overall. Well done.
    </content>
    <updated>2026-03-25T18:08:36&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq8vvgrnddcqxt9khkrj57ws7dk5s06ngqyjs0p059vqzvyjuf3hczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305u9mu3x</id>
    
      <title type="html">Ask and you shall receive, brother. @nprofile…38pc &amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq8vvgrnddcqxt9khkrj57ws7dk5s06ngqyjs0p059vqzvyjuf3hczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305u9mu3x" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszsv2d4pa63x0skpkdge8hxt0dnah68vm5sqcldcqtee7jn5hs84shsyg2e&#39;&gt;nevent1q…yg2e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Ask and you shall receive, brother. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs02f70juxwyc88gfsjzjlkzt50wkjemvvrtmt7gpfnymplvh3r9msgh38pc&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;alp&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…38pc&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;a href=&#34;https://github.com/YuurinBee/Nostr-Design-Resources/tree/main/Zapstore/Badges&#34;&gt;https://github.com/YuurinBee/Nostr-Design-Resources/tree/main/Zapstore/Badges&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/614cb56bb8fb381c717f48c09be7e54eab3fcd7c37adc456f2e623041f16001f.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;
    </content>
    <updated>2026-03-25T17:04:59&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsty2mhlrujaas2ddtad8t2xltxclaqgymg8m7gcwzmqqd6u859j9szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305r97jh3</id>
    
      <title type="html">@nprofile…tdq0 badges published on GitHub! ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsty2mhlrujaas2ddtad8t2xltxclaqgymg8m7gcwzmqqd6u859j9szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305r97jh3" />
    <content type="html">
      &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs83nn04fezvsu89p8xg7axjwye2u67errat3dx2um725fs7qnrqlgzqtdq0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Zapstore&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tdq0&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;  badges published on GitHub!&lt;br/&gt;&lt;a href=&#34;https://github.com/YuurinBee/Nostr-Design-Resources&#34;&gt;https://github.com/YuurinBee/Nostr-Design-Resources&lt;/a&gt;  &lt;img src=&#34;https://image.nostr.build/bfc286acc70a6cb9b7f8ee857c2172fe7df2959747ae0deffc17c93e65b59f0d.jpg&#34;&gt; &lt;br/&gt;&lt;br/&gt;Files are nice and organized, labeled, and the original design files have been included. This repo is not just for Zapstore or projects with Zapstore listings that may want to use the badges, but I will start to update it with other Nostr design resources. &lt;br/&gt;&lt;br/&gt;For now, if there are any questions about rights to use, please contact Zapstore or the respective project owners. I just want high quality assets easily accessible to the public.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m happy to extend this to the community, if anyone would like to update or add their resources here, we can make things easier for designers, developers, and teams. Just let me know, submit an issue or a PR or message me.&lt;br/&gt;&lt;br/&gt;Hope you all enjoy them! Thanks again &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs83nn04fezvsu89p8xg7axjwye2u67errat3dx2um725fs7qnrqlgzqtdq0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Zapstore&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tdq0&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; team for this epic experience and platform for Nostr users. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcyg6fu2lh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;franzap&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…u2lh&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs0dqlgwq6l0t20gnstnr8mm9fhu9j9t2fv6wxwl3xtx8dh24l4auswr6u0j&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;pip&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…6u0j&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qgs980g43vqyq34quz2ul6rd8k4vau7x6uzvu7jzf3qqy9yu53yz97spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsqgy5prn5dt54mc9z9rpz2aepas9vnuxr77shzlk9x2r6749ywa6wqymza007&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…a007&lt;/a&gt;&lt;/span&gt; &lt;/div&gt;  &lt;img src=&#34;https://image.nostr.build/ac23423d3198ffbdad01014a49918e7baa74179be5199be2ef5899e032d67650.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;GM, Nostr!&lt;br/&gt;&lt;br/&gt;On behalf of &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; I wanted to give a special thanks to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs83nn04fezvsu89p8xg7axjwye2u67errat3dx2um725fs7qnrqlgzqtdq0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Zapstore&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tdq0&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcyg6fu2lh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;franzap&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…u2lh&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for such professionalism and efficiency for listing Vector. It honestly is one of the nicest UXs for an app store I&#39;ve seen and really sets the bar for the Nostr ecosystem. Hats off to everyone involved.&lt;br/&gt;&lt;br/&gt;I went to search for some design assets to work on some announcement graphics and help promote Vector&#39;s listing on Zapstore and found the Zapstore GitHub with some design resources. I noticed some of them could use some polish and possibly upload the .svg versions for higher res and scaling across different resolutions. I saw the neat Zapstore Badge with &#34;GET IT ON ZAPSTORE&#34;. Really love this. So, I decided to make some other variations both with text and colors.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/4f57c006d0ee2beceb80cdb65c17e37b29e78f4ad57b9e617e3a491943b0e8f8.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Specifically, I added the &#34;Nostr&#34; Purple that Zapstore uses on its website to keep branding consistent and also the Bitcoin orange. At the bottom is the Vector version for us, but anyone is welcome to use it.&lt;br/&gt;&lt;br/&gt;If you guys would like these assets, please let me know and I can find a way to export &#43; organize them nicely in .png and .svg formats, then I could submit a PR or whatever works best. I&#39;m more than happy to go through to process to export them and have them ready for production, but I will stay on standby in case you have them, don&#39;t need them, etc. just to be efficient with time.&lt;br/&gt;&lt;br/&gt;Thanks for everything you guys do. A rising tide lifts all boats.  &lt;/blockquote&gt;
    </content>
    <updated>2026-03-25T17:02:58&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx7cg36f7m94p6uaclpx70rflfu3qwt26hptq3em6x6cknrylzy6czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305cmzeny</id>
    
      <title type="html">Indeed not an IF, but a WHEN. Soon™</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx7cg36f7m94p6uaclpx70rflfu3qwt26hptq3em6x6cknrylzy6czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305cmzeny" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0hl4cpnuemlrcdutsv8g466fvf6uyd274rvht20d9gkjuxsz9p3gdrvcum&#39;&gt;nevent1q…vcum&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Indeed not an IF, but a WHEN. Soon™
    </content>
    <updated>2026-03-25T16:56:07&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8fs0crv9yzzgwcfmfu8wg49ndmzy75nzm6c2zah8gz92t8wmauyqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3055x6mt5</id>
    
      <title type="html">Thanks! Let me publish them in .png &#43; .svg on GitHub for the time ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8fs0crv9yzzgwcfmfu8wg49ndmzy75nzm6c2zah8gz92t8wmauyqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3055x6mt5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszsv2d4pa63x0skpkdge8hxt0dnah68vm5sqcldcqtee7jn5hs84shsyg2e&#39;&gt;nevent1q…yg2e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thanks! Let me publish them in .png &#43; .svg on GitHub for the time being. Give me some time to export, organize and upload, but will have it available shortly.
    </content>
    <updated>2026-03-25T15:22:51&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyfgj83nmeuek4q4mnytdvd709gk0kxzhtpdnmcvygl6ll033aucgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305yu74fe</id>
    
      <title>Nostr event nevent1qqsyfgj83nmeuek4q4mnytdvd709gk0kxzhtpdnmcvygl6ll033aucgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305yu74fe</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyfgj83nmeuek4q4mnytdvd709gk0kxzhtpdnmcvygl6ll033aucgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305yu74fe" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgmn44hhwvqe57h6ajmlyqklzwfu26qsmg36rnx6yjh0w3exzn54gtmryqs&#39;&gt;nevent1q…ryqs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/a4ad5fc30df88b35c4716bf12532e00969ed4d0ce610747b6f76524c8fcad266.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Perfect! Thanks, just gave a follow to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs2js6wu9j76qdjs6lvlsnhrmchqhf4xlg9rvu89zyf3nqq6hygt0sty4s8y&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Niel Liesmons&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…4s8y&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; as well. So, there were only 2 images I saw on GitHub Assets folder to really clean up resolution (GitHub &#43; F-Droid). I am about to PR them so you don&amp;#39;t have to do anything, but review.&lt;br/&gt;&lt;br/&gt;Same Resolution 100x100px&lt;br/&gt;Reduced Filesize (9KB &amp;gt; 1 KB) &#43; (9.74KB &amp;gt; 2KB)&lt;br/&gt;&lt;br/&gt;I will also have the .svgs saved if you would like to have them for future use. I have a million of these for different platforms and usually have to recreate them, so I have quite the archive of brand assets (&#43; different variations) if you ever need any, feel free to reach out.&lt;br/&gt;&lt;br/&gt;GitHub PR on Zapstore:&lt;br/&gt;&lt;a href=&#34;https://github.com/zapstore/zapstore/pull/352&#34;&gt;https://github.com/zapstore/zapstore/pull/352&lt;/a&gt;&lt;br/&gt;
    </content>
    <updated>2026-03-25T15:11:27&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfgz88g6hfths2y2xzy4mjrmq2e8cv8aapw9lv2v584a22gam5uqgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wqra6q</id>
    
      <title>Nostr event nevent1qqsfgz88g6hfths2y2xzy4mjrmq2e8cv8aapw9lv2v584a22gam5uqgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wqra6q</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfgz88g6hfths2y2xzy4mjrmq2e8cv8aapw9lv2v584a22gam5uqgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wqra6q" />
    <content type="html">
       &lt;img src=&#34;https://image.nostr.build/ac23423d3198ffbdad01014a49918e7baa74179be5199be2ef5899e032d67650.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;GM, Nostr!&lt;br/&gt;&lt;br/&gt;On behalf of &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; I wanted to give a special thanks to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs83nn04fezvsu89p8xg7axjwye2u67errat3dx2um725fs7qnrqlgzqtdq0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Zapstore&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tdq0&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcyg6fu2lh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;franzap&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…u2lh&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for such professionalism and efficiency for listing Vector. It honestly is one of the nicest UXs for an app store I&amp;#39;ve seen and really sets the bar for the Nostr ecosystem. Hats off to everyone involved.&lt;br/&gt;&lt;br/&gt;I went to search for some design assets to work on some announcement graphics and help promote Vector&amp;#39;s listing on Zapstore and found the Zapstore GitHub with some design resources. I noticed some of them could use some polish and possibly upload the .svg versions for higher res and scaling across different resolutions. I saw the neat Zapstore Badge with &amp;#34;GET IT ON ZAPSTORE&amp;#34;. Really love this. So, I decided to make some other variations both with text and colors.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/4f57c006d0ee2beceb80cdb65c17e37b29e78f4ad57b9e617e3a491943b0e8f8.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Specifically, I added the &amp;#34;Nostr&amp;#34; Purple that Zapstore uses on its website to keep branding consistent and also the Bitcoin orange. At the bottom is the Vector version for us, but anyone is welcome to use it.&lt;br/&gt;&lt;br/&gt;If you guys would like these assets, please let me know and I can find a way to export &#43; organize them nicely in .png and .svg formats, then I could submit a PR or whatever works best. I&amp;#39;m more than happy to go through to process to export them and have them ready for production, but I will stay on standby in case you have them, don&amp;#39;t need them, etc. just to be efficient with time.&lt;br/&gt;&lt;br/&gt;Thanks for everything you guys do. A rising tide lifts all boats. 
    </content>
    <updated>2026-03-25T13:58:11&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxcjas35ptpqkyg2qav3q9lrl4j0dvlruhrk5624rf8qcddtx44zgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3054ny6az</id>
    
      <title type="html">#naddr1qv…w6hm</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxcjas35ptpqkyg2qav3q9lrl4j0dvlruhrk5624rf8qcddtx44zgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3054ny6az" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpw8e9es7w829s6hxle5hpaea6r7m3yqsjky79aqhhm6ytwa6jtydqq2kk5j3tak5snmxfek4x32g2y6455nhvyukje2w6hm&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…w6hm&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;We&amp;#39;ve just released the latest version of Vector that primarily covered security upgrades, Android optimizations (resources &#43; preserving battery life), profile URL sharing, and new chat features. So, feel free to update to the latest version and test them out yourself! If you can&amp;#39;t find any of the features you want to test or not sure where,  just post in chat and the team, developers, and community can assist you. Below is the complete list of improvements and fixes for &lt;code&gt;v0.3.3&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Website:&lt;a href=&#34;https://vectorapp.io&#34;&gt;Download Now&lt;/a&gt;
⭐&lt;a href=&#34;https://github.com/VectorPrivacy/Vector/releases/tag/v0.3.3&#34;&gt;Visit GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;new-features-2&#34;&gt;&lt;strong&gt;New Features:&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;🚫 &lt;strong&gt;User Blocking&lt;/strong&gt;: you can block users from DMs - blocked contacts are hidden from contacts, invites, and notifications&lt;/p&gt;

&lt;p&gt;👤 &lt;strong&gt;Profile Invites&lt;/strong&gt;: share your own profile online with a single tap via the new Share button&lt;/p&gt;

&lt;p&gt;🔐 &lt;strong&gt;Memory-Hardened Key Vault&lt;/strong&gt;: private keys are XOR-split into 4 shares scattered across 128 indistinguishable decoy arrays — invisible to malware &amp;amp; forensics&lt;/p&gt;

&lt;p&gt;📋 &lt;strong&gt;Unified Logging&lt;/strong&gt;: new structured logging system with UTC timestamps, error toasts, and a persistent log file for easier debugging&lt;/p&gt;

&lt;p&gt;🪂 &lt;strong&gt;Error Logging&lt;/strong&gt;: errors are now caught and written to a private crash log — with a Copy Logs button in Settings for easy bug reports&lt;/p&gt;

&lt;h2 id=&#34;improvements-2&#34;&gt;Improvements:&lt;/h2&gt;

&lt;p&gt;🔋 &lt;strong&gt;Android Battery Life&lt;/strong&gt;: background sync now connects to a single relay (with automatic failover) instead of 4-5, eliminating ~75% of radio wakeups&lt;/p&gt;

&lt;p&gt;🎮 &lt;strong&gt;Mini App Realtime Overhaul&lt;/strong&gt;: rebuilt WebXDC realtime channels with preconnect, SQLite persistence, message buffering, and bi-directional WebSocket support&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Windows Mini App Performance&lt;/strong&gt;: dramatically improved WebGL/WASM performance for Mini Apps on Windows&lt;/p&gt;

&lt;p&gt;🛡️ &lt;strong&gt;Anti-Debug Protections&lt;/strong&gt;: release builds block debugger attachment, memory inspection, and unsigned DLL injection across macOS, Linux, Android, and Windows&lt;/p&gt;

&lt;p&gt;🧹 &lt;strong&gt;Zeroize Everywhere&lt;/strong&gt;: passwords, seeds, nsec strings, and temporary key copies are wiped from memory immediately after use via volatile writes&lt;/p&gt;

&lt;p&gt;📡 &lt;strong&gt;Scoped MLS Subscriptions&lt;/strong&gt;: group message subscriptions are now filtered by your group IDs at the relay level&lt;/p&gt;

&lt;p&gt;⚡ &lt;strong&gt;Instant Background Stop&lt;/strong&gt;: background sync now uses zero-cost Notify signaling instead of polling every 5 seconds, responding instantly when you open the app&lt;/p&gt;

&lt;h2 id=&#34;fixes-2&#34;&gt;Fixes:&lt;/h2&gt;

&lt;p&gt;👻 &lt;strong&gt;Ghost Messages&lt;/strong&gt;: MLS group messages no longer visually duplicate — the relay echo is now deduplicated at the backend before reaching the UI&lt;/p&gt;

&lt;p&gt;📱 &lt;strong&gt;Android Foreground Resume&lt;/strong&gt;: opening the app after background sync no longer shows an empty UI or login screen — stale relay connections and partial state are cleaned up automatically&lt;/p&gt;

&lt;p&gt;🖼️ &lt;strong&gt;Preview Image Crash&lt;/strong&gt;: fixed crash when a link preview&amp;#39;s og:image URL fails to load&lt;/p&gt;

&lt;p&gt;🎮 &lt;strong&gt;Mini App Session Fix&lt;/strong&gt;: fixed Android Mini App failing to connect on second session open&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;GIF Search Safety&lt;/strong&gt;: GIF search empty state no longer interpolates user input as HTML&lt;/p&gt;

&lt;p&gt;📎 &lt;strong&gt;Mini App Upload Spinner&lt;/strong&gt;: fixed duplicate progress spinners and spinner overlapping text in chat bubbles&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-24T21:34:15&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrrwyvthqyvtn2umc558ahtmz73x4yyl0y0tl90prxwnzsmvyrshqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utm5c3</id>
    
      <title type="html">Seen this? Open-Source &amp;amp; Serverless P2P DOOM on Nostr: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrrwyvthqyvtn2umc558ahtmz73x4yyl0y0tl90prxwnzsmvyrshqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utm5c3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz5f20jlfglchw58aqtg5hau3xhsgat6ajsw7d0avazqvuknhwv5cz8rp7p&#39;&gt;nevent1q…rp7p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Seen this? Open-Source &amp;amp; Serverless P2P DOOM on Nostr:&lt;br/&gt;&lt;a href=&#34;https://yakihonne.com/note/nevent1qgst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergpremhxue69uhkzumfvyh8vetrw3hhyctswqhxjme0dehhxarj9uqzpf554grz9h4nk20rjtf2w2dfe8pzm5wmge3knedgjkdvee3knumz2vugug&#34;&gt;https://yakihonne.com/note/nevent1qgst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergpremhxue69uhkzumfvyh8vetrw3hhyctswqhxjme0dehhxarj9uqzpf554grz9h4nk20rjtf2w2dfe8pzm5wmge3knedgjkdvee3knumz2vugug&lt;/a&gt;
    </content>
    <updated>2026-03-23T01:08:33&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9ym67vnzazsqy6uzqhsqtcsnd2hg67eyygspu2dvj3kkwfav0phczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3055fyn6r</id>
    
      <title type="html">Keep Fraggin&amp;#39;</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9ym67vnzazsqy6uzqhsqtcsnd2hg67eyygspu2dvj3kkwfav0phczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3055fyn6r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2d992qc3davajncuj62njn2wfcgkark6xvd57t2y4ntxwvd5lxcsfe6emg&#39;&gt;nevent1q…6emg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Keep Fraggin&amp;#39;
    </content>
    <updated>2026-03-20T14:16:45&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsycjppgve38u3ad493737vkjdc03svnc3hu9htp3r87kh7drv6a7gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050zx009</id>
    
      <title type="html">ngl, this looks OP. gotta try this.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsycjppgve38u3ad493737vkjdc03svnc3hu9htp3r87kh7drv6a7gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050zx009" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswjm76pws3nnc3e270w5dt3rqwjtpjqswxnnf2kq6tfm0uk9l7p2gmllu44&#39;&gt;nevent1q…lu44&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;ngl, this looks OP. gotta try this.
    </content>
    <updated>2026-03-20T13:49:00&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsp3c6nzpjx04c6qduuwk3k6w7km3a8064xqhtzhyhez5063es765szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wj306x</id>
    
      <title type="html">FUCKING INSANE. I don&amp;#39;t even know how you pulled this one off ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp3c6nzpjx04c6qduuwk3k6w7km3a8064xqhtzhyhez5063es765szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wj306x" />
    <content type="html">
      In reply to &lt;a href=&#39;/naddr1qq2ng66wwpckw4t60f49q3m3gddyknf4d4mrxq3qhrujuc08r4zcdtn0u6ts7u7apldcjqgftz0z7stmaaz9hwaf9jxsxpqqqp65w0779ra&#39;&gt;naddr1qq…79ra&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;FUCKING INSANE. I don&amp;#39;t even know how you pulled this one off &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdzvlvkzvk8flh5uzm7fgryj3zdl9vhag7hfhskxuhm7xqjvu2fjqz2tsc6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tsc6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; but 0 complaints from me. Thank you for this, this is what gaming needs. Open-Source it all and decentralize it.&lt;br/&gt;&lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/3db0de3e0300ddf1813ae322d380a9e4b223c6f547de7b18a3df1b8914963922.png&#34;&gt; 
    </content>
    <updated>2026-03-18T19:07:45&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2jgfvj6t0knj37lvpkz36zeh3dms05evtfueappp42eh4xprze7czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3059m86ve</id>
    
      <title type="html">#naddr1qv…ars5</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2jgfvj6t0knj37lvpkz36zeh3dms05evtfueappp42eh4xprze7czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3059m86ve" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpw8e9es7w829s6hxle5hpaea6r7m3yqsjky79aqhhm6ytwa6jtydqq2ng66wwpckw4t60f49q3m3gddyknf4d4mrxhqars5&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…ars5&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; 
&lt;h1 id=&#34;open-source-doom-how-we-brought-real-time-multiplayer-to-a-1993-classic-no-servers-required-2&#34;&gt;Open-Source DOOM: How We Brought Real-Time Multiplayer to a 1993 Classic. No Servers Required.&lt;/h1&gt;

&lt;p&gt;A Breakthrough in Decentralized Gaming by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub16ye7evyevwnl0fc9hujsxf9zym72e063awn0pvde0huvpyec5nyq4dg4wn&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub16ye…g4wn&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;In May 2021, Cloudflare did something wonderful. They took DOOM -the 1993 game that defined an entire genre -compiled it to WebAssembly, wired up WebSocket multiplayer through their Durable Objects edge platform, and &lt;a href=&#34;https://blog.cloudflare.com/doom-multiplayer-workers/&#34;&gt;wrote a fantastic blog post about it&lt;/a&gt;. As Celso Martinho put it: &lt;em&gt;&amp;#34;Running Doom is effectively the new &amp;#39;Hello, World&amp;#39; in computing.&amp;#34;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We loved it. And then we thought: &lt;em&gt;what if we could take it further?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What if multiplayer DOOM didn&amp;#39;t need Cloudflare&amp;#39;s servers -or anyone&amp;#39;s servers? What if it didn&amp;#39;t need the internet at all? What if you could send a 4MB file to a friend in a chat message and be fragging each other within seconds, purely peer-to-peer, with the game feeling like a modern real-time shooter instead of a 1994 LAN party?&lt;/p&gt;

&lt;p&gt;That&amp;#39;s what we built. We call it &lt;strong&gt;Open-Source DOOM&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s powered by a stack of open technologies: &lt;a href=&#34;https://www.chocolate-doom.org/&#34;&gt;Chocolate Doom&lt;/a&gt; compiled to &lt;a href=&#34;https://webassembly.org/&#34;&gt;WebAssembly&lt;/a&gt; via &lt;a href=&#34;https://emscripten.org/&#34;&gt;Emscripten&lt;/a&gt;, distributed as a &lt;a href=&#34;https://webxdc.org/&#34;&gt;WebXDC&lt;/a&gt; mini-app, with peer discovery over &lt;a href=&#34;https://nostr.com/&#34;&gt;Nostr&lt;/a&gt;, end-to-end encryption via &lt;a href=&#34;https://github.com/parres-hq/mdk&#34;&gt;Marmot&lt;/a&gt; (MLS over Nostr), and real-time P2P data transport through &lt;a href=&#34;https://iroh.computer/&#34;&gt;Iroh&lt;/a&gt; (QUIC-based gossip). Every layer is open-source. Every packet is encrypted. No servers required.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/2768aba5d0e616d626f7877966feec7e7f3c5822a552e5320305c635a8c58697.jpg&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;what-cloudflare-built-and-why-it-s-great-2&#34;&gt;What Cloudflare Built (And Why It&amp;#39;s Great)&lt;/h2&gt;

&lt;p&gt;Credit where it&amp;#39;s due. Cloudflare&amp;#39;s &lt;a href=&#34;https://github.com/cloudflare/doom-wasm&#34;&gt;doom-wasm&lt;/a&gt; project did the hard work of porting Chocolate Doom -&amp;gt; the faithful open-source recreation of the original DOOM engine -&amp;gt; to WebAssembly using Emscripten. That alone is a serious engineering effort. They then wrote &lt;code&gt;net_websockets.c&lt;/code&gt;, a transport adapter that replaced DOOM&amp;#39;s original IPX/UDP networking with WebSocket connections routed through Durable Objects on Cloudflare&amp;#39;s edge network.&lt;/p&gt;

&lt;p&gt;Their architecture looked like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Player A (Browser)  ←WebSocket→  Cloudflare Edge (Durable Object)  ←WebSocket→  Player B (Browser)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A Durable Object acted as the game room -maintaining a routing table of connected players and forwarding packets between them. Clean, elegant, and a great demo of edge computing.&lt;/p&gt;

&lt;p&gt;But there was a catch.&lt;/p&gt;

&lt;h3 id=&#34;what-they-kept-the-same-2&#34;&gt;What they kept the same&lt;/h3&gt;

&lt;p&gt;Cloudflare didn&amp;#39;t modify DOOM&amp;#39;s actual netcode. The game still used its original &lt;strong&gt;lockstep networking&lt;/strong&gt; model from 1993 -the same protocol designed for four PCs on a local area network connected by coaxial cable. Every player sends their inputs (which keys they pressed) to every other player, every single frame, and &lt;strong&gt;the game freezes until everyone&amp;#39;s inputs arrive&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As their blog post acknowledged: &lt;em&gt;&amp;#34;The game only advances when everyone receives the commands from all the other players in the group.&amp;#34;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This worked in 1993 when your LAN had sub-millisecond latency. Over the internet, through WebSockets, through a routing layer? It meant choppy gameplay, freezes whenever anyone&amp;#39;s connection hiccupped, and a gameplay experience that felt more like a slideshow than a shooter.&lt;/p&gt;

&lt;p&gt;The Durable Object was also a single point of failure and a centralised dependency. No Cloudflare, no DOOM.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;what-we-changed-everything-except-the-game-itself-2&#34;&gt;What We Changed (Everything Except the Game Itself)&lt;/h2&gt;

&lt;p&gt;We forked Cloudflare&amp;#39;s doom-wasm project and rebuilt the entire networking stack from scratch. Not just the transport layer -the fundamental model of how the game synchronises state between players.&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s the before and after:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Cloudflare&amp;#39;s DOOM&lt;/th&gt;
&lt;th&gt;Open Source DOOM&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Transport&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;WebSockets → Cloudflare Edge&lt;/td&gt;
&lt;td&gt;P2P gossip via Iroh (QUIC)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Server&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Durable Object (centralised)&lt;/td&gt;
&lt;td&gt;Auto-elected from players (decentralised)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sync model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lockstep (1993 original)&lt;/td&gt;
&lt;td&gt;Real-time hybrid (snapshots &#43; interpolation)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Damage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simulated locally by all clients&lt;/td&gt;
&lt;td&gt;Host-authoritative events&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NPCs/Monsters&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simulated locally by all clients&lt;/td&gt;
&lt;td&gt;Host-authoritative snapshots&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Late join&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Not supported&lt;/td&gt;
&lt;td&gt;Fully supported&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Internet required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes (Cloudflare Workers)&lt;/td&gt;
&lt;td&gt;No (works offline, P2P)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Delivery&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Website (silentspacemarine.com)&lt;/td&gt;
&lt;td&gt;4.2MB file in a chat message&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Let&amp;#39;s break down each piece.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;1-no-servers-no-problem-2&#34;&gt;1. No Servers, No Problem&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-1-3&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;Cloudflare&amp;#39;s DOOM needed their servers to work. Ours doesn&amp;#39;t need &lt;em&gt;any&lt;/em&gt; servers. When you open the game, your device automatically figures out who should be the &amp;#34;host&amp;#34; --no configuration, no IP addresses, no port forwarding, no sign-ups. It just works.&lt;/p&gt;

&lt;p&gt;The game runs inside a &lt;strong&gt;.xdc file&lt;/strong&gt;, essentially a tiny 4.2MB zip archive containing the entire game. You literally send it as a file in a chat message. Your friend opens it. You&amp;#39;re playing DOOM together. The data travels directly between your devices through the chat app&amp;#39;s peer-to-peer channels.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-1-3&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;We replaced &lt;code&gt;net_websockets.c&lt;/code&gt; with &lt;code&gt;net_webxdc.c&lt;/code&gt; -a transport module that speaks the &lt;a href=&#34;https://webxdc.org/&#34;&gt;WebXDC&lt;/a&gt; realtime channel protocol instead of WebSockets.&lt;/p&gt;

&lt;p&gt;WebXDC is an open standard for sandboxed web apps distributed inside chat messages. The app has &lt;strong&gt;zero internet access&lt;/strong&gt;, no fetch, no XMLHttpRequest, nothing. The only communication channel is &lt;code&gt;webxdc.joinRealtimeChannel()&lt;/code&gt;, which gives you an unreliable broadcast pipe to other instances of the same .xdc file in the same chat.&lt;/p&gt;

&lt;p&gt;Under the hood (in our primary platform, &lt;a href=&#34;https://github.com/nicholasopuni31/vector&#34;&gt;Vector&lt;/a&gt;), this channel is backed by &lt;a href=&#34;https://iroh.computer/&#34;&gt;Iroh&lt;/a&gt;, a QUIC-based peer-to-peer gossip protocol. Messages travel directly between devices, relayed through lightweight Iroh relay nodes only when direct connections aren&amp;#39;t possible. There are no game servers, no routing tables, no Durable Objects.&lt;/p&gt;

&lt;p&gt;Peer discovery happens over &lt;a href=&#34;https://nostr.com/&#34;&gt;Nostr&lt;/a&gt;, the decentralised social protocol. When you open a game, your Iroh node address is published as a Nostr event so other players can find you and establish a direct connection. The connection itself is encrypted end-to-end via &lt;a href=&#34;https://github.com/parres-hq/mdk&#34;&gt;Marmot&lt;/a&gt;, which implements the &lt;a href=&#34;https://messaginglayersecurity.rocks/&#34;&gt;MLS&lt;/a&gt; (Messaging Layer Security) protocol over Nostr. So every packet of DOOM multiplayer data, every position snapshot, every damage event, every frag, is encrypted with forward secrecy before it ever leaves your device.&lt;/p&gt;

&lt;p&gt;The wire format is minimal:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[to: uint32 LE (4 bytes)][from: uint32 LE (4 bytes)][doom_payload]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;JavaScript routes incoming packets by destination UID -only packets addressed to you (or broadcast address &lt;code&gt;0&lt;/code&gt;) get delivered to the WASM engine. Everything else is silently dropped.&lt;/p&gt;

&lt;p&gt;For performance, Vector provides a &lt;strong&gt;WebSocket fast-path&lt;/strong&gt;: the app connects to &lt;code&gt;ws://127.0.0.1:{random_port}/{token}&lt;/code&gt; -a localhost WebSocket server spun up by the Rust backend -giving near-zero-latency access to the Iroh gossip sender. Binary frames go straight to &lt;code&gt;sender.broadcast()&lt;/code&gt; with zero copies. Fallback path uses Tauri invoke with base91 encoding.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;2-who-s-the-server-magic-2&#34;&gt;2. Who&amp;#39;s the Server? Magic.&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-1-4&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;In a normal online game, someone runs a server, and everyone connects to it. In Open Source DOOM, there &lt;em&gt;is&lt;/em&gt; no predetermined server. When you open the game, all players silently negotiate who becomes the host. The person who opened the game first wins. This happens automatically in about three seconds, and you never even notice it.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-1-4&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;Server election uses a dead-simple timestamp protocol over the broadcast channel:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Every instance broadcasts &lt;strong&gt;4 magic bytes&lt;/strong&gt; (&lt;code&gt;[42, 42, 42, 42]&lt;/code&gt;) every 300ms: &lt;em&gt;&amp;#34;I exist, who&amp;#39;s the server?&amp;#34;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Every instance responds to discovery requests with: &lt;code&gt;[43, 43, 43, 43][padding(4)][timestamp(8)]&lt;/code&gt; -where timestamp is &lt;code&gt;Date.now()&lt;/code&gt; from when the app first opened&lt;/li&gt;
&lt;li&gt;The instance with the &lt;strong&gt;earliest timestamp&lt;/strong&gt; wins&lt;/li&gt;
&lt;li&gt;After 3 seconds with no earlier challenger, you declare yourself server&lt;/li&gt;
&lt;li&gt;The elected server re-broadcasts its beacon every 3 seconds so late-joiners can discover it&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The server gets &lt;code&gt;instanceUID = 1&lt;/code&gt; (hardcoded). Clients get a random UID in &lt;code&gt;1–65534&lt;/code&gt;. This UID becomes their network address for the entire session -no DNS, no IP addresses, no NAT traversal headaches.&lt;/p&gt;

&lt;p&gt;The whole election algorithm is about 80 lines of JavaScript. It works over any broadcast transport. No configuration needed.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;3-from-lockstep-to-real-time-the-big-one-2&#34;&gt;3. From Lockstep to Real-Time (The Big One)&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-2-2&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;Original DOOM multiplayer works like a group of people writing a letter round-robin. Nobody can write their next line until everyone has received and read the previous line. If one person is slow, &lt;em&gt;everyone&lt;/em&gt; waits.&lt;/p&gt;

&lt;p&gt;We changed it to work more like a live conversation. Everyone talks at their own pace. If you miss a word, you can still follow along because the speaker periodically summarises where things stand. The result feels like a modern shooter -smooth movement, responsive controls, no freezing.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-2-2&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;This was the most fundamental change: replacing DOOM&amp;#39;s pure lockstep synchronisation with a &lt;strong&gt;hybrid real-time model&lt;/strong&gt;. The ticcmd backbone remains (it&amp;#39;s too deeply embedded in Chocolate Doom&amp;#39;s deterministic physics to remove), but we layered three correction systems on top:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a) Position Snapshots &#43; Exponential Smoothing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every 2 tics (~57ms at 35 FPS), each player broadcasts a snapshot of their state:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;int data[9] = {
    mo-&amp;gt;x, mo-&amp;gt;y, mo-&amp;gt;z,        // World position (fixed-point)
    mo-&amp;gt;angle,                    // Facing direction
    mo-&amp;gt;momx, mo-&amp;gt;momy, mo-&amp;gt;momz, // Velocity
    attack_weapon,                // 0=idle, 1-9=attacking with weapon N
    latency                       // Round-trip time (ms)
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Remote players don&amp;#39;t run DOOM&amp;#39;s physics engine at all. Instead, &lt;code&gt;D_TickPlayerInterp()&lt;/code&gt; runs every tic:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Extrapolate&lt;/strong&gt; the target forward using stored momentum: &lt;code&gt;target_x &#43;= momx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Smooth&lt;/strong&gt; toward the target, closing 60% of the remaining gap each tic:

&lt;pre&gt;&lt;code&gt;
#define INTERP_FRAC  39322  // 0.6 * 65536 (fixed-point)
mo-&amp;gt;x &#43;= FixedMul(target_x - mo-&amp;gt;x, INTERP_FRAC);
mo-&amp;gt;y &#43;= FixedMul(target_y - mo-&amp;gt;y, INTERP_FRAC);
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teleport detection&lt;/strong&gt;: if the delta exceeds 128 map units, snap instantly (player respawned or hit a teleporter)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One subtle but critical detail: &lt;strong&gt;angle is NOT interpolated&lt;/strong&gt;. The ticcmd&amp;#39;s &lt;code&gt;angleturn&lt;/code&gt; field is applied deterministically by &lt;code&gt;P_MovePlayer()&lt;/code&gt; and stays in sync across machines. Interpolating angle toward a stale snapshot would &lt;em&gt;fight&lt;/em&gt; the ticcmd, causing visible rotation jitter of up to 90 degrees. We learned this the hard way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;b) Attack Animation Sync&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remote players&amp;#39; attacks are driven by snapshot data, not ticcmds. When a snapshot reports &lt;code&gt;attack_weapon &amp;gt; 0&lt;/code&gt;, we set the &lt;code&gt;S_PLAY_ATK1&lt;/code&gt; animation state and play the weapon fire sound. An 8-tic animation lock prevents local state transitions from overriding it.&lt;/p&gt;

&lt;p&gt;To prevent feedback loops, we track &lt;code&gt;last_received_attack[]&lt;/code&gt; -the raw flag as received from the network -and broadcast &lt;em&gt;that&lt;/em&gt;, not the lock-modified mobj state. Without this, attack animations would echo infinitely.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;4-i-shot-you-no-you-didn-t-2&#34;&gt;4. &amp;#34;I Shot You!&amp;#34; &amp;#34;No You Didn&amp;#39;t!&amp;#34;&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-3-2&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;In the original DOOM, every computer runs its own copy of the game physics. When you shoot someone, &lt;em&gt;your&lt;/em&gt; computer calculates the damage, and &lt;em&gt;their&lt;/em&gt; computer calculates the damage, and because the game is in lockstep, they always agree.&lt;/p&gt;

&lt;p&gt;With our real-time model, that guarantee vanishes -your screen and theirs might show slightly different positions. So we made one player (the host) the referee. When you shoot someone, you tell the host &lt;em&gt;&amp;#34;I hit Player 2 for 50 damage&amp;#34;&lt;/em&gt;. The host checks the physics, applies the damage if it&amp;#39;s valid, and announces the result to everyone. One truth, no arguments.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-3-2&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;We implemented an &lt;strong&gt;event-based host-authority model&lt;/strong&gt; for all game-changing state:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Damage path:&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Client A fires weapon → bullet hits Player B locally
  → Client A sends DAMAGE_EVENT to host: {target: B, damage: 50, source: A}
  → Client A applies VISUAL FEEDBACK ONLY (screen flash, attacker tracking)
  → Client A does NOT reduce Player B&amp;#39;s health

Host receives DAMAGE_EVENT:
  → Sets damage_from_event = true (bypasses remote-source skip)
  → Calls P_DamageMobj() with full physics simulation
  → New health broadcasted via HEALTH_AUTH packet next snapshot cycle

All clients receive HEALTH_AUTH:
  → Apply as ground truth
  → Host says dead, client says alive? → P_KillMobj()
  → Host says alive, client says dead? → Trigger respawn
  → Health decreased? → Play pain animation
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;code&gt;damage_from_event&lt;/code&gt; flag is critical. Without it, the host faces a double-damage problem: it receives both the ticcmd attack (from the lockstep backbone) AND the explicit damage event. The flag ensures only the event path applies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other host-authoritative systems:&lt;/strong&gt;
- &lt;strong&gt;USE events&lt;/strong&gt;: Client presses &amp;#39;E&amp;#39; near a door → sends &lt;code&gt;USE_EVENT&lt;/code&gt; → host calls &lt;code&gt;P_UseLines()&lt;/code&gt; → door opens for everyone
- &lt;strong&gt;Respawns&lt;/strong&gt;: Client dies → sends &lt;code&gt;RESPAWN_REQUEST&lt;/code&gt; → host sets &lt;code&gt;playerstate = PST_REBORN&lt;/code&gt;
- &lt;strong&gt;Kill messages&lt;/strong&gt;: Host broadcasts &lt;code&gt;KILL_MSG&lt;/code&gt; when a player dies → displayed on all screens&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;5-making-monsters-agree-2&#34;&gt;5. Making Monsters Agree&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-4-2&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;DOOM has dozens of monsters per level, each running their own AI -chasing you, shooting fireballs, infighting with each other. In the original game, every computer simulates every monster identically (because lockstep ensures they all see the same inputs). In our version, only the host simulates the monsters. Everyone else just sees the results -like watching a puppet show where only the puppeteer knows the script, but the audience sees the performance in real-time.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-4-2&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;We built a full NPC synchronisation system (&lt;code&gt;p_netsync.c/h&lt;/code&gt;):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Registry&lt;/strong&gt;: Every monster and barrel gets a unique &lt;code&gt;net_id&lt;/code&gt; via &lt;code&gt;P_NetAssignId()&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mobj_t *net_mobj_table[MAX_NET_MOBJS];  // 512 slots
unsigned short net_id_counter;            // Sequential allocator
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Host broadcasts&lt;/strong&gt; (every 2 tics) a compact binary snapshot:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[npc_count: u8][gametic: u16]
Per NPC (20 bytes): net_id(2) x(4) y(4) z(4) angle(1) statenum(2) health(2) flags(1)
[sector_count: u8]
Per changed sector (10 bytes): sector_id(2) ceiling(4) floor(4)
[missile_count: u8]
Per missile (32 bytes): source_net_id(2) type(2) x(4) y(4) z(4) momx(4) momy(4) momz(4) angle(4)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Client-side&lt;/strong&gt;: In &lt;code&gt;P_MobjThinker()&lt;/code&gt;, clients skip physics entirely for any mobj with &lt;code&gt;net_id &amp;gt; 0&lt;/code&gt;. Only the animation tic counter runs. State changes use &lt;code&gt;P_SetMobjStateNoAction()&lt;/code&gt; -which applies the visual state WITHOUT executing action functions. This prevents clients from independently spawning projectiles, running AI decisions, or playing duplicate sounds.&lt;/p&gt;

&lt;p&gt;The sector data keeps doors and lifts in sync. The missile data ensures fireballs and rockets appear on all screens.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;6-room-for-one-more-mid-game-joining-2&#34;&gt;6. &amp;#34;Room for One More?&amp;#34; -Mid-Game Joining&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-5-2&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;Original DOOM didn&amp;#39;t let you join a game already in progress. Everyone had to be there at the start, or too bad. Our version lets players drop in mid-game. You open the .xdc, the game finds the server, and you spawn in -even if everyone else is already knee-deep in the dead.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-5-2&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;Late joining required solving several hairy problems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tic synchronisation&lt;/strong&gt;: The late joiner&amp;#39;s tic counter is meaningless -they weren&amp;#39;t there for tics 0 through N. When the server accepts a late join, it sends &lt;code&gt;settings-&amp;gt;start_tic&lt;/code&gt; set to the current server tic. The client aligns its &lt;code&gt;recvtic&lt;/code&gt;, &lt;code&gt;maketic&lt;/code&gt;, and &lt;code&gt;gametic&lt;/code&gt; to this value, syncing the 8-bit tic sequence numbers with the server&amp;#39;s counter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Double-slot bug&lt;/strong&gt;: We found that &lt;code&gt;NET_SV_AssignPlayers()&lt;/code&gt; could assign the new client to a slot that was already used, creating a ghost duplicate. The fix: &lt;code&gt;HandleLateJoin()&lt;/code&gt; explicitly clears any pre-existing slots for the new client before assigning a fresh one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ghost body cleanup&lt;/strong&gt;: When a player disconnects and reconnects (or the quit/rejoin cycle fires), their old mobj lingers in the world as an invisible collision obstacle. &lt;code&gt;P_SpawnPlayer()&lt;/code&gt; now checks for and removes any existing mobj before spawning:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;if (p-&amp;gt;mo) {
    p-&amp;gt;mo-&amp;gt;player = NULL;
    P_RemoveMobj(p-&amp;gt;mo);
    p-&amp;gt;mo = NULL;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Name propagation&lt;/strong&gt;: When a new player joins, every existing player re-broadcasts their name, so the joiner&amp;#39;s HUD displays the correct names instead of the defaults (&amp;#34;Green&amp;#34;, &amp;#34;Indigo&amp;#34;, &amp;#34;Brown&amp;#34;, &amp;#34;Red&amp;#34;).&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;7-fits-in-a-chat-message-2&#34;&gt;7. Fits in a Chat Message&lt;/h2&gt;

&lt;h3 id=&#34;the-simple-version-6-2&#34;&gt;The Simple Version&lt;/h3&gt;

&lt;p&gt;The entire game -engine, levels, monsters, weapons, networking, touch controls, gamepad support, all of it -fits in a &lt;strong&gt;4.2 megabyte file&lt;/strong&gt;. That&amp;#39;s smaller than most photos your phone takes. You send it in a chat message like you&amp;#39;d send a meme. Your friend taps it, and they&amp;#39;re in the game. No app store, no downloads, no accounts, no updates.&lt;/p&gt;

&lt;h3 id=&#34;the-nerdy-version-6-2&#34;&gt;The Nerdy Version&lt;/h3&gt;

&lt;p&gt;The .xdc format is just a ZIP archive with a different extension. Ours contains:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Size (compressed)&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;vector-doom.wasm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~2.7 MB&lt;/td&gt;
&lt;td&gt;Chocolate Doom engine (Emscripten, -O3)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;doom1.wad&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~1.7 MB&lt;/td&gt;
&lt;td&gt;DOOM shareware levels (freely distributable)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;vector-doom.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~160 KB&lt;/td&gt;
&lt;td&gt;Emscripten runtime (terser-minified, 58% reduction)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;index.html&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~12 KB&lt;/td&gt;
&lt;td&gt;UI, touch controls, gamepad support, CRT visual theme&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;webxdc-net.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~3 KB&lt;/td&gt;
&lt;td&gt;Server election &#43; packet routing&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;icon.png&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~90 KB&lt;/td&gt;
&lt;td&gt;App icon&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;bg.jpg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~100 KB&lt;/td&gt;
&lt;td&gt;Background artwork&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;default.cfg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~2 KB&lt;/td&gt;
&lt;td&gt;Default key bindings&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;code&gt;manifest.toml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~100 B&lt;/td&gt;
&lt;td&gt;WebXDC metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The WASM binary and WAD compress extremely well in ZIP (65% and 58% respectively), bringing the total to 4.2MB.&lt;/p&gt;

&lt;p&gt;The build pipeline:
1. Emscripten compiles Chocolate Doom &#43; our modifications to WASM (&lt;code&gt;emmake make -j4&lt;/code&gt;)
2. &lt;code&gt;webxdc-net.js&lt;/code&gt; is injected as &lt;code&gt;--pre-js&lt;/code&gt; (runs before WASM initialises)
3. JS is minified with terser in parallel
4. HTML is minified (strip comments, collapse whitespace)
5. Everything zipped at maximum compression (&lt;code&gt;zip -9&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;The game runs on any WebXDC-compatible messenger. We built it for &lt;a href=&#34;https://vector.im&#34;&gt;Vector&lt;/a&gt; (a Nostr-based messenger), but it works in &lt;a href=&#34;https://delta.chat/&#34;&gt;Delta Chat&lt;/a&gt; and potentially any app that implements the WebXDC standard.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;the-full-stack-from-keypress-to-frag-2&#34;&gt;The Full Stack, From Keypress to Frag&lt;/h2&gt;

&lt;p&gt;Here&amp;#39;s what happens when you press the fire button on your phone:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;1. Your finger hits the Fire button (HTML touch event)
2. JavaScript calls Module._inject_key_event(0, 32)     // keydown, spacebar
3. DOOM&amp;#39;s event queue receives ev_keydown
4. D_ProcessEvents() → G_Responder() builds ticcmd with BT_ATTACK
5. TryRunTics() executes the tic -your weapon fires, P_LineAttack() traces a hitscan
6. Bullet hits Player 2 → P_DamageMobj() → instead of applying damage:
   → NET_CL_SendDamageEvent(target=2, damage=50, source=you)
7. Every 2 tics, your position snapshot broadcasts via realtimeChannel:
   → JS encodes [to(4)][from(4)][snapshot] → WebSocket → Iroh gossip → peer devices
8. Host receives damage event → validates → applies → broadcasts HEALTH_AUTH
9. Player 2&amp;#39;s screen: health drops, pain flash plays, kill message appears
10. Your screen: the host&amp;#39;s HEALTH_AUTH confirms the kill
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Total time from keypress to kill confirmation: roughly 100-200ms depending on network conditions. No servers touched. No corporation involved. Just two chat apps talking directly to each other.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;standing-on-the-shoulders-of-giants-2&#34;&gt;Standing on the Shoulders of Giants&lt;/h2&gt;

&lt;p&gt;None of this would exist without:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.idsoftware.com/&#34;&gt;id Software&lt;/a&gt;&lt;/strong&gt; for open-sourcing the DOOM engine in 1997 -a decision that created an entire modding ecosystem and directly enabled everything described here&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.chocolate-doom.org/&#34;&gt;Chocolate Doom&lt;/a&gt;&lt;/strong&gt; for faithfully recreating the original engine in portable, hackable C&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://blog.cloudflare.com/doom-multiplayer-workers/&#34;&gt;Cloudflare&lt;/a&gt;&lt;/strong&gt; for proving DOOM-in-WebAssembly was viable and open-sourcing their &lt;a href=&#34;https://github.com/cloudflare/doom-wasm&#34;&gt;doom-wasm&lt;/a&gt; port -the foundation we forked&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://emscripten.org/&#34;&gt;Emscripten&lt;/a&gt;&lt;/strong&gt; for making C-to-WASM compilation actually work&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://iroh.computer/&#34;&gt;Iroh&lt;/a&gt;&lt;/strong&gt; (by n0.computer) for the QUIC-based P2P gossip protocol that makes serverless real-time gaming possible&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The &lt;a href=&#34;https://webxdc.org/&#34;&gt;WebXDC&lt;/a&gt; community&lt;/strong&gt; for defining an open standard for sandboxed web apps in chat messages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And a special note: the networking architecture of Open Source DOOM was designed and implemented as a collaboration between a human developer and an AI (&lt;a href=&#34;https://claude.ai&#34;&gt;Claude&lt;/a&gt;, by Anthropic). Not generated and pasted -&lt;em&gt;collaborated on.&lt;/em&gt; Hundreds of iterations, debugging sessions at 3am with hex dumps of gossip packets, heated debates about whether to interpolate angles (don&amp;#39;t), and moments of genuine surprise when things just... worked.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;try-it-2&#34;&gt;Try It&lt;/h2&gt;

&lt;p&gt;Open-Source DOOM is free, open-source, and available today.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/90497863e88cc21741a1493be081716f5af3664eced7fbdb063c8f783df534fd.jpg&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Play it&lt;/strong&gt;: Download &lt;a href=&#34;https://vectorapp.io&#34;&gt;Vector&lt;/a&gt;, open &lt;strong&gt;Vector Nexus&lt;/strong&gt; (our decentralised in-app Mini App store), and find &lt;strong&gt;DOOM&lt;/strong&gt; in the Multiplayer category. Send it to a friend or group chat and start fragging - no manual file management needed.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/149d09299e73fe56d904f9116b67c22b67935d36b4e263f346d7a179bac605b7.jpg&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the code&lt;/strong&gt;: The full source is available at &lt;a href=&#34;https://github.com/VectorPrivacy/DOOM&#34;&gt;github.com/nicholasopuni31/doom-wasm&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build on it&lt;/strong&gt;: The WebXDC realtime channel pattern we developed here works for any real-time multiplayer game.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If DOOM is &amp;#34;Hello, World&amp;#34; for computing, then Open Source DOOM is &amp;#34;Hello, World&amp;#34; for decentralised gaming.&lt;/em&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;em&gt;Published March 2026. Written by&lt;/em&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub16ye7evyevwnl0fc9hujsxf9zym72e063awn0pvde0huvpyec5nyq4dg4wn&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub16ye…g4wn&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-18T19:04:48&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst83623sxujhlg4lp9cyfpvgv0yp63fuapxdn8zl7sw8w8xqr0umczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305vwt8vt</id>
    
      <title type="html">that looks dope, love the UI</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst83623sxujhlg4lp9cyfpvgv0yp63fuapxdn8zl7sw8w8xqr0umczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305vwt8vt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqq8nhk5xvelh6kv7g3r54ey599cfnksl9hp3xms6u8r6pghujyql5ap7s&#39;&gt;nevent1q…ap7s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;that looks dope, love the UI
    </content>
    <updated>2026-03-18T17:02:22&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstd959gfu09hag45mjgyanc34nxf2ya0h5mln33jq8qkax0nxqtuczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3052wwfr7</id>
    
      <title type="html">Send it!</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstd959gfu09hag45mjgyanc34nxf2ya0h5mln33jq8qkax0nxqtuczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3052wwfr7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf6dl54uckxk43m3r5su9ldjhtgg2mzqu9pam3j7cxgkxrzzyrfcqzj0w0f&#39;&gt;nevent1q…0w0f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Send it!
    </content>
    <updated>2026-03-17T14:38:46&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2waz2a3u859jx0amteqm2lndqcdpsjyfduqc025fuhmznzamuhwqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050jayj5</id>
    
      <title type="html">Basic Error Logging Guide for Devs. Thank you, The Rest of the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2waz2a3u859jx0amteqm2lndqcdpsjyfduqc025fuhmznzamuhwqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050jayj5" />
    <content type="html">
      Basic Error Logging Guide for Devs.&lt;br/&gt;&lt;br/&gt;Thank you,&lt;br/&gt;The Rest of the World&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzq5aazk9sqszx5rsftnlgd5764nhncmtsfnn6gfxyqqs5njjysgh6qq2n2kpj2d59wkzj2ash2nt4g3882wtw942kxgs4tyx&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…4tyx&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;&lt;img src=&#34;https://image.nostr.build/b146a311e3e7d49aa87bd0cac8ad70e19d7533b9b3dc3dc39466ea0dfccc8cdd.png&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;p&gt;Attention Developers&lt;/p&gt;

&lt;p&gt;Please start labeling your application errors both for the end user and also the team/other developers. I just ran into this issue today applying to have &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1hrujuc08r4zcdtn0u6ts7u7apldcjqgftz0z7stmaaz9hwaf9jxs66f3yh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1hru…f3yh&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; listed on some FOSS websites. If you all would like the list, just message me. I am happy to share it.&lt;/p&gt;

&lt;p&gt;Treat error logs as your “digital forensic evidence.” When a system fails, the logs should tell you what happened, where, when, and why...without requiring a debugger. Invest time in writing clear, actionable logs; it saves hours during production incidents.&lt;/p&gt;

&lt;h1 id=&#34;error-logging-a-guide-for-developers-2&#34;&gt;Error Logging: A Guide for Developers&lt;/h1&gt;

&lt;p&gt;Effective error logging is essential for diagnosing issues quickly and maintaining system reliability. Here are the core best practices developers should follow:&lt;/p&gt;

&lt;p&gt;Key Components of an Effective Error Log
Every error log should include below.&lt;/p&gt;

&lt;h2 id=&#34;key-components-2&#34;&gt;Key Components&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Timestamp&lt;/strong&gt;: A consistent, precise timestamp (e.g., ISO 8601 format) to track when the error occurred.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Severity Level&lt;/strong&gt;: Use standardized levels (e.g., TRACE, DEBUG, INFO, WARN, ERROR, FATAL) to indicate urgency. Only log actionable errors at ERROR or FATAL levels.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error Code&lt;/strong&gt;: A unique, human- and machine-readable code (e.g., ERR_DB_CONN_001) for quick identification and lookup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error Message&lt;/strong&gt;: Clear, descriptive text explaining the issue, including the root cause if known.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stack Trace&lt;/strong&gt;: For exceptions, include a full stack trace to pinpoint the exact location and call chain.
&lt;strong&gt;Source&lt;/strong&gt;: The class, method, or module where the error originated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;: Relevant key-value pairs (e.g., UserID=123, IP=192.168.1.1) to help reproduce and debug the issue.&lt;/p&gt;

&lt;h3 id=&#34;best-practices-for-implementation-2&#34;&gt;Best Practices for Implementation&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Log at the Top Level&lt;/strong&gt;: Avoid logging errors inside deeply nested functions. Let the caller handle logging to prevent duplication and ensure context is preserved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Structured Logging&lt;/strong&gt;: Format logs consistently using a delimiter (e.g., |) or JSON for easy parsing and analysis. Example:
&lt;code&gt;2024-07-18 14:30:15 | ERROR | UserService | NullPointerException: User object is null | UserID=123 | TraceID=abc123&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Avoid Multiline or Binary Logs&lt;/strong&gt;: Keep each log entry on a single line. Avoid logging large payloads (e.g., full HTTP responses). Truncate or log only relevant parts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don’t Log Non-Actionable Events&lt;/strong&gt;: If an error is expected and handled (e.g., a missing record when inserting), log it as &lt;code&gt;INFO&lt;/code&gt; or &lt;code&gt;WARN&lt;/code&gt;, not &lt;code&gt;ERROR&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Secure and Manage Logs&lt;/strong&gt;: Encrypt logs in transit and at rest. Set retention policies based on compliance needs. Use remote log management tools (e.g., Rollbar, SigNoz, Loggly) for scalable analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Logging Frameworks&lt;/strong&gt;: Leverage mature libraries like Log4j (Java), SLF4J, or Python’s logging module to manage levels, handlers, and formatting consistently.&lt;/p&gt;

&lt;h3 id=&#34;where-to-store-logs-2&#34;&gt;Where to Store Logs&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Production&lt;/strong&gt;: Prefer remote services (e.g., cloud logging platforms) for scalability, security, and centralized monitoring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development/Testing&lt;/strong&gt;: File-based logging is acceptable, but ensure logs rotate and don’t grow indefinitely.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-17T12:44:43&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsflmvw57jaypgnek4kq285z7zw5d9pm2fgac3p9hu3jr2wv3k828szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ux3kuf</id>
    
      <title type="html">lowkey banger.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsflmvw57jaypgnek4kq285z7zw5d9pm2fgac3p9hu3jr2wv3k828szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ux3kuf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqxehlp80h9lm3u8teykshlc63fq4gywzvyz6ck8q78hyqg4u4z6gvj0j0j&#39;&gt;nevent1q…0j0j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;lowkey banger.
    </content>
    <updated>2026-03-17T09:42:33&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0x4rm96d45z7kffk9y4u2jz5nnm6r2k8vmcnq4smdxs06qaqjl0szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305rxgu7d</id>
    
      <title type="html">Yeah, I think it just needs to be done in the right environment, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0x4rm96d45z7kffk9y4u2jz5nnm6r2k8vmcnq4smdxs06qaqjl0szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305rxgu7d" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0j0uwy4l7y7ufe03kh8lvf794epz46ltc7xfd9xeuhxwlc5adqdcl0ue5l&#39;&gt;nevent1q…ue5l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yeah, I think it just needs to be done in the right environment, I suppose a test environment. New accounts could even be used, but unfortunately using your main and daily accounts how you would normally would provide the most accurate insight to developers, what works and what isn&amp;#39;t. It is something we are thinking about too. Most importantly, I think the communication and transparency to the community is one of the most important factors, but I think we also have a lot of people here who really just love testing apps and may not be developers, but would love to contribute in some way. I personally would love to setup A/B Testing for user experiences and it would be fun to actively gather information consensually on what people actually want vs couldn&amp;#39;t care less for. I think UX studies can be done this way through testing, feedback forms, etc. though I know in general it&amp;#39;s kind of the old, traditional way of doing UX testing and feedback and probably more optimized workflows, but the principle is the same &amp;gt; people can choose to sign up and basically test features (new and old) and leave notes/comments throughout the exp. If we had additional grants/financial support, we could even have it payout in sats per completion, which I still would argue against. It is better to get genuine feedback from people who have no financial incentive to distort their actual, honest UX. Love to hear your thoughts too, Jeff. Maybe something we could collaborate on. The room for UX improvement at this point is common knowledge, not just to users on Nostr, but sadly to many people on the outside who just tried it once and said... nope.
    </content>
    <updated>2026-03-16T12:21:31&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg3uz8w63yaxcqcsjw7kufgc0wzhqn9lxdqg6n4hngrv5ngw0hkxgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305evm58w</id>
    
      <title>Nostr event nevent1qqsg3uz8w63yaxcqcsjw7kufgc0wzhqn9lxdqg6n4hngrv5ngw0hkxgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305evm58w</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg3uz8w63yaxcqcsjw7kufgc0wzhqn9lxdqg6n4hngrv5ngw0hkxgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305evm58w" />
    <content type="html">
       &lt;img src=&#34;https://image.nostr.build/18ccc722d1f2eaae1e9b313cf4712d1b90ce3482f69e0b43cc69365f53f355c1.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Not that most of you here are probably Meta users (Facebook, Instagram, WhatsApp largely), but they have announced that on May 8, 2026 your private messages will no longer be encrypted. Additionally, your messages will be easier to read and scrape to train their AI for you can assume the worst purposes people can imagine. More so sharing for those who don&amp;#39;t know and also people you care about.&lt;br/&gt;&lt;br/&gt;Strongly recommend to everyone to start pivoting from these apps and getting friends, family, co-workers, etc. introduced to Nostr and other methods where their metadata is encrypted and more secure. I would also go ahead and delete all of your messages (request a backup first, may take 1-5 days to hear back) get your data to save and then delete your messages and eventually account. There is a trick you can swap to a business account and mass delete messages faster (15 a time instead of 1). Either way, there are no guarantees your data is wiped from their servers as is (safer to assume it is not), but there&amp;#39;s no need to keep it there and make their lives any easier.
    </content>
    <updated>2026-03-16T12:16:22&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf04j8ld5659kg8xylw49r4lwtyfz9wsrsarvh3gq8ywr43rkrt5czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305m4lr2a</id>
    
      <title type="html">Sharing this from X, Dystopia keeps arriving folks. Oppo (Chinese ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf04j8ld5659kg8xylw49r4lwtyfz9wsrsarvh3gq8ywr43rkrt5czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305m4lr2a" />
    <content type="html">
      Sharing this from X, Dystopia keeps arriving folks. Oppo (Chinese Phone Company), yes the name is literally a phonetic knockoff of how &amp;#34;Apple&amp;#34; would be said in Chinese, but that&amp;#39;s another story. Apparently, they have implemented intrusive ads inside of their own File Manager on their phones. Incredibly out of place visually and horrendous looking. If you are going to violate people in such a way, at least make it pleasant on the eyes lol. Insane times we live in to even witness ads inside of a file manager, but that is the direction the world is headed. Never a better time than yesterday to start making software without ads. Together we will make this the standard it should&amp;#39;ve always been.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/c6af5fdafb1638662c2684513588ae585be609d9fe0603ca44248a8377444bdc.jpg&#34;&gt; 
    </content>
    <updated>2026-03-16T11:57:32&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsp8k0jczl4j70gjfkgq09uh4nefpu7dc7y07ccl6gp0n3ueat58cszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305qy8vwy</id>
    
      <title type="html">it hurts so good 😢</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp8k0jczl4j70gjfkgq09uh4nefpu7dc7y07ccl6gp0n3ueat58cszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305qy8vwy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstdc2u0ywkflm4pjlgqrksuqaqkyr8yyeslzwtpcldlcpa0jh8ycg0zrv7v&#39;&gt;nevent1q…rv7v&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;it hurts so good  😢
    </content>
    <updated>2026-03-16T11:45:34&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr4l3vumruwnqxq5kvecqgdld72nhfs0lxp93mfjawpdywgxxr9mszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30554jrm4</id>
    
      <title type="html">Largely unavoidable. Same goes for &amp;#34;content creators&amp;#34; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr4l3vumruwnqxq5kvecqgdld72nhfs0lxp93mfjawpdywgxxr9mszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30554jrm4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrzt8yvren0gfx34k2ygatus6dzy2k95ydtz5xrl2968hutyfdjdstgsnlu&#39;&gt;nevent1q…snlu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Largely unavoidable. Same goes for &amp;#34;content creators&amp;#34; literally using AI generated videos then another device capturing the video to make it look like they&amp;#39;re live streaming. I think it&amp;#39;s more about acceptance and if we want to do anything about it to help distinguish then potentially adding tags like &amp;#34;AI&amp;#34; with a bot icon or just simply block. User customization for content filtering could probably use a lot of optimization. At the end of the day, it really should be up to the person to customize what they want to see and engage with, rather than trying to stop the inevitable imho.
    </content>
    <updated>2026-03-16T11:44:38&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxr3xmug5p5kfxpcjlf480fehs5kfakvdhaakxmr6ahsklhcjvlggzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hjyccy</id>
    
      <title type="html">banger GIF avatar ❤️ Ghost in the Shell</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxr3xmug5p5kfxpcjlf480fehs5kfakvdhaakxmr6ahsklhcjvlggzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hjyccy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgaeha697wpj57whcal9zzx7v37jn8jvw4ghmlnahg7fg7jup0ddg027w52&#39;&gt;nevent1q…7w52&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;banger GIF avatar  ❤️ Ghost in the Shell
    </content>
    <updated>2026-03-16T11:40:46&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspdru0jele53mnwzrd6p57uulue08ytpsqds7x2jd2tfav27xpuaqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kql4qa</id>
    
      <title type="html">Why has AI robbed us writers of such a great grammatical tool to ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspdru0jele53mnwzrd6p57uulue08ytpsqds7x2jd2tfav27xpuaqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kql4qa" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxsstlepamsxlrp4439faa20stp5vrud75x0d3vx96zlwegasx6ggn84qev&#39;&gt;nevent1q…4qev&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Why has AI robbed us writers of such a great grammatical tool to combine 2 completely different topics or thoughts into one?  😢 this was my writing style before AI was even invented, but I noticed that AI puts spaces before and after the em dash, where I don&amp;#39;t use any
    </content>
    <updated>2026-03-16T11:40:16&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfswwysftsgw0tglptnupc92j6p2kerdudg5vnsdtcs980mhksphczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050khxlv</id>
    
      <title type="html">Thank you! We will keep improving with each release. If you have ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfswwysftsgw0tglptnupc92j6p2kerdudg5vnsdtcs980mhksphczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3050khxlv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8mfcyh6v7kskd9hgxgw84dchq0jjnadv6wa93j0sls34pyvd08scyulm4p&#39;&gt;nevent1q…lm4p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you! We will keep improving with each release. If you have anything you don&amp;#39;t like or experience that is broken or just a painful experience to use, just DM me or tag me. 
    </content>
    <updated>2026-03-14T11:01:36&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg6463354yq2q06d3rsr4qker6e0j6vyex9hqfdewjt2qaf6dtgkczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305uqvld7</id>
    
      <title type="html">Congrats, White Noise team! Will update and run the latest ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg6463354yq2q06d3rsr4qker6e0j6vyex9hqfdewjt2qaf6dtgkczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305uqvld7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxdg60g9dun83s3ymadz2m2gtxeqmjx06lmn6jlke9g0swes90jkcrl5k5p&#39;&gt;nevent1q…5k5p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Congrats, White Noise team! Will update and run the latest version to test  💪
    </content>
    <updated>2026-03-12T11:04:51&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdllxv86ekd0qx3k5rgr7lfq9v44aq0ereulrnluevwl8cwvqyuyszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wnxf2f</id>
    
      <title type="html">100% agreed. It has helped me a lot into the process of learning ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdllxv86ekd0qx3k5rgr7lfq9v44aq0ereulrnluevwl8cwvqyuyszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wnxf2f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszynjxy2kajlqkq9my354e84l2fsjts4krxr0a3vgsdj23tl3mh4c483x5d&#39;&gt;nevent1q…3x5d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;100% agreed. It has helped me a lot into the process of learning frontend development. Simply gaining the knowledge and understanding easier through the action, the process of learning from experience. If you have questions, you don&amp;#39;t have to bother your friends every few minutes and can get precise answers that are largely accurate. Great tool for learning and growing, as well as confidence to try new things completely out of your comfort zone.
    </content>
    <updated>2026-03-12T03:39:29&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfll0ms7fj00m85dzzqk9uhmmaej0knukkj4aaxgudtsmtcmepksqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305am5g72</id>
    
      <title type="html">Want a deeper insight into ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfll0ms7fj00m85dzzqk9uhmmaej0knukkj4aaxgudtsmtcmepksqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305am5g72" />
    <content type="html">
      Want a deeper insight into nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4? Check out my interview that was just republished, originally on Fileverse.&lt;br/&gt;&lt;br/&gt;Expect a couple of more perspectives and interviews with &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdzvlvkzvk8flh5uzm7fgryj3zdl9vhag7hfhskxuhm7xqjvu2fjqz2tsc6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tsc6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and Hans Koning soon™.&lt;br/&gt;&lt;br/&gt;—————————————————&lt;br/&gt;&lt;br/&gt;[Disclaimer] None of these responses from me are AI-generated, nor will they ever be because I enjoy speaking straight from the heart and enjoy the art of writing. Yes, the em dash — existed way before AI and there are actually some writers that use it and enjoy it because we can break grammatical rules and combine two completely different trains of thought without being considered &amp;#34;improper&amp;#34; or a run-on.&lt;br/&gt;&lt;br/&gt;AI is a great tool for suggestions, ideas, and proof reading. It&amp;#39;s unfortunate I even have to put this as a disclaimer and mention it, but relevant at this day and age.&lt;br/&gt;&lt;br/&gt;Remember to enjoy the process...&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpw8e9es7w829s6hxle5hpaea6r7m3yqsjky79aqhhm6ytwa6jtydqq2h5d22t9fkv6rdxff8gkfsf5u8w3zlgd95sg9le8m&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…le8m&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; 
&lt;h1 id=&#34;pushing-the-envelope-privacy-messaging-communication-2&#34;&gt;Pushing The Envelope — Privacy Messaging &amp;amp; Communication&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Vector Privacy Interview with Co-Founder YuurinBee&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;1-the-origin-story-2&#34;&gt;1. The Origin Story&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What was the exact moment you realized the world needed Vector Privacy? Was there a specific incident or realization that made you say &amp;#39;enough is enough&amp;#39; with existing messaging platforms?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Personally, I first realized the world needed “privacy by default” (as many people like to use the term now) a handful of years ago. Society and the world has blindly trusted these large, tech corporations that just say “private” or “encrypted” being nothing but marketing buzzwords and sadly lacking any bit of truth and substance. That is when I truly saw the need, not demand, but need for privacy in communication—not just with messenger apps, but really extending towards all digital services, platforms, and mediums. As long time Discord users, especially being gamers and shared interests in blockchain and crypto, both JSKitty and I had loved the UX and the communities that had formed on Discord over the past 8 years. During that time, we had created and managed many communities of our own. As time progressed and with more experience, we had noticed very poor security practices, no encryption for messages, and overall growing concerns for Discord’s privacy. Afterwards, it became normal to read about data breaches and personal identities leaked with Discord, as well as many other top social media and messenger platforms. Going back about 5-6 years, we first wanted to create a privacy messenger app called “Hawkie”, but we lacked the technical stack and infrastructure needed, not to mention the knowledge and skill we had back then truly pales in comparison to now. Therefore, it was put on the shelf with many other fun and unique ideas to develop until we discovered Nostr. Nostr (Notes and Other Stuff Transmitted by Relays) is an open, decentralized protocol that supports many of the foundational principles that we required both philosophically and technically.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;2-the-privacy-crisis-2&#34;&gt;2. The Privacy Crisis&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Most people think &amp;#39;I have nothing to hide, so why should I care about privacy?&amp;#39; How do you respond to that, and what are the hidden costs of surrendering our digital privacy that people don&amp;#39;t realize?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a splendid question and there’s quite a bit to say. It depends on the person I am talking to because I look for specific ways to relate to their potential problems that could follow based on their life and lifestyle practices.&lt;/p&gt;

&lt;p&gt;I respond to this comment almost everyday or at least every week, if not from the very people we built Vector for, but also while developing Vector I get this question relentlessly. One of the biggest takeaways in life I can share with you in the modern world, we often compromise security for convenience. We are so used to wanting everything so easy, just one click, login with one account and do a million things, save my passwords so I don’t have to remember, backup to iCloud so I can access my files and photos anywhere. There is nothing wrong with wanting simplicity and a universally convenient user experience, but most of us are unaware of the unforeseen consequences and you really have to ask yourself “is it really that much more effort”?. What is the trade off? What is the opportunity cost here? It is simply evaluating the risks and hopefully choosing the choice that ensures the highest level of risk mitigation. Is it that much more effort to safely store your seed phrase or private key somewhere offline than it is to drive to a bank, wait for a teller, express your want to open an account, then spend 15-30 minutes divulging all of your personal information and putting it into their database, then being told you’ll get a card in 3-5 business days before you can really even fully utilize the account and system. Oops, I forgot to tell you they are closed after 5pm and not open on the weekends. Is it really more convenient? We have been conditioned this way because of the systems society has adopted for many years. It does not imply that they are optimal or even efficient at all… quite the contrary most people would argue.&lt;/p&gt;

&lt;p&gt;To the world famous question “I have nothing to hide, so why should I care about privacy?”... I would respond by asking people questions to make them think and reevaluate what privacy means (some better than others lol). If you have nothing to hide, why not keep your windows open and your blinds open all the time? Why even bother putting walls up? I guess if you don’t care about privacy, there’s no need for clothes right? Why even bother putting up doors if you don’t mind people walking into your house and taking a look around, you’ve got nothing to hide right? Why don’t you put your phone on speaker while you’re in public and let everyone in on your conversation if you’ve really got nothing to hide? As silly and ridiculous as these questions are, it is about changing the mindset of how we view privacy. There has been a negative and a dark connotation around privacy that it’s only for people who have things to hide. Privacy is about security, not about hiding.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;3-the-metadata-problem-2&#34;&gt;3. The Metadata Problem&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Vector emphasizes &amp;#39;No Metadata.&amp;#39; Can you explain what metadata is, why it&amp;#39;s arguably more dangerous than the actual message content, and how Vector solves this?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Metadata is like digital bread crumbs. Metadata is simply additional data that can be viewed like online identifiers, whether you want to share them or not. Everything digital has some form of an identity and from that identity is how you interact with the digital world online. Your phone has an IMEI number, which is like a serial number. It even has hardware, firmware, and software information like which operating system are you using, which software version, what type of camera, and much more. This information is potentially exposed when you communicate online. When you login to a website, your IP address is tracked, which is like your personal serial number from your internet provider. This can tell where exactly in the world you viewed the website (it could even be pinpointed to your exact block, house, room). That is why many people have recently started to use VPNs (Virtual Private Networks), to mask this connection and make it more secure as nobody wants to be communicating to the world where exactly they live. It is an irrelevant bit of information that comes with many risks and zero real benefits.&lt;/p&gt;

&lt;p&gt;The more information that nefarious, bad actors have on you makes it easier for them to infiltrate your life and cause a whole world of chaos and pain. This ranges from identity theft to stealing your bank account information, leading to a loss of money or assets, to committing crimes on your behalf, you name it.How does Vector solve this? By design. It does not collect this information as it has no need for it. Private messages should be only between two parties or any amount of disclosed members, consensually. Most companies, especially that offer “free” services, really are collecting your metadata and personal information in order to monetize it. They want to understand you, your behavior, and exploit your own psychology and patterns to try and sell you things. These companies can sell this information to third party marketing and advertisement brokers, if they don’t run a similar service internally. Information is digital gold, but it is not rocks they are mining, but people.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;4-decentralization-vs-corporate-control-2&#34;&gt;4. Decentralization vs. Corporate Control&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Signal, WhatsApp, Telegram—they all claim to be secure. What&amp;#39;s fundamentally different about Vector&amp;#39;s decentralized approach, and why does centralization make those platforms vulnerable no matter how good their encryption is?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;None of those apps can prove they are, except for Signal, which invented the Signal Protocol. This was groundbreaking at the time for end-to-end encrypted messaging and used for many years by many apps, until more advanced protocols came about. The issue with data centralization, as the name implies, is a centralized unit—a central point of attack could wipe out or simply compromise an entire network. Decentralization makes this astronomically more difficult, depending on the levels of decentralization and method. For the record, I would like to share with readers that just because something says “decentralized” does not really mean it is or that it is secure. There are many blockchain projects that claim to be decentralized and have 11 nodes, which they control a majority of. You must always do your own research to study the degrees of decentralization, privacy, and security.&lt;/p&gt;

&lt;p&gt;Centralization also means single point of failure in terms of continuity.Centralization indeed makes those platforms more vulnerable, regardless of how good your encryption is. Encryption alone is not enough, but only one element. Just like decentralization, it is not enough on its own, but one important element. Here is a great infographic, research by Formless Labs, that covers this subject a bit more in detail, along with privacy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;5-real-world-use-cases-2&#34;&gt;5. Real-World Use Cases&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Beyond activists and journalists, who should be using Vector Privacy? Can you share why someone might consider using Vector instead of WhatsApp for example?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Wonderful question. Vector is designed for everyone. This is our intention, from the first foundational pillar laid. Understand that Vector is currently only in Open Beta and has a very unique branding and style, but will be modular and customizable so that people can truly create their ideal setup for communication, whatever the use case. We want to normalize privacy and have it so people don’t even have to know or care about privacy, just simply loving the Vector Privacy UX is enough. Their privacy is protected and our job is complete.&lt;/p&gt;

&lt;p&gt;As a UX/UI developer, it is my personal goal to make it universal, but to dig deeper than that is really to make it fun, make it enjoyable. In the modern world, most of us communicate online because our networks are so big and vast. We have friends, family, and colleagues all over the world. This is the future of communication, it will mostly be digital. So, there needs to be a lot of emphasis and focus on the detail, the how. That is where my interests and knowledge in psychology hopefully comes in handy, not to exploit the human mind for dopamine traps and quick fixes to monetize actions, but to design in a way that is synchronistic, fluid, and feels natural with people.Messenger apps are often so limiting, we have barely scratched the surface. Especially with privacy messenger apps, most of them have a horrible UX that feels slow, unintuitive, and clunky… lacking any soul and void of anything that resembles humanity. We want to reinvent digital communication so that it feels effortless to truly express what is on your mind and heart. Let the end user focus on how good it feels to communicate and use Vector. Let us celebrate and sleep easy at night knowing that their privacy is protected.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;6-the-no-kyc-philosophy-2&#34;&gt;6. The No-KYC Philosophy&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Vector requires no phone number, no email, and no KYC which is rare. Vector has made anonymity at signup a critical feature. Why?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You will hear me say this on repeat, if you haven’t already. KYC is the greatest threat to privacy and the worst design for privacy. In a high-trust society, exactly how we grew up thinking (naive), but that when companies collected our data, we trusted them because we thought it made logical sense to provide this information in order for them to do their jobs more efficiently. There is still some truth to that. The general concept of KYC is not bad, but implementing it into the modern world with digital, online systems is a horrible idea as we have witnessed time and time again. It does not matter how great your security is or how big your company is, how much money they make, how many B’s in their total market cap, how many people in the cybersecurity department, but they are exposed to the same threats as every other entity operating online. The worst part about it? It is our data, the customer’s data, that is compromised and exposed online and to the dark web.There needs to be a redesign of this traditional model and I think there are a lot of great minds and developers working on alternatives, but for now KYC is a major threat to security and privacy. Never give more information than you have to. If it feels too intrusive, stop and look for other alternatives. I can assure you there are many great alternatives out there. Simply removing the need for KYC or any form of alternative identity linking already makes the experience objectively more secure. If there is no data, then what?Vector is a standalone, open-source privacy protocol that doesn’t have an interest or use for a user’s personal data. Therefore, it doesn’t collect it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;7-open-source-trust-2&#34;&gt;7. Open-Source Trust&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Vector is open source. Why is that non-negotiable for a privacy tool, and what would you say to someone who asks &amp;#39;Why should I trust Vector more than a closed-source app from a big company?&amp;#39;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why would you trust something created by humans that you can’t see and verify in some way or form? Would you trust test results from a pharmaceutical company telling you how their new product is better and safer without seeing the results yourself? …especially being able to see what scientists signed off on the reports publicly. Then, you can do a deeper background check on these scientists to see if they are credible or are bought out and make your own conclusion. That is precisely how open source works. You can see the current state of the codebase, what changes were made by who and when, and you can even look deeper into those contributors to see what else they work on and virtually do a whole background check online. Furthermore, look at open source as the best way to get international peer review from people whether you want it or not. It is the true test of time. The best protocols are open source and I am more aligned with the philosophy and culture of open-source than anything. Most business models actually benefit off of their customers not knowing, being in the dark. For example, they don’t know their recipe, their trade secrets, etc. That is how they profit almost inexorably. Well, how do open-source projects make money? Many of them can still operate a for-profit model, while the codebase is open-source, but a lot of open-source projects choose the non-profit route and accept donations and grants. If there is a will, there is a way. 9/10 I will always trust and have more respect for open-source projects than not. For the record, just because something is open-source doesn’t not implicitly imply that it is safe nor secure. It only implies that the codebase is transparent and under the premise of it being accessible to everyone, it has a higher chance of other developers or contributors potentially identifying bugs, critical issues, or even suggesting improvements and optimizations. The odds are certainly higher. As the saying goes &amp;#34;If you have an apple and I have an apple and we exchange these apples, then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.&amp;#34;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;8-the-surveillance-economy-2&#34;&gt;8. The Surveillance Economy&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tech giants make billions selling user data and attention. Vector is free and doesn&amp;#39;t monetize user data. How is that sustainable, and why should users trust that Vector won&amp;#39;t &amp;#39;pivot&amp;#39; to ads or data sales later?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Absolutely, that is precisely what these tech conglomerates do and have been doing for decades, mostly unknown to the general public. There is indeed no such thing as a free lunch, energy has to always come from somewhere. Vector is sustainable simply for the fact that it is built on a robust and decentralized network out of any single individual’s control and power. It will survive, whether we want it to or not. The biggest threats, which are temporary, are really just internet outages more than anything. Why users should trust Vector? Don’t trust, verify. There is always a chance that anything could happen with any project. Even Bitcoin’s network was attacked by bad actors, years ago and even recently lol. Things don’t stay the same forever, but what’s important to know is that for the simple fact Vector is open-source, it could be forked and modified by anyone. If it had ads that someone didn’t like, they could fork the Vector Privacy repository and recreate it without ads for their own personal preference and even launch their own chat app. We encourage people to peer review and share feedback. Those are the basics for any true open-source app.Vector cannot pivot to data sales simply for the fact it doesn’t collect personal user data. It cannot and will not, by its protocol functionality and limitations alone. What data could be sold and who on earth would buy it?Fun Fact: The core contributors and founders of Vector Privacy cannot stand ads.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;9-network-effects-adoption-2&#34;&gt;9. Network Effects &amp;amp; Adoption&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The hardest part of any messaging app is getting people to switch. Everyone is already on WhatsApp, Telegram, Discord, and Facebook Messenger. How do you convince someone to move their entire social circle to Vector, and what&amp;#39;s your strategy for overcoming the network effect?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;100% legitimate question and no doubt, one of the biggest challenges. Part of our strategy is really to focus on the user experience. For future reference, let’s assume privacy is always a core focus for Vector and doesn’t need to always be mentioned. As I was sharing above, most messenger apps are not what people want or enjoy, they just don’t know any alternatives or like you shared, that’s where their entire social circles are.&lt;/p&gt;

&lt;p&gt;I foresee the growth of Vector being steady and organic. The best thing we can do is work with our community and the users to optimize their experience and also allow for high-level customization. We don’t want to force anything on anyone, that is one of the biggest things that prompted us to build our own app. So many apps force you to use their trash UX and do actions that you really don’t agree with or want to do, but have to in order to execute your intended goal.&lt;/p&gt;

&lt;p&gt;Once people have had enough with their privacy being completely invaded and compromised on these other apps, they will abruptly leave and say if you want to message me, you can message me on Vector. How do I know? because I’ve already watched it happen both with Vector and other messenger apps. Once Vector is further along the development pipeline and distributed through the most popular app stores, I think it will be much easier and the user experience will speak for itself. I am not under the impression that people will immediately think Vector is better and more fun, but I will be putting in my blood, sweat, and tears to make that a reality.&lt;/p&gt;

&lt;p&gt;Retention is one of the biggest key factors of success for any and all applications. Why are people coming back? They have no other options, they love it, or it simply solves the problem(s) they have. I think one strategy is to focus on group chats and larger social networks, so that people don’t just log on to message their one friend privately. They can join other social groups, meet, interact, learn, and have fun like they would anywhere else online. Vector needs to be a home for people.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;10-the-future-of-privacy-2&#34;&gt;10. The Future of Privacy&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;If Vector achieves mass adoption, what does the world look like in 5-10 years? What changes when billions of people have access to truly private, decentralized communication?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It is insane to imagine, honestly. With the rapid development of AI and technology we have already crossed the threshold of there being more AI-generated content on the internet than actual content generated by people for the past few decades. Yes, insane is the correct word. Terrifying as well knowing that if humanity itself doesn’t evolve to a higher standard of living, one with shared moral values, the technology we invent will continue to evolve and we will repeat the same cycles of suffering, but much quicker and more powerful. What I’m hoping happens is that society comes to a consensus on privacy being a basic, fundamental human right and there will be laws implemented that protect, rather than destroy. To be clear, I am certainly not under the illusion that this will or is likely to happen, but I remain confident in the resiliency of the human spirit and fight for freedom. Free, open-source, and permissionless technology will thrive.&lt;/p&gt;

&lt;p&gt;TLDR: Nothing new under the sun, but at least we have more privacy. :kek:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;11-the-call-to-action-2&#34;&gt;11. The Call to Action&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;If someone is reading this interview and thinking &amp;#39;this sounds great, but I&amp;#39;ll switch later,&amp;#39; what would you say to them? Why should they download Vector today instead of waiting?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you don&amp;#39;t believe me or don&amp;#39;t get it, I don&amp;#39;t have time to try to convince you, sorry.&amp;#34; Lol, jk. I spent an hour typing up this response to answer all of these questions so you could understand… but really “there&amp;#39;s a difference between knowing the path and walking the path.” and I look forward to seeing you on the other side. Don’t act like you don’t download new apps every week or so. You don’t have to convert, it’s not a cult, it’s a privacy messenger app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add me on Vector&lt;/strong&gt;:&lt;a href=&#34;https://vectorapp.io/profile/npub12w73tzcqgpr2pcy4el5x60d2emeud4cyeeayynzqqg2fefzgytaqm4ktz3&#34;&gt;https://vectorapp.io/profile/npub12w73tzcqgpr2pcy4el5x60d2emeud4cyeeayynzqqg2fefzgytaqm4ktz3&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&#34;additional-questions-2&#34;&gt;Additional Questions&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;How do you view Signal/Telegram/Session as competitors vs. allies in the broader privacy movement?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Great, love it. Give people options. These organizations and apps you listed have achieved great tasks and nothing but respect for them overall. You simply cannot deny the good and for the most part what it has done for the public’s perception of privacy. I like to see people as advocates of privacy, then in some way shape or form, we are on the same team. We are after all open-source, there are no trade secrets we need to protect in order to stay financially solvent lol. People using these apps does Vector no harm whatsoever, in fact they could even be a gateway into privacy for many… eventually leading them to test out Vector. Win, win.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What happens if a government demands user data or tries to shut Vector down?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What user data? There is no user data collected nor do founders, contributors, or users have access to other user’s data. As for “shutting down Vector”, it is an open-source, decentralized protocol. So, I guess shut down the internet and that’s a good place to start.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Vector seems technical. How do you make it accessible to non-technical users who just want to chat with friends?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It may appear technical, but really it shouldn’t be. Log on to Vector like you would any other messenger app, but with less steps. Yes, there are a few things to learn along the way like your private key and seed phrase, but we aim to make this more simple with each release. A great place to reference is the official docs on &lt;strong&gt;&lt;a href=&#34;https://vector-privacy.gitbook.io/vector-privacy&#34;&gt;docs.vectorapp.io&lt;/a&gt;&lt;/strong&gt;. We have a &lt;strong&gt;&lt;a href=&#34;https://vector-privacy.gitbook.io/vector-privacy/guides/guides/getting-started&#34;&gt;Beginner’s Guide&lt;/a&gt;&lt;/strong&gt;, as well as each aspect of the app broken down to make it easier to understand if there is any confusion. Furthermore, join our community of people around the world who would love to help you get setup and learn more. For the time being, join the &lt;strong&gt;&lt;a href=&#34;https://discord.com/invite/FT65Nh8pzZ&#34;&gt;Vector Community Discord&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Interview conducted by Sir Clodsworth III — Vector Privacy 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official Vector Privacy&lt;/strong&gt;:
&lt;a href=&#34;https://vectorapp.io/&#34;&gt;Website&lt;/a&gt; | &lt;a href=&#34;https://x.com/VectorPrivacy&#34;&gt;Twitter(X)&lt;/a&gt; | &lt;a href=&#34;https://discord.com/invite/FT65Nh8pzZ&#34;&gt;Discord&lt;/a&gt; | &lt;a href=&#34;https://primal.net/p/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34;&gt;Nostr&lt;/a&gt; | &lt;a href=&#34;https://github.com/VectorPrivacy&#34;&gt;GitHub&lt;/a&gt; | &lt;a href=&#34;https://vector-privacy.gitbook.io/vector-privacy&#34;&gt;GitBook&lt;/a&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-12T03:36:28&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrktwl4hnywsammlvd5ggx5ahn6czzdqj2yv084s74uh09erdc7dqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305tcz4gl</id>
    
      <title>Nostr event nevent1qqsrktwl4hnywsammlvd5ggx5ahn6czzdqj2yv084s74uh09erdc7dqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305tcz4gl</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrktwl4hnywsammlvd5ggx5ahn6czzdqj2yv084s74uh09erdc7dqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305tcz4gl" />
    <content type="html">
        &lt;img src=&#34;https://image.nostr.build/204c6d49a8f457e62f77dc58e413cb04044b19f1ceff840fc3daca40391b00ff.jpg&#34;&gt; &lt;br/&gt;&lt;br/&gt;⚠️PRIVACY NOT FOR COMPROMISE⚠️&lt;br/&gt;// Evangelion-Inspired Art &amp;amp; Design&lt;br/&gt;&lt;br/&gt;I see a lot of people sharing today about Evangelion Interfaces, really some of the most inspiring and timeless designs. I still watch classic anime like Neon Genesis: Evangelion and Ghost in the Shell and pause to take stills when I see some unique design inspiration.&lt;br/&gt;&lt;br/&gt;This afternoon I just enjoyed spending some time to create a similar feeling (not necessarily the look) that I get from these classic terminal interfaces. It also allows me to be a bit more abstract and really do things I wouldn&amp;#39;t traditionally do in design &amp;gt; minimalism &#43; simplicity for one. Instead I enjoyed making this collage of the Privacy by Principle philosophy with &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;  theme. Yes, this is a real app btw and now I&amp;#39;m thinking about making an EVA-01 theme for it.&lt;br/&gt;&lt;br/&gt;For me, one of the most classic visuals that stands out in these types of series are the &amp;#34;Caution&amp;#34; or &amp;#34;Warning&amp;#34; bars that often use a broken horizontal line with 45/60 degree diagonal cuts. It reminds me of industrial buildings or construction where they would have these bright yellow warning signs not to enter or wear a hardhat, etc. Whoever really popularized this design has silently won countless awards and well deserved, they really set the standard and feel for many generations to come. This is about as universal as you can get for design in my opinion.&lt;br/&gt;&lt;br/&gt;Anyways, hope you all enjoy it and excited to see more original work and not getting Claude or AI to design for you. Yep, I said it. Stand by everything that I say. For implementation? Great, but be creative and take time to work on your own designs and not just rely on AI to give you everything. That is where in lies the true joy of creativity and design, enjoying the process... &lt;br/&gt;&lt;br/&gt;The confusion, the clarity. The disarray, the synergy.
    </content>
    <updated>2026-03-10T09:56:47&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9pavhhash8lysnf3ztd3llyn0u9dmc6f04e9gq90wlt8rfgwkkqczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305gnem5n</id>
    
      <title type="html">Thanks Mara! I think in total it may be about 18 frames. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9pavhhash8lysnf3ztd3llyn0u9dmc6f04e9gq90wlt8rfgwkkqczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305gnem5n" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr385gev39cydrv093092xvu5zesgv2fy5amgz0hxfkq8uld7fvasuep72n&#39;&gt;nevent1q…p72n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thanks Mara! I think in total it may be about 18 frames. That&amp;#39;s a good question and probably no real clear answer. I&amp;#39;d say go with what you feel, are you capturing the grit itself or capturing a message and does the grit help add to the messaging or storytelling or does it diminish/distract? &lt;br/&gt;&lt;br/&gt;Ah, so Marmot Protocol has this cute pixel marmot and I&amp;#39;ve just been playing with a &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; (Privacy Messenger) concept of making him dissolve/glitch to represent the transition and fade out into anonymity. 
    </content>
    <updated>2026-03-10T06:25:23&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8c4j4p4stv4s3d9pqd6wkwj9ne53ykug6whuey5k74zlh2gtth6qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305nt2frv</id>
    
      <title type="html">Playing around more with the &amp;#34;Vectorization&amp;#34; of Pixel ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8c4j4p4stv4s3d9pqd6wkwj9ne53ykug6whuey5k74zlh2gtth6qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305nt2frv" />
    <content type="html">
      Playing around more with the &amp;#34;Vectorization&amp;#34; of Pixel Marmot.&lt;br/&gt;&lt;br/&gt;Privacy Mode: On (Default)&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/a7ed65a5da146d3f5155576f182fea22b84d4d6e6cc4868f30716dec423e4ae2.gif&#34;&gt; 
    </content>
    <updated>2026-03-10T06:11:58&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxzjjj6ejanqutxyhg4zwmczhclae7lhqtv04jtn5sluqtrcweysszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305x0g3m3</id>
    
      <title>Nostr event nevent1qqsxzjjj6ejanqutxyhg4zwmczhclae7lhqtv04jtn5sluqtrcweysszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305x0g3m3</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxzjjj6ejanqutxyhg4zwmczhclae7lhqtv04jtn5sluqtrcweysszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305x0g3m3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdnqhwjyjl5klmxzx8pqdn3gz3ew98hvtk3e5lzu5zzf05yfh5ljqp9xu66&#39;&gt;nevent1q…xu66&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/5b16171d739d341f99d054ceaf58ed041e964ef383f01a631439a0a36fe92d3c.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Here is what it should look like on the latest &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs2905f9wz5k65pu764ee8p5pu8fjg6sjf9us9mzktlyf8k3sjjfmq783qse&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;bulbrigertin&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…3qse&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; We will have a ways to go, but each release we make significant improvements. Let me know what else you&amp;#39;d like to see for this experience to not only be smooth, but something you enjoy.
    </content>
    <updated>2026-03-10T03:40:19&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9f9ndw3ag6ffxcw2aah9pja6wsqj4h9xtwpt8fv6k2gffsmvt0lszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305v4sdps</id>
    
      <title type="html">Nostr is da wae.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9f9ndw3ag6ffxcw2aah9pja6wsqj4h9xtwpt8fv6k2gffsmvt0lszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305v4sdps" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsypp38enlzy6xt5qrzaq4fghk8pv0k6xynhcpq9s78dh2axmn8k5shudpfg&#39;&gt;nevent1q…dpfg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nostr is da wae.
    </content>
    <updated>2026-03-10T01:14:12&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswavjrwk45kafmm3csx4w8em9f7zn3c3kna27jeq8u97g3jq07laqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hfsdez</id>
    
      <title type="html">#naddr1qv…tfdr</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswavjrwk45kafmm3csx4w8em9f7zn3c3kna27jeq8u97g3jq07laqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hfsdez" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpw8e9es7w829s6hxle5hpaea6r7m3yqsjky79aqhhm6ytwa6jtydqq2kyeesfc6rvsmhg3p9wnmcg339xdztd958waqtfdr&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…tfdr&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;&lt;img src=&#34;https://image.nostr.build/14b84f925f631f50ca027fd7f2e9a3458933f72015656630c461cfbe0af37e65.jpg&#34; alt=&#34;image&#34;/&gt;
GM! We&amp;#39;ve added a plethora of new UX features in this patch and update—there are some nice surprises in here some of you have been waiting for. It&amp;#39;s a bit much to go into detail about every single item. So, feel free to update to the latest version and test them out yourself! If you can&amp;#39;t find any of the features you want to test or not sure where,  just post in chat and the team, developers, and community can assist you. Below is the complete list of improvements and fixes for &lt;code&gt;v0.3.2&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Website:&lt;a href=&#34;https://vectorapp.io&#34;&gt;Download Now&lt;/a&gt;
⭐&lt;a href=&#34;https://github.com/VectorPrivacy/Vector/releases/tag/v0.3.2&#34;&gt;Visit GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;new-features-5&#34;&gt;&lt;strong&gt;New Features:&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;🖼️ &lt;strong&gt;Image Spoilers&lt;/strong&gt;: mark images as spoilers before sending - recipients see a blurred preview and tap to reveal&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Hyperlinks&lt;/strong&gt;: URLs in messages are now clickable, with rich link previews showing title, description, and thumbnail&lt;/p&gt;

&lt;p&gt;🔇 &lt;strong&gt;Silent Links&lt;/strong&gt;: wrap a URL in &amp;lt;angle brackets&amp;gt; to send it without generating a preview card&lt;/p&gt;

&lt;p&gt;👋 &lt;strong&gt;Mentions &amp;amp; Pings&lt;/strong&gt;: tag someone with @name to ping them, or @everyone to notify the whole group (admin-only)&lt;/p&gt;

&lt;p&gt;🔤 &lt;strong&gt;Emoji Shortcodes&lt;/strong&gt;: type :apple: or :cat: to quickly insert emoji - with an autocomplete picker as you type&lt;/p&gt;

&lt;p&gt;🔕 &lt;strong&gt;Mute Groups&lt;/strong&gt;: silence notifications for specific group chats without leaving them&lt;/p&gt;

&lt;p&gt;👍 &lt;strong&gt;Tap to React&lt;/strong&gt;: tap an existing reaction to add yours - no need to open the emoji panel&lt;/p&gt;

&lt;p&gt;👀 &lt;strong&gt;Reaction Details&lt;/strong&gt;: hold or right-click any reaction to see exactly who reacted&lt;/p&gt;

&lt;p&gt;🎵 &lt;strong&gt;Music Metadata&lt;/strong&gt;: audio files with embedded metadata display cover art, title, and artist info in a rich player&lt;/p&gt;

&lt;p&gt;❌ &lt;strong&gt;Cancel Uploads&lt;/strong&gt;: cancel file uploads mid-transfer with a single tap&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Failed Message Recovery&lt;/strong&gt;: messages that fail to send now show Retry and Delete buttons, so nothing gets silently lost&lt;/p&gt;

&lt;h2 id=&#34;improved-2&#34;&gt;Improved:&lt;/h2&gt;

&lt;p&gt;🎙️ &lt;strong&gt;Audio Engine Rebuild&lt;/strong&gt;: completely new audio engine for voice recording, playback, and music - smoother, more reliable, and lower latency&lt;/p&gt;

&lt;p&gt;🐧 &lt;strong&gt;Full Linux Audio&lt;/strong&gt;: the new engine brings complete voice and audio support to Linux - recording, playback, and music now work identically across all platforms&lt;/p&gt;

&lt;p&gt;📤 &lt;strong&gt;Upload &amp;amp; Download UX&lt;/strong&gt;: redesigned file transfer experience with clearer progress indicators, adaptive speeds, and unified spinners&lt;/p&gt;

&lt;p&gt;📎 &lt;strong&gt;Attachment File Names&lt;/strong&gt;: files now carry their original names through the protocol - you can also rename before sending and see human-readable names on download&lt;/p&gt;

&lt;p&gt;🔄 &lt;strong&gt;Faster Group Sync&lt;/strong&gt;: MLS groups now sync via negentropy (NIP-77), catching up on missed messages significantly faster with parallel boot&lt;/p&gt;

&lt;p&gt;📥 &lt;strong&gt;Auto-Download Limit&lt;/strong&gt;: configure the maximum file size for automatic downloads - larger files wait for a manual tap&lt;/p&gt;

&lt;h2 id=&#34;fixed-5&#34;&gt;Fixed:&lt;/h2&gt;

&lt;p&gt;💬 &lt;strong&gt;Message Bubbles&lt;/strong&gt;: fixed code blocks and contact cards overflowing message bubbles on narrow screens&lt;/p&gt;

&lt;p&gt;🔔 &lt;strong&gt;Notification Badges&lt;/strong&gt;: group messages now correctly update the OS badge counter and mark as read when you refocus the chat&lt;/p&gt;

&lt;p&gt;🔀 &lt;strong&gt;NIP-17 Group Chat Ignored&lt;/strong&gt;: Vector now explicitly filters out NIP-17 Group Chat events, which were occasionally leaking into DMs - we use MLS for group encryption and have no plans to support NIP-17 groups&lt;/p&gt;

&lt;p&gt;🖼️ &lt;strong&gt;Image Sizing&lt;/strong&gt;: images with missing dimensions are now auto-resolved from the server, fixing broken layouts&lt;/p&gt;

&lt;p&gt;🎹 &lt;strong&gt;Media Keys&lt;/strong&gt;: OS media keys (play, pause, stop) now work correctly with voice messages and stop cleanly after playback&lt;/p&gt;

&lt;p&gt;🔎 &lt;strong&gt;Search Inputs&lt;/strong&gt;: group invite and create-group search inputs now accept profile URLs, autofocus on desktop, and no longer mangle usernames with autocorrect&lt;/p&gt;

&lt;p&gt;📱 &lt;strong&gt;Android Fixes&lt;/strong&gt;: fixed textarea resize grip, Whisper AI no longer freezes certain devices, and Mini Apps received security and stability hardening&lt;/p&gt;

&lt;p&gt;📋 &lt;strong&gt;Message Previews&lt;/strong&gt;: chat list previews and notifications now show clean text instead of raw HTML or markdown&lt;/p&gt;

&lt;p&gt;🔐 &lt;strong&gt;File Integrity&lt;/strong&gt;: attachments are now verified by content hash before reuse, preventing mismatched files with duplicate names&lt;/p&gt;

&lt;p&gt;🧭 &lt;strong&gt;Navigation&lt;/strong&gt;: fixed navbar occasionally reappearing inside the chat view&lt;/p&gt;

&lt;h2 id=&#34;contributors-5&#34;&gt;Contributors&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;@alltheseas&lt;/code&gt; submitted PR &lt;a href=&#34;https://github.com/VectorPrivacy/Vector/pull/46&#34;&gt;#46&lt;/a&gt; — relay confirmation before MLS commit merge, preventing silent group state divergence.
&lt;code&gt;@selkij&lt;/code&gt; submitted PR &lt;a href=&#34;https://github.com/VectorPrivacy/Vector/pull/51&#34;&gt;#51&lt;/a&gt; — security policy and vulnerability disclosure guidelines.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-03-09T18:59:39&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrx0vaetf3hvagehxpfj6cec3w3379k45pr6dmlpwz4fy9jd60l4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3057qv2ty</id>
    
      <title type="html">Timeless, brother! 🫡</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrx0vaetf3hvagehxpfj6cec3w3379k45pr6dmlpwz4fy9jd60l4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3057qv2ty" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswkex7vsjc0z93eyyp390czm9ajfdylv5uj0al6pjkm6k93ldruvqx7pu94&#39;&gt;nevent1q…pu94&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Timeless, brother!  🫡
    </content>
    <updated>2026-03-05T11:05:33&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrlvx2a8vyhcvkdx80lvq8aq085u9cz8xlhlls4hqd8lu7fhn4gmqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305qhmxxg</id>
    
      <title type="html">I&amp;#39;ve got the .psd mockup file if you&amp;#39;d like it to play ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrlvx2a8vyhcvkdx80lvq8aq085u9cz8xlhlls4hqd8lu7fhn4gmqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305qhmxxg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst0pe5muntp8qyqy3lkd98w0g6kgc5s9qk56l4clcf6ycqdrghm3qjzavfr&#39;&gt;nevent1q…avfr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve got the .psd mockup file if you&amp;#39;d like it to play around with. Really just designing the label and then you can edit the background however you&amp;#39;d like (obviously anything else on top of that), but really easy to use).  &lt;img src=&#34;https://image.nostr.build/e77bf16fbd322f3a7eb4b857516ebf7e1c0d401ec630f5bb0befdf3cda731ec6.png&#34;&gt; 
    </content>
    <updated>2026-03-04T19:03:20&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspmjpk6dwdf4t4dtyq4wkxxwgvr64kt70m2mplnrxw7gm30k2ad7czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305vyaupj</id>
    
      <title type="html">What if I told you that you could listen to both? (Click &amp;amp; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspmjpk6dwdf4t4dtyq4wkxxwgvr64kt70m2mplnrxw7gm30k2ad7czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305vyaupj" />
    <content type="html">
      What if I told you that you could listen to both? &lt;br/&gt;(Click &amp;amp; Zoom for Details)&lt;br/&gt;&lt;br/&gt;Just having some fun with the &amp;#34;Self-Sovereign Mix Tapes&amp;#34; last night after the Marmot Community Call. Marmot &#43; Nostr ecosystem is heatin&amp;#39; up! &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs8t4ehcdrjgugzn3zgw6enp53gg2y2gfmekkg69m2d4gwxcpl04ac04xqkm&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;White Noise&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…xqkm&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/66ae956d079d8a2fffc5fdbf3c4238ea6d7dae64e92f1343c77b7465f1320ca6.jpg&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/6f78584af4a98e68622fe426a0ae4b729bffc0bb6cd1625e9d0ca02035b200b1.jpg&#34;&gt; 
    </content>
    <updated>2026-03-04T13:40:40&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvpscpmkda638mrgxdgnrnsz6sgu99ss0as4sac8lamuha6t8pchczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30509vytz</id>
    
      <title type="html">Great call last night. We were unfortunately a bit pre-occupied ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvpscpmkda638mrgxdgnrnsz6sgu99ss0as4sac8lamuha6t8pchczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30509vytz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxsfpn5ama777j3rm2zdj3ynp9scghkehs44fj0y3n0ufw8yvedagl6ecc0&#39;&gt;nevent1q…ecc0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Great call last night. We were unfortunately a bit pre-occupied and not prepared to show a demo for &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; yesterday, but important we were there to be present and catch up with the latest. That call grew almost 50% in participation from the last one! NGL, vibes are high and morale is bangin&amp;#39;. LOVE IT. Thanks for hosting these.
    </content>
    <updated>2026-03-04T13:37:04&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszjx7eevz3pw0c6za0wv0mj9chtn4vfheyhz0hh3344s7pglpsergzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3055ctrjr</id>
    
      <title type="html">My favorite Group Chat avatar on Vector is the Vectorized Marmot. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszjx7eevz3pw0c6za0wv0mj9chtn4vfheyhz0hh3344s7pglpsergzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3055ctrjr" />
    <content type="html">
      In reply to &lt;a href=&#39;/naddr1qq4k6ctjd4hhgttswfhhgmmrdakz6mt0de6xsmre94ex2cmpwqkkvetzwf6kzune95erqv3kqgs8t4ehcdrjgugzn3zgw6enp53gg2y2gfmekkg69m2d4gwxcpl04acrqsqqqa288d74jd&#39;&gt;naddr1qq…74jd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;My favorite Group Chat avatar on Vector is the Vectorized Marmot. GIF Avatars look so good.&lt;br/&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://video.nostr.build/4213e070dfc8a24a757fefe6e094393b9c62b5ff0d8ddebe56a8b450565ea187.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-03-01T18:48:24&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx38ukfk3j7kt9h7l6mq4yf4qr0a3wgq20eq897ptxrmeugtegw5qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305lhzym2</id>
    
      <title type="html">#naddr1qv…z7l7</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx38ukfk3j7kt9h7l6mq4yf4qr0a3wgq20eq897ptxrmeugtegw5qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305lhzym2" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpdlddzcx9hntfgfw28749pwpu8sw6rj39rx6jw43rdq4pd276vhuqqgxzdpcx56xvdf3vfjkgdphx4jxy62z7l7&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…z7l7&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;Reticulum creates Ed25519 keypairs that exist only within Reticulum. Meshtastic assigns device IDs that live only on the hardware. BitChat maintains separate Noise keys for mesh routing even while using Nostr for internet fallback. Run multiple protocols, and you manage multiple identity systems, each isolated from the others. FIPS breaks this pattern by collapsing the identity layer: one keypair for social messages and network routing.&lt;/p&gt;

&lt;p&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub19wavu4f7l6l43h24jyskn7fvzy37kcfp67aqjtmv2qgy4lp34nhsda8p6k&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;jcorgan&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub19wa…8p6k&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;, the creator of FIPS, brings credentials from a different corner of the open-source world. He served as Chief Architect of GNU Radio from 2016 to 2018 and contributed the addrindex patch that made Counterparty possible on Bitcoin. His background in software-defined radio and protocol design shows in the technical choices that shape FIPS. FIPS synthesizes techniques with long track records: spanning tree self-organization from IEEE 802.1D dating to 1985 and tree coordinate routing adapted from Yggdrasil&amp;#39;s Ironwood library, secured by the Noise Protocol Framework.&lt;/p&gt;

&lt;p&gt;Identity architecture is the core innovation. In FIPS, your secp256k1 keypair generates multiple related identifiers: the public key handles cryptographic operations during handshakes, while a sixteen-byte SHA-256 hash of that key becomes your node_addr, the routing identifier visible in packet headers. That same hash maps to an IPv6 address in the fd00::/8 range for compatibility with standard IP applications through a TUN adapter. Intermediate routers forward traffic using only the hashed node_addr, never learning your actual public key or Nostr identity. The routing layer sees opaque addresses; the endpoints see authenticated identities.&lt;/p&gt;

&lt;p&gt;This design contrasts sharply with how other mesh protocols handle identity. Reticulum generates 512-bit Ed25519 keypairs specific to the mesh network, creating destinations that are portable across any medium but have no relationship to any identity system outside Reticulum itself. Mark Qvist designed it this way deliberately: the address represents the cryptographic identity, and the cryptographic identity exists solely within Reticulum&amp;#39;s domain. You can move from WiFi to LoRa to packet radio without changing your Reticulum address, but that address connects to nothing else you do online.&lt;/p&gt;

&lt;p&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub17slpd6rnsagjuyj9l0lrs4d7f0vnjryakhjwwsk64f8c0mtw72zsp2w9r8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;bitchat&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub17sl…w9r8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; takes a hybrid approach that gestures toward integration. It uses Bluetooth Low Energy mesh for local communication and falls back to Nostr relays (via NIP-17 private messages) when devices leave mesh range. The system uses Noise_XX_25519_ChaChaPoly_SHA256 for mesh encryption, with separate Curve25519 static keys and Ed25519 signing keys for identity management. Nostr integration exists at the application layer: mutual favorites automatically switch to Nostr transport, and geohash-based location channels operate over relays using derived identities. The mesh layer and the Nostr layer remain architecturally distinct, connected by application logic but not unified at the protocol level.&lt;/p&gt;

&lt;p&gt;Meshtastic has achieved the broadest adoption of any mesh protocol, with hundreds of thousands of devices deployed and active community networks across multiple continents. Its identity model is device-centric: each node has a short ID and a long name, with PSK (pre-shared key) encryption on private channels and recently added public-key encryption for direct messages. The protocol optimizes for accessibility and ease of deployment on cheap hardware. You can buy a T-Beam for thirty dollars and join a mesh in minutes. What you cannot do is connect that Meshtastic identity to anything beyond the mesh itself. The identity lives on the device and has no cryptographic relationship to any keypair you might hold elsewhere.&lt;/p&gt;

&lt;p&gt;FIPS inverts this isolation by using your Nostr npub as your network address. Your social notes and your mesh packets now authenticate through the same key. One backup phrase protects both your social identity and your network presence. You no longer manage separate key material for each protocol or wonder whether your mesh identity will survive a device failure. If you have backed up your Nostr seed, your network address recovers with it. Peer discovery through Nostr relays appears on the roadmap, which would allow new nodes to bootstrap from the same infrastructure that carries social messages.&lt;/p&gt;

&lt;p&gt;FIPS organizes its protocol stack into three layers with distinct responsibilities. At the base, a transport layer abstracts over physical media, currently supporting UDP/IP with planned extensions to Bluetooth, serial links, radio, and Ethernet. Any medium capable of carrying datagrams can participate. Above this, the FIPS Mesh Protocol (FMP) handles peer authentication using Noise IK handshakes and propagates Bloom filters for destination discovery. Each hop makes forwarding decisions using only local information: coordinates derived from tree position and Bloom filters indicating which peers can reach which destinations. At the top, the FIPS Session Protocol (FSP) establishes end-to-end encrypted sessions using Noise XK, independent of any intermediate hop. Application data flows through FSP sessions, protected by a layer of encryption that intermediate routers cannot read.&lt;/p&gt;

&lt;p&gt;Two independent encryption layers protect traffic through the mesh. At the link level, Noise IK (in the FMP layer) defeats transport observers and active attackers on individual connections. At the session level, Noise XK (in the FSP layer) protects application payloads from intermediate routers, who see only encrypted datagrams and opaque routing headers containing hashed addresses. An attacker who compromises a single intermediate node learns nothing about the content of sessions passing through it. The layered design means that breaking link encryption does not break session encryption, and vice versa.&lt;/p&gt;

&lt;p&gt;Routing operates through coordinate-based greedy forwarding. Nodes self-organize into a spanning tree through distributed announcements, each independently selecting a parent based on information from immediate neighbors. Without voting or coordination protocol, the network converges on a single agreed-upon root. Tree position becomes a coordinate that enables distance calculations: the distance between any two nodes equals the number of hops to their lowest common ancestor. Bloom filters propagate reachability information, allowing each node to learn which destinations its peers can reach without maintaining a global view of network topology.&lt;/p&gt;

&lt;p&gt;Reaching an unknown destination requires a LookupRequest that propagates through the network until the target responds with current coordinates. Intermediate nodes cache this information to accelerate future routing. Error recovery operates through signaling: CoordsRequired tells the source that a lookup is needed, and PathBroken indicates route failure with MtuExceeded reporting path MTU information. These signals trigger active recovery on the sending side, converting silent packet loss into actionable events.&lt;/p&gt;

&lt;p&gt;FIPS addresses four adversary classes explicitly. Transport observers see only encrypted packets and learn nothing about content or endpoints. Active attackers cannot forge or replay messages due to Noise Protocol authentication and AEAD encryption. Intermediate nodes see only opaque node_addr hashes in routing headers, unable to correlate traffic to Nostr identities without breaking SHA-256. Byzantine adversaries face signed tree announcements with transitive ancestry validation, plus the fundamental constraint that peering is discretionary: you choose which peers to connect with, and malicious nodes can be dropped.&lt;/p&gt;

&lt;p&gt;FIPS remains early-stage. Version 0.1.0 was publicly announced yesterday, with spanning tree construction and Bloom filter discovery working in the current codebase. No security audit has been conducted. The planned Nostr relay bootstrap for peer discovery does not yet exist. Anyone evaluating FIPS for production use should understand they are looking at alpha software from a single developer, however experienced that developer may be.&lt;/p&gt;

&lt;p&gt;Each alternative carries different trade-offs. Reticulum offers the most mature architecture, with version 1.1.3 released in January 2026 and years of refinement in its cryptographic and routing design. It supports any transport medium capable of five bits per second, from LoRa to packet radio to TCP overlays, but your Reticulum identity exists only within Reticulum. BitChat achieved rapid adoption during protest events in Nepal and Madagascar, with over 365,000 downloads by September 2025. Its Nostr integration provides internet fallback and geohash location channels, but the mesh layer maintains separate cryptographic identity. Meshtastic remains the accessible entry point, with cheap hardware and simple setup, but its device-centric identity model offers no path toward broader integration.&lt;/p&gt;

&lt;p&gt;FIPS proposes something none of them provide: a network layer that uses the same identity you already hold. Possession of a Nostr keypair means possession of a FIPS address. When Nostr relays work for peer discovery, the same infrastructure that routes your social messages will help you find mesh peers. Consolidation under a single keypair you generated, that no registration authority issued, portable across every layer of a decentralized stack.&lt;/p&gt;

&lt;p&gt;Identity fragmentation compounds with each protocol you adopt. A Meshtastic device in your backpack and a Reticulum node on your home server mean separate keypairs with no relationship to your Nostr social presence. Lose a device, and you regenerate identity on each protocol independently. Change your Nostr key, and nothing follows. FIPS eliminates this operational burden by making one keypair work everywhere. Back up your Nostr seed once, and your mesh identity survives any hardware failure. The protocol remains alpha software requiring security audits before trust is warranted, but its architecture addresses a gap that existing protocols have not attempted to fill. Mesh networking has enough protocols. What it lacks is identity unification, and FIPS is the first project designed to provide it.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-02-26T14:50:51&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxtcsk7rq9v44a0mda8274awkvgg8v5wznshemvd8sx7ldarxq6qczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3054ug303</id>
    
      <title type="html">Ooooo! Nice, gotta check this out.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxtcsk7rq9v44a0mda8274awkvgg8v5wznshemvd8sx7ldarxq6qczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3054ug303" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvpfh0nhmmzndsa2cfsxcmald9jhaslmc6hynmk57v29kkdmzpqfcsvjfmr&#39;&gt;nevent1q…jfmr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Ooooo! Nice, gotta check this out.
    </content>
    <updated>2026-02-18T16:23:44&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0hj3y4mmtd55k0fhhday58u6d8xd5wdme6kcxu77g8s8lwm70l4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ck6sh2</id>
    
      <title>Nostr event nevent1qqs0hj3y4mmtd55k0fhhday58u6d8xd5wdme6kcxu77g8s8lwm70l4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ck6sh2</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0hj3y4mmtd55k0fhhday58u6d8xd5wdme6kcxu77g8s8lwm70l4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ck6sh2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxj9vp93jltagrf4cl59mjaextmhhpsxsuegs88ycfa4z32af62lgtwevyx&#39;&gt;nevent1q…evyx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/e57b3d506d3080fee3a09748d6c96c3defc5ee1af22ada32040b123b74bb4440.jpg&#34;&gt; &lt;br/&gt;&lt;br/&gt;lol I goofed up that graphic, he&amp;#39;s the updated one.
    </content>
    <updated>2026-02-16T20:56:43&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsra602pkxgq04ngu54gqsmgtmymsm3hjxr66es04yusxah3y965xgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wf5ls2</id>
    
      <title type="html">New design concept for @nprofile…5jp4 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsra602pkxgq04ngu54gqsmgtmymsm3hjxr66es04yusxah3y965xgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wf5ls2" />
    <content type="html">
      New design concept for &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/b8f6bab70f0fd305ec04fd00ffcb921494be8fab21a4d6e15026ab2ab3c52cf9.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;Something about the merging of worlds between physical and digital makes the virtual experience so much more immersive and engaging. The idea is to be able to allow people to download and have an image they can share on other platforms or elsewhere on the web, as well as their digital profile on &lt;a href=&#34;http://vectorapp.io&#34;&gt;http://vectorapp.io&lt;/a&gt;. &lt;br/&gt;&lt;br/&gt;In the future, we will likely allow for further customization so people can make their profile &amp;#34;ticket stubs&amp;#34; exactly how they want—like if you were to purchase physical tickets, you are given templates, can changes colors, text, etc.&lt;br/&gt;&lt;br/&gt;
    </content>
    <updated>2026-02-16T20:14:21&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqyra7ynuc8rz4dhzuadu3yqh9ea25vqvrf3082tmlga703wr8xaqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wmtw2f</id>
    
      <title type="html">Thank you for your last PR to @nprofile…5jp4 🙏</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqyra7ynuc8rz4dhzuadu3yqh9ea25vqvrf3082tmlga703wr8xaqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wmtw2f" />
    <content type="html">
      In reply to &lt;a href=&#39;/naddr1qqjx2mrnv96z6cm0de68y6tzw46xjmmwwvkk7cm595er2ttxv43z6vfs95ervq3qzafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqxpqqqp65wahk0wk&#39;&gt;naddr1qq…k0wk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you for your last PR to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqst37fwv8n363vx4eh7d9c0w0wslkufqyy43830g9a773zmhw5jergut5jp4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;VectorPrivacy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5jp4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;  🙏
    </content>
    <updated>2026-02-11T15:42:36&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvw53q9kfew3neces22e8v23ycx4xjqctvftp3622d6t34a63fjegzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305pe58n8</id>
    
      <title type="html">Thank you, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvw53q9kfew3neces22e8v23ycx4xjqctvftp3622d6t34a63fjegzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305pe58n8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqxlvmsyjfqajzuztq7lpeuct7ty46xe6hfldcq4jxdmgdzrrcvjsf9z&#39;&gt;nevent1q…sf9z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you, nprofile1qqsqqqqqq9g9uljgjfcyd6dm4fegk8em2yfz0c3qp3tc6mntkrrhawgffc29f! That means a lot  🙏 It is all about storytelling and communicating a message, that is what I love about art. If you want to test out Vector, feel free to add my Nostr ID and send me a message. 
    </content>
    <updated>2026-02-09T15:18:26&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszng7sp97948lpycqcez8zjjlmfa62e50flantdapyehllw5zv72qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305370zp5</id>
    
      <title type="html">⚙️One Critical Design Step: Iterate One is not enough. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszng7sp97948lpycqcez8zjjlmfa62e50flantdapyehllw5zv72qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305370zp5" />
    <content type="html">
      ⚙️One Critical Design Step: Iterate&lt;br/&gt;&lt;br/&gt;One is not enough. Create. Fail. Learn. Grow.&lt;br/&gt;&lt;br/&gt;Do not cling on to one style or one idea you think is the best. Some of your best, unexpected work can come out through the process of iteration. I used think that I&amp;#39;ve worked so hard on one design it has to be near perfect, I&amp;#39;m even afraid to alter it and lose it progress. This is an illusion and will prevent you from growing. Recreate it from scratch. You did it once, now do it again and learn along the way. There are cases where you don&amp;#39;t even have to recreate like for design you can copy &#43; paste. Iteration has never been made easier. &lt;br/&gt;&lt;br/&gt;Repeat: Do not cling. Iterate. So many times where I thought I was a good designer and had a pretty good eye for things—visually I could imagine what would look good and what would look bad. WRONG. Not that you are wrong about some of your assumptions, but your mentality and perspective is wrong. I have had situations where random people I&amp;#39;ve worked with or 100% non-designers have suggested something and if I was close-minded I would&amp;#39;ve stuck to my guns and just said, we&amp;#39;re not going to try that because it would be ugly, inconsistent, break the style guide, etc. and whatever other reasons I wanted to justify. Instead I ended up just trying it to literally just see... you never know. Surprisingly, it actually worked and I preferred it more. In other cases, that specific idea may not have been good, but it got me to reevaluate the design from a different point of view, which lead to new ideas and progressive updates.&lt;br/&gt;&lt;br/&gt;I think one of the biggest benefits in this mentality shift as well is that often times we can&amp;#39;t decide from the gate which option is best, but simply using the process of elimination it helps us to build confidence in our remaining choices, which eventually leads to your main choice. You now have logical reason why this design choice is superior, at least compared to your other iterations. This took me so many years to even open up to. I was so focused on being a perfectionist with the current version I had, it stopped me from experimenting and expanding my mind.&lt;br/&gt;&lt;br/&gt;Just let it riff.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/204188529c184c12817c71b6ad50e12c64bfbda81f5ec2f82450c8acbc353052.png&#34;&gt; 
    </content>
    <updated>2026-02-07T05:19:04&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9hr9m8d9fllyhw9s7xay0rt79mjdtdw0m00rm5xvkc3dgffs4d3szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305j35f80</id>
    
      <title type="html">you spelled boys wrong sir 🫡</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9hr9m8d9fllyhw9s7xay0rt79mjdtdw0m00rm5xvkc3dgffs4d3szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305j35f80" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2uvaahfsme8e0h9kj468redpcf2qn9yy0z04n6sunmngumuhqnsctl58l9&#39;&gt;nevent1q…58l9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;you spelled boys wrong sir  🫡
    </content>
    <updated>2026-02-07T05:05:53&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswf5htzklw3csnkg5hs0w9yxa5q540zesexlxe5mm0tkackh0p06szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305aw40lk</id>
    
      <title type="html">#naddr1qv…f4lc</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswf5htzklw3csnkg5hs0w9yxa5q540zesexlxe5mm0tkackh0p06szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305aw40lk" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpdlddzcx9hntfgfw28749pwpu8sw6rj39rx6jw43rdq4pd276vhuqqgrwvnpvgcxxerzxgungd3kxu6rvd3f4lc&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…f4lc&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;The difference between a service that dies and a protocol that survives is architectural. A service has an operator and a legal jurisdiction that can be pressured. A protocol has none of these, which is why a single injunction killed Napster while two hundred thousand lawsuits did nothing to BitTorrent. The design decision that separates them is whether the system requires any specific human being to continue operating. If it does, that human is the attack surface.&lt;/p&gt;

&lt;p&gt;This principle extends to every layer of the stack. A smart contract deployed to a blockchain that no one can modify or withdraw falls outside the reach of sanctions law, because what belongs to no one cannot be sanctioned. Code that requires an operator to run a server or coordinate transactions creates a pressure point that the state will eventually find and squeeze. The architectural question every protocol designer must answer: after I walk away, does this keep running?&lt;/p&gt;

&lt;p&gt;Governments have converged on five strategies for attacking systems they cannot shut down directly.&lt;/p&gt;

&lt;p&gt;The first is prosecuting developers. When code itself is beyond reach, the people who wrote it become targets. Privacy tool developers have faced criminal charges for money laundering and operating unlicensed money transmitting businesses, with sentences measured in years and forfeitures measured in hundreds of millions. The legal theory that building a tool makes you responsible for its misuse has been applied even when the tool operates autonomously after deployment. For builders, the practical implication is clear: legal exposure correlates with operational involvement. Writing and deploying immutable code carries less legal surface area than running a service built on that code.&lt;/p&gt;

&lt;p&gt;The second is controlling distribution. A protocol that cannot reach users exists only in theory. App store gatekeepers control software distribution for billions of devices and have removed privacy-focused applications without explanation or recourse. Any system depending on a single distribution channel has a single point of failure, regardless of how decentralized its protocol layer might be. Sideloading, alternative stores, progressive web apps, and direct binary distribution all provide redundancy, but each one narrows the potential user base. Building for multiple distribution channels from the start is cheaper than retrofitting after your primary channel disappears.&lt;/p&gt;

&lt;p&gt;The third is attacking the network layer. Deep packet inspection identifies protocol traffic by its byte patterns, and governments with sufficient infrastructure block identified traffic at the ISP level. The most aggressive approach blocks all fully encrypted traffic that fails to match known protocol fingerprints, accepting collateral damage to legitimate services. The countermeasure is encrypted transport that makes protocol traffic indistinguishable from ordinary web traffic. When blocking your protocol means blocking HTTPS itself, only a government willing to break its own internet can sustain the censorship.&lt;/p&gt;

&lt;p&gt;The fourth is exploiting centralization. Decentralized protocols tend to centralize in practice. When two mining pools control over fifty percent of block production under one regulatory jurisdiction, or one relay handles seventy percent of all posts, the protocol&amp;#39;s theoretical decentralization is operationally meaningless. These concentration points create pressure that regulators can exercise at trivial cost. Dominant relays and large mining pools exist because users and operators choose convenience over distribution, and every one of them is a target.&lt;/p&gt;

&lt;p&gt;The fifth is economic attrition through compliance costs. The global anti-money laundering system costs $275 billion per year and catches less than one percent of criminal proceeds. Banks spend hundreds of millions each on compliance to avoid regulatory penalties; crime prevention is incidental to the calculation. Each enforcement action against a protocol creates a new compliance category, generating demand for new monitoring tools. The compliance industry grows with each demonstration of its own ineffectiveness. The cost falls on every entity that interfaces between open protocols and the traditional financial system, creating a buffer zone of institutions too afraid of regulatory liability to touch anything novel.&lt;/p&gt;

&lt;p&gt;The protocols that survive these attacks share a set of design properties, each one a direct answer to one of the vectors above.&lt;/p&gt;

&lt;p&gt;Eliminate operator dependency. If the system requires a specific person or company to function, that person or company will eventually be pressured or arrested. The design target is a system that runs on any willing machine with no coordination from its creators. The test: if every original developer disappeared tomorrow, would the protocol keep running without them?&lt;/p&gt;

&lt;p&gt;Build redundant distribution from day one. Satellite broadcasts requiring only a receiver dish and mesh networks operating on unlicensed radio spectrum both eliminate potential chokepoints at layers the state does not control. No single distribution channel should be necessary for the protocol to reach its users. The projects that treat distribution as an afterthought discover its importance when their primary channel vanishes overnight.&lt;/p&gt;

&lt;p&gt;Encrypt all transport by default. Traffic that is identifiable is traffic that can be blocked. Encrypted transport that makes every byte appear uniformly random forces censors into an expensive choice: block all unidentified encrypted traffic and accept massive collateral damage, or allow the protocol through. For protocols operating in adversarial environments, this is a survival requirement.&lt;/p&gt;

&lt;p&gt;Treat decentralization as a discipline. The natural tendency of every network is to concentrate around a few high-capacity nodes, and this tendency must be actively resisted through relay diversity, geographic distribution of infrastructure, multiple independent client implementations, and low barriers to running nodes. A protocol that launches decentralized and drifts toward concentration has a shelf life determined by how long it takes regulators to notice.&lt;/p&gt;

&lt;p&gt;Intellectual honesty demands acknowledging the limits. Governments do not need to break the cryptography. They need to make the human interfaces painful enough that ordinary users never encounter the protocol at all. A system confined to sideloaded apps and terminal commands will serve its committed users, but it will not become the default communication layer for a billion people. The UX gap between centralized services and decentralized protocols remains the most effective form of soft censorship, and no architectural principle solves it alone.&lt;/p&gt;

&lt;p&gt;The economic asymmetry cuts both ways. Protocol adaptation is cheap, but building usable software is expensive. The open-source projects that sustain these protocols operate on budgets that would not cover a single bank&amp;#39;s compliance department. Survival and mass adoption are different problems requiring different resources, and most protocols will achieve the first without ever reaching the second.&lt;/p&gt;

&lt;p&gt;The humans who build these protocols pay real costs: years behind bars and millions in forfeiture. The code they write pays nothing. It copies itself across every willing machine on the network, indifferent to the legal theories arrayed against its creators. The state can punish the hand that types, but it has never succeeded in erasing what was typed. For builders, the lesson is structural: design for a world where you are not around to run it, distribute through channels no single entity controls, encrypt so censors cannot identify it, and resist the centralization that makes all other defenses irrelevant.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-02-07T05:05:12&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstfd00njttrp5djeudfzw0pdnjm6xev4j48w4mrzgxduc0u9gn5dczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3058kwnpz</id>
    
      <title type="html">Grade A Irony — Censorship 101 Speechless 🤣 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstfd00njttrp5djeudfzw0pdnjm6xev4j48w4mrzgxduc0u9gn5dczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3058kwnpz" />
    <content type="html">
      Grade A Irony — Censorship 101&lt;br/&gt;&lt;br/&gt;Speechless  🤣&lt;br/&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://video.nostr.build/405edbae1db6bede0550f0e415d37c1ec91e2980a57a1031bdd4f417bb7d34bc.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-02-06T14:18:17&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs29d2aje8skxzj9tzh5knmzxkj7vazjnr8xsn9kh2pmtljm59rwtqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305lmaply</id>
    
      <title type="html">One of the lamest things I&amp;#39;ve seen all day. Can&amp;#39;t believe ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs29d2aje8skxzj9tzh5knmzxkj7vazjnr8xsn9kh2pmtljm59rwtqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305lmaply" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs899tqflpasgj3nkw8ax6cvqzqc7pq60u50749xuzczakangrnrls8j5rmr&#39;&gt;nevent1q…5rmr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;One of the lamest things I&amp;#39;ve seen all day. Can&amp;#39;t believe they are still imposing a lock on your account even after you left the country as a visitor. If you want to impose that on your citizens, that&amp;#39;s another story (still not respectable, still not about the children, but save that for another day). Feel like they are breaching some ToS and overstepping. Hopefully they see and respond to your posts and hopefully you&amp;#39;ve sent an email to support, better than nothing while you patiently wait to get your account restored. Feel for your being locked out of part of your network and job.  Godspeed🙏
    </content>
    <updated>2026-02-06T13:08:10&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8qva35ek5pj49qz2uq7u0wfmk8zcja9taa87xgkrtlfec57afe6qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fpsltz</id>
    
      <title type="html">gm ☕</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8qva35ek5pj49qz2uq7u0wfmk8zcja9taa87xgkrtlfec57afe6qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fpsltz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvj2g72r9kx07qm6q4vfh9rlsym3wr2kr2n352756dwd50myf9zesmc7cc2&#39;&gt;nevent1q…7cc2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;gm  ☕
    </content>
    <updated>2026-02-06T13:04:52&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxgk09wawjjjf3zvqjhaqc4hcckzc37pf0vh2l0na6xka7uj4lgzqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3053ee693</id>
    
      <title type="html">yessir, look at that brown gold</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxgk09wawjjjf3zvqjhaqc4hcckzc37pf0vh2l0na6xka7uj4lgzqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3053ee693" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8zuv2dyklt46jwudpjkdrga3z2a06dnurerherlxctnl9j3tfspqw6q7g3&#39;&gt;nevent1q…q7g3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;yessir, look at that brown gold
    </content>
    <updated>2026-02-06T09:19:21&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8j2yenqfmraecjgjylqjhmyf9tv8h2duvwkwn6wyxfn584unm75gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305y87q76</id>
    
      <title type="html">epic view man, thanks for sharing this on Nostr for us to ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8j2yenqfmraecjgjylqjhmyf9tv8h2duvwkwn6wyxfn584unm75gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305y87q76" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy4m7lljcez99s0fqhl4fvald9wvp5l9p2mu4avxs474m8t7x9husl0w40a&#39;&gt;nevent1q…w40a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;epic view man, thanks for sharing this on Nostr for us to experience vicariously haha
    </content>
    <updated>2026-02-05T17:09:43&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs90x0wjad052ylaw57cpum6kaj7ptsxju0d8mnh86kwud3d9nrgjqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fcljlt</id>
    
      <title>Nostr event nevent1qqs90x0wjad052ylaw57cpum6kaj7ptsxju0d8mnh86kwud3d9nrgjqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fcljlt</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs90x0wjad052ylaw57cpum6kaj7ptsxju0d8mnh86kwud3d9nrgjqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fcljlt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxpf6pcwjzc3cm3qsxwg84x6p5tg62tr6rpjth8rfpp4al2nhnjtcfc4jyz&#39;&gt;nevent1q…4jyz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Soon™&lt;br/&gt; &lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/e88b098c0adc4cb9ab0e3299beed554f1667de44d1aad0d27b7bbf610fd765e4.gifhttps://image.nostr.build/518a5cb67bbdbbeaed5e82c785f71d2ef572eb95a779c481f9037ef590aeb694.gif&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/06f5ded301bc2044d785dcb96500a5c9a8598915045569c86ea28ad373fbf58b.png&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/a667395647545585100ae4c6b599fc199850e985e248e4bdbd300adc4a6f5257.gif&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/6512dce1ea12253dff643f3e417dea1800b1fe317b7e8a331de0ef3b650bc0e9.gif&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/e518fc77ed5a0a2ac5689bcbc0768078e2a7b2407c23b8293e4c6af104236748.png&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/33d4ebe2e402d7ed05a3d34df41409c32723ede7c63c88e7b050ce41166dc99c.png&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/a9b349081cf383bcdce866cd2ce6f35cd287fe461460ea42d3eb9055ccec2a41.gif&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/b658446deb644aaca056bb42fb495955443b8408e6987cdb08804077e650c00e.png&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/548eae4df93637dfe17c35529ccd8bc2ad45e30b9e8361958a35a6ad368e4eff.gif&#34;&gt; &lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/5388ea758be334d477e3fe79b8c4faa5da0f686a49e81b202d7843c4abdb4175.png&#34;&gt;   &lt;img src=&#34;https://image.nostr.build/c7c37c265960d8ed5f21fa048c81bb6432c8b3363d2da48c530b87c3e80cbfdf.png&#34;&gt;   &lt;img src=&#34;https://image.nostr.build/75f2fcd89ce5a98bfd81390aebc61fefb02d988d6fba7cd0cabbc4bb687a4958.png&#34;&gt;   &lt;img src=&#34;https://image.nostr.build/31ca6cb45cac503904499a98fbce6334516709179fb145b12d0eacb2f08ad260.png&#34;&gt;   &lt;img src=&#34;https://image.nostr.build/072adf05b08f37037aca745ee476b0b97e76fdd59c52ce0230763b8864a57240.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/8f41219a935cce2745e825402ef610db0693d40e30897af84294b8c8690703d5.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/3e8e50cf1d85276747fa7580f58501d7631c35f9ab406d86d6a8c329c806e278.gif&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-05T16:06:39&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0mtwt3fgm408d4kyhlhuu4r59wys3j8zwad6arydxqvykfxk39pgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fefv4z</id>
    
      <title type="html">THE OBSTACLE IS THE WAY</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0mtwt3fgm408d4kyhlhuu4r59wys3j8zwad6arydxqvykfxk39pgzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305fefv4z" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvrr3cua7t9lur0gqfguq2a2vrejsp8huf6xsdzjzertjpzegmy7qmanz5a&#39;&gt;nevent1q…nz5a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;THE OBSTACLE IS THE WAY
    </content>
    <updated>2026-02-05T15:49:44&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszr5u3qyhxagcv0nuzxjf4nee20r95375hmj4l40rvfn9055rt20szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305pqkyha</id>
    
      <title type="html">Dope man, really nice to connect with other designers. If you can ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszr5u3qyhxagcv0nuzxjf4nee20r95375hmj4l40rvfn9055rt20szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305pqkyha" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8mxzk9xxh6cmnyx8yj4zx88u3mxv4kk8nv08h8nu68rlt6e5e3cqt04lz0&#39;&gt;nevent1q…4lz0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Dope man, really nice to connect with other designers. If you can link me to some of your work, if you did the frontend design for WhiteNoise than already familiar with some of your work.
    </content>
    <updated>2026-02-05T15:09:37&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswtdnfd0ux66jyh7gh2xvduan8vprjy9jrrjsl2sanjurjd7uqq4czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305euv68m</id>
    
      <title type="html">🙏so much positivity, might have to make some more for Nostr ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswtdnfd0ux66jyh7gh2xvduan8vprjy9jrrjsl2sanjurjd7uqq4czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305euv68m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp5wwwdzz7vks0yrkz0skre8hsa9qnalnm0tx8wcxjlz7j5ce4csq6xcqf7&#39;&gt;nevent1q…cqf7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;🙏so much positivity, might have to make some more for Nostr and other Nostr-based projects.
    </content>
    <updated>2026-02-05T15:01:35&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2nzyfdlkllfd3hegf60wefzzrg3fzanp55zghm700kn77a4mlkmszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305g0wfeh</id>
    
      <title type="html">Oooo! ASCII Art, I haven&amp;#39;t had as much experience in ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2nzyfdlkllfd3hegf60wefzzrg3fzanp55zghm700kn77a4mlkmszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305g0wfeh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdlpr73wgu22wuvhynfsjkmuwtrccg566pe93ukgd5vxd9f847zssc634v2&#39;&gt;nevent1q…34v2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Oooo! ASCII Art, I haven&amp;#39;t had as much experience in handmaking it, but I use this site: &lt;a href=&#34;https://itoa.hex.dance/&#34;&gt;https://itoa.hex.dance/&lt;/a&gt; and then basically used it on my websites and wallpapers, etc. Such a great tool, you can export as .png or in .txt  &lt;img src=&#34;https://image.nostr.build/8c1cae0b86ad3500d21f5b9f414d6b519c77862e72f958b3a7d78681f23eef28.png&#34;&gt; 
    </content>
    <updated>2026-02-05T15:00:56&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq0l094dkrdm40ph3hjtfkt0ff33r4waew7vqyaxnfpj4zrht7k4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3054hgnvj</id>
    
      <title type="html">Thanks again Vladimir. Hey are you the designer for Marmot and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq0l094dkrdm40ph3hjtfkt0ff33r4waew7vqyaxnfpj4zrht7k4szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3054hgnvj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqxnscyfxstzwlp3m868ahkxvn96er5ww84jn5jd5nunwzs3wfsycqcxmn6&#39;&gt;nevent1q…xmn6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thanks again Vladimir. Hey are you the designer for Marmot and WhiteNoise?
    </content>
    <updated>2026-02-05T14:57:45&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgctp0qpl9y29wrprhe3ap838zlu60j44s2sq4rc2ez8szhghr00czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305n2jyxe</id>
    
      <title type="html">Not sure where you got that information. Vector does currently ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgctp0qpl9y29wrprhe3ap838zlu60j44s2sq4rc2ez8szhghr00czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305n2jyxe" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2ljs3szdtvjnq58x2y54n8vya2hwqx5wkhcz9250xpfs6qs802rct7vhyv&#39;&gt;nevent1q…vhyv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Not sure where you got that information. Vector does currently support NIP-17.
    </content>
    <updated>2026-02-05T14:13:48&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqhh7nvqfjngy05xej5eyz3t5aqa6p900lta5c0gxkpk06jj0x03czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305yc824u</id>
    
      <title type="html">hmmm trying to send on YakiHonne as well and still not going ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqhh7nvqfjngy05xej5eyz3t5aqa6p900lta5c0gxkpk06jj0x03czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305yc824u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2ljs3szdtvjnq58x2y54n8vya2hwqx5wkhcz9250xpfs6qs802rct7vhyv&#39;&gt;nevent1q…vhyv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;hmmm trying to send on YakiHonne as well and still not going through
    </content>
    <updated>2026-02-05T12:17:34&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsppe7z6z75vu0cuq3h3pnf87qjq9zwy27kvylc38c56ma6ruvhshczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kj74ep</id>
    
      <title type="html">Thank you, brother! I enjoyed making them. Do a lot of pixel art ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsppe7z6z75vu0cuq3h3pnf87qjq9zwy27kvylc38c56ma6ruvhshczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305kj74ep" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstwqy47kmzxd0hjudrplc5yn3zudc7zjq4q6f54ym7e63k22pwsyggfpy6t&#39;&gt;nevent1q…py6t&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you, brother! I enjoyed making them. Do a lot of pixel art when I&amp;#39;m not working on other designs, sweet nostalgia. I saw Marmot had the cute pixel marmot so I recreated him and animated him slightly.&lt;br/&gt;&lt;br/&gt;Here is another rendition from nprofile1qqspwwwexlwgcrrnwz4zwkze8rq3ncjug8mvgsd96dxx6wzs8ccndmc2ymgxf&amp;#39;s post yesterday about Protocols &amp;gt; Platforms:&lt;br/&gt;&lt;br/&gt;  &lt;img src=&#34;https://image.nostr.build/8781a675e553269670cc5925538c22949339fe5d4b793de6f67066f4dd391fdf.gif&#34;&gt; 
    </content>
    <updated>2026-02-05T12:10:42&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8mkvfmc96hgfdy58a3vclnwx9gyjnx5m9492kc9y3x8wfm6w2raqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wzwcm8</id>
    
      <title type="html">100% same here, Transcendentalism as a whole</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8mkvfmc96hgfdy58a3vclnwx9gyjnx5m9492kc9y3x8wfm6w2raqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305wzwcm8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszlahhz8pp0kvmfxhl3pglv253xaqqz5hyd7zhjagaxy7a2x5zaqgh4t33y&#39;&gt;nevent1q…t33y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;100% same here, Transcendentalism as a whole
    </content>
    <updated>2026-02-05T03:08:44&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdjpxxqx6rzwaznsmhxklrgctpztfmfyhy5csp59gnptcprynktcszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305drcj4w</id>
    
      <title type="html">Send me a DM</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdjpxxqx6rzwaznsmhxklrgctpztfmfyhy5csp59gnptcprynktcszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305drcj4w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstg0yq5a647lxw5kte7hyhf406x26ryvl0r956gmlsymy6x0989wgjw09l3&#39;&gt;nevent1q…09l3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Send me a DM
    </content>
    <updated>2026-02-05T03:08:27&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswmuhk8mq6ycp6ltcafkmy2d6xvyzqwmtuguwez2vg4nhqctsjm9szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hhnskt</id>
    
      <title type="html">Thoreau? just noticed. fok yeh</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswmuhk8mq6ycp6ltcafkmy2d6xvyzqwmtuguwez2vg4nhqctsjm9szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hhnskt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9v5fh3qvvvkda2ugagjgz3ryawtesz56y73vu5gcnz5ujnm9ecpqctg6ak&#39;&gt;nevent1q…g6ak&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thoreau? just noticed. fok yeh
    </content>
    <updated>2026-02-04T14:49:42&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxfhy2n8gsssvg8ukze2glla47v6q4jcwge3c637p9lwglr8z9hngzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305e8ktzf</id>
    
      <title type="html">Thank you man! Original marmot art by Marmot Protocol (not sure ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxfhy2n8gsssvg8ukze2glla47v6q4jcwge3c637p9lwglr8z9hngzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305e8ktzf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2kknkn6st7y03yc0curlesww8esjjjrkzuypr70mqnt4hfu59n8gkrcd82&#39;&gt;nevent1q…cd82&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you man! Original marmot art by Marmot Protocol (not sure who made it). It definitely would look great as a sticker response. 
    </content>
    <updated>2026-02-04T14:47:09&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrz9xkp777ymwqvf433tjqwhqppt3x06yunruzx4lquw32u7d3gfczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3056zfr6e</id>
    
      <title type="html">Fun day today working on these cute little pixel marmots, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrz9xkp777ymwqvf433tjqwhqppt3x06yunruzx4lquw32u7d3gfczypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3056zfr6e" />
    <content type="html">
      Fun day today working on these cute little pixel marmots, inspired from last nights community call from Marmot Protocol by WhiteNoise and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqspwwwexlwgcrrnwz4zwkze8rq3ncjug8mvgsd96dxx6wzs8ccndmc2ymgxf&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JeffG&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…mgxf&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; Think we need some more pixel art here on Nostr, maybe I should ramp that up a bit haha.&lt;br/&gt;&lt;br/&gt;If anyone is looking for a fun, free, and open-source pixel art app, highly recommend Piskel. I&amp;#39;ve been using them for years. There aren&amp;#39;t as many design flow optimizations like with Aseprite, but if you&amp;#39;re not a hardcore pixel artist it&amp;#39;s a great place to start.&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/93feec14d855ed19bbd102712ed7493a8ca82063a55c139bc3c823f525c30376.gif&#34;&gt;   &lt;img src=&#34;https://image.nostr.build/c03aea051c56bc6f2534a7b0b88b87d37af758a632f6db1e00a257ceba45dd5b.gif&#34;&gt; 
    </content>
    <updated>2026-02-04T13:49:38&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxyl5dgjnxuqmrkgzsmp8p0l8zc3rslxujag5atm3wp6ap2w895rqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3056f6h6g</id>
    
      <title type="html">Dopeeeeeeeeeee. I still have yet to play and test this.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxyl5dgjnxuqmrkgzsmp8p0l8zc3rslxujag5atm3wp6ap2w895rqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3056f6h6g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf6ajswejuv6ecsf3v332ra3zuc5pjjm0z82s50ch9vpew0u05atges47y7&#39;&gt;nevent1q…47y7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Dopeeeeeeeeeee. I still have yet to play and test this.
    </content>
    <updated>2026-01-07T17:32:39&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdvqfccyaxs4fr93zuw2scns08aazkh40g0mj6lrahu2rhwlzhn9qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ypva3g</id>
    
      <title type="html">that&amp;#39;s pretty legendary, shows the demand and utility. Props ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdvqfccyaxs4fr93zuw2scns08aazkh40g0mj6lrahu2rhwlzhn9qzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305ypva3g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsql7jqrgwg9gmuv7w3gmhr84m4545kn40gmx40qw0zuqsgfz6shysx8dtrq&#39;&gt;nevent1q…dtrq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;that&amp;#39;s pretty legendary, shows the demand and utility. Props to the bitchat team, really phenomenal work.
    </content>
    <updated>2026-01-06T12:02:20&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgtnj2zcntlxnpl0xx3eng5a7ljs952ev5ydwcx4sknl8smw8m6lqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305y0rw5q</id>
    
      <title type="html">Nostr is great. All of its social media platforms suck chode. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgtnj2zcntlxnpl0xx3eng5a7ljs952ev5ydwcx4sknl8smw8m6lqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305y0rw5q" />
    <content type="html">
      Nostr is great. All of its social media platforms suck chode.&lt;br/&gt;&lt;br/&gt;Cancel me.
    </content>
    <updated>2026-01-02T11:11:13&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyehtau5w0gsctjktuv2c7a82q0fd8w2vda29uremm7cdpsxdec4czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30563f329</id>
    
      <title>Nostr event nevent1qqsyehtau5w0gsctjktuv2c7a82q0fd8w2vda29uremm7cdpsxdec4czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30563f329</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyehtau5w0gsctjktuv2c7a82q0fd8w2vda29uremm7cdpsxdec4czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq30563f329" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs208u5x3ehmyrpkufffes6phl38c20n8udwpsz20t8cazpnrrcghqk9tnfw&#39;&gt;nevent1q…tnfw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/3e133d162a025bfc6651fae4d3cc3617d62aea59616f8d697b140ecf916cfdf5.jpg&#34;&gt; 
    </content>
    <updated>2026-01-02T11:10:27&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs208u5x3ehmyrpkufffes6phl38c20n8udwpsz20t8cazpnrrcghqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utuuka</id>
    
      <title type="html">2026 - Reject Surveillance. Embrace Freedom. It will be a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs208u5x3ehmyrpkufffes6phl38c20n8udwpsz20t8cazpnrrcghqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305utuuka" />
    <content type="html">
      2026 - Reject Surveillance. Embrace Freedom.&lt;br/&gt;&lt;br/&gt;It will be a transition for us all, but very quickly is the world waking up to the fact that they have been lied to for generatio—their entire existence. Looking back you could say it&amp;#39;s been a slow transition and process, but I think we are going to see rapid acceleration as there has never been lower trust towards governments, banks,  global corporations, specifically referring to the &amp;#34;tech oligarchs&amp;#34; and all of the mainstream applications we have been using for years as more or less a global standard. &lt;br/&gt;&lt;br/&gt;PS: Grok quit fucking labeling me as anti-establishment. It is about accountability, objective truth, and trust. It is not about attacking people or entities in positions of power just because of some petty reason or you are jealous of their lives... quite the contrary, the people who should be elected in positions to serve their communities are not and we are left with those on their knees to the highest bidder—political prostitutes. Though we walk in darkness, it does not mean we seek nor comply to live in a society without truth, good moral values, and accountability for our actions. The power has and will always be in the people, the collective, the united communities.&lt;br/&gt;&lt;br/&gt;Predictions&lt;br/&gt;&lt;br/&gt;My predictions *oOoOo look ma, am an oracle* for 2026 are that we will begin to see a lot of revolts, specifically towards those who aim to oppress and contribute towards the degradation of society, good values, and our basic human rights. There will be a massive pivot away from the Googles and Microsofts towards free, open-source technology that has contributors and peer review from around the world. The false narrative and smokescreen of &amp;#34;privacy is for criminals&amp;#34; will no longer exist and people will see this as a basic, fundamental human right. Using privacy-focused apps will be the norm like having doors on houses for the past ~4,000 years. People have always valued privacy, but the issue is not only that we willingly compromised security and privacy for convenience, most of us were simply unaware of other options and the risks that followed.&lt;br/&gt;&lt;br/&gt;Start Now&lt;br/&gt;&lt;br/&gt;You can immediately begin by firstly deleting old data from services you&amp;#39;ve used for longer than you can count. Delete the accounts, apps, emails, delete the photos and videos, delete all unnecessary digital baggage. Go back and change your profile picture(s) to something irrelevant and input a made up name on your devices, accounts, and apps. Standardize the process of protecting your privacy and never giving more information than you have to. Identity theft, fraud, and data breaches have never been at higher levels than now. Privacy is not about doing something shady, it&amp;#39;s about protecting your data and life. *There is no guarantee any of your data is truly wiped clean from the internet, safe to assume it is recoverable or it is not completely purged, but you can at least aim to reduce the impact. There is no better feeling than a well needed digital Spring cleaning, thank me later.&lt;br/&gt;&lt;br/&gt;The More You Know&lt;br/&gt;&lt;br/&gt;Stay up to date with technology, privacy, and security by following some people, organizations, and platforms that make their lives about educating others on the latest news, advancements, breaches, exploits, and so on. You don&amp;#39;t have to have accounts on social media to view most of the content anyways, there are always work arounds.&lt;br/&gt;&lt;br/&gt;Some Recommendations (on X, no particular order):&lt;br/&gt;@privacy_guides&lt;br/&gt;@naomibrockwell&lt;br/&gt;@LinusTech&lt;br/&gt;@TechloreInc&lt;br/&gt;@vxunderground&lt;br/&gt;@pewdiepie(not on X)&lt;br/&gt;@DoingFedTime&lt;br/&gt;@web3privacy&lt;br/&gt;@AlternativeTo&lt;br/&gt; &lt;br/&gt;Start Using Alternative Apps&lt;br/&gt;&lt;br/&gt;Enjoy embarking on a new journey of discovery. Once you open yourself up to the world and break outside of your bubble of comfort, you will find apps you never knew existed that you&amp;#39;ve dreamed of, wished for, and fall in love with. There are great people and projects out there, but of course most of their effort is likely on the product and not the distribution and marketing... so you&amp;#39;ve never heard of it. Going to start sharing of more apps I have started using in the past year and any new ones that I find with you all. There is nothing more that I love to give the well deserved, positive exposure to good teams and projects that have spent years building something incredible, but no one has ever heard of it. &lt;br/&gt;&lt;br/&gt;FOSS community on the rise...&lt;br/&gt;&lt;br/&gt;Here is a list of some of the recent apps and protocols I&amp;#39;ve really started enjoying more in the past year. Not swearing by any of these lol, just check them out and see if you like them and they are suitable for you.&lt;br/&gt;&lt;br/&gt;@mullvadnet&lt;br/&gt;@brave&lt;br/&gt;@ProtonMail&lt;br/&gt;@VeraCrypt_IDRIX&lt;br/&gt;@Nostr_X (no official acct)&lt;br/&gt;@RAILGUN_Project&lt;br/&gt;@monero&lt;br/&gt;@fileverse&lt;br/&gt;@LibreOffice&lt;br/&gt;@VectorPrivacy&lt;br/&gt; (2025 Summary in Comments soon™)&lt;br/&gt;&lt;br/&gt;Conclusion&lt;br/&gt;&lt;br/&gt;Wishing you all the best in 2026 and look forward to connecting with more of you that share the same interests and values. Absolutely amped and ready for what awaits, so much creative energy brewing... especially at FormlessLabs with &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdzvlvkzvk8flh5uzm7fgryj3zdl9vhag7hfhskxuhm7xqjvu2fjqz2tsc6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tsc6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; Always on the look out for great projects and people who need help and find ways to contribute my time, designs, and resources. You live and you and learn, but this year is about learning from action—the doing. The failing. The realizing. The iterating. The optimizing. The succeeding. Blessings 🤍&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/d3beb67e26a15030eeeae5c834e0dfc16dd1b3da4ef331f95d07ad6ccf2748a6.jpg&#34;&gt; 
    </content>
    <updated>2026-01-01T10:50:04&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9rrg5fp64vf0lxy6kzqey8xn5t5fsaeph2q2cwnkl2ljwrzr4zdszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3052ev5tq</id>
    
      <title type="html">Well stated, I think most of us feel this way. Haven&amp;#39;t really ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9rrg5fp64vf0lxy6kzqey8xn5t5fsaeph2q2cwnkl2ljwrzr4zdszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq3052ev5tq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw80a20m2hswjcmgv6htzn36xsrzyssss3njqc96jyr98evukkwqg9uv8cy&#39;&gt;nevent1q…v8cy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Well stated, I think most of us feel this way. Haven&amp;#39;t really even found one nostr-based social media platform I like. They are incredibly broken and inconsistent due to the nature of what you shared. Are you a UX/UI dev as well nprofile1qqsggxcp04ylsggcsx3r4j7sq2lmqlqdnsxhyrz2n8zzv62930cwuwg5yjvle?
    </content>
    <updated>2025-12-23T14:35:13&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstz7j5ejmtvync3wjgyh2zvs0cq2z867e4rzhtkpuakp4hcjh4ryszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305zvacah</id>
    
      <title type="html">I am Lord of the Ping, @nprofile…tsc6 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstz7j5ejmtvync3wjgyh2zvs0cq2z867e4rzhtkpuakp4hcjh4ryszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305zvacah" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs87zy04zmxc930yy4qzlva3untlv7jscr3up7hnxc7ar9x3jnczrsxn4r6d&#39;&gt;nevent1q…4r6d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I am Lord of the Ping, &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdzvlvkzvk8flh5uzm7fgryj3zdl9vhag7hfhskxuhm7xqjvu2fjqz2tsc6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tsc6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/1a10c8382b36506aec3d52d539a08afaac0a164600a01f66f99b4a8837eb8789.jpg&#34;&gt; 
    </content>
    <updated>2025-12-23T14:32:44&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswmq99pecdvmhq2qzt5fygfa2ttyyahgwl7e98ekymassgayyje2gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305uekg4u</id>
    
      <title type="html">すべては、プライバシーから。</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswmq99pecdvmhq2qzt5fygfa2ttyyahgwl7e98ekymassgayyje2gzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305uekg4u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0l4sjtwampku68f982tsrh9c5zpw97q3xpr4a8qld3p3rxdge08q6jjf0y&#39;&gt;nevent1q…jf0y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;すべては、プライバシーから。
    </content>
    <updated>2025-12-06T04:27:14&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs92dkvypmfrqjg24g8aluhupjn4xqf4tkcpxl22pk7gghj6988s2czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305l93jyw</id>
    
      <title type="html">GM, Nostr. Please welcome @nprofile…h3jr to the fam.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs92dkvypmfrqjg24g8aluhupjn4xqf4tkcpxl22pk7gghj6988s2czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305l93jyw" />
    <content type="html">
      GM, Nostr. Please welcome &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsy8ysaa0n5meapcrcer3effeytxsxrjutk4ykmjdpv9wxq78ycjkgl7h3jr&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Viktor&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…h3jr&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; to the fam.
    </content>
    <updated>2025-12-06T04:23:24&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2m8sv4te97dagkwdm5jknuqat6ax797756amqpl85vy4xnu9m6uqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305g4u54e</id>
    
      <title type="html">Incredible job everyone, thank you to all of the contributors on ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2m8sv4te97dagkwdm5jknuqat6ax797756amqpl85vy4xnu9m6uqzypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305g4u54e" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqsxklvs58n7j00v5zmhnlm27qynqrzgre0hjprj97lqvqyx699uss0mgv0&#39;&gt;nevent1q…mgv0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Incredible job everyone, thank you to all of the contributors on this last release. Such a milestone for Vector and really happy for all of the Android users to be able to have Vector anywhere they go now. Anyone that hasn&amp;#39;t been added to the official Vector Community, be sure to ping me or &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdzvlvkzvk8flh5uzm7fgryj3zdl9vhag7hfhskxuhm7xqjvu2fjqz2tsc6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;JSKitty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tsc6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; to do so. Grateful for all feedback and suggestions. Cheers!
    </content>
    <updated>2025-11-30T17:13:22&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvm6me55ngxg52w26at4ke5k5dty3cjmy0h8jmw5093d2v64ne3tszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305qy9e6j</id>
    
      <title type="html">solid find 🙌 absolute truth</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvm6me55ngxg52w26at4ke5k5dty3cjmy0h8jmw5093d2v64ne3tszypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305qy9e6j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfk7tngrctqp9wn0a39zyxl2hz0q7zz6nwf6klue026c00dwhskfsvsey33&#39;&gt;nevent1q…ey33&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;solid find  🙌 absolute truth
    </content>
    <updated>2025-11-24T17:51:47&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst5nsmug5366dpzwpvyfg2fudv8akzqpppjdtfxl63khqw4m3d44czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305jt8unh</id>
    
      <title type="html">Also, love the Greek and Stoic references and inspiration. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst5nsmug5366dpzwpvyfg2fudv8akzqpppjdtfxl63khqw4m3d44czypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305jt8unh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdl0053xuy7q8yme7seza0x3evv92egnn8fp7fsf9mjx9fdw5mx6sea8vj5&#39;&gt;nevent1q…8vj5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Also, love the Greek and Stoic references and inspiration. Beautiful. &lt;br/&gt; &lt;img src=&#34;https://image.nostr.build/00438ef71de427b84f53e8912d9851999829f2730c78e3791fe2efad530fae65.png&#34;&gt; 
    </content>
    <updated>2025-11-23T22:12:08&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdl0053xuy7q8yme7seza0x3evv92egnn8fp7fsf9mjx9fdw5mx6szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hnkvkw</id>
    
      <title>Nostr event nevent1qqsdl0053xuy7q8yme7seza0x3evv92egnn8fp7fsf9mjx9fdw5mx6szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hnkvkw</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdl0053xuy7q8yme7seza0x3evv92egnn8fp7fsf9mjx9fdw5mx6szypfm69vtqpqydg8qjh87smfa4t8083khqn885sjvgqppf89yfq305hnkvkw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd2uycp4amqdz5q42vs5sw8m4tl2f5grvwag3278mce09547xapns5zd902&#39;&gt;nevent1q…d902&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Congrats, nprofile1qqspwwwexlwgcrrnwz4zwkze8rq3ncjug8mvgsd96dxx6wzs8ccndmc2ymgxf! Look forward to finally getting to test White Noise, happy to see what you all have been cooking up and happy to share as much honest feedback as you all would like in the appropriate channels.
    </content>
    <updated>2025-11-23T22:10:51&#43;01:00</updated>
  </entry>

</feed>