Cryptography, the Commons and Proof of Place.

https://i.nostr.build/CpjkGYRfTAOZyTal.jpg

https://highlighter.com/a/naddr1qvzqqqr4gupzp384u7n44r8rdq74988lqcmggww998jjg0rtzfd6dpufrxy9djk8qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qq2nya2z2akk6j60w9jz6vpeweg4vn2g8pvrqzwws2x

https://yakihonne.com/article/naddr1qvzqqqr4gupzp384u7n44r8rdq74988lqcmggww998jjg0rtzfd6dpufrxy9djk8qq2nya2z2akk6j60w9jz6vpeweg4vn2g8pvrq6c73gs


Just posted my first quick update of CI/CD on Nostr. It's my first video like this so it's not amazing quality, but i gotta start somewhere... 🤷♂

📜TLDR:
Basically I added a little front-end to trigger a DVM that watches the specified repository and publishes a note on each commit, mentioning the author and commit hash.

🐾 Next Steps:
- Split publishing of note into seperate DVM's (aka: introduce chaining)
- Improve handling of DVM request (adding responses)
- Add other chained steps (like pulling/building repository)
- ...

🚀 To try it out yourself:
- https://stens.dev and enter a repository naddr
- nostr:npub1hflnseyhn7tkngmkfmr4qrjygjppw3dgg3t3xpeza7r4skwy3u9samkmwh will put out notes on new commits.
https://flare.pub/w/naddr1qqrk5vtyxf2566czyzamthdqu92k09ulq4p5q77uyqeadu9mkv8hy5f2nqw0mvhsncn5wqcyqqqgtwcykjnp8

CC:  nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr  nostr:npub1wf4pufsucer5va8g9p0rj5dnhvfeh6d8w0g6eayaep5dhps6rsgs43dgh9  nostr:npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5  nostr:npub1mgvwnpsqgrem7jfcwm7pdvdfz2h95mm04r23t8pau2uzxwsdnpgs0gpdjc
#grownostr


Welcome! What an impressive timeline 🤙🏻 hard to checkout on mobile, so I will do it later on desktop


This episode 🤙🏻 zap split to nostr:npub10pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqyfn34f and lots of #PHP powered content (Nextcloud). It reminds me that I still need to fix my Nextcloud instance which broke before my summer holiday 😖
nostr:note14tmrcm0jpmlav23caq6s8f0k7mldyu7kjwcas0e650plxrjumh9qpwvdek


The logs of the containers you’re running


Have you checked your docker logs?


On www.nostr.promo you find all nostr:npub1crlja3mcjppzyx2dpgz6h9468pgzfftageeqelyh7k9k0kkrjxnqyswkhs designs. Free to use of course #grownostr #nostr #introductions


Interesting, just 3 relays to read from?


I need to diff your relay list with mine then 👀


"A new, good internet is possible - and necessary - and it needs you."

DEF CON 32 - Disenshittify or die! How hackers can seize the means of computation - Cory Doctorow

https://v.nostr.build/sLIhUjX57EwR86vX.mp4

"The enshittification of the internet wasn't inevitable. The old, good internet gave way to the enshitternet because we let our bosses enshittify it. We took away the constraints of competition, regulation, interop and tech worker power, and so when our bosses yanked on the big enshittification lever in the c-suite, it started to budge further and further, toward total enshittification. A new, good internet is possible - and necessary - and it needs you."

YT

https://youtu.be/4EmstuO0Em8

#defcon #corydoctorow #hacking #tech #nostr


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 running solid here, already using it more than a year as my  daily mobile Nostr driver


🤙🏻 Go for the real Nostr experience 💯


Welcome! Please tell us what your stack is like 🤓


Yea PHP also works! nostr:npub1phpdev2d38u5hzs4jrsh360mevh0rjctu9669quy97wu23u8sqdqpfha0j


Have a nice flight!


GM for you! GN for me 🤙🏻


Can you do that as a user as well? Setting a verification check on a npub just for yourself.


💯
Censor resistant !== spam resistant

And we only can find out how to make Nostr spam resistant with spam. So let’s embrace it…for now 🙃 I’m pretty sure many more types of spam will come in the future. The hard part of this how to define what is spam and what is not.
nostr:note14wffdu36vvjttmcuxn8lxfpnswx93qma30rtezv8tjts5mq7v3zqzry3xn


Another rockstar 👀


ngit - a command-line tool to send and review patches via nostr
https://gitworkshop.dev/ngit

🔂 cross-posted from https://ccns.nostrver.se


Slowly but steady making progress with the famous Http/Guzzle client for making websocket asyncronous requests with #PHP to integrate in nostr:npub1phpdev2d38u5hzs4jrsh360mevh0rjctu9669quy97wu23u8sqdqpfha0j.
https://shares.sebastix.dev/9RVH5T2Q.png
And yes, there will be pools and promises as well so we can do concurrency! 🤓
https://docs.guzzlephp.org/en/stable/quickstart.html#concurrent-requests


Protocol, not platforms. Rules, not rulers.

Great piece about lightning with nostr:npub1awyzkzaktxlhyg6syzst3pxy5lvp0c908yphz4ekk9rp3zcapp5qxn79n4 👌🏻

https://fountain.fm/clip/7xUfYuWuvMtJkaHX7sma


Congrats!!


So many permission flags here...unbelievable.
Nostr fixes this, we don't need Meta. Protocols, not platforms. /cc nostr:npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc
https://matrix.org/blog/2024/09/whatsapp-dma/


Look for a Lenovo TinyPc would be my advice. There are many to find.

https://www.servethehome.com/perfect-project-tinyminimicro-pushing-a-1l-pc-as-a-server-concept-intel-hp-sabrent-crucial/ just an example and this site has a lot of good content on other hardware serving as a homelab / homeserver


🧐
https://image.nostr.build/936ef369b788a41a97a3a9697259a52deeb692d12261f374ea49777b8561736c.jpg


GM 🤓
Here are some contrib updates cross-posted from https://nostrver.se /cc nostr:npub1phpdev2d38u5hzs4jrsh360mevh0rjctu9669quy97wu23u8sqdqpfha0j

note1nplzagl65q93ue9c60qvse9vx8kf5f0x3q76sjzrljcympaaq82qh8h0yp

note1mqh3hj9qf60rscwsr0sawk92umzpq86qea6v6vje872t9lckpgqqyt6elh

#Drupal #PHP


What do they mean by a stream? A collection of files? A directory?


Nice helmet design!


nostr:npub1rg3adrxmz357cy540xplsz89v232l64wz7utp640zv0qhp98339qt2d3r2 when share on Nostr…?


*   Some small updates at [nostr-php.dev](http://nostr-php.dev)
    *   [https://njump.me/nevent1qvzqqqqqqypzqrwzmjc5mz0efw9pty8p0r5lhjew789shct452pcgtuac4rc0qq6qqsgvtfguvqv9d64jyeuzfmvzxapz5gfk3wdcltmsq7cq7z775n3fqqan6ne3](https://njump.me/nevent1qvzqqqqqqypzqrwzmjc5mz0efw9pty8p0r5lhjew789shct452pcgtuac4rc0qq6qqsgvtfguvqv9d64jyeuzfmvzxapz5gfk3wdcltmsq7cq7z775n3fqqan6ne3)
*   Build a NIP-52 RSVP to Calendar Event Vue / Javascript component which is live on [https://nostrdam.com](https://nostrdam.com)
*   My Telegram bot Botstix returns my latest note from my personal relay (using the PHP Framework Symfony for this)
    *   [https://njump.me/nevent1qvzqqqqqqypzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgewaehxw309ahx7um5wgh8xetzv9ehg6tc9ejx2a30qqs8z8ufkgnpejpalpwep7tzu4j53a5skd2tn6vkpeg3qh7h6as23jcx52ufe](https://njump.me/nevent1qvzqqqqqqypzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgewaehxw309ahx7um5wgh8xetzv9ehg6tc9ejx2a30qqs8z8ufkgnpejpalpwep7tzu4j53a5skd2tn6vkpeg3qh7h6as23jcx52ufe)
*   Fix issue were Nostr-PHP was installed as a dev dependency (which it is not) [https://github.com/nostrver-se/nostr-php/issues/61](https://github.com/nostrver-se/nostr-php/issues/61)
*   Raising sats at Geyser for our Nostr Booth initiative: [https://geyser.fund/project/nostrboothbitcoinamsterdam/](https://geyser.fund/project/nostrboothbitcoinamsterdam/)
*   Proof of concept async requests with Http/Guzzle using this package [https://github.com/valtzu/guzzle-websocket-middleware](https://github.com/valtzu/guzzle-websocket-middleware)
    *   Code snippet: [https://gist.github.com/Sebastix/857478b161af8074a5cfc22af13be54e](https://gist.github.com/Sebastix/857478b161af8074a5cfc22af13be54e)

Working out the code for doing async PHP requests with a WebSocket connection and the famous Http/Guzzle client.


Bold.
nostr:note1uk2z2jdfkhaj3wau9e0yk7r9xluxqfl79j6vjglzm4hqk8qnw5gq3uuelu


Great talk mr nostr:npub1j8y6tcdfw3q3f3h794s6un0gyc5742s0k5h5s2yqj0r70cpklqeqjavrvg 👌🏻


Meanwhile they joined Nostr nostr:npub18s4zkd0wjq5gkthz4paw2704ty4s354wcp2krvxy0sewz3g9z2cs73ydrt


https://cdn.satellite.earth/d7887b7c4ff9f467957b785abd3ae2d27eac74b5f6fb41b8acd3c8ba186538de.mp4

Thanks for the latest contributions to the #Nostrdam #NostrBooth initiative during the nostr:npub13e6qu4kdjsyysrfl5an558rawvqg0rx2xuat9ca706spcdqjzhuqq6md43 conference 🙏 nostr:npub1pzurm7nx3q08894wl6uautryq95sku5jhzgwjjrskwdafcwxekuq4n7vtu nostr:npub1dtgg8yk3h23ldlm6jsy79tz723p4sun9mz62tqwxqe7c363szkzqm8up6m

https://shares.sebastix.dev/MWGdQjNQ.png

Please help us to create a next-level Nostr Booth next month: https://geyser.fund/project/nostrboothbitcoinamsterdam


Onward 🫡

Onward 🫡


I will present the book at #Nostrdam nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 8-9-10 October. Together with nostr:npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft nostr:npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe nostr:npub17plqkxhsv66g8quxxc9p5t9mxazzn20m426exqnl8lxnh5a4cdns7jezx0 we will be there for the #Nostr booth. This photo in the book was taken in Riga (Nostriga) real-life community building 🤙 #grownostr https://i.nostr.build/TTUz99SZllgWmJKY.jpg  nostr:note1g7wvanzgag78egsjn207qcpvz88r4f8cn7la4njc9gmuklj3tdcqydegsh


https://nostr.org/

And I'm sure you can find some other gems on my own curated list here https://ccns.nostrver.se/


Fixed / debugged some issues with precaching assets with the nuxt/pwa plugin, but it seems to work to use Nostr web components made by nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 here within Nuxt / Vue: https://nuxstr.nostrver.se/fiatjaf-web-components/

#NostrDev #devNostr #Vue #Javascript #Nuxt


#Nostrdam 📅 Tuesday Oct 8th, 2024 at Braai, Amsterdam
A day before the nostr:npub13e6qu4kdjsyysrfl5an558rawvqg0rx2xuat9ca706spcdqjzhuqq6md43 conference.

You can RSVP to the event here: https://nostrdam.com/
 Don't forget to get a ticket as well: https://bitkassa.nl/nostrdam

nostr:nevent1qvzqqqqqqypzqq3fmflzhurmdhh28tcz4na42dn3qa55ndz8xhjek42jufs90x6hqqszkqps8gg2chf50d7k4mugvnj7zshs6unt9sr9zjcmcrpkyl4aktcpgghg6


#Nostrdam 📅 Tuesday Oct 8th, 2024 at Braai, Amsterdam
You can RSVP to the event here: https://nostrdam.com/
Don't forget to get a ticket as well: https://www.bitkassa.nl/nostrdam


My guess it will take around 5-10 years for Nostr. And that's a optimistic pov 😉


#SimpleX founder Evgeny Poberezkin speaking truth. #Nostr focuses on censorship resistance with privacy as an afterthought. SimpleX focus is on privacy. Do not confuse the two.

> **Censorship resistance and privacy are in a contradiction - the more censorship resistant a communication solution is, the less private it is, inevitably.**
>
> Evgeny Poberezkin

https://i.nostr.build/GnyxMZRnCnOf9zzh.jpg

#ikitao #opensource #privacy #nostr #censorship


That’s not very constructive, sorry to hear that


Calling it a day, time to go home :)


## Week 35

*   Wrote my first (out of four) 90-day reports for OpenSats [https://nostrver.se/blog/nostr-php-90-day-opensats-report-1-may-july-2024](https://nostrver.se/blog/nostr-php-90-day-opensats-report-1-may-july-2024)
*   Found this 💎 package for doing async requests with websockets and Guzzle 😎 [https://github.com/valtzu/guzzle-websocket-middleware](https://github.com/valtzu/guzzle-websocket-middleware)
*   Exploring the use of `ngit` working with NIP-34 [https://gitworkshop.dev/r/naddr1qqykummnw3ez6urgwqqs6amnwvaz7tmwdaejumr0dspzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qvzqqqrhnyyx5cnk](https://gitworkshop.dev/r/naddr1qqykummnw3ez6urgwqqs6amnwvaz7tmwdaejumr0dspzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qvzqqqrhnyyx5cnk)
*   Nostr-PHP release `1.4.0` with relay response classes [https://github.com/nostrver-se/nostr-php/releases/tag/1.4.0](https://github.com/nostrver-se/nostr-php/releases/tag/1.4.0)

## Week 36

![Nostr ad](https://nostrver.se//sites/default/files/inline-images/DSC02839_L.jpeg)

*   I placed a Nostr billboard ad besides the highway here
    *   Received a ton of interactions / feedback through Nostr on my notes sharing this!
    *   As a result, a fundraiser started (and got fully funded after a couple of days) for doing the same in Brasil: [https://geyser.fund/project/nostrifybrazil](https://geyser.fund/project/nostrifybrazil)
    *   Repo with all the assets: [https://gitlab.com/sebastix-group/nostr/nostr-ads](https://gitlab.com/sebastix-group/nostr/nostr-ads)

![Me with Alex Gleason in Braai Amsterdam](https://nostrver.se//sites/default/files/inline-images/20240905_alex-gleason.jpeg)

*   Alex Gleason and his wife were are couple of days in Amsterdam, so I drove to the city for a meetup.
    *   [https://njump.me/nevent1qvzqqqqqqypzqprpljlvcnpnw3pejvkkhrc3y6wvmd7vjuad0fg2ud3dky66gaxaqydhwumn8ghj7emvv4shxmmwv96x7u3wv3jhvtmjv4kxz7gprpmhxue69uhkummnv3exjan99eshqup0wfjkccteqqsv0u9n3vm84ffgm4cfkxkh338uy89xmpqvy97gxzlunk4g70gmy3gh75csl](https://njump.me/nevent1qvzqqqqqqypzqprpljlvcnpnw3pejvkkhrc3y6wvmd7vjuad0fg2ud3dky66gaxaqydhwumn8ghj7emvv4shxmmwv96x7u3wv3jhvtmjv4kxz7gprpmhxue69uhkummnv3exjan99eshqup0wfjkccteqqsv0u9n3vm84ffgm4cfkxkh338uy89xmpqvy97gxzlunk4g70gmy3gh75csl)
*   Did not write much code for the Nostr-PHP library, but started to work on a proof-of-concept of executing async requests with [guzzle-websocket-middleware](https://github.com/valtzu/guzzle-websocket-middleware). Also bookmarked some links I need to read for doing concurrency with Guzzle.
    *   [https://gorannikolovski.com/blog/asynchronous-and-concurrent-http-requests-in-php](https://gorannikolovski.com/blog/asynchronous-and-concurrent-http-requests-in-php)
    *   [https://docs.guzzlephp.org/en/stable/quickstart.html#concurrent-requests](https://docs.guzzlephp.org/en/stable/quickstart.html#concurrent-requests)

A lot of Nostr side-projects are on my plate as we're gearing up for setting up a next-level Nostr Booth at Bitcoin Amsterdam. For Nostr-PHP I finally started to work out a proof-of-concept doing async concurrent requests.


Bon appetit, keeping this tab open for the music 😋


Nostrdam Booth shout-out in Plebchain Radio

https://fountain.fm/clip/fUDeFd2olW8ehW6k0spT

#Nostrdam #Nostrbooth #btcamsterdam

Thanks nostr:npub1hqaz3dlyuhfqhktqchawke39l92jj9nt30dsgh2zvd9z7dv3j3gqpkt56s nostr:npub1tvqc82mv8cezhax5r34n4muc2c4pgjz8kaye2smj032nngg52clq0rkrq4 🙏🤙🏻


https://www.newyorker.com/culture/the-weekend-essay/why-ai-isnt-going-to-make-art
nostr:note1v992ptyddc5z4h898fl3wx5zjuvn80ahh0lmjm6jqe88trwh35vqz0lnz3


Please help us with some funds: https://geyser.fund/project/nostrboothbitcoinamsterdam/ for setting up a next-level Nostr booth at nostr:npub13e6qu4kdjsyysrfl5an558rawvqg0rx2xuat9ca706spcdqjzhuqq6md43 #Nostrdam 🇳🇱🙏
nostr:note1n2fkw0kvhqrqsur3ke0ww2yw4d3e2aymvaslkctljk70kp7na9rqj8nah8


Nostr the protocol does not care.
This is client logic and as there are enough clients out there, you can choice whatever you want (that’s the freedom of choice)


I’m not sure if I like it, but it helps me to curate my own social graph in a certain way 🙃


Wow #cycling computer awesomeness

https://absolutecycling.com/


Checkout out nostr:npub1pu3vqm4vzqpxsnhuc684dp2qaq6z69sf65yte4p39spcucv5lzmqswtfch gave me a new insight. You get to know which npubs you should unfollow.
https://image.nostr.build/a71311005d2c6dff5a7fbcc14e3422e1f32e60a12be84f501b197248bd1bc9af.jpg
https://image.nostr.build/39b64b50322ab4cf35a8c2b2b270c137e62dd9e3c25b0f776101dc2220d7d00f.jpg


GM


Do it!
https://geyser.fund/project/nostrboothbitcoinamsterdam/

https://cdn.satellite.earth/d7887b7c4ff9f467957b785abd3ae2d27eac74b5f6fb41b8acd3c8ba186538de.mp4


Got these Nostr apps installed on my LineageOS powered phone. The experience is very different (better?) compared to iOS (which I use primarily).
The Amber app is really a game-changer for signing events from other apps.

What other apps should I add to tinker around with?

#askNostr
https://image.nostr.build/3bd9e9ecc370c009a0996d16d2814796438e341df7ebb2f7e071dae53091b2a0.jpg


#
PodcastTip about using (frontend) frameworks (and also agree why it’s hard to keep using them on the long-teem because dependency nightmares and it’s often too abstract as you’ll learn less how stuff works)

https://fountain.fm/episode/7SfF5rJ0MYrt39pSB3hm


Which like? No zap? 😅


Hello. I'm Alex. I should have introduced myself earlier, I guess.

I wish for a better world. I try to write code. I came across nostr and thought I can help. So here I am.

You can find my code here: https://codeberg.org/alex0jsan

Right now there's only one project in there, but I hope to have more in the future.

#introductions #devstr


Aaron Swartz would have loved nostr.

Effectively the culmination of his life’s work.

1999: At the age of 12, he co-authored the RSS 1.0 specification, which is a format for syndicating web content.

2000: Swartz became a member of the Creative Commons organization, which aims to expand the range of creative works available for others to build upon legally.

2002: He founded the Infogami platform, which later merged with Reddit.

2005: Swartz joined Reddit as a co-founder after a merger with Infogami.

2006: He left Reddit and began working on various projects, including the development of the web application framework, "Open Library," which aimed to create a web page for every book ever published.

2008: Swartz was involved in the development of the "Demand Progress" organization, which focused on issues related to internet freedom and government transparency.

 2010: He played a significant role in the campaign against the Stop Online Piracy Act (SOPA) and the Protect IP Act (PIPA), advocating for internet freedom. He also developed a tool that allowed users to download large amounts of data from PACER  (Public Access to Court Electronic Records), which was typically behind a paywall.

 2011: Swartz was arrested for downloading a large number of academic journal articles from JSTOR with the intent to distribute them freely.  The U.S. Attorney's Office in Massachusetts pursued the case against Swartz, and he faced the possibility of severe penalties, including up to 35 years in prison.

 2012: On January 11, Aaron Swartz tragically passed away at the age of 26. He allegedly took his own life due to the pressure of government prosecution.

https://cdn.satellite.earth/43780cc29e73f0ac8a226aba6e3ca93422a9022c4b27422995e5b99127d8d900.mp4


What’s X?


Nope No client does that (yet) afaik


You mean in the client you’re using which just shows you the maps link?


Yooo nostr:npub1m930ns0wrmzl9w5hxw003aejey5086hlk3jenw6uxheg9jplvv2qmz4fr3 👀


Geekie 🤓 it’s pretty neat don’t you think? I already had some engagements with others at mastodon instances while using my npub


🤩
nostr:note12heac7z54hx8qg5yneyffmp8c5hlqhje62ah559sczrq3rarj8tq98lpgd


🎠
https://image.nostr.build/a53fc81a79332daa860c11f0187325eca54715fdda3c3c688af3195dc20f04b1.jpg


What system is serving that blog! 🤓


That quite some space as working desk! I have less in my camper. Very nice, this is real PoW
As nostr:npub1gwa27rpgum8mr9d30msg8cv7kwj2lhav2nvmdwh3wqnsa5vnudxqlta2sz said, share more about your lifestyle, it’s really inspiring.


I’m always open to give my insights on certain questions / topics. And if it’s something I can build as a proof of concept I’m sure I can find some time for it. 🤙🏻


👀

Now wait on his first signed event? 🧐


GM


GM

https://vhs.charm.sh/vhs-5Fmi0Lmn2W9ktdDWuflDlV.gif

https://php-tui.github.io/php-tui/ #PHP


"Onward 🫡"

Onward 🫡


Onward 🫡

Onward 🫡


I installed zap.store for the first time on my second phone (LineageOS) today (I am on iOS daily). I was blown away what you’ve made, wow! Installing Citrine and Amber was absolutely smoothless. 👌🏻


Why not? 🤣


Woa wait 🤙🏻👀 I need to check that out because #PHP
nostr:note1f2ms550p8w49a8zts8ej2kcdxt9jl9eld6f2kdtsynhzus27c28qxa7w3r


Need to go home =) family time


PHPStorm


Does the chat work?


Maybe...someday...a proper NIP-52 webbased client
Looking at you nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf 🤓 no pressure 😆

https://shares.sebastix.dev/eNENXJCp.png

https://nuxstr.nostrver.se/nip-52


Nice!
I guess it will also show the audio-only events?


Just made some notes to myself here: https://nuxstr.nostrver.se/nip-52/ what I would like to see in a proper NIP-52 client.


This is a replaceable checkin event for place Sebastix


I guess Australia also needs a Nostr billboard in a couple of months.

https://shares.sebastix.dev/KTTIMx0t.png
https://xcancel.com/elonmusk/status/1834215798858207667

/cc nostr:npub1kmwdmhuxvafg05dyap3qmy42jpwztrv9p0uvey3a8803ahlwtmnsnhxqk9 nostr:npub18lzls4f6h46n43revlzvg6x06z8geww7uudhncfdttdtypduqnfsagugm3 nostr:npub13u20998frqs538lqf4kvhfrq9t69mk9e3aczfxc9pljze290yr4q86gkaz nostr:npub13v9zh6hka0heyh5w0ru0ptdyrauf3wx6w25fwxufnz9l0ptax60sg63rka


#hellthread 👋 cool nostriches to follow:

#design
nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q
nostr:npub10000003zmk89narqpczy4ff6rnuht2wu05na7kpnh3mak7z2tqzsv8vwqk

#podcast
nostr:npub1unmftuzmkpdjxyj4en8r63cm34uuvjn9hnxqz3nz6fls7l5jzzfqtvd0j2

#music
nostr:npub1a6c3jcdj23ptzcuflek8a04f4hc2cdkat95pd6n3r8jjrwyzrw0q43lfrr

#dev #tech
nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z
nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy
nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c
nostr:npub1q3sle0kvfsehgsuexttt3ugjd8xdklxfwwkh559wxckmzddywnws6cd26p
nostr:npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl
nostr:npub1j8y6tcdfw3q3f3h794s6un0gyc5742s0k5h5s2yqj0r70cpklqeqjavrvg
nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn

#art
nostr:npub12hcytyr8fumy3axde8wgeced523gyp6v6zczqktwuqeaztfc2xzsz3rdp4
nostr:npub1yp7wfa7msdpusf4vupzttttu2mx3cns7whx5cgkt4yr9pkpvujus2mzys7

#entertainmaint
nostr:npub1ymt2j3n8tesrlr0yhaheem6yyqmmwrr7actslurw6annls6vnrcslapxnz


Happy birthday nostr:npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft 🎉🥳🎉
nostr:note14vwkdy54exktd67gujmxrjett8n5gwwkxphj6alvh4nk9tkz379q3pc2a3


https://nstore.nostrver.se/3618a1cd6e223a764cb0b09639d118c401edd3503caeb319b913c18ae993f1e3.mp4
https://nstore.nostrver.se/b0655945f33af73810f6c2dfd37e17f3b7b349eea59783f31c5db0147c239223.jpeg

Not easy to capture the ad in the evening 📸  #NostrMarketing

The Nostr billboard ad is live till Monday.
Location 🇳🇱 https://www.google.nl/maps/@51.5544315,4.5607291,3a,75y,34.72h,93.02t/data=!3m6!1e1!3m4!1sdQv9nm3J9SdUQCD0caFR-g!2e0!7i16384!8i8192?coh=205409&entry=ttu

This is the repo with all the assets: https://gitlab.com/sebastix-group/nostr/nostr-ads


Yes, we need proper NIP-52 clients for managing calendar events and scheduled activities plus RSVPs.
At the moment it’s not easy to manage them…
nostr:note1pe7knc4s2k646lkac52jt958270wjmlnm8ews90xgtcj7mcx7z0ss5agq0


Yes we need it.
I was digging into NIP-52 earlier this week and all the events out there are quite a mess using different fields and tags.


+1 😅


Interesting.

The native apps made wih Flutter of the project was indeed pretty fast.

I know you can build webstuff with it ad well, but I don’t know any references. Do you?


Who can recommend me more cool #Nostriches for my #Nostr #Art Book and the different categories!? nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 , nostr:npub134d6jtyveg74cuuj7qun4v2m6r7x7c6ryk69z4q7pa7f43kran2sl2yggk , nostr:npub1rjtrs7xqdvj3588r9njrexh2n750j7jdwx9qs543nutmdsj6ljaqpfmp8a , nostr:npub19m7m3rs66pfdn4ewhrm8slh60ukyxgrylaa03m73wa40j39lc03syq4gfu , nostr:npub19r9qrxmckj2vyk5a5ttyt966s5qu06vmzyczuh97wj8wtyluktxqymeukr , nostr:npub1jk9h2jsa8hjmtm9qlcca942473gnyhuynz5rmgve0dlu6hpeazxqc3lqz7 , nostr:npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe , nostr:npub1n0pdxnwa4q7eg2slm5m2wjrln2hvwsxmyn48juedjr3c85va99yqc5pfp6 , nostr:npub1hw6amg8p24ne08c9gdq8hhpqx0t0pwanpae9z25crn7m9uy7yarse465gr , nostr:npub1vjl6n2llukcc6pe3am2hkwqh8twzh2ymlp7pdrdfq5tlqg08y26sd7ygzx https://i.nostr.build/uirJQkstW3CFzv5Y.jpg  nostr:note1sn73pnqk6tqcyksx6r0r37ss9h4l97h3yc80d0fmlmhfajkll5eqlnuq4c


Fantastic!! I use Tailscale already for many years which uses the Wireguard protocol 👌🏻


from nostrudel


"Onward 🫡"

Onward 🫡


https://m.primal.net/KniE.png
It’s official – Nostrdam is back for its 3rd edition at Braai! 🍻💻
🎶
A day of talks, collaboration, and community! Dive into decentralization, tech, & Nostr with an afternoon of discussions, a hackathon, & live music to wrap up the evening!

📅 October 8th (The day before Bitcoin Amsterdam)
📍 Restaurant Braai, Westerpark
🕐 1:00 PM - 12:00 AM
🎟 Tickets: €39.99 (incl. dinner)
⛓💥 connecttheworld.live/nostrdam

Start the Bitcoin Amsterdam week right!
Get yours here: www.bitkassa.nl/nostrdam

👨💻 Hackathon: Sign up for a chance to win 1M satoshis in bounties!

It's perfect for seasoned devs & curious minds alike. Bring your laptop and join us on the terrace for an afternoon of collaboration!

Expect insightful talks on privacy, tech, and the Nostr landscape! Panels will be packed with practical solutions & real experiences. And don't miss the live music to unwind after a day of hacking! 🎶

Sign up: docs.google.com/forms/d/e/1FAIpQLSeS_4KJyqv_JI7psgfqYywO9UXEfcxDGYYIExH9oD-SGQBepQ/viewform?usp=sf_link


Ah that explains a lot! Haha


No audio…here 😅


What nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 said, the iOS client Nostur highlights this and show you the current streaming activities from npubs you follow.


Also not forget nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 🤙🏻


Courage 👏🤙🏻 good luck!
nostr:note1mhnqm00rvaay8vepfwjfv2l6shfa05yml3chqz5m2tyylw9th2vqt89zn3


nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m saw this already 2 years ago


And already 81 pages, you're nailing it!


Yes, but I'm doing something wrong there! 🤟 😄
nostr:nevent1qvzqqqqqqypzqsa64uxz3ek0kx2mzlhqs0seavay4l06c4xek6a0zup8pmge8c6vqqszupglkjzyt3m4tf6pvfsy7kh3swxjx7lflydehfnkp7l9v9uz73s0tgw6g


As a runner you will need a decent amount of carbs right? 😃
Some friends followed a carnivore diet, but what I've learned from them this diet would not fit my needs as a cyclist doing endurance activities.

That said, I'm completely blank on this topic so I'm curious there are ways to keep your carbs high enough 😄


Formatting as in styling? There are not much options for formatting Markdown included images...🤓


🥸 My first reaction to this update? We have Blossom... 👀 without any restrictions

https://bsky.social/about/blog/09-11-2024-video

nostr:nevent1qvzqqqqqqypzq4hmxp8uj7zcfhej56vlpcuzd7yzd9knqv2cwvtg7gaka9p7jj3rqqsxrwvzghnzpk2nfs82xjjg3rhsvultfsvfzjpkpss2pzncw22gwrggw0u79


You can't buy them hehe /cc @GhostLimburg3rt @Brinkie Noderunner


You can't buy them hehe /cc nostr:npub1l9evr9vx4u2xefesmfu6gyypfdu7k8zwdw7rrnh5ckdds8fqx59sy3ferg nostr:npub1nj5v9hfxegyuqz4z9vfpgu9lxpgald066wspxadywmhslasuw2gsnyrxzg


Ah it’s online I see, maybe I can catch up with some keynotes but I need to checkout the agenda first 😅


Great post!

Question for nostr:npub1kuy0wwf0tzzqvgfv8zpw0vaupkds3430jhapwrgfjyn7ecnhpe0qj9kdj8: why is your article not broadcasted to the Nostr network? 👀
nostr:note1vf43lvfe6tq80jv0ln7vn86m4svuzdqs5ynsru0g0dgmpp2ltdksrpepap


Are you attending?


We don’t need a Nostr marketing team

We do need a Nostr growth team.

nostr:npub1kuy0wwf0tzzqvgfv8zpw0vaupkds3430jhapwrgfjyn7ecnhpe0qj9kdj8  just published a good essay discussing whether Nostr needs a marketing team. I believe the answer is yes—but not marketing in the same way cryptocurrency projects have typically approached it.

https://www.curiousdk.com/p/6885aeab-251e-412b-bbba-1a0b09896558

We don’t need people running around buying ads. While having booths at conferences is beneficial for a community-driven project, I'm skeptical about the value of billboards or sponsoring athletes as ways to promote Nostr. It’s fun, sure, but it mostly reaches people who are already aware of it.

What we really need is a focused initiative to grow Nostr—distinct from the fantastic teams already building Nostr itself. In a typical company, this would be the Growth Team. They’d focus on how people discover and learn about Nostr, the path they take to join, how they choose their app, what their experience is when signing up, whether they find engaging content, and how to ensure they stick around and invite others. This is not to dismiss the great work OpenSats and HRF are doing, but a growth team is something distinct.

Each app can handle some of this, and that's working to an extent. But Nostr is more than just a collection of apps using shared code. It’s a network that becomes more valuable with every new app built on Nostr. For example, when a user joins Primal, it enhances the experience for Amethyst users, but it also becomes much more interesting for someone using YakiHonne or Zap.streams.

So, we need people focused on cultivating the Nostr ecosystem. This isn’t marketing in the traditional sense, like buying ads, but more of a Nostr Community Growth Team. We need people who can work with creators and community founders to help them get started on Nostr. There’s a lot to grasp, and some hand-holding will be necessary.

We also need better internal Nostr news—something like nostr:npub19mduaf5569jx9xz555jcx3v06mvktvtpu0zgk47n4lcpjsz43zzqhj6vzk  but aimed at two different audiences. First, for users, fans, and developers on Nostr: how do you keep track of all the projects and what's happening? There’s so much going on that it’s hard to follow. The second is external: we’re doing tons of incredible stuff, and we should be building excitement about Nostr by showcasing these amazing projects and content to the wider world.

The team at nostr:npub1w9wuqc3s6lr25c4sgj52werj3tngvt43qrccqrher4wvn7tjm32s2ck403  does cover Nostr, which is awesome, but their focus is on multiple social media protocols. Journalists write when they feel there's news to break, and we haven’t been doing a great job feeding stories to them. We can improve on this. One initiative coming out of Nostriga is better coordination on getting Nostr folks on podcasts, especially beyond the Bitcoin bubble where most people have heard of Nostr.

At Nostriga, I talked to a lot of people about how Nostr keeps being framed as an alt-right protocol in the media. That’s simply not true, but we need to work on changing that narrative. Nostr is for everybody, how Nostr is framed does matter. People don’t join a social app because of its functionality, they join because of the other people who are already on the app. Projects like Trustroots.io, Causes.com, and Protest.net will help showcase a different side of Nostr and build new communities beyond our Bitcoin-focused core.

Nostr has already grown in new languages and communities, thanks to creators sharing about it on centralized platforms. We saw this with the Thai community—it’s fantastic. Let’s develop a program to support these creators. We’ve been discussing with nostr:npub13qrrw2h4z52m7jh0spefrwtysl4psfkfv6j4j672se5hkhvtyw7qu0almy  how she wants a space to onboard her fans into a community together. There’s a lot of promise in Ditto, which I’m excited about—I’ve set up an instance at social.protest.net. What if we helped each of these creators build their own communities on Nostr? From that initial onboarding, their community would be able to connect across all Nostr apps.

This isn’t exactly traditional marketing—it’s more like cultivating and nurturing a healthy Nostr ecosystem.

If we make it easy for communities to create their own spaces on Nostr, we can grow organically in countless directions. Every new user will feel ownership and be inspired to bring more people along. To achieve that growth, we need to lay the groundwork. We’ve got the apps, but we need to work with the people. After all, we’re building social software, and both the technology and the people are equally important.


GM ☕
Nostr pin from nostr:npub1yp7wfa7msdpusf4vupzttttu2mx3cns7whx5cgkt4yr9pkpvujus2mzys7 🤙🏻
Dutch Noderunners pin I got from nostr:npub1cwzduskqu6yuxjs2a75uptj3vzfa84gv5q3xlkcpzs6usjfey24qvk70dv
https://image.nostr.build/b8548e262f8ba3a32023416bafe06f1b58040e12d0627e4d5e447ed4a65f90f2.jpg


"Great post 👍"

Great post 👍


And don't forget to check https://geyser.fund/project/nostrboothbitcoinamsterdam too!
Already 29 contributors donated more than 780k sats! 🙏

nostr:nevent1qvzqqqqqqypzqsa64uxz3ek0kx2mzlhqs0seavay4l06c4xek6a0zup8pmge8c6vqqsffn6we9z6emvtv096ffaatctuqqdk8qgj0w54ss7v72lenm5jl4c7lnary


Congrats nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c 🤙🏻


Cryptography, the Commons and Proof of Place.

https://i.nostr.build/CpjkGYRfTAOZyTal.jpg

https://highlighter.com/a/naddr1qvzqqqr4gupzp384u7n44r8rdq74988lqcmggww998jjg0rtzfd6dpufrxy9djk8qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qq2nya2z2akk6j60w9jz6vpeweg4vn2g8pvrqzwws2x

https://yakihonne.com/article/naddr1qvzqqqr4gupzp384u7n44r8rdq74988lqcmggww998jjg0rtzfd6dpufrxy9djk8qq2nya2z2akk6j60w9jz6vpeweg4vn2g8pvrq6c73gs


Just rolled out some small updates on https://nostr-php.dev/
- added a favicon
- added Matomo for analytics which can be viewed by anyone at https://matomo.sebastix.nl/
- added a new reference: Craft CMS Nostr Kit plugin made by nostr:npub102alxpn4xmrtwrau3tqevhjgth8xaweatsf94tpy30q0ayrvdqvq6xnsm5


Nice widget there!


Full dump of nostr events collected by nostr.band crawler for you to play with (550Gb): https://media.nostr.band/events.jsonl.gz

If you wanted to do research, data analytics, calculate stats, etc - that's your chance.

Contents:
- 550Gb of nostr events in jsonl format, gzipped
- no data about source relay
- some event kinds are absent (DMs, other encrypted stuff, ephemeral)
- some duplicates are possible

Will publish regular updates on this data set if someone makes anything useful out of it.

Thanks nostr:npub1mygerccwqpzyh9pvp6pv44rskv40zutkfs38t0hqhkvnwlhagp6s3psn5p for the push.


Nice 🤙🏻

What did you move into Python?


nostr:npub1cesrkrcuelkxyhvupzm48e8hwn4005w0ya5jyvf9kh75mfegqx0q4kt37c 💡


"Onward 🫡"

Onward 🫡


GM ☕


# Bye-Bye Reply Guy

There is a camp of nostr developers that believe spam filtering needs to be done by relays.
Or at the very least by DVMs. I concur. In this way, once you configure what you want to see,
it applies to all nostr clients.

But we are not there yet.

In the mean time we have ReplyGuy, and gossip needed some changes to deal with it.

## Strategies in Short

1. **WEB OF TRUST**:  Only accept events from people you follow, or people they follow - this avoids new people entirely until somebody else that you follow friends them first, which is too restrictive for some people.
2. **TRUSTED RELAYS**:  Allow every post from relays that you trust to do good spam filtering.
3. **REJECT FRESH PUBKEYS**: Only accept events from people you have seen before - this allows you to find new people, but you will miss their very first post (their second post must count as someone you have seen before, even if you discarded the first post)
4. **PATTERN MATCHING**: Scan for known spam phrases and words and block those events, either on content or metadata or both or more.
6. **TIE-IN TO EXTERNAL SYSTEMS**: Require a valid NIP-05, or other nostr event binding their identity to some external identity
7. **PROOF OF WORK**: Require a minimum proof-of-work

All of these strategies are useful, but they have to be combined properly.

## filter.rhai

Gossip loads a file called "filter.rhai" in your gossip directory if it exists.  It must be a Rhai language script that meets certain requirements (see the example in the gossip source code directory).  Then it applies it to filter spam.

This spam filtering code is being updated currently. It is not even on unstable yet, but it will be there probably tomorrow sometime. Then to master. Eventually to a release.

Here is an example using all of the techniques listed above:

```rhai
// This is a sample spam filtering script for the gossip nostr
// client. The language is called Rhai, details are at:
// https://rhai.rs/book/
//
// For gossip to find your spam filtering script, put it in
// your gossip profile directory. See
//     https://docs.rs/dirs/latest/dirs/fn.data_dir.html
// to find the base directory. A subdirectory "gossip" is your
// gossip data directory which for most people is their profile
// directory too. (Note: if you use a GOSSIP_PROFILE, you'll
// need to put it one directory deeper into that profile
// directory).
//
// This filter is used to filter out and refuse to process
// incoming events as they flow in from relays, and also to
// filter which events get/ displayed in certain circumstances.
// It is only run on feed-displayable event kinds, and only by
// authors you are not following. In case of error, nothing is
// filtered.
//
// You must define a function called 'filter' which returns one
// of these constant values:
//   DENY (the event is filtered out)
//   ALLOW (the event is allowed through)
//   MUTE (the event is filtered out, and the author is
//         automatically muted)
//
// Your script will be provided the following global variables:
//   'caller'        - a string that is one of "Process",
//                     "Thread", "Inbox" or "Global" indicating
//                     which part of the code is running your
//                     script
//   'content'       - the event content as a string
//   'id'            - the event ID, as a hex string
//   'kind'          - the event kind as an integer
//   'muted'         - if the author is in your mute list
//   'name'          - if we have it, the name of the author
//                     (or your petname), else an empty string
//   'nip05valid'    - whether nip05 is valid for the author,
//                     as a boolean
//   'pow'           - the Proof of Work on the event
//   'pubkey'        - the event author public key, as a hex
//                     string
//   'seconds_known' - the number of seconds that the author
//                     of the event has been known to gossip
//   'spamsafe'      - true only if the event came in from a
//                     relay marked as SpamSafe during Process
//                     (even if the global setting for SpamSafe
//                     is off)

fn filter() {

    // Show spam on global
    // (global events are ephemeral; these won't grow the
    // database)
    if caller=="Global" {
        return ALLOW;
    }

    // Block ReplyGuy
    if name.contains("ReplyGuy") || name.contains("ReplyGal") {
        return DENY;
    }

    // Block known DM spam
    // (giftwraps are unwrapped before the content is passed to
    //  this script)
    if content.to_lower().contains(
      "Mr. Gift and Mrs. Wrap under the tree, KISSING!"
    ) {
        return DENY;
    }

    // Reject events from new pubkeys, unless they have a high
    // PoW or we somehow already have a nip05valid for them
    //
    // If this turns out to be a legit person, we will start
    // hearing their events 2 seconds from now, so we will
    // only miss their very first event.
    if seconds_known <= 2 && pow < 25 && !nip05valid {
        return DENY;
    }

    // Mute offensive people
    if content.to_lower().contains(" kike") ||
        content.to_lower().contains("kike ") ||
        content.to_lower().contains(" nigger") ||
        content.to_lower().contains("nigger ") ||
    {
        return MUTE;
    }

    // Reject events from muted people
    //
    // Gossip already does this internally, and since we are
    // not Process, this is rather redundant. But this works
    // as an example.
    if muted {
        return DENY;
    }

    // Accept if the PoW is large enough
    if pow >= 25 {
        return ALLOW
    }

    // Accept if their NIP-05 is valid
    if nip05valid {
        return ALLOW;
    }

    // Accept if the event came through a spamsafe relay
    if spamsafe {
        return ALLOW;
    }

    // Reject the rest
    DENY
}
```


It’s a Vue component, but I’m sure this can be a neat (vanilla js) web component as well /cc nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6


Calendar events with RSVP feature?


Little experiment, fetching my latest note from my personal relay with my Telegram bot. Powered by #PHP and #Symfony in the backend.

https://shares.sebastix.dev/4vnXjTRk.png


Deployed 🚀💯
nostr:nevent1qqsgm82rsm3l9d27l3q7hrseaug90l67ng6skmy4stvcryca5j7ymaqppemhxue69uhkummn9ekx7mp0qgsqvcu68pkfcyq5y9mz9n9u7sys33835rpnuglc6mtg7j4lv40c7ugrqsqqqqqpemcdtr


Don’t forget nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 https://nostrdam.com

And did you know you can tag nostr:npub13e6qu4kdjsyysrfl5an558rawvqg0rx2xuat9ca706spcdqjzhuqq6md43 ?


Working out a RSVP to Calendar event #Vue component for https://nostrdam.com #Nostrdam
nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 nostr:npub13e6qu4kdjsyysrfl5an558rawvqg0rx2xuat9ca706spcdqjzhuqq6md43

https://shares.sebastix.dev/3ICI57mR.mp4


Do you prefer using PWAs over native apps?


Are you a girl and a guy?


GM to all the ReplyGuys and ReplyGirls


That went fast! 👏👏👏


Very special 🙏


Who remembers phpBB?
nostr:note1ngpxufnz4m49ppdyprlf58rn72xvleqwkrzch5yxe65tuxf3ahcq6fy5rc


Join the Nostr Special Forces!
https://njump.me/nevent1qqsywfegvh0al5v3yvr3evhxex7nfcypltzg3u8mg4wdgetn8rqy98spz4mhxue69uhhyetvv9ujumn0wd68ytnwv46qz9nhwden5te0wfjkccte9ec8y6tdv9kzumn9wsq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7qg5waehxw309aex2mrp0yhxgctdw4eju6t0qgsfv7kj334v7k87ys5fsaw3qsg4kyh8mgfmfddlktamfux2x23y4xcv68alx

🔂 cross-posted from https://ccns.nostrver.se


Your relay is awesome, its canonical should be too
https://github.com/sandwichfarm/myrelay.page

🔂 cross-posted from https://ccns.nostrver.se


Defend FOSS: we need to remind the world what we're about by nostr:npub195uhs08upw4rcxe9hz5px4ynfnchd3wtxd8kwl8a5k3zpnufzy4qhgwjp0

https://www.youtube.com/watch?v=_5EH1rD6Gvc


Join the Nostr Special Forces!
We are looking to put aimless developers to work on a new client, under the guidance of experienced Nostr developers.
Contact us at NostrSF@protonmail.com, deadline October 18th
For more info, see this video.

https://cdn.satellite.earth/c6bc1c01e6e334b83e25cdbcfe9256f17170dcfb786a3bf651328342c64d0fed.mp4


Some are talking about the Nostr billboard ad which is currently displayed here in 🇳🇱 at Bluesky 🤓

https://bsky.app/profile/mackuba.eu/post/3l3o5vqskht2c


Nostrifying Peertube would be awesome, especially with full Blossom integration.

Or extending flare.pub with a Blossom only integration...


Thanks

Thanks


I was involved for two years as a product owner of building a Flutter app (proudwheels.com) in '21 and '22. All junior devs on the project, there was just one senior back then.
Flutter is better than using React Native imo, but there are indeed not much devs out there who have a real senior experise with Flutter / Dart.
But if you're an indiedev and would like to use a hybrid framework for building 1 codebase for all your distributions, then Flutter is a good choose. I think the ecosystem is still growing.


You have to learn a new language


My advice: don’t do marketing for Nostr. Have you ever seen advertisments for a protocol? It doesn’t make any sense. Nobody will get a clue what this ad is about. #KeepNostrWeird
All the responses were overwhelming yesterday after I posted a crappy photo and video of a Nostr ad on a LED board, thank you all 🙏
Many of you liked the ostrich with the torch. That was an idea of nostr:npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft who created the image with AI.
https://nstore.nostrver.se/a297594ee7e160762c58b8866d61a0386ce9b95ef665172c86b36ef64e48a0ed.jpeg

To all the new people who started to follow me, let me #introductions myself. I’m Sebastian (37y) from 🇳🇱 and a self-taught creative webdeveloper. I work as an independent entrepreneur for clients with #Drupal sites. Beside that work I’m also the maintainer of the nostr:npub1phpdev2d38u5hzs4jrsh360mevh0rjctu9669quy97wu23u8sqdqpfha0j library supported with a nostr:npub10pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqyfn34f grant.

Now going back to that weird Nostr ad I made, I’ve created a repository where you can find all the files and assets I used: https://gitlab.com/sebastix-group/nostr/nostr-ads. I would like to encourage everyone to re-use these for other (new) marketing purposes which the protocol doesn’t need 😉 I would love to see other weird places with Nostr ads.
Sorry for my crappy footage yesterday. I hope these are better:
https://nstore.nostrver.se/92e4a9bd39d4e1069602d09e076e9f75611e180fb9c4b1966ff795605b418d2c.mp4
https://nstore.nostrver.se/de756ec9ef8cdfc628bcda6990cf1b979fbda339e8f69452de4edcda80fa6e31.jpeg
https://nstore.nostrver.se/70671bf1dd90221d7a8fa46d6b3e7c6b4fb94ea28dca347478e7ea456610da2c.jpeg

And for those who are asking of this is real. YES! It's real. You can verify it yourself by visiting this location: https://www.google.nl/maps/@51.5542896,4.5605912,3a,75y,25.08h,92.09t/data=!3m6!1e1!3m4!1sJawm7eqppFco4HiCZ4pLrQ!2e0!7i16384!8i8192?coh=205409&entry=ttu&g_ep=EgoyMDI0MDkwMi4wIKXMDSoASAFQAw%3D%3D

#NostrMarketing


YakiHonne Smart Widgets for Smarter Connections


"Zap ‘em⚡"

Zap ‘em⚡


"Onward 🫡"

Onward 🫡


🫡 nostr:npub18lzls4f6h46n43revlzvg6x06z8geww7uudhncfdttdtypduqnfsagugm3 nostr:npub1rg3adrxmz357cy540xplsz89v232l64wz7utp640zv0qhp98339qt2d3r2 nostr:npub13v9zh6hka0heyh5w0ru0ptdyrauf3wx6w25fwxufnz9l0ptax60sg63rka nostr:npub13u20998frqs538lqf4kvhfrq9t69mk9e3aczfxc9pljze290yr4q86gkaz

https://geyser.fund/project/nostrifybrazil

Thanks for the shout-out for the Nostr billboard ad which is still active in The Netherlands for next week!

https://nstore.nostrver.se/258efa75d969e4d69c1d383f41601f5bbc90e0c220db3e62af88e10c8dd0d558.gif


This is not something about being right or wrong. Or white or black. Or left or right. Or winning or losing. Etc. Nostr is && not !==


That’s one of a kind memory 🤙🏻


I don’t agree with you regarding nos.social, but it’s fine to have an opinion.

Nostr is for everyone.


Power to nitch / common focused networks
nostr:note1vmr5pj6pdac5q5e9ttp3d47adagfku22e20732ndyfe09tx6p8kset2qnt


Strava 👀


"You rock"

You rock


My favorite bookstore Dominicanen

#Maastricht

Anyone with a #BookTip?
https://image.nostr.build/6ed1f712d79007f00aa053c45e7f1f686d43fde454a04eff5ac7440cdad5d373.jpg
https://image.nostr.build/51eb182669e130c2b0a856228316313adc9f839645a3bbc63101f766b0dcd8ac.jpg


Always nice to find this the day after 😅 #Gravel
https://image.nostr.build/4a1072e13c73e577a738b0f05a20502494da53f7165b474e1a2267ebfec50a77.jpg


Constraints empowers focus. It will make it easier for you to say No. Do what matters. It will makes your efforts more worth it.

This was a long but great podcast episode.
nostr:note1vmcyuq6pu0ze5zc0y9ze7saxg03prkmkdjw2cnk9gm46t29m9cwq65l695


💯
nostr:note18csa0uc785yr57phl45zkle8xm73xc8er3j7z7jay85zxh06z4hsdtcvjl


"To infinity 🫡"

To infinity 🫡


Onward 🫡

Onward 🫡


Do you care about the privacy of your anus? Watch this 😆

https://youtu.be/woLQ7jAE8RI


LFG 🫡 This is epic 🤙🏻
nostr:note1utdlltng245fv2e87ymkrjeyjx463ak6vsca5nuqmwwpddd3ddnqyuc98r


🇧🇷 To celebrate Brazilian independence day (Sep 7th), help us educate Brazilians about Nostr.

Let's Nostrify Brazil with Billboad placements. The more funds, the more Billboards. 🦩

https://geyser.fund/project/nostrifybrazil

nostr:note1l0g3g49xg7qsgl3k7nlzmfe4efsn0ky38qvs59p2r4y74ksx5x4s78txn8


This was a very good day on the bike 🤙🏻☀

#Gravel #Nostrides
https://image.nostr.build/43b7aa233ff685a7a85c13c80decb57e083479f9615c88935eeda686b980fbcc.jpg
https://image.nostr.build/08d56edd16dc308215f815f298ea0029f2dea876d159a8572853ca1373cc33b5.jpg
https://image.nostr.build/05ad185fe840ae6fe015fc623e399c1b8c79ae87730a40d010521adc21868efe.jpg
https://image.nostr.build/784cf8f3ed8e1bd4b1dba669a76235b9400753f72007d6f4315a39204e18c41b.jpg
https://image.nostr.build/c132d3cb847e144002b65950b6fdced6a5958c649cd5e9ab4895f9adb2d62f88.jpg
https://image.nostr.build/a588fcf5487eaf2af13d4b65d003253df0527f084643958776457f2d76108e0d.jpg


"Onward 🫡"

Onward 🫡


"Coffee on me ☕"

Coffee on me ☕


Gebruik ik niet meer, hartslagmeter 😅


Going easy, this is going to be a hard and long one #nostrides #gravel

https://image.nostr.build/ecf9efa349db0613c4fb72fa6a56bcdf7e7c6efc6820931853bdc230b494c496.jpg


GM #Gravel
https://image.nostr.build/c0208f0efdbf3031398d20cc1b2e8203b36a5fe28d91bef1e19d6633798f7cee.jpg


It still fascinates me that some people find it hard to believe this is a real billboard advertisment 👀😄
nostr:note1l0g3g49xg7qsgl3k7nlzmfe4efsn0ky38qvs59p2r4y74ksx5x4s78txn8


Thanks 🤙🏻
This can help I hope: note1cltj3kkaz5q432wyxc58k8j7tdfgl2xj3zk8deghwqq6zn3wzc0scth4jj

All files are in the repo https://gitlab.com/sebastix-group/nostr/nostr-ads


Let's go 🚀

Let's go 🚀


“Has Open Source Won if We Sacrifice a Freedom? A Report from Drupaljam Utrecht” by nostr:npub195uhs08upw4rcxe9hz5px4ynfnchd3wtxd8kwl8a5k3zpnufzy4qhgwjp0

As our free will is always under pressure,  it also applies to the freedoms of FOSS.

https://typo3.org/article/has-open-source-won-if-we-sacrifice-a-freedom-a-report-from-drupaljam-utrecht

#Drupal


Thanks nostr:npub17h7h2jzhq3hn06h93jvz67sfjxaq3jvk7kenjrazht28aun33hks42sd76  for the #NostrBooth shout-out we're setting up for nostr:npub13e6qu4kdjsyysrfl5an558rawvqg0rx2xuat9ca706spcdqjzhuqq6md43  (October 9 & 10)

https://cdn.satellite.earth/4d24bf3f574e6c1d36f44de851afacdaf7793d1b250e3148028fefaa787d0ca3.mp4

More about this initiative and our fundraiser goals:
https://geyser.fund/project/nostrboothbitcoinamsterdam/

I'm very humbled to be part of this project collaborating with nostr:npub17plqkxhsv66g8quxxc9p5t9mxazzn20m426exqnl8lxnh5a4cdns7jezx0  nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424  nostr:npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft  nostr:npub1gwa27rpgum8mr9d30msg8cv7kwj2lhav2nvmdwh3wqnsa5vnudxqlta2sz  nostr:npub1equrmqway3qxw3dkssymusxkwgwrqypfgeqx0lx9pgjam7gnj4ysaqhkj6  nostr:npub1hw6amg8p24ne08c9gdq8hhpqx0t0pwanpae9z25crn7m9uy7yarse465gr  nostr:npub14qpe36rvq0l6m3crplsntmnkzjm04weqflq0veqc8ra5hz4lpvxqqkdffc  nostr:npub1t6jxfqz9hv0lygn9thwndekuahwyxkgvycyscjrtauuw73gd5k7sqvksrw  nostr:npub1qg5a5l3t7pakmm4r4up2e764xecsw62fk3rntevm24fwyczhndtsdrvc4x  nostr:npub14wxtsrj7g2jugh70pfkzjln43vgn4p7655pgky9j9w9d75u465pqvagcye  nostr:npub1fldgkyxjm92mr7zlrejmhd3ymlzx2awhpxpwserzl5v2w7a7a93q0n7wu7  nostr:npub12hcytyr8fumy3axde8wgeced523gyp6v6zczqktwuqeaztfc2xzsz3rdp4


That’s a pretty badass achievement 👊🏻 starting with 350+ BitAxea seems to be a solid start


Using it for more than a year now 🫡


Worth the listen. It was my first time hearing Peters Levels talk and it seems to me we have much in common on the programming stuff #PHP

https://fountain.fm/episode/CUvBuBXQKMO7AVD3O7ge


/cc nostr:npub1arkn0xxxll4llgy9qxkrncn3vc4l69s0dz8ef3zadykcwe7ax3dqrrh43w nostr:npub1cn670f663n3ks02jnnlsvd5y88zjnefy8343ykaxs7y3nzzketrsrjwt8a

What is the wsg84 spec? 👀


world peace is inevitable

world peace is inevitable


🙏
nostr:note1uu34yu2fn57sszzvm6r9qgfzykdj6nfcxshlmmlp28yx40undvrqfw8rjf


It was really a pleasure and honour meeting you and nostr:npub1jvnpg4c6ljadf5t6ry0w9q0rnm4mksde87kglkrc993z46c39axsgq89sc! Thanks for your time and you're come to revisit Amsterdam next year October so you can attend the 3rd edition of #Nostrdam 😀

Thanks for this picture as well!
https://nstore.nostrver.se/f0e1b3dc3efa6eeacb625649d6047ad0b490eea69262f616443a4be92f3135dd.jpeg

nostr:nevent1qvzqqqqqqypzqprpljlvcnpnw3pejvkkhrc3y6wvmd7vjuad0fg2ud3dky66gaxaqqsv0u9n3vm84ffgm4cfkxkh338uy89xmpqvy97gxzlunk4g70gmy3gst0mcp


For all the webdevs: new Performance Panel features in Chrome DevTools
https://www.debugbear.com/blog/fix-web-performance-devtools

#WebDev #NostrDev


I guess we already have more event kinds than tokens 😜


Testing things out with the nostr:npub10qdp2fc9ta6vraczxrcs8prqnv69fru2k6s2dj48gqjcylulmtjsg9arpj powered  https://sebastix.social Nostr client + relay

Meet this new npub of my nostr:npub1dtmmyqgx9tkvzt9wjst5kmtaf6h5c8lpmhazv0nmlxanx59gsvqq9kjvt0 🏎

nostr:nevent1qvzqqqqqqypzq6hhkgqsv2hvcyk2a9qhfdkh6n40fs07rh06ycl8h7dmxdg23qcqqqs2pswye8xkpd6nyw533ayyq07xq357k7fzf832afsug5q4emu322gccxj9r


How many bugs may I bring to you 🤓 you found some real Dutch highlights there haha


🤙🏻 enjoy your day and I bet it’s going to be a good one!


Only on ideas but we need it. Content curated by parents who you can trust. An alternative for YouTube Kids. I wrote some words on this in the past

https://sebastix.nl/blog/why-social-networks-should-be-based-on-commons/

“Child-friendly apps

As a father of two little daughters I would like to use real child-friendly apps when they ask me to view some video for example.
As far as I know, YouTube Kids is the least bad app. The app only works with Google services and a Google account (that’s evil). And when in use it’s obvious to see the dark-pattern design tricks nudging my kids. Educative content publishers for children should be aware of this and take the lead with providing content through child-friendly apps. It should be a clear goal for them to make BigTech absolute when it comes to raising our kids.
Another (maybe better) way is to create a community with parents where we can aggregate and curate content for our kids through an app.”

Nostrifying PeerTube would be an option


"Onward 🫡"

Onward 🫡


I’m using a separate label / tag in my mail client for that which I go through once a week

But yes, it’s a lot which is the signal that Nostr is alive 🤓


GM


GM ☕
nostr:note1cltj3kkaz5q432wyxc58k8j7tdfgl2xj3zk8deghwqq6zn3wzc0scth4jj


Into the light I command thee

Into the light I command thee


🤙🏻 welcome! Not billionares indeed.

https://nstore.nostrver.se/de756ec9ef8cdfc628bcda6990cf1b979fbda339e8f69452de4edcda80fa6e31.jpeg


Onward 🫡

Onward 🫡


My advice: don’t do marketing for Nostr. Have you ever seen advertisments for a protocol? It doesn’t make any sense. Nobody will get a clue what this ad is about. #KeepNostrWeird
All the responses were overwhelming yesterday after I posted a crappy photo and video of a Nostr ad on a LED board, thank you all 🙏
Many of you liked the ostrich with the torch. That was an idea of nostr:npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft who created the image with AI.
https://nstore.nostrver.se/a297594ee7e160762c58b8866d61a0386ce9b95ef665172c86b36ef64e48a0ed.jpeg

To all the new people who started to follow me, let me #introductions myself. I’m Sebastian (37y) from 🇳🇱 and a self-taught creative webdeveloper. I work as an independent entrepreneur for clients with #Drupal sites. Beside that work I’m also the maintainer of the nostr:npub1phpdev2d38u5hzs4jrsh360mevh0rjctu9669quy97wu23u8sqdqpfha0j library supported with a nostr:npub10pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqyfn34f grant.

Now going back to that weird Nostr ad I made, I’ve created a repository where you can find all the files and assets I used: https://gitlab.com/sebastix-group/nostr/nostr-ads. I would like to encourage everyone to re-use these for other (new) marketing purposes which the protocol doesn’t need 😉 I would love to see other weird places with Nostr ads.
Sorry for my crappy footage yesterday. I hope these are better:
https://nstore.nostrver.se/92e4a9bd39d4e1069602d09e076e9f75611e180fb9c4b1966ff795605b418d2c.mp4
https://nstore.nostrver.se/de756ec9ef8cdfc628bcda6990cf1b979fbda339e8f69452de4edcda80fa6e31.jpeg
https://nstore.nostrver.se/70671bf1dd90221d7a8fa46d6b3e7c6b4fb94ea28dca347478e7ea456610da2c.jpeg

And for those who are asking of this is real. YES! It's real. You can verify it yourself by visiting this location: https://www.google.nl/maps/@51.5542896,4.5605912,3a,75y,25.08h,92.09t/data=!3m6!1e1!3m4!1sJawm7eqppFco4HiCZ4pLrQ!2e0!7i16384!8i8192?coh=205409&entry=ttu&g_ep=EgoyMDI0MDkwMi4wIKXMDSoASAFQAw%3D%3D

#NostrMarketing


Just a nitch client showing these NIP-34 related events (notifications) would be very helpful to have 👀
This can replace all the emails I have sorted out with labels from Github and Gitlab issues and Drupal.org issues (which is many)


It takes courage 🤙🏻


This is better with a real camera 📷 #NostrMarketing
https://image.nostr.build/d11a7f15289428872fe6a77caa7b2ab03537953d8af025be35c4c0a6f13465de.jpg


Keep an eye on https://nostrdam.com for sure


#Nostrdam is Sexy 💋 nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 #Nostr https://i.nostr.build/S86GclsC5p837m6H.jpg  nostr:note1namd342s3gtj87a6pcggxsxl9utp9flsmt6kfprnerw9v78u8nhs70ljal


Ok lunchtime


Testing some stuff out here with OBS and sharing dev related work


🫡 thx


nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr After the update the notifications seems to be broken for me at https://nostrudel.ninja. See: https://shares.sebastix.dev/71sGXpYK.png
What can I do to fix it?

This is how the notifications look like when I use https://next.nostrudel.ninja/ which seems to work okay:
https://shares.sebastix.dev/u9Gmyoa3.png


You mean storing this all as objects in the repo?


"Onward 🫡"

Onward 🫡


Yes I will publish them so everyone can use them 🫡


"Thanks ! 😎"

Thanks ! 😎


Core Lightning v24.08 "Steel Backed-Up Channels"


LFG!

LFG!


Does it blends?

Does it blends?


👀👀👀
nostr:note1ke7ulpwpj3ez5pfx0m949m4zcz6d9wnpq4msxk6d5s40lvlm8z2sxuq963


"Great post "

Great post


"Great post 👍"

Great post 👍


"Cheers 🙌"

Cheers 🙌


Nice to see a new reference for nostr:npub1phpdev2d38u5hzs4jrsh360mevh0rjctu9669quy97wu23u8sqdqpfha0j #PHP 🐘 😎
nostr:nevent1qvzqqqqqqypzq74m7vr82dkxku8mezkpje0yshwwd6an6hqjt2kzfz7ql6gxc6qcqqs94es53s2hqvx23qr3ekvd25rf4ezhttflz9w4devw6tfl0qw2zfsx8eg3k


Onward 🫡

Onward 🫡


"Me Likey 😌"

Me Likey 😌


"Stay Blessed"

Stay Blessed


"Love"

Love


A new release of noStrudel with a ton of new features and maybe a few more bugs

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qqgxummnw3e82er9dsknqtf5xqknq4t36uu

After 7 months of work and procrastination I've decided to release another version of noStrudel

There a ton of new features and a few bugs fixed. This article highlights the biggest changes but if you want to read the full changelog you can find it in the [github repo](https://github.com/hzrd149/nostrudel/blob/master/CHANGELOG.md)

And as always if you want to check it out you can use [nostrudel.ninja](https://nostrudel.ninja) or run it locally using docker

```sh
docker run --rm -p 8080:80 ghcr.io/hzrd149/nostrudel:0.40.0
```

## New Features

### Support for NIP-49 encrypted nsec

Now when logging into to the app it will prompt you to set a password to encrypt your nsec so it can be stored securely (if that's even possible for a web client...)

There is also a new "Account" settings view that lets you export you nsec as a ncryptsec so you can copy it to other apps
![](https://cdn.hzrd149.com/42966ff459ded31c740db37da8dacdeaa13c4b69bcd1f75e9e50417723c2fa59.png)

### Blindspot feeds

There are also new "blindspot" feeds that show what others are seeing in their timeline that your missing
![](https://cdn.hzrd149.com/23b5c175396248d29e86b17b1e1d86e1dcfd4a094b418d6628bf64438c5b4f5f.png)

### NIP-42 Relay authentication

The app now supports NIP-42 relay authentication. Its opt-in though, so if you want to use popular authenticated relays like nostr.wine or relay.snort.social you will have to enable it in the settings
![](https://cdn.hzrd149.com/9549ba5a27c8015e2154eeeda198f1818e6ff3e73445b5652e73563d41f01591.png)

### Wasm relay and event verification

The app now supports using [@snort/worker-relay](https://git.v0l.io/Kieran/snort/src/branch/main/packages/worker-relay) as a local relay. Its at least 10x faster than the internal browser cache and can hold at least 100x more events. Its not enabled by default though so if you want to use it you have to switch to it in the "Relays" -> "Cache Relay" view
![](https://cdn.hzrd149.com/87c5062261ea12fbef09ca59b6be28b9e0977e3ffb1e49162269a41507fdf498.png)

The app also supports using [nostr-wasm](https://github.com/fiatjaf/nostr-wasm) to speed up event signature verification. This is enabled by default, but if you want to still use the JavaScript verification or no verification you can find it in the performance setting
![](https://cdn.hzrd149.com/a08f2ee41b2b9e871390f2028d826ece2a502488b6f2f7524edeb864bfe59714.png)

### Thread tabs

Threads now have a set of tabs that let you see the Replies, Quotes, Zaps, and other stuff related to the note
![](https://cdn.hzrd149.com/b4f6a19801821a32bf9af40e463c7d0095a0df57c8d4c686e16be6613c09204c.png)
![](https://cdn.hzrd149.com/272375013382c319f0f350cbca5e7e06a4acadec5d92bda1987fbd7f21801d60.png)

### Wiki articles

Its not feature complete but you can now view and edit wiki articles in the app
![](https://cdn.hzrd149.com/67f81ff87952a57b818e4cbc6815c60ce7351b9cb410e15ffd4241a2bc8a7adb.png)

### Finished the launchpad

The launchpad is now usable and shows the latest notifications, messages, streams, and tools
![](http://cdn.hzrd149.com/e6523497fc8c71aecd5af337831326e0d774c25ae6cf3ac3e9440ea4d4df0631.png)

### Blossom uploads

The app now lets you upload images and video to blossom server, this isn't enabled by default though so your going to have to enable it in the settings
![](https://cdn.hzrd149.com/37ca3cbc6e8a49958e5abb8a7eb3299148d41f58a79b490675f30375ae3ff1f0.png)

And then setup some blossom servers in the settings. A few good public ones are `https://cdn.satellite.earth` and `https://cdn.nostrcheck.me`
![](https://cdn.hzrd149.com/51c154f6859b9ed56ee15ae287309d089781637d9f6a134247918d1a738dfaf3.png)

### Task Manager

There is also a new "Task Manager" in the side nav that lets you see whats going on under the hood in the app
![](https://cdn.hzrd149.com/c5cc9bd4d47e51af790ea5e62361ce3676b909f9efd31731b0a7211c32843310.png)

You can see what relays the app is currently connected to
![](https://cdn.hzrd149.com/7b698fbebb53749883c7a8cdf051a9e89b04de4bfc483ea2e184e0e936fa6a58.png)

And which relays are requesting NIP-42 authentication
![](https://cdn.hzrd149.com/093d67d0718cdbdee59c95d8f2534c09c39ee6ec33b971242d7795226ab1f122.png)

## Bug fixes

- Fix null relay hints in DMs
- Fix users own events being hidden by muted words
- Fix random events showing up as DM messages
- Fix app prompting NIP-07 extension to unlock when app opens
- Remove corsproxy.io as default service for CORS proxy


Who’s next in line? 🙃
nostr:note1lh520xasrnpks30wl909l6erav06shzp6wh4r6gdngp02fsstfaqxt8wvq


"pv 🤙"

pv 🤙


"Nice"

Nice


"Onward 🫡"

Onward 🫡


"ZAP OR DIE🫡"

ZAP OR DIE🫡


"bangbang 🫡"

bangbang 🫡


"Fuckin’ A"

Fuckin’ A


"Good one👌"

Good one👌


Thanks for share 🫂

Thanks for share 🫂


"Great post 👍"

Great post 👍


Het is lastig om vast te leggen met mijn mobiele telefoon vanwege de refresh rates, irl ziet het er goed uit conform ontwerp (made by me)


Cool.
I still need to share the templates in the open so everyone can use it.


Me too! Ik hou daar nog steeds kantoor (Bovendonk)


"Great ad"

Great ad


fkn legend!

fkn legend!


"Pura Vida 🤙"

Pura Vida 🤙


This is real

Location of the board if you would like to verify it https://www.google.nl/maps/@51.5544315,4.5607291,3a,75y,34.72h,93.02t/data=!3m6!1e1!3m4!1sdQv9nm3J9SdUQCD0caFR-g!2e0!7i1638


Thx! Two weeks


Moi 🙃


Good one! For the next round 🤙🏻


This is real


"Cheers 🙌"

Cheers 🙌


"Like 👍🏻"

Like 👍🏻


Yes this is for real


Yes!


#NostrMarketing

First try capturing it with my mobile phone 🤳
https://image.nostr.build/8795f83f21578fcb7976308542fe1fd00c1d9cb0a899c9c173d13ac308a83bf0.jpg


Who’s coming to Amsterdam? A day before the Bitcoin Amsterdam conference you can join nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 (October 8, a whole day!) and during the conference we will host a Nostr booth!

https://geyser.fund/project/nostrboothbitcoinamsterdam/

#NostrDam #NostrBooth #btcamsterdam
nostr:note1l5ng75txwerpqtdks0m3dudukjjyslplydf94uh3rg9mt8fkmd8s3l6qrc


/cc nostr:npub1s6z7hmmx2vud66f3utxd70qem8cwtggx0jgc7gh8pqwz2k8cltuqrdwk4c in the context of language filtered content, you can try out this relay (and use a client which only will show the content from this relay 🧐)


made this - deep imo.

free speech is a human right.

https://image.nostr.build/031911bb683768c2657807cdb10b540748b9bcc829cecd008c8317997f9f657a.jpg


👀 nostr:npub1h5ewqujs336m0kdez46l03jttnaqp3yrvf7evertw0ec52q3qulq4kcdg7 ? 🙃


Yeaa
And my dad is riding in front of me 🙏


Welcome nostr:npub1kl049l4xr4mslk7mh0u94zk3svws49lxc0lqcyuhrx7qjqhjgd8qkrlydr #Gravel

What kind of gravel clients could benefit from a Nostr integration? Build a Strava or Komoot clone?
nostr:note1l38f986c2h4j2luk0ydcfjghc6l9c0m5h0m8uxrelndcznd4wwcsyk25kj


To me it likes you have a lot of FOMO around external happenings.

Pull. Don’t push. Go with a long-time preference.


Just have a look at this badass Nostrich of nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0

https://github.com/nostur-com/nostur-ios-public/blob/main/Assets.xcassets/LaunchScreen.imageset/NosturLogoShadow.png


Sjiek!! Scott Addict?
Mijn pa rijdt ook een Scott als we gaan gravelen


PoW #Nostrides #Gravel
https://video.nostr.build/703b6ed0be11e303d30456e5b16fb9598bedbb0d1430c22b183c786f600969f9.mp4


We waren met 4 idd 🤙🏻


Wasted. No pain. No gain. 🥵

#Gravel #Nostrides
https://image.nostr.build/cdb08581ed3dedc3fdac762ba94da3fffa812def43ca1dc0b9191b95c129d632.jpg
https://image.nostr.build/bdd054bd643d7362efca0939c77d047d6dd12fd315f0b1a75b5985d57d0a9564.jpg


I wrote a little script to post my entire Instagram backup to Nostr, using historical timestamps and adding geo hashes. nostr:note1jmk3w7lehy9l3auedun4uf22sc0hyh6ylll2wgy7q3sdlf3zjhhsrf77rv


Kieran style!! Building in the open 🤙🏻


There is also https://next.nostrudel.ninja with even more neat stuff


Feature overload which you will like as a power user 🤓


Which tool is it? 👀

/cc nostr:npub1hw6amg8p24ne08c9gdq8hhpqx0t0pwanpae9z25crn7m9uy7yarse465gr


Is this really (just) a Amethyst thing?

The NostrDam account is on many users blocklist we're finding out at this moment...I'm curious why? nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z any idea?


Draft as I'm still self-reviewing it and you have already approved it. 🤣


Done https://gitlab.com/soapbox-pub/soapbox/-/merge_requests/3099 🤣


If I'm right, troop.is is a new project from the same dev as Flockstr: nostr:npub1zach44xjpc4yyhx6pgse2cj2pf98838kja03dv2e8ly8lfr094vqvm5dy5

Project on Github: https://github.com/zmeyer44/troop


https://flockstr.com
https://troop.is
https://comingle.co


Nostr activities are coming 🚴🏻♂

https://github.com/nostr-protocol/nips/pull/1423


Ready for another #gravel ride tomorrow #nostrides
https://image.nostr.build/77c78ee8c028ff29b8e7ebf81ca3d9415e830ae699ec58fae5bb056654180f9c.jpg
https://image.nostr.build/4c845c4272238b1a5f952f24512e63f5f6b7abfd8880fc6fbc32e62389403085.jpg


"Onward 🫡"

Onward 🫡


Do you have projects on github or elsewhere, web page, app, ebook, that you need to translate into French or Spanish?

 I've got some spare time to offer to #nostrplebs
#nostrfr #translation #spanish #fr #es


You can check it here

https://hosted.weblate.org/projects/soapbox-pub/#languages


GM


dito.now


One of my long-term goals with a Drupal + Nostr integration. Publish On your Site, Syndicate Everywhere but also PESOS ↕↔

#Drupal 🤓
nostr:note12zvjrd9xz5mqucch67cu6nz8p7nxzus5cx5jsx6rnkqgwztuyprqf3ujn2


That weblate service is pretty neat!


I will start with a quick and easy find ‘toot’ and replace it with ‘post’ in all the translations files 🤣
nostr:note1wvyg08rsr9rqh04e2ywu8p8qhlv92zrjk7zvfv5rffrs4lcaqzgqtk6jjs


"You rock"

You rock


After the success of the Nostr booth at BTC Prague and Baltic Honeybadger, the next iteration lands at Bitcoin Amsterdam. Dutch Nostriches plan to go all in to make nostr:nprofile1qqst6vhqwfggcadhmxu32a0hce94e7sqcjpkylvkv34h8uu29qgsw0spzemhxue69uhhqatjwpkx2un9d3shjtnrdakj7mr4kav a major focus at this conference.

nostr:nprofile1qqs0qlstrtcxddyrswrrvzs69janw3pf48a64dvnqflnlnfm6w6uxecpp4mhxue69uhkummn9ekx7mqpzdmhxue69uhhyetvv9ukzcnvv5hx7un8qyxhwumn8ghj77tpvf6jumt93az68j was a major volunteer in Prague and helped out in Riga last week. nostr:nprofile1qqsqvcu68pkfcyq5y9mz9n9u7sys33835rpnuglc6mtg7j4lv40c7ugpr9mhxue69uhkummnw3ezuum9vfshxarf0qhxgetk9uq3xamnwvaz7tm0venxx6rpd9hzuur4vghsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0nx4nqe nostr:nprofile1qqsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3cppemhxue69uhkummn9ekx7mp0qy08wumn8ghj7mn0wd68yttsw43zuam9d3kx7unyv4ezumn9wshszymhwden5te0wp6hyurvv4cxzeewv4ej7p9flpl and others helped out last week too, making the booth a group effort.

Following the Prague blueprint, they're going above and beyond, working with the Bitcoin Amsterdam staff to include Nostr streams, social updates, and talks and panels.

They've started a Geyser to raise funds for travel expenses, accomodations, booth design, merch and more. Check it out for full details.

https://geyser.fund/project/nostrboothbitcoinamsterdam


With our learnings from the nostr booths in Prague and Riga, up next we will descend upon Amsterdam with an even bigger and better purple pill experience. We've already assembled a dream team of passionate nostriches including nostr:nprofile1qqsqvcu68pkfcyq5y9mz9n9u7sys33835rpnuglc6mtg7j4lv40c7ugpr9mhxue69uhkummnw3ezuum9vfshxarf0qhxgetk9uq3xamnwvaz7tm0venxx6rpd9hzuur4vghsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0nx4nqe nostr:nprofile1qqs0l09hq60h4fwkmvffavu70k9f0z2xd5j45cmm4s0tlpshkpt5q3qpr9mhxue69uhhxarjvee8jtn0wpjku6r0danxgtnwdsqs7amnwvaz7tmw9ehkkvpwdaexwqgdwaehxw309ahx7uewd3hkcwhuge4 nostr:nprofile1qqsy8w40ps5wdna3jkchacyrux0t8f90m7k9fkdkhtchqfcw6xf7xnqpz4mhxue69uhhyetvv9ujumn0wd68ytnwv46qzynhwden5te0danxvcmgv95kutnsw43qzrthwden5te0dehhxtnvdakqa08hqj nostr:nprofile1qqsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3cppemhxue69uhkummn9ekx7mp0qy08wumn8ghj7mn0wd68yttsw43zuam9d3kx7unyv4ezumn9wshszymhwden5te0wp6hyurvv4cxzeewv4ej7p9flpl nostr:nprofile1qqsvswpas8wjgsr8gkmggzd7grt8y8pszq55vsr8lnzs5fwalyfe2jgpzemhxue69uhhyetvv9ujumn0wd68ytnzv9hxgqgkwaehxw309aex2mrp0yh8qunfd4skctnwv46qzynhwden5te0danxvcmgv95kutnsw43q8348wx nostr:nprofile1qqs9afryspzmk8ljyfj4mhfkumwwmhzrtyxzvzgvfp477w80g5x6t0gpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtc08vvk5 & more. Preperations are in full swing. This time we will nostrify the whole BitcoinAmsterdam event and paint it purple from within. See you there 💜🚀
https://geyser.fund/project/nostrboothbitcoinamsterdam/


True that. 🤔


This makes me wonder, is/was there any (digital) protocol which not allowed to use by a state? I'm sure they can do this by law, but enforcing it is something else.


Anonymous Nostr Note Sender
https://anonostr.com/

Anonostr allows users to send anonymous notes to the Nostr network without revealing their identity.

🔂 cross-posted from https://ccns.nostrver.se


Relay Wizard
https://relaywizard.com/

🔂 cross-posted from https://ccns.nostrver.se


Step by step 🚶♂


ngit send 😃


Shake hands! 🫶

https://sebastix.social/timeline/global


Elon is buying time for us.

nostr:nevent1qvzqqqqqqypzplnld0r0wvutw6alsrd5q2k7vk2nug9j7glxd6ycyp9k8nzz2wdrqqsftvtv0zf0p69psz6xe66ydg985h6f2xa6l8nwjwg9d4m4j20e65g40ugjg


On which version? The live or alpha (next.nostrudel.ninja)? nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr I need those notifications otherwise I'm going to miss things out while using Git with Nostr ;)


Que? Why? What did I miss...?


Yea, ngit send worked for me to create a PR 😃


ngit 1.4.5

❯ git remote add ngit nostr://npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/nuxstr?relayhint=wss%3A%2F%2Fnostr.sebastix.dev%2F
zsh: no matches found: nostr://npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/nuxstr?relayhint=wss%3A%2F%2Fnostr.sebastix.dev%2F

❯ bash

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$ git remote add ngit nostr://npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/nuxstr?relayhint=wss%3A%2F%2Fnostr.sebastix.dev%2F

bash-3.2$ git remote -v
gitlab  git@gitlab.com:sebastix-group/nostr/nuxstr.git (fetch)
gitlab  git@gitlab.com:sebastix-group/nostr/nuxstr.git (push)
ngit    nostr://npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/nuxstr?relayhint=wss%3A%2F%2Fnostr.sebastix.dev%2F (fetch)
ngit    nostr://npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/nuxstr?relayhint=wss%3A%2F%2Fnostr.sebastix.dev%2F (push)
origin  git@github.com:Sebastix/vue-nuxt-nostr-ndk.git (fetch)
origin  git@github.com:Sebastix/vue-nuxt-nostr-ndk.git (push)


Sebastix

Building and maintaining the Nostr-PHP library supported by OpenSats https://github.com/nostrver-se/nostr-php | Follow my contributions on https://nostrver.se | Creative / fullstack webdeveloper from 🇳🇱 | #PHP #Drupal #Javascript #Vuejs #InteractionDesign | Really cares about #FOSS #Privacy #Selfhosting #DigitalWellbeing | Hobbies #Cycling #Gravel #HondaCivic #Circuit


GF


Let me try that

https://shares.sebastix.dev/qcR9QDIn.png


Ok clear. So how does that request process look like?


nostr:npub1gujeqakgt7fyp6zjggxhyy7ft623qtcaay5lkc8n8gkry4cvnrzqd3f67z

Is it already possible to send invites in a way?


I fully understand the translations are not completed yet :) funny thing is that I see English and Dutch words, but the setting is set to English. As I say, glitches to be fixed later on 😉 I consider them as features, not bugs.


Ok ✅  60-minute time-block over 😉

Result: https://sebastix.social/timeline/global (there is already content)

- It seems only my data is there (yet).
- Composed and transmitted my first note from the instance 😎
- As the docs says, Ditto lacks the outbox model so it's my guess why I don't see content from other npubs yet
- Looking for relay settings on instance level, but I guess they are not there
- This install wasn't painfull (I could skip certain steps as I already had a working Nginx + SSL config there)

Now I will try to find a friend to onboard and test it :) Creating my own local social platform where I play Elon games.


Let's test this as I'm writing a new "toot" from my Ditto instance here (I guess there are some glitches with the translations here).

https://shares.sebastix.dev/XeBfzxe9.png


Getting here...

https://shares.sebastix.dev/juBuZ4xv.png


Oh yeah, this is neat.

https://shares.sebastix.dev/3ZcKKWww.png


Waaaa nostr:npub1q3sle0kvfsehgsuexttt3ugjd8xdklxfwwkh559wxckmzddywnws6cd26p it says 'Hier zijn geen toots!' this is not Mastodon! 🤣


https://shares.sebastix.dev/ZSraXnLF.png progress


Ok ✅ 60-minute time-block set to install & configure nostr:npub10qdp2fc9ta6vraczxrcs8prqnv69fru2k6s2dj48gqjcylulmtjsg9arpj on https://sebastix.social

https://shares.sebastix.dev/qt1nzNSx.png

👨🚀 🚀


Flutter for sure compared to React Native. Feels much more native and the adoption of that framework grew significant last two years. Downsize is that aren't that much Flutter / Dart devs as React native devs.


The Dutch Foundation Human Rights in Finance has formally requested a human rights evaluation from  the European Commission on the EU's 5th Anti-Money Laundering  Directive, citing privacy infringements and procedural abuse.

"The right to privacy, the right to a fair trial, the innocence presumption, the right to property, the right to not be discriminated/profiled and the right to access to health care, universal services (via a the right to a bank account) are violated due to the excessive regulations and policy initiatives initiated and driven by the European Commission".

Full story:
https://www.therage.co/hrif-human-rights-evaluation-amld5-european-commission/


From 30f94b4c4e9919ff662defe60dd067563190eaff Mon Sep 17 00:00:00 2001
From: Sebastix <info@sebastix.nl>
Date: Thu, 6 Jun 2024 15:25:44 +0200
Subject: [PATCH 4/5] phpdoc updates with moving the docs into the phpdoc.nostr-php.dev directory

---
 .phpdoc/template/index.html.twig                                                                                |  2 --
 README.md                                                                                |  9 +++++----
 phpdoc.dist.xml                                                                                |  2 +-
 docs/classes/ConvertTest.html => phpdoc.nostr-php.dev/classes/ConvertTest.html                                                   |  0
 docs/classes/GenerateTest.html => phpdoc.nostr-php.dev/classes/GenerateTest.html                                                 |  0
 docs/classes/RelayTest.html => phpdoc.nostr-php.dev/classes/RelayTest.html                                                       |  0
 docs/classes/SerializeTest.html => phpdoc.nostr-php.dev/classes/SerializeTest.html                                               |  0
 docs/classes/VerifyTest.html => phpdoc.nostr-php.dev/classes/VerifyTest.html                                                     |  0
 docs/classes/swentel-nostr-Application-Client.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Application-Client.html         |  0
 docs/classes/swentel-nostr-CommandResultInterface.html => phpdoc.nostr-php.dev/classes/swentel-nostr-CommandResultInterface.html |  0
 docs/classes/swentel-nostr-Event-Event.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Event-Event.html                       |  0
 docs/classes/swentel-nostr-EventInterface.html => phpdoc.nostr-php.dev/classes/swentel-nostr-EventInterface.html                 |  0
 docs/classes/swentel-nostr-Key-Key.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Key-Key.html                               |  0
 docs/classes/swentel-nostr-Message-EventMessage.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Message-EventMessage.html     |  0
 docs/classes/swentel-nostr-MessageInterface.html => phpdoc.nostr-php.dev/classes/swentel-nostr-MessageInterface.html             |  0
 docs/classes/swentel-nostr-Relay-CommandResult.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Relay-CommandResult.html       |  0
 docs/classes/swentel-nostr-Relay-Relay.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Relay-Relay.html                       |  0
 docs/classes/swentel-nostr-RelayInterface.html => phpdoc.nostr-php.dev/classes/swentel-nostr-RelayInterface.html                 |  0
 docs/classes/swentel-nostr-Sign-Sign.html => phpdoc.nostr-php.dev/classes/swentel-nostr-Sign-Sign.html                           |  0
 docs/css/base.css => phpdoc.nostr-php.dev/css/base.css                                                                           |  0
 docs/css/normalize.css => phpdoc.nostr-php.dev/css/normalize.css                                                                 |  0
 docs/css/template.css => phpdoc.nostr-php.dev/css/template.css                                                                   |  0
 docs/files/src-application-client.html => phpdoc.nostr-php.dev/files/src-application-client.html                                 |  0
 docs/files/src-commandresultinterface.html => phpdoc.nostr-php.dev/files/src-commandresultinterface.html                         |  0
 docs/files/src-event-event.html => phpdoc.nostr-php.dev/files/src-event-event.html                                               |  0
 docs/files/src-eventinterface.html => phpdoc.nostr-php.dev/files/src-eventinterface.html                                         |  0
 docs/files/src-examples-verify.html => phpdoc.nostr-php.dev/files/src-examples-verify.html                                       |  0
 docs/files/src-key-key.html => phpdoc.nostr-php.dev/files/src-key-key.html                                                       |  0
 docs/files/src-message-eventmessage.html => phpdoc.nostr-php.dev/files/src-message-eventmessage.html                             |  0
 docs/files/src-messageinterface.html => phpdoc.nostr-php.dev/files/src-messageinterface.html                                     |  0
 docs/files/src-relay-commandresult.html => phpdoc.nostr-php.dev/files/src-relay-commandresult.html                               |  0
 docs/files/src-relay-relay.html => phpdoc.nostr-php.dev/files/src-relay-relay.html                                               |  0
 docs/files/src-relayinterface.html => phpdoc.nostr-php.dev/files/src-relayinterface.html                                         |  0
 docs/files/src-sign-sign.html => phpdoc.nostr-php.dev/files/src-sign-sign.html                                                   |  0
 docs/files/tests-converttest.html => phpdoc.nostr-php.dev/files/tests-converttest.html                                           |  0
 docs/files/tests-generatetest.html => phpdoc.nostr-php.dev/files/tests-generatetest.html                                         |  0
 docs/files/tests-relaytest.html => phpdoc.nostr-php.dev/files/tests-relaytest.html                                               |  0
 docs/files/tests-serializetest.html => phpdoc.nostr-php.dev/files/tests-serializetest.html                                       |  0
 docs/files/tests-verifytest.html => phpdoc.nostr-php.dev/files/tests-verifytest.html                                             |  0
 docs/graphs/classes.html => phpdoc.nostr-php.dev/graphs/classes.html                                                             |  0
 docs/index.html => phpdoc.nostr-php.dev/index.html                                                                               |  2 --
 docs/indices/files.html => phpdoc.nostr-php.dev/indices/files.html                                                               |  0
 docs/js/search.js => phpdoc.nostr-php.dev/js/search.js                                                                           |  0
 docs/js/searchIndex.js => phpdoc.nostr-php.dev/js/searchIndex.js                                                                 |  0
 docs/js/template.js => phpdoc.nostr-php.dev/js/template.js                                                                       |  0
 docs/namespaces/default.html => phpdoc.nostr-php.dev/namespaces/default.html                                                     |  0
 docs/namespaces/swentel-nostr-application.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-application.html                 |  0
 docs/namespaces/swentel-nostr-event.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-event.html                             |  0
 docs/namespaces/swentel-nostr-examples.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-examples.html                       |  0
 docs/namespaces/swentel-nostr-key.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-key.html                                 |  0
 docs/namespaces/swentel-nostr-message.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-message.html                         |  0
 docs/namespaces/swentel-nostr-relay.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-relay.html                             |  0
 docs/namespaces/swentel-nostr-sign.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr-sign.html                               |  0
 docs/namespaces/swentel-nostr.html => phpdoc.nostr-php.dev/namespaces/swentel-nostr.html                                         |  0
 docs/namespaces/swentel.html => phpdoc.nostr-php.dev/namespaces/swentel.html                                                     |  0
 docs/packages/Application.html => phpdoc.nostr-php.dev/packages/Application.html                                                 |  0
 docs/packages/default.html => phpdoc.nostr-php.dev/packages/default.html                                                         |  0
 docs/reports/deprecated.html => phpdoc.nostr-php.dev/reports/deprecated.html                                                     |  0
 docs/reports/errors.html => phpdoc.nostr-php.dev/reports/errors.html                                                             |  0
 docs/reports/markers.html => phpdoc.nostr-php.dev/reports/markers.html                                                           |  0
 phpstan.neon                                                                                |  6 ++++++
 61 files changed, 12 insertions(+), 9 deletions(-)
 create mode 100644 phpstan.neon

diff --git a/.phpdoc/template/index.html.twig b/.phpdoc/template/index.html.twig
index ecffd37..4211b0f 100644
--- a/.phpdoc/template/index.html.twig
+++ b/.phpdoc/template/index.html.twig
@@ -4,8 +4,6 @@

{{ project.name }} documentation

-        This should work....
-
         {% set node = project.namespace %}

         {{
diff --git a/README.md b/README.md
index 5ed3ece..c53bc1b 100644
--- a/README.md
+++ b/README.md
@@ -141,17 +141,18 @@ All tests can be found in `tests`.
 $ php vendor/bin/phpunit
 ```

-## phpDocumentor
+## Documentation with phpDocumentor

-Generate documentation.
+Generate documentation with [phpDocumentor](https://phpdoc.org/).

 ```console
 $ phpdoc
 ```

-All documentation is saved in the `docs` directory where the `index.html` can be opened in any browser.
+All documentation is saved in the `phpdoc.nostr-php.dev` directory where the `index.html` can be opened in any browser.
+This directory also serves as the root directory for https://phpdoc.nostr-php.dev.

-All documentation can be find at https://docs.phpdoc.org/.
+The documentation of phpDocumentor can be found at https://docs.phpdoc.org/.

 ## nostr-php script (cli client)

diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml
index 0b78e77..fcf7715 100644
--- a/phpdoc.dist.xml
+++ b/phpdoc.dist.xml
@@ -6,7 +6,7 @@
 >
     <title>nostr-php</title>
     <paths>
-        <output>docs</output>
+        <output>phpdoc.nostr-php.dev</output>
     </paths>
     <version number="3">
         <api format="php">
diff --git a/docs/classes/ConvertTest.html b/phpdoc.nostr-php.dev/classes/ConvertTest.html
similarity index 100%
rename from docs/classes/ConvertTest.html
rename to phpdoc.nostr-php.dev/classes/ConvertTest.html
diff --git a/docs/classes/GenerateTest.html b/phpdoc.nostr-php.dev/classes/GenerateTest.html
similarity index 100%
rename from docs/classes/GenerateTest.html
rename to phpdoc.nostr-php.dev/classes/GenerateTest.html
diff --git a/docs/classes/RelayTest.html b/phpdoc.nostr-php.dev/classes/RelayTest.html
similarity index 100%
rename from docs/classes/RelayTest.html
rename to phpdoc.nostr-php.dev/classes/RelayTest.html
diff --git a/docs/classes/SerializeTest.html b/phpdoc.nostr-php.dev/classes/SerializeTest.html
similarity index 100%
rename from docs/classes/SerializeTest.html
rename to phpdoc.nostr-php.dev/classes/SerializeTest.html
diff --git a/docs/classes/VerifyTest.html b/phpdoc.nostr-php.dev/classes/VerifyTest.html
similarity index 100%
rename from docs/classes/VerifyTest.html
rename to phpdoc.nostr-php.dev/classes/VerifyTest.html
diff --git a/docs/classes/swentel-nostr-Application-Client.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Application-Client.html
similarity index 100%
rename from docs/classes/swentel-nostr-Application-Client.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Application-Client.html
diff --git a/docs/classes/swentel-nostr-CommandResultInterface.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-CommandResultInterface.html
similarity index 100%
rename from docs/classes/swentel-nostr-CommandResultInterface.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-CommandResultInterface.html
diff --git a/docs/classes/swentel-nostr-Event-Event.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Event-Event.html
similarity index 100%
rename from docs/classes/swentel-nostr-Event-Event.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Event-Event.html
diff --git a/docs/classes/swentel-nostr-EventInterface.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-EventInterface.html
similarity index 100%
rename from docs/classes/swentel-nostr-EventInterface.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-EventInterface.html
diff --git a/docs/classes/swentel-nostr-Key-Key.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Key-Key.html
similarity index 100%
rename from docs/classes/swentel-nostr-Key-Key.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Key-Key.html
diff --git a/docs/classes/swentel-nostr-Message-EventMessage.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Message-EventMessage.html
similarity index 100%
rename from docs/classes/swentel-nostr-Message-EventMessage.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Message-EventMessage.html
diff --git a/docs/classes/swentel-nostr-MessageInterface.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-MessageInterface.html
similarity index 100%
rename from docs/classes/swentel-nostr-MessageInterface.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-MessageInterface.html
diff --git a/docs/classes/swentel-nostr-Relay-CommandResult.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Relay-CommandResult.html
similarity index 100%
rename from docs/classes/swentel-nostr-Relay-CommandResult.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Relay-CommandResult.html
diff --git a/docs/classes/swentel-nostr-Relay-Relay.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Relay-Relay.html
similarity index 100%
rename from docs/classes/swentel-nostr-Relay-Relay.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Relay-Relay.html
diff --git a/docs/classes/swentel-nostr-RelayInterface.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-RelayInterface.html
similarity index 100%
rename from docs/classes/swentel-nostr-RelayInterface.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-RelayInterface.html
diff --git a/docs/classes/swentel-nostr-Sign-Sign.html b/phpdoc.nostr-php.dev/classes/swentel-nostr-Sign-Sign.html
similarity index 100%
rename from docs/classes/swentel-nostr-Sign-Sign.html
rename to phpdoc.nostr-php.dev/classes/swentel-nostr-Sign-Sign.html
diff --git a/docs/css/base.css b/phpdoc.nostr-php.dev/css/base.css
similarity index 100%
rename from docs/css/base.css
rename to phpdoc.nostr-php.dev/css/base.css
diff --git a/docs/css/normalize.css b/phpdoc.nostr-php.dev/css/normalize.css
similarity index 100%
rename from docs/css/normalize.css
rename to phpdoc.nostr-php.dev/css/normalize.css
diff --git a/docs/css/template.css b/phpdoc.nostr-php.dev/css/template.css
similarity index 100%
rename from docs/css/template.css
rename to phpdoc.nostr-php.dev/css/template.css
diff --git a/docs/files/src-application-client.html b/phpdoc.nostr-php.dev/files/src-application-client.html
similarity index 100%
rename from docs/files/src-application-client.html
rename to phpdoc.nostr-php.dev/files/src-application-client.html
diff --git a/docs/files/src-commandresultinterface.html b/phpdoc.nostr-php.dev/files/src-commandresultinterface.html
similarity index 100%
rename from docs/files/src-commandresultinterface.html
rename to phpdoc.nostr-php.dev/files/src-commandresultinterface.html
diff --git a/docs/files/src-event-event.html b/phpdoc.nostr-php.dev/files/src-event-event.html
similarity index 100%
rename from docs/files/src-event-event.html
rename to phpdoc.nostr-php.dev/files/src-event-event.html
diff --git a/docs/files/src-eventinterface.html b/phpdoc.nostr-php.dev/files/src-eventinterface.html
similarity index 100%
rename from docs/files/src-eventinterface.html
rename to phpdoc.nostr-php.dev/files/src-eventinterface.html
diff --git a/docs/files/src-examples-verify.html b/phpdoc.nostr-php.dev/files/src-examples-verify.html
similarity index 100%
rename from docs/files/src-examples-verify.html
rename to phpdoc.nostr-php.dev/files/src-examples-verify.html
diff --git a/docs/files/src-key-key.html b/phpdoc.nostr-php.dev/files/src-key-key.html
similarity index 100%
rename from docs/files/src-key-key.html
rename to phpdoc.nostr-php.dev/files/src-key-key.html
diff --git a/docs/files/src-message-eventmessage.html b/phpdoc.nostr-php.dev/files/src-message-eventmessage.html
similarity index 100%
rename from docs/files/src-message-eventmessage.html
rename to phpdoc.nostr-php.dev/files/src-message-eventmessage.html
diff --git a/docs/files/src-messageinterface.html b/phpdoc.nostr-php.dev/files/src-messageinterface.html
similarity index 100%
rename from docs/files/src-messageinterface.html
rename to phpdoc.nostr-php.dev/files/src-messageinterface.html
diff --git a/docs/files/src-relay-commandresult.html b/phpdoc.nostr-php.dev/files/src-relay-commandresult.html
similarity index 100%
rename from docs/files/src-relay-commandresult.html
rename to phpdoc.nostr-php.dev/files/src-relay-commandresult.html
diff --git a/docs/files/src-relay-relay.html b/phpdoc.nostr-php.dev/files/src-relay-relay.html
similarity index 100%
rename from docs/files/src-relay-relay.html
rename to phpdoc.nostr-php.dev/files/src-relay-relay.html
diff --git a/docs/files/src-relayinterface.html b/phpdoc.nostr-php.dev/files/src-relayinterface.html
similarity index 100%
rename from docs/files/src-relayinterface.html
rename to phpdoc.nostr-php.dev/files/src-relayinterface.html
diff --git a/docs/files/src-sign-sign.html b/phpdoc.nostr-php.dev/files/src-sign-sign.html
similarity index 100%
rename from docs/files/src-sign-sign.html
rename to phpdoc.nostr-php.dev/files/src-sign-sign.html
diff --git a/docs/files/tests-converttest.html b/phpdoc.nostr-php.dev/files/tests-converttest.html
similarity index 100%
rename from docs/files/tests-converttest.html
rename to phpdoc.nostr-php.dev/files/tests-converttest.html
diff --git a/docs/files/tests-generatetest.html b/phpdoc.nostr-php.dev/files/tests-generatetest.html
similarity index 100%
rename from docs/files/tests-generatetest.html
rename to phpdoc.nostr-php.dev/files/tests-generatetest.html
diff --git a/docs/files/tests-relaytest.html b/phpdoc.nostr-php.dev/files/tests-relaytest.html
similarity index 100%
rename from docs/files/tests-relaytest.html
rename to phpdoc.nostr-php.dev/files/tests-relaytest.html
diff --git a/docs/files/tests-serializetest.html b/phpdoc.nostr-php.dev/files/tests-serializetest.html
similarity index 100%
rename from docs/files/tests-serializetest.html
rename to phpdoc.nostr-php.dev/files/tests-serializetest.html
diff --git a/docs/files/tests-verifytest.html b/phpdoc.nostr-php.dev/files/tests-verifytest.html
similarity index 100%
rename from docs/files/tests-verifytest.html
rename to phpdoc.nostr-php.dev/files/tests-verifytest.html
diff --git a/docs/graphs/classes.html b/phpdoc.nostr-php.dev/graphs/classes.html
similarity index 100%
rename from docs/graphs/classes.html
rename to phpdoc.nostr-php.dev/graphs/classes.html
diff --git a/docs/index.html b/phpdoc.nostr-php.dev/index.html
similarity index 91%
rename from docs/index.html
rename to phpdoc.nostr-php.dev/index.html
index 7eadafc..c9f7e1e 100644
--- a/docs/index.html
+++ b/phpdoc.nostr-php.dev/index.html
@@ -119,8 +119,6 @@

nostr-php documentation

-        This should work....
-

diff --git a/docs/indices/files.html b/phpdoc.nostr-php.dev/indices/files.html
similarity index 100%
rename from docs/indices/files.html
rename to phpdoc.nostr-php.dev/indices/files.html
diff --git a/docs/js/search.js b/phpdoc.nostr-php.dev/js/search.js
similarity index 100%
rename from docs/js/search.js
rename to phpdoc.nostr-php.dev/js/search.js
diff --git a/docs/js/searchIndex.js b/phpdoc.nostr-php.dev/js/searchIndex.js
similarity index 100%
rename from docs/js/searchIndex.js
rename to phpdoc.nostr-php.dev/js/searchIndex.js
diff --git a/docs/js/template.js b/phpdoc.nostr-php.dev/js/template.js
similarity index 100%
rename from docs/js/template.js
rename to phpdoc.nostr-php.dev/js/template.js
diff --git a/docs/namespaces/default.html b/phpdoc.nostr-php.dev/namespaces/default.html
similarity index 100%
rename from docs/namespaces/default.html
rename to phpdoc.nostr-php.dev/namespaces/default.html
diff --git a/docs/namespaces/swentel-nostr-application.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-application.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-application.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-application.html
diff --git a/docs/namespaces/swentel-nostr-event.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-event.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-event.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-event.html
diff --git a/docs/namespaces/swentel-nostr-examples.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-examples.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-examples.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-examples.html
diff --git a/docs/namespaces/swentel-nostr-key.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-key.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-key.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-key.html
diff --git a/docs/namespaces/swentel-nostr-message.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-message.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-message.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-message.html
diff --git a/docs/namespaces/swentel-nostr-relay.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-relay.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-relay.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-relay.html
diff --git a/docs/namespaces/swentel-nostr-sign.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr-sign.html
similarity index 100%
rename from docs/namespaces/swentel-nostr-sign.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr-sign.html
diff --git a/docs/namespaces/swentel-nostr.html b/phpdoc.nostr-php.dev/namespaces/swentel-nostr.html
similarity index 100%
rename from docs/namespaces/swentel-nostr.html
rename to phpdoc.nostr-php.dev/namespaces/swentel-nostr.html
diff --git a/docs/namespaces/swentel.html b/phpdoc.nostr-php.dev/namespaces/swentel.html
similarity index 100%
rename from docs/namespaces/swentel.html
rename to phpdoc.nostr-php.dev/namespaces/swentel.html
diff --git a/docs/packages/Application.html b/phpdoc.nostr-php.dev/packages/Application.html
similarity index 100%
rename from docs/packages/Application.html
rename to phpdoc.nostr-php.dev/packages/Application.html
diff --git a/docs/packages/default.html b/phpdoc.nostr-php.dev/packages/default.html
similarity index 100%
rename from docs/packages/default.html
rename to phpdoc.nostr-php.dev/packages/default.html
diff --git a/docs/reports/deprecated.html b/phpdoc.nostr-php.dev/reports/deprecated.html
similarity index 100%
rename from docs/reports/deprecated.html
rename to phpdoc.nostr-php.dev/reports/deprecated.html
diff --git a/docs/reports/errors.html b/phpdoc.nostr-php.dev/reports/errors.html
similarity index 100%
rename from docs/reports/errors.html
rename to phpdoc.nostr-php.dev/reports/errors.html
diff --git a/docs/reports/markers.html b/phpdoc.nostr-php.dev/reports/markers.html
similarity index 100%
rename from docs/reports/markers.html
rename to phpdoc.nostr-php.dev/reports/markers.html
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644
index 0000000..1359753
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,6 @@
+parameters:
+	level: 4
+	paths:
+	    - bin
+		- src
+		- tests
\ No newline at end of file
--
libgit2 1.7.2

git patch: phpdoc updates with moving the docs into the phpdoc.nostr-php.dev directory