Oddbean new post about | logout

Notes by hodlbod | export

 Just built the mobile version of flotilla.coracle.social. Not bad for a day's work.

https://video.nostr.build/ec9e8e34510d71a66fa9a005a9e3a19cfb4353bd8c797c2741037c27407d5dbd.mp4 
 “The major problem—one of the major problems, for there are several—one of the many major p... 
 I think about this quote pretty often 
 ... not just smoke ... this is a fer real fire !!! 

Literally i was looking at #nsecbunker yeste... 
 Thank you sir 🙏 
 People seem to be excited about my new project, Flotilla. It's still very much a WIP (probably a month out from MVP), but since it's been discovered I figured I'd go ahead and introduce it.

https://image.nostr.build/b9842d89fdc786ad3e86d692c4b52adce47e1bdd9daaf7d39cbf4806ecb75bc2.png

My goal for Coracle has for a long time been to support local in-person communities by replicating Facebook's events, groups, and marketplace. I've come to realize a few things about this project:

- Facebook is not the gold standard. In fact, people hate Facebook.
- There are many kinds of groups, for many different use cases.
- Very small chat groups work for most use cases.
- For almost all other groups, good moderation is key.
- Decentralization for groups works differently from decentralization for microblogging. Microblogging use cases benefit from simultaneous use of multiple relays. Community group use cases (in contrast to reddit-style groups) benefit from a single relay per group.

This is just the barest summary of what I've learned. But it's all in line with my long-held intuition that relays are, and should be, special. To that end, I'm creating a new client built around the dumbest form of communities that can be created: relays as communities.

Lots of code and specs need to be written to make this work, and as with Coracle, it'll be possible to host your own flotilla instance that only talks to a single relay, as well as use flotilla on desktop and mobile as a PWA and APK.

See the dev preview at https://flotilla.coracle.social. If you're interested in contributing, I've created several issues on the repository that should be good for first-time contributors: https://github.com/coracle-social/flotilla/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 
 nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcppemhxue69uhkummn9ekx7mp0qythwumn8ghj7anfw3hhytnwdaehgu339e3k7mf0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyprqcf0xst760qet2tglytfay2e3wmvh9asdehpjztkceyh0s5r9cd990ua  nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq35amnwvaz7tms09exzmtfvshxv6tpw34xze3wvdhk6tcprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qythwumn8ghj7enjv4h8xtnwdaehgu339e3k7mf0q9zhwumn8ghj7vm9wpekxemrvdaxv7ncwa5hsatj0fhxxcmnx3uxs6ehw45xz7t9d36nw6njx338qemhdeck2em9xfnrvmtjwdhxjepwdahxjmmw9uqzqla9dawkjc4trc7dgf88trpsq2uxvhmmpkxua607nc5g6a634sv5xzzv5w  nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgnwaehxw309amk7apww468smewdahx2tcpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7qpqarkn0xxxll4llgy9qxkrncn3vc4l69s0dz8ef3zadykcwe7ax3dqx0hggn  nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcppemhxue69uhkummn9ekx7mp0qyt8wumn8ghj7cn9wehjumn0wd68yvfwvdhk6tcpzdmhxue69uhhwmm59e6hg7r09ehkuef0qyf8wumn8ghj7mn0wd68yv339e3k7mf0qqs8eseg5zxak2hal8umuaa7laxgxjyll9uhyxp86c522shn9gj8crssjeysr 
 Yep, other methods will be supported, but #1  priority is that it all be normie-friendly 
 So WIP it's not even funny, but hoping to polish it up pretty soon here 
 If it worked 😂 I still have a hard time finding all NIP 17 messages. This one is more purist though, and follows 10050's exclusively without trying to backfill, so maybe it'll be better. 
 Sounds like a job for nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgkwaehxw309ajkgetw9ehx7um5wghxcctwvshsz8rhwden5te0dphkgmrzdajzucm0wfskxmr99e6x7mmvwvhsz9nhwden5te0dehhxarjv4kxjar9wvhx7un89uq3wamnwvaz7tmxwfjkuuewdehhxarjxyhxxmmd9uqzpqv28x6lzeprt7rz2jcjefvxalxvr727nz69evwfr3cachv5smw67qfu8l 
 What step, what browser/OS?

nostr:nevent1qvzqqqqqqypzp978pfzrv6n9xhq5tvenl9e74pklmskh4xw6vxxyp3j8qkke3cezqy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgmwaehxw309aex2mrp0yh8wetnw3jhymnzw33jucm0d5hsz8rhwden5te0dphkgmrzdajzucm0wfskxmr99e6x7mmvwvhsz2mhwden5te0vf5hguewd3hxycewwd4j7mn0wd68ycmvd9jkuap0v9cxjtmkxyhhyetvv9usz9nhwden5te0v96hg6pwdehhxarjxyhxxmmd9uqzqzq5evmfv4xqtfzq0xguy4863gtucuw42mgj4derrc5qzy7th0j7ewmt2k 
 Awesome, thanks — Safari I take it? 
 Why not work with nostr:nprofile1qyfhwumn8ghj7ur4wfcxcetsv9njuetn9uqsuamnwvaz7tmwdaejumr0dshsz9nhwden5te0v4jx2m3wdehhxarj9ekxzmny9uq3wamnwvaz7tmjv4kxz7fwwpexjmtpdshxuet59uq3samnwvaz7tmwdaehgu3wvekhgtnhd9azucnf0ghsqgqh88vn0hyvp3ehp238tpvn3sgeufwyrakygxjaxnrd8pgruvfkaulgaw42  on MLS via nip 104? 
 nostr:nprofile1qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qghwaehxw309an8yetwwvhxummnw3erztnrdakj7qgcwaehxw309anxjmr5v4ezumn0wd68ytnhd9hx2tcppemhxue69uhkummn9ekx7mp0qyt8wumn8ghj7emjv4jkuum0w4kzuumsv93k2tcqypl62m6ad932k83u6sjwwkxrqq4cve0hkrvdem5la83g34m4rtqegk5xps3  I'm woth Niel on this one, will shortly be releasing a client that does relay based groups without nip 29. 
 Awesome, excited to hear it. By the way, I am no longer working on reconciling nip 29 with relay-based groups, instead I'm creating a new NIP that will hopefully serve the purpose: https://github.com/coracle-social/nips/blob/relay-chat/xx.md. The NIP is very much a WIP, lots of the hard problems with detecting relay membership still need to be solved.

If you're interested in pooling resources, my client is here: https://github.com/coracle-social/flotilla 
 🫡 https://github.com/coracle-social/flotilla

nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3eryvfwvdhk6tcppemhxue69uhkummn9ekx7mp0qydhwumn8ghj7argv4nx7un9wd6zumn0wd68yvfwvdhk6tcpzdmhxue69uhhwmm59e6hg7r09ehkuef0qqs8eseg5zxak2hal8umuaa7laxgxjyll9uhyxp86c522shn9gj8crs5ggk3z  I'm planning to release a relay-specific version of flotilla, maybe it could serve as a front-end for relay.tools relays. 
 PRs are open, there's a list of tasks in the readme, lemme know if you want to grab one 
 Protip: if a nostr client isn’t working for you, use a different one or fork it and make it wor... 
 Countertip: open a PR to upstream to improve the experience for everyone 
 People criticizing nostr apps for their quality are making multiple category errors:

- Individuals (or very small teams) can't produce the same level of quality as large teams, but teams can't exercise as much creativity as individuals
- Optimal UX comes from a need for growth, stemming from a need for profit. Grantees and hobbyists do not have this motive. But for-profit businesses won't be principled about putting the protocol first, while grantees and hobbyists may be.
- Good UX partly comes from experience, and existing best practices. Very little of this is established yet for nostr, both from a design and engineering perspective. We're making it up as we go along.

If you want something new, you have to take the bad with the good. When I started this, my expectation was that it would be a ten year project with a 0% chance of success. Two years in, I'd say we're doing extremely well.

I don't care about growth, and won't for a while. I'm not in it for user numbers or zaps, I want to use software to give my kids a better life. Drop the high time preference, and dig in, because this is going to be a long ride.

With all that said, I do feel a new wave coming in the next year or so, as best practices crystallize, and as existing projects reach a point of maturity where their developers recognize their own limits and need for help. I look forward to seeing teams coalesce to push forward what the creatives started.

This might take the form of more for-profit businesses, but I hope that devs (including myself) will be able to swallow their ego and pitch in on projects that don't belong to them without having to get "hired". The difficulty of this on nostr is of course that the scope of the protocol leaves so many tantalizing possibilities to work on.

For myself, I remain focused on my original mission of serving real-life communities. However, the longer I work on the problem, the larger it becomes. It turns out that there has in fact been decades of work in the space, and there continue to exist many unsolved problems, even without introducing decentralization. It would be hubristic to think that my first attempt at the problem would be either correct or successful. Iteration, exploration, and education are all necessary.

It's very likely that it's impossible for a single developer to cover even a single use case of nostr satisfactorily. We'll all eventually need help. This is just the nature of the project we've set for ourselves. 
 Teams require communication, which introduces the need for process, which results in rigidity. Only exceptional engineering teams can balance creativity and stability.

The incentives between altrustic FOSS freedom tech and capitalistic for-profit business are not the same, which leads to different outcomes. That's not to say that nostr won't ever have good UX, but the path to it is much less direct. 
 I have muted both of her nyms 
 Maybe you should go back and re-read my original post 
 Much appreciated Pam! 🫂 
 New Coracle release is out, codename "oops, sorry about that". This release mostly contains bugfixes, particularly missing/wrong e-tags on nested replies. Thanks to nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz8rhwden5te0wdshgetvd35hgefwdpa8yep3xsujucm0d5hszrnhwden5te009skyafwd4jj7qpqye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjs5g8cx3  and nostr:nprofile1qyt8wumn8ghj7un9d3shjtnddaehgu3wwp6kytcpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmwdaehgu3wdau8gu3wv3jhvtcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcqyzaunsmr6f8mx7zuw9huhf9sdwpkreutv65mn8e223zk9xv4fm6nyu5zct0  for alerting me to a few of the issues.

# 0.4.12

- [x] Fix zap developer button
- [x] Hide wot muted replies
- [x] Conserve space on mobile
- [x] Show mark as read button on mobile
- [x] Fix reposts to communities
- [x] Fix note tag inheritance
- [x] Fix over-eager list encryption 
 Sure, just added support for NIP 05 urls, e.g. https://coracle.social/hodlbod@coracle.social. I don't have support for bare nip 05's, so `_@` would have to be used if you have one of those. 
 I was slow on the deploy, give it a hard refresh and try again 
 Should be fixed now, looks like Nostros is publishing `client` tags with numeric ids rather than addresses in them. 
 How to do millisecond timestamps on Nostr? 🐒 In chats it's not unusual to send multiple messag... 
 In distributed systems, time is an illusion anyway. Second resolution helps prevent devs from making the mistake of making false assumptions. 
 I smell a new numbering scheme for the NIPs repo 
 and this rely also has its tags messed up 😞 
guess all try and open an issue 
 My bad, refactor gone wrong. nostr:nprofile1qyf8wumn8ghj7mn0wd68yat99e3k7mf0qyghwumn8ghj7mn0wd68ytnhd9hx2tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz8rhwden5te0wdshgetvd35hgefwdpa8yep3xsujucm0d5hsz8rhwden5te0dphkgmrzdajzucm0wfskxmr99e6x7mmvwvhsqgpxdq27pjfppharynrvhg6h8v2taeya5ssf49zkl9yyu5gxe4qg55ey0luq  thanks for pointing it out, I'll have a fix out shortly. 
 Yep, revoke and refresh and it should start asking again for permissions 
 Just released an update, which should help (or just move the problem around). Go ahead and hard refresh and give it another shot. 
 nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1ehhfg09mr8z34wz8... 
 It's beautiful when devs cooperate and things come together so well. I know very little about nip 55, but for reference on private zaps look at amethyst's code. 
 Yep, revoke and refresh and it should start asking again for permissions 
 Clients still don't include relay or pubkey hints on quotes, so it often fails to load even in coracle. Super annoying. 
 I probably shouldn't announce things before I've finished writing them but i'm pretty excited abo... 
 I have been thinking about adding relay probing as well. Nothing worse than adding a paid or private relay and having no idea it's not working 
 I think Facebook used to do the UI pretty well too. Just sometime recently they added some algo i... 
 This is really helpful, thanks. What did you mean by "it rolls up the whole thread, not just it's chunks"? 
 Good design doesn't need everyone to bluntly repost replies fOr ViSiBiLiTy.

If the whole discuss... 
 > Good design doesn't need everyone to bluntly repost replies fOr ViSiBiLiTy.

😂 
 I'll fix that, you should still be able to click on the links and have them open in-app though 
 I think it could be also the UI issue, not just the moderation.

Discord has a pretty poor thread... 
 I agree that it's a UI issue, although I'm very interested in the difference here between slack and discord. Can you elaborate on that? 
 Oh I get this. I think it depends on the platforms and what they were designed for. 

I had an ac... 
 It does seem like a problem with moderation, but moderation is often such a heavy lift, as the yesterweb website points out. No one wants to work a full-time job for now pay policing their peers. Maybe decentralized moderation can improve this situation, or maybe a google plus type app really is the holy grail, where if you don't want to share content with someone you simply don't share it with them. nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgkwaehxw309aex2mrp0yhx6mmnw3ezuur4vghszxthwden5te0wfjkccte9eekummjwsh8xmmrd9skctcpzamhxue69uhhyetvv9ujumn0wvh8xmmrd9skctcpremhxue69uhhxmmrd9skctnswfhhgetnwshxuet59aex2mrp0yqzqak8r2hr5jglrk0wc37t59lz98x6gyf6pwaku6hpwakhvslznjh6e6dxen  mentioned recently that maybe this could be done using nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgwwaehxw309ahx7uewd3hkctcpzdmhxue69uhhqatjwpkx2urpvuhx2ue0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcqyqtnnkfhmjxqcums4gn4skfccyv7yhzp7mzyrfwnf3kns5p7xymw7rjykum 's NIP 104 MLS integration. 
 That's a very strange reason. Maybe they mean they didn’t see enough people posting, so those w... 
 I believe this was in context of a discord community. My assumption is that loud and opinionated members would hijack conversations. This kind of behavior is pretty common in medium-sized chat groups from my understanding. 
 so now its not just people talking about bitcoin too much that is preventing this elusive influx ... 
 Different context 
 "We watched active members become lurkers over time, and when interviewed, many would cite the space-dominating behaviors of our most active members as a reason behind disengaging with the community entirely." 
 From https://yesterweb.org/#community-space-overgrowth

nostr:nprofile1qyv8wumn8ghj7enfd36x2u3wdehhxarj9emkjmn99uqjqamnwvaz7tmpwpkxzcm9d9h8g6r9wd6kutnwdaehgu339e3k7mf0qyf8wumn8ghj7umpw3ekzem99eu8j730q9zhwumn8ghj7unnxg6kz6mew3ax6me5w44rydt2wfcn2dtjdfchxdr3vdhxx7r2d43hyanyde3kjcn4dacxvmrrd4nrx7fhdae8zepwdahxjmmw9uq36amnwvaz7tmxv4jkguewdehhxarj9e3xzmny9ahx2amnw3eqqgxzxrkaxn99eqcchaze9tq9dn0rw5va89wqjpxr06suv59c4498zggclhes  nostr:nprofile1qyfhwumn8ghj7ur4wfcxcetsv9njuetn9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7qgwwaehxw309ahx7uewd3hkctcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsqg9w3m64wcmskh9er5nzeuxnr4wwnaw2ymp66t2k6hzc7cprvvly2vct4qxk 
 An interesting perspective from the (very left-leaning) yesterweb project:

"The middle-class mentality is derived from competitive capitalist needs. It is the default mentality learned from social media, mass media, and mass education. It is deeply a consumer mindset. It is highly individualistic - sometimes egotistic, cynical, and even misanthropic. More selfish than selfless, personal ends justify the means. Work is undervalued (unless it's one's own) and often delegated to others, and if it is ever done, there has to be a guaranteed return on personal investment. It solves difficult problems with money. Survival is solitary, exclusive, and cutthroat. It holds the masses in contempt.

"In contrast, the lower-class mentality is derived from the needs of survival under the most difficult conditions of working life. It is learned either through participation or through investigation of lower-class life. It is deeply a producer mindset. It is cooperative and collaborative. It understands through direct experience that work is the source of all value and all creative development. More selfless than selfish, sacrifices for the collective well-being are made within reason: there is more to gain than to lose when working in the service of others. It solves difficult problems through effort. Survival is necessarily social. It sees the masses as their own.
"It takes serious time and effort to cultivate a lower-class mentality, especially among those who have no direct experience with it. It is necessary for any truly democratic community initiative: we saw this to be the case when we called for community members to build the community they wished to see without relying on the work of staff. There was a collective silence. For those individuals or groups who tried to take the initiative there was a complete unawareness on how to collaborate, with many members starting their own projects in isolation, or without the foresight of added maintenance that implied the staff was going to eventually hold the responsibility of maintaining it. Projects were decided based on short-term personal interests rather than achieving the long-term goals of the community, worked on only at one's own convenience without shouldering any collective responsibility."
https://yesterweb.org/ 
 The solution is to stop thinking that way. Kids aren’t that expensive. 
 Only college is, and college is a scam 
 Very stupid question from a dumb dev: why instead of letters  and numbers for tags and kinds, Nos... 
 Naming things is one of the notorious "hard problems with computer science". Using numbers allows us to have a referent without interpretation, avoiding a lot of bikeshedding and confusion. 
 There's very little guidance in the NIPs repo about how `q` tags work, so I made a PR, please review it here: https://github.com/nostr-protocol/nips/pull/1525 
 what have you been learning about podcasting?

(I have been haphazard with mine, but gonna reboot... 
 I think I'm at the "more questions than answers" stage of podcasting.

- How should you handle two very different types of episode in one feed?
- Is it ok to take a break, or are you a slave to the publishing cadence?
- Have I achieved the goal of the podcast?
- How can I make sure evergreen content doesn't get buried? 
 Does nosotros count? It’s literally “us” in Spanish 🤣 
 NO EXCEPTIONS, GO CLEAN OUT YOUR DESK 
 nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7epwvd... 
 😂😂😂 that's my fault, I'll take the penalty 
 123 days of analysis paralysis, help me decide between Nostury and Nosturix in the comments.

The... 
 NIP 9f
=====

# Client Naming Conventions

Client names MUST NOT include the strings "nos" or "str". 
 Oh cool. I didn't know you had a podcast. 
 I have for a while! 
 A new episode of nostr:nprofile1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgmwaehxw309aex2mrp0yh8wetnw3jhymnzw33jucm0d5hszrnhwden5te0dehhxtnvdakz7qg6waehxw309aex2mrp0yhxwet5v9kxy7fwvdhk6tmkxyqzphl3mpurnffw88l6vmukxylervy8xn22envuanr3678u9648r936scsgqz  is out, with nostr's favorite farmer nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszxmhwden5te0w35x2en0wfjhxapwdehhxarjxyhxxmmd9uq3wamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmny9uq3zamnwvaz7tmwdaehgu3wd3skuep0qqs2js6wu9j76qdjs6lvlsnhrmchqhf4xlg9rvu89zyf3nqq6hygt0sj42rw4 !

Unfortunately, my audio is awful because my computer decided to use my computer's mic rather than my Yeti, but the episode is still well worth the listen.

Enjoy!

https://fountain.fm/episode/VCK7BTSHsvy7eYEHvGWH 
 Did we give up custodial nsecbunker providers? What else do we need on that front? nostr:npub1l2v... 
 I think nsec.app and amber took a lot of wind out of these sails 
 Watched Band of Thieves this weekend (which was pretty good), and was struck by a just slightly more concentrated dose of profanity than usual. Maybe it was the juxtaposition of the dorky main character and the amount of fucks coming out of his mouth, or maybe it was quantifiably more than usual, but in either case it got me thinking.

Why is our culture increasingly profane? Why must we punctuate all our communication with meaningless allusions to aggressive sex acts or scatology?

My wife an I have been watching "classic" movies more often in the last year or two, including On The Waterfront with Marlon Brando, the Bicycle Thief, and Casablanca. In every case, the pace of the dialog is quite slow, and the gravity much greater — despite an almost complete absence of emphatic profanity.

This can be seen in modern movies as well. Slow movies in general (think Dune or Interstellar) feel more meaningful. Marvel movies feel like cotton candy in contrast.  In modern movies though, the gravity comes from the subject matter rather than the inherent drama of human life — vast stretches of space, time, or war. More mundane subjects having to do with normal people almost always seem to be approached with a certain level of irony or flippancy.

Marshall McLuhan says that "At electric speed, all forms are pushed to the limits of their potential." We live in a frantically fast age, that has outpaced the gravity of the human. The natural recourse is to attempt to keep up, but in doing so we lose the dignity slowness confers and are forced to resort to frantic insistence on our right to be heard. We scream, swear, panic, and twerk.

But of course, no one hears. The natural response to noise is to tune it out. The more we stimulate the senses, the number the senses become.

The most memorable people I have met are people who have not succumbed to this cultural panic. They are not people who project their emotions, but who carefully choose their words, and if in doubt prefer not to speak. They are people who have filled themselves not with their own thoughts, but with the thoughts of others, through study and memory. They are people whose silence speaks volumes.

I'm not like that. I'm uncomfortable with silence, and think best while talking. But it is something worth aspiring to. To be the kind of person whose dignity and gravity slowly expand. Who have a deep well of wisdom to draw from, which they dispense sparingly yet abundantly on the people they come into contact with. Whose eyes say more than their mouths.

There is one man in particular, whom I love. He always carried a pipe in his pocket or his mouth, vinted wine from his own grapes, did a little woodworking, and always said very little. Every Sunday, eyes closed, he would recite Psalm 103 to his small congregation. When he read the Bible, he would entirely leave off his own commentary (even though he was a pastor), simply reading the passage and closing the book afterward. At his funeral, and dozens of people shared stories of how this man had changed, or even saved their lives.

All of this came from a deep humility that came from spending many of his younger years without any idea what his purpose in life was, and from many personal failures and disappointments subsequent even to his calling. A "long obedience in the same direction" brought this man to the end of a life full of ups and downs, in which he was able to say that as he looked back, all he saw were the peaks, rather than the valleys.

Lately I've been challenged by Christ's words in Matthew, not to "worry about tomorrow, for tomorrow will worry about its own things. Sufficient for the day is its own trouble." No amount of thrashing productivity, frantic overwork, or boiling frustration can improve things, because our times are not in our own hand. All we can do is wait on God — and he will renew our strength.

Profanity is often a panicked bid to be heard by piling on emphasis. But panic is a form of fear, and perfect love casts out fear. "The very hairs of your head are all numbered. Do not fear therefore; you are of more value than many sparrows." 
 I should also mention, nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qg4waehxw309ahx7um5wghx77r5wghxgetk9uqsuamnwvaz7tmwdaejumr0dshsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshsqgxda62rewcec5dts3axd4whwsmn420k8558y34mtxcgyla9ucm5qq0r45dd  released NIP 55 functionality as a re-usable library which anyone using capacitor to APK-ify their PWA can use.

https://github.com/chebizarro/nostr-signer-capacitor-plugin

nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz8rhwden5te0wdshgetvd35hgefwdpa8yep3xsujucm0d5hsz8rhwden5te0dphkgmrzdajzucm0wfskxmr99e6x7mmvwvhsqgpxdq27pjfppharynrvhg6h8v2taeya5ssf49zkl9yyu5gxe4qg5502n3g8 

nostr:nevent1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgmwaehxw309aex2mrp0yh8wetnw3jhymnzw33jucm0d5hszrnhwden5te0dehhxtnvdakz7qguwaehxw309a3ksunfwd68q6tvdshxummnw3erztnrdakj7qpq6lk27w072u34w67ggxa9wkj3rmyeyztwls7vxqrfx9sgcs3pvffqgc4kmx 
 Thanks for speedy reply.  Advocate this end for please get the WOT score back (flying blind feeli... 
 Yeah, I had the same feeling as well. I released an update yesterday that will now allow you to hover or tap on the arc to see the score 
 Tried to get my sister to use nostr. I have set her up with Amethyst previous. I sent her a DM, b... 
 Ooof 
Event not found
 Coming soon