<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-07-13T07:36:00Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by raul_15</title>
  <author>
    <name>raul_15</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1fz5hhsj3sa4jmedtq2hldaqcgzvfyyfuckevhx80rpukjs2ykd3qkxymar.rss" />
  <link href="https://yabu.me/npub1fz5hhsj3sa4jmedtq2hldaqcgzvfyyfuckevhx80rpukjs2ykd3qkxymar" />
  <id>https://yabu.me/npub1fz5hhsj3sa4jmedtq2hldaqcgzvfyyfuckevhx80rpukjs2ykd3qkxymar</id>
  <icon>https://image.nostr.build/2714e767fad007172f717a23f1f61d0429938076a27ecd3c5508cf96cfa406d4.jpg</icon>
  <logo>https://image.nostr.build/2714e767fad007172f717a23f1f61d0429938076a27ecd3c5508cf96cfa406d4.jpg</logo>




  <entry>
    <id>https://yabu.me/nevent1qqsgj32s6sel22xz7tumugygwpt2ka0ehln33d8995a86xsgq0afayqzypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekyltqjym</id>
    
      <title type="html">For now, yes, they can be simple web games. But they can be ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgj32s6sel22xz7tumugygwpt2ka0ehln33d8995a86xsgq0afayqzypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekyltqjym" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqpgvdc0gyw3gv845v9zzzpv462lfz2f0reqcl4jeufgr3pgepssgpr9mhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtmkxyjyyr07&#39;&gt;nevent1q…yr07&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;For now, yes, they can be simple web games. But they can be native games as well.&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqswwud0pvzu362lehm0av6sq4zd97cue5uy0z8f7jgtk0hz368dvmcpr4mhxue69uhkcatwvd5xymmc9eekzmnywa5kx6pwveshymf0qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7fgpzjr&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;sandwich&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…pzjr&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qyghwumn8ghj7mn0wd68ytnhd9hx2tcche307&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;hzrd149&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…e307&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; can answer in more detail. I&amp;#39;m not much of a gamer haha.
    </content>
    <updated>2026-11-09T06:04:36Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9p7tkd0g8sa487lptsswyfwsvpcujls9n8zhcf80jhxv9k7265yszypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekyft7rd5</id>
    
      <title type="html">Look no further than: https://napplet.soy by @nprofile…763t ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9p7tkd0g8sa487lptsswyfwsvpcujls9n8zhcf80jhxv9k7265yszypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekyft7rd5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgqymgdy8f9wea20s7madrvnz8cgv2csctyapfrsxj3cqlwrhytygprpmhxue69uhhyetvv9ujuen0wfkhxarj9eshqup0setnde&#39;&gt;nevent1q…tnde&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Look no further than:&lt;br/&gt;&lt;a href=&#34;https://napplet.soy&#34;&gt;https://napplet.soy&lt;/a&gt; by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsr4fvpwfeu8vhefay3ss8qguhsf8g0zqqfug77vvqxze4u4xekagcprfmhxue69uhhyetvv9ujuampwejkvatwvvhxc6tkv5hsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0wp763t&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Schlaus Kwab&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…763t&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Also, an appstore napplet: &lt;a href=&#34;https://kehto.github.io/web/paja/?naddr=naddr1qqyxg6tnvdhhvetjqgsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3crqsqqpzfee4ex6c&#34;&gt;https://kehto.github.io/web/paja/?naddr=naddr1qqyxg6tnvdhhvetjqgsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3crqsqqpzfee4ex6c&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Works great on web, also being built for native shells. &lt;br/&gt;More about napplets: &lt;a href=&#34;https://napplet.run&#34;&gt;https://napplet.run&lt;/a&gt;
    </content>
    <updated>2026-11-09T05:23:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsg8qfdv6wlrqeh5q2achp66c82svhnn6z5q82sypk8jmnavx9rwdqzypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekys7wdca</id>
    
      <title type="html">Napplets fix this. #naddr1qq…r6gh</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsg8qfdv6wlrqeh5q2achp66c82svhnn6z5q82sypk8jmnavx9rwdqzypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekys7wdca" />
    <content type="html">
      Napplets fix this. &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;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qq2k5mm9fdpxzsmyv56kkjns8984q7jpgyk5yqgkwaehxw309aex2mrp0yhxg6t5w3hjuur4vghsyg88wxhskpwga90umah7kdgq23xjlvwv6wz83r5lfy9m8m3garkkdupsgqqqw4rsmyr6gh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qq…r6gh&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;A paint app needs a canvas, some colors, and a way to undo a bad brushstroke. The user probably wants to copy or save the image locally. None of that requires a relay connection or a signing key. If you want to build one, you should be able to spend your time on the editor. And if someone wants to try it, they shouldn&amp;#39;t have to trust you with everything else they do.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s the thinking behind napplets and &lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2303&#34;&gt;NIP-5D&lt;/a&gt;. A napplet is a small, focused app that runs inside a shell. The shell hosts the app, mediates its requests, and lets the user compose it with other apps. We deliberately put most of the weight on the shell so that building a napplet can stay simple.&lt;/p&gt;

&lt;h2 id=&#34;start-with-the-app-you-want-to-make-2&#34;&gt;Start with the app you want to make&lt;/h2&gt;

&lt;p&gt;There&amp;#39;s already a paint napplet, an image editor called Fotohop, and plenty of games. They don&amp;#39;t need to be about Nostr to belong here. Drawing a picture or playing a game doesn&amp;#39;t require a social graph or an event to publish.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://cdn.hzrd149.com/bf425dacaefd37ad5498b024a2043313db6cab3048d49997ae03eb0161252008.png&#34; alt=&#34;Fotohop image editor running as a napplet, with a simple mountain-and-sun drawing on its canvas.&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fotohop running in the &lt;a href=&#34;https://applesauce.build/examples/#/example/napplet/loader&#34;&gt;Applesauce napplet loader&lt;/a&gt;. Drawing made for this article.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Nostr provides the foundation for publishing and discovering napplets. Inside the app, you can use ordinary browser capabilities for the interface and computation, then ask the shell for any additional capabilities you need. You could build a drawing tool and add sharing later. The limits are the host environment and the capabilities the shell exposes; your app&amp;#39;s purpose is yours to choose.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://cdn.hzrd149.com/95be3bb45b50a27c2279983677250a9773f1784611955d8308b0512ebc8d42cb.mp4&#34;&gt;https://cdn.hzrd149.com/95be3bb45b50a27c2279983677250a9773f1784611955d8308b0512ebc8d42cb.mp4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&#34;https://applesauce.build/examples/#/example/napplet/loader?pointer=naddr1qvzqqqyf8ypzpem34u9stj8ftlxldl4n2qz5f5hmrnxns3uga86fpwe7u28ga4n0qqyhqatyv3kx26r0wq5cthp5&#34;&gt;Play Dodgy Duck&lt;/a&gt;, an endless voxel crossing game. &lt;a href=&#34;https://cdn.hzrd149.com/95be3bb45b50a27c2279983677250a9773f1784611955d8308b0512ebc8d42cb.mp4&#34;&gt;Watch the gameplay preview&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For developers arriving from outside Nostr, that matters. Knowing how to build a useful app should be enough to get started. If the idea needs Nostr features, you can learn the relevant event formats and conventions as you go. Some specialized apps will need quite a lot of protocol knowledge. A paint tool may need none of it.&lt;/p&gt;

&lt;h2 id=&#34;why-put-so-much-in-the-shell-2&#34;&gt;Why put so much in the shell?&lt;/h2&gt;

&lt;p&gt;We arrived at this split through research and iteration, including the &lt;a href=&#34;https://github.com/sandwichfarm/napp.run&#34;&gt;early prototypes&lt;/a&gt;. We looked at the security constraints, the infrastructure developers kept rebuilding, and what users had to understand before they could comfortably try an app. The goal was to make decisions against practical requirements rather than pick an architecture because it sounded elegant.&lt;/p&gt;

&lt;p&gt;The balance involves three groups. Protocol developers need somewhere to handle Nostr properly. App developers need a manageable API. Users need a foundation they can trust. Moving protocol infrastructure and privileged operations into the shell gives each group a clearer job: protocol developers work on the shared services, app developers build their apps, and users choose how to put them together.&lt;/p&gt;

&lt;p&gt;An app can ask for data and request actions through the shell&amp;#39;s capabilities without building its own relay connection manager or signing flow. When someone improves the shell&amp;#39;s routing or security, many apps can benefit. Shell developers take on more complexity, but each napplet author has less infrastructure to maintain.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://cdn.hzrd149.com/ccc178d603389c403521f631f547a163c8748cc3e7609b115c51b010e331859c.mp4&#34;&gt;https://cdn.hzrd149.com/ccc178d603389c403521f631f547a163c8748cc3e7609b115c51b010e331859c.mp4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://napplet.run/#how&#34;&gt;animated diagram on napplet.run&lt;/a&gt; cycles through relay, storage, media, notify, theme, value, upload, resource, and CVM. Requests and responses pass through the shell. &lt;a href=&#34;https://cdn.hzrd149.com/ccc178d603389c403521f631f547a163c8748cc3e7609b115c51b010e331859c.mp4&#34;&gt;Watch the full cycle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The common contract between a napplet and the runtime providing its capabilities is called the capability seam. NIP-5D defines how it works on the web; individual NAPs define capabilities such as storage, relay access, and resource fetching. The &lt;a href=&#34;https://github.com/napplet/naps&#34;&gt;NAP registry&lt;/a&gt; describes those contracts. Keeping them separate lets capabilities develop without putting every feature into the core specification, and gives different shells a common contract to implement.&lt;/p&gt;

&lt;h2 id=&#34;trust-your-shell-distrust-the-napplets-2&#34;&gt;Trust your shell. Distrust the napplets.&lt;/h2&gt;

&lt;p&gt;That&amp;#39;s the footing we want users to have. The system treats napplet code as untrusted because an app can be buggy, carelessly generated, or deliberately malicious. Users shouldn&amp;#39;t have to work out which one they&amp;#39;re dealing with before the protections apply.&lt;/p&gt;

&lt;p&gt;In the web model, the shell verifies the signed manifest and the hash of the app file before running it in a restricted iframe. It then binds incoming requests to the iframe it created. Privileged requests go through shell policy; napplets don&amp;#39;t receive signing keys or a general signing and encryption API. The &lt;a href=&#34;https://github.com/dskvr/nips/blob/nip/5d/5D.md&#34;&gt;current draft&lt;/a&gt; defines that boundary.&lt;/p&gt;

&lt;p&gt;Verification establishes which artifact is running, not whether its author means well. The restrictions still have to hold. An iframe sandbox alone doesn&amp;#39;t block every network request, either, so shells need appropriate network restrictions. The draft discusses Content Security Policy for that purpose.&lt;/p&gt;

&lt;p&gt;This makes the shell a serious responsibility. A bad shell can undermine the model. Broad permissions can weaken the protection, constant approval dialogs can become background noise, and excessive restrictions can prevent useful apps from working. Putting the decisions in one place gives users a place to make an informed trust decision, but shell developers still have to get them right.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s where &lt;a href=&#34;https://github.com/napplet/evil&#34;&gt;napplet/evil&lt;/a&gt; comes in. Its deliberately hostile napplets probe sandbox escapes, forged messages, manifest confusion, and access to another app&amp;#39;s stored data. A configurable victim shell lets developers weaken protections and observe the consequences. The tests examine what happens when an app claims another app&amp;#39;s identity, when a shell renders an attacker-written manifest title as HTML, or when a changed artifact inherits data it shouldn&amp;#39;t have.&lt;/p&gt;

&lt;p&gt;The project&amp;#39;s &lt;a href=&#34;https://github.com/napplet/evil/blob/main/ROADMAP.md&#34;&gt;research roadmap&lt;/a&gt; also reports fingerprinting exposure, WebRTC API availability despite the baseline Content Security Policy, and a test where a busy napplet stalled the shell&amp;#39;s message handling. These are reported results from its harness, not an audit of every deployed shell. They give developers repeatable ways to challenge the assumptions and check fixes; a passing suite isn&amp;#39;t a blanket security guarantee.&lt;/p&gt;

&lt;p&gt;Protecting users this way is part of the adoption work. Trying a new app becomes a more reasonable choice when the shell can limit what it does. We want people to enjoy a tool without having to trust its author with everything.&lt;/p&gt;

&lt;h2 id=&#34;the-earlier-approach-and-napp-2&#34;&gt;The earlier approach, and NAPP&lt;/h2&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/eskema/nostrapps/blob/main/NAPP.md&#34;&gt;NAPP protocol&lt;/a&gt; resembles a much earlier approach we explored before writing the napplet spec. We abandoned our own earlier design because it didn&amp;#39;t satisfy the adoption requirements we were working toward. The resemblance is in the architecture; NAPP is a separate project.&lt;/p&gt;

&lt;p&gt;Both approaches have small apps, a host, and a bridge to shared services. NAPP documents permissions and prompts for sensitive operations, but its bridge exposes NIP-07 signing and encryption methods. NIP-5D deliberately keeps those primitives out of the napplet. We want app developers to request useful operations while the shell handles more of the protocol and security responsibility.&lt;/p&gt;

&lt;p&gt;NAPP&amp;#39;s application surface is also more Nostr-forward: signing, event-store access, relay helpers, and Nostr actions are prominent. Napplets put Nostr services behind capability contracts alongside storage, media, and resource access. A paint tool or game is as much the point as a feed viewer. NAPP can host non-Nostr apps too; the benefit we&amp;#39;re aiming for is making general applications a natural starting point without requiring them to organize themselves around Nostr.&lt;/p&gt;

&lt;p&gt;Much like &lt;code&gt;napplet/evil&lt;/code&gt; I put together &lt;a href=&#34;https://github.com/sandwichfarm/evil-napps&#34;&gt;evil-napps&lt;/a&gt; to test that model. It probes launcher isolation, forged bridge messages, action routing, shared-store abuse, and signing permissions. Its documentation distinguishes harness demonstrations from findings checked against the reference launcher&amp;#39;s source. As with evil napplets, those findings aren&amp;#39;t a fresh audit of every launcher. Both models deserve to have their assumptions tested.&lt;/p&gt;

&lt;h2 id=&#34;less-code-to-carry-around-2&#34;&gt;Less code to carry around&lt;/h2&gt;

&lt;p&gt;A focused napplet can leave much of the infrastructure out of its own codebase. That&amp;#39;s less code for a person to maintain and less context for a coding agent to consume. An agent building a paint tool can concentrate on drawing, the interface, and the capability contracts it uses.&lt;/p&gt;

&lt;p&gt;That smaller scope and shared infrastructure can make napplets cheaper and faster to produce. There isn&amp;#39;t a universal token saving or speedup to promise, and an app that pulls in a huge framework or tries to do everything can give much of the advantage back. Runtime costs need the same care: the shell consumes resources, and separate iframes have overhead. A smaller app and less duplicated infrastructure don&amp;#39;t guarantee lower total memory use in every setup.&lt;/p&gt;

&lt;h2 id=&#34;there-are-shells-to-try-and-gaps-to-close-2&#34;&gt;There are shells to try, and gaps to close&lt;/h2&gt;

&lt;p&gt;This is still alpha. The protocol is changing, and specifications, SDKs, and shells can drift apart. Capability coverage, interoperability, tooling, and the experience of building and using these apps all need work. The intended model and what a particular implementation delivers aren&amp;#39;t always the same.&lt;/p&gt;

&lt;p&gt;A napplet declares the capabilities it needs, and the shell decides what it can expose. Those declarations aren&amp;#39;t permission grants. Optional features need fallbacks, and developers need to check what their chosen shell provides.&lt;/p&gt;

&lt;p&gt;You can already explore different takes on the shell in &lt;a href=&#34;https://amethyst.social/&#34;&gt;Amethyst&lt;/a&gt;, &lt;a href=&#34;https://github.com/Origami74/myco&#34;&gt;Myco&lt;/a&gt;, &lt;a href=&#34;https://nostrudel.ninja/&#34;&gt;noStrudel&lt;/a&gt;, &lt;a href=&#34;https://grimoire.rocks/&#34;&gt;Grimoire&lt;/a&gt;, and &lt;a href=&#34;https://napplet.soy/&#34;&gt;napplet.soy&lt;/a&gt;. &lt;a href=&#34;https://kehto.github.io/web/paja/&#34;&gt;Paja&lt;/a&gt; is a developer shell for loading napplets and inspecting their behavior. These projects are at different stages, with different capability support.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://applesauce.build/examples/#/example/napplet/store&#34;&gt;Applesauce napplet store example&lt;/a&gt; shows a live list of apps discovered from Nostr relays. Browse it to see what people are making.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://cdn.hzrd149.com/fe577867552b0322aac53107aa6ca3fb5183183b0e165f880a5db1d19781e2b3.png&#34; alt=&#34;Applesauce Napplet Store showing relay filters and a live selection of games and a radio app.&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://applesauce.build/examples/#/example/napplet/store&#34;&gt;Applesauce store example&lt;/a&gt; discovers napplets from relays. This screenshot is a snapshot; the live list changes.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Developers are working to close the gaps through the &lt;a href=&#34;https://github.com/napplet/web&#34;&gt;SDK and tooling&lt;/a&gt;, &lt;a href=&#34;https://github.com/kehto/web&#34;&gt;runtime work&lt;/a&gt;, and other implementations linked from the &lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2303&#34;&gt;NIP-5D discussion&lt;/a&gt;. Those projects give us somewhere to test the design and improve it. Their existence doesn&amp;#39;t make the protocol mature yet.&lt;/p&gt;

&lt;h2 id=&#34;make-it-together-2&#34;&gt;Make it together&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://napplet.soy/studio/create&#34;&gt;napplet.soy&amp;#39;s Studio&lt;/a&gt; gives you an interface for building in the browser: describe an idea, play the preview, and ask for changes. You connect a Nostr account and your own AI provider, then review the result before publishing. Its local tools let you work in your own editor or coding agent too.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://cdn.hzrd149.com/99a238afe12cf1ad1d80f2302db3ae13310ea1db9299e8bf1b44ca1cc9b8b74e.jpg&#34; alt=&#34;napplet.soy Studio showing an agent conversation beside a playable breakout-game preview.&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&#34;https://napplet.soy/studio/create&#34;&gt;napplet.soy Studio&lt;/a&gt;: ask for changes on the left and try the game on the right. Screenshot supplied by the author.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can also build on someone else&amp;#39;s work. The &lt;a href=&#34;https://napplet.soy/docs&#34;&gt;remix and contribution workflow&lt;/a&gt; lets you make your own version of a napplet or propose improvements to the original. For projects with Git source, a proposal includes a playable preview. The author can compare the original and proposed versions, inspect the code changes, discuss them, and merge locally. Publishing the updated app is a separate step.&lt;/p&gt;

&lt;p&gt;Say someone makes a game you like, but the controls are awkward on your phone. You could remix it, improve the touch controls with your agent, and send back a version the author can actually play. Other people can try and discuss the proposal on the site. That gives the conversation something concrete to work with before the author decides what to release.&lt;/p&gt;

&lt;h2 id=&#34;try-making-something-small-2&#34;&gt;Try making something small&lt;/h2&gt;

&lt;p&gt;Run &lt;code&gt;npx skills add napplet/web&lt;/code&gt;, open your coding agent, and ask it to use the &lt;code&gt;napplet-make&lt;/code&gt; skill. Try: “Use napplet-make to build a simple paint napplet with a canvas, a color picker, and an undo button.”&lt;/p&gt;

&lt;p&gt;Pick one small thing you&amp;#39;d like to use. Ask the agent to verify it and preview it in Paja, then try it yourself.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-11-08T07:03:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgm5qvcmpsr083428myk2ttxugtcruz33a736njqwssmkymg0klzszypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekyu3ag8e</id>
    
      <title type="html">Nowhere will you find a group of people as cracked as they are at ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgm5qvcmpsr083428myk2ttxugtcruz33a736njqwssmkymg0klzszypy2j77z2xrkkt094vp2lah5rpqf3ys38nzm9jucauv8j62pgjekyu3ag8e" />
    <content type="html">
      Nowhere will you find a group of people as cracked as they are at &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsg8kve59yxyhpa9wupntesvnq0dgfd0k5g769jc6fzrua8gct36xgpzpmhxue69uhkumewwd68ytnrwghszrnhwden5te0dehhxtnvdakz7qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0vg0yke&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Sovereign Engineering&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…0yke&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;I built mapplets, a composable maps napplet that allows anyone to customize maps using Nostr and Blossom. &lt;br/&gt;&lt;br/&gt;Until next time ❤👣&lt;br/&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;/naddr1qqt8xetr95crstt5dpjj67t0d3hj6un9wphhyaqpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgsg8kve59yxyhpa9wupntesvnq0dgfd0k5g769jc6fzrua8gct36xgrqsqqqa28x4lm2x&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qq…lm2x&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;The last week of every cohort we take a ride on the Pirate Ship off Madeira, to see whales, swim in the Atlantic and talk about the pirating we did the past six weeks and the pirating beyond. We pass the mic around asking each participant for highlights of the cohort which is encapsulated in the No Solutions episode &lt;a href=&#34;https://sovereignengineering.io/podcast/35-drinking-from-the-firehose-w-sec-08&#34;&gt;&lt;em&gt;&amp;#34;Drinking from the Firehose&amp;#34;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The first response set the pattern for the ride, &amp;#34;Napplets, FIPS, runtimes, shells. More FIPS, more napplets, more shells. FIPS over audio. Zazafication. Better friendships, jams, walks, barbecues.&amp;#34;&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;/nprofile1qyxhwumn8ghj7mn0wvhxcmmvqy28wumn8ghj7mn0wd68ytn00p68ytnyv4mqqgy7c7nhs9n6lvwnp3yr8h5nytdqcz96wxnfuxg364tc6v2yhdtyxu63znag&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;balas&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…znag&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; , who was at SEC-01, had one word; &amp;#34;&lt;em&gt;pain&lt;/em&gt;&amp;#34;, and said this cohort felt closer to the first one than any since, everyone figuring it out from scratch again.&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;/nprofile1qyv8wumn8ghj76twvfhhstnjv4kxz7tn9ekxzmny9uqsuamnwvaz7tmwdaejumr0dshsqgpxdq27pjfppharynrvhg6h8v2taeya5ssf49zkl9yyu5gxe4qg5502tfpf&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;hzrd149&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tfpf&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; commented:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A year ago we were talking about where we want to be and what tech we want to have, and there were always missing gaps. Now there don&amp;#39;t seem to be many..&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/totemize/totem/&#34;&gt;&lt;em&gt;Totem&lt;/em&gt;&lt;/a&gt; is a case in point. Totem is a modular hardware platform running napplets on devices that connect in a mesh. We first imagined it at SEC-03, then shelved it for two years, not because people lost interest but because you could not build it right yet. Gzuuus, who has spent more time at Sovereign Engineering than any human alive said, &amp;#34;Totem never died, it was waiting for FIPS and napplets and runtimes to exist.&amp;#34; This summer Totem got built, it had a friend and the two talked to each other.&lt;/p&gt;

&lt;p&gt;SEC-08 ran 20 July to 28 August. Six weeks of pure unadulterated YOLO&#43;&#43; with half alumni and half new faces. After the focused sprints of &lt;a href=&#34;https://primal.net/soveng/sec-06-report-identity--signers&#34;&gt;&lt;em&gt;SEC-06&lt;/em&gt;&lt;/a&gt; and &lt;a href=&#34;https://primal.net/soveng/sec-07-the-network-stack&#34;&gt;&lt;em&gt;SEC-07&lt;/em&gt;&lt;/a&gt; we went back to open exploration: mesh networking, maps, merchant payments, package distribution, a desktop pet, and a multiplayer game stuffed into one HTML file.&lt;/p&gt;

&lt;h2 id=&#34;do-you-even-fips-yet-2&#34;&gt;Do you even FIPS yet?&lt;/h2&gt;

&lt;p&gt;Native FIPS, public-key-addressed application traffic with no IP stack in the way, was reserved for FIPS v2. By the end of this year at the earliest. Then you put &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7cn9wehjumn0wd68yvfwvdhk6qgkwaehxw309a3xjarrda5kuetj9eek7cmfv9kqqgptht8920h7havd64v3y95ljtq3y04kzgwhhgyj7mzszp90cvdvau8vsjfc&#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;nprofile…sjfc&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq3jamnwvaz7tmswfjk66t4d5h8qunfd4skctnwv46z7qpqzuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhs6un0n6&#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…n0n6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; in the same room and it is a one-week problem.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/jmcorgan/fips/blob/master/docs/how-to/use-the-native-datagram-api.md&#34;&gt;&lt;em&gt;native datagram API&lt;/em&gt;&lt;/a&gt; eliminates HTTP, TLS, TCP and IPv6 out of the equation. No more &lt;code&gt;npub.fips&lt;/code&gt; hostnames. The npub is the endpoint, and it looks close enough to a Berkeley socket. JeffG benchmarked it while wiring it into &lt;a href=&#34;https://github.com/erskingardner/wok/commit/bec28dd94b3b2c44791ede52fec6ce11c4e5d59d&#34;&gt;&lt;em&gt;Wok&lt;/em&gt;&lt;/a&gt; and the relay got 8 to 58% faster depending on message size. By demo day Wok spoke native FIPS and &lt;a href=&#34;https://github.com/marmot-protocol/whitenoise-android&#34;&gt;&lt;em&gt;White Noise&lt;/em&gt;&lt;/a&gt; was FIPS only. Encrypted group chat with no IPs, and no DNS.&lt;/p&gt;

&lt;p&gt;FIPS was in the air again;&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;/nprofile1qy08wumn8ghj7un9d3shjtn9w5h8w6rfw3jkummfwdjjucmgv96qz8nhwden5te0wfjkccte9e6hxtnhdp5hgetwda5hxefwvd5xzaqqyrnhrtctqhywjh7d7mltx5q9gnf0k8xd8prc3605jzanac5w3mtx7e4jml3&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;sandwich&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…jml3&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; sent FIPS over sound. &lt;a href=&#34;https://github.com/sandwichfarm/fipwave&#34;&gt;&lt;em&gt;FipWave&lt;/em&gt;&lt;/a&gt; modulates packets into audio and two laptops hold a conversation across a room with nothing but chirps. Somebody on the pirate ship proposed dolphins next.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/fr34aky/fips-exit-gate&#34;&gt;&lt;strong&gt;&lt;em&gt;fips-exit-gate&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&#34;https://github.com/fr34aky/fips-shield&#34;&gt;&lt;strong&gt;&lt;em&gt;fips-shield&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&#34;https://github.com/fr34aky/fips2go&#34;&gt;&lt;strong&gt;&lt;em&gt;fips2go&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; and a &lt;a href=&#34;https://github.com/fr34aky/fips/tree/freebsd-support&#34;&gt;&lt;strong&gt;&lt;em&gt;FreeBSD port&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1q998wue69uhkuur4vgckc7pjd5envmt50fc8vct9xa3kzaekw3cxsut6dp6hjatxvuury7fkxdcrsmrkvsuxudnwwe4kg6mhxp6xsufs8p5xgur69enxjurn9uqsuamnwvaz7tmwdaejumr0dshsqgpq2cg5d02r5yg3drgpjrp9m5aah8lt9r8xgeysgslu2sd8k0rj7g2avwwj&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;fr34aky&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…vwwj&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; ) - reaching the legacy internet, filtering application-level abuse, putting Android and FreeBSD on the mesh.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;JeffG&amp;#39;s &lt;a href=&#34;https://github.com/erskingardner/fips-mac&#34;&gt;&lt;strong&gt;&lt;em&gt;fips-mac&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; installs and runs a FIPS node on a Mac and shows the mesh from the menu bar. Johnathan&amp;#39;s &lt;strong&gt;fipsctl&lt;/strong&gt; gives you the command-line view.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;hzrd149 added FIPS support to &lt;a href=&#34;https://github.com/hzrd149/nostr-relay-tray/tree/fips-integration&#34;&gt;&lt;strong&gt;&lt;em&gt;nostr-relay-tray&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, putting your desktop relay on the mesh.&lt;/p&gt;&lt;/li&gt;

&lt;li&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;/nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq3zamnwvaz7tmwdaehgu3wwa5kuef0qqsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3cu38d6t&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Arjen&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…8d6t&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; demonstrated &lt;strong&gt;LUKS over FIPS&lt;/strong&gt;, remotely unlocking an encrypted NixOS drive.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;hzrd149&amp;#39;s &lt;strong&gt;FIPS Pong&lt;/strong&gt; bridged a game across three machines through a browser tab. His own review: &amp;#34;completely useless, but it worked.&amp;#34;&lt;/p&gt;&lt;/li&gt;

&lt;li&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;/nprofile1qy2hwumn8ghj7ctww35hqunfd4skctnwv46z7qgwwaehxw309ahx7uewd3hkctcqyrn45xzuqxwsjpyatl9su2dzejdl6qtwcrmd3yhunrm0lcqcrfyq6hetmjk&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qy2hwumn8ghj7ctww35hqunfd4skctnwv46z7qgwwaehxw309ahx7uewd3hkctcqyrn45xzuqxwsjpyatl9su2dzejdl6qtwcrmd3yhunrm0lcqcrfyq6hetmjk&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tmjk&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq3camnwvaz7tmjv4kxz7fwddex2am9danxketewvhxuet59uqzq2a4ql5qscjgw37ja3gqnfcveklqh6f3p7np99ffy0y908j64qzy38xyae&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;julien&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…xyae&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; worked on &lt;a href=&#34;https://github.com/CruxCoach/CruxCoach&#34;&gt;&lt;strong&gt;&lt;em&gt;CruxCoach&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, which syncs a group&amp;#39;s climbing playlist over a local BLE/FIPS mesh without internet access. The app itself can be shared over the same mesh. J also used Android&amp;#39;s accessibility features to extract the user&amp;#39;s MoonBoard logbook, because the MoonBoard needs to be liberated from its enshittification.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;napplets-runtimes-and-shells-2&#34;&gt;Napplets, runtimes and shells&lt;/h2&gt;

&lt;p&gt;Nostr is easy to use badly and hard to use well. Key handling, signing, relay selection, caching, encryption, expiry, and on and on. Every client implements all of it, and most implement some of it wrong.&lt;/p&gt;

&lt;p&gt;Sandwich spent the past year working on &lt;a href=&#34;https://napplet.run/&#34;&gt;&lt;em&gt;NIP-5D&lt;/em&gt;&lt;/a&gt;, the napplet protocol. A napplet is a sandboxed, single-purpose app that asks a host shell to handle signing, relay access and storage. It never holds your key, never picks your relays, and doesn&amp;#39;t know anything about storage. The hard, security-critical work is handled by the shell.&lt;/p&gt;

&lt;p&gt;So to write a Nostr app, you don&amp;#39;t have to be a Nostr developer i.e. you. Nostr already hands you self-signed structured data and a client was only ever the presentation layer, but until now, we kept making people rebuild the whole Nostr protocol to build clients. Now, a napplet can be shared over Bluetooth via FIPS, or fit inside a link along with its state which can be run on any of the napplet shells.&lt;/p&gt;

&lt;ul&gt;
&lt;li&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;/nprofile1qythwue69uhnzvpwxsmzuvfsxuhrzvfs8gmnwdehqyx8wumn8ghj7cnjvghxjmcqyrv3ry0rpcqygju59s8g9jk5wzej4ut3wexzyad7uz7ejdm7l4q82p0r7e4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;gsovereignty&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…r7e4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &amp;#39;s &lt;a href=&#34;https://github.com/nostrocket/rocketshell&#34;&gt;&lt;strong&gt;&lt;em&gt;RocketShell&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; is a web runtime for NostrRocket.&lt;/p&gt;&lt;/li&gt;

&lt;li&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;/nprofile1qyt8wumn8ghj7ct4w35zumn0wd68yvfwvdhk6tcpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qpq6c9a45p5dr6l3jzmrvgdh9m7xy994tatxd6sm7kmxaygkq4lerts4cnyzf&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;yo&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…nyzf&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &amp;#39;s &lt;a href=&#34;https://github.com/jodobear/uzel&#34;&gt;&lt;strong&gt;&lt;em&gt;Uzel&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; is a native Debian napplet runtime. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyghwumn8ghj7vf5xqhxvdm69e5k7tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsqg86np9a0kajstc8u9h846rmy6320wdepdeydfz8w8cv7kh9sqv02gjtfg8w&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;PABLOF7z&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…fg8w&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &amp;#39;s &lt;a href=&#34;https://github.com/pablof7z/nampplets&#34;&gt;&lt;strong&gt;&lt;em&gt;nampplets&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; provides a native Rust runtime for macOS.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;hzrd149&amp;#39;s &lt;a href=&#34;https://github.com/hzrd149/napplet-portal&#34;&gt;&lt;strong&gt;&lt;em&gt;Napplet Portal&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; provides a server-backed host you can reach from your phone.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/gsovereignty/rageofempires&#34;&gt;&lt;strong&gt;&lt;em&gt;Rage of Empires&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (Gsovereignty and Yo) - decompiled AoE from the Windows binary and packed into a single 83 MB HTML file, multiplayer running once as a napplet and once as an nsite. As put by a participant, &amp;#34;I thought it was dumb. After a few days I got it. We can reverse engineer so many of the applications from the last generation.&amp;#34;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Arjen&amp;#39;s &lt;a href=&#34;https://github.com/Origami74/myco&#34;&gt;&lt;strong&gt;&lt;em&gt;Myco&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; is a meta sneakernet app over FIPS mesh to share apps and communications. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7etyv4hzumn0wd68ytnvv9hxgqgdwaehxw309ahx7uewd3hkcqpqejxswthae3nkljavznmv66p9ahp4wmj4adux525htmsrff4qym9s2fulqg&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Sherry&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…ulqg&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and Arjen worked on &lt;a href=&#34;https://github.com/Origami74/myco/pull/34&#34;&gt;&lt;strong&gt;&lt;em&gt;file sharing&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, think AirDrop over the mesh, and André brought it to the desktop with &lt;a href=&#34;https://github.com/fr34aky/myco-desktop&#34;&gt;&lt;strong&gt;&lt;em&gt;myco-desktop&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/nostrocket/rocketshell/tree/main/napplets&#34;&gt;&lt;strong&gt;&lt;em&gt;Nostrocket&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (Gsovereignty and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyw8wumn8ghj7mn0wd68ytnzd96xxmmfdejhytnnda3kjctvqqs0qlstrtcxddyrswrrvzs69janw3pf48a64dvnqflnlnfm6w6uxecgnzddk&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Jeroen ✅&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…zddk&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; ) - G started this years ago around an absurdly ambitious question: how do you build a system resilient to psychopaths? Jeroen revived it this cohort, rebuilt as composable napplets. If you are curious, and you should be, go egg them on.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/shaibearary/nappagochi&#34;&gt;&lt;strong&gt;&lt;em&gt;Nappagochi&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (Sherry) turns your Nostr activity into the changing life of your Nostr pet.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Anon&amp;amp;Mato&lt;/strong&gt; (Balas) generates a playable world from your npub. It is beautifully created.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;XR napplets&lt;/strong&gt; (Sandwich) - remember Google Glasses? This is napplets on AR glasses! Think HUDs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;blossoming-hashtrees-2&#34;&gt;Blossoming Hashtrees&lt;/h2&gt;

&lt;p&gt;We didn&amp;#39;t just FIPS, we Nix&amp;#39;d over Blossom(ing) Hashtrees. This one came off a walk, which is the least surprising sentence in this report. A Nix guy and a Blossom dude went up the hill, and came down with Nix packages over Blossom.&lt;/p&gt;

&lt;p&gt;Nix addresses everything by hash. Blossom stores blobs by hash. Do you see it now? It was obvious, but the left foot, right foot rhythm was required for left brain, right brain juices to flow and synchronise. By Friday we had Nix packages distributed with no registry.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/hzrd149/nixstr-cache&#34;&gt;&lt;strong&gt;&lt;em&gt;nixstr-cache&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (hzrd149) and &lt;a href=&#34;https://github.com/jurraca/narwal&#34;&gt;&lt;strong&gt;&lt;em&gt;Narwal&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; with its &lt;a href=&#34;https://github.com/jurraca/narwal-publisher&#34;&gt;&lt;em&gt;publisher&lt;/em&gt;&lt;/a&gt; (Julien)- resolve Nix packages over Nostr and Hashtree, blobs pulled from Blossom, served to an ordinary Nix client. The packages arrive through a standard Nix binary cache interface, so you can keep using nix build. Nostr announcements identify the publisher, and Nix checks the cache signatures against the keys you trust. It barely worked by Friday - very promising, the correct state for a Friday before the BBQ.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://gitworkshop.dev/hzrd149.com/git.shakespeare.diy/hashtree-explainer&#34;&gt;&lt;strong&gt;&lt;em&gt;Hashtree explainer&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (hzrd149) - if you always wanted to know what a hashtree is, it&amp;#39;s IPFS without the rest of IPFS.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During the Hashtree talk, someone asked whether a map of the Earth could use one root, with smaller areas fetched as you zoomed in. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq36amnwvaz7tmwdaehgu3wvf5hgcm0d9hx2u3wwdhkx6tpdshsqgzg49auy5v8dvk7t2cz4lm0gxzqnzfpz0x9kt9e3mcc0955z39nvgmqn6s8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;raul_15&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…n6s8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qythwumn8ghj76twvfhhstnwdaehgu3wwa5kuef0qy88wumn8ghj7mn0wvhxcmmv9uqzpw8298cklezza0t7t9x8cp56pnj8ffxj9d8lrt7sfrqwjyygm4wc5df5yf&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Franchovy&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…f5yf&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; went and built &lt;a href=&#34;https://gitworkshop.dev/npub1fz5hhsj3sa4jmedtq2hldaqcgzvfyyfuckevhx80rpukjs2ykd3qkxymar/relay.ngit.dev/mapplets&#34;&gt;&lt;strong&gt;&lt;em&gt;Mapplets&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;. They used a modified hashtree for the map and Nostr events for the map data, including Madeira&amp;#39;s bus routes. Map tiles load as you zoom, and private overlays are shared with the people you choose.&lt;/p&gt;

&lt;h2 id=&#34;just-works-2&#34;&gt;Just works&lt;/h2&gt;

&lt;p&gt;Our favourite Poncha bar in Funchal knows us as the Bitcoin people. Its payment terminal had been broken for weeks, so we kept paying in euros. One week a bunch of participants decided to team up and fix the UX.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://justworks.cash&#34;&gt;&lt;em&gt;Just Works&lt;/em&gt;&lt;/a&gt; ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyv8wumn8ghj7urjv4kkjatd9ec8y6tdv9kzumn9wsq3yamnwvaz7tmsw4e8qmr9wpskwtn9wvqzpafmnkg63ngh0762rncgrgdk6kr4ngupaufq5lz6rrqwwr9wszvrql3mq9&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Thomas&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…3mq9&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; , Yo and &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyt8wumn8ghj7mn0wd68ytnp0faxzmt09ehx2aqqypacf8h62czttr2scsvkx7ucwwz8m0u4wzqa2fsndsaynde40ntpw094fq8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Zaza&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…4fq8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; ) was built. Just Works just creates beautiful nsites that just work. It has info, menu, schedules, reviews, news, PoS, payments, etc. and &lt;a href=&#34;https://github.com/gzuuus/keys.justworks&#34;&gt;&lt;em&gt;keys.justworks&lt;/em&gt;&lt;/a&gt; ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyxhwumn8ghj7mn0wvhxcmmvqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsqgzqh8y9lll2lsw2m7xrpf89ezrxplmwf9c6phrj84dtva94ucd52y96h9pq&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Gzuuus&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…h9pq&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; ) handles the keys underneath.&lt;/p&gt;

&lt;p&gt;Just Works takes every establishment in the area. Scrapes their site and their socials, generates a pretty nsite from it, links back to the legacy profiles so their customers still recognise them, gives them an npub, a QR code and a point of sale, and then it puts all of them on the just works map. And you can just start tipping them because you love your local dive bar so much. The owner ends up with a profile, a site, key management and a pile of sats waiting to be claimed.&lt;/p&gt;

&lt;p&gt;It also looks good - which is not a sentence we get to write often. Work this far down the stack and you tell yourself beautiful is somebody else&amp;#39;s job, right after the protocol is right. Zaza sat down with people one project at a time and showed them otherwise, ran a workshop and by the last demo day almost everything had been Zazafied.&lt;/p&gt;

&lt;p&gt;Then we had &lt;a href=&#34;https://github.com/brenorb/granola&#34;&gt;&lt;em&gt;Granola&lt;/em&gt;&lt;/a&gt; ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsx99qzfkctq7hffcffn3vv6geh0k3w6ve8d0ynjgce44ns0asa6pskp52y5&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Breno Brito&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…52y5&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; ), an idea since 2024. At SEC-08 he found people to build it with. It coordinates Cashu atomic swaps over Nostr. Other work explored escrow and dispute resolution in anonymous marketplaces.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Meza&lt;/strong&gt; ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcqyphydppzm7m554ecwq4gsgaek2qk32atse2l4t9ks57dpms4mmhfx5ltf6v&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Gigi&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tf6v&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; )- lets you zap a highlighted passage and split the payment between its author, the person who highlighted it, and &lt;a href=&#34;https://github.com/dergigi/boris&#34;&gt;&lt;em&gt;Boris&lt;/em&gt;&lt;/a&gt;, the reading app.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/BIMbeamFLX/600BillionTimelockTCG&#34;&gt;&lt;strong&gt;&lt;em&gt;600 Billion Timelock TCG&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyx8wumn8ghj7cnjvghxjmcprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qqsgw2mqlhvwcu7wzv3aj7vq2uuylwvrv5qdndeqzk2vwxhrln3tdqq57w87z&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;FLX&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…w87z&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and Breno) on &lt;a href=&#34;https://nappelin.com&#34;&gt;&lt;em&gt;Nappelin&lt;/em&gt;&lt;/a&gt; makes every card in a booster pack a Cashu token, with NUT-22 blinded tokens keeping your hand private. Coloured coins on Cashu, for a card game.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;clankers-data-and-the-strange-stuff-2&#34;&gt;Clankers, data, and the strange stuff&lt;/h2&gt;

&lt;p&gt;Agents got treated as ordinary users of the network this time. They discover things, pay for things, remember things, and generally make great teammates.&lt;/p&gt;

&lt;ul&gt;
&lt;li&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;/nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnvv9hxgqpqt6m495kynns7xjmgz8yt6krrw4r8tac0mvr3f25f9r35ke72ap3sdl773h&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;whisperhash&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…773h&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &amp;#39;s &lt;a href=&#34;https://dev.nostrolo.gy/data&#34;&gt;&lt;strong&gt;&lt;em&gt;Nostrology&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; exposes Nostr ecosystem metrics over MCP, maps &lt;a href=&#34;https://dev.nostrolo.gy/marketplaces#growth&#34;&gt;&lt;em&gt;marketplace growth&lt;/em&gt;&lt;/a&gt; by geography, and accepts &lt;a href=&#34;https://dev.nostrolo.gy/data/nutzaps/active_users&#34;&gt;&lt;em&gt;Cashu payments for Nutzap data queries&lt;/em&gt;&lt;/a&gt;. An agent finds a dataset, pays for a query and gets its answer.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/whisperhash/nectar&#34;&gt;&lt;strong&gt;&lt;em&gt;Nectar&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; explores structured, attestable datasets on Nostr.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/whisperhash/si-eval&#34;&gt;&lt;strong&gt;&lt;em&gt;si-eval&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; explores auditable model evaluation for tasks such as key handling and privacy.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/marmot-protocol/mdk&#34;&gt;&lt;strong&gt;&lt;em&gt;MDK&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; and &lt;strong&gt;White Noise agents&lt;/strong&gt; (JeffG)- used agents to generate thousands of test scenarios for MDK and built White Noise/Marmot connectors for the major agent tools. Other experiments involved shared memory in White Noise groups and short “mantras” intended to improve small models&amp;#39; tool calls.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Rahul explored agents helping with real-life tasks through &lt;a href=&#34;https://gitworkshop.dev/npub1fz5hhsj3sa4jmedtq2hldaqcgzvfyyfuckevhx80rpukjs2ykd3qkxymar/relay.ngit.dev/pafrend&#34;&gt;&lt;strong&gt;&lt;em&gt;Mappy&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, then put an agent inside a napplet with &lt;a href=&#34;https://gitworkshop.dev/npub1fz5hhsj3sa4jmedtq2hldaqcgzvfyyfuckevhx80rpukjs2ykd3qkxymar/relay.ngit.dev/kipina&#34;&gt;&lt;strong&gt;&lt;em&gt;Kipina&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;http://fips.email&#34;&gt;&lt;strong&gt;&lt;em&gt;fips.email&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (Thomas) - accepts email addressed to your npub and forwards it as an encrypted NIP-17 message to your DM relays. He built it for agents, though people can use it too. No FIPS involved. People just love FIPS.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/jurraca/mist&#34;&gt;&lt;strong&gt;&lt;em&gt;Mist&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; (Julien) lets you explore Nostr conversations in clusters.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We worked on hardware too. Totems running napplets in shells connected in a self-healing mesh of other Totems over FIPS. Participants had flown in with cases of tools and equipment to build. Even so, they could not build the things they really wanted, because Madeira has no makerspace. This inspired two of the participants to start one, ready to fund it themselves. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy88wumn8ghj7mn0wvhxcmmv9uqjqamnwvaz7tmwdaehgu3wv45kuatwv3a8wctw0f5kwtnnwpskxef0qqsfhkuktgm40c3ndxd4427cl32mcrqlfr3ecn26etrdx7e0frepv8say6t7h&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Nodesignal_Podcast&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…6t7h&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and other donors piled in behind them, now &lt;a href=&#34;https://njump.me/nevent1qvzqqqqqqypzpq7enxs5scju854msxd0xpjvpa4p94763rmgktrfyg0n5arpw8geqy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmwdaehgu3wdau8gu3wv3jhvtcqypgp4872z3qnaulawyxrut4z3mgpggtxl0pfpr555gtwq2a0ejkmg2t2293&#34;&gt;&lt;em&gt;Nostr Office is giving the lab a home&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;People came here to build things and left behind a place for building things.&lt;/p&gt;

&lt;h2 id=&#34;talks-and-workshops-2&#34;&gt;Talks and workshops&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Everyone&amp;#39;s AI setup&lt;/strong&gt; - a fixture now. Every participant shows how they actually work: harnesses, prompts, tools, learnings, etc. No two setups match. You steal two things on day three, then have six weeks to refine and upgrade.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;In the spirit of Bitcoin&lt;/strong&gt; (Gigi) - What does it mean to build it in the spirit of Bitcoin? What is the spirit of Bitcoin? Nobody can define the spirit of Bitcoin in a sentence, but you know it when someone violates it.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nostr anti-patterns&lt;/strong&gt; (Gigi) - the old internet is a habit, and habits follow you. The talk was about habits of the old internet and anti-patterns in Nostr, when deliberately avoided, allow us to be liberated from.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&#34;https://blossom.primal.net/a516ee71011bd433863939cf893646aa3acaa23a644f81dc5884d63d6a75d4d3.jpg&#34; alt=&#34;nostr-anti-patterns&#34; title=&#34;Nostr anti-patterns&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other talks&lt;/strong&gt;: A primer on Marmot (JeffG), Construction on Nostr (Felix), Everything is a Stream (hzrd149), TEEs (Gzuuus), History of Maps (FLX), and Messaging Protocols (JeffG and Gzuuus)&lt;/p&gt;

&lt;h2 id=&#34;cohort-experiments-2&#34;&gt;Cohort Experiments&lt;/h2&gt;

&lt;p&gt;We skipped the break week this time. By week four everyone was feeling it. SEC-05 had a detox week at that point, and we will probably bring it back.&lt;/p&gt;

&lt;p&gt;In week five, Johnathan paired everyone up and asked them to announce their demos three days ahead. Participants appreciated this and took on more complex problems together. We have tried this before and want to keep refining it.&lt;/p&gt;

&lt;p&gt;For one week, demos lasted just a minute. You had to decide what people needed to see and get straight to it. The discussions afterwards were better too, because the demos left more questions unanswered. Someone suggested shortening them throughout the cohort, from six minutes in week one to one minute in week six. We want to try that. G also built the &lt;a href=&#34;https://github.com/gsovereignty/demoday&#34;&gt;Demo Day Command Center&lt;/a&gt; to keep us within our allotted time, which provided plenty of entertainment.&lt;/p&gt;

&lt;p&gt;The final week was deliberately quieter. After five weeks of building, Gzuuus suggested leaving more time to take it all in and talk to each other. We rarely get six weeks in the same room with these people, and wanted to make the most of the time left.&lt;/p&gt;

&lt;p&gt;Walks and barbecues are still the highest leverage R&amp;amp;D we do. &lt;em&gt;Solvitur ambulando&lt;/em&gt;.&lt;/p&gt;

&lt;h2 id=&#34;paths-forward-2&#34;&gt;Paths forward&lt;/h2&gt;

&lt;p&gt;We didn&amp;#39;t know what Sovereign Engineering really was when we started. We set out with a direction, an unshakable belief to &amp;#34;fix the internet&amp;#34;. We didn&amp;#39;t know how, and most of the tools did not exist. Eight cohorts on, ideas like Totem can finally be built. There is still plenty to figure out, but we can now build things we could only talk about only a year back.&lt;/p&gt;

&lt;p&gt;Cohort after cohort of experimenting taught us what works, what doesn&amp;#39;t, and how to run the loop that keeps producing ideas like these. Nix and Blossom happened on a walk. Spending six weeks together gives people time to understand each other&amp;#39;s work, try something unlikely, abandon it and try again.&lt;/p&gt;

&lt;p&gt;But six weeks is a lot to ask. People have jobs they cannot leave and children in school. Some have spent twenty years finding out how systems fail in practice, and we would love to have them here. Wanting to come does not make it possible.&lt;/p&gt;

&lt;p&gt;So alongside the six-week cohorts, we are exploring shorter formats. Maybe a week in a mountain hut, working on one question and building towards a demo.&lt;/p&gt;

&lt;p&gt;People have also asked about cohorts in other parts of the world. We want to explore that and work with people building local-first hardware/software and mesh networks who might never have considered coming to SEC.&lt;/p&gt;

&lt;p&gt;If six weeks is why you have never applied, tell us what you could make time for. If you want to help organise something where you live, come talk to us.&lt;/p&gt;

&lt;h2 id=&#34;closing-notes-2&#34;&gt;Closing notes&lt;/h2&gt;

&lt;p&gt;SEC-08 ran on participants going full tilt for six weeks with no breather, and on the captains: Arjen, Gsovereignty, Thomas, Sandwich, Johnathan and Gzuuus, who each steered the ship for a week and took it seriously. Thank you to Zaza for showing us that our work could look beautiful, to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyt8wumn8ghj7en9v4j8xtnwdaehgu3wvfskueqpzemhxue69uhkjmnzdauzuct60fsk6mewdejhgqpqeh4lrnz8u6dl0uv75wf4q87fn5te7a5ss822u50p3qrpzuxyydkqjjhaqa&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;SuperPopLimon&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…haqa&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for the BBQs and Ponchas, to the ladies at the Cowork for hosting us, to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qyt8wumn8ghj7ct5d3shxtnwdaehgu3wd3skueqpp3mhxue69uhkyunz9e5k7qpqtdc9um9kqfp9cqvjqtwswzsvqzdsgzkpn9swamed3286kfwpaljsklkxan&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;andreloja&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…kxan&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for the space and dealing with the unglamorous parts of running Sovereign Engineering, and to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcqyphydppzm7m554ecwq4gsgaek2qk32atse2l4t9ks57dpms4mmhfx5ltf6v&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Gigi&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…tf6v&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for the heart he keeps putting into this.&lt;/p&gt;

&lt;p&gt;Head over to the &lt;a href=&#34;https://sovereignengineering.io/projects&#34;&gt;&lt;em&gt;projects&lt;/em&gt;&lt;/a&gt; page, pick something off this list. Try it, break it, go tell the person who made it. Then come build with us.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The pieces be scattered, laddies, but they be ours. Lash &amp;#39;em together an&amp;#39; sail.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;More: &lt;a href=&#34;http://sovereignengineering.io&#34;&gt;&lt;em&gt;sovereignengineering.io&lt;/em&gt;&lt;/a&gt; | &lt;a href=&#34;https://sovereignengineering.io/podcast&#34;&gt;&lt;em&gt;No Solutions&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://blossom.primal.net/fba970daa5d148b1cfae2ab5f6335015f402f47602f82279051f08420ce5c2b1.jpg&#34; alt=&#34;totem&#34; title=&#34;totem&#34;/&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-09-20T10:37:40Z</updated>
  </entry>

</feed>