Last Notes
Nostr is a bubble of cutting edge tech. I just talked to some people working at my former employer and mentioned agent factories in passing. They had never even heard of them.
Reminds me of Richard Heart
Pasting keys is poor security hygeine, so we don't support it. Try Amber if on android, Aegis on ios, or a nostr browser extension on web
Is there even that much content on nostr
A lot of people think they are using AI in a meaningful way
Doing it well takes an incredible amount of discipline. Writing code is easy because it keeps your mental model in sync with the product. Agentic coding is hard because you have to deliberately slow down to maintain your mental model, when the entire reason you're using the tool is to speed up. I haven't been able to strike that balance myself yet.
Flotilla 1.7.3 (and 1.7.4) is out — this one is mostly quality of life improvements (with the addition of polls).
The big change protocol-wise is the addition of kind-9 wrapping of non-chat content types per a discussion with @nprofile…t65r and @nprofile…7tvu. This prevents missing context when sending non-chat messages to NIP 29 rooms, but also allows for adding stuff like polls etc to chat. You can read the NIPs PR here: https://github.com/nostr-protocol/nips/pull/2310
Much of the work was done by contributors coming to nostr via the Summer of Bitcoin program. So thanks to all of you!
https://www.summerofbitcoin.org/
Full Changelog:
* Add native share support for space invites
* Stop sending duplicate requests per room
* Add more robust thumbnail url generation
* Make space reordering discoverable with smoother drag animation
* Improve relay member list
* Add room mentions and clickable room/relay refs
* Support native clipboard image paste on mobile
* publish kind 9 quote after room content creation for cross-client interoperability
* Improve feed pagination logic and performance
* Support Aegis URL scheme for NIP-46 login
* Various UI and bug fixes
* Raise message size limit in chat
* Fix realtime updates for room members and admins
* Add video to calls
* Remove follow graph building
* Add start chat FAB
* Add drafts
* Redesign toast notifications
* Remove room/space leave indications
* Hide report badge for non-admin users
* Add polls
* Add search to recent activity page
* Fix notification badge on mobile nav
* Change audio devices in call
Thanks for the reminder, used it today to look up a note by @nprofile…8yl7
Literally overhearing some college students telling each other about it right now
And we wouldn't want them to be
I present to you... Claude Opus 4.7
https://blossom.primal.net/35df3fb3e2f77db2ca90875f72b00c99e5670c98d5a8ac896410b4246ec39905.png
I vibes this, works for my purposes: https://highlights.shakespeare.wtf/
I can't remember why it was bad. I think part of it had to do with the fact that nostr.build optimizes images itself and he wanted clients to use those directly so that they didn't have to serve the full sized file over and over. But caching on the proxy's side should improve that, and clients don't know to download the smaller files anyway.
This has also been my experience
No, I haven't found a lot of good harnesses. Which is why I was looking for something like this.
A week, can't say how reliable yet. I think it's good at what it does, but that reveals other unsolved problems (building new code is much easier, maintenance I haven't cracked, hence my snarky tweet)
It's good at parallelizing sub-agents with well-defined prompts and context boundaries. It makes it possible to use the research -> plan -> implement flow without filling up your context. I haven't written any custom flows yet, I just use archon's built-ins with custom skills.
Here's the video that got me to use it:
https://www.youtube.com/watch?v=qMnClynCAmM&pp=ygUKY29sZSBtZWRpbg%3D%3D
The boring parts are inextricably tied up with the interesting parts
Unfortunately I'm still stuck on a computer
Archon is incredible. It has 10x'd my output, which means I can now one shot 100k LOC instead of only 10k LOC before throwing it away
This is probably the correct answer
I think a tag for this kind of thing (like `-` and `expires`) would be the right way to generalize, but as far as I know this kind of thing is only one-offs so far
What does this mean?
https://blossom.primal.net/ac1939c69db000c03dbd3291388b02a3593afe906d34a33c3a06d33e57fa2bd6.png
Regards are my favorite leftovers
Hackernews doesn't like it when I tell them nostr is decentralized and bluesky is not
https://news.ycombinator.com/item?id=47719975
Is there an existing implementation of NIP 29 roles or is it just dead spec? @nprofile…ptmr @nprofile…z8s8
https://github.com/nostr-protocol/nips/pull/2310
And you were right all along. Allowed kinds might be worth adding, although nostr event kinds have different purposes sometimes and it mght get confusing or restrict utility behavior
Thanks, that was what I was looking for! Although when I query your relay I get this:
```
nak req -k 0 --search "jack" wss://brainstorm.world/relay
wss://brainstorm.world/relay... ok.
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::5b9f240083555491a3acfd3df247e33317082d7285a101afd8a7ecc338b835bd
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::5df9771027e02d745070738192bf96a046a71d280279048cd0b86e5fafc9bd1a
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::ed18c1d3758ef4eb73073d9ea810919453418a1218d55eff79ba787b560a8c7f
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::1f28480d0467f165d0aff53b69271c7ca148bad3407a119ddc5200141e90cfdc
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::6708e37cc1c0197e502db7ae9fc66b4548c43cc60414be527c4a66907ad15903
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::1a25b23204af6b75f86461f40e1e762da793dddfe1f9eb5e557d4f615bf9ab5e
[nl][info] 2026/04/09 13:45:47 {wss://brainstorm.world/relay} bad signature on id::bd61fe55146d55adea00168421b23283bd4988a53ab0064031e8ac3bf71abf50
```
Ok, I've been letting this simmer, and I am going to switch to only rendering kind 9 in chat. When publishing a calendar event (for example), I'll h tag it, then create a kind 9 even which q tags the calendar event and send that to the room as well. When fetching content, I will only fetch kind 9s and show other content as embedded cards.
Thoughts?
https://gitea.coracle.social/coracle/flotilla/issues/185
More just trying to improve performance in flotilla right now. If it means I have to accept something slightly more centralized/suboptimal, that's ok for now. But long-term, I want decentralized + personalized with global fallback in case of insufficient data.
I discovered this weekend that I am part Welsh, which is a great source of joy to me
So how do I use this as a client developer? Do users have to calculate their scores in advance, or can they be auto-generated? How many events do I have to download? How long does it take to do it on demand? Can I calculate scores for a single target pubkey?
I'm the first person to advocate for the idea that "there is no global". Giving users context asap is important for powering all kinds of recommendations — which is why I have invite links with built in follows/communities, and why I think communities are a great starting point. So ideally, search should take all this into account: members of communities the user is part of, follow based wot, etc.
At the same time, there is a point of view that has no context (a fresh user who didn't go through curated onboarding), and there is such a thing as a generally popular account. Of course you need a relay/pubkey to bootstrap from, but I'm happy to outsource that to a pagerank-style provider.
The question to ask is: "what is a new user trying to accomplish when he uses the search functionality?" It will almost always be "I'm looking for a particular person." If a user has no follows, communities, etc, there will be zero results for every search. On the other hand, a pagerank-style crawler will have something like 80%+ of the network available. That's certainly better than zero. That's what I mean by "good results".
I'm building a search page right now, so complete, spam free, ordered search results is the goal. Secondarily I want to power the wot indicator, so a "rank" of some kind. These are blunt force instruments, so while personalized scores are better, pagerank style will suffice.
I think it balances a lot of different concerns (dx, safety, speed) pretty well. What do you dislike?
Something that doesn't rely on the user having followed anyone to give good results. Personalized is better, but I want it to work for anyone
Because it's stone age technology. Hand coded even
For now, falling back to follow-based wot is fine. Long-term, I'm confident you wot-nerds will come up with something workable
Interesting. I don't fully grok 85 yet but what you say rings true based on what I've seen. I know someone made a relay that generates them on the fly, which is a nice idea. But I don't need the full subjectivity involved in vetting people, I was only doing that before because I could calculate it in memory. A page ranks style algo would be plenty, and that would scale linearly rather than exponentially.
I'd like to avoid relying on a single provider if possible. Does vertex publish nip 85 assertions at all, or is the format incompatible?
@nprofile…v6ss @nprofile…72gj so I'm exploring NIP 85, and I'm having a hard time figuring out how to validate which service providers I should actually use for my users in order to get a good "global" view. I was thinking of hardcoding 5 or so relays and 10 or so service providers and taking the median of the results. But there are a lot of 10040s out there, and lots of different service providers referenced, very few of which have published a kind 0. How am I supposed to hold this thing?
I unfortunately have to take credit for my own mistakes, can't blame them on AI.